From a59177004eedccaa26f7311ba5e7413acdf2e750 Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Sun, 20 Aug 2023 07:10:11 -0400 Subject: [PATCH] MAX, MachXO, MachXO2 working --- CPLD/LCMXO2-640HC/.run_manager.ini | 18 +- CPLD/LCMXO2-640HC/.setting.ini | 7 +- CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf | 3 + CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf | 2 - CPLD/LCMXO2-640HC/LCMXO2_640HC_tcl.html | 136 + .../LCMXO2_640HC_tcr.dir/pn230819062748.tcr | 7 + .../LCMXO2_640HC_tcr.dir/pn230819062826.tcr | 5 + .../LCMXO2_640HC_tcr.dir/pn230819062853.tcr | 6 + .../LCMXO2_640HC_tcr.dir/pn230819062900.tcr | 5 + .../LCMXO2_640HC_tcr.dir/pn230819063021.tcr | 4 + .../LCMXO2_640HC_tcr.dir/pn230819205234.tcr | 47 + .../LCMXO2_640HC_tcr.dir/pn230820055534.tcr | 6 + .../LCMXO2_640HC_tcr.dir/pn230820055626.tcr | 4 + CPLD/LCMXO2-640HC/REFB.edn | 10 +- CPLD/LCMXO2-640HC/REFB.ipx | 8 +- CPLD/LCMXO2-640HC/REFB.lpc | 282 +- CPLD/LCMXO2-640HC/REFB.naf | 62 +- CPLD/LCMXO2-640HC/REFB.sort | 2 +- CPLD/LCMXO2-640HC/REFB.srp | 4 +- CPLD/LCMXO2-640HC/REFB.v | 10 +- CPLD/LCMXO2-640HC/REFB_generate.log | 88 +- CPLD/LCMXO2-640HC/REFB_tmpl.v | 2 +- CPLD/LCMXO2-640HC/_math_real.vhd | 5148 +- CPLD/LCMXO2-640HC/generate_core.tcl | 200 +- CPLD/LCMXO2-640HC/generate_ngd.tcl | 148 +- CPLD/LCMXO2-640HC/impl1/.build_status | 65 +- .../impl1/IBIS/LCMXO2_640HC_impl1.ibs | 3151 + .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.alt | 142 +- .../impl1/LCMXO2_640HC_impl1.areasrr | 85 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bgn | 162 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bit | Bin 0 -> 6185 bytes .../impl1/LCMXO2_640HC_impl1.dir/5_1.ncd | Bin 278109 -> 268674 bytes .../impl1/LCMXO2_640HC_impl1.dir/5_1.pad | 546 +- .../impl1/LCMXO2_640HC_impl1.dir/5_1.par | 453 +- .../impl1/LCMXO2_640HC_impl1.dir/5_1_par.asd | 89 +- .../LCMXO2_640HC_impl1.par | 54 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.drc | 2 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi | 8666 ++- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm | 18 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.jed | 2868 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.log | 8 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mrp | 936 +- CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mt | 9 + .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ncd | Bin 278109 -> 268674 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngd | Bin 207794 -> 204730 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngo | Bin 108369 -> 106362 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p2t | 18 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.pad | 546 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.par | 507 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.prf | 150 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srd | Bin 36801 -> 37198 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srf | 2445 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srm | Bin 38081 -> 37759 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srr | 2445 +- .../impl1/LCMXO2_640HC_impl1.srr.db | Bin 16384 -> 16384 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srs | Bin 13269 -> 13087 bytes .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.t2b | 2 +- .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.tw1 | 423 + .../LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.twr | 2219 + .../impl1/LCMXO2_640HC_impl1_bgn.html | 10 +- .../impl1/LCMXO2_640HC_impl1_cck.rpt | 306 +- .../impl1/LCMXO2_640HC_impl1_cck.rpt.db | Bin 8192 -> 8192 bytes .../impl1/LCMXO2_640HC_impl1_fpga_mapper.htm | 9 + .../impl1/LCMXO2_640HC_impl1_iotiming.html | 200 + .../impl1/LCMXO2_640HC_impl1_map.asd | 48 +- .../impl1/LCMXO2_640HC_impl1_map.cam | 289 +- .../impl1/LCMXO2_640HC_impl1_map.hrr | 42 +- .../impl1/LCMXO2_640HC_impl1_map.ncd | Bin 197654 -> 193033 bytes .../impl1/LCMXO2_640HC_impl1_mapvho.sdf | 4384 ++ .../impl1/LCMXO2_640HC_impl1_mapvho.vho | 36590 +++++++++++ .../impl1/LCMXO2_640HC_impl1_mapvo.sdf | 4384 ++ .../impl1/LCMXO2_640HC_impl1_mapvo.vo | 5552 ++ .../impl1/LCMXO2_640HC_impl1_mrp.html | 88 +- .../LCMXO2_640HC_impl1_multi_srs_gen.htm | 18 +- .../impl1/LCMXO2_640HC_impl1_ngd.asd | 2 +- .../impl1/LCMXO2_640HC_impl1_pad.html | 4 +- .../impl1/LCMXO2_640HC_impl1_par.html | 125 +- .../impl1/LCMXO2_640HC_impl1_premap.htm | 9 + .../impl1/LCMXO2_640HC_impl1_scck.rpt | 126 +- .../impl1/LCMXO2_640HC_impl1_summary.html | 10 +- .../impl1/LCMXO2_640HC_impl1_synplify.html | 621 +- .../impl1/LCMXO2_640HC_impl1_synplify.lpf | 48 +- .../impl1/LCMXO2_640HC_impl1_synplify.tcl | 132 +- .../impl1/LCMXO2_640HC_impl1_tw1.html | 512 + .../impl1/LCMXO2_640HC_impl1_twr.html | 2308 + .../impl1/LCMXO2_640HC_impl1_vho.sdf | 4442 ++ .../impl1/LCMXO2_640HC_impl1_vho.vho | 38189 ++++++++++++ .../impl1/LCMXO2_640HC_impl1_vo.sdf | 4440 ++ .../impl1/LCMXO2_640HC_impl1_vo.vo | 5926 ++ CPLD/LCMXO2-640HC/impl1/automake.log | 4388 +- CPLD/LCMXO2-640HC/impl1/dm/layer0.xdm | 396 +- .../impl1/hdla_gen_hierarchy.html | 12 +- CPLD/LCMXO2-640HC/impl1/impl1.xcf | 49 + .../LCMXO2-640HC/impl1/lcmxo2_640hc_impl1.ior | 135 + .../impl1/lcmxo2_640hc_impl1_trce.asd | 17 + CPLD/LCMXO2-640HC/impl1/run_options.txt | 162 +- CPLD/LCMXO2-640HC/impl1/scratchproject.prs | 160 +- CPLD/LCMXO2-640HC/impl1/stdout.log | 171 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.1 | 178 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.2 | 148 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.3 | 148 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.4 | 178 +- CPLD/LCMXO2-640HC/impl1/stdout.log.bak.5 | 148 +- CPLD/LCMXO2-640HC/impl1/synlog.tcl | 2 +- .../LCMXO2_640HC_impl1_comp.rt.csv.rptmap | 2 +- .../synlog/LCMXO2_640HC_impl1_compiler.srr | 261 +- .../synlog/LCMXO2_640HC_impl1_compiler.srr.db | Bin 8192 -> 8192 bytes .../LCMXO2_640HC_impl1_compiler.srr.rptmap | 2 +- .../synlog/LCMXO2_640HC_impl1_fpga_mapper.srr | 1803 +- .../LCMXO2_640HC_impl1_fpga_mapper.srr.db | Bin 8192 -> 8192 bytes .../synlog/LCMXO2_640HC_impl1_fpga_mapper.szr | Bin 22628 -> 22918 bytes .../LCMXO2_640HC_impl1_multi_srs_gen.srr | 56 +- .../synlog/LCMXO2_640HC_impl1_premap.srr | 325 +- .../synlog/LCMXO2_640HC_impl1_premap.srr.db | Bin 8192 -> 8192 bytes .../synlog/LCMXO2_640HC_impl1_premap.szr | Bin 12566 -> 12437 bytes .../synlog/LCMXO2_640HC_impl1_premap.xck | 8 +- .../impl1/synlog/incr_compile.rpt.rptmap | 2 +- .../impl1/synlog/layer0.tlg.rptmap | 2 +- .../LCMXO2_640HC_impl1_compiler_errors.txt | 4 +- .../LCMXO2_640HC_impl1_compiler_notes.txt | 18 +- .../LCMXO2_640HC_impl1_fpga_mapper_notes.txt | 45 +- ..._640HC_impl1_fpga_mapper_resourceusage.rpt | 56 +- ...CMXO2_640HC_impl1_fpga_mapper_warnings.txt | 14 +- ...LCMXO2_640HC_impl1_premap_combined_clk.rpt | 48 +- .../LCMXO2_640HC_impl1_premap_notes.txt | 47 +- .../LCMXO2_640HC_impl1_premap_warnings.txt | 2 +- .../impl1/synlog/report/metrics.db | Bin 45056 -> 57344 bytes .../synlog/syntax_constraint_check.rpt.rptmap | 2 +- .../impl1/syntmp/LCMXO2_640HC_impl1.plg | 58 +- .../LCMXO2_640HC_impl1_fpga_mapper_srr.htm | 906 + .../LCMXO2_640HC_impl1_fpga_mapper_toc.htm | 54 + .../LCMXO2_640HC_impl1_multi_srs_gen_srr.htm | 64 +- .../LCMXO2_640HC_impl1_multi_srs_gen_toc.htm | 48 +- .../syntmp/LCMXO2_640HC_impl1_premap_srr.htm | 167 + .../syntmp/LCMXO2_640HC_impl1_premap_toc.htm | 28 + .../impl1/syntmp/LCMXO2_640HC_impl1_srr.htm | 2493 +- .../impl1/syntmp/LCMXO2_640HC_impl1_toc.htm | 118 +- .../impl1/syntmp/cmdrec_compiler.log | 24 +- .../impl1/syntmp/cmdrec_fpga_mapper.log | 24 +- .../impl1/syntmp/cmdrec_multi_srs_gen.log | 14 +- .../impl1/syntmp/cmdrec_premap.log | 28 +- .../impl1/syntmp/statusReport.html | 228 +- CPLD/LCMXO2-640HC/impl1/synwork/.cckTransfer | Bin 465 -> 464 bytes .../synwork/LCMXO2_640HC_impl1_comp.fdep | 42 +- .../synwork/LCMXO2_640HC_impl1_comp.rt.csv | 2 +- .../impl1/synwork/LCMXO2_640HC_impl1_comp.srs | Bin 21157 -> 21082 bytes .../impl1/synwork/LCMXO2_640HC_impl1_m.srm | Bin 38081 -> 37759 bytes .../synwork/LCMXO2_640HC_impl1_m_srm/1.srm | Bin 9931 -> 10537 bytes .../LCMXO2_640HC_impl1_m_srm/fileinfo.srm | Bin 328 -> 310 bytes .../impl1/synwork/LCMXO2_640HC_impl1_mult.gcr | 52 +- .../impl1/synwork/LCMXO2_640HC_impl1_mult.srs | Bin 13269 -> 13087 bytes .../synwork/LCMXO2_640HC_impl1_mult_srs/1.srs | Bin 4774 -> 4788 bytes .../LCMXO2_640HC_impl1_mult_srs/fileinfo.srs | Bin 273 -> 258 bytes .../LCMXO2_640HC_impl1_mult_srs/skeleton.srs | Bin 1329 -> 1336 bytes .../impl1/synwork/LCMXO2_640HC_impl1_prem.srd | Bin 28839 -> 28530 bytes .../impl1/synwork/LCMXO2_640HC_impl1_prem.srm | Bin 16330 -> 16116 bytes .../synwork/LCMXO2_640HC_impl1_prem_srm/1.srm | Bin 7771 -> 7807 bytes .../LCMXO2_640HC_impl1_prem_srm/fileinfo.srm | Bin 330 -> 311 bytes .../LCMXO2_640HC_impl1_prem_srm/skeleton.srm | Bin 1459 -> 1452 bytes CPLD/LCMXO2-640HC/impl1/synwork/_mh_info | 2 +- .../impl1/synwork/incr_compile.rpt | 80 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep | 46 +- .../LCMXO2-640HC/impl1/synwork/layer0.fdepxmr | 2 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.rt.csv | 2 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.srs | Bin 24961 -> 24859 bytes CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg | 62 +- CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg.db | Bin 8192 -> 8192 bytes .../impl1/synwork/modulechange.db | Bin 24576 -> 24576 bytes CPLD/LCMXO2-640HC/impl1/version.log | 4 +- CPLD/LCMXO2-640HC/msg_file.log | 58 +- CPLD/LCMXO256C/.run_manager.ini | 18 +- CPLD/LCMXO256C/.setting.ini | 10 +- CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf | 2 +- CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf | 137 - CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcl.html | 18 + .../pn230819063022.tcr | 4 + .../pn230819205700.tcr | 6 + .../pn230820055550.tcr | 7 + CPLD/LCMXO256C/impl1/.build_status | 76 +- .../impl1/IBIS/RAM2GS_LCMXO256C_im~.ibs | 6746 +- .../impl1/RAM2GS_LCMXO256C_impl1.alt | 150 +- .../impl1/RAM2GS_LCMXO256C_impl1.areasrr | 52 +- .../impl1/RAM2GS_LCMXO256C_impl1.bgn | 80 +- .../impl1/RAM2GS_LCMXO256C_impl1.bit | Bin 9225 -> 9225 bytes .../impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.ncd | Bin 147774 -> 147774 bytes .../impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.pad | 542 +- .../impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.par | 416 +- .../RAM2GS_LCMXO256C_impl1.dir/5_1_par.asd | 60 +- .../RAM2GS_LCMXO256C_impl1.par | 56 +- .../impl1/RAM2GS_LCMXO256C_impl1.drc | 2 +- .../impl1/RAM2GS_LCMXO256C_impl1.edi | 5572 +- .../impl1/RAM2GS_LCMXO256C_impl1.htm | 18 +- .../impl1/RAM2GS_LCMXO256C_impl1.jed | 1954 +- .../impl1/RAM2GS_LCMXO256C_impl1.log | 8 +- .../impl1/RAM2GS_LCMXO256C_impl1.mrp | 672 +- .../impl1/RAM2GS_LCMXO256C_impl1.n2e | 1102 +- .../impl1/RAM2GS_LCMXO256C_impl1.ncd | Bin 147774 -> 147774 bytes .../impl1/RAM2GS_LCMXO256C_impl1.ngd | Bin 144453 -> 144453 bytes .../impl1/RAM2GS_LCMXO256C_impl1.ngo | Bin 70904 -> 70904 bytes .../impl1/RAM2GS_LCMXO256C_impl1.p2t | 18 +- .../impl1/RAM2GS_LCMXO256C_impl1.pad | 542 +- .../impl1/RAM2GS_LCMXO256C_impl1.par | 472 +- .../impl1/RAM2GS_LCMXO256C_impl1.prf | 158 +- .../impl1/RAM2GS_LCMXO256C_impl1.srd | Bin 20863 -> 22546 bytes .../impl1/RAM2GS_LCMXO256C_impl1.srf | 1934 +- .../impl1/RAM2GS_LCMXO256C_impl1.srm | Bin 29138 -> 29196 bytes .../impl1/RAM2GS_LCMXO256C_impl1.srr | 1934 +- .../impl1/RAM2GS_LCMXO256C_impl1.srr.db | Bin 16384 -> 16384 bytes .../impl1/RAM2GS_LCMXO256C_impl1.srs | Bin 10295 -> 10369 bytes .../impl1/RAM2GS_LCMXO256C_impl1.tw1 | 826 +- .../impl1/RAM2GS_LCMXO256C_impl1.twr | 4454 +- .../impl1/RAM2GS_LCMXO256C_impl1_bgn.html | 6 +- .../impl1/RAM2GS_LCMXO256C_impl1_cck.rpt | 310 +- .../impl1/RAM2GS_LCMXO256C_impl1_cck.rpt.db | Bin 8192 -> 8192 bytes .../RAM2GS_LCMXO256C_impl1_iotiming.html | 4 +- .../impl1/RAM2GS_LCMXO256C_impl1_map.asd | 26 +- .../impl1/RAM2GS_LCMXO256C_impl1_map.cam | 204 +- .../impl1/RAM2GS_LCMXO256C_impl1_map.hrr | 20 +- .../impl1/RAM2GS_LCMXO256C_impl1_map.ncd | Bin 98208 -> 98208 bytes .../impl1/RAM2GS_LCMXO256C_impl1_mapvho.sdf | 5844 +- .../impl1/RAM2GS_LCMXO256C_impl1_mapvho.vho | 49770 +++++++-------- .../impl1/RAM2GS_LCMXO256C_impl1_mapvo.sdf | 5844 +- .../impl1/RAM2GS_LCMXO256C_impl1_mapvo.vo | 7080 +-- .../impl1/RAM2GS_LCMXO256C_impl1_mrp.html | 22 +- .../impl1/RAM2GS_LCMXO256C_impl1_ngd.asd | 2 +- .../impl1/RAM2GS_LCMXO256C_impl1_pad.html | 4 +- .../impl1/RAM2GS_LCMXO256C_impl1_par.html | 56 +- .../impl1/RAM2GS_LCMXO256C_impl1_scck.rpt | 118 +- .../impl1/RAM2GS_LCMXO256C_impl1_summary.html | 10 +- .../RAM2GS_LCMXO256C_impl1_synplify.html | 164 +- .../impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf | 48 +- .../impl1/RAM2GS_LCMXO256C_impl1_synplify.tcl | 130 +- .../impl1/RAM2GS_LCMXO256C_impl1_tw1.html | 8 +- .../impl1/RAM2GS_LCMXO256C_impl1_twr.html | 8 +- .../impl1/RAM2GS_LCMXO256C_impl1_vho.sdf | 5854 +- .../impl1/RAM2GS_LCMXO256C_impl1_vho.vho | 51620 +++++++-------- .../impl1/RAM2GS_LCMXO256C_impl1_vo.sdf | 5844 +- .../impl1/RAM2GS_LCMXO256C_impl1_vo.vo | 7428 +-- CPLD/LCMXO256C/impl1/automake.log | 2730 +- CPLD/LCMXO256C/impl1/dm/layer0.xdm | 64 +- CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html | 8 +- .../impl1/ram2gs_lcmxo256c_impl1.ior | 276 +- .../impl1/ram2gs_lcmxo256c_impl1_trce.asd | 34 +- CPLD/LCMXO256C/impl1/run_options.txt | 162 +- CPLD/LCMXO256C/impl1/scratchproject.prs | 160 +- CPLD/LCMXO256C/impl1/stdout.log | 178 +- CPLD/LCMXO256C/impl1/stdout.log.bak.2 | 28 +- CPLD/LCMXO256C/impl1/stdout.log.bak.3 | 28 +- CPLD/LCMXO256C/impl1/stdout.log.bak.4 | 24 +- CPLD/LCMXO256C/impl1/stdout.log.bak.5 | 37 +- CPLD/LCMXO256C/impl1/synlog.tcl | 2 +- .../RAM2GS_LCMXO256C_impl1_comp.rt.csv.rptmap | 2 +- .../RAM2GS_LCMXO256C_impl1_compiler.srr | 214 +- .../RAM2GS_LCMXO256C_impl1_compiler.srr.db | Bin 8192 -> 8192 bytes ...RAM2GS_LCMXO256C_impl1_compiler.srr.rptmap | 2 +- .../RAM2GS_LCMXO256C_impl1_fpga_mapper.srr | 1318 +- .../RAM2GS_LCMXO256C_impl1_fpga_mapper.srr.db | Bin 8192 -> 8192 bytes .../RAM2GS_LCMXO256C_impl1_fpga_mapper.szr | Bin 21037 -> 20769 bytes .../RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr | 56 +- .../synlog/RAM2GS_LCMXO256C_impl1_premap.srr | 324 +- .../RAM2GS_LCMXO256C_impl1_premap.srr.db | Bin 8192 -> 8192 bytes .../synlog/RAM2GS_LCMXO256C_impl1_premap.szr | Bin 12390 -> 12307 bytes .../synlog/RAM2GS_LCMXO256C_impl1_premap.xck | 8 +- .../impl1/synlog/incr_compile.rpt.rptmap | 2 +- CPLD/LCMXO256C/impl1/synlog/layer0.tlg.rptmap | 2 +- .../RAM2GS_LCMXO256C_impl1_compiler_notes.txt | 10 +- ...M2GS_LCMXO256C_impl1_fpga_mapper_notes.txt | 40 +- ...XO256C_impl1_fpga_mapper_resourceusage.rpt | 48 +- ...S_LCMXO256C_impl1_fpga_mapper_warnings.txt | 12 +- ...GS_LCMXO256C_impl1_premap_combined_clk.rpt | 48 +- .../RAM2GS_LCMXO256C_impl1_premap_notes.txt | 54 +- ...RAM2GS_LCMXO256C_impl1_premap_warnings.txt | 2 +- CPLD/LCMXO256C/impl1/synlog/report/metrics.db | Bin 53248 -> 53248 bytes .../synlog/syntax_constraint_check.rpt.rptmap | 2 +- .../impl1/syntmp/RAM2GS_LCMXO256C_impl1.plg | 46 +- .../syntmp/RAM2GS_LCMXO256C_impl1_srr.htm | 1980 +- .../syntmp/RAM2GS_LCMXO256C_impl1_toc.htm | 114 +- .../impl1/syntmp/cmdrec_compiler.log | 20 +- .../impl1/syntmp/cmdrec_fpga_mapper.log | 24 +- .../impl1/syntmp/cmdrec_multi_srs_gen.log | 14 +- CPLD/LCMXO256C/impl1/syntmp/cmdrec_premap.log | 28 +- CPLD/LCMXO256C/impl1/syntmp/statusReport.html | 228 +- CPLD/LCMXO256C/impl1/synwork/.cckTransfer | Bin 465 -> 464 bytes .../synwork/RAM2GS_LCMXO256C_impl1_comp.fdep | 32 +- .../RAM2GS_LCMXO256C_impl1_comp.rt.csv | 2 +- .../synwork/RAM2GS_LCMXO256C_impl1_comp.srs | Bin 10550 -> 10493 bytes .../synwork/RAM2GS_LCMXO256C_impl1_m.srm | Bin 29138 -> 29196 bytes .../RAM2GS_LCMXO256C_impl1_m_srm/1.srm | Bin 1799 -> 1797 bytes .../RAM2GS_LCMXO256C_impl1_m_srm/fileinfo.srm | Bin 307 -> 290 bytes .../synwork/RAM2GS_LCMXO256C_impl1_mult.gcr | 52 +- .../synwork/RAM2GS_LCMXO256C_impl1_mult.srs | Bin 10295 -> 10369 bytes .../fileinfo.srs | Bin 252 -> 239 bytes .../skeleton.srs | Bin 841 -> 839 bytes .../synwork/RAM2GS_LCMXO256C_impl1_prem.srd | Bin 15189 -> 16783 bytes .../synwork/RAM2GS_LCMXO256C_impl1_prem.srm | Bin 13438 -> 13417 bytes .../fileinfo.srm | Bin 308 -> 290 bytes .../skeleton.srm | Bin 949 -> 950 bytes CPLD/LCMXO256C/impl1/synwork/_mh_info | 2 +- CPLD/LCMXO256C/impl1/synwork/incr_compile.rpt | 78 +- CPLD/LCMXO256C/impl1/synwork/layer0.fdep | 36 +- CPLD/LCMXO256C/impl1/synwork/layer0.fdepxmr | 2 +- CPLD/LCMXO256C/impl1/synwork/layer0.rt.csv | 2 +- CPLD/LCMXO256C/impl1/synwork/layer0.srs | Bin 9722 -> 9772 bytes CPLD/LCMXO256C/impl1/synwork/layer0.tlg | 22 +- CPLD/LCMXO256C/impl1/synwork/layer0.tlg.db | Bin 8192 -> 8192 bytes CPLD/LCMXO256C/impl1/synwork/modulechange.db | Bin 24576 -> 24576 bytes CPLD/LCMXO256C/impl1/version.log | 4 +- CPLD/LCMXO640C/.run_manager.ini | 18 +- CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf | 2 +- CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcl.html | 35 + .../pn230819063021.tcr | 4 + .../pn230819063032.tcr | 4 + .../pn230819215438.tcr | 6 + .../pn230820055538.tcr | 5 + .../pn230820055558.tcr | 6 + CPLD/LCMXO640C/impl1/.build_status | 74 +- .../impl1/IBIS/RAM2GS_LCMXO640C_im~.ibs | 6746 +- .../impl1/RAM2GS_LCMXO640C_impl1.alt | 150 +- .../impl1/RAM2GS_LCMXO640C_impl1.areasrr | 52 +- .../impl1/RAM2GS_LCMXO640C_impl1.bgn | 80 +- .../impl1/RAM2GS_LCMXO640C_impl1.bit | Bin 20212 -> 20212 bytes .../impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.ncd | Bin 149847 -> 149847 bytes .../impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.pad | 706 +- .../impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.par | 426 +- .../RAM2GS_LCMXO640C_impl1.dir/5_1_par.asd | 84 +- .../RAM2GS_LCMXO640C_impl1.par | 56 +- .../impl1/RAM2GS_LCMXO640C_impl1.drc | 2 +- .../impl1/RAM2GS_LCMXO640C_impl1.edi | 5572 +- .../impl1/RAM2GS_LCMXO640C_impl1.htm | 18 +- .../impl1/RAM2GS_LCMXO640C_impl1.jed | 3490 +- .../impl1/RAM2GS_LCMXO640C_impl1.log | 8 +- .../impl1/RAM2GS_LCMXO640C_impl1.mrp | 672 +- .../impl1/RAM2GS_LCMXO640C_impl1.n2e | 1102 +- .../impl1/RAM2GS_LCMXO640C_impl1.ncd | Bin 149847 -> 149847 bytes .../impl1/RAM2GS_LCMXO640C_impl1.ngd | Bin 144453 -> 144453 bytes .../impl1/RAM2GS_LCMXO640C_impl1.ngo | Bin 70904 -> 70904 bytes .../impl1/RAM2GS_LCMXO640C_impl1.p2t | 18 +- .../impl1/RAM2GS_LCMXO640C_impl1.pad | 706 +- .../impl1/RAM2GS_LCMXO640C_impl1.par | 482 +- .../impl1/RAM2GS_LCMXO640C_impl1.prf | 158 +- .../impl1/RAM2GS_LCMXO640C_impl1.srd | Bin 20862 -> 22546 bytes .../impl1/RAM2GS_LCMXO640C_impl1.srf | 1934 +- .../impl1/RAM2GS_LCMXO640C_impl1.srm | Bin 29135 -> 29193 bytes .../impl1/RAM2GS_LCMXO640C_impl1.srr | 1934 +- .../impl1/RAM2GS_LCMXO640C_impl1.srr.db | Bin 16384 -> 16384 bytes .../impl1/RAM2GS_LCMXO640C_impl1.srs | Bin 10295 -> 10367 bytes .../impl1/RAM2GS_LCMXO640C_impl1.tw1 | 826 +- .../impl1/RAM2GS_LCMXO640C_impl1.twr | 4476 +- .../impl1/RAM2GS_LCMXO640C_impl1_bgn.html | 6 +- .../impl1/RAM2GS_LCMXO640C_impl1_cck.rpt | 310 +- .../impl1/RAM2GS_LCMXO640C_impl1_cck.rpt.db | Bin 8192 -> 8192 bytes .../RAM2GS_LCMXO640C_impl1_iotiming.html | 4 +- .../impl1/RAM2GS_LCMXO640C_impl1_map.asd | 26 +- .../impl1/RAM2GS_LCMXO640C_impl1_map.cam | 204 +- .../impl1/RAM2GS_LCMXO640C_impl1_map.hrr | 20 +- .../impl1/RAM2GS_LCMXO640C_impl1_map.ncd | Bin 98218 -> 98218 bytes .../impl1/RAM2GS_LCMXO640C_impl1_mapvho.sdf | 5844 +- .../impl1/RAM2GS_LCMXO640C_impl1_mapvho.vho | 49770 +++++++-------- .../impl1/RAM2GS_LCMXO640C_impl1_mapvo.sdf | 5844 +- .../impl1/RAM2GS_LCMXO640C_impl1_mapvo.vo | 7080 +-- .../impl1/RAM2GS_LCMXO640C_impl1_mrp.html | 22 +- .../impl1/RAM2GS_LCMXO640C_impl1_ngd.asd | 2 +- .../impl1/RAM2GS_LCMXO640C_impl1_pad.html | 4 +- .../impl1/RAM2GS_LCMXO640C_impl1_par.html | 58 +- .../impl1/RAM2GS_LCMXO640C_impl1_scck.rpt | 118 +- .../impl1/RAM2GS_LCMXO640C_impl1_summary.html | 10 +- .../RAM2GS_LCMXO640C_impl1_synplify.html | 178 +- .../impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf | 48 +- .../impl1/RAM2GS_LCMXO640C_impl1_synplify.tcl | 130 +- .../impl1/RAM2GS_LCMXO640C_impl1_tw1.html | 8 +- .../impl1/RAM2GS_LCMXO640C_impl1_twr.html | 8 +- .../impl1/RAM2GS_LCMXO640C_impl1_vho.sdf | 5856 +- .../impl1/RAM2GS_LCMXO640C_impl1_vho.vho | 51666 ++++++++-------- .../impl1/RAM2GS_LCMXO640C_impl1_vo.sdf | 5846 +- .../impl1/RAM2GS_LCMXO640C_impl1_vo.vo | 7436 +-- CPLD/LCMXO640C/impl1/automake.log | 2798 +- CPLD/LCMXO640C/impl1/dm/layer0.xdm | 64 +- CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html | 8 +- .../impl1/ram2gs_lcmxo640c_impl1.ior | 276 +- .../impl1/ram2gs_lcmxo640c_impl1_trce.asd | 34 +- CPLD/LCMXO640C/impl1/run_options.txt | 162 +- CPLD/LCMXO640C/impl1/scratchproject.prs | 160 +- CPLD/LCMXO640C/impl1/stdout.log | 178 +- CPLD/LCMXO640C/impl1/stdout.log.bak.2 | 30 +- CPLD/LCMXO640C/impl1/stdout.log.bak.3 | 32 +- CPLD/LCMXO640C/impl1/stdout.log.bak.4 | 24 +- CPLD/LCMXO640C/impl1/stdout.log.bak.5 | 25 +- CPLD/LCMXO640C/impl1/synlog.tcl | 2 +- .../RAM2GS_LCMXO640C_impl1_comp.rt.csv.rptmap | 2 +- .../RAM2GS_LCMXO640C_impl1_compiler.srr | 214 +- .../RAM2GS_LCMXO640C_impl1_compiler.srr.db | Bin 8192 -> 8192 bytes ...RAM2GS_LCMXO640C_impl1_compiler.srr.rptmap | 2 +- .../RAM2GS_LCMXO640C_impl1_fpga_mapper.srr | 1318 +- .../RAM2GS_LCMXO640C_impl1_fpga_mapper.srr.db | Bin 8192 -> 8192 bytes .../RAM2GS_LCMXO640C_impl1_fpga_mapper.szr | Bin 21018 -> 20764 bytes .../RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr | 56 +- .../synlog/RAM2GS_LCMXO640C_impl1_premap.srr | 324 +- .../RAM2GS_LCMXO640C_impl1_premap.srr.db | Bin 8192 -> 8192 bytes .../synlog/RAM2GS_LCMXO640C_impl1_premap.szr | Bin 12388 -> 12305 bytes .../synlog/RAM2GS_LCMXO640C_impl1_premap.xck | 8 +- .../impl1/synlog/incr_compile.rpt.rptmap | 2 +- CPLD/LCMXO640C/impl1/synlog/layer0.tlg.rptmap | 2 +- .../RAM2GS_LCMXO640C_impl1_compiler_notes.txt | 10 +- ...M2GS_LCMXO640C_impl1_fpga_mapper_notes.txt | 40 +- ...XO640C_impl1_fpga_mapper_resourceusage.rpt | 48 +- ...S_LCMXO640C_impl1_fpga_mapper_warnings.txt | 12 +- ...GS_LCMXO640C_impl1_premap_combined_clk.rpt | 48 +- .../RAM2GS_LCMXO640C_impl1_premap_notes.txt | 54 +- ...RAM2GS_LCMXO640C_impl1_premap_warnings.txt | 2 +- CPLD/LCMXO640C/impl1/synlog/report/metrics.db | Bin 45056 -> 45056 bytes .../synlog/syntax_constraint_check.rpt.rptmap | 2 +- .../impl1/syntmp/RAM2GS_LCMXO640C_impl1.plg | 46 +- .../syntmp/RAM2GS_LCMXO640C_impl1_srr.htm | 1980 +- .../syntmp/RAM2GS_LCMXO640C_impl1_toc.htm | 114 +- .../impl1/syntmp/cmdrec_compiler.log | 20 +- .../impl1/syntmp/cmdrec_fpga_mapper.log | 24 +- .../impl1/syntmp/cmdrec_multi_srs_gen.log | 14 +- CPLD/LCMXO640C/impl1/syntmp/cmdrec_premap.log | 28 +- CPLD/LCMXO640C/impl1/syntmp/statusReport.html | 228 +- CPLD/LCMXO640C/impl1/synwork/.cckTransfer | Bin 465 -> 464 bytes .../synwork/RAM2GS_LCMXO640C_impl1_comp.fdep | 32 +- .../RAM2GS_LCMXO640C_impl1_comp.rt.csv | 2 +- .../synwork/RAM2GS_LCMXO640C_impl1_comp.srs | Bin 10551 -> 10491 bytes .../synwork/RAM2GS_LCMXO640C_impl1_m.srm | Bin 29135 -> 29193 bytes .../RAM2GS_LCMXO640C_impl1_m_srm/1.srm | Bin 1800 -> 1796 bytes .../RAM2GS_LCMXO640C_impl1_m_srm/fileinfo.srm | Bin 307 -> 290 bytes .../synwork/RAM2GS_LCMXO640C_impl1_mult.gcr | 52 +- .../synwork/RAM2GS_LCMXO640C_impl1_mult.srs | Bin 10295 -> 10367 bytes .../fileinfo.srs | Bin 252 -> 239 bytes .../skeleton.srs | Bin 842 -> 841 bytes .../synwork/RAM2GS_LCMXO640C_impl1_prem.srd | Bin 15190 -> 16785 bytes .../synwork/RAM2GS_LCMXO640C_impl1_prem.srm | Bin 13438 -> 13419 bytes .../fileinfo.srm | Bin 308 -> 290 bytes .../skeleton.srm | Bin 950 -> 950 bytes CPLD/LCMXO640C/impl1/synwork/_mh_info | 2 +- CPLD/LCMXO640C/impl1/synwork/incr_compile.rpt | 78 +- CPLD/LCMXO640C/impl1/synwork/layer0.fdep | 36 +- CPLD/LCMXO640C/impl1/synwork/layer0.fdepxmr | 2 +- CPLD/LCMXO640C/impl1/synwork/layer0.rt.csv | 2 +- CPLD/LCMXO640C/impl1/synwork/layer0.srs | Bin 9719 -> 9773 bytes CPLD/LCMXO640C/impl1/synwork/layer0.tlg | 22 +- CPLD/LCMXO640C/impl1/synwork/layer0.tlg.db | Bin 8192 -> 8192 bytes CPLD/LCMXO640C/impl1/synwork/modulechange.db | Bin 24576 -> 24576 bytes CPLD/LCMXO640C/impl1/version.log | 4 +- CPLD/MAXII/RAM2GS.qws | Bin 48 -> 0 bytes .../db/RAM2GS-MAXII.quiproj.11208.rdr.flock | 0 CPLD/MAXII/db/RAM2GS.(0).cnf.hdb | Bin 3286 -> 3325 bytes CPLD/MAXII/db/RAM2GS.(1).cnf.cdb | Bin 1388 -> 1388 bytes CPLD/MAXII/db/RAM2GS.(1).cnf.hdb | Bin 910 -> 909 bytes CPLD/MAXII/db/RAM2GS.(2).cnf.cdb | Bin 1593 -> 1594 bytes CPLD/MAXII/db/RAM2GS.(2).cnf.hdb | Bin 1009 -> 1009 bytes CPLD/MAXII/db/RAM2GS.asm.qmsg | 12 +- CPLD/MAXII/db/RAM2GS.asm.rdb | Bin 808 -> 798 bytes CPLD/MAXII/db/RAM2GS.cmp.cdb | Bin 42596 -> 42611 bytes CPLD/MAXII/db/RAM2GS.cmp.hdb | Bin 19082 -> 19154 bytes CPLD/MAXII/db/RAM2GS.cmp.idb | Bin 2718 -> 2720 bytes CPLD/MAXII/db/RAM2GS.cmp.logdb | 2 +- CPLD/MAXII/db/RAM2GS.cmp.rdb | Bin 14485 -> 14471 bytes CPLD/MAXII/db/RAM2GS.db_info | 6 +- CPLD/MAXII/db/RAM2GS.fit.qmsg | 86 +- CPLD/MAXII/db/RAM2GS.hier_info | 570 +- CPLD/MAXII/db/RAM2GS.hif | Bin 596 -> 588 bytes CPLD/MAXII/db/RAM2GS.lpc.html | 100 +- CPLD/MAXII/db/RAM2GS.lpc.txt | 16 +- CPLD/MAXII/db/RAM2GS.map.cdb | Bin 17914 -> 17942 bytes CPLD/MAXII/db/RAM2GS.map.hdb | Bin 18089 -> 18166 bytes CPLD/MAXII/db/RAM2GS.map.logdb | 2 +- CPLD/MAXII/db/RAM2GS.map.qmsg | 46 +- CPLD/MAXII/db/RAM2GS.map.rdb | Bin 1263 -> 1261 bytes CPLD/MAXII/db/RAM2GS.pre_map.hdb | Bin 16963 -> 17214 bytes CPLD/MAXII/db/RAM2GS.rtlv.hdb | Bin 16857 -> 16900 bytes CPLD/MAXII/db/RAM2GS.rtlv_sg.cdb | Bin 19260 -> 19247 bytes CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb | Bin 839 -> 839 bytes CPLD/MAXII/db/RAM2GS.smart_action.txt | 2 +- CPLD/MAXII/db/RAM2GS.sta.qmsg | 46 +- CPLD/MAXII/db/RAM2GS.sta.rdb | Bin 13397 -> 13434 bytes CPLD/MAXII/db/RAM2GS.sta_cmp.5_slow.tdb | Bin 46251 -> 46219 bytes CPLD/MAXII/db/RAM2GS.tmw_info | 9 +- .../RAM2GS.root_partition.map.kpt | Bin 2650 -> 2629 bytes CPLD/MAXII/output_files/RAM2GS.asm.rpt | 182 +- CPLD/MAXII/output_files/RAM2GS.done | 2 +- CPLD/MAXII/output_files/RAM2GS.fit.rpt | 1520 +- CPLD/MAXII/output_files/RAM2GS.fit.smsg | 8 +- CPLD/MAXII/output_files/RAM2GS.fit.summary | 22 +- CPLD/MAXII/output_files/RAM2GS.flow.rpt | 236 +- CPLD/MAXII/output_files/RAM2GS.jdi | 16 +- CPLD/MAXII/output_files/RAM2GS.map.rpt | 624 +- CPLD/MAXII/output_files/RAM2GS.map.smsg | 6 +- CPLD/MAXII/output_files/RAM2GS.map.summary | 18 +- CPLD/MAXII/output_files/RAM2GS.pin | 330 +- CPLD/MAXII/output_files/RAM2GS.sld | 2 +- CPLD/MAXII/output_files/RAM2GS.sta.rpt | 2022 +- CPLD/MAXII/output_files/RAM2GS.sta.summary | 138 +- CPLD/MAXV/RAM2GS.qws | Bin 48 -> 0 bytes .../db/RAM2GS-MAXV.quiproj.13204.rdr.flock | 0 CPLD/MAXV/db/RAM2GS.(0).cnf.hdb | Bin 3286 -> 3318 bytes CPLD/MAXV/db/RAM2GS.(1).cnf.cdb | Bin 1389 -> 1388 bytes CPLD/MAXV/db/RAM2GS.(1).cnf.hdb | Bin 931 -> 904 bytes CPLD/MAXV/db/RAM2GS.(2).cnf.cdb | Bin 1597 -> 1594 bytes CPLD/MAXV/db/RAM2GS.(2).cnf.hdb | Bin 1025 -> 1006 bytes CPLD/MAXV/db/RAM2GS.asm.qmsg | 12 +- CPLD/MAXV/db/RAM2GS.asm.rdb | Bin 808 -> 797 bytes CPLD/MAXV/db/RAM2GS.cmp.cdb | Bin 43033 -> 43027 bytes CPLD/MAXV/db/RAM2GS.cmp.hdb | Bin 19006 -> 19132 bytes CPLD/MAXV/db/RAM2GS.cmp.idb | Bin 2718 -> 2717 bytes CPLD/MAXV/db/RAM2GS.cmp.logdb | 2 +- CPLD/MAXV/db/RAM2GS.cmp.rdb | Bin 14421 -> 14408 bytes CPLD/MAXV/db/RAM2GS.db_info | 6 +- CPLD/MAXV/db/RAM2GS.fit.qmsg | 86 +- CPLD/MAXV/db/RAM2GS.hier_info | 570 +- CPLD/MAXV/db/RAM2GS.hif | Bin 594 -> 587 bytes CPLD/MAXV/db/RAM2GS.lpc.html | 100 +- CPLD/MAXV/db/RAM2GS.lpc.txt | 16 +- CPLD/MAXV/db/RAM2GS.map.cdb | Bin 17920 -> 17942 bytes CPLD/MAXV/db/RAM2GS.map.hdb | Bin 18023 -> 18156 bytes CPLD/MAXV/db/RAM2GS.map.logdb | 2 +- CPLD/MAXV/db/RAM2GS.map.qmsg | 46 +- CPLD/MAXV/db/RAM2GS.map.rdb | Bin 1262 -> 1261 bytes CPLD/MAXV/db/RAM2GS.pre_map.hdb | Bin 16718 -> 17224 bytes CPLD/MAXV/db/RAM2GS.rtlv.hdb | Bin 16631 -> 16905 bytes CPLD/MAXV/db/RAM2GS.rtlv_sg.cdb | Bin 19163 -> 19247 bytes CPLD/MAXV/db/RAM2GS.rtlv_sg_swap.cdb | Bin 841 -> 840 bytes CPLD/MAXV/db/RAM2GS.smart_action.txt | 2 +- CPLD/MAXV/db/RAM2GS.sta.qmsg | 46 +- CPLD/MAXV/db/RAM2GS.sta.rdb | Bin 13817 -> 13845 bytes CPLD/MAXV/db/RAM2GS.sta_cmp.5_slow.tdb | Bin 46398 -> 46392 bytes CPLD/MAXV/db/RAM2GS.tmw_info | 6 + .../RAM2GS.root_partition.map.kpt | Bin 2617 -> 2664 bytes CPLD/MAXV/output_files/RAM2GS.asm.rpt | 182 +- CPLD/MAXV/output_files/RAM2GS.done | 2 +- CPLD/MAXV/output_files/RAM2GS.fit.rpt | 1524 +- CPLD/MAXV/output_files/RAM2GS.fit.smsg | 8 +- CPLD/MAXV/output_files/RAM2GS.fit.summary | 22 +- CPLD/MAXV/output_files/RAM2GS.flow.rpt | 236 +- CPLD/MAXV/output_files/RAM2GS.jdi | 16 +- CPLD/MAXV/output_files/RAM2GS.map.rpt | 624 +- CPLD/MAXV/output_files/RAM2GS.map.smsg | 6 +- CPLD/MAXV/output_files/RAM2GS.map.summary | 18 +- CPLD/MAXV/output_files/RAM2GS.pin | 330 +- CPLD/MAXV/output_files/RAM2GS.sld | 2 +- CPLD/MAXV/output_files/RAM2GS.sta.rpt | 2021 +- CPLD/MAXV/output_files/RAM2GS.sta.summary | 138 +- CPLD/RAM2GS-AGM.v | 10 +- CPLD/RAM2GS-LCMXO2.mem | 7 + CPLD/RAM2GS-LCMXO2.v | 349 +- 545 files changed, 317413 insertions(+), 205635 deletions(-) delete mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062748.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062826.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062853.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062900.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819063021.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819205234.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055534.tcr create mode 100644 CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055626.tcr create mode 100644 CPLD/LCMXO2-640HC/impl1/IBIS/LCMXO2_640HC_impl1.ibs create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bit create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mt create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.tw1 create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.twr create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_fpga_mapper.htm create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_iotiming.html create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvho.sdf create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvho.vho create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.sdf create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.vo create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_premap.htm create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_tw1.html create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_twr.html create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.sdf create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.vho create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.sdf create mode 100644 CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.vo create mode 100644 CPLD/LCMXO2-640HC/impl1/impl1.xcf create mode 100644 CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1.ior create mode 100644 CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1_trce.asd create mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_srr.htm create mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_toc.htm create mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_srr.htm create mode 100644 CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_toc.htm delete mode 100644 CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf create mode 100644 CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819063022.tcr create mode 100644 CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819205700.tcr create mode 100644 CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230820055550.tcr create mode 100644 CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063021.tcr create mode 100644 CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063032.tcr create mode 100644 CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819215438.tcr create mode 100644 CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055538.tcr create mode 100644 CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055558.tcr delete mode 100644 CPLD/MAXII/RAM2GS.qws create mode 100644 CPLD/MAXII/db/RAM2GS-MAXII.quiproj.11208.rdr.flock delete mode 100644 CPLD/MAXV/RAM2GS.qws create mode 100644 CPLD/MAXV/db/RAM2GS-MAXV.quiproj.13204.rdr.flock create mode 100644 CPLD/MAXV/db/RAM2GS.tmw_info create mode 100644 CPLD/RAM2GS-LCMXO2.mem diff --git a/CPLD/LCMXO2-640HC/.run_manager.ini b/CPLD/LCMXO2-640HC/.run_manager.ini index 8c0aa7b..b5da7d8 100644 --- a/CPLD/LCMXO2-640HC/.run_manager.ini +++ b/CPLD/LCMXO2-640HC/.run_manager.ini @@ -1,9 +1,9 @@ -[Runmanager] -Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x1\x1c\0\0\0\xd8\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0) -windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\0\0\0\0\x1\xff\xff\xff\xff\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0) -headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x16\0\xe0?\0\0\0\t\0\0\0\x10\0\0\0\x64\0\0\0\xf\0\0\0\x64\0\0\0\xe\0\0\0\x64\0\0\0\r\0\0\0\x64\0\0\0\x15\0\0\0\x64\0\0\0\x14\0\0\0\x64\0\0\0\x13\0\0\0\x64\0\0\0\x12\0\0\0\x64\0\0\0\x11\0\0\0\x64\0\0\x4\xd3\0\0\0\x16\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x3\0\0\0#\0\0\0\x1\0\0\0\x2\0\0\x4\xb0\0\0\0\f\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0) - -[impl1%3CStrategy1%3E] -isChecked=false -isHidden=false -isExpanded=false +[Runmanager] +Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x1\x1c\0\0\0\xd8\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0) +windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\0\0\0\0\x1\xff\xff\xff\xff\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0) +headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x16\0\xe0?\0\0\0\t\0\0\0\x10\0\0\0\x64\0\0\0\xf\0\0\0\x64\0\0\0\xe\0\0\0\x64\0\0\0\r\0\0\0\x64\0\0\0\x15\0\0\0\x64\0\0\0\x14\0\0\0\x64\0\0\0\x13\0\0\0\x64\0\0\0\x12\0\0\0\x64\0\0\0\x11\0\0\0\x64\0\0\x4\xd3\0\0\0\x16\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x3\0\0\0#\0\0\0\x1\0\0\0\x2\0\0\x4\xb0\0\0\0\f\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0) + +[impl1%3CStrategy1%3E] +isChecked=false +isHidden=false +isExpanded=false diff --git a/CPLD/LCMXO2-640HC/.setting.ini b/CPLD/LCMXO2-640HC/.setting.ini index 1546db3..2436406 100644 --- a/CPLD/LCMXO2-640HC/.setting.ini +++ b/CPLD/LCMXO2-640HC/.setting.ini @@ -1,3 +1,4 @@ -[General] -Export.auto_tasks=Jedecgen -PAR.auto_tasks=@@empty() +[General] +Export.auto_tasks=IBIS, TimingSimFileVlg, TimingSimFileVHD, Bitgen, Jedecgen +PAR.auto_tasks=PARTrace, IOTiming +Map.auto_tasks=MapTrace, MapVerilogSimFile, MapVHDLSimFile diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf b/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf index 4204338..b28ecd3 100644 --- a/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf @@ -9,6 +9,9 @@ + + + diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf b/CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf deleted file mode 100644 index 325063a..0000000 --- a/CPLD/LCMXO2-640HC/LCMXO2_640HC.lpf +++ /dev/null @@ -1,2 +0,0 @@ -BLOCK RESETPATHS; -BLOCK ASYNCPATHS; diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcl.html b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcl.html index ff52e3e..0c0ecef 100644 --- a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcl.html +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcl.html @@ -17,6 +17,142 @@ prj_src add -exclude "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf +pn230816210353 +#Start recording tcl command: 8/16/2023 20:34:55 +#Project Location: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Synthesis -impl impl1 +prj_run Map -impl impl1 +prj_run Export -impl impl1 +prj_run PAR -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_src add "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/REFB.v" +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_src add "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc" +prj_run Export -impl impl1 +#Stop recording: 8/16/2023 21:03:53 + + + +pn230819062748 +#Start recording tcl command: 8/18/2023 08:16:23 +#Project Location: //Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "//Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Synthesis -impl impl1 +#Stop recording: 8/19/2023 06:27:48 + + + +pn230819062826 +#Start recording tcl command: 8/19/2023 06:27:54 +#Project Location: //Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "//Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Synthesis -impl impl1 -task Synplify_Synthesis +#Stop recording: 8/19/2023 06:28:26 + + + +pn230819062853 +#Start recording tcl command: 8/19/2023 06:28:30 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Synthesis -impl impl1 +prj_project close +#Stop recording: 8/19/2023 06:28:53 + + + +pn230819062900 +#Start recording tcl command: 8/19/2023 06:28:53 +#Project Location: //Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "//Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_project close +#Stop recording: 8/19/2023 06:29:00 + + + +pn230819063021 +#Start recording tcl command: 8/19/2023 06:29:00 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +#Stop recording: 8/19/2023 06:30:21 + + + +pn230819205234 +#Start recording tcl command: 8/19/2023 06:30:42 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +pgr_project save "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +prj_src add -exclude "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +prj_src enable "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +pgr_program run +pgr_program run +pgr_program set -cable USB2 +pgr_program set -port FTUSB-0 +pgr_program run +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +prj_run Export -impl impl1 -forceAll +pgr_project save "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 +pgr_project close +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceOne +prj_run Export -impl impl1 -forceOne +prj_run Export -impl impl1 -forceOne +prj_run Export -impl impl1 -forceOne +prj_project save +prj_project close +#Stop recording: 8/19/2023 20:52:34 + + + +pn230820055534 +#Start recording tcl command: 8/19/2023 21:54:38 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 -forceAll +prj_project close +#Stop recording: 8/20/2023 05:55:34 + + +


diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062748.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062748.tcr new file mode 100644 index 0000000..d35b931 --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062748.tcr @@ -0,0 +1,7 @@ +#Start recording tcl command: 8/18/2023 08:16:23 +#Project Location: //Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "//Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Synthesis -impl impl1 +#Stop recording: 8/19/2023 06:27:48 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062826.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062826.tcr new file mode 100644 index 0000000..53eedad --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062826.tcr @@ -0,0 +1,5 @@ +#Start recording tcl command: 8/19/2023 06:27:54 +#Project Location: //Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "//Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Synthesis -impl impl1 -task Synplify_Synthesis +#Stop recording: 8/19/2023 06:28:26 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062853.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062853.tcr new file mode 100644 index 0000000..b189ad6 --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062853.tcr @@ -0,0 +1,6 @@ +#Start recording tcl command: 8/19/2023 06:28:30 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Synthesis -impl impl1 +prj_project close +#Stop recording: 8/19/2023 06:28:53 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062900.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062900.tcr new file mode 100644 index 0000000..98a45a7 --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819062900.tcr @@ -0,0 +1,5 @@ +#Start recording tcl command: 8/19/2023 06:28:53 +#Project Location: //Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "//Mac/iCloud/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_project close +#Stop recording: 8/19/2023 06:29:00 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819063021.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819063021.tcr new file mode 100644 index 0000000..e25c9f4 --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819063021.tcr @@ -0,0 +1,4 @@ +#Start recording tcl command: 8/19/2023 06:29:00 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +#Stop recording: 8/19/2023 06:30:21 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819205234.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819205234.tcr new file mode 100644 index 0000000..0577625 --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230819205234.tcr @@ -0,0 +1,47 @@ +#Start recording tcl command: 8/19/2023 06:30:42 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +pgr_project save "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +prj_src add -exclude "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +prj_src enable "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +pgr_program run +pgr_program run +pgr_program set -cable USB2 +pgr_program set -port FTUSB-0 +pgr_program run +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +prj_run Export -impl impl1 -forceAll +pgr_project save "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/impl1.xcf" +prj_run Export -impl impl1 +prj_run Export -impl impl1 +pgr_project close +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceAll +prj_run Export -impl impl1 +prj_run Export -impl impl1 -forceOne +prj_run Export -impl impl1 -forceOne +prj_run Export -impl impl1 -forceOne +prj_run Export -impl impl1 -forceOne +prj_project save +prj_project close +#Stop recording: 8/19/2023 20:52:34 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055534.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055534.tcr new file mode 100644 index 0000000..b33a59d --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055534.tcr @@ -0,0 +1,6 @@ +#Start recording tcl command: 8/19/2023 21:54:38 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +prj_run Export -impl impl1 -forceAll +prj_project close +#Stop recording: 8/20/2023 05:55:34 diff --git a/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055626.tcr b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055626.tcr new file mode 100644 index 0000000..e7f1318 --- /dev/null +++ b/CPLD/LCMXO2-640HC/LCMXO2_640HC_tcr.dir/pn230820055626.tcr @@ -0,0 +1,4 @@ +#Start recording tcl command: 8/20/2023 05:55:58 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC; Project name: LCMXO2_640HC +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf" +#Stop recording: 8/20/2023 05:56:26 diff --git a/CPLD/LCMXO2-640HC/REFB.edn b/CPLD/LCMXO2-640HC/REFB.edn index 59d4276..6075b51 100644 --- a/CPLD/LCMXO2-640HC/REFB.edn +++ b/CPLD/LCMXO2-640HC/REFB.edn @@ -4,9 +4,9 @@ (keywordMap (keywordLevel 0)) (status (written - (timestamp 2023 8 16 20 52 2) + (timestamp 2023 8 19 7 25 4) (program "SCUBA" (version "Diamond (64-bit) 3.12.1.454")))) - (comment "C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 62.5 -ufm -ufm_ebr 190 -mem_size 1 -ufm_0 -wb -dev 640 ") + (comment "C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 66.7 -ufm -ufm_ebr 190 -mem_size 1 -memfile ../RAM2GS-LCMXO2.mem -memformat hex -wb -dev 640 ") (library ORCLIB (edifLevel 0) (technology @@ -287,9 +287,9 @@ (property UFM_INIT_FILE_FORMAT (string "HEX")) (property UFM_INIT_FILE_NAME - (string "NONE")) + (string "../RAM2GS-LCMXO2.mem")) (property UFM_INIT_ALL_ZEROS - (string "ENABLED")) + (string "DISABLED")) (property UFM_INIT_START_PAGE (string "190")) (property UFM_INIT_PAGES @@ -383,7 +383,7 @@ (property EFB_I2C1 (string "DISABLED")) (property EFB_WB_CLK_FREQ - (string "62.5"))) + (string "66.7"))) (net scuba_vhi (joined (portRef Z (instanceRef scuba_vhi_inst)) diff --git a/CPLD/LCMXO2-640HC/REFB.ipx b/CPLD/LCMXO2-640HC/REFB.ipx index 4d397ec..bbea108 100644 --- a/CPLD/LCMXO2-640HC/REFB.ipx +++ b/CPLD/LCMXO2-640HC/REFB.ipx @@ -1,8 +1,8 @@ - + - - - + + + diff --git a/CPLD/LCMXO2-640HC/REFB.lpc b/CPLD/LCMXO2-640HC/REFB.lpc index 7e8558b..b811267 100644 --- a/CPLD/LCMXO2-640HC/REFB.lpc +++ b/CPLD/LCMXO2-640HC/REFB.lpc @@ -1,141 +1,141 @@ -[Device] -Family=machxo2 -PartType=LCMXO2-640HC -PartName=LCMXO2-640HC-4TG100C -SpeedGrade=4 -Package=TQFP100 -OperatingCondition=COM -Status=S - -[IP] -VendorName=Lattice Semiconductor Corporation -CoreType=LPM -CoreStatus=Demo -CoreName=EFB -CoreRevision=1.2 -ModuleName=REFB -SourceFormat=Verilog HDL -ParameterFileVersion=1.0 -Date=08/16/2023 -Time=20:52:02 - -[Parameters] -Verilog=1 -VHDL=0 -EDIF=1 -Destination=Synplicity -Expression=BusA(0 to 7) -Order=Big Endian [MSB:LSB] -IO=0 -freq= -i2c1=0 -i2c1config=0 -i2c1_addr=7-Bit Addressing -i2c1_ce=0 -i2c1_freq=100 -i2c1_sa=10000 -i2c1_we=0 -i2c2=0 -i2c2_addr=7-Bit Addressing -i2c2_ce=0 -i2c2_freq=100 -i2c2_sa=10000 -i2c2_we=0 -ufm_addr=7-Bit Addressing -ufm_sa=10000 -pll=0 -pll_cnt=1 -spi=0 -spi_clkinv=0 -spi_cs=1 -spi_en=0 -spi_freq=1 -spi_lsb=0 -spi_mode=Slave -spi_ib=0 -spi_ph=0 -spi_hs=0 -spi_rxo=0 -spi_rxr=0 -spi_txo=0 -spi_txr=0 -spi_we=0 -static_tc=Static -tc=0 -tc_clkinv=Positive -tc_ctr=1 -tc_div=1 -tc_ipcap=0 -tc_mode=CTCM -tc_ocr=32767 -tc_oflow=1 -tc_o=TOGGLE -tc_opcomp=0 -tc_osc=0 -tc_sa_oflow=0 -tc_top=65535 -ufm=1 -ufm0=0 -ufm1=0 -ufm2=0 -ufm3=0 -ufm_cfg0=0 -ufm_cfg1=0 -wb_clk_freq=62.5 -ufm_usage=SHARED_EBR_TAG -ufm_ebr=190 -ufm_remain= -mem_size=1 -ufm_start= -ufm_init=0 -memfile= -ufm_dt=hex -ufm0_ebr= -mem_size0=1 -ufm0_init=0 -memfile0= -ufm0_dt=hex -ufm1_ebr= -mem_size1=1 -ufm1_init=0 -memfile1= -ufm1_dt=hex -ufm2_ebr= -mem_size2=1 -ufm2_init=0 -memfile2= -ufm2_dt=hex -ufm3_ebr= -mem_size3=1 -ufm3_init=0 -memfile3= -ufm3_dt=hex -ufm_cfg0_ebr= -mem_size_cfg0=1 -ufm_cfg0_init=0 -memfile_cfg0= -ufm_cfg0_dt=hex -ufm_cfg1_ebr= -mem_size_cfg1=1 -ufm_cfg1_init=0 -memfile_cfg1= -ufm_cfg1_dt=hex -wb=1 -boot_option=Internal -efb_ufm=0 -boot_option_internal=Single Boot -internal_ufm0=0 -internal_ufm1=0 -efb_ufm_boot= -tamperdr=0 -t_pwd=0 -t_lockflash=0 -t_manmode=0 -t_jtagport=0 -t_sspiport=0 -t_sic2port=0 -t_wbport=0 -t_portlock=0 - -[Command] -cmd_line= -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 62.5 -ufm -ufm_ebr 190 -mem_size 1 -ufm_0 -wb -dev 640 +[Device] +Family=machxo2 +PartType=LCMXO2-640HC +PartName=LCMXO2-640HC-4TG100C +SpeedGrade=4 +Package=TQFP100 +OperatingCondition=COM +Status=S + +[IP] +VendorName=Lattice Semiconductor Corporation +CoreType=LPM +CoreStatus=Demo +CoreName=EFB +CoreRevision=1.2 +ModuleName=REFB +SourceFormat=Verilog HDL +ParameterFileVersion=1.0 +Date=08/19/2023 +Time=07:25:04 + +[Parameters] +Verilog=1 +VHDL=0 +EDIF=1 +Destination=Synplicity +Expression=BusA(0 to 7) +Order=Big Endian [MSB:LSB] +IO=0 +freq= +i2c1=0 +i2c1config=0 +i2c1_addr=7-Bit Addressing +i2c1_ce=0 +i2c1_freq=100 +i2c1_sa=10000 +i2c1_we=0 +i2c2=0 +i2c2_addr=7-Bit Addressing +i2c2_ce=0 +i2c2_freq=100 +i2c2_sa=10000 +i2c2_we=0 +ufm_addr=7-Bit Addressing +ufm_sa=10000 +pll=0 +pll_cnt=1 +spi=0 +spi_clkinv=0 +spi_cs=1 +spi_en=0 +spi_freq=1 +spi_lsb=0 +spi_mode=Slave +spi_ib=0 +spi_ph=0 +spi_hs=0 +spi_rxo=0 +spi_rxr=0 +spi_txo=0 +spi_txr=0 +spi_we=0 +static_tc=Static +tc=0 +tc_clkinv=Positive +tc_ctr=1 +tc_div=1 +tc_ipcap=0 +tc_mode=CTCM +tc_ocr=32767 +tc_oflow=1 +tc_o=TOGGLE +tc_opcomp=0 +tc_osc=0 +tc_sa_oflow=0 +tc_top=65535 +ufm=1 +ufm0=0 +ufm1=0 +ufm2=0 +ufm3=0 +ufm_cfg0=0 +ufm_cfg1=0 +wb_clk_freq=66.7 +ufm_usage=SHARED_EBR_TAG +ufm_ebr=190 +ufm_remain= +mem_size=1 +ufm_start= +ufm_init=mem +memfile=../RAM2GS-LCMXO2.mem +ufm_dt=hex +ufm0_ebr= +mem_size0=1 +ufm0_init=0 +memfile0= +ufm0_dt=hex +ufm1_ebr= +mem_size1=1 +ufm1_init=0 +memfile1= +ufm1_dt=hex +ufm2_ebr= +mem_size2=1 +ufm2_init=0 +memfile2= +ufm2_dt=hex +ufm3_ebr= +mem_size3=1 +ufm3_init=0 +memfile3= +ufm3_dt=hex +ufm_cfg0_ebr= +mem_size_cfg0=1 +ufm_cfg0_init=0 +memfile_cfg0= +ufm_cfg0_dt=hex +ufm_cfg1_ebr= +mem_size_cfg1=1 +ufm_cfg1_init=0 +memfile_cfg1= +ufm_cfg1_dt=hex +wb=1 +boot_option=Internal +efb_ufm=0 +boot_option_internal=Single Boot +internal_ufm0=0 +internal_ufm1=0 +efb_ufm_boot= +tamperdr=0 +t_pwd=0 +t_lockflash=0 +t_manmode=0 +t_jtagport=0 +t_sspiport=0 +t_sic2port=0 +t_wbport=0 +t_portlock=0 + +[Command] +cmd_line= -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 66.7 -ufm -ufm_ebr 190 -mem_size 1 -memfile ../RAM2GS-LCMXO2.mem -memformat hex -wb -dev 640 diff --git a/CPLD/LCMXO2-640HC/REFB.naf b/CPLD/LCMXO2-640HC/REFB.naf index bf6d243..5c239f5 100644 --- a/CPLD/LCMXO2-640HC/REFB.naf +++ b/CPLD/LCMXO2-640HC/REFB.naf @@ -1,31 +1,31 @@ -wb_clk_i i -wb_rst_i i -wb_cyc_i i -wb_stb_i i -wb_we_i i -wb_adr_i[7] i -wb_adr_i[6] i -wb_adr_i[5] i -wb_adr_i[4] i -wb_adr_i[3] i -wb_adr_i[2] i -wb_adr_i[1] i -wb_adr_i[0] i -wb_dat_i[7] i -wb_dat_i[6] i -wb_dat_i[5] i -wb_dat_i[4] i -wb_dat_i[3] i -wb_dat_i[2] i -wb_dat_i[1] i -wb_dat_i[0] i -wb_dat_o[7] o -wb_dat_o[6] o -wb_dat_o[5] o -wb_dat_o[4] o -wb_dat_o[3] o -wb_dat_o[2] o -wb_dat_o[1] o -wb_dat_o[0] o -wb_ack_o o -wbc_ufm_irq o +wb_clk_i i +wb_rst_i i +wb_cyc_i i +wb_stb_i i +wb_we_i i +wb_adr_i[7] i +wb_adr_i[6] i +wb_adr_i[5] i +wb_adr_i[4] i +wb_adr_i[3] i +wb_adr_i[2] i +wb_adr_i[1] i +wb_adr_i[0] i +wb_dat_i[7] i +wb_dat_i[6] i +wb_dat_i[5] i +wb_dat_i[4] i +wb_dat_i[3] i +wb_dat_i[2] i +wb_dat_i[1] i +wb_dat_i[0] i +wb_dat_o[7] o +wb_dat_o[6] o +wb_dat_o[5] o +wb_dat_o[4] o +wb_dat_o[3] o +wb_dat_o[2] o +wb_dat_o[1] o +wb_dat_o[0] o +wb_ack_o o +wbc_ufm_irq o diff --git a/CPLD/LCMXO2-640HC/REFB.sort b/CPLD/LCMXO2-640HC/REFB.sort index 794b751..96fe0d5 100644 --- a/CPLD/LCMXO2-640HC/REFB.sort +++ b/CPLD/LCMXO2-640HC/REFB.sort @@ -1 +1 @@ -REFB.v +REFB.v diff --git a/CPLD/LCMXO2-640HC/REFB.srp b/CPLD/LCMXO2-640HC/REFB.srp index 7dc4bd4..4cc652e 100644 --- a/CPLD/LCMXO2-640HC/REFB.srp +++ b/CPLD/LCMXO2-640HC/REFB.srp @@ -1,5 +1,5 @@ SCUBA, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 20:52:02 2023 +Sat Aug 19 07:25:04 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -7,7 +7,7 @@ Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - Issued command : C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 62.5 -ufm -ufm_ebr 190 -mem_size 1 -ufm_0 -wb -dev 640 + Issued command : C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 66.7 -ufm -ufm_ebr 190 -mem_size 1 -memfile ../RAM2GS-LCMXO2.mem -memformat hex -wb -dev 640 Circuit name : REFB Module type : efb Module Version : 1.2 diff --git a/CPLD/LCMXO2-640HC/REFB.v b/CPLD/LCMXO2-640HC/REFB.v index d9b5238..1b62001 100644 --- a/CPLD/LCMXO2-640HC/REFB.v +++ b/CPLD/LCMXO2-640HC/REFB.v @@ -1,7 +1,7 @@ /* Verilog netlist generated by SCUBA Diamond (64-bit) 3.12.1.454 */ /* Module Version: 1.2 */ -/* C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 62.5 -ufm -ufm_ebr 190 -mem_size 1 -ufm_0 -wb -dev 640 */ -/* Wed Aug 16 20:52:02 2023 */ +/* C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 66.7 -ufm -ufm_ebr 190 -mem_size 1 -memfile ../RAM2GS-LCMXO2.mem -memformat hex -wb -dev 640 */ +/* Sat Aug 19 07:25:04 2023 */ `timescale 1 ns / 1 ps @@ -26,8 +26,8 @@ module REFB (wb_clk_i, wb_rst_i, wb_cyc_i, wb_stb_i, wb_we_i, wb_adr_i, VLO scuba_vlo_inst (.Z(scuba_vlo)); defparam EFBInst_0.UFM_INIT_FILE_FORMAT = "HEX" ; - defparam EFBInst_0.UFM_INIT_FILE_NAME = "NONE" ; - defparam EFBInst_0.UFM_INIT_ALL_ZEROS = "ENABLED" ; + defparam EFBInst_0.UFM_INIT_FILE_NAME = "../RAM2GS-LCMXO2.mem" ; + defparam EFBInst_0.UFM_INIT_ALL_ZEROS = "DISABLED" ; defparam EFBInst_0.UFM_INIT_START_PAGE = 190 ; defparam EFBInst_0.UFM_INIT_PAGES = 1 ; defparam EFBInst_0.DEV_DENSITY = "640L" ; @@ -74,7 +74,7 @@ module REFB (wb_clk_i, wb_rst_i, wb_cyc_i, wb_stb_i, wb_we_i, wb_adr_i, defparam EFBInst_0.I2C1_SLAVE_ADDR = "0b1000001" ; defparam EFBInst_0.I2C1_ADDRESSING = "7BIT" ; defparam EFBInst_0.EFB_I2C1 = "DISABLED" ; - defparam EFBInst_0.EFB_WB_CLK_FREQ = "62.5" ; + defparam EFBInst_0.EFB_WB_CLK_FREQ = "66.7" ; EFB EFBInst_0 (.WBCLKI(wb_clk_i), .WBRSTI(wb_rst_i), .WBCYCI(wb_cyc_i), .WBSTBI(wb_stb_i), .WBWEI(wb_we_i), .WBADRI7(wb_adr_i[7]), .WBADRI6(wb_adr_i[6]), .WBADRI5(wb_adr_i[5]), .WBADRI4(wb_adr_i[4]), .WBADRI3(wb_adr_i[3]), diff --git a/CPLD/LCMXO2-640HC/REFB_generate.log b/CPLD/LCMXO2-640HC/REFB_generate.log index 7291f66..a85d4f2 100644 --- a/CPLD/LCMXO2-640HC/REFB_generate.log +++ b/CPLD/LCMXO2-640HC/REFB_generate.log @@ -1,44 +1,44 @@ -Starting process: Module - -Starting process: - -SCUBA, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 20:52:02 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -BEGIN SCUBA Module Synthesis - - Issued command : C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 62.5 -ufm -ufm_ebr 190 -mem_size 1 -ufm_0 -wb -dev 640 - Circuit name : REFB - Module type : efb - Module Version : 1.2 - Ports : - Inputs : wb_clk_i, wb_rst_i, wb_cyc_i, wb_stb_i, wb_we_i, wb_adr_i[7:0], wb_dat_i[7:0] - Outputs : wb_dat_o[7:0], wb_ack_o, wbc_ufm_irq - I/O buffer : not inserted - EDIF output : REFB.edn - Verilog output : REFB.v - Verilog template : REFB_tmpl.v - Verilog purpose : for synthesis and simulation - Bus notation : big endian - Report output : REFB.srp - Estimated Resource Usage: - -END SCUBA Module Synthesis - -File: REFB.lpc created. - - -End process: completed successfully. - - -Total Warnings: 0 - -Total Errors: 0 - - +Starting process: Module + +Starting process: + +SCUBA, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 07:25:04 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +BEGIN SCUBA Module Synthesis + + Issued command : C:\lscc\diamond\3.12\ispfpga\bin\nt64\scuba.exe -w -n REFB -lang verilog -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 66.7 -ufm -ufm_ebr 190 -mem_size 1 -memfile ../RAM2GS-LCMXO2.mem -memformat hex -wb -dev 640 + Circuit name : REFB + Module type : efb + Module Version : 1.2 + Ports : + Inputs : wb_clk_i, wb_rst_i, wb_cyc_i, wb_stb_i, wb_we_i, wb_adr_i[7:0], wb_dat_i[7:0] + Outputs : wb_dat_o[7:0], wb_ack_o, wbc_ufm_irq + I/O buffer : not inserted + EDIF output : REFB.edn + Verilog output : REFB.v + Verilog template : REFB_tmpl.v + Verilog purpose : for synthesis and simulation + Bus notation : big endian + Report output : REFB.srp + Estimated Resource Usage: + +END SCUBA Module Synthesis + +File: REFB.lpc created. + + +End process: completed successfully. + + +Total Warnings: 0 + +Total Errors: 0 + + diff --git a/CPLD/LCMXO2-640HC/REFB_tmpl.v b/CPLD/LCMXO2-640HC/REFB_tmpl.v index ac4a91c..97abc0c 100644 --- a/CPLD/LCMXO2-640HC/REFB_tmpl.v +++ b/CPLD/LCMXO2-640HC/REFB_tmpl.v @@ -1,6 +1,6 @@ /* Verilog module instantiation template generated by SCUBA Diamond (64-bit) 3.12.1.454 */ /* Module Version: 1.2 */ -/* Wed Aug 16 20:52:02 2023 */ +/* Sat Aug 19 07:25:04 2023 */ /* parameterized module instance */ REFB __ (.wb_clk_i( ), .wb_rst_i( ), .wb_cyc_i( ), .wb_stb_i( ), diff --git a/CPLD/LCMXO2-640HC/_math_real.vhd b/CPLD/LCMXO2-640HC/_math_real.vhd index ad185b2..e1215d8 100644 --- a/CPLD/LCMXO2-640HC/_math_real.vhd +++ b/CPLD/LCMXO2-640HC/_math_real.vhd @@ -1,2574 +1,2574 @@ - - ------------------------------------------------------------------------- --- --- Copyright 1996 by IEEE. All rights reserved. --- --- This source file is an essential part of IEEE Std 1076.2-1996, IEEE Standard --- VHDL Mathematical Packages. This source file may not be copied, sold, or --- included with software that is sold without written permission from the IEEE --- Standards Department. This source file may be used to implement this standard --- and may be distributed in compiled form in any manner so long as the --- compiled form does not allow direct decompilation of the original source file. --- This source file may be copied for individual use between licensed users. --- This source file is provided on an AS IS basis. The IEEE disclaims ANY --- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY --- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source --- file shall indemnify and hold IEEE harmless from any damages or liability --- arising out of the use thereof. --- --- Title: Standard VHDL Mathematical Packages (IEEE Std 1076.2-1996, --- MATH_REAL) --- --- Library: This package shall be compiled into a library --- symbolically named IEEE. --- --- Developers: IEEE DASC VHDL Mathematical Packages Working Group --- --- Purpose: This package defines a standard for designers to use in --- describing VHDL models that make use of common REAL constants --- and common REAL elementary mathematical functions. --- --- Limitation: The values generated by the functions in this package may --- vary from platform to platform, and the precision of results --- is only guaranteed to be the minimum required by IEEE Std 1076- --- 1993. --- --- Notes: --- No declarations or definitions shall be included in, or --- excluded from, this package. --- The "package declaration" defines the types, subtypes, and --- declarations of MATH_REAL. --- The standard mathematical definition and conventional meaning --- of the mathematical functions that are part of this standard --- represent the formal semantics of the implementation of the --- MATH_REAL package declaration. The purpose of the MATH_REAL --- package body is to provide a guideline for implementations to --- verify their implementation of MATH_REAL. Tool developers may --- choose to implement the package body in the most efficient --- manner available to them. --- --- ----------------------------------------------------------------------------- --- Version : 1.5 --- Date : 24 July 1996 --- ----------------------------------------------------------------------------- - -package MATH_REAL is - constant CopyRightNotice: STRING - := "Copyright 1996 IEEE. All rights reserved."; - - -- - -- Constant Definitions - -- - constant MATH_E : REAL := 2.71828_18284_59045_23536; - -- Value of e - constant MATH_1_OVER_E : REAL := 0.36787_94411_71442_32160; - -- Value of 1/e - constant MATH_PI : REAL := 3.14159_26535_89793_23846; - -- Value of pi - constant MATH_2_PI : REAL := 6.28318_53071_79586_47693; - -- Value of 2*pi - constant MATH_1_OVER_PI : REAL := 0.31830_98861_83790_67154; - -- Value of 1/pi - constant MATH_PI_OVER_2 : REAL := 1.57079_63267_94896_61923; - -- Value of pi/2 - constant MATH_PI_OVER_3 : REAL := 1.04719_75511_96597_74615; - -- Value of pi/3 - constant MATH_PI_OVER_4 : REAL := 0.78539_81633_97448_30962; - -- Value of pi/4 - constant MATH_3_PI_OVER_2 : REAL := 4.71238_89803_84689_85769; - -- Value 3*pi/2 - constant MATH_LOG_OF_2 : REAL := 0.69314_71805_59945_30942; - -- Natural log of 2 - constant MATH_LOG_OF_10 : REAL := 2.30258_50929_94045_68402; - -- Natural log of 10 - constant MATH_LOG2_OF_E : REAL := 1.44269_50408_88963_4074; - -- Log base 2 of e - constant MATH_LOG10_OF_E: REAL := 0.43429_44819_03251_82765; - -- Log base 10 of e - constant MATH_SQRT_2: REAL := 1.41421_35623_73095_04880; - -- square root of 2 - constant MATH_1_OVER_SQRT_2: REAL := 0.70710_67811_86547_52440; - -- square root of 1/2 - constant MATH_SQRT_PI: REAL := 1.77245_38509_05516_02730; - -- square root of pi - constant MATH_DEG_TO_RAD: REAL := 0.01745_32925_19943_29577; - -- Conversion factor from degree to radian - constant MATH_RAD_TO_DEG: REAL := 57.29577_95130_82320_87680; - -- Conversion factor from radian to degree - - -- - -- Function Declarations - -- - function SIGN (X: in REAL ) return REAL; - -- Purpose: - -- Returns 1.0 if X > 0.0; 0.0 if X = 0.0; -1.0 if X < 0.0 - -- Special values: - -- None - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- ABS(SIGN(X)) <= 1.0 - -- Notes: - -- None - - function CEIL (X : in REAL ) return REAL; - -- Purpose: - -- Returns smallest INTEGER value (as REAL) not less than X - -- Special values: - -- None - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- CEIL(X) is mathematically unbounded - -- Notes: - -- a) Implementations have to support at least the domain - -- ABS(X) < REAL(INTEGER'HIGH) - - function FLOOR (X : in REAL ) return REAL; - -- Purpose: - -- Returns largest INTEGER value (as REAL) not greater than X - -- Special values: - -- FLOOR(0.0) = 0.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- FLOOR(X) is mathematically unbounded - -- Notes: - -- a) Implementations have to support at least the domain - -- ABS(X) < REAL(INTEGER'HIGH) - - function ROUND (X : in REAL ) return REAL; - -- Purpose: - -- Rounds X to the nearest integer value (as real). If X is - -- halfway between two integers, rounding is away from 0.0 - -- Special values: - -- ROUND(0.0) = 0.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- ROUND(X) is mathematically unbounded - -- Notes: - -- a) Implementations have to support at least the domain - -- ABS(X) < REAL(INTEGER'HIGH) - - function TRUNC (X : in REAL ) return REAL; - -- Purpose: - -- Truncates X towards 0.0 and returns truncated value - -- Special values: - -- TRUNC(0.0) = 0.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- TRUNC(X) is mathematically unbounded - -- Notes: - -- a) Implementations have to support at least the domain - -- ABS(X) < REAL(INTEGER'HIGH) - - function "MOD" (X, Y: in REAL ) return REAL; - -- Purpose: - -- Returns floating point modulus of X/Y, with the same sign as - -- Y, and absolute value less than the absolute value of Y, and - -- for some INTEGER value N the result satisfies the relation - -- X = Y*N + MOD(X,Y) - -- Special values: - -- None - -- Domain: - -- X in REAL; Y in REAL and Y /= 0.0 - -- Error conditions: - -- Error if Y = 0.0 - -- Range: - -- ABS(MOD(X,Y)) < ABS(Y) - -- Notes: - -- None - - function REALMAX (X, Y : in REAL ) return REAL; - -- Purpose: - -- Returns the algebraically larger of X and Y - -- Special values: - -- REALMAX(X,Y) = X when X = Y - -- Domain: - -- X in REAL; Y in REAL - -- Error conditions: - -- None - -- Range: - -- REALMAX(X,Y) is mathematically unbounded - -- Notes: - -- None - - function REALMIN (X, Y : in REAL ) return REAL; - -- Purpose: - -- Returns the algebraically smaller of X and Y - -- Special values: - -- REALMIN(X,Y) = X when X = Y - -- Domain: - -- X in REAL; Y in REAL - -- Error conditions: - -- None - -- Range: - -- REALMIN(X,Y) is mathematically unbounded - -- Notes: - -- None - - procedure UNIFORM(variable SEED1,SEED2:inout POSITIVE; variable X:out REAL); - -- Purpose: - -- Returns, in X, a pseudo-random number with uniform - -- distribution in the open interval (0.0, 1.0). - -- Special values: - -- None - -- Domain: - -- 1 <= SEED1 <= 2147483562; 1 <= SEED2 <= 2147483398 - -- Error conditions: - -- Error if SEED1 or SEED2 outside of valid domain - -- Range: - -- 0.0 < X < 1.0 - -- Notes: - -- a) The semantics for this function are described by the - -- algorithm published by Pierre L'Ecuyer in "Communications - -- of the ACM," vol. 31, no. 6, June 1988, pp. 742-774. - -- The algorithm is based on the combination of two - -- multiplicative linear congruential generators for 32-bit - -- platforms. - -- - -- b) Before the first call to UNIFORM, the seed values - -- (SEED1, SEED2) have to be initialized to values in the range - -- [1, 2147483562] and [1, 2147483398] respectively. The - -- seed values are modified after each call to UNIFORM. - -- - -- c) This random number generator is portable for 32-bit - -- computers, and it has a period of ~2.30584*(10**18) for each - -- set of seed values. - -- - -- d) For information on spectral tests for the algorithm, refer - -- to the L'Ecuyer article. - - function SQRT (X : in REAL ) return REAL; - -- Purpose: - -- Returns square root of X - -- Special values: - -- SQRT(0.0) = 0.0 - -- SQRT(1.0) = 1.0 - -- Domain: - -- X >= 0.0 - -- Error conditions: - -- Error if X < 0.0 - -- Range: - -- SQRT(X) >= 0.0 - -- Notes: - -- a) The upper bound of the reachable range of SQRT is - -- approximately given by: - -- SQRT(X) <= SQRT(REAL'HIGH) - - function CBRT (X : in REAL ) return REAL; - -- Purpose: - -- Returns cube root of X - -- Special values: - -- CBRT(0.0) = 0.0 - -- CBRT(1.0) = 1.0 - -- CBRT(-1.0) = -1.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- CBRT(X) is mathematically unbounded - -- Notes: - -- a) The reachable range of CBRT is approximately given by: - -- ABS(CBRT(X)) <= CBRT(REAL'HIGH) - - function "**" (X : in INTEGER; Y : in REAL) return REAL; - -- Purpose: - -- Returns Y power of X ==> X**Y - -- Special values: - -- X**0.0 = 1.0; X /= 0 - -- 0**Y = 0.0; Y > 0.0 - -- X**1.0 = REAL(X); X >= 0 - -- 1**Y = 1.0 - -- Domain: - -- X > 0 - -- X = 0 for Y > 0.0 - -- X < 0 for Y = 0.0 - -- Error conditions: - -- Error if X < 0 and Y /= 0.0 - -- Error if X = 0 and Y <= 0.0 - -- Range: - -- X**Y >= 0.0 - -- Notes: - -- a) The upper bound of the reachable range for "**" is - -- approximately given by: - -- X**Y <= REAL'HIGH - - function "**" (X : in REAL; Y : in REAL) return REAL; - -- Purpose: - -- Returns Y power of X ==> X**Y - -- Special values: - -- X**0.0 = 1.0; X /= 0.0 - -- 0.0**Y = 0.0; Y > 0.0 - -- X**1.0 = X; X >= 0.0 - -- 1.0**Y = 1.0 - -- Domain: - -- X > 0.0 - -- X = 0.0 for Y > 0.0 - -- X < 0.0 for Y = 0.0 - -- Error conditions: - -- Error if X < 0.0 and Y /= 0.0 - -- Error if X = 0.0 and Y <= 0.0 - -- Range: - -- X**Y >= 0.0 - -- Notes: - -- a) The upper bound of the reachable range for "**" is - -- approximately given by: - -- X**Y <= REAL'HIGH - - function EXP (X : in REAL ) return REAL; - -- Purpose: - -- Returns e**X; where e = MATH_E - -- Special values: - -- EXP(0.0) = 1.0 - -- EXP(1.0) = MATH_E - -- EXP(-1.0) = MATH_1_OVER_E - -- EXP(X) = 0.0 for X <= -LOG(REAL'HIGH) - -- Domain: - -- X in REAL such that EXP(X) <= REAL'HIGH - -- Error conditions: - -- Error if X > LOG(REAL'HIGH) - -- Range: - -- EXP(X) >= 0.0 - -- Notes: - -- a) The usable domain of EXP is approximately given by: - -- X <= LOG(REAL'HIGH) - - function LOG (X : in REAL ) return REAL; - -- Purpose: - -- Returns natural logarithm of X - -- Special values: - -- LOG(1.0) = 0.0 - -- LOG(MATH_E) = 1.0 - -- Domain: - -- X > 0.0 - -- Error conditions: - -- Error if X <= 0.0 - -- Range: - -- LOG(X) is mathematically unbounded - -- Notes: - -- a) The reachable range of LOG is approximately given by: - -- LOG(0+) <= LOG(X) <= LOG(REAL'HIGH) - - function LOG2 (X : in REAL ) return REAL; - -- Purpose: - -- Returns logarithm base 2 of X - -- Special values: - -- LOG2(1.0) = 0.0 - -- LOG2(2.0) = 1.0 - -- Domain: - -- X > 0.0 - -- Error conditions: - -- Error if X <= 0.0 - -- Range: - -- LOG2(X) is mathematically unbounded - -- Notes: - -- a) The reachable range of LOG2 is approximately given by: - -- LOG2(0+) <= LOG2(X) <= LOG2(REAL'HIGH) - - function LOG10 (X : in REAL ) return REAL; - -- Purpose: - -- Returns logarithm base 10 of X - -- Special values: - -- LOG10(1.0) = 0.0 - -- LOG10(10.0) = 1.0 - -- Domain: - -- X > 0.0 - -- Error conditions: - -- Error if X <= 0.0 - -- Range: - -- LOG10(X) is mathematically unbounded - -- Notes: - -- a) The reachable range of LOG10 is approximately given by: - -- LOG10(0+) <= LOG10(X) <= LOG10(REAL'HIGH) - - function LOG (X: in REAL; BASE: in REAL) return REAL; - -- Purpose: - -- Returns logarithm base BASE of X - -- Special values: - -- LOG(1.0, BASE) = 0.0 - -- LOG(BASE, BASE) = 1.0 - -- Domain: - -- X > 0.0 - -- BASE > 0.0 - -- BASE /= 1.0 - -- Error conditions: - -- Error if X <= 0.0 - -- Error if BASE <= 0.0 - -- Error if BASE = 1.0 - -- Range: - -- LOG(X, BASE) is mathematically unbounded - -- Notes: - -- a) When BASE > 1.0, the reachable range of LOG is - -- approximately given by: - -- LOG(0+, BASE) <= LOG(X, BASE) <= LOG(REAL'HIGH, BASE) - -- b) When 0.0 < BASE < 1.0, the reachable range of LOG is - -- approximately given by: - -- LOG(REAL'HIGH, BASE) <= LOG(X, BASE) <= LOG(0+, BASE) - - function SIN (X : in REAL ) return REAL; - -- Purpose: - -- Returns sine of X; X in radians - -- Special values: - -- SIN(X) = 0.0 for X = k*MATH_PI, where k is an INTEGER - -- SIN(X) = 1.0 for X = (4*k+1)*MATH_PI_OVER_2, where k is an - -- INTEGER - -- SIN(X) = -1.0 for X = (4*k+3)*MATH_PI_OVER_2, where k is an - -- INTEGER - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- ABS(SIN(X)) <= 1.0 - -- Notes: - -- a) For larger values of ABS(X), degraded accuracy is allowed. - - function COS ( X : in REAL ) return REAL; - -- Purpose: - -- Returns cosine of X; X in radians - -- Special values: - -- COS(X) = 0.0 for X = (2*k+1)*MATH_PI_OVER_2, where k is an - -- INTEGER - -- COS(X) = 1.0 for X = (2*k)*MATH_PI, where k is an INTEGER - -- COS(X) = -1.0 for X = (2*k+1)*MATH_PI, where k is an INTEGER - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- ABS(COS(X)) <= 1.0 - -- Notes: - -- a) For larger values of ABS(X), degraded accuracy is allowed. - - function TAN (X : in REAL ) return REAL; - -- Purpose: - -- Returns tangent of X; X in radians - -- Special values: - -- TAN(X) = 0.0 for X = k*MATH_PI, where k is an INTEGER - -- Domain: - -- X in REAL and - -- X /= (2*k+1)*MATH_PI_OVER_2, where k is an INTEGER - -- Error conditions: - -- Error if X = ((2*k+1) * MATH_PI_OVER_2), where k is an - -- INTEGER - -- Range: - -- TAN(X) is mathematically unbounded - -- Notes: - -- a) For larger values of ABS(X), degraded accuracy is allowed. - - function ARCSIN (X : in REAL ) return REAL; - -- Purpose: - -- Returns inverse sine of X - -- Special values: - -- ARCSIN(0.0) = 0.0 - -- ARCSIN(1.0) = MATH_PI_OVER_2 - -- ARCSIN(-1.0) = -MATH_PI_OVER_2 - -- Domain: - -- ABS(X) <= 1.0 - -- Error conditions: - -- Error if ABS(X) > 1.0 - -- Range: - -- ABS(ARCSIN(X) <= MATH_PI_OVER_2 - -- Notes: - -- None - - function ARCCOS (X : in REAL ) return REAL; - -- Purpose: - -- Returns inverse cosine of X - -- Special values: - -- ARCCOS(1.0) = 0.0 - -- ARCCOS(0.0) = MATH_PI_OVER_2 - -- ARCCOS(-1.0) = MATH_PI - -- Domain: - -- ABS(X) <= 1.0 - -- Error conditions: - -- Error if ABS(X) > 1.0 - -- Range: - -- 0.0 <= ARCCOS(X) <= MATH_PI - -- Notes: - -- None - - function ARCTAN (Y : in REAL) return REAL; - -- Purpose: - -- Returns the value of the angle in radians of the point - -- (1.0, Y), which is in rectangular coordinates - -- Special values: - -- ARCTAN(0.0) = 0.0 - -- Domain: - -- Y in REAL - -- Error conditions: - -- None - -- Range: - -- ABS(ARCTAN(Y)) <= MATH_PI_OVER_2 - -- Notes: - -- None - - function ARCTAN (Y : in REAL; X : in REAL) return REAL; - -- Purpose: - -- Returns the principal value of the angle in radians of - -- the point (X, Y), which is in rectangular coordinates - -- Special values: - -- ARCTAN(0.0, X) = 0.0 if X > 0.0 - -- ARCTAN(0.0, X) = MATH_PI if X < 0.0 - -- ARCTAN(Y, 0.0) = MATH_PI_OVER_2 if Y > 0.0 - -- ARCTAN(Y, 0.0) = -MATH_PI_OVER_2 if Y < 0.0 - -- Domain: - -- Y in REAL - -- X in REAL, X /= 0.0 when Y = 0.0 - -- Error conditions: - -- Error if X = 0.0 and Y = 0.0 - -- Range: - -- -MATH_PI < ARCTAN(Y,X) <= MATH_PI - -- Notes: - -- None - - function SINH (X : in REAL) return REAL; - -- Purpose: - -- Returns hyperbolic sine of X - -- Special values: - -- SINH(0.0) = 0.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- SINH(X) is mathematically unbounded - -- Notes: - -- a) The usable domain of SINH is approximately given by: - -- ABS(X) <= LOG(REAL'HIGH) - - - function COSH (X : in REAL) return REAL; - -- Purpose: - -- Returns hyperbolic cosine of X - -- Special values: - -- COSH(0.0) = 1.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- COSH(X) >= 1.0 - -- Notes: - -- a) The usable domain of COSH is approximately given by: - -- ABS(X) <= LOG(REAL'HIGH) - - function TANH (X : in REAL) return REAL; - -- Purpose: - -- Returns hyperbolic tangent of X - -- Special values: - -- TANH(0.0) = 0.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- ABS(TANH(X)) <= 1.0 - -- Notes: - -- None - - function ARCSINH (X : in REAL) return REAL; - -- Purpose: - -- Returns inverse hyperbolic sine of X - -- Special values: - -- ARCSINH(0.0) = 0.0 - -- Domain: - -- X in REAL - -- Error conditions: - -- None - -- Range: - -- ARCSINH(X) is mathematically unbounded - -- Notes: - -- a) The reachable range of ARCSINH is approximately given by: - -- ABS(ARCSINH(X)) <= LOG(REAL'HIGH) - - function ARCCOSH (X : in REAL) return REAL; - -- Purpose: - -- Returns inverse hyperbolic cosine of X - -- Special values: - -- ARCCOSH(1.0) = 0.0 - -- Domain: - -- X >= 1.0 - -- Error conditions: - -- Error if X < 1.0 - -- Range: - -- ARCCOSH(X) >= 0.0 - -- Notes: - -- a) The upper bound of the reachable range of ARCCOSH is - -- approximately given by: ARCCOSH(X) <= LOG(REAL'HIGH) - - function ARCTANH (X : in REAL) return REAL; - -- Purpose: - -- Returns inverse hyperbolic tangent of X - -- Special values: - -- ARCTANH(0.0) = 0.0 - -- Domain: - -- ABS(X) < 1.0 - -- Error conditions: - -- Error if ABS(X) >= 1.0 - -- Range: - -- ARCTANH(X) is mathematically unbounded - -- Notes: - -- a) The reachable range of ARCTANH is approximately given by: - -- ABS(ARCTANH(X)) < LOG(REAL'HIGH) - -end MATH_REAL; - - - ------------------------------------------------------------------------- --- --- Copyright 1996 by IEEE. All rights reserved. - --- This source file is an informative part of IEEE Std 1076.2-1996, IEEE Standard --- VHDL Mathematical Packages. This source file may not be copied, sold, or --- included with software that is sold without written permission from the IEEE --- Standards Department. This source file may be used to implement this standard --- and may be distributed in compiled form in any manner so long as the --- compiled form does not allow direct decompilation of the original source file. --- This source file may be copied for individual use between licensed users. --- This source file is provided on an AS IS basis. The IEEE disclaims ANY --- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY --- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source --- file shall indemnify and hold IEEE harmless from any damages or liability --- arising out of the use thereof. - --- --- Title: Standard VHDL Mathematical Packages (IEEE Std 1076.2-1996, --- MATH_REAL) --- --- Library: This package shall be compiled into a library --- symbolically named IEEE. --- --- Developers: IEEE DASC VHDL Mathematical Packages Working Group --- --- Purpose: This package body is a nonnormative implementation of the --- functionality defined in the MATH_REAL package declaration. --- --- Limitation: The values generated by the functions in this package may --- vary from platform to platform, and the precision of results --- is only guaranteed to be the minimum required by IEEE Std 1076 --- -1993. --- --- Notes: --- The "package declaration" defines the types, subtypes, and --- declarations of MATH_REAL. --- The standard mathematical definition and conventional meaning --- of the mathematical functions that are part of this standard --- represent the formal semantics of the implementation of the --- MATH_REAL package declaration. The purpose of the MATH_REAL --- package body is to clarify such semantics and provide a --- guideline for implementations to verify their implementation --- of MATH_REAL. Tool developers may choose to implement --- the package body in the most efficient manner available to them. --- --- ----------------------------------------------------------------------------- --- Version : 1.5 --- Date : 24 July 1996 --- ----------------------------------------------------------------------------- - -package body MATH_REAL is - - -- - -- Local Constants for Use in the Package Body Only - -- - constant MATH_E_P2 : REAL := 7.38905_60989_30650; -- e**2 - constant MATH_E_P10 : REAL := 22026.46579_48067_17; -- e**10 - constant MATH_EIGHT_PI : REAL := 25.13274_12287_18345_90770_115; --8*pi - constant MAX_ITER: INTEGER := 27; -- Maximum precision factor for cordic - constant MAX_COUNT: INTEGER := 150; -- Maximum count for number of tries - constant BASE_EPS: REAL := 0.00001; -- Factor for convergence criteria - constant KC : REAL := 6.0725293500888142e-01; -- Constant for cordic - - -- - -- Local Type Declarations for Cordic Operations - -- - type REAL_VECTOR is array (NATURAL range <>) of REAL; - type NATURAL_VECTOR is array (NATURAL range <>) of NATURAL; - subtype REAL_VECTOR_N is REAL_VECTOR (0 to MAX_ITER); - subtype REAL_ARR_2 is REAL_VECTOR (0 to 1); - subtype REAL_ARR_3 is REAL_VECTOR (0 to 2); - subtype QUADRANT is INTEGER range 0 to 3; - type CORDIC_MODE_TYPE is (ROTATION, VECTORING); - - -- - -- Auxiliary Functions for Cordic Algorithms - -- - function POWER_OF_2_SERIES (D : in NATURAL_VECTOR; INITIAL_VALUE : in REAL; - NUMBER_OF_VALUES : in NATURAL) return REAL_VECTOR is - -- Description: - -- Returns power of two for a vector of values - -- Notes: - -- None - -- - variable V : REAL_VECTOR (0 to NUMBER_OF_VALUES); - variable TEMP : REAL := INITIAL_VALUE; - variable FLAG : BOOLEAN := TRUE; - begin - for I in 0 to NUMBER_OF_VALUES loop - V(I) := TEMP; - for P in D'RANGE loop - if I = D(P) then - FLAG := FALSE; - exit; - end if; - end loop; - if FLAG then - TEMP := TEMP/2.0; - end if; - FLAG := TRUE; - end loop; - return V; - end POWER_OF_2_SERIES; - - - constant TWO_AT_MINUS : REAL_VECTOR := POWER_OF_2_SERIES( - NATURAL_VECTOR'(100, 90),1.0, - MAX_ITER); - - constant EPSILON : REAL_VECTOR_N := ( - 7.8539816339744827e-01, - 4.6364760900080606e-01, - 2.4497866312686413e-01, - 1.2435499454676144e-01, - 6.2418809995957351e-02, - 3.1239833430268277e-02, - 1.5623728620476830e-02, - 7.8123410601011116e-03, - 3.9062301319669717e-03, - 1.9531225164788189e-03, - 9.7656218955931937e-04, - 4.8828121119489829e-04, - 2.4414062014936175e-04, - 1.2207031189367021e-04, - 6.1035156174208768e-05, - 3.0517578115526093e-05, - 1.5258789061315760e-05, - 7.6293945311019699e-06, - 3.8146972656064960e-06, - 1.9073486328101870e-06, - 9.5367431640596080e-07, - 4.7683715820308876e-07, - 2.3841857910155801e-07, - 1.1920928955078067e-07, - 5.9604644775390553e-08, - 2.9802322387695303e-08, - 1.4901161193847654e-08, - 7.4505805969238281e-09 - ); - - function CORDIC ( X0 : in REAL; - Y0 : in REAL; - Z0 : in REAL; - N : in NATURAL; -- Precision factor - CORDIC_MODE : in CORDIC_MODE_TYPE -- Rotation (Z -> 0) - -- or vectoring (Y -> 0) - ) return REAL_ARR_3 is - -- Description: - -- Compute cordic values - -- Notes: - -- None - variable X : REAL := X0; - variable Y : REAL := Y0; - variable Z : REAL := Z0; - variable X_TEMP : REAL; - begin - if CORDIC_MODE = ROTATION then - for K in 0 to N loop - X_TEMP := X; - if ( Z >= 0.0) then - X := X - Y * TWO_AT_MINUS(K); - Y := Y + X_TEMP * TWO_AT_MINUS(K); - Z := Z - EPSILON(K); - else - X := X + Y * TWO_AT_MINUS(K); - Y := Y - X_TEMP * TWO_AT_MINUS(K); - Z := Z + EPSILON(K); - end if; - end loop; - else - for K in 0 to N loop - X_TEMP := X; - if ( Y < 0.0) then - X := X - Y * TWO_AT_MINUS(K); - Y := Y + X_TEMP * TWO_AT_MINUS(K); - Z := Z - EPSILON(K); - else - X := X + Y * TWO_AT_MINUS(K); - Y := Y - X_TEMP * TWO_AT_MINUS(K); - Z := Z + EPSILON(K); - end if; - end loop; - end if; - return REAL_ARR_3'(X, Y, Z); - end CORDIC; - - -- - -- Bodies for Global Mathematical Functions Start Here - -- - function SIGN (X: in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- None - begin - if ( X > 0.0 ) then - return 1.0; - elsif ( X < 0.0 ) then - return -1.0; - else - return 0.0; - end if; - end SIGN; - - function CEIL (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) No conversion to an INTEGER type is expected, so truncate - -- cannot overflow for large arguments - -- b) The domain supported by this function is X <= LARGE - -- c) Returns X if ABS(X) >= LARGE - - constant LARGE: REAL := REAL(INTEGER'HIGH); - variable RD: REAL; - - begin - if ABS(X) >= LARGE then - return X; - end if; - - RD := REAL ( INTEGER(X)); - if RD = X then - return X; - end if; - - if X > 0.0 then - if RD >= X then - return RD; - else - return RD + 1.0; - end if; - elsif X = 0.0 then - return 0.0; - else - if RD <= X then - return RD + 1.0; - else - return RD; - end if; - end if; - end CEIL; - - function FLOOR (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) No conversion to an INTEGER type is expected, so truncate - -- cannot overflow for large arguments - -- b) The domain supported by this function is ABS(X) <= LARGE - -- c) Returns X if ABS(X) >= LARGE - - constant LARGE: REAL := REAL(INTEGER'HIGH); - variable RD: REAL; - - begin - if ABS( X ) >= LARGE then - return X; - end if; - - RD := REAL ( INTEGER(X)); - if RD = X then - return X; - end if; - - if X > 0.0 then - if RD <= X then - return RD; - else - return RD - 1.0; - end if; - elsif X = 0.0 then - return 0.0; - else - if RD >= X then - return RD - 1.0; - else - return RD; - end if; - end if; - end FLOOR; - - function ROUND (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 if X = 0.0 - -- b) Returns FLOOR(X + 0.5) if X > 0 - -- c) Returns CEIL(X - 0.5) if X < 0 - - begin - if X > 0.0 then - return FLOOR(X + 0.5); - elsif X < 0.0 then - return CEIL( X - 0.5); - else - return 0.0; - end if; - end ROUND; - - function TRUNC (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 if X = 0.0 - -- b) Returns FLOOR(X) if X > 0 - -- c) Returns CEIL(X) if X < 0 - - begin - if X > 0.0 then - return FLOOR(X); - elsif X < 0.0 then - return CEIL( X); - else - return 0.0; - end if; - end TRUNC; - - - - - function "MOD" (X, Y: in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 on error - - variable XNEGATIVE : BOOLEAN := X < 0.0; - variable YNEGATIVE : BOOLEAN := Y < 0.0; - variable VALUE : REAL; - begin - -- Check validity of input arguments - if (Y = 0.0) then - assert FALSE - report "MOD(X, 0.0) is undefined" - severity ERROR; - return 0.0; - end if; - - -- Compute value - if ( XNEGATIVE ) then - if ( YNEGATIVE ) then - VALUE := X + (FLOOR(ABS(X)/ABS(Y)))*ABS(Y); - else - VALUE := X + (CEIL(ABS(X)/ABS(Y)))*ABS(Y); - end if; - else - if ( YNEGATIVE ) then - VALUE := X - (CEIL(ABS(X)/ABS(Y)))*ABS(Y); - else - VALUE := X - (FLOOR(ABS(X)/ABS(Y)))*ABS(Y); - end if; - end if; - - return VALUE; - end "MOD"; - - - function REALMAX (X, Y : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) REALMAX(X,Y) = X when X = Y - -- - begin - if X >= Y then - return X; - else - return Y; - end if; - end REALMAX; - - function REALMIN (X, Y : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) REALMIN(X,Y) = X when X = Y - -- - begin - if X <= Y then - return X; - else - return Y; - end if; - end REALMIN; - - - procedure UNIFORM(variable SEED1,SEED2:inout POSITIVE;variable X:out REAL) - is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 on error - -- - variable Z, K: INTEGER; - variable TSEED1 : INTEGER := INTEGER'(SEED1); - variable TSEED2 : INTEGER := INTEGER'(SEED2); - begin - -- Check validity of arguments - if SEED1 > 2147483562 then - assert FALSE - report "SEED1 > 2147483562 in UNIFORM" - severity ERROR; - X := 0.0; - return; - end if; - - if SEED2 > 2147483398 then - assert FALSE - report "SEED2 > 2147483398 in UNIFORM" - severity ERROR; - X := 0.0; - return; - end if; - - -- Compute new seed values and pseudo-random number - K := TSEED1/53668; - TSEED1 := 40014 * (TSEED1 - K * 53668) - K * 12211; - - if TSEED1 < 0 then - TSEED1 := TSEED1 + 2147483563; - end if; - - K := TSEED2/52774; - TSEED2 := 40692 * (TSEED2 - K * 52774) - K * 3791; - - if TSEED2 < 0 then - TSEED2 := TSEED2 + 2147483399; - end if; - - Z := TSEED1 - TSEED2; - if Z < 1 then - Z := Z + 2147483562; - end if; - - -- Get output values - SEED1 := POSITIVE'(TSEED1); - SEED2 := POSITIVE'(TSEED2); - X := REAL(Z)*4.656613e-10; - end UNIFORM; - - - - function SQRT (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Uses the Newton-Raphson approximation: - -- F(n+1) = 0.5*[F(n) + x/F(n)] - -- b) Returns 0.0 on error - -- - - constant EPS : REAL := BASE_EPS*BASE_EPS; -- Convergence factor - - variable INIVAL: REAL; - variable OLDVAL : REAL ; - variable NEWVAL : REAL ; - variable COUNT : INTEGER := 1; - - begin - -- Check validity of argument - if ( X < 0.0 ) then - assert FALSE - report "X < 0.0 in SQRT(X)" - severity ERROR; - return 0.0; - end if; - - -- Get the square root for special cases - if X = 0.0 then - return 0.0; - else - if ( X = 1.0 ) then - return 1.0; - end if; - end if; - - -- Get the square root for general cases - INIVAL := EXP(LOG(X)*(0.5)); -- Mathematically correct but imprecise - OLDVAL := INIVAL; - NEWVAL := (X/OLDVAL + OLDVAL)*0.5; - - -- Check for relative and absolute error and max count - while ( ( (ABS((NEWVAL -OLDVAL)/NEWVAL) > EPS) OR - (ABS(NEWVAL - OLDVAL) > EPS) ) AND - (COUNT < MAX_COUNT) ) loop - OLDVAL := NEWVAL; - NEWVAL := (X/OLDVAL + OLDVAL)*0.5; - COUNT := COUNT + 1; - end loop; - return NEWVAL; - end SQRT; - - function CBRT (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Uses the Newton-Raphson approximation: - -- F(n+1) = (1/3)*[2*F(n) + x/F(n)**2]; - -- - constant EPS : REAL := BASE_EPS*BASE_EPS; - - variable INIVAL: REAL; - variable XLOCAL : REAL := X; - variable NEGATIVE : BOOLEAN := X < 0.0; - variable OLDVAL : REAL ; - variable NEWVAL : REAL ; - variable COUNT : INTEGER := 1; - - begin - - -- Compute root for special cases - if X = 0.0 then - return 0.0; - elsif ( X = 1.0 ) then - return 1.0; - else - if X = -1.0 then - return -1.0; - end if; - end if; - - -- Compute root for general cases - if NEGATIVE then - XLOCAL := -X; - end if; - - INIVAL := EXP(LOG(XLOCAL)/(3.0)); -- Mathematically correct but - -- imprecise - OLDVAL := INIVAL; - NEWVAL := (XLOCAL/(OLDVAL*OLDVAL) + 2.0*OLDVAL)/3.0; - - -- Check for relative and absolute errors and max count - while ( ( (ABS((NEWVAL -OLDVAL)/NEWVAL) > EPS ) OR - (ABS(NEWVAL - OLDVAL) > EPS ) ) AND - ( COUNT < MAX_COUNT ) ) loop - OLDVAL := NEWVAL; - NEWVAL :=(XLOCAL/(OLDVAL*OLDVAL) + 2.0*OLDVAL)/3.0; - COUNT := COUNT + 1; - end loop; - - if NEGATIVE then - NEWVAL := -NEWVAL; - end if; - - return NEWVAL; - end CBRT; - - function "**" (X : in INTEGER; Y : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 on error condition - - begin - -- Check validity of argument - if ( ( X < 0 ) and ( Y /= 0.0 ) ) then - assert FALSE - report "X < 0 and Y /= 0.0 in X**Y" - severity ERROR; - return 0.0; - end if; - - if ( ( X = 0 ) and ( Y <= 0.0 ) ) then - assert FALSE - report "X = 0 and Y <= 0.0 in X**Y" - severity ERROR; - return 0.0; - end if; - - -- Get value for special cases - if ( X = 0 and Y > 0.0 ) then - return 0.0; - end if; - - if ( X = 1 ) then - return 1.0; - end if; - - if ( Y = 0.0 and X /= 0 ) then - return 1.0; - end if; - - if ( Y = 1.0) then - return (REAL(X)); - end if; - - -- Get value for general case - return EXP (Y * LOG (REAL(X))); - end "**"; - - function "**" (X : in REAL; Y : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 on error condition - - begin - -- Check validity of argument - if ( ( X < 0.0 ) and ( Y /= 0.0 ) ) then - assert FALSE - report "X < 0.0 and Y /= 0.0 in X**Y" - severity ERROR; - return 0.0; - end if; - - if ( ( X = 0.0 ) and ( Y <= 0.0 ) ) then - assert FALSE - report "X = 0.0 and Y <= 0.0 in X**Y" - severity ERROR; - return 0.0; - end if; - - -- Get value for special cases - if ( X = 0.0 and Y > 0.0 ) then - return 0.0; - end if; - - if ( X = 1.0 ) then - return 1.0; - end if; - - if ( Y = 0.0 and X /= 0.0 ) then - return 1.0; - end if; - - if ( Y = 1.0) then - return (X); - end if; - - -- Get value for general case - return EXP (Y * LOG (X)); - end "**"; - - function EXP (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) This function computes the exponential using the following - -- series: - -- exp(x) = 1 + x + x**2/2! + x**3/3! + ... ; |x| < 1.0 - -- and reduces argument X to take advantage of exp(x+y) = - -- exp(x)*exp(y) - -- - -- b) This implementation limits X to be less than LOG(REAL'HIGH) - -- to avoid overflow. Returns REAL'HIGH when X reaches that - -- limit - -- - constant EPS : REAL := BASE_EPS*BASE_EPS*BASE_EPS;-- Precision criteria - - variable RECIPROCAL: BOOLEAN := X < 0.0;-- Check sign of argument - variable XLOCAL : REAL := ABS(X); -- Use positive value - variable OLDVAL: REAL ; - variable COUNT: INTEGER ; - variable NEWVAL: REAL ; - variable LAST_TERM: REAL ; - variable FACTOR : REAL := 1.0; - - begin - -- Compute value for special cases - if X = 0.0 then - return 1.0; - end if; - - if XLOCAL = 1.0 then - if RECIPROCAL then - return MATH_1_OVER_E; - else - return MATH_E; - end if; - end if; - - if XLOCAL = 2.0 then - if RECIPROCAL then - return 1.0/MATH_E_P2; - else - return MATH_E_P2; - end if; - end if; - - if XLOCAL = 10.0 then - if RECIPROCAL then - return 1.0/MATH_E_P10; - else - return MATH_E_P10; - end if; - end if; - - if XLOCAL > LOG(REAL'HIGH) then - if RECIPROCAL then - return 0.0; - else - assert FALSE - report "X > LOG(REAL'HIGH) in EXP(X)" - severity NOTE; - return REAL'HIGH; - end if; - end if; - - -- Reduce argument to ABS(X) < 1.0 - while XLOCAL > 10.0 loop - XLOCAL := XLOCAL - 10.0; - FACTOR := FACTOR*MATH_E_P10; - end loop; - - while XLOCAL > 1.0 loop - XLOCAL := XLOCAL - 1.0; - FACTOR := FACTOR*MATH_E; - end loop; - - -- Compute value for case 0 < XLOCAL < 1 - OLDVAL := 1.0; - LAST_TERM := XLOCAL; - NEWVAL:= OLDVAL + LAST_TERM; - COUNT := 2; - - -- Check for relative and absolute errors and max count - while ( ( (ABS((NEWVAL - OLDVAL)/NEWVAL) > EPS) OR - (ABS(NEWVAL - OLDVAL) > EPS) ) AND - (COUNT < MAX_COUNT ) ) loop - OLDVAL := NEWVAL; - LAST_TERM := LAST_TERM*(XLOCAL / (REAL(COUNT))); - NEWVAL := OLDVAL + LAST_TERM; - COUNT := COUNT + 1; - end loop; - - -- Compute final value using exp(x+y) = exp(x)*exp(y) - NEWVAL := NEWVAL*FACTOR; - - if RECIPROCAL then - NEWVAL := 1.0/NEWVAL; - end if; - - return NEWVAL; - end EXP; - - - -- - -- Auxiliary Functions to Compute LOG - -- - function ILOGB(X: in REAL) return INTEGER IS - -- Description: - -- Returns n such that -1 <= ABS(X)/2^n < 2 - -- Notes: - -- None - - variable N: INTEGER := 0; - variable Y: REAL := ABS(X); - - begin - if(Y = 1.0 or Y = 0.0) then - return 0; - end if; - - if( Y > 1.0) then - while Y >= 2.0 loop - Y := Y/2.0; - N := N+1; - end loop; - return N; - end if; - - -- O < Y < 1 - while Y < 1.0 loop - Y := Y*2.0; - N := N -1; - end loop; - return N; - end ILOGB; - - function LDEXP(X: in REAL; N: in INTEGER) RETURN REAL IS - -- Description: - -- Returns X*2^n - -- Notes: - -- None - begin - return X*(2.0 ** N); - end LDEXP; - - function LOG (X : in REAL ) return REAL IS - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- - -- Notes: - -- a) Returns REAL'LOW on error - -- - -- Copyright (c) 1992 Regents of the University of California. - -- All rights reserved. - -- - -- Redistribution and use in source and binary forms, with or without - -- modification, are permitted provided that the following conditions - -- are met: - -- 1. Redistributions of source code must retain the above copyright - -- notice, this list of conditions and the following disclaimer. - -- 2. Redistributions in binary form must reproduce the above copyright - -- notice, this list of conditions and the following disclaimer in the - -- documentation and/or other materials provided with the distribution. - -- 3. All advertising materials mentioning features or use of this - -- software must display the following acknowledgement: - -- This product includes software developed by the University of - -- California, Berkeley and its contributors. - -- 4. Neither the name of the University nor the names of its - -- contributors may be used to endorse or promote products derived - -- from this software without specific prior written permission. - -- - -- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' - -- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - -- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - -- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR - -- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - -- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - -- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - -- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - -- OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - -- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - -- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - -- DAMAGE. - -- - -- NOTE: This VHDL version was generated using the C version of the - -- original function by the IEEE VHDL Mathematical Package - -- Working Group (CS/JT) - - constant N: INTEGER := 128; - - -- Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128. - -- Used for generation of extend precision logarithms. - -- The constant 35184372088832 is 2^45, so the divide is exact. - -- It ensures correct reading of logF_head, even for inaccurate - -- decimal-to-binary conversion routines. (Everybody gets the - -- right answer for INTEGERs less than 2^53.) - -- Values for LOG(F) were generated using error < 10^-57 absolute - -- with the bc -l package. - - type REAL_VECTOR is array (NATURAL range <>) of REAL; - - constant A1:REAL := 0.08333333333333178827; - constant A2:REAL := 0.01250000000377174923; - constant A3:REAL := 0.002232139987919447809; - constant A4:REAL := 0.0004348877777076145742; - - constant LOGF_HEAD: REAL_VECTOR(0 TO N) := ( - 0.0, - 0.007782140442060381246, - 0.015504186535963526694, - 0.023167059281547608406, - 0.030771658666765233647, - 0.038318864302141264488, - 0.045809536031242714670, - 0.053244514518837604555, - 0.060624621816486978786, - 0.067950661908525944454, - 0.075223421237524235039, - 0.082443669210988446138, - 0.089612158689760690322, - 0.096729626458454731618, - 0.103796793681567578460, - 0.110814366340264314203, - 0.117783035656430001836, - 0.124703478501032805070, - 0.131576357788617315236, - 0.138402322859292326029, - 0.145182009844575077295, - 0.151916042025732167530, - 0.158605030176659056451, - 0.165249572895390883786, - 0.171850256926518341060, - 0.178407657472689606947, - 0.184922338493834104156, - 0.191394852999565046047, - 0.197825743329758552135, - 0.204215541428766300668, - 0.210564769107350002741, - 0.216873938300523150246, - 0.223143551314024080056, - 0.229374101064877322642, - 0.235566071312860003672, - 0.241719936886966024758, - 0.247836163904594286577, - 0.253915209980732470285, - 0.259957524436686071567, - 0.265963548496984003577, - 0.271933715484010463114, - 0.277868451003087102435, - 0.283768173130738432519, - 0.289633292582948342896, - 0.295464212893421063199, - 0.301261330578199704177, - 0.307025035294827830512, - 0.312755710004239517729, - 0.318453731118097493890, - 0.324119468654316733591, - 0.329753286372579168528, - 0.335355541920762334484, - 0.340926586970454081892, - 0.346466767346100823488, - 0.351976423156884266063, - 0.357455888922231679316, - 0.362905493689140712376, - 0.368325561158599157352, - 0.373716409793814818840, - 0.379078352934811846353, - 0.384411698910298582632, - 0.389716751140440464951, - 0.394993808240542421117, - 0.400243164127459749579, - 0.405465108107819105498, - 0.410659924985338875558, - 0.415827895143593195825, - 0.420969294644237379543, - 0.426084395310681429691, - 0.431173464818130014464, - 0.436236766774527495726, - 0.441274560805140936281, - 0.446287102628048160113, - 0.451274644139630254358, - 0.456237433481874177232, - 0.461175715122408291790, - 0.466089729924533457960, - 0.470979715219073113985, - 0.475845904869856894947, - 0.480688529345570714212, - 0.485507815781602403149, - 0.490303988045525329653, - 0.495077266798034543171, - 0.499827869556611403822, - 0.504556010751912253908, - 0.509261901790523552335, - 0.513945751101346104405, - 0.518607764208354637958, - 0.523248143765158602036, - 0.527867089620485785417, - 0.532464798869114019908, - 0.537041465897345915436, - 0.541597282432121573947, - 0.546132437597407260909, - 0.550647117952394182793, - 0.555141507540611200965, - 0.559615787935399566777, - 0.564070138285387656651, - 0.568504735352689749561, - 0.572919753562018740922, - 0.577315365035246941260, - 0.581691739635061821900, - 0.586049045003164792433, - 0.590387446602107957005, - 0.594707107746216934174, - 0.599008189645246602594, - 0.603290851438941899687, - 0.607555250224322662688, - 0.611801541106615331955, - 0.616029877215623855590, - 0.620240409751204424537, - 0.624433288012369303032, - 0.628608659422752680256, - 0.632766669570628437213, - 0.636907462236194987781, - 0.641031179420679109171, - 0.645137961373620782978, - 0.649227946625615004450, - 0.653301272011958644725, - 0.657358072709030238911, - 0.661398482245203922502, - 0.665422632544505177065, - 0.669430653942981734871, - 0.673422675212350441142, - 0.677398823590920073911, - 0.681359224807238206267, - 0.685304003098281100392, - 0.689233281238557538017, - 0.693147180560117703862); - - constant LOGF_TAIL: REAL_VECTOR(0 TO N) := ( - 0.0, - -0.00000000000000543229938420049, - 0.00000000000000172745674997061, - -0.00000000000001323017818229233, - -0.00000000000001154527628289872, - -0.00000000000000466529469958300, - 0.00000000000005148849572685810, - -0.00000000000002532168943117445, - -0.00000000000005213620639136504, - -0.00000000000001819506003016881, - 0.00000000000006329065958724544, - 0.00000000000008614512936087814, - -0.00000000000007355770219435028, - 0.00000000000009638067658552277, - 0.00000000000007598636597194141, - 0.00000000000002579999128306990, - -0.00000000000004654729747598444, - -0.00000000000007556920687451336, - 0.00000000000010195735223708472, - -0.00000000000017319034406422306, - -0.00000000000007718001336828098, - 0.00000000000010980754099855238, - -0.00000000000002047235780046195, - -0.00000000000008372091099235912, - 0.00000000000014088127937111135, - 0.00000000000012869017157588257, - 0.00000000000017788850778198106, - 0.00000000000006440856150696891, - 0.00000000000016132822667240822, - -0.00000000000007540916511956188, - -0.00000000000000036507188831790, - 0.00000000000009120937249914984, - 0.00000000000018567570959796010, - -0.00000000000003149265065191483, - -0.00000000000009309459495196889, - 0.00000000000017914338601329117, - -0.00000000000001302979717330866, - 0.00000000000023097385217586939, - 0.00000000000023999540484211737, - 0.00000000000015393776174455408, - -0.00000000000036870428315837678, - 0.00000000000036920375082080089, - -0.00000000000009383417223663699, - 0.00000000000009433398189512690, - 0.00000000000041481318704258568, - -0.00000000000003792316480209314, - 0.00000000000008403156304792424, - -0.00000000000034262934348285429, - 0.00000000000043712191957429145, - -0.00000000000010475750058776541, - -0.00000000000011118671389559323, - 0.00000000000037549577257259853, - 0.00000000000013912841212197565, - 0.00000000000010775743037572640, - 0.00000000000029391859187648000, - -0.00000000000042790509060060774, - 0.00000000000022774076114039555, - 0.00000000000010849569622967912, - -0.00000000000023073801945705758, - 0.00000000000015761203773969435, - 0.00000000000003345710269544082, - -0.00000000000041525158063436123, - 0.00000000000032655698896907146, - -0.00000000000044704265010452446, - 0.00000000000034527647952039772, - -0.00000000000007048962392109746, - 0.00000000000011776978751369214, - -0.00000000000010774341461609578, - 0.00000000000021863343293215910, - 0.00000000000024132639491333131, - 0.00000000000039057462209830700, - -0.00000000000026570679203560751, - 0.00000000000037135141919592021, - -0.00000000000017166921336082431, - -0.00000000000028658285157914353, - -0.00000000000023812542263446809, - 0.00000000000006576659768580062, - -0.00000000000028210143846181267, - 0.00000000000010701931762114254, - 0.00000000000018119346366441110, - 0.00000000000009840465278232627, - -0.00000000000033149150282752542, - -0.00000000000018302857356041668, - -0.00000000000016207400156744949, - 0.00000000000048303314949553201, - -0.00000000000071560553172382115, - 0.00000000000088821239518571855, - -0.00000000000030900580513238244, - -0.00000000000061076551972851496, - 0.00000000000035659969663347830, - 0.00000000000035782396591276383, - -0.00000000000046226087001544578, - 0.00000000000062279762917225156, - 0.00000000000072838947272065741, - 0.00000000000026809646615211673, - -0.00000000000010960825046059278, - 0.00000000000002311949383800537, - -0.00000000000058469058005299247, - -0.00000000000002103748251144494, - -0.00000000000023323182945587408, - -0.00000000000042333694288141916, - -0.00000000000043933937969737844, - 0.00000000000041341647073835565, - 0.00000000000006841763641591466, - 0.00000000000047585534004430641, - 0.00000000000083679678674757695, - -0.00000000000085763734646658640, - 0.00000000000021913281229340092, - -0.00000000000062242842536431148, - -0.00000000000010983594325438430, - 0.00000000000065310431377633651, - -0.00000000000047580199021710769, - -0.00000000000037854251265457040, - 0.00000000000040939233218678664, - 0.00000000000087424383914858291, - 0.00000000000025218188456842882, - -0.00000000000003608131360422557, - -0.00000000000050518555924280902, - 0.00000000000078699403323355317, - -0.00000000000067020876961949060, - 0.00000000000016108575753932458, - 0.00000000000058527188436251509, - -0.00000000000035246757297904791, - -0.00000000000018372084495629058, - 0.00000000000088606689813494916, - 0.00000000000066486268071468700, - 0.00000000000063831615170646519, - 0.00000000000025144230728376072, - -0.00000000000017239444525614834); - - variable M, J:INTEGER; - variable F1, F2, G, Q, U, U2, V: REAL; - variable ZERO: REAL := 0.0;--Made variable so no constant folding occurs - variable ONE: REAL := 1.0; --Made variable so no constant folding occurs - - -- double logb(), ldexp(); - - variable U1:REAL; - - begin - - -- Check validity of argument - if ( X <= 0.0 ) then - assert FALSE - report "X <= 0.0 in LOG(X)" - severity ERROR; - return(REAL'LOW); - end if; - - -- Compute value for special cases - if ( X = 1.0 ) then - return 0.0; - end if; - - if ( X = MATH_E ) then - return 1.0; - end if; - - -- Argument reduction: 1 <= g < 2; x/2^m = g; - -- y = F*(1 + f/F) for |f| <= 2^-8 - - M := ILOGB(X); - G := LDEXP(X, -M); - J := INTEGER(REAL(N)*(G-1.0)); -- C code adds 0.5 for rounding - F1 := (1.0/REAL(N)) * REAL(J) + 1.0; --F1*128 is an INTEGER in [128,512] - F2 := G - F1; - - -- Approximate expansion for log(1+f2/F1) ~= u + q - G := 1.0/(2.0*F1+F2); - U := 2.0*F2*G; - V := U*U; - Q := U*V*(A1 + V*(A2 + V*(A3 + V*A4))); - - -- Case 1: u1 = u rounded to 2^-43 absolute. Since u < 2^-8, - -- u1 has at most 35 bits, and F1*u1 is exact, as F1 has < 8 bits. - -- It also adds exactly to |m*log2_hi + log_F_head[j] | < 750. - -- - if ( J /= 0 or M /= 0) then - U1 := U + 513.0; - U1 := U1 - 513.0; - - -- Case 2: |1-x| < 1/256. The m- and j- dependent terms are zero - -- u1 = u to 24 bits. - -- - else - U1 := U; - --TRUNC(U1); --In c this is u1 = (double) (float) (u1) - end if; - - U2 := (2.0*(F2 - F1*U1) - U1*F2) * G; - -- u1 + u2 = 2f/(2F+f) to extra precision. - - -- log(x) = log(2^m*F1*(1+f2/F1)) = - -- (m*log2_hi+LOGF_HEAD(j)+u1) + (m*log2_lo+LOGF_TAIL(j)+q); - -- (exact) + (tiny) - - U1 := U1 + REAL(M)*LOGF_HEAD(N) + LOGF_HEAD(J); -- Exact - U2 := (U2 + LOGF_TAIL(J)) + Q; -- Tiny - U2 := U2 + LOGF_TAIL(N)*REAL(M); - return (U1 + U2); - end LOG; - - - function LOG2 (X: in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns REAL'LOW on error - begin - -- Check validity of arguments - if ( X <= 0.0 ) then - assert FALSE - report "X <= 0.0 in LOG2(X)" - severity ERROR; - return(REAL'LOW); - end if; - - -- Compute value for special cases - if ( X = 1.0 ) then - return 0.0; - end if; - - if ( X = 2.0 ) then - return 1.0; - end if; - - -- Compute value for general case - return ( MATH_LOG2_OF_E*LOG(X) ); - end LOG2; - - - function LOG10 (X: in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns REAL'LOW on error - begin - -- Check validity of arguments - if ( X <= 0.0 ) then - assert FALSE - report "X <= 0.0 in LOG10(X)" - severity ERROR; - return(REAL'LOW); - end if; - - -- Compute value for special cases - if ( X = 1.0 ) then - return 0.0; - end if; - - if ( X = 10.0 ) then - return 1.0; - end if; - - -- Compute value for general case - return ( MATH_LOG10_OF_E*LOG(X) ); - end LOG10; - - - function LOG (X: in REAL; BASE: in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns REAL'LOW on error - begin - -- Check validity of arguments - if ( X <= 0.0 ) then - assert FALSE - report "X <= 0.0 in LOG(X, BASE)" - severity ERROR; - return(REAL'LOW); - end if; - - if ( BASE <= 0.0 or BASE = 1.0 ) then - assert FALSE - report "BASE <= 0.0 or BASE = 1.0 in LOG(X, BASE)" - severity ERROR; - return(REAL'LOW); - end if; - - -- Compute value for special cases - if ( X = 1.0 ) then - return 0.0; - end if; - - if ( X = BASE ) then - return 1.0; - end if; - - -- Compute value for general case - return ( LOG(X)/LOG(BASE)); - end LOG; - - - function SIN (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) SIN(-X) = -SIN(X) - -- b) SIN(X) = X if ABS(X) < EPS - -- c) SIN(X) = X - X**3/3! if EPS < ABS(X) < BASE_EPS - -- d) SIN(MATH_PI_OVER_2 - X) = COS(X) - -- e) COS(X) = 1.0 - 0.5*X**2 if ABS(X) < EPS - -- f) COS(X) = 1.0 - 0.5*X**2 + (X**4)/4! if - -- EPS< ABS(X) MATH_2_PI then - TEMP := FLOOR(XLOCAL/MATH_2_PI); - XLOCAL := XLOCAL - TEMP*MATH_2_PI; - end if; - - if XLOCAL < 0.0 then - assert FALSE - report "XLOCAL <= 0.0 after reduction in SIN(X)" - severity ERROR; - XLOCAL := -XLOCAL; - end if; - - -- Compute value for special cases - if XLOCAL = 0.0 or XLOCAL = MATH_2_PI or XLOCAL = MATH_PI then - return 0.0; - end if; - - if XLOCAL = MATH_PI_OVER_2 then - if NEGATIVE then - return -1.0; - else - return 1.0; - end if; - end if; - - if XLOCAL = MATH_3_PI_OVER_2 then - if NEGATIVE then - return 1.0; - else - return -1.0; - end if; - end if; - - if XLOCAL < EPS then - if NEGATIVE then - return -XLOCAL; - else - return XLOCAL; - end if; - else - if XLOCAL < BASE_EPS then - TEMP := XLOCAL - (XLOCAL*XLOCAL*XLOCAL)/6.0; - if NEGATIVE then - return -TEMP; - else - return TEMP; - end if; - end if; - end if; - - TEMP := MATH_PI - XLOCAL; - if ABS(TEMP) < EPS then - if NEGATIVE then - return -TEMP; - else - return TEMP; - end if; - else - if ABS(TEMP) < BASE_EPS then - TEMP := TEMP - (TEMP*TEMP*TEMP)/6.0; - if NEGATIVE then - return -TEMP; - else - return TEMP; - end if; - end if; - end if; - - TEMP := MATH_2_PI - XLOCAL; - if ABS(TEMP) < EPS then - if NEGATIVE then - return TEMP; - else - return -TEMP; - end if; - else - if ABS(TEMP) < BASE_EPS then - TEMP := TEMP - (TEMP*TEMP*TEMP)/6.0; - if NEGATIVE then - return TEMP; - else - return -TEMP; - end if; - end if; - end if; - - TEMP := ABS(MATH_PI_OVER_2 - XLOCAL); - if TEMP < EPS then - TEMP := 1.0 - TEMP*TEMP*0.5; - if NEGATIVE then - return -TEMP; - else - return TEMP; - end if; - else - if TEMP < BASE_EPS then - TEMP := 1.0 -TEMP*TEMP*0.5 + TEMP*TEMP*TEMP*TEMP/24.0; - if NEGATIVE then - return -TEMP; - else - return TEMP; - end if; - end if; - end if; - - TEMP := ABS(MATH_3_PI_OVER_2 - XLOCAL); - if TEMP < EPS then - TEMP := 1.0 - TEMP*TEMP*0.5; - if NEGATIVE then - return TEMP; - else - return -TEMP; - end if; - else - if TEMP < BASE_EPS then - TEMP := 1.0 -TEMP*TEMP*0.5 + TEMP*TEMP*TEMP*TEMP/24.0; - if NEGATIVE then - return TEMP; - else - return -TEMP; - end if; - end if; - end if; - - -- Compute value for general cases - if ((XLOCAL < MATH_PI_OVER_2 ) and (XLOCAL > 0.0)) then - VALUE:= CORDIC( KC, 0.0, x, 27, ROTATION)(1); - end if; - - N := INTEGER ( FLOOR(XLOCAL/MATH_PI_OVER_2)); - case QUADRANT( N mod 4) is - when 0 => - VALUE := CORDIC( KC, 0.0, XLOCAL, 27, ROTATION)(1); - when 1 => - VALUE := CORDIC( KC, 0.0, XLOCAL - MATH_PI_OVER_2, 27, - ROTATION)(0); - when 2 => - VALUE := -CORDIC( KC, 0.0, XLOCAL - MATH_PI, 27, ROTATION)(1); - when 3 => - VALUE := -CORDIC( KC, 0.0, XLOCAL - MATH_3_PI_OVER_2, 27, - ROTATION)(0); - end case; - - if NEGATIVE then - return -VALUE; - else - return VALUE; - end if; - end SIN; - - - function COS (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) COS(-X) = COS(X) - -- b) COS(X) = SIN(MATH_PI_OVER_2 - X) - -- c) COS(MATH_PI + X) = -COS(X) - -- d) COS(X) = 1.0 - X*X/2.0 if ABS(X) < EPS - -- e) COS(X) = 1.0 - 0.5*X**2 + (X**4)/4! if - -- EPS< ABS(X) MATH_2_PI then - TEMP := FLOOR(XLOCAL/MATH_2_PI); - XLOCAL := XLOCAL - TEMP*MATH_2_PI; - end if; - - if XLOCAL < 0.0 then - assert FALSE - report "XLOCAL <= 0.0 after reduction in COS(X)" - severity ERROR; - XLOCAL := -XLOCAL; - end if; - - -- Compute value for special cases - if XLOCAL = 0.0 or XLOCAL = MATH_2_PI then - return 1.0; - end if; - - if XLOCAL = MATH_PI then - return -1.0; - end if; - - if XLOCAL = MATH_PI_OVER_2 or XLOCAL = MATH_3_PI_OVER_2 then - return 0.0; - end if; - - TEMP := ABS(XLOCAL); - if ( TEMP < EPS) then - return (1.0 - 0.5*TEMP*TEMP); - else - if (TEMP < BASE_EPS) then - return (1.0 -0.5*TEMP*TEMP + TEMP*TEMP*TEMP*TEMP/24.0); - end if; - end if; - - TEMP := ABS(XLOCAL -MATH_2_PI); - if ( TEMP < EPS) then - return (1.0 - 0.5*TEMP*TEMP); - else - if (TEMP < BASE_EPS) then - return (1.0 -0.5*TEMP*TEMP + TEMP*TEMP*TEMP*TEMP/24.0); - end if; - end if; - - TEMP := ABS (XLOCAL - MATH_PI); - if TEMP < EPS then - return (-1.0 + 0.5*TEMP*TEMP); - else - if (TEMP < BASE_EPS) then - return (-1.0 +0.5*TEMP*TEMP - TEMP*TEMP*TEMP*TEMP/24.0); - end if; - end if; - - -- Compute value for general cases - return SIN(MATH_PI_OVER_2 - XLOCAL); - end COS; - - function TAN (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) TAN(0.0) = 0.0 - -- b) TAN(-X) = -TAN(X) - -- c) Returns REAL'LOW on error if X < 0.0 - -- d) Returns REAL'HIGH on error if X > 0.0 - - variable NEGATIVE : BOOLEAN := X < 0.0; - variable XLOCAL : REAL := ABS(X) ; - variable VALUE: REAL; - variable TEMP : REAL; - - begin - -- Make 0.0 <= XLOCAL <= MATH_2_PI - if XLOCAL > MATH_2_PI then - TEMP := FLOOR(XLOCAL/MATH_2_PI); - XLOCAL := XLOCAL - TEMP*MATH_2_PI; - end if; - - if XLOCAL < 0.0 then - assert FALSE - report "XLOCAL <= 0.0 after reduction in TAN(X)" - severity ERROR; - XLOCAL := -XLOCAL; - end if; - - -- Check validity of argument - if XLOCAL = MATH_PI_OVER_2 then - assert FALSE - report "X is a multiple of MATH_PI_OVER_2 in TAN(X)" - severity ERROR; - if NEGATIVE then - return(REAL'LOW); - else - return(REAL'HIGH); - end if; - end if; - - if XLOCAL = MATH_3_PI_OVER_2 then - assert FALSE - report "X is a multiple of MATH_3_PI_OVER_2 in TAN(X)" - severity ERROR; - if NEGATIVE then - return(REAL'HIGH); - else - return(REAL'LOW); - end if; - end if; - - -- Compute value for special cases - if XLOCAL = 0.0 or XLOCAL = MATH_PI then - return 0.0; - end if; - - -- Compute value for general cases - VALUE := SIN(XLOCAL)/COS(XLOCAL); - if NEGATIVE then - return -VALUE; - else - return VALUE; - end if; - end TAN; - - function ARCSIN (X : in REAL ) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) ARCSIN(-X) = -ARCSIN(X) - -- b) Returns X on error - - variable NEGATIVE : BOOLEAN := X < 0.0; - variable XLOCAL : REAL := ABS(X); - variable VALUE : REAL; - - begin - -- Check validity of arguments - if XLOCAL > 1.0 then - assert FALSE - report "ABS(X) > 1.0 in ARCSIN(X)" - severity ERROR; - return X; - end if; - - -- Compute value for special cases - if XLOCAL = 0.0 then - return 0.0; - elsif XLOCAL = 1.0 then - if NEGATIVE then - return -MATH_PI_OVER_2; - else - return MATH_PI_OVER_2; - end if; - end if; - - -- Compute value for general cases - if XLOCAL < 0.9 then - VALUE := ARCTAN(XLOCAL/(SQRT(1.0 - XLOCAL*XLOCAL))); - else - VALUE := MATH_PI_OVER_2 - ARCTAN(SQRT(1.0 - XLOCAL*XLOCAL)/XLOCAL); - end if; - - if NEGATIVE then - VALUE := -VALUE; - end if; - - return VALUE; - end ARCSIN; - - function ARCCOS (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) ARCCOS(-X) = MATH_PI - ARCCOS(X) - -- b) Returns X on error - - variable NEGATIVE : BOOLEAN := X < 0.0; - variable XLOCAL : REAL := ABS(X); - variable VALUE : REAL; - - begin - -- Check validity of argument - if XLOCAL > 1.0 then - assert FALSE - report "ABS(X) > 1.0 in ARCCOS(X)" - severity ERROR; - return X; - end if; - - -- Compute value for special cases - if X = 1.0 then - return 0.0; - elsif X = 0.0 then - return MATH_PI_OVER_2; - elsif X = -1.0 then - return MATH_PI; - end if; - - -- Compute value for general cases - if XLOCAL > 0.9 then - VALUE := ARCTAN(SQRT(1.0 - XLOCAL*XLOCAL)/XLOCAL); - else - VALUE := MATH_PI_OVER_2 - ARCTAN(XLOCAL/SQRT(1.0 - XLOCAL*XLOCAL)); - end if; - - - if NEGATIVE then - VALUE := MATH_PI - VALUE; - end if; - - return VALUE; - end ARCCOS; - - - function ARCTAN (Y : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) ARCTAN(-Y) = -ARCTAN(Y) - -- b) ARCTAN(Y) = -ARCTAN(1.0/Y) + MATH_PI_OVER_2 for |Y| > 1.0 - -- c) ARCTAN(Y) = Y for |Y| < EPS - - constant EPS : REAL := BASE_EPS*BASE_EPS*BASE_EPS; - - variable NEGATIVE : BOOLEAN := Y < 0.0; - variable RECIPROCAL : BOOLEAN; - variable YLOCAL : REAL := ABS(Y); - variable VALUE : REAL; - - begin - -- Make argument |Y| <=1.0 - if YLOCAL > 1.0 then - YLOCAL := 1.0/YLOCAL; - RECIPROCAL := TRUE; - else - RECIPROCAL := FALSE; - end if; - - -- Compute value for special cases - if YLOCAL = 0.0 then - if RECIPROCAL then - if NEGATIVE then - return (-MATH_PI_OVER_2); - else - return (MATH_PI_OVER_2); - end if; - else - return 0.0; - end if; - end if; - - if YLOCAL < EPS then - if NEGATIVE then - if RECIPROCAL then - return (-MATH_PI_OVER_2 + YLOCAL); - else - return -YLOCAL; - end if; - else - if RECIPROCAL then - return (MATH_PI_OVER_2 - YLOCAL); - else - return YLOCAL; - end if; - end if; - end if; - - -- Compute value for general cases - VALUE := CORDIC( 1.0, YLOCAL, 0.0, 27, VECTORING )(2); - - if RECIPROCAL then - VALUE := MATH_PI_OVER_2 - VALUE; - end if; - - if NEGATIVE then - VALUE := -VALUE; - end if; - - return VALUE; - end ARCTAN; - - - function ARCTAN (Y : in REAL; X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns 0.0 on error - - variable YLOCAL : REAL; - variable VALUE : REAL; - begin - - -- Check validity of arguments - if (Y = 0.0 and X = 0.0 ) then - assert FALSE report - "ARCTAN(0.0, 0.0) is undetermined" - severity ERROR; - return 0.0; - end if; - - -- Compute value for special cases - if Y = 0.0 then - if X > 0.0 then - return 0.0; - else - return MATH_PI; - end if; - end if; - - if X = 0.0 then - if Y > 0.0 then - return MATH_PI_OVER_2; - else - return -MATH_PI_OVER_2; - end if; - end if; - - - -- Compute value for general cases - YLOCAL := ABS(Y/X); - - VALUE := ARCTAN(YLOCAL); - - if X < 0.0 then - VALUE := MATH_PI - VALUE; - end if; - - if Y < 0.0 then - VALUE := -VALUE; - end if; - - return VALUE; - end ARCTAN; - - - function SINH (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns (EXP(X) - EXP(-X))/2.0 - -- b) SINH(-X) = SINH(X) - - variable NEGATIVE : BOOLEAN := X < 0.0; - variable XLOCAL : REAL := ABS(X); - variable TEMP : REAL; - variable VALUE : REAL; - - begin - -- Compute value for special cases - if XLOCAL = 0.0 then - return 0.0; - end if; - - -- Compute value for general cases - TEMP := EXP(XLOCAL); - VALUE := (TEMP - 1.0/TEMP)*0.5; - - if NEGATIVE then - VALUE := -VALUE; - end if; - - return VALUE; - end SINH; - - function COSH (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns (EXP(X) + EXP(-X))/2.0 - -- b) COSH(-X) = COSH(X) - - variable XLOCAL : REAL := ABS(X); - variable TEMP : REAL; - variable VALUE : REAL; - begin - -- Compute value for special cases - if XLOCAL = 0.0 then - return 1.0; - end if; - - - -- Compute value for general cases - TEMP := EXP(XLOCAL); - VALUE := (TEMP + 1.0/TEMP)*0.5; - - return VALUE; - end COSH; - - function TANH (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns (EXP(X) - EXP(-X))/(EXP(X) + EXP(-X)) - -- b) TANH(-X) = -TANH(X) - - variable NEGATIVE : BOOLEAN := X < 0.0; - variable XLOCAL : REAL := ABS(X); - variable TEMP : REAL; - variable VALUE : REAL; - - begin - -- Compute value for special cases - if XLOCAL = 0.0 then - return 0.0; - end if; - - -- Compute value for general cases - TEMP := EXP(XLOCAL); - VALUE := (TEMP - 1.0/TEMP)/(TEMP + 1.0/TEMP); - - if NEGATIVE then - return -VALUE; - else - return VALUE; - end if; - end TANH; - - function ARCSINH (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns LOG( X + SQRT( X*X + 1.0)) - - begin - -- Compute value for special cases - if X = 0.0 then - return 0.0; - end if; - - -- Compute value for general cases - return ( LOG( X + SQRT( X*X + 1.0)) ); - end ARCSINH; - - - - function ARCCOSH (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns LOG( X + SQRT( X*X - 1.0)); X >= 1.0 - -- b) Returns X on error - - begin - -- Check validity of arguments - if X < 1.0 then - assert FALSE - report "X < 1.0 in ARCCOSH(X)" - severity ERROR; - return X; - end if; - - -- Compute value for special cases - if X = 1.0 then - return 0.0; - end if; - - -- Compute value for general cases - return ( LOG( X + SQRT( X*X - 1.0))); - end ARCCOSH; - - function ARCTANH (X : in REAL) return REAL is - -- Description: - -- See function declaration in IEEE Std 1076.2-1996 - -- Notes: - -- a) Returns (LOG( (1.0 + X)/(1.0 - X)))/2.0 ; | X | < 1.0 - -- b) Returns X on error - begin - -- Check validity of arguments - if ABS(X) >= 1.0 then - assert FALSE - report "ABS(X) >= 1.0 in ARCTANH(X)" - severity ERROR; - return X; - end if; - - -- Compute value for special cases - if X = 0.0 then - return 0.0; - end if; - - -- Compute value for general cases - return( 0.5*LOG( (1.0+X)/(1.0-X) ) ); - end ARCTANH; - -end MATH_REAL; + + +------------------------------------------------------------------------ +-- +-- Copyright 1996 by IEEE. All rights reserved. +-- +-- This source file is an essential part of IEEE Std 1076.2-1996, IEEE Standard +-- VHDL Mathematical Packages. This source file may not be copied, sold, or +-- included with software that is sold without written permission from the IEEE +-- Standards Department. This source file may be used to implement this standard +-- and may be distributed in compiled form in any manner so long as the +-- compiled form does not allow direct decompilation of the original source file. +-- This source file may be copied for individual use between licensed users. +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source +-- file shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. +-- +-- Title: Standard VHDL Mathematical Packages (IEEE Std 1076.2-1996, +-- MATH_REAL) +-- +-- Library: This package shall be compiled into a library +-- symbolically named IEEE. +-- +-- Developers: IEEE DASC VHDL Mathematical Packages Working Group +-- +-- Purpose: This package defines a standard for designers to use in +-- describing VHDL models that make use of common REAL constants +-- and common REAL elementary mathematical functions. +-- +-- Limitation: The values generated by the functions in this package may +-- vary from platform to platform, and the precision of results +-- is only guaranteed to be the minimum required by IEEE Std 1076- +-- 1993. +-- +-- Notes: +-- No declarations or definitions shall be included in, or +-- excluded from, this package. +-- The "package declaration" defines the types, subtypes, and +-- declarations of MATH_REAL. +-- The standard mathematical definition and conventional meaning +-- of the mathematical functions that are part of this standard +-- represent the formal semantics of the implementation of the +-- MATH_REAL package declaration. The purpose of the MATH_REAL +-- package body is to provide a guideline for implementations to +-- verify their implementation of MATH_REAL. Tool developers may +-- choose to implement the package body in the most efficient +-- manner available to them. +-- +-- ----------------------------------------------------------------------------- +-- Version : 1.5 +-- Date : 24 July 1996 +-- ----------------------------------------------------------------------------- + +package MATH_REAL is + constant CopyRightNotice: STRING + := "Copyright 1996 IEEE. All rights reserved."; + + -- + -- Constant Definitions + -- + constant MATH_E : REAL := 2.71828_18284_59045_23536; + -- Value of e + constant MATH_1_OVER_E : REAL := 0.36787_94411_71442_32160; + -- Value of 1/e + constant MATH_PI : REAL := 3.14159_26535_89793_23846; + -- Value of pi + constant MATH_2_PI : REAL := 6.28318_53071_79586_47693; + -- Value of 2*pi + constant MATH_1_OVER_PI : REAL := 0.31830_98861_83790_67154; + -- Value of 1/pi + constant MATH_PI_OVER_2 : REAL := 1.57079_63267_94896_61923; + -- Value of pi/2 + constant MATH_PI_OVER_3 : REAL := 1.04719_75511_96597_74615; + -- Value of pi/3 + constant MATH_PI_OVER_4 : REAL := 0.78539_81633_97448_30962; + -- Value of pi/4 + constant MATH_3_PI_OVER_2 : REAL := 4.71238_89803_84689_85769; + -- Value 3*pi/2 + constant MATH_LOG_OF_2 : REAL := 0.69314_71805_59945_30942; + -- Natural log of 2 + constant MATH_LOG_OF_10 : REAL := 2.30258_50929_94045_68402; + -- Natural log of 10 + constant MATH_LOG2_OF_E : REAL := 1.44269_50408_88963_4074; + -- Log base 2 of e + constant MATH_LOG10_OF_E: REAL := 0.43429_44819_03251_82765; + -- Log base 10 of e + constant MATH_SQRT_2: REAL := 1.41421_35623_73095_04880; + -- square root of 2 + constant MATH_1_OVER_SQRT_2: REAL := 0.70710_67811_86547_52440; + -- square root of 1/2 + constant MATH_SQRT_PI: REAL := 1.77245_38509_05516_02730; + -- square root of pi + constant MATH_DEG_TO_RAD: REAL := 0.01745_32925_19943_29577; + -- Conversion factor from degree to radian + constant MATH_RAD_TO_DEG: REAL := 57.29577_95130_82320_87680; + -- Conversion factor from radian to degree + + -- + -- Function Declarations + -- + function SIGN (X: in REAL ) return REAL; + -- Purpose: + -- Returns 1.0 if X > 0.0; 0.0 if X = 0.0; -1.0 if X < 0.0 + -- Special values: + -- None + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(SIGN(X)) <= 1.0 + -- Notes: + -- None + + function CEIL (X : in REAL ) return REAL; + -- Purpose: + -- Returns smallest INTEGER value (as REAL) not less than X + -- Special values: + -- None + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- CEIL(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function FLOOR (X : in REAL ) return REAL; + -- Purpose: + -- Returns largest INTEGER value (as REAL) not greater than X + -- Special values: + -- FLOOR(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- FLOOR(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function ROUND (X : in REAL ) return REAL; + -- Purpose: + -- Rounds X to the nearest integer value (as real). If X is + -- halfway between two integers, rounding is away from 0.0 + -- Special values: + -- ROUND(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ROUND(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function TRUNC (X : in REAL ) return REAL; + -- Purpose: + -- Truncates X towards 0.0 and returns truncated value + -- Special values: + -- TRUNC(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- TRUNC(X) is mathematically unbounded + -- Notes: + -- a) Implementations have to support at least the domain + -- ABS(X) < REAL(INTEGER'HIGH) + + function "MOD" (X, Y: in REAL ) return REAL; + -- Purpose: + -- Returns floating point modulus of X/Y, with the same sign as + -- Y, and absolute value less than the absolute value of Y, and + -- for some INTEGER value N the result satisfies the relation + -- X = Y*N + MOD(X,Y) + -- Special values: + -- None + -- Domain: + -- X in REAL; Y in REAL and Y /= 0.0 + -- Error conditions: + -- Error if Y = 0.0 + -- Range: + -- ABS(MOD(X,Y)) < ABS(Y) + -- Notes: + -- None + + function REALMAX (X, Y : in REAL ) return REAL; + -- Purpose: + -- Returns the algebraically larger of X and Y + -- Special values: + -- REALMAX(X,Y) = X when X = Y + -- Domain: + -- X in REAL; Y in REAL + -- Error conditions: + -- None + -- Range: + -- REALMAX(X,Y) is mathematically unbounded + -- Notes: + -- None + + function REALMIN (X, Y : in REAL ) return REAL; + -- Purpose: + -- Returns the algebraically smaller of X and Y + -- Special values: + -- REALMIN(X,Y) = X when X = Y + -- Domain: + -- X in REAL; Y in REAL + -- Error conditions: + -- None + -- Range: + -- REALMIN(X,Y) is mathematically unbounded + -- Notes: + -- None + + procedure UNIFORM(variable SEED1,SEED2:inout POSITIVE; variable X:out REAL); + -- Purpose: + -- Returns, in X, a pseudo-random number with uniform + -- distribution in the open interval (0.0, 1.0). + -- Special values: + -- None + -- Domain: + -- 1 <= SEED1 <= 2147483562; 1 <= SEED2 <= 2147483398 + -- Error conditions: + -- Error if SEED1 or SEED2 outside of valid domain + -- Range: + -- 0.0 < X < 1.0 + -- Notes: + -- a) The semantics for this function are described by the + -- algorithm published by Pierre L'Ecuyer in "Communications + -- of the ACM," vol. 31, no. 6, June 1988, pp. 742-774. + -- The algorithm is based on the combination of two + -- multiplicative linear congruential generators for 32-bit + -- platforms. + -- + -- b) Before the first call to UNIFORM, the seed values + -- (SEED1, SEED2) have to be initialized to values in the range + -- [1, 2147483562] and [1, 2147483398] respectively. The + -- seed values are modified after each call to UNIFORM. + -- + -- c) This random number generator is portable for 32-bit + -- computers, and it has a period of ~2.30584*(10**18) for each + -- set of seed values. + -- + -- d) For information on spectral tests for the algorithm, refer + -- to the L'Ecuyer article. + + function SQRT (X : in REAL ) return REAL; + -- Purpose: + -- Returns square root of X + -- Special values: + -- SQRT(0.0) = 0.0 + -- SQRT(1.0) = 1.0 + -- Domain: + -- X >= 0.0 + -- Error conditions: + -- Error if X < 0.0 + -- Range: + -- SQRT(X) >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range of SQRT is + -- approximately given by: + -- SQRT(X) <= SQRT(REAL'HIGH) + + function CBRT (X : in REAL ) return REAL; + -- Purpose: + -- Returns cube root of X + -- Special values: + -- CBRT(0.0) = 0.0 + -- CBRT(1.0) = 1.0 + -- CBRT(-1.0) = -1.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- CBRT(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of CBRT is approximately given by: + -- ABS(CBRT(X)) <= CBRT(REAL'HIGH) + + function "**" (X : in INTEGER; Y : in REAL) return REAL; + -- Purpose: + -- Returns Y power of X ==> X**Y + -- Special values: + -- X**0.0 = 1.0; X /= 0 + -- 0**Y = 0.0; Y > 0.0 + -- X**1.0 = REAL(X); X >= 0 + -- 1**Y = 1.0 + -- Domain: + -- X > 0 + -- X = 0 for Y > 0.0 + -- X < 0 for Y = 0.0 + -- Error conditions: + -- Error if X < 0 and Y /= 0.0 + -- Error if X = 0 and Y <= 0.0 + -- Range: + -- X**Y >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range for "**" is + -- approximately given by: + -- X**Y <= REAL'HIGH + + function "**" (X : in REAL; Y : in REAL) return REAL; + -- Purpose: + -- Returns Y power of X ==> X**Y + -- Special values: + -- X**0.0 = 1.0; X /= 0.0 + -- 0.0**Y = 0.0; Y > 0.0 + -- X**1.0 = X; X >= 0.0 + -- 1.0**Y = 1.0 + -- Domain: + -- X > 0.0 + -- X = 0.0 for Y > 0.0 + -- X < 0.0 for Y = 0.0 + -- Error conditions: + -- Error if X < 0.0 and Y /= 0.0 + -- Error if X = 0.0 and Y <= 0.0 + -- Range: + -- X**Y >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range for "**" is + -- approximately given by: + -- X**Y <= REAL'HIGH + + function EXP (X : in REAL ) return REAL; + -- Purpose: + -- Returns e**X; where e = MATH_E + -- Special values: + -- EXP(0.0) = 1.0 + -- EXP(1.0) = MATH_E + -- EXP(-1.0) = MATH_1_OVER_E + -- EXP(X) = 0.0 for X <= -LOG(REAL'HIGH) + -- Domain: + -- X in REAL such that EXP(X) <= REAL'HIGH + -- Error conditions: + -- Error if X > LOG(REAL'HIGH) + -- Range: + -- EXP(X) >= 0.0 + -- Notes: + -- a) The usable domain of EXP is approximately given by: + -- X <= LOG(REAL'HIGH) + + function LOG (X : in REAL ) return REAL; + -- Purpose: + -- Returns natural logarithm of X + -- Special values: + -- LOG(1.0) = 0.0 + -- LOG(MATH_E) = 1.0 + -- Domain: + -- X > 0.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Range: + -- LOG(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of LOG is approximately given by: + -- LOG(0+) <= LOG(X) <= LOG(REAL'HIGH) + + function LOG2 (X : in REAL ) return REAL; + -- Purpose: + -- Returns logarithm base 2 of X + -- Special values: + -- LOG2(1.0) = 0.0 + -- LOG2(2.0) = 1.0 + -- Domain: + -- X > 0.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Range: + -- LOG2(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of LOG2 is approximately given by: + -- LOG2(0+) <= LOG2(X) <= LOG2(REAL'HIGH) + + function LOG10 (X : in REAL ) return REAL; + -- Purpose: + -- Returns logarithm base 10 of X + -- Special values: + -- LOG10(1.0) = 0.0 + -- LOG10(10.0) = 1.0 + -- Domain: + -- X > 0.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Range: + -- LOG10(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of LOG10 is approximately given by: + -- LOG10(0+) <= LOG10(X) <= LOG10(REAL'HIGH) + + function LOG (X: in REAL; BASE: in REAL) return REAL; + -- Purpose: + -- Returns logarithm base BASE of X + -- Special values: + -- LOG(1.0, BASE) = 0.0 + -- LOG(BASE, BASE) = 1.0 + -- Domain: + -- X > 0.0 + -- BASE > 0.0 + -- BASE /= 1.0 + -- Error conditions: + -- Error if X <= 0.0 + -- Error if BASE <= 0.0 + -- Error if BASE = 1.0 + -- Range: + -- LOG(X, BASE) is mathematically unbounded + -- Notes: + -- a) When BASE > 1.0, the reachable range of LOG is + -- approximately given by: + -- LOG(0+, BASE) <= LOG(X, BASE) <= LOG(REAL'HIGH, BASE) + -- b) When 0.0 < BASE < 1.0, the reachable range of LOG is + -- approximately given by: + -- LOG(REAL'HIGH, BASE) <= LOG(X, BASE) <= LOG(0+, BASE) + + function SIN (X : in REAL ) return REAL; + -- Purpose: + -- Returns sine of X; X in radians + -- Special values: + -- SIN(X) = 0.0 for X = k*MATH_PI, where k is an INTEGER + -- SIN(X) = 1.0 for X = (4*k+1)*MATH_PI_OVER_2, where k is an + -- INTEGER + -- SIN(X) = -1.0 for X = (4*k+3)*MATH_PI_OVER_2, where k is an + -- INTEGER + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(SIN(X)) <= 1.0 + -- Notes: + -- a) For larger values of ABS(X), degraded accuracy is allowed. + + function COS ( X : in REAL ) return REAL; + -- Purpose: + -- Returns cosine of X; X in radians + -- Special values: + -- COS(X) = 0.0 for X = (2*k+1)*MATH_PI_OVER_2, where k is an + -- INTEGER + -- COS(X) = 1.0 for X = (2*k)*MATH_PI, where k is an INTEGER + -- COS(X) = -1.0 for X = (2*k+1)*MATH_PI, where k is an INTEGER + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(COS(X)) <= 1.0 + -- Notes: + -- a) For larger values of ABS(X), degraded accuracy is allowed. + + function TAN (X : in REAL ) return REAL; + -- Purpose: + -- Returns tangent of X; X in radians + -- Special values: + -- TAN(X) = 0.0 for X = k*MATH_PI, where k is an INTEGER + -- Domain: + -- X in REAL and + -- X /= (2*k+1)*MATH_PI_OVER_2, where k is an INTEGER + -- Error conditions: + -- Error if X = ((2*k+1) * MATH_PI_OVER_2), where k is an + -- INTEGER + -- Range: + -- TAN(X) is mathematically unbounded + -- Notes: + -- a) For larger values of ABS(X), degraded accuracy is allowed. + + function ARCSIN (X : in REAL ) return REAL; + -- Purpose: + -- Returns inverse sine of X + -- Special values: + -- ARCSIN(0.0) = 0.0 + -- ARCSIN(1.0) = MATH_PI_OVER_2 + -- ARCSIN(-1.0) = -MATH_PI_OVER_2 + -- Domain: + -- ABS(X) <= 1.0 + -- Error conditions: + -- Error if ABS(X) > 1.0 + -- Range: + -- ABS(ARCSIN(X) <= MATH_PI_OVER_2 + -- Notes: + -- None + + function ARCCOS (X : in REAL ) return REAL; + -- Purpose: + -- Returns inverse cosine of X + -- Special values: + -- ARCCOS(1.0) = 0.0 + -- ARCCOS(0.0) = MATH_PI_OVER_2 + -- ARCCOS(-1.0) = MATH_PI + -- Domain: + -- ABS(X) <= 1.0 + -- Error conditions: + -- Error if ABS(X) > 1.0 + -- Range: + -- 0.0 <= ARCCOS(X) <= MATH_PI + -- Notes: + -- None + + function ARCTAN (Y : in REAL) return REAL; + -- Purpose: + -- Returns the value of the angle in radians of the point + -- (1.0, Y), which is in rectangular coordinates + -- Special values: + -- ARCTAN(0.0) = 0.0 + -- Domain: + -- Y in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(ARCTAN(Y)) <= MATH_PI_OVER_2 + -- Notes: + -- None + + function ARCTAN (Y : in REAL; X : in REAL) return REAL; + -- Purpose: + -- Returns the principal value of the angle in radians of + -- the point (X, Y), which is in rectangular coordinates + -- Special values: + -- ARCTAN(0.0, X) = 0.0 if X > 0.0 + -- ARCTAN(0.0, X) = MATH_PI if X < 0.0 + -- ARCTAN(Y, 0.0) = MATH_PI_OVER_2 if Y > 0.0 + -- ARCTAN(Y, 0.0) = -MATH_PI_OVER_2 if Y < 0.0 + -- Domain: + -- Y in REAL + -- X in REAL, X /= 0.0 when Y = 0.0 + -- Error conditions: + -- Error if X = 0.0 and Y = 0.0 + -- Range: + -- -MATH_PI < ARCTAN(Y,X) <= MATH_PI + -- Notes: + -- None + + function SINH (X : in REAL) return REAL; + -- Purpose: + -- Returns hyperbolic sine of X + -- Special values: + -- SINH(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- SINH(X) is mathematically unbounded + -- Notes: + -- a) The usable domain of SINH is approximately given by: + -- ABS(X) <= LOG(REAL'HIGH) + + + function COSH (X : in REAL) return REAL; + -- Purpose: + -- Returns hyperbolic cosine of X + -- Special values: + -- COSH(0.0) = 1.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- COSH(X) >= 1.0 + -- Notes: + -- a) The usable domain of COSH is approximately given by: + -- ABS(X) <= LOG(REAL'HIGH) + + function TANH (X : in REAL) return REAL; + -- Purpose: + -- Returns hyperbolic tangent of X + -- Special values: + -- TANH(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ABS(TANH(X)) <= 1.0 + -- Notes: + -- None + + function ARCSINH (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse hyperbolic sine of X + -- Special values: + -- ARCSINH(0.0) = 0.0 + -- Domain: + -- X in REAL + -- Error conditions: + -- None + -- Range: + -- ARCSINH(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of ARCSINH is approximately given by: + -- ABS(ARCSINH(X)) <= LOG(REAL'HIGH) + + function ARCCOSH (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse hyperbolic cosine of X + -- Special values: + -- ARCCOSH(1.0) = 0.0 + -- Domain: + -- X >= 1.0 + -- Error conditions: + -- Error if X < 1.0 + -- Range: + -- ARCCOSH(X) >= 0.0 + -- Notes: + -- a) The upper bound of the reachable range of ARCCOSH is + -- approximately given by: ARCCOSH(X) <= LOG(REAL'HIGH) + + function ARCTANH (X : in REAL) return REAL; + -- Purpose: + -- Returns inverse hyperbolic tangent of X + -- Special values: + -- ARCTANH(0.0) = 0.0 + -- Domain: + -- ABS(X) < 1.0 + -- Error conditions: + -- Error if ABS(X) >= 1.0 + -- Range: + -- ARCTANH(X) is mathematically unbounded + -- Notes: + -- a) The reachable range of ARCTANH is approximately given by: + -- ABS(ARCTANH(X)) < LOG(REAL'HIGH) + +end MATH_REAL; + + + +------------------------------------------------------------------------ +-- +-- Copyright 1996 by IEEE. All rights reserved. + +-- This source file is an informative part of IEEE Std 1076.2-1996, IEEE Standard +-- VHDL Mathematical Packages. This source file may not be copied, sold, or +-- included with software that is sold without written permission from the IEEE +-- Standards Department. This source file may be used to implement this standard +-- and may be distributed in compiled form in any manner so long as the +-- compiled form does not allow direct decompilation of the original source file. +-- This source file may be copied for individual use between licensed users. +-- This source file is provided on an AS IS basis. The IEEE disclaims ANY +-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY +-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source +-- file shall indemnify and hold IEEE harmless from any damages or liability +-- arising out of the use thereof. + +-- +-- Title: Standard VHDL Mathematical Packages (IEEE Std 1076.2-1996, +-- MATH_REAL) +-- +-- Library: This package shall be compiled into a library +-- symbolically named IEEE. +-- +-- Developers: IEEE DASC VHDL Mathematical Packages Working Group +-- +-- Purpose: This package body is a nonnormative implementation of the +-- functionality defined in the MATH_REAL package declaration. +-- +-- Limitation: The values generated by the functions in this package may +-- vary from platform to platform, and the precision of results +-- is only guaranteed to be the minimum required by IEEE Std 1076 +-- -1993. +-- +-- Notes: +-- The "package declaration" defines the types, subtypes, and +-- declarations of MATH_REAL. +-- The standard mathematical definition and conventional meaning +-- of the mathematical functions that are part of this standard +-- represent the formal semantics of the implementation of the +-- MATH_REAL package declaration. The purpose of the MATH_REAL +-- package body is to clarify such semantics and provide a +-- guideline for implementations to verify their implementation +-- of MATH_REAL. Tool developers may choose to implement +-- the package body in the most efficient manner available to them. +-- +-- ----------------------------------------------------------------------------- +-- Version : 1.5 +-- Date : 24 July 1996 +-- ----------------------------------------------------------------------------- + +package body MATH_REAL is + + -- + -- Local Constants for Use in the Package Body Only + -- + constant MATH_E_P2 : REAL := 7.38905_60989_30650; -- e**2 + constant MATH_E_P10 : REAL := 22026.46579_48067_17; -- e**10 + constant MATH_EIGHT_PI : REAL := 25.13274_12287_18345_90770_115; --8*pi + constant MAX_ITER: INTEGER := 27; -- Maximum precision factor for cordic + constant MAX_COUNT: INTEGER := 150; -- Maximum count for number of tries + constant BASE_EPS: REAL := 0.00001; -- Factor for convergence criteria + constant KC : REAL := 6.0725293500888142e-01; -- Constant for cordic + + -- + -- Local Type Declarations for Cordic Operations + -- + type REAL_VECTOR is array (NATURAL range <>) of REAL; + type NATURAL_VECTOR is array (NATURAL range <>) of NATURAL; + subtype REAL_VECTOR_N is REAL_VECTOR (0 to MAX_ITER); + subtype REAL_ARR_2 is REAL_VECTOR (0 to 1); + subtype REAL_ARR_3 is REAL_VECTOR (0 to 2); + subtype QUADRANT is INTEGER range 0 to 3; + type CORDIC_MODE_TYPE is (ROTATION, VECTORING); + + -- + -- Auxiliary Functions for Cordic Algorithms + -- + function POWER_OF_2_SERIES (D : in NATURAL_VECTOR; INITIAL_VALUE : in REAL; + NUMBER_OF_VALUES : in NATURAL) return REAL_VECTOR is + -- Description: + -- Returns power of two for a vector of values + -- Notes: + -- None + -- + variable V : REAL_VECTOR (0 to NUMBER_OF_VALUES); + variable TEMP : REAL := INITIAL_VALUE; + variable FLAG : BOOLEAN := TRUE; + begin + for I in 0 to NUMBER_OF_VALUES loop + V(I) := TEMP; + for P in D'RANGE loop + if I = D(P) then + FLAG := FALSE; + exit; + end if; + end loop; + if FLAG then + TEMP := TEMP/2.0; + end if; + FLAG := TRUE; + end loop; + return V; + end POWER_OF_2_SERIES; + + + constant TWO_AT_MINUS : REAL_VECTOR := POWER_OF_2_SERIES( + NATURAL_VECTOR'(100, 90),1.0, + MAX_ITER); + + constant EPSILON : REAL_VECTOR_N := ( + 7.8539816339744827e-01, + 4.6364760900080606e-01, + 2.4497866312686413e-01, + 1.2435499454676144e-01, + 6.2418809995957351e-02, + 3.1239833430268277e-02, + 1.5623728620476830e-02, + 7.8123410601011116e-03, + 3.9062301319669717e-03, + 1.9531225164788189e-03, + 9.7656218955931937e-04, + 4.8828121119489829e-04, + 2.4414062014936175e-04, + 1.2207031189367021e-04, + 6.1035156174208768e-05, + 3.0517578115526093e-05, + 1.5258789061315760e-05, + 7.6293945311019699e-06, + 3.8146972656064960e-06, + 1.9073486328101870e-06, + 9.5367431640596080e-07, + 4.7683715820308876e-07, + 2.3841857910155801e-07, + 1.1920928955078067e-07, + 5.9604644775390553e-08, + 2.9802322387695303e-08, + 1.4901161193847654e-08, + 7.4505805969238281e-09 + ); + + function CORDIC ( X0 : in REAL; + Y0 : in REAL; + Z0 : in REAL; + N : in NATURAL; -- Precision factor + CORDIC_MODE : in CORDIC_MODE_TYPE -- Rotation (Z -> 0) + -- or vectoring (Y -> 0) + ) return REAL_ARR_3 is + -- Description: + -- Compute cordic values + -- Notes: + -- None + variable X : REAL := X0; + variable Y : REAL := Y0; + variable Z : REAL := Z0; + variable X_TEMP : REAL; + begin + if CORDIC_MODE = ROTATION then + for K in 0 to N loop + X_TEMP := X; + if ( Z >= 0.0) then + X := X - Y * TWO_AT_MINUS(K); + Y := Y + X_TEMP * TWO_AT_MINUS(K); + Z := Z - EPSILON(K); + else + X := X + Y * TWO_AT_MINUS(K); + Y := Y - X_TEMP * TWO_AT_MINUS(K); + Z := Z + EPSILON(K); + end if; + end loop; + else + for K in 0 to N loop + X_TEMP := X; + if ( Y < 0.0) then + X := X - Y * TWO_AT_MINUS(K); + Y := Y + X_TEMP * TWO_AT_MINUS(K); + Z := Z - EPSILON(K); + else + X := X + Y * TWO_AT_MINUS(K); + Y := Y - X_TEMP * TWO_AT_MINUS(K); + Z := Z + EPSILON(K); + end if; + end loop; + end if; + return REAL_ARR_3'(X, Y, Z); + end CORDIC; + + -- + -- Bodies for Global Mathematical Functions Start Here + -- + function SIGN (X: in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- None + begin + if ( X > 0.0 ) then + return 1.0; + elsif ( X < 0.0 ) then + return -1.0; + else + return 0.0; + end if; + end SIGN; + + function CEIL (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) No conversion to an INTEGER type is expected, so truncate + -- cannot overflow for large arguments + -- b) The domain supported by this function is X <= LARGE + -- c) Returns X if ABS(X) >= LARGE + + constant LARGE: REAL := REAL(INTEGER'HIGH); + variable RD: REAL; + + begin + if ABS(X) >= LARGE then + return X; + end if; + + RD := REAL ( INTEGER(X)); + if RD = X then + return X; + end if; + + if X > 0.0 then + if RD >= X then + return RD; + else + return RD + 1.0; + end if; + elsif X = 0.0 then + return 0.0; + else + if RD <= X then + return RD + 1.0; + else + return RD; + end if; + end if; + end CEIL; + + function FLOOR (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) No conversion to an INTEGER type is expected, so truncate + -- cannot overflow for large arguments + -- b) The domain supported by this function is ABS(X) <= LARGE + -- c) Returns X if ABS(X) >= LARGE + + constant LARGE: REAL := REAL(INTEGER'HIGH); + variable RD: REAL; + + begin + if ABS( X ) >= LARGE then + return X; + end if; + + RD := REAL ( INTEGER(X)); + if RD = X then + return X; + end if; + + if X > 0.0 then + if RD <= X then + return RD; + else + return RD - 1.0; + end if; + elsif X = 0.0 then + return 0.0; + else + if RD >= X then + return RD - 1.0; + else + return RD; + end if; + end if; + end FLOOR; + + function ROUND (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 if X = 0.0 + -- b) Returns FLOOR(X + 0.5) if X > 0 + -- c) Returns CEIL(X - 0.5) if X < 0 + + begin + if X > 0.0 then + return FLOOR(X + 0.5); + elsif X < 0.0 then + return CEIL( X - 0.5); + else + return 0.0; + end if; + end ROUND; + + function TRUNC (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 if X = 0.0 + -- b) Returns FLOOR(X) if X > 0 + -- c) Returns CEIL(X) if X < 0 + + begin + if X > 0.0 then + return FLOOR(X); + elsif X < 0.0 then + return CEIL( X); + else + return 0.0; + end if; + end TRUNC; + + + + + function "MOD" (X, Y: in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error + + variable XNEGATIVE : BOOLEAN := X < 0.0; + variable YNEGATIVE : BOOLEAN := Y < 0.0; + variable VALUE : REAL; + begin + -- Check validity of input arguments + if (Y = 0.0) then + assert FALSE + report "MOD(X, 0.0) is undefined" + severity ERROR; + return 0.0; + end if; + + -- Compute value + if ( XNEGATIVE ) then + if ( YNEGATIVE ) then + VALUE := X + (FLOOR(ABS(X)/ABS(Y)))*ABS(Y); + else + VALUE := X + (CEIL(ABS(X)/ABS(Y)))*ABS(Y); + end if; + else + if ( YNEGATIVE ) then + VALUE := X - (CEIL(ABS(X)/ABS(Y)))*ABS(Y); + else + VALUE := X - (FLOOR(ABS(X)/ABS(Y)))*ABS(Y); + end if; + end if; + + return VALUE; + end "MOD"; + + + function REALMAX (X, Y : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) REALMAX(X,Y) = X when X = Y + -- + begin + if X >= Y then + return X; + else + return Y; + end if; + end REALMAX; + + function REALMIN (X, Y : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) REALMIN(X,Y) = X when X = Y + -- + begin + if X <= Y then + return X; + else + return Y; + end if; + end REALMIN; + + + procedure UNIFORM(variable SEED1,SEED2:inout POSITIVE;variable X:out REAL) + is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error + -- + variable Z, K: INTEGER; + variable TSEED1 : INTEGER := INTEGER'(SEED1); + variable TSEED2 : INTEGER := INTEGER'(SEED2); + begin + -- Check validity of arguments + if SEED1 > 2147483562 then + assert FALSE + report "SEED1 > 2147483562 in UNIFORM" + severity ERROR; + X := 0.0; + return; + end if; + + if SEED2 > 2147483398 then + assert FALSE + report "SEED2 > 2147483398 in UNIFORM" + severity ERROR; + X := 0.0; + return; + end if; + + -- Compute new seed values and pseudo-random number + K := TSEED1/53668; + TSEED1 := 40014 * (TSEED1 - K * 53668) - K * 12211; + + if TSEED1 < 0 then + TSEED1 := TSEED1 + 2147483563; + end if; + + K := TSEED2/52774; + TSEED2 := 40692 * (TSEED2 - K * 52774) - K * 3791; + + if TSEED2 < 0 then + TSEED2 := TSEED2 + 2147483399; + end if; + + Z := TSEED1 - TSEED2; + if Z < 1 then + Z := Z + 2147483562; + end if; + + -- Get output values + SEED1 := POSITIVE'(TSEED1); + SEED2 := POSITIVE'(TSEED2); + X := REAL(Z)*4.656613e-10; + end UNIFORM; + + + + function SQRT (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Uses the Newton-Raphson approximation: + -- F(n+1) = 0.5*[F(n) + x/F(n)] + -- b) Returns 0.0 on error + -- + + constant EPS : REAL := BASE_EPS*BASE_EPS; -- Convergence factor + + variable INIVAL: REAL; + variable OLDVAL : REAL ; + variable NEWVAL : REAL ; + variable COUNT : INTEGER := 1; + + begin + -- Check validity of argument + if ( X < 0.0 ) then + assert FALSE + report "X < 0.0 in SQRT(X)" + severity ERROR; + return 0.0; + end if; + + -- Get the square root for special cases + if X = 0.0 then + return 0.0; + else + if ( X = 1.0 ) then + return 1.0; + end if; + end if; + + -- Get the square root for general cases + INIVAL := EXP(LOG(X)*(0.5)); -- Mathematically correct but imprecise + OLDVAL := INIVAL; + NEWVAL := (X/OLDVAL + OLDVAL)*0.5; + + -- Check for relative and absolute error and max count + while ( ( (ABS((NEWVAL -OLDVAL)/NEWVAL) > EPS) OR + (ABS(NEWVAL - OLDVAL) > EPS) ) AND + (COUNT < MAX_COUNT) ) loop + OLDVAL := NEWVAL; + NEWVAL := (X/OLDVAL + OLDVAL)*0.5; + COUNT := COUNT + 1; + end loop; + return NEWVAL; + end SQRT; + + function CBRT (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Uses the Newton-Raphson approximation: + -- F(n+1) = (1/3)*[2*F(n) + x/F(n)**2]; + -- + constant EPS : REAL := BASE_EPS*BASE_EPS; + + variable INIVAL: REAL; + variable XLOCAL : REAL := X; + variable NEGATIVE : BOOLEAN := X < 0.0; + variable OLDVAL : REAL ; + variable NEWVAL : REAL ; + variable COUNT : INTEGER := 1; + + begin + + -- Compute root for special cases + if X = 0.0 then + return 0.0; + elsif ( X = 1.0 ) then + return 1.0; + else + if X = -1.0 then + return -1.0; + end if; + end if; + + -- Compute root for general cases + if NEGATIVE then + XLOCAL := -X; + end if; + + INIVAL := EXP(LOG(XLOCAL)/(3.0)); -- Mathematically correct but + -- imprecise + OLDVAL := INIVAL; + NEWVAL := (XLOCAL/(OLDVAL*OLDVAL) + 2.0*OLDVAL)/3.0; + + -- Check for relative and absolute errors and max count + while ( ( (ABS((NEWVAL -OLDVAL)/NEWVAL) > EPS ) OR + (ABS(NEWVAL - OLDVAL) > EPS ) ) AND + ( COUNT < MAX_COUNT ) ) loop + OLDVAL := NEWVAL; + NEWVAL :=(XLOCAL/(OLDVAL*OLDVAL) + 2.0*OLDVAL)/3.0; + COUNT := COUNT + 1; + end loop; + + if NEGATIVE then + NEWVAL := -NEWVAL; + end if; + + return NEWVAL; + end CBRT; + + function "**" (X : in INTEGER; Y : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error condition + + begin + -- Check validity of argument + if ( ( X < 0 ) and ( Y /= 0.0 ) ) then + assert FALSE + report "X < 0 and Y /= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + if ( ( X = 0 ) and ( Y <= 0.0 ) ) then + assert FALSE + report "X = 0 and Y <= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + -- Get value for special cases + if ( X = 0 and Y > 0.0 ) then + return 0.0; + end if; + + if ( X = 1 ) then + return 1.0; + end if; + + if ( Y = 0.0 and X /= 0 ) then + return 1.0; + end if; + + if ( Y = 1.0) then + return (REAL(X)); + end if; + + -- Get value for general case + return EXP (Y * LOG (REAL(X))); + end "**"; + + function "**" (X : in REAL; Y : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error condition + + begin + -- Check validity of argument + if ( ( X < 0.0 ) and ( Y /= 0.0 ) ) then + assert FALSE + report "X < 0.0 and Y /= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + if ( ( X = 0.0 ) and ( Y <= 0.0 ) ) then + assert FALSE + report "X = 0.0 and Y <= 0.0 in X**Y" + severity ERROR; + return 0.0; + end if; + + -- Get value for special cases + if ( X = 0.0 and Y > 0.0 ) then + return 0.0; + end if; + + if ( X = 1.0 ) then + return 1.0; + end if; + + if ( Y = 0.0 and X /= 0.0 ) then + return 1.0; + end if; + + if ( Y = 1.0) then + return (X); + end if; + + -- Get value for general case + return EXP (Y * LOG (X)); + end "**"; + + function EXP (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) This function computes the exponential using the following + -- series: + -- exp(x) = 1 + x + x**2/2! + x**3/3! + ... ; |x| < 1.0 + -- and reduces argument X to take advantage of exp(x+y) = + -- exp(x)*exp(y) + -- + -- b) This implementation limits X to be less than LOG(REAL'HIGH) + -- to avoid overflow. Returns REAL'HIGH when X reaches that + -- limit + -- + constant EPS : REAL := BASE_EPS*BASE_EPS*BASE_EPS;-- Precision criteria + + variable RECIPROCAL: BOOLEAN := X < 0.0;-- Check sign of argument + variable XLOCAL : REAL := ABS(X); -- Use positive value + variable OLDVAL: REAL ; + variable COUNT: INTEGER ; + variable NEWVAL: REAL ; + variable LAST_TERM: REAL ; + variable FACTOR : REAL := 1.0; + + begin + -- Compute value for special cases + if X = 0.0 then + return 1.0; + end if; + + if XLOCAL = 1.0 then + if RECIPROCAL then + return MATH_1_OVER_E; + else + return MATH_E; + end if; + end if; + + if XLOCAL = 2.0 then + if RECIPROCAL then + return 1.0/MATH_E_P2; + else + return MATH_E_P2; + end if; + end if; + + if XLOCAL = 10.0 then + if RECIPROCAL then + return 1.0/MATH_E_P10; + else + return MATH_E_P10; + end if; + end if; + + if XLOCAL > LOG(REAL'HIGH) then + if RECIPROCAL then + return 0.0; + else + assert FALSE + report "X > LOG(REAL'HIGH) in EXP(X)" + severity NOTE; + return REAL'HIGH; + end if; + end if; + + -- Reduce argument to ABS(X) < 1.0 + while XLOCAL > 10.0 loop + XLOCAL := XLOCAL - 10.0; + FACTOR := FACTOR*MATH_E_P10; + end loop; + + while XLOCAL > 1.0 loop + XLOCAL := XLOCAL - 1.0; + FACTOR := FACTOR*MATH_E; + end loop; + + -- Compute value for case 0 < XLOCAL < 1 + OLDVAL := 1.0; + LAST_TERM := XLOCAL; + NEWVAL:= OLDVAL + LAST_TERM; + COUNT := 2; + + -- Check for relative and absolute errors and max count + while ( ( (ABS((NEWVAL - OLDVAL)/NEWVAL) > EPS) OR + (ABS(NEWVAL - OLDVAL) > EPS) ) AND + (COUNT < MAX_COUNT ) ) loop + OLDVAL := NEWVAL; + LAST_TERM := LAST_TERM*(XLOCAL / (REAL(COUNT))); + NEWVAL := OLDVAL + LAST_TERM; + COUNT := COUNT + 1; + end loop; + + -- Compute final value using exp(x+y) = exp(x)*exp(y) + NEWVAL := NEWVAL*FACTOR; + + if RECIPROCAL then + NEWVAL := 1.0/NEWVAL; + end if; + + return NEWVAL; + end EXP; + + + -- + -- Auxiliary Functions to Compute LOG + -- + function ILOGB(X: in REAL) return INTEGER IS + -- Description: + -- Returns n such that -1 <= ABS(X)/2^n < 2 + -- Notes: + -- None + + variable N: INTEGER := 0; + variable Y: REAL := ABS(X); + + begin + if(Y = 1.0 or Y = 0.0) then + return 0; + end if; + + if( Y > 1.0) then + while Y >= 2.0 loop + Y := Y/2.0; + N := N+1; + end loop; + return N; + end if; + + -- O < Y < 1 + while Y < 1.0 loop + Y := Y*2.0; + N := N -1; + end loop; + return N; + end ILOGB; + + function LDEXP(X: in REAL; N: in INTEGER) RETURN REAL IS + -- Description: + -- Returns X*2^n + -- Notes: + -- None + begin + return X*(2.0 ** N); + end LDEXP; + + function LOG (X : in REAL ) return REAL IS + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- + -- Notes: + -- a) Returns REAL'LOW on error + -- + -- Copyright (c) 1992 Regents of the University of California. + -- All rights reserved. + -- + -- Redistribution and use in source and binary forms, with or without + -- modification, are permitted provided that the following conditions + -- are met: + -- 1. Redistributions of source code must retain the above copyright + -- notice, this list of conditions and the following disclaimer. + -- 2. Redistributions in binary form must reproduce the above copyright + -- notice, this list of conditions and the following disclaimer in the + -- documentation and/or other materials provided with the distribution. + -- 3. All advertising materials mentioning features or use of this + -- software must display the following acknowledgement: + -- This product includes software developed by the University of + -- California, Berkeley and its contributors. + -- 4. Neither the name of the University nor the names of its + -- contributors may be used to endorse or promote products derived + -- from this software without specific prior written permission. + -- + -- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' + -- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + -- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + -- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR + -- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + -- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + -- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + -- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + -- OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + -- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + -- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + -- DAMAGE. + -- + -- NOTE: This VHDL version was generated using the C version of the + -- original function by the IEEE VHDL Mathematical Package + -- Working Group (CS/JT) + + constant N: INTEGER := 128; + + -- Table of log(Fj) = logF_head[j] + logF_tail[j], for Fj = 1+j/128. + -- Used for generation of extend precision logarithms. + -- The constant 35184372088832 is 2^45, so the divide is exact. + -- It ensures correct reading of logF_head, even for inaccurate + -- decimal-to-binary conversion routines. (Everybody gets the + -- right answer for INTEGERs less than 2^53.) + -- Values for LOG(F) were generated using error < 10^-57 absolute + -- with the bc -l package. + + type REAL_VECTOR is array (NATURAL range <>) of REAL; + + constant A1:REAL := 0.08333333333333178827; + constant A2:REAL := 0.01250000000377174923; + constant A3:REAL := 0.002232139987919447809; + constant A4:REAL := 0.0004348877777076145742; + + constant LOGF_HEAD: REAL_VECTOR(0 TO N) := ( + 0.0, + 0.007782140442060381246, + 0.015504186535963526694, + 0.023167059281547608406, + 0.030771658666765233647, + 0.038318864302141264488, + 0.045809536031242714670, + 0.053244514518837604555, + 0.060624621816486978786, + 0.067950661908525944454, + 0.075223421237524235039, + 0.082443669210988446138, + 0.089612158689760690322, + 0.096729626458454731618, + 0.103796793681567578460, + 0.110814366340264314203, + 0.117783035656430001836, + 0.124703478501032805070, + 0.131576357788617315236, + 0.138402322859292326029, + 0.145182009844575077295, + 0.151916042025732167530, + 0.158605030176659056451, + 0.165249572895390883786, + 0.171850256926518341060, + 0.178407657472689606947, + 0.184922338493834104156, + 0.191394852999565046047, + 0.197825743329758552135, + 0.204215541428766300668, + 0.210564769107350002741, + 0.216873938300523150246, + 0.223143551314024080056, + 0.229374101064877322642, + 0.235566071312860003672, + 0.241719936886966024758, + 0.247836163904594286577, + 0.253915209980732470285, + 0.259957524436686071567, + 0.265963548496984003577, + 0.271933715484010463114, + 0.277868451003087102435, + 0.283768173130738432519, + 0.289633292582948342896, + 0.295464212893421063199, + 0.301261330578199704177, + 0.307025035294827830512, + 0.312755710004239517729, + 0.318453731118097493890, + 0.324119468654316733591, + 0.329753286372579168528, + 0.335355541920762334484, + 0.340926586970454081892, + 0.346466767346100823488, + 0.351976423156884266063, + 0.357455888922231679316, + 0.362905493689140712376, + 0.368325561158599157352, + 0.373716409793814818840, + 0.379078352934811846353, + 0.384411698910298582632, + 0.389716751140440464951, + 0.394993808240542421117, + 0.400243164127459749579, + 0.405465108107819105498, + 0.410659924985338875558, + 0.415827895143593195825, + 0.420969294644237379543, + 0.426084395310681429691, + 0.431173464818130014464, + 0.436236766774527495726, + 0.441274560805140936281, + 0.446287102628048160113, + 0.451274644139630254358, + 0.456237433481874177232, + 0.461175715122408291790, + 0.466089729924533457960, + 0.470979715219073113985, + 0.475845904869856894947, + 0.480688529345570714212, + 0.485507815781602403149, + 0.490303988045525329653, + 0.495077266798034543171, + 0.499827869556611403822, + 0.504556010751912253908, + 0.509261901790523552335, + 0.513945751101346104405, + 0.518607764208354637958, + 0.523248143765158602036, + 0.527867089620485785417, + 0.532464798869114019908, + 0.537041465897345915436, + 0.541597282432121573947, + 0.546132437597407260909, + 0.550647117952394182793, + 0.555141507540611200965, + 0.559615787935399566777, + 0.564070138285387656651, + 0.568504735352689749561, + 0.572919753562018740922, + 0.577315365035246941260, + 0.581691739635061821900, + 0.586049045003164792433, + 0.590387446602107957005, + 0.594707107746216934174, + 0.599008189645246602594, + 0.603290851438941899687, + 0.607555250224322662688, + 0.611801541106615331955, + 0.616029877215623855590, + 0.620240409751204424537, + 0.624433288012369303032, + 0.628608659422752680256, + 0.632766669570628437213, + 0.636907462236194987781, + 0.641031179420679109171, + 0.645137961373620782978, + 0.649227946625615004450, + 0.653301272011958644725, + 0.657358072709030238911, + 0.661398482245203922502, + 0.665422632544505177065, + 0.669430653942981734871, + 0.673422675212350441142, + 0.677398823590920073911, + 0.681359224807238206267, + 0.685304003098281100392, + 0.689233281238557538017, + 0.693147180560117703862); + + constant LOGF_TAIL: REAL_VECTOR(0 TO N) := ( + 0.0, + -0.00000000000000543229938420049, + 0.00000000000000172745674997061, + -0.00000000000001323017818229233, + -0.00000000000001154527628289872, + -0.00000000000000466529469958300, + 0.00000000000005148849572685810, + -0.00000000000002532168943117445, + -0.00000000000005213620639136504, + -0.00000000000001819506003016881, + 0.00000000000006329065958724544, + 0.00000000000008614512936087814, + -0.00000000000007355770219435028, + 0.00000000000009638067658552277, + 0.00000000000007598636597194141, + 0.00000000000002579999128306990, + -0.00000000000004654729747598444, + -0.00000000000007556920687451336, + 0.00000000000010195735223708472, + -0.00000000000017319034406422306, + -0.00000000000007718001336828098, + 0.00000000000010980754099855238, + -0.00000000000002047235780046195, + -0.00000000000008372091099235912, + 0.00000000000014088127937111135, + 0.00000000000012869017157588257, + 0.00000000000017788850778198106, + 0.00000000000006440856150696891, + 0.00000000000016132822667240822, + -0.00000000000007540916511956188, + -0.00000000000000036507188831790, + 0.00000000000009120937249914984, + 0.00000000000018567570959796010, + -0.00000000000003149265065191483, + -0.00000000000009309459495196889, + 0.00000000000017914338601329117, + -0.00000000000001302979717330866, + 0.00000000000023097385217586939, + 0.00000000000023999540484211737, + 0.00000000000015393776174455408, + -0.00000000000036870428315837678, + 0.00000000000036920375082080089, + -0.00000000000009383417223663699, + 0.00000000000009433398189512690, + 0.00000000000041481318704258568, + -0.00000000000003792316480209314, + 0.00000000000008403156304792424, + -0.00000000000034262934348285429, + 0.00000000000043712191957429145, + -0.00000000000010475750058776541, + -0.00000000000011118671389559323, + 0.00000000000037549577257259853, + 0.00000000000013912841212197565, + 0.00000000000010775743037572640, + 0.00000000000029391859187648000, + -0.00000000000042790509060060774, + 0.00000000000022774076114039555, + 0.00000000000010849569622967912, + -0.00000000000023073801945705758, + 0.00000000000015761203773969435, + 0.00000000000003345710269544082, + -0.00000000000041525158063436123, + 0.00000000000032655698896907146, + -0.00000000000044704265010452446, + 0.00000000000034527647952039772, + -0.00000000000007048962392109746, + 0.00000000000011776978751369214, + -0.00000000000010774341461609578, + 0.00000000000021863343293215910, + 0.00000000000024132639491333131, + 0.00000000000039057462209830700, + -0.00000000000026570679203560751, + 0.00000000000037135141919592021, + -0.00000000000017166921336082431, + -0.00000000000028658285157914353, + -0.00000000000023812542263446809, + 0.00000000000006576659768580062, + -0.00000000000028210143846181267, + 0.00000000000010701931762114254, + 0.00000000000018119346366441110, + 0.00000000000009840465278232627, + -0.00000000000033149150282752542, + -0.00000000000018302857356041668, + -0.00000000000016207400156744949, + 0.00000000000048303314949553201, + -0.00000000000071560553172382115, + 0.00000000000088821239518571855, + -0.00000000000030900580513238244, + -0.00000000000061076551972851496, + 0.00000000000035659969663347830, + 0.00000000000035782396591276383, + -0.00000000000046226087001544578, + 0.00000000000062279762917225156, + 0.00000000000072838947272065741, + 0.00000000000026809646615211673, + -0.00000000000010960825046059278, + 0.00000000000002311949383800537, + -0.00000000000058469058005299247, + -0.00000000000002103748251144494, + -0.00000000000023323182945587408, + -0.00000000000042333694288141916, + -0.00000000000043933937969737844, + 0.00000000000041341647073835565, + 0.00000000000006841763641591466, + 0.00000000000047585534004430641, + 0.00000000000083679678674757695, + -0.00000000000085763734646658640, + 0.00000000000021913281229340092, + -0.00000000000062242842536431148, + -0.00000000000010983594325438430, + 0.00000000000065310431377633651, + -0.00000000000047580199021710769, + -0.00000000000037854251265457040, + 0.00000000000040939233218678664, + 0.00000000000087424383914858291, + 0.00000000000025218188456842882, + -0.00000000000003608131360422557, + -0.00000000000050518555924280902, + 0.00000000000078699403323355317, + -0.00000000000067020876961949060, + 0.00000000000016108575753932458, + 0.00000000000058527188436251509, + -0.00000000000035246757297904791, + -0.00000000000018372084495629058, + 0.00000000000088606689813494916, + 0.00000000000066486268071468700, + 0.00000000000063831615170646519, + 0.00000000000025144230728376072, + -0.00000000000017239444525614834); + + variable M, J:INTEGER; + variable F1, F2, G, Q, U, U2, V: REAL; + variable ZERO: REAL := 0.0;--Made variable so no constant folding occurs + variable ONE: REAL := 1.0; --Made variable so no constant folding occurs + + -- double logb(), ldexp(); + + variable U1:REAL; + + begin + + -- Check validity of argument + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG(X)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = MATH_E ) then + return 1.0; + end if; + + -- Argument reduction: 1 <= g < 2; x/2^m = g; + -- y = F*(1 + f/F) for |f| <= 2^-8 + + M := ILOGB(X); + G := LDEXP(X, -M); + J := INTEGER(REAL(N)*(G-1.0)); -- C code adds 0.5 for rounding + F1 := (1.0/REAL(N)) * REAL(J) + 1.0; --F1*128 is an INTEGER in [128,512] + F2 := G - F1; + + -- Approximate expansion for log(1+f2/F1) ~= u + q + G := 1.0/(2.0*F1+F2); + U := 2.0*F2*G; + V := U*U; + Q := U*V*(A1 + V*(A2 + V*(A3 + V*A4))); + + -- Case 1: u1 = u rounded to 2^-43 absolute. Since u < 2^-8, + -- u1 has at most 35 bits, and F1*u1 is exact, as F1 has < 8 bits. + -- It also adds exactly to |m*log2_hi + log_F_head[j] | < 750. + -- + if ( J /= 0 or M /= 0) then + U1 := U + 513.0; + U1 := U1 - 513.0; + + -- Case 2: |1-x| < 1/256. The m- and j- dependent terms are zero + -- u1 = u to 24 bits. + -- + else + U1 := U; + --TRUNC(U1); --In c this is u1 = (double) (float) (u1) + end if; + + U2 := (2.0*(F2 - F1*U1) - U1*F2) * G; + -- u1 + u2 = 2f/(2F+f) to extra precision. + + -- log(x) = log(2^m*F1*(1+f2/F1)) = + -- (m*log2_hi+LOGF_HEAD(j)+u1) + (m*log2_lo+LOGF_TAIL(j)+q); + -- (exact) + (tiny) + + U1 := U1 + REAL(M)*LOGF_HEAD(N) + LOGF_HEAD(J); -- Exact + U2 := (U2 + LOGF_TAIL(J)) + Q; -- Tiny + U2 := U2 + LOGF_TAIL(N)*REAL(M); + return (U1 + U2); + end LOG; + + + function LOG2 (X: in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns REAL'LOW on error + begin + -- Check validity of arguments + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG2(X)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = 2.0 ) then + return 1.0; + end if; + + -- Compute value for general case + return ( MATH_LOG2_OF_E*LOG(X) ); + end LOG2; + + + function LOG10 (X: in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns REAL'LOW on error + begin + -- Check validity of arguments + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG10(X)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = 10.0 ) then + return 1.0; + end if; + + -- Compute value for general case + return ( MATH_LOG10_OF_E*LOG(X) ); + end LOG10; + + + function LOG (X: in REAL; BASE: in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns REAL'LOW on error + begin + -- Check validity of arguments + if ( X <= 0.0 ) then + assert FALSE + report "X <= 0.0 in LOG(X, BASE)" + severity ERROR; + return(REAL'LOW); + end if; + + if ( BASE <= 0.0 or BASE = 1.0 ) then + assert FALSE + report "BASE <= 0.0 or BASE = 1.0 in LOG(X, BASE)" + severity ERROR; + return(REAL'LOW); + end if; + + -- Compute value for special cases + if ( X = 1.0 ) then + return 0.0; + end if; + + if ( X = BASE ) then + return 1.0; + end if; + + -- Compute value for general case + return ( LOG(X)/LOG(BASE)); + end LOG; + + + function SIN (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) SIN(-X) = -SIN(X) + -- b) SIN(X) = X if ABS(X) < EPS + -- c) SIN(X) = X - X**3/3! if EPS < ABS(X) < BASE_EPS + -- d) SIN(MATH_PI_OVER_2 - X) = COS(X) + -- e) COS(X) = 1.0 - 0.5*X**2 if ABS(X) < EPS + -- f) COS(X) = 1.0 - 0.5*X**2 + (X**4)/4! if + -- EPS< ABS(X) MATH_2_PI then + TEMP := FLOOR(XLOCAL/MATH_2_PI); + XLOCAL := XLOCAL - TEMP*MATH_2_PI; + end if; + + if XLOCAL < 0.0 then + assert FALSE + report "XLOCAL <= 0.0 after reduction in SIN(X)" + severity ERROR; + XLOCAL := -XLOCAL; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 or XLOCAL = MATH_2_PI or XLOCAL = MATH_PI then + return 0.0; + end if; + + if XLOCAL = MATH_PI_OVER_2 then + if NEGATIVE then + return -1.0; + else + return 1.0; + end if; + end if; + + if XLOCAL = MATH_3_PI_OVER_2 then + if NEGATIVE then + return 1.0; + else + return -1.0; + end if; + end if; + + if XLOCAL < EPS then + if NEGATIVE then + return -XLOCAL; + else + return XLOCAL; + end if; + else + if XLOCAL < BASE_EPS then + TEMP := XLOCAL - (XLOCAL*XLOCAL*XLOCAL)/6.0; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + end if; + end if; + + TEMP := MATH_PI - XLOCAL; + if ABS(TEMP) < EPS then + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + else + if ABS(TEMP) < BASE_EPS then + TEMP := TEMP - (TEMP*TEMP*TEMP)/6.0; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + end if; + end if; + + TEMP := MATH_2_PI - XLOCAL; + if ABS(TEMP) < EPS then + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + else + if ABS(TEMP) < BASE_EPS then + TEMP := TEMP - (TEMP*TEMP*TEMP)/6.0; + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + end if; + end if; + + TEMP := ABS(MATH_PI_OVER_2 - XLOCAL); + if TEMP < EPS then + TEMP := 1.0 - TEMP*TEMP*0.5; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + else + if TEMP < BASE_EPS then + TEMP := 1.0 -TEMP*TEMP*0.5 + TEMP*TEMP*TEMP*TEMP/24.0; + if NEGATIVE then + return -TEMP; + else + return TEMP; + end if; + end if; + end if; + + TEMP := ABS(MATH_3_PI_OVER_2 - XLOCAL); + if TEMP < EPS then + TEMP := 1.0 - TEMP*TEMP*0.5; + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + else + if TEMP < BASE_EPS then + TEMP := 1.0 -TEMP*TEMP*0.5 + TEMP*TEMP*TEMP*TEMP/24.0; + if NEGATIVE then + return TEMP; + else + return -TEMP; + end if; + end if; + end if; + + -- Compute value for general cases + if ((XLOCAL < MATH_PI_OVER_2 ) and (XLOCAL > 0.0)) then + VALUE:= CORDIC( KC, 0.0, x, 27, ROTATION)(1); + end if; + + N := INTEGER ( FLOOR(XLOCAL/MATH_PI_OVER_2)); + case QUADRANT( N mod 4) is + when 0 => + VALUE := CORDIC( KC, 0.0, XLOCAL, 27, ROTATION)(1); + when 1 => + VALUE := CORDIC( KC, 0.0, XLOCAL - MATH_PI_OVER_2, 27, + ROTATION)(0); + when 2 => + VALUE := -CORDIC( KC, 0.0, XLOCAL - MATH_PI, 27, ROTATION)(1); + when 3 => + VALUE := -CORDIC( KC, 0.0, XLOCAL - MATH_3_PI_OVER_2, 27, + ROTATION)(0); + end case; + + if NEGATIVE then + return -VALUE; + else + return VALUE; + end if; + end SIN; + + + function COS (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) COS(-X) = COS(X) + -- b) COS(X) = SIN(MATH_PI_OVER_2 - X) + -- c) COS(MATH_PI + X) = -COS(X) + -- d) COS(X) = 1.0 - X*X/2.0 if ABS(X) < EPS + -- e) COS(X) = 1.0 - 0.5*X**2 + (X**4)/4! if + -- EPS< ABS(X) MATH_2_PI then + TEMP := FLOOR(XLOCAL/MATH_2_PI); + XLOCAL := XLOCAL - TEMP*MATH_2_PI; + end if; + + if XLOCAL < 0.0 then + assert FALSE + report "XLOCAL <= 0.0 after reduction in COS(X)" + severity ERROR; + XLOCAL := -XLOCAL; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 or XLOCAL = MATH_2_PI then + return 1.0; + end if; + + if XLOCAL = MATH_PI then + return -1.0; + end if; + + if XLOCAL = MATH_PI_OVER_2 or XLOCAL = MATH_3_PI_OVER_2 then + return 0.0; + end if; + + TEMP := ABS(XLOCAL); + if ( TEMP < EPS) then + return (1.0 - 0.5*TEMP*TEMP); + else + if (TEMP < BASE_EPS) then + return (1.0 -0.5*TEMP*TEMP + TEMP*TEMP*TEMP*TEMP/24.0); + end if; + end if; + + TEMP := ABS(XLOCAL -MATH_2_PI); + if ( TEMP < EPS) then + return (1.0 - 0.5*TEMP*TEMP); + else + if (TEMP < BASE_EPS) then + return (1.0 -0.5*TEMP*TEMP + TEMP*TEMP*TEMP*TEMP/24.0); + end if; + end if; + + TEMP := ABS (XLOCAL - MATH_PI); + if TEMP < EPS then + return (-1.0 + 0.5*TEMP*TEMP); + else + if (TEMP < BASE_EPS) then + return (-1.0 +0.5*TEMP*TEMP - TEMP*TEMP*TEMP*TEMP/24.0); + end if; + end if; + + -- Compute value for general cases + return SIN(MATH_PI_OVER_2 - XLOCAL); + end COS; + + function TAN (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) TAN(0.0) = 0.0 + -- b) TAN(-X) = -TAN(X) + -- c) Returns REAL'LOW on error if X < 0.0 + -- d) Returns REAL'HIGH on error if X > 0.0 + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X) ; + variable VALUE: REAL; + variable TEMP : REAL; + + begin + -- Make 0.0 <= XLOCAL <= MATH_2_PI + if XLOCAL > MATH_2_PI then + TEMP := FLOOR(XLOCAL/MATH_2_PI); + XLOCAL := XLOCAL - TEMP*MATH_2_PI; + end if; + + if XLOCAL < 0.0 then + assert FALSE + report "XLOCAL <= 0.0 after reduction in TAN(X)" + severity ERROR; + XLOCAL := -XLOCAL; + end if; + + -- Check validity of argument + if XLOCAL = MATH_PI_OVER_2 then + assert FALSE + report "X is a multiple of MATH_PI_OVER_2 in TAN(X)" + severity ERROR; + if NEGATIVE then + return(REAL'LOW); + else + return(REAL'HIGH); + end if; + end if; + + if XLOCAL = MATH_3_PI_OVER_2 then + assert FALSE + report "X is a multiple of MATH_3_PI_OVER_2 in TAN(X)" + severity ERROR; + if NEGATIVE then + return(REAL'HIGH); + else + return(REAL'LOW); + end if; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 or XLOCAL = MATH_PI then + return 0.0; + end if; + + -- Compute value for general cases + VALUE := SIN(XLOCAL)/COS(XLOCAL); + if NEGATIVE then + return -VALUE; + else + return VALUE; + end if; + end TAN; + + function ARCSIN (X : in REAL ) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARCSIN(-X) = -ARCSIN(X) + -- b) Returns X on error + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable VALUE : REAL; + + begin + -- Check validity of arguments + if XLOCAL > 1.0 then + assert FALSE + report "ABS(X) > 1.0 in ARCSIN(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if XLOCAL = 0.0 then + return 0.0; + elsif XLOCAL = 1.0 then + if NEGATIVE then + return -MATH_PI_OVER_2; + else + return MATH_PI_OVER_2; + end if; + end if; + + -- Compute value for general cases + if XLOCAL < 0.9 then + VALUE := ARCTAN(XLOCAL/(SQRT(1.0 - XLOCAL*XLOCAL))); + else + VALUE := MATH_PI_OVER_2 - ARCTAN(SQRT(1.0 - XLOCAL*XLOCAL)/XLOCAL); + end if; + + if NEGATIVE then + VALUE := -VALUE; + end if; + + return VALUE; + end ARCSIN; + + function ARCCOS (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARCCOS(-X) = MATH_PI - ARCCOS(X) + -- b) Returns X on error + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable VALUE : REAL; + + begin + -- Check validity of argument + if XLOCAL > 1.0 then + assert FALSE + report "ABS(X) > 1.0 in ARCCOS(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if X = 1.0 then + return 0.0; + elsif X = 0.0 then + return MATH_PI_OVER_2; + elsif X = -1.0 then + return MATH_PI; + end if; + + -- Compute value for general cases + if XLOCAL > 0.9 then + VALUE := ARCTAN(SQRT(1.0 - XLOCAL*XLOCAL)/XLOCAL); + else + VALUE := MATH_PI_OVER_2 - ARCTAN(XLOCAL/SQRT(1.0 - XLOCAL*XLOCAL)); + end if; + + + if NEGATIVE then + VALUE := MATH_PI - VALUE; + end if; + + return VALUE; + end ARCCOS; + + + function ARCTAN (Y : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) ARCTAN(-Y) = -ARCTAN(Y) + -- b) ARCTAN(Y) = -ARCTAN(1.0/Y) + MATH_PI_OVER_2 for |Y| > 1.0 + -- c) ARCTAN(Y) = Y for |Y| < EPS + + constant EPS : REAL := BASE_EPS*BASE_EPS*BASE_EPS; + + variable NEGATIVE : BOOLEAN := Y < 0.0; + variable RECIPROCAL : BOOLEAN; + variable YLOCAL : REAL := ABS(Y); + variable VALUE : REAL; + + begin + -- Make argument |Y| <=1.0 + if YLOCAL > 1.0 then + YLOCAL := 1.0/YLOCAL; + RECIPROCAL := TRUE; + else + RECIPROCAL := FALSE; + end if; + + -- Compute value for special cases + if YLOCAL = 0.0 then + if RECIPROCAL then + if NEGATIVE then + return (-MATH_PI_OVER_2); + else + return (MATH_PI_OVER_2); + end if; + else + return 0.0; + end if; + end if; + + if YLOCAL < EPS then + if NEGATIVE then + if RECIPROCAL then + return (-MATH_PI_OVER_2 + YLOCAL); + else + return -YLOCAL; + end if; + else + if RECIPROCAL then + return (MATH_PI_OVER_2 - YLOCAL); + else + return YLOCAL; + end if; + end if; + end if; + + -- Compute value for general cases + VALUE := CORDIC( 1.0, YLOCAL, 0.0, 27, VECTORING )(2); + + if RECIPROCAL then + VALUE := MATH_PI_OVER_2 - VALUE; + end if; + + if NEGATIVE then + VALUE := -VALUE; + end if; + + return VALUE; + end ARCTAN; + + + function ARCTAN (Y : in REAL; X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns 0.0 on error + + variable YLOCAL : REAL; + variable VALUE : REAL; + begin + + -- Check validity of arguments + if (Y = 0.0 and X = 0.0 ) then + assert FALSE report + "ARCTAN(0.0, 0.0) is undetermined" + severity ERROR; + return 0.0; + end if; + + -- Compute value for special cases + if Y = 0.0 then + if X > 0.0 then + return 0.0; + else + return MATH_PI; + end if; + end if; + + if X = 0.0 then + if Y > 0.0 then + return MATH_PI_OVER_2; + else + return -MATH_PI_OVER_2; + end if; + end if; + + + -- Compute value for general cases + YLOCAL := ABS(Y/X); + + VALUE := ARCTAN(YLOCAL); + + if X < 0.0 then + VALUE := MATH_PI - VALUE; + end if; + + if Y < 0.0 then + VALUE := -VALUE; + end if; + + return VALUE; + end ARCTAN; + + + function SINH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (EXP(X) - EXP(-X))/2.0 + -- b) SINH(-X) = SINH(X) + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable TEMP : REAL; + variable VALUE : REAL; + + begin + -- Compute value for special cases + if XLOCAL = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + TEMP := EXP(XLOCAL); + VALUE := (TEMP - 1.0/TEMP)*0.5; + + if NEGATIVE then + VALUE := -VALUE; + end if; + + return VALUE; + end SINH; + + function COSH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (EXP(X) + EXP(-X))/2.0 + -- b) COSH(-X) = COSH(X) + + variable XLOCAL : REAL := ABS(X); + variable TEMP : REAL; + variable VALUE : REAL; + begin + -- Compute value for special cases + if XLOCAL = 0.0 then + return 1.0; + end if; + + + -- Compute value for general cases + TEMP := EXP(XLOCAL); + VALUE := (TEMP + 1.0/TEMP)*0.5; + + return VALUE; + end COSH; + + function TANH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (EXP(X) - EXP(-X))/(EXP(X) + EXP(-X)) + -- b) TANH(-X) = -TANH(X) + + variable NEGATIVE : BOOLEAN := X < 0.0; + variable XLOCAL : REAL := ABS(X); + variable TEMP : REAL; + variable VALUE : REAL; + + begin + -- Compute value for special cases + if XLOCAL = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + TEMP := EXP(XLOCAL); + VALUE := (TEMP - 1.0/TEMP)/(TEMP + 1.0/TEMP); + + if NEGATIVE then + return -VALUE; + else + return VALUE; + end if; + end TANH; + + function ARCSINH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns LOG( X + SQRT( X*X + 1.0)) + + begin + -- Compute value for special cases + if X = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + return ( LOG( X + SQRT( X*X + 1.0)) ); + end ARCSINH; + + + + function ARCCOSH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns LOG( X + SQRT( X*X - 1.0)); X >= 1.0 + -- b) Returns X on error + + begin + -- Check validity of arguments + if X < 1.0 then + assert FALSE + report "X < 1.0 in ARCCOSH(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if X = 1.0 then + return 0.0; + end if; + + -- Compute value for general cases + return ( LOG( X + SQRT( X*X - 1.0))); + end ARCCOSH; + + function ARCTANH (X : in REAL) return REAL is + -- Description: + -- See function declaration in IEEE Std 1076.2-1996 + -- Notes: + -- a) Returns (LOG( (1.0 + X)/(1.0 - X)))/2.0 ; | X | < 1.0 + -- b) Returns X on error + begin + -- Check validity of arguments + if ABS(X) >= 1.0 then + assert FALSE + report "ABS(X) >= 1.0 in ARCTANH(X)" + severity ERROR; + return X; + end if; + + -- Compute value for special cases + if X = 0.0 then + return 0.0; + end if; + + -- Compute value for general cases + return( 0.5*LOG( (1.0+X)/(1.0-X) ) ); + end ARCTANH; + +end MATH_REAL; diff --git a/CPLD/LCMXO2-640HC/generate_core.tcl b/CPLD/LCMXO2-640HC/generate_core.tcl index d562b73..47f429b 100644 --- a/CPLD/LCMXO2-640HC/generate_core.tcl +++ b/CPLD/LCMXO2-640HC/generate_core.tcl @@ -1,100 +1,100 @@ -#!/usr/local/bin/wish - -proc GetPlatform {} { - global tcl_platform - - set cpu $tcl_platform(machine) - - switch $cpu { - intel - - i*86* { - set cpu ix86 - } - x86_64 { - if {$tcl_platform(wordSize) == 4} { - set cpu ix86 - } - } - } - - switch $tcl_platform(platform) { - windows { - if {$cpu == "amd64"} { - # Do not check wordSize, win32-x64 is an IL32P64 platform. - set cpu x86_64 - } - if {$cpu == "x86_64"} { - return "nt64" - } else { - return "nt" - } - } - unix { - if {$tcl_platform(os) == "Linux"} { - if {$cpu == "x86_64"} { - return "lin64" - } else { - return "lin" - } - } else { - return "sol" - } - } - } - return "nt" -} - -proc GetCmdLine {lpcfile} { - global Para - - if [catch {open $lpcfile r} fileid] { - puts "Cannot open $para_file file!" - exit -1 - } - - seek $fileid 0 start - set default_match 0 - while {[gets $fileid line] >= 0} { - if {[string first "\[Command\]" $line] == 0} { - set default_match 1 - continue - } - if {[string first "\[" $line] == 0} { - set default_match 0 - } - if {$default_match == 1} { - if [regexp {([^=]*)=(.*)} $line match parameter value] { - if [regexp {([ |\t]*;)} $parameter match] {continue} - if [regexp {(.*)[ |\t]*;} $value match temp] { - set Para($parameter) $temp - } else { - set Para($parameter) $value - } - } - } - } - set default_match 0 - close $fileid - - return $Para(cmd_line) -} - -set platformpath [GetPlatform] -set Para(sbp_path) [file dirname [info script]] -set Para(install_dir) $env(TOOLRTF) -set Para(FPGAPath) "[file join $Para(install_dir) ispfpga bin $platformpath]" - -set scuba "$Para(FPGAPath)/scuba" -set modulename "REFB" -set lang "verilog" -set lpcfile "$Para(sbp_path)/$modulename.lpc" -set arch "xo2c00" -set cmd_line [GetCmdLine $lpcfile] -set fdcfile "$Para(sbp_path)/$modulename.fdc" -if {[file exists $fdcfile] == 0} { - append scuba " " $cmd_line -} else { - append scuba " " $cmd_line " " -fdc " " \"$fdcfile\" -} -set Para(result) [catch {eval exec "$scuba"} msg] -#puts $msg +#!/usr/local/bin/wish + +proc GetPlatform {} { + global tcl_platform + + set cpu $tcl_platform(machine) + + switch $cpu { + intel - + i*86* { + set cpu ix86 + } + x86_64 { + if {$tcl_platform(wordSize) == 4} { + set cpu ix86 + } + } + } + + switch $tcl_platform(platform) { + windows { + if {$cpu == "amd64"} { + # Do not check wordSize, win32-x64 is an IL32P64 platform. + set cpu x86_64 + } + if {$cpu == "x86_64"} { + return "nt64" + } else { + return "nt" + } + } + unix { + if {$tcl_platform(os) == "Linux"} { + if {$cpu == "x86_64"} { + return "lin64" + } else { + return "lin" + } + } else { + return "sol" + } + } + } + return "nt" +} + +proc GetCmdLine {lpcfile} { + global Para + + if [catch {open $lpcfile r} fileid] { + puts "Cannot open $para_file file!" + exit -1 + } + + seek $fileid 0 start + set default_match 0 + while {[gets $fileid line] >= 0} { + if {[string first "\[Command\]" $line] == 0} { + set default_match 1 + continue + } + if {[string first "\[" $line] == 0} { + set default_match 0 + } + if {$default_match == 1} { + if [regexp {([^=]*)=(.*)} $line match parameter value] { + if [regexp {([ |\t]*;)} $parameter match] {continue} + if [regexp {(.*)[ |\t]*;} $value match temp] { + set Para($parameter) $temp + } else { + set Para($parameter) $value + } + } + } + } + set default_match 0 + close $fileid + + return $Para(cmd_line) +} + +set platformpath [GetPlatform] +set Para(sbp_path) [file dirname [info script]] +set Para(install_dir) $env(TOOLRTF) +set Para(FPGAPath) "[file join $Para(install_dir) ispfpga bin $platformpath]" + +set scuba "$Para(FPGAPath)/scuba" +set modulename "REFB" +set lang "verilog" +set lpcfile "$Para(sbp_path)/$modulename.lpc" +set arch "xo2c00" +set cmd_line [GetCmdLine $lpcfile] +set fdcfile "$Para(sbp_path)/$modulename.fdc" +if {[file exists $fdcfile] == 0} { + append scuba " " $cmd_line +} else { + append scuba " " $cmd_line " " -fdc " " \"$fdcfile\" +} +set Para(result) [catch {eval exec "$scuba"} msg] +#puts $msg diff --git a/CPLD/LCMXO2-640HC/generate_ngd.tcl b/CPLD/LCMXO2-640HC/generate_ngd.tcl index 239c19c..d6ce2af 100644 --- a/CPLD/LCMXO2-640HC/generate_ngd.tcl +++ b/CPLD/LCMXO2-640HC/generate_ngd.tcl @@ -1,74 +1,74 @@ -#!/usr/local/bin/wish - -proc GetPlatform {} { - global tcl_platform - - set cpu $tcl_platform(machine) - - switch $cpu { - intel - - i*86* { - set cpu ix86 - } - x86_64 { - if {$tcl_platform(wordSize) == 4} { - set cpu ix86 - } - } - } - - switch $tcl_platform(platform) { - windows { - if {$cpu == "amd64"} { - # Do not check wordSize, win32-x64 is an IL32P64 platform. - set cpu x86_64 - } - if {$cpu == "x86_64"} { - return "nt64" - } else { - return "nt" - } - } - unix { - if {$tcl_platform(os) == "Linux"} { - if {$cpu == "x86_64"} { - return "lin64" - } else { - return "lin" - } - } else { - return "sol" - } - } - } - return "nt" -} - -set platformpath [GetPlatform] -set Para(sbp_path) [file dirname [info script]] -set Para(install_dir) $env(TOOLRTF) -set Para(FPGAPath) "[file join $Para(install_dir) ispfpga bin $platformpath]" -set Para(bin_dir) "[file join $Para(install_dir) bin $platformpath]" - -set Para(ModuleName) "REFB" -set Para(Module) "EFB" -set Para(libname) machxo2 -set Para(arch_name) xo2c00 -set Para(PartType) "LCMXO2-640HC" - -set Para(tech_syn) machxo2 -set Para(tech_cae) machxo2 -set Para(Package) "TQFP100" -set Para(SpeedGrade) "4" -set Para(FMax) "100" -set fdcfile "$Para(sbp_path)/$Para(ModuleName).fdc" - -#edif2ngd -set edif2ngd "$Para(FPGAPath)/edif2ngd" -set Para(result) [catch {eval exec $edif2ngd -l $Para(libname) -d $Para(PartType) -nopropwarn $Para(ModuleName).edn $Para(ModuleName).ngo} msg] -#puts $msg - -#ngdbuild -set ngdbuild "$Para(FPGAPath)/ngdbuild" -set Para(result) [catch {eval exec $ngdbuild -addiobuf -dt -a $Para(arch_name) $Para(ModuleName).ngo $Para(ModuleName).ngd} msg] -#puts $msg +#!/usr/local/bin/wish + +proc GetPlatform {} { + global tcl_platform + + set cpu $tcl_platform(machine) + + switch $cpu { + intel - + i*86* { + set cpu ix86 + } + x86_64 { + if {$tcl_platform(wordSize) == 4} { + set cpu ix86 + } + } + } + + switch $tcl_platform(platform) { + windows { + if {$cpu == "amd64"} { + # Do not check wordSize, win32-x64 is an IL32P64 platform. + set cpu x86_64 + } + if {$cpu == "x86_64"} { + return "nt64" + } else { + return "nt" + } + } + unix { + if {$tcl_platform(os) == "Linux"} { + if {$cpu == "x86_64"} { + return "lin64" + } else { + return "lin" + } + } else { + return "sol" + } + } + } + return "nt" +} + +set platformpath [GetPlatform] +set Para(sbp_path) [file dirname [info script]] +set Para(install_dir) $env(TOOLRTF) +set Para(FPGAPath) "[file join $Para(install_dir) ispfpga bin $platformpath]" +set Para(bin_dir) "[file join $Para(install_dir) bin $platformpath]" + +set Para(ModuleName) "REFB" +set Para(Module) "EFB" +set Para(libname) machxo2 +set Para(arch_name) xo2c00 +set Para(PartType) "LCMXO2-640HC" + +set Para(tech_syn) machxo2 +set Para(tech_cae) machxo2 +set Para(Package) "TQFP100" +set Para(SpeedGrade) "4" +set Para(FMax) "100" +set fdcfile "$Para(sbp_path)/$Para(ModuleName).fdc" + +#edif2ngd +set edif2ngd "$Para(FPGAPath)/edif2ngd" +set Para(result) [catch {eval exec $edif2ngd -l $Para(libname) -d $Para(PartType) -nopropwarn $Para(ModuleName).edn $Para(ModuleName).ngo} msg] +#puts $msg + +#ngdbuild +set ngdbuild "$Para(FPGAPath)/ngdbuild" +set Para(result) [catch {eval exec $ngdbuild -addiobuf -dt -a $Para(arch_name) $Para(ModuleName).ngo $Para(ModuleName).ngd} msg] +#puts $msg diff --git a/CPLD/LCMXO2-640HC/impl1/.build_status b/CPLD/LCMXO2-640HC/impl1/.build_status index b4a92f0..4caaa2d 100644 --- a/CPLD/LCMXO2-640HC/impl1/.build_status +++ b/CPLD/LCMXO2-640HC/impl1/.build_status @@ -2,41 +2,54 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - + + - - + + - - + + - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/CPLD/LCMXO2-640HC/impl1/IBIS/LCMXO2_640HC_impl1.ibs b/CPLD/LCMXO2-640HC/impl1/IBIS/LCMXO2_640HC_impl1.ibs new file mode 100644 index 0000000..267f374 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/IBIS/LCMXO2_640HC_impl1.ibs @@ -0,0 +1,3151 @@ +|************************************************************************ +| IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 +| Generate date: Sat Aug 19 21:55:13 2023 +|************************************************************************ +| IBIS File LibisMaker.ibs +| LibisGen v2.0.1.0, 02/25/2008, Lattice Semiconductor Corporation +| Modified by LibisMaker v2.0.1.0, 02/25/2008, Lattice Semiconductor +| North Carolina State University, ERL, 2006 +|************************************************************************ +[IBIS ver] 3.2 +[File Name] LCMXO2_640HC_impl1.ibs +[File Rev] 3.5 +[Date] Thu Sep 10 07:33:23 PDT 2020 +[Source] Lattice Semiconductor cs200fl Process + LCMXO2-640HC FINAL + Lattice Semiconductor has worked hard to ensure the + models below are accurate and complete. However, the + data below was generated using simulation of the + input/output model files for the silicon. Therefore, + the data below is for reference and initial design + purposes only. +| + Lattice Semiconductor grants permission to use this + data for use in printed circuit design using this + Lattice programmable logic device. Other use of this + code, including the selling or duplication of any + portion is strictly prohibited. +| +| NAMING CONVENTION +| + The IBIS [Model] header is limited by the specification to a + total of characters. With such a set of characters available + for naming models it becomes important to attempt to + meaningfully encode the IO standards so they fit within the + twenty character limit. It would seem that twenty characters + would provide room enough for describing IO's. However, the + PLD IO structure continues to grow more and more complex. The + complexity is making the twenty characters insuffiently + descriptive. In order to overcome this issue the naming + convention described below is implemented to resolve the issue. +| +The twenty character space is managed as follows: + bbbvvvsdddprugtcoixx +| + b = standard + v = voltage (x.xx V) + s = slew code + d = drive (xx.x ma) + p = pullup code + r = series resistance or bank_vccio code + u = terminate to vcc code + g = terminate to gnd code + t = terminate to vtt code + c = common mode termination mode + o = diff resistor code + i = diff resistor current code + x = reserved +| +| + standard +| + lvcmos lvc + lvcmosd lvd + lvcmosr lvr + lvds25e lve + lvttl lvt + lvttld ltd + pci pci + sstl_I ss1 + sstl_II ss2 + sstld_I s1d + sstld_II s2d + hstl_i hs1 + hstl_ii hs2 + hstld_i h1d + hstld_ii h2d + lvds25 lvs + blvds25 blv + blvds25e blv + mlvds25 mlv + mlvds25e mlv + lvpecl33 lvp + lvpecl33e lvp + rsds25 rsd + rsds25e rse + mipi mip + mipi_lp mip + vref1 vr1 + vref2 vr2 + ref_res rer +| +| + slew + na a + fast f + slow s +| + pullmode + off a + pullup b + pulldown c + bushold d + clamp e + up_clamp f + down_clamp g + keeper_clamp h +| + impedance or Bank_vccio + off a + 25 b + 33 c + 50 d + 100 e + 3.3 f + 2.5 g + 1.8 h + 1.5 i + 1.2 j +| + termVCC + off a + 50 b + 100 c + 120 d +| + termGND + off a + 50 b + 100 c + 120 d +| + termVTT + off a + 60 b + 75 c + 120 d + 150 e + 210 f +| + VCMT + off a + VCMT b + VTT c + DDR-2 d +| + differential resistor + off a + 100 b +| + diff drive + NA a + 2.0 b + 3.5 c + 1.25 f + 2.5 g +| + Reserved IO type + in input only + ou output + io I/O + od Open drain + on Inverting differential I/O + (signal name only) + op Non-Inverting differential I/O + (signal name only) +| + Lattice Semiconductor Corporation + 5555 NE Moore Court + Hillsboro, OR 97214 + U.S.A +| + TEL: 1-800-Lattice (USA and Canada) + 408-826-6000 (other locations) +| + web: http://www.latticesemi.com/ + email: techsupport@latticesemi.com +| +| +| +[Disclaimer] This IBIS source code is intended as a design reference + which illustrates how the Lattice Semiconductor device operates. + It is the user's responsibility to verify their design for + consistency and functionality through the use of formal + verification methods. Lattice Semiconductor provides no warranty + regarding the use or functionality of this data. +| +[Copyright] Copyright 2007 by Lattice Semiconductor Corporation +| +| +|************************************************************************ +| Component XO2 +|************************************************************************ +| +[Component] XO2 +[Manufacturer] Lattice Semiconductor Corp. +[Package] +|TQFP100 +| variable typ min max +R_pkg 150.5m 124.0m 187.0m +L_pkg 6.27nH 5.50nH 7.16nH +C_pkg 0.95pF 0.87pF 1.07pF +| +[Pin] signal_name model_name R_pin L_pin C_pin +10 CROW[0] lvc330axxxhfaaaaaain +16 CROW[1] lvc330axxxhfaaaaaain +3 Din[0] lvc330axxxhfaaaaaain +96 Din[1] lvc330axxxhfaaaaaain +88 Din[2] lvc330axxxhfaaaaaain +97 Din[3] lvc330axxxhfaaaaaain +99 Din[4] lvc330axxxhfaaaaaain +98 Din[5] lvc330axxxhfaaaaaain +2 Din[6] lvc330axxxhfaaaaaain +1 Din[7] lvc330axxxhfaaaaaain +76 Dout[0] lvc330s040daaaaaaaou +86 Dout[1] lvc330s040daaaaaaaou +87 Dout[2] lvc330s040daaaaaaaou +85 Dout[3] lvc330s040daaaaaaaou +83 Dout[4] lvc330s040daaaaaaaou +84 Dout[5] lvc330s040daaaaaaaou +78 Dout[6] lvc330s040daaaaaaaou +82 Dout[7] lvc330s040daaaaaaaou +34 LED lvc330s240daaaaaaaou +14 MAin[0] lvc330axxxhfaaaaaain +12 MAin[1] lvc330axxxhfaaaaaain +13 MAin[2] lvc330axxxhfaaaaaain +21 MAin[3] lvc330axxxhfaaaaaain +20 MAin[4] lvc330axxxhfaaaaaain +19 MAin[5] lvc330axxxhfaaaaaain +24 MAin[6] lvc330axxxhfaaaaaain +18 MAin[7] lvc330axxxhfaaaaaain +25 MAin[8] lvc330axxxhfaaaaaain +32 MAin[9] lvc330axxxhfaaaaaain +8 PHI2 lvc330axxxgfaaaaaain +66 RA[0] lvc330s040daaaaaaaou +64 RA[10] lvc330s040daaaaaaaou +59 RA[11] lvc330s040daaaaaaaou +67 RA[1] lvc330s040daaaaaaaou +69 RA[2] lvc330s040daaaaaaaou +71 RA[3] lvc330s040daaaaaaaou +74 RA[4] lvc330s040daaaaaaaou +70 RA[5] lvc330s040daaaaaaaou +68 RA[6] lvc330s040daaaaaaaou +75 RA[7] lvc330s040daaaaaaaou +65 RA[8] lvc330s040daaaaaaaou +63 RA[9] lvc330s040daaaaaaaou +58 RBA[0] lvc330s040daaaaaaaou +60 RBA[1] lvc330s040daaaaaaaou +53 RCKE lvc330s040daaaaaaaou +62 RCLK lvc330axxxhfaaaaaain +51 RDQMH lvc330s040daaaaaaaou +48 RDQML lvc330s040daaaaaaaou +36 RD[0] lvc330s040haaaaaaaio +37 RD[1] lvc330s040haaaaaaaio +38 RD[2] lvc330s040haaaaaaaio +39 RD[3] lvc330s040haaaaaaaio +40 RD[4] lvc330s040haaaaaaaio +41 RD[5] lvc330s040haaaaaaaio +42 RD[6] lvc330s040haaaaaaaio +43 RD[7] lvc330s040haaaaaaaio +9 nCCAS lvc330axxxffaaaaaain +17 nCRAS lvc330axxxffaaaaaain +15 nFWE lvc330axxxffaaaaaain +52 nRCAS lvc330s040daaaaaaaou +57 nRCS lvc330s040daaaaaaaou +54 nRRAS lvc330s040daaaaaaaou +49 nRWE lvc330s040daaaaaaaou +|************************************************************************ +[Model] lvc330axxxffaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.8000V +Vinh = 2.0000V +C_comp 4.2000pF 3.8000pF 7.5000pF +| +| +[Temperature Range] 25.0000 0.1050k -40.0000 +[Voltage Range] 3.3000V 3.1400V 3.4700V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.9552A -0.9302A -0.9778A + -3.25 -0.9306A -0.9058A -0.9532A + -3.20 -0.9061A -0.8814A -0.9285A + -3.15 -0.8815A -0.857A -0.9039A + -3.10 -0.857A -0.8327A -0.8792A + -3.05 -0.8325A -0.8083A -0.8546A + -3.00 -0.808A -0.784A -0.83A + -2.95 -0.7836A -0.7597A -0.8054A + -2.90 -0.7591A -0.7355A -0.7808A + -2.85 -0.7347A -0.7112A -0.7563A + -2.80 -0.7103A -0.6871A -0.7317A + -2.75 -0.6859A -0.6629A -0.7072A + -2.70 -0.6616A -0.6388A -0.6827A + -2.65 -0.6373A -0.6148A -0.6582A + -2.60 -0.613A -0.5908A -0.6338A + -2.55 -0.5888A -0.5668A -0.6094A + -2.50 -0.5646A -0.543A -0.585A + -2.45 -0.5405A -0.5192A -0.5607A + -2.40 -0.5165A -0.4955A -0.5364A + -2.35 -0.4925A -0.4719A -0.5122A + -2.30 -0.4686A -0.4484A -0.488A + -2.25 -0.4448A -0.425A -0.4639A + -2.20 -0.4211A -0.4018A -0.4398A + -2.15 -0.3975A -0.3788A -0.4159A + -2.10 -0.3741A -0.3561A -0.3921A + -2.05 -0.3508A -0.3336A -0.3684A + -2.00 -0.3278A -0.3115A -0.3449A + -1.95 -0.3051A -0.2898A -0.3216A + -1.90 -0.2829A -0.2688A -0.2986A + -1.85 -0.2611A -0.2485A -0.276A + -1.80 -0.2402A -0.2293A -0.2541A + -1.75 -0.2203A -0.2115A -0.233A + -1.70 -0.2019A -0.1953A -0.2133A + -1.65 -0.1857A -0.1809A -0.1957A + -1.60 -0.1716A -0.1681A -0.1809A + -1.55 -0.1593A -0.1563A -0.1683A + -1.50 -0.148A -0.1451A -0.157A + -1.45 -0.1372A -0.1342A -0.146A + -1.40 -0.1266A -0.1236A -0.1353A + -1.35 -0.1162A -0.1132A -0.1248A + -1.30 -0.1059A -0.1029A -0.1145A + -1.25 -95.8482mA -92.7723mA -0.1044A + -1.20 -86.0742mA -82.8733mA -94.725mA + -1.15 -76.6252mA -73.2263mA -85.558mA + -1.10 -67.6012mA -63.8903mA -77.102mA + -1.05 -59.1382mA -54.9483mA -69.575mA + -1.00 -51.4122mA -46.5123mA -63.045mA + -0.95 -44.6112mA -38.7383mA -57.143mA + -0.90 -38.7692mA -31.8253mA -51.094mA + -0.85 -33.4342mA -25.8583mA -44.555mA + -0.80 -28.1572mA -20.5303mA -37.807mA + -0.75 -22.9772mA -15.7343mA -31.119mA + -0.70 -18.0122mA -11.5873mA -24.6550mA + -0.65 -13.3752mA -8.0973mA -18.542mA + -0.60 -9.1923mA -5.229mA -12.922mA + -0.55 -5.6276mA -2.9965mA -7.9981mA + -0.50 -2.8879mA -1.4522mA -4.077mA + -0.45 -1.1507mA -0.5766mA -1.5269mA + -0.40 -0.3444mA -0.1919mA -0.3907mA + -0.35 -83.1uA -56.964uA -74.5uA + -0.30 -17.4uA -15.6640uA -11.6uA + -0.25 -3.3000uA -4.0270uA -1.7uA + -0.20 -0.7uA -1.017uA -0.4000uA + -0.15 -0.2000uA -0.275uA -0.2000uA + -0.10 -0.1uA -89.0000nA -0.1uA + -0.05 -0.1uA -31.0nA -0.1uA + 0.00 0.0A 0.0A 0.0A + 6.60 0.0A 0.0A 0.0A +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.25 0.1221A 0.1248A 0.1242A + -3.15 0.1200A 0.1232A 0.1212A + -3.05 0.1178A 0.1215A 0.1181A + -2.95 0.1153A 0.1196A 0.1148A + -2.85 0.1128A 0.1174A 0.1114A + -2.75 0.1100A 0.1151A 0.1078A + -2.65 0.1071A 0.1126A 0.1041A + -2.55 0.1039A 0.1098A 0.1001A + -2.45 0.1006A 0.1069A 95.9680mA + -2.35 97.0630mA 0.1037A 91.5590mA + -2.25 93.2670mA 0.1003A 86.8480mA + -2.15 89.1920mA 96.7010mA 81.7630mA + -2.05 84.8070mA 92.8600mA 76.2010mA + -1.95 80.0800mA 88.7860mA 70.0340mA + -1.85 74.9870mA 84.4790mA 63.1570mA + -1.75 69.5180mA 79.9450mA 55.5700mA + -1.65 63.6850mA 75.1950mA 47.4010mA + -1.55 57.5160mA 70.2440mA 38.8580mA + -1.45 51.0440mA 65.1120mA 30.1910mA + -1.35 44.3150mA 59.8210mA 21.8920mA + -1.25 37.3820mA 54.3940mA 15.5340mA + -1.15 30.3110mA 48.8520mA 11.4230mA + -1.05 23.2090mA 43.2090mA 6.9858mA + -0.95 16.3160mA 37.4680mA 3.1948mA + -0.85 10.2960mA 31.6320mA 0.8600mA + -0.75 6.1213mA 25.7150mA 0.1694mA + -0.65 3.1679mA 19.7630mA 65.5350uA + -0.55 1.1362mA 13.8830mA 37.1010uA + -0.45 0.2574mA 8.3464mA 19.4580uA + -0.35 73.3430uA 3.8624mA 3.1206uA + -0.25 33.6580uA 1.3608mA -12.8040uA + -0.15 17.7650uA 0.3668mA -28.1570uA + -0.05 5.8276uA 90.2420uA -42.9420uA + 0.00 0.1897uA 50.8660uA -50.1210uA + 0.05 -5.3380uA 31.9340uA -57.1590uA + 0.15 -16.0560uA 15.1110uA -70.8070uA + 0.25 -26.3450uA 5.7330uA -83.8870uA + 0.35 -36.2070uA -2.2074uA -96.3970uA + 0.45 -45.6400uA -9.6847uA -0.1083mA + 0.55 -54.6440uA -16.8200uA -0.1197mA + 0.65 -63.2180uA -23.6240uA -0.1305mA + 0.75 -71.3610uA -30.0980uA -0.1407mA + 0.85 -79.0710uA -36.2430uA -0.1504mA + 0.95 -86.3480uA -42.0600uA -0.1594mA + 1.05 -93.1890uA -47.5470uA -0.1679mA + 1.15 -99.5930uA -52.7050uA -0.1758mA + 1.25 -0.1056mA -57.5350uA -0.1832mA + 1.35 -0.1111mA -62.0370uA -0.1899mA + 1.45 -0.1162mA -66.2090uA -0.1961mA + 1.55 -0.1208mA -70.0530uA -0.2016mA + 1.65 -0.1250mA -73.5690uA -0.2066mA + 1.75 -0.1287mA -76.7560uA -0.2109mA + 1.85 -0.1320mA -79.6150uA -0.2146mA + 1.95 -0.1349mA -82.1480uA -0.2178mA + 2.05 -0.1373mA -84.3550uA -0.2203mA + 2.15 -0.1393mA -86.2390uA -0.2222mA + 2.25 -0.1408mA -87.8060uA -0.2235mA + 2.35 -0.1419mA -89.0600uA -0.2243mA + 2.45 -0.1426mA -90.0130uA -0.2247mA + 2.55 -0.1430mA -90.6790uA -0.2250mA + 2.65 -0.1432mA -91.0820uA -0.2252mA + 2.75 -0.1433mA -91.2840uA -0.2254mA + 2.85 -0.1434mA -91.3860uA -0.2256mA + 2.95 -0.1435mA -91.4570uA -0.2257mA + 3.05 -0.1436mA -91.5190uA -0.2259mA + 3.15 -0.1437mA -91.5760uA -0.2260mA + 3.25 -0.1438mA -91.6300uA -0.2262mA + 6.60 -0.1438mA -91.655uA -0.2263mA +| +| End [Model] lvc330axxxffaaaaaain +|************************************************************************ +[Model] lvc330axxxgfaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.8000V +Vinh = 2.0000V +C_comp 4.2000pF 3.8000pF 7.5000pF +| +| +[Temperature Range] 25.0000 0.1050k -40.0000 +[Voltage Range] 3.3000V 3.1400V 3.4700V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.9553A -0.9303A -0.978A + -3.25 -0.9307A -0.9059A -0.9534A + -3.20 -0.9062A -0.8815A -0.9287A + -3.15 -0.8816A -0.8571A -0.9041A + -3.10 -0.8571A -0.8328A -0.8794A + -3.05 -0.8326A -0.8084A -0.8548A + -3.00 -0.8081A -0.7841A -0.8302A + -2.95 -0.7837A -0.7598A -0.8056A + -2.90 -0.7592A -0.7356A -0.781A + -2.85 -0.7348A -0.7113A -0.7565A + -2.80 -0.7104A -0.6872A -0.7319A + -2.75 -0.686A -0.663A -0.7074A + -2.70 -0.6617A -0.6389A -0.6829A + -2.65 -0.6374A -0.6149A -0.6584A + -2.60 -0.6131A -0.5909A -0.634A + -2.55 -0.5889A -0.5669A -0.6096A + -2.50 -0.5647A -0.5431A -0.5852A + -2.45 -0.5406A -0.5193A -0.5609A + -2.40 -0.5166A -0.4956A -0.5366A + -2.35 -0.4926A -0.472A -0.5124A + -2.30 -0.4687A -0.4485A -0.4882A + -2.25 -0.4449A -0.4251A -0.4641A + -2.20 -0.4211A -0.4019A -0.44A + -2.15 -0.3976A -0.3789A -0.4161A + -2.10 -0.3741A -0.3562A -0.3923A + -2.05 -0.3509A -0.3337A -0.3686A + -2.00 -0.3279A -0.3116A -0.3451A + -1.95 -0.3052A -0.2899A -0.3218A + -1.90 -0.283A -0.2689A -0.2988A + -1.85 -0.2612A -0.2486A -0.2762A + -1.80 -0.2403A -0.2294A -0.2543A + -1.75 -0.2204A -0.2116A -0.2332A + -1.70 -0.202A -0.1954A -0.2135A + -1.65 -0.1857A -0.181A -0.1959A + -1.60 -0.1717A -0.1682A -0.1811A + -1.55 -0.1594A -0.1564A -0.1685A + -1.50 -0.1481A -0.1452A -0.1572A + -1.45 -0.1372A -0.1343A -0.1462A + -1.40 -0.1267A -0.1237A -0.1355A + -1.35 -0.1162A -0.1132A -0.125A + -1.30 -0.106A -0.103A -0.1147A + -1.25 -95.9829mA -92.8519mA -0.1046A + -1.20 -86.2079mA -82.9529mA -94.9419mA + -1.15 -76.7589mA -73.3059mA -85.7739mA + -1.10 -67.7349mA -63.9709mA -77.3179mA + -1.05 -59.2709mA -55.0289mA -69.7899mA + -1.00 -51.5449mA -46.5929mA -63.2589mA + -0.95 -44.7429mA -38.8189mA -57.3559mA + -0.90 -38.8999mA -31.9049mA -51.3069mA + -0.85 -33.5649mA -25.9379mA -44.7679mA + -0.80 -28.2869mA -20.6099mA -38.0189mA + -0.75 -23.1059mA -15.8119mA -31.3299mA + -0.70 -18.1399mA -11.6639mA -24.8639mA + -0.65 -13.5009mA -8.1728mA -18.7479mA + -0.60 -9.3154mA -5.3024mA -13.1249mA + -0.55 -5.7467mA -3.0668mA -8.195mA + -0.50 -3.0007mA -1.5182mA -4.2647mA + -0.45 -1.2549mA -0.637mA -1.7012mA + -0.40 -0.4384mA -0.2458mA -0.5489mA + -0.35 -0.1660mA -0.1038mA -0.2164mA + -0.30 -88.5967uA -55.3182uA -0.1356mA + -0.25 -62.3417uA -36.5212uA -0.106mA + -0.20 -47.5077uA -26.5062uA -84.1163uA + -0.15 -35.0017uA -19.0002uA -63.0943uA + -0.10 -23.0677uA -12.3032uA -42.1183uA + -0.05 -11.4127uA -5.9993uA -21.0933uA + 0.00 0.0A 0.0A 0.0A + 6.60 0.0A 0.0A 0.0A +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.25 0.1219A 0.1239A 0.1241A + -3.15 0.1198A 0.1225A 0.1211A + -3.05 0.1175A 0.1208A 0.1180A + -2.95 0.1151A 0.1190A 0.1148A + -2.85 0.1126A 0.1169A 0.1114A + -2.75 0.1098A 0.1146A 0.1078A + -2.65 0.1069A 0.1121A 0.1041A + -2.55 0.1038A 0.1094A 0.1001A + -2.45 0.1005A 0.1065A 95.9870mA + -2.35 96.9550mA 0.1033A 91.5870mA + -2.25 93.1710mA 99.9750mA 86.8840mA + -2.15 89.1070mA 96.3920mA 81.8060mA + -2.05 84.7330mA 92.5770mA 76.2510mA + -1.95 80.0150mA 88.5270mA 70.0930mA + -1.85 74.9310mA 84.2430mA 63.2270mA + -1.75 69.4710mA 79.7320mA 55.6500mA + -1.65 63.6470mA 75.0030mA 47.4900mA + -1.55 57.4860mA 70.0730mA 38.9530mA + -1.45 51.0240mA 64.9610mA 30.2900mA + -1.35 44.3060mA 59.6890mA 21.9850mA + -1.25 37.3830mA 54.2800mA 15.6040mA + -1.15 30.3220mA 48.7550mA 11.4920mA + -1.05 23.2270mA 43.1270mA 7.0569mA + -0.95 16.3390mA 37.4010mA 3.2646mA + -0.85 10.3210mA 31.5790mA 0.9390mA + -0.75 6.1446mA 25.6760mA 0.2794mA + -0.65 3.1928mA 19.7360mA 0.2100mA + -0.55 1.1653mA 13.8670mA 0.2026mA + -0.45 0.2982mA 8.3390mA 0.2008mA + -0.35 0.1321mA 3.8616mA 0.1997mA + -0.25 0.1082mA 1.3643mA 0.1986mA + -0.15 0.1046mA 0.3758mA 0.1977mA + -0.05 0.1038mA 0.1080mA 0.1968mA + 0.00 0.1036mA 73.6010uA 0.1964mA + 0.05 0.1034mA 59.5190uA 0.1960mA + 0.15 0.1030mA 51.5430uA 0.1953mA + 0.25 0.1026mA 50.2120uA 0.1946mA + 0.35 0.1022mA 49.8820uA 0.1939mA + 0.45 0.1019mA 49.6700uA 0.1932mA + 0.55 0.1015mA 49.4700uA 0.1926mA + 0.65 0.1011mA 49.2730uA 0.1920mA + 0.75 0.1008mA 49.0770uA 0.1913mA + 0.85 0.1004mA 48.8800uA 0.1907mA + 0.95 0.1000mA 48.6830uA 0.1901mA + 1.05 99.6840uA 48.4840uA 0.1894mA + 1.15 99.3080uA 48.2820uA 0.1888mA + 1.25 98.9240uA 48.0780uA 0.1881mA + 1.35 98.5320uA 47.8700uA 0.1874mA + 1.45 98.1290uA 47.6570uA 0.1867mA + 1.55 97.7120uA 47.4400uA 0.1860mA + 1.65 97.2810uA 47.2170uA 0.1852mA + 1.75 96.8290uA 46.9870uA 0.1844mA + 1.85 96.3530uA 46.7490uA 0.1835mA + 1.95 95.8430uA 46.5000uA 0.1825mA + 2.05 95.2890uA 46.2390uA 0.1813mA + 2.15 94.6670uA 45.9610uA 0.1798mA + 2.25 93.9410uA 45.6610uA 0.1776mA + 2.35 93.0300uA 45.3300uA 0.1740mA + 2.45 91.7360uA 44.9510uA 0.1673mA + 2.55 89.5800uA 44.4910uA 0.1565mA + 2.65 85.8010uA 43.8710uA 0.1413mA + 2.75 79.8680uA 42.8730uA 0.1214mA + 2.85 71.5240uA 41.0820uA 96.7340uA + 2.95 60.5840uA 38.1370uA 66.9820uA + 3.05 46.9030uA 33.8430uA 31.9340uA + 3.15 30.3590uA 28.0760uA -8.5145uA + 3.25 10.8450uA 20.7410uA -50.5820uA + 6.60 -56.348nA -1.463uA -71.553uA +| +| End [Model] lvc330axxxgfaaaaaain +|************************************************************************ +[Model] lvc330axxxhfaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.8000V +Vinh = 2.0000V +C_comp 4.2000pF 3.8000pF 7.5000pF +| +| +[Temperature Range] 25.0000 0.1050k -40.0000 +[Voltage Range] 3.3000V 3.1400V 3.4700V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.9552A -0.9302A -0.9778A + -3.25 -0.9306A -0.9058A -0.9532A + -3.20 -0.9061A -0.8814A -0.9285A + -3.15 -0.8815A -0.857A -0.9039A + -3.10 -0.857A -0.8327A -0.8792A + -3.05 -0.8325A -0.8083A -0.8546A + -3.00 -0.808A -0.784A -0.83A + -2.95 -0.7836A -0.7597A -0.8054A + -2.90 -0.7591A -0.7355A -0.7808A + -2.85 -0.7347A -0.7112A -0.7563A + -2.80 -0.7103A -0.6871A -0.7317A + -2.75 -0.6859A -0.6629A -0.7072A + -2.70 -0.6616A -0.6388A -0.6827A + -2.65 -0.6373A -0.6148A -0.6582A + -2.60 -0.613A -0.5908A -0.6338A + -2.55 -0.5888A -0.5668A -0.6094A + -2.50 -0.5646A -0.543A -0.585A + -2.45 -0.5405A -0.5192A -0.5607A + -2.40 -0.5165A -0.4955A -0.5364A + -2.35 -0.4925A -0.4719A -0.5122A + -2.30 -0.4686A -0.4484A -0.488A + -2.25 -0.4448A -0.425A -0.4639A + -2.20 -0.421A -0.4018A -0.4398A + -2.15 -0.3975A -0.3788A -0.4159A + -2.10 -0.374A -0.3561A -0.3921A + -2.05 -0.3508A -0.3336A -0.3684A + -2.00 -0.3278A -0.3115A -0.3449A + -1.95 -0.3051A -0.2898A -0.3216A + -1.90 -0.2829A -0.2688A -0.2986A + -1.85 -0.2611A -0.2485A -0.276A + -1.80 -0.2402A -0.2293A -0.2541A + -1.75 -0.2203A -0.2115A -0.233A + -1.70 -0.2019A -0.1953A -0.2133A + -1.65 -0.1856A -0.1809A -0.1957A + -1.60 -0.1716A -0.1681A -0.1809A + -1.55 -0.1593A -0.1563A -0.1683A + -1.50 -0.148A -0.1451A -0.157A + -1.45 -0.1371A -0.1342A -0.146A + -1.40 -0.1266A -0.1236A -0.1353A + -1.35 -0.1161A -0.1131A -0.1248A + -1.30 -0.1059A -0.1029A -0.1145A + -1.25 -95.8525mA -92.7685mA -0.1044A + -1.20 -86.0775mA -82.8695mA -94.7415mA + -1.15 -76.6285mA -73.2225mA -85.5735mA + -1.10 -67.6045mA -63.8875mA -77.1175mA + -1.05 -59.1405mA -54.9455mA -69.5895mA + -1.00 -51.4145mA -46.5095mA -63.0585mA + -0.95 -44.6125mA -38.7355mA -57.1555mA + -0.90 -38.7695mA -31.8215mA -51.1065mA + -0.85 -33.4345mA -25.8545mA -44.5675mA + -0.80 -28.1565mA -20.5265mA -37.8185mA + -0.75 -22.9755mA -15.7285mA -31.1295mA + -0.70 -18.0095mA -11.5805mA -24.6635mA + -0.65 -13.3705mA -8.0894mA -18.5475mA + -0.60 -9.185mA -5.219mA -12.9245mA + -0.55 -5.6163mA -2.9834mA -7.9946mA + -0.50 -2.8703mA -1.4348mA -4.0643mA + -0.45 -1.1245mA -0.5536mA -1.5008mA + -0.40 -0.308mA -0.1624mA -0.3485mA + -0.35 -35.6uA -20.3890uA -16.0uA + -0.30 0.0A 0.0A 0.0A + -0.25 0.0A 0.0A 0.0A + -0.20 0.0A 0.0A 0.0A + -0.15 0.0A 0.0A 0.0A + -0.10 0.0A 0.0A 0.0A + -0.05 0.0A 0.0A 0.0A + 0.00 0.0A 0.0A 0.0A + 6.60 0.0A 0.0A 0.0A +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.25 0.1221A 0.1248A 0.1242A + -3.15 0.1200A 0.1232A 0.1212A + -3.05 0.1178A 0.1215A 0.1181A + -2.95 0.1153A 0.1196A 0.1148A + -2.85 0.1128A 0.1174A 0.1114A + -2.75 0.1100A 0.1151A 0.1078A + -2.65 0.1071A 0.1126A 0.1041A + -2.55 0.1039A 0.1098A 0.1001A + -2.45 0.1006A 0.1069A 95.9680mA + -2.35 97.0630mA 0.1037A 91.5590mA + -2.25 93.2670mA 0.1003A 86.8480mA + -2.15 89.1920mA 96.7010mA 81.7630mA + -2.05 84.8070mA 92.8600mA 76.2010mA + -1.95 80.0800mA 88.7860mA 70.0340mA + -1.85 74.9870mA 84.4790mA 63.1570mA + -1.75 69.5180mA 79.9450mA 55.5700mA + -1.65 63.6850mA 75.1950mA 47.4010mA + -1.55 57.5160mA 70.2440mA 38.8580mA + -1.45 51.0440mA 65.1120mA 30.1910mA + -1.35 44.3150mA 59.8210mA 21.8920mA + -1.25 37.3820mA 54.3940mA 15.5340mA + -1.15 30.3110mA 48.8520mA 11.4230mA + -1.05 23.2090mA 43.2090mA 6.9858mA + -0.95 16.3160mA 37.4680mA 3.1948mA + -0.85 10.2960mA 31.6320mA 0.8600mA + -0.75 6.1213mA 25.7150mA 0.1694mA + -0.65 3.1679mA 19.7630mA 65.5350uA + -0.55 1.1362mA 13.8830mA 37.1010uA + -0.45 0.2574mA 8.3464mA 19.4580uA + -0.35 73.3430uA 3.8624mA 3.1206uA + -0.25 33.6580uA 1.3608mA -12.8040uA + -0.15 17.7650uA 0.3668mA -28.1570uA + -0.05 5.8276uA 90.2420uA -42.9420uA + 0.00 0.1897uA 50.8660uA -50.1210uA + 0.05 -5.3380uA 31.9340uA -57.1590uA + 0.15 -16.0560uA 15.1110uA -70.8070uA + 0.25 -26.3450uA 5.7330uA -83.8870uA + 0.35 -36.2070uA -2.2074uA -96.3970uA + 0.45 -45.6400uA -9.6847uA -0.1083mA + 0.55 -54.6440uA -16.8200uA -0.1197mA + 0.65 -63.2180uA -23.6240uA -0.1305mA + 0.75 -71.3610uA -30.0980uA -0.1407mA + 0.85 -79.0710uA -36.2430uA -0.1504mA + 0.95 -86.3480uA -42.0600uA -0.1594mA + 1.05 -93.1890uA -47.5470uA -0.1679mA + 1.15 -99.5930uA -52.7050uA -0.1758mA + 1.25 -0.1056mA -57.5350uA -0.1832mA + 1.35 -0.1111mA -62.0370uA -0.1899mA + 1.45 -0.1162mA -66.2090uA -0.1961mA + 1.55 -0.1208mA -70.0530uA -0.2016mA + 1.65 -0.1250mA -73.5690uA -0.2016mA + 1.75 -0.1287mA -76.7560uA -0.2016mA + 1.85 -0.1305mA -79.6150uA -0.2016mA + 1.95 -0.1305mA -82.1480uA -0.2016mA + 2.05 -0.1305mA -83.2920uA -0.2016mA + 2.15 -0.1305mA -83.2920uA -0.2016mA + 2.25 -0.1305mA -83.2920uA -0.2016mA + 2.35 -0.1305mA -83.2920uA -0.2016mA + 2.45 -0.1305mA -83.2920uA -0.2016mA + 2.55 -0.1305mA -83.2920uA -0.2016mA + 2.65 -0.1305mA -83.2920uA -0.2016mA + 2.75 -0.1305mA -83.2920uA -0.2016mA + 2.85 -0.1305mA -83.2920uA -0.2016mA + 2.95 -0.1305mA -83.2920uA -0.2016mA + 3.05 -0.1305mA -83.2920uA -0.2016mA + 3.15 -0.1305mA -83.2920uA -0.2016mA + 3.25 -0.1305mA -83.2920uA -0.2016mA + 6.60 -0.1305mA -83.292uA -0.2016mA +| +| End [Model] lvc330axxxhfaaaaaain +|************************************************************************ +[Model] lvc330s040daaaaaaaou +Model_type Output +Polarity Non-Inverting +Enable Active-Low +Vmeas = 1.500000V +Cref = 0.0F +Rref = 1.0000M +Vref = 0.0V +C_comp 4.2000pF 3.8000pF 7.5000pF +| +[Temperature Range] 25.0000 0.1050k -40.0000 +[Voltage Range] 3.3000V 3.1400V 3.4700V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -11.9500mA -8.6650mA -15.6420mA + -3.20 -11.9500mA -8.6650mA -15.6420mA + -3.10 -11.9500mA -8.6650mA -15.6420mA + -3.00 -11.9500mA -8.6650mA -15.6420mA + -2.90 -11.9500mA -8.6650mA -15.6420mA + -2.80 -11.9500mA -8.6650mA -15.6420mA + -2.70 -11.9500mA -8.6650mA -15.6420mA + -2.60 -11.9500mA -8.6650mA -15.6420mA + -2.50 -11.9500mA -8.6650mA -15.6420mA + -2.40 -11.9500mA -8.6650mA -15.6420mA + -2.30 -11.9500mA -8.6650mA -15.6420mA + -2.20 -11.9500mA -8.6650mA -15.6420mA + -2.10 -11.9500mA -8.6650mA -15.6420mA + -2.00 -11.9500mA -8.6650mA -15.6420mA + -1.90 -11.9500mA -8.6650mA -15.6420mA + -1.80 -11.9500mA -8.6650mA -15.6420mA + -1.70 -11.9500mA -8.6650mA -15.6420mA + -1.60 -11.9500mA -8.6650mA -15.6420mA + -1.50 -11.9500mA -8.6650mA -15.6420mA + -1.40 -11.9500mA -8.6650mA -15.6420mA + -1.30 -11.9500mA -8.6650mA -15.6420mA + -1.20 -11.9500mA -8.6650mA -15.6420mA + -1.10 -11.9500mA -8.6650mA -15.6420mA + -1.00 -11.9500mA -8.6650mA -15.6420mA + -0.90 -11.9260mA -8.6650mA -14.3050mA + -0.80 -11.2400mA -8.5300mA -13.3800mA + -0.70 -10.7050mA -8.3490mA -12.9130mA + -0.60 -10.2262mA -7.9463mA -12.5750mA + -0.50 -9.6879mA -7.2722mA -12.3552mA + -0.40 -8.5353mA -6.1307mA -11.3241mA + -0.30 -6.5715mA -4.6600mA -8.7716mA + -0.20 -4.4298mA -3.1245mA -5.9312mA + -0.10 -2.2389mA -1.5709mA -3.0077mA + 0.00 2.6070nA 1.8160nA 4.3450nA + 0.10 2.2086mA 1.5382mA 2.9824mA + 0.20 4.3047mA 2.9922mA 5.8245mA + 0.30 6.2890mA 4.3627mA 8.5260mA + 0.40 8.1616mA 5.6502mA 11.0870mA + 0.50 9.9232mA 6.8553mA 13.5060mA + 0.60 11.5740mA 7.9787mA 15.7840mA + 0.70 13.1130mA 9.0208mA 17.9190mA + 0.80 14.5410mA 9.9819mA 19.9070mA + 0.90 15.8560mA 10.8620mA 21.7440mA + 1.00 17.0540mA 11.6600mA 23.4200mA + 1.10 18.1290mA 12.3750mA 24.9200mA + 1.20 19.0710mA 13.0030mA 26.2250mA + 1.30 19.8710mA 13.5400mA 27.3150mA + 1.40 20.5280mA 13.9880mA 28.1920mA + 1.50 21.0520mA 14.3520mA 28.8770mA + 1.60 21.4690mA 14.6450mA 29.4110mA + 1.70 21.8020mA 14.8830mA 29.8330mA + 1.80 22.0750mA 15.0800mA 30.1740mA + 1.90 22.3020mA 15.2450mA 30.4550mA + 2.00 22.4950mA 15.3870mA 30.6940mA + 2.10 22.6630mA 15.5110mA 30.8990mA + 2.20 22.8110mA 15.6210mA 31.0780mA + 2.30 22.9430mA 15.7190mA 31.2379mA + 2.40 23.0630mA 15.8080mA 31.3819mA + 2.50 23.1710mA 15.8900mA 31.5119mA + 2.60 23.2710mA 15.9650mA 31.6318mA + 2.70 23.3639mA 16.0350mA 31.7418mA + 2.80 23.4499mA 16.0999mA 31.8447mA + 2.90 23.5309mA 16.1609mA 31.9406mA + 3.00 23.6069mA 16.2189mA 32.0305mA + 3.10 23.6789mA 16.2739mA 32.1163mA + 3.20 23.7478mA 16.3258mA 32.1981mA + 3.30 23.8138mA 16.3756mA 32.2769mA + 3.40 23.8786mA 16.4213mA 32.3557mA + 3.50 23.9417mA 16.4526mA 32.4354mA + 3.60 24.0002mA 16.6876mA 32.5189mA + 3.70 24.0309mA 17.3426mA 32.6070mA + 3.80 24.3774mA 19.1285mA 32.6921mA + 3.90 25.3543mA 22.9154mA 32.7222mA + 4.00 27.4942mA 28.3023mA 33.3062mA + 4.10 30.5709mA 34.3240mA 34.9817mA + 4.20 34.9446mA 40.5557mA 38.3579mA + 4.30 41.2761mA 46.8344mA 42.8549mA + 4.40 48.5706mA 53.0950mA 47.3478mA + 4.50 56.1500mA 59.3125mA 52.6274mA + 4.60 63.7762mA 65.4900mA 60.8279mA + 4.70 71.3464mA 71.6374mA 70.1182mA + 4.80 78.8056mA 77.7568mA 79.6014mA + 4.90 86.1136mA 83.8381mA 88.9754mA + 5.00 93.2445mA 89.8594mA 98.0452mA + 5.10 0.1002A 95.7986mA 0.1067A + 5.20 0.1069A 0.1016A 0.1148A + 5.30 0.1134A 0.1074A 0.1224A + 5.40 0.1197A 0.1130A 0.1298A + 5.50 0.1258A 0.1184A 0.1369A + 5.60 0.1318A 0.1237A 0.1439A + 5.70 0.1376A 0.1289A 0.1508A + 5.80 0.1432A 0.1340A 0.1576A + 5.90 0.1488A 0.1390A 0.1644A + 6.00 0.1544A 0.1438A 0.1712A + 6.10 0.1598A 0.1485A 0.1780A + 6.20 0.1652A 0.1530A 0.1848A + 6.30 0.1706A 0.1575A 0.1916A + 6.40 0.1760A 0.1620A 0.1984A + 6.50 0.1813A 0.1663A 0.2053A + 6.60 0.1867A 0.1705A 0.2122A +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| +-3.30 0.1819A 0.1298A 0.2190A +-3.20 0.1819A 0.1298A 0.2177A +-3.10 0.1819A 0.1298A 0.2139A +-3.00 0.1785A 0.1298A 0.2092A +-2.90 0.1743A 0.1298A 0.2039A +-2.80 0.1697A 0.1298A 0.1982A +-2.70 0.1647A 0.1298A 0.1922A +-2.60 0.1594A 0.1298A 0.1860A +-2.50 0.1538A 0.1298A 0.1795A +-2.40 0.1479A 0.1298A 0.1728A +-2.30 0.1418A 0.1259A 0.1658A +-2.20 0.1353A 0.1198A 0.1586A +-2.10 0.1286A 0.1135A 0.1512A +-2.00 0.1216A 0.1069A 0.1435A +-1.90 0.1142A 0.1002A 0.1355A +-1.80 0.1066A 93.3488mA 0.1271A +-1.70 93.5831mA 86.3555mA 0.1182A +-1.60 85.8190mA 79.2592mA 0.1088A +-1.50 77.8471mA 72.0828mA 98.7659mA +-1.40 69.6957mA 64.8453mA 88.3330mA +-1.30 61.4020mA 57.5538mA 77.6100mA +-1.20 53.0124mA 50.2142mA 66.7828mA +-1.10 44.6065mA 42.8446mA 56.1774mA +-1.00 36.3505mA 35.4829mA 46.7939mA +-0.90 28.6912mA 28.2232mA 39.5361mA +-0.80 22.4746mA 21.3014mA 32.3042mA +-0.70 17.6024mA 15.3245mA 25.5251mA +-0.60 13.5809mA 11.1535mA 19.7918mA +-0.50 10.4816mA 8.4310mA 14.7443mA +-0.40 8.0206mA 6.4251mA 11.9096mA +-0.30 5.9614mA 4.6861mA 8.8891mA +-0.20 3.9365mA 3.0816mA 5.8934mA +-0.10 1.9506mA 1.5203mA 2.9319mA +0.00 -7.7700nA -3.4200nA -87.8000nA +0.10 -1.8904mA -1.4640mA -2.8585mA +0.20 -3.6938mA -2.8556mA -5.5960mA +0.30 -5.4106mA -4.1752mA -8.2131mA +0.40 -7.0415mA -5.4235mA -10.7106mA +0.50 -8.5871mA -6.6009mA -13.0875mA +0.60 -10.0478mA -7.7082mA -15.3464mA +0.70 -11.4233mA -8.7458mA -17.4873mA +0.80 -12.7164mA -9.7144mA -19.5102mA +0.90 -13.9250mA -10.6140mA -21.4151mA +1.00 -15.0511mA -11.4460mA -23.2041mA +1.10 -16.0947mA -12.2110mA -24.8771mA +1.20 -17.0567mA -12.9090mA -26.4350mA +1.30 -17.9380mA -13.5400mA -27.8770mA +1.40 -18.7378mA -14.1060mA -29.2060mA +1.50 -19.4578mA -14.6060mA -30.4200mA +1.60 -20.0982mA -15.0420mA -31.5220mA +1.70 -20.6608mA -15.4150mA -32.5110mA +1.80 -21.1446mA -15.7260mA -33.3890mA +1.90 -21.5526mA -15.9770mA -34.1570mA +2.00 -21.8875mA -16.1730mA -34.8170mA +2.10 -22.1540mA -16.3230mA -35.3710mA +2.20 -22.3628mA -16.4420mA -35.8270mA +2.30 -22.5316mA -16.5430mA -36.1970mA +2.40 -22.6758mA -16.6340mA -36.5020mA +2.50 -22.8058mA -16.7200mA -36.7650mA +2.60 -22.9282mA -16.8010mA -37.0040mA +2.70 -23.0458mA -16.8800mA -37.2270mA +2.80 -23.1578mA -16.9560mA -37.4390mA +2.90 -23.2659mA -17.0290mA -37.6420mA +3.00 -23.3712mA -17.1009mA -37.8370mA +3.10 -23.4737mA -17.1709mA -38.0259mA +3.20 -23.5732mA -17.2379mA -38.2079mA +3.30 -23.6690mA -17.3046mA -38.3849mA +3.40 -23.7639mA -17.3656mA -38.5569mA +3.50 -23.8544mA -17.3881mA -38.7229mA +3.60 -23.9301mA -17.3881mA -38.8849mA +3.70 -23.9301mA -17.3881mA -39.0415mA +3.80 -23.9301mA -17.3881mA -39.1532mA +3.90 -23.9301mA -17.3881mA -39.1532mA +4.00 -23.9301mA -17.3881mA -39.1532mA +4.10 -23.9301mA -17.3881mA -39.1532mA +4.20 -23.9301mA -17.3881mA -39.1532mA +4.30 -23.9301mA -17.3881mA -39.1532mA +4.40 -23.9301mA -17.3881mA -39.1532mA +4.50 -23.9301mA -17.3881mA -39.1532mA +4.60 -23.9301mA -17.3881mA -39.1532mA +4.70 -23.9301mA -17.3881mA -39.1532mA +4.80 -23.9301mA -17.3881mA -39.1532mA +4.90 -23.9301mA -17.3881mA -39.1532mA +5.00 -23.9301mA -17.3881mA -39.1532mA +5.10 -23.9301mA -17.3881mA -39.1532mA +5.20 -23.9301mA -17.3881mA -39.1532mA +5.30 -23.9301mA -17.3881mA -39.1532mA +5.40 -23.9301mA -17.3881mA -39.1532mA +5.50 -23.9301mA -17.3881mA -39.1532mA +5.60 -23.9301mA -17.3881mA -39.1532mA +5.70 -23.9301mA -17.3881mA -39.1532mA +5.80 -23.9301mA -17.3881mA -39.1532mA +5.90 -23.9301mA -17.3881mA -39.1532mA +6.00 -23.9301mA -17.3881mA -39.1532mA +6.10 -23.9301mA -17.3881mA -39.1532mA +6.20 -23.9301mA -17.3881mA -39.1532mA +6.30 -23.9301mA -17.3881mA -39.1532mA +6.40 -23.9301mA -17.3881mA -39.1532mA +6.50 -23.9301mA -17.3881mA -39.1532mA +6.55 -23.9301mA -17.3881mA -39.1532mA +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.9553A -0.9303A -0.978A + -3.25 -0.9307A -0.9059A -0.9534A + -3.20 -0.9062A -0.8815A -0.9287A + -3.15 -0.8816A -0.8571A -0.9041A + -3.10 -0.8571A -0.8328A -0.8794A + -3.05 -0.8326A -0.8084A -0.8548A + -3.00 -0.8081A -0.7841A -0.8302A + -2.95 -0.7837A -0.7598A -0.8056A + -2.90 -0.7592A -0.7356A -0.781A + -2.85 -0.7348A -0.7113A -0.7565A + -2.80 -0.7104A -0.6872A -0.7319A + -2.75 -0.686A -0.663A -0.7074A + -2.70 -0.6617A -0.6389A -0.6829A + -2.65 -0.6374A -0.6149A -0.6584A + -2.60 -0.6131A -0.5909A -0.634A + -2.55 -0.5889A -0.5669A -0.6096A + -2.50 -0.5647A -0.5431A -0.5852A + -2.45 -0.5406A -0.5193A -0.5609A + -2.40 -0.5166A -0.4956A -0.5366A + -2.35 -0.4926A -0.472A -0.5124A + -2.30 -0.4687A -0.4485A -0.4882A + -2.25 -0.4449A -0.4251A -0.4641A + -2.20 -0.4211A -0.4019A -0.44A + -2.15 -0.3976A -0.3789A -0.4161A + -2.10 -0.3741A -0.3562A -0.3923A + -2.05 -0.3509A -0.3337A -0.3686A + -2.00 -0.3279A -0.3116A -0.3451A + -1.95 -0.3052A -0.2899A -0.3218A + -1.90 -0.283A -0.2689A -0.2988A + -1.85 -0.2612A -0.2486A -0.2762A + -1.80 -0.2402A -0.2294A -0.2543A + -1.75 -0.2204A -0.2116A -0.2332A + -1.70 -0.202A -0.1954A -0.2135A + -1.65 -0.1857A -0.181A -0.1959A + -1.60 -0.1717A -0.1682A -0.181A + -1.55 -0.1594A -0.1563A -0.1685A + -1.50 -0.1481A -0.1452A -0.1571A + -1.45 -0.1372A -0.1343A -0.1462A + -1.40 -0.1266A -0.1237A -0.1355A + -1.35 -0.1162A -0.1132A -0.125A + -1.30 -0.106A -0.1029A -0.1146A + -1.25 -95.9599mA -92.8329mA -0.1046A + -1.20 -86.1849mA -82.9339mA -94.9069mA + -1.15 -76.7349mA -73.2869mA -85.7379mA + -1.10 -67.7089mA -63.9519mA -77.2789mA + -1.05 -59.2439mA -55.0099mA -69.7479mA + -1.00 -51.5159mA -46.5729mA -63.2139mA + -0.95 -44.7119mA -38.7979mA -57.3089mA + -0.90 -38.8659mA -31.8819mA -51.2599mA + -0.85 -33.5299mA -25.9129mA -44.7209mA + -0.80 -28.2499mA -20.5839mA -37.9699mA + -0.75 -23.0669mA -15.7839mA -31.2789mA + -0.70 -18.0989mA -11.6329mA -24.8089mA + -0.65 -13.4569mA -8.1389mA -18.6889mA + -0.60 -9.2667mA -5.2646mA -13.0589mA + -0.55 -5.6915mA -3.0244mA -8.1194mA + -0.50 -2.937mA -1.4709mA -4.1747mA + -0.45 -1.1814mA -0.5866mA -1.592mA + -0.40 -0.3589mA -0.1961mA -0.4238mA + -0.35 -88.3674uA -58.3595uA -88.5118uA + -0.30 -18.8304uA -15.9765uA -16.7268uA + -0.25 -3.5316uA -4.0546uA -3.0027uA + -0.20 -0.6045uA -0.9665uA -0.4941uA + -0.15 -99.742nA -0.2204uA -76.537nA + -0.10 -17.537nA -48.631nA -14.0860nA + -0.05 -3.547nA -9.5380nA -3.817nA + 0.00 0.0A 0.0A 0.0A + 6.60 0.0A 0.0A 0.0A +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.25 0.6648mA 0.7494mA 0.5971mA + -3.15 0.5464mA 0.6392mA 0.4620mA + -3.05 0.4320mA 0.5325mA 0.3346mA + -2.95 0.3223mA 0.4288mA 0.2203mA + -2.85 0.2202mA 0.3288mA 0.1294mA + -2.75 0.1318mA 0.2341mA 72.8310uA + -2.65 67.1930uA 0.1484mA 47.8290uA + -2.55 33.3830uA 79.2120uA 38.1420uA + -2.45 21.1010uA 36.2260uA 33.4220uA + -2.35 16.7340uA 18.9530uA 30.1320uA + -2.25 14.6010uA 13.5620uA 27.2560uA + -2.15 13.0520uA 11.4690uA 24.5640uA + -2.05 11.6720uA 10.2210uA 22.0120uA + -1.95 10.3780uA 9.1893uA 19.5960uA + -1.85 9.1543uA 8.2396uA 17.3210uA + -1.75 8.0014uA 7.3461uA 15.1920uA + -1.65 6.9210uA 6.5045uA 13.2170uA + -1.55 5.9158uA 5.7141uA 11.4020uA + -1.45 4.9887uA 4.9753uA 9.7529uA + -1.35 4.1426uA 4.2887uA 8.2767uA + -1.25 3.3804uA 3.6548uA 6.9786uA + -1.15 2.7049uA 3.0746uA 5.8648uA + -1.05 2.1189uA 2.5487uA 4.9428uA + -0.95 1.6251uA 2.0780uA 4.2177uA + -0.85 1.2274uA 1.6631uA 3.6560uA + -0.75 0.9313uA 1.3051uA 3.6560uA + -0.65 0.7398uA 1.0056uA 3.6560uA + -0.55 0.6327uA 0.7679uA 3.6560uA + -0.45 0.5649uA 0.5968uA 1.9769uA + -0.35 0.5649uA 0.4927uA 1.5352uA + -0.25 0.5649uA 0.4380uA 1.2603uA + -0.15 0.5649uA 0.4056uA 1.0262uA + -0.05 0.2497uA 0.3924uA 0.8243uA + 0.00 0.1905uA 0.3924uA 0.7347uA + 0.05 0.1661uA 0.3924uA 0.6522uA + 0.15 0.1377uA 0.3924uA 0.5077uA + 0.25 0.1149uA 0.2673uA 0.3882uA + 0.35 95.5840nA 94.4790nA 0.2911uA + 0.45 79.2300nA 72.9410nA 0.2139uA + 0.55 65.5240nA 63.7780nA 0.1539uA + 0.65 54.1200nA 56.2440nA 0.1084uA + 0.75 44.6720nA 49.6060nA 74.7270nA + 0.85 36.8450nA 43.7060nA 50.5340nA + 0.95 30.3210nA 38.4180nA 33.5490nA + 1.05 24.8050nA 33.6240nA 21.8000nA + 1.15 20.0360nA 29.2180nA 13.6290nA + 1.25 15.7920nA 25.1030nA 7.7259nA + 1.35 11.8920nA 21.1950nA 3.1291nA + 1.45 8.2001nA 17.4270nA -0.8025nA + 1.55 4.6216nA 13.7460nA -4.4469nA + 1.65 1.0975nA 10.1160nA -7.9944nA + 1.75 -2.4045nA 6.5107nA -11.5260nA + 1.85 -5.8985nA 2.9177nA -15.0700nA + 1.95 -9.3903nA -0.6705nA -18.6430nA + 2.05 -12.8810nA -4.2565nA -22.2600nA + 2.15 -16.3730nA -7.8414nA -25.9390nA + 2.25 -19.8660nA -11.4260nA -29.7010nA + 2.35 -23.3620nA -15.0100nA -33.5700nA + 2.45 -26.8630nA -18.5940nA -37.5740nA + 2.55 -30.3710nA -22.1800nA -41.7450nA + 2.65 -33.8890nA -25.7670nA -46.1170nA + 2.75 -37.4190nA -29.3570nA -50.7240nA + 2.85 -40.9640nA -32.9520nA -55.6060nA + 2.95 -44.5300nA -36.5540nA -60.8020nA + 3.05 -48.1210nA -40.1670nA -66.3570nA + 3.15 -51.7470nA -43.7980nA -72.4990nA + 3.25 -55.4690nA -47.4690nA -97.5860nA + 6.60 -57.5580nA -49.34nA -0.2325uA +| +[Ramp] +| variable typ min max +dV/dt_r 0.7026/0.4330n 0.4966/0.5731n 1.0018/0.3242n +dV/dt_f 0.6827/0.4387n 0.4730/0.5599n 0.9168/0.3576n +R_load = 50.0000 +| +[Rising Waveform] +R_fixture= 50.0000 +V_fixture= 3.3000 +V_fixture_min= 3.1400 +V_fixture_max= 3.4700 +|time V(typ) V(min) V(max) +| +0.0S 2.1621V 2.3517V 1.9420V +0.1010nS 2.1621V 2.3517V 1.9420V +0.2020nS 2.1621V 2.3517V 1.9420V +0.3030nS 2.1621V 2.3517V 1.9420V +0.4040nS 2.1621V 2.3517V 1.9420V +0.5051nS 2.1622V 2.3517V 2.2421V +0.6061nS 2.1615V 2.3517V 2.8060V +0.7071nS 2.2762V 2.3517V 3.1342V +0.8081nS 2.7361V 2.3522V 3.3164V +0.9091nS 2.9561V 2.3515V 3.3898V +1.0101nS 3.0907V 2.3704V 3.4244V +1.1111nS 3.1772V 2.6051V 3.4432V +1.2121nS 3.2242V 2.8360V 3.4539V +1.3131nS 3.2509V 2.9413V 3.4602V +1.4141nS 3.2670V 3.0020V 3.4639V +1.5152nS 3.2775V 3.0439V 3.4662V +1.6162nS 3.2845V 3.0714V 3.4676V +1.7172nS 3.2892V 3.0897V 3.4685V +1.8182nS 3.2924V 3.1025V 3.4690V +1.9192nS 3.2946V 3.1117V 3.4694V +2.0202nS 3.2961V 3.1186V 3.4696V +2.1212nS 3.2972V 3.1237V 3.4697V +2.2222nS 3.2980V 3.1276V 3.4698V +2.3232nS 3.2986V 3.1305V 3.4699V +2.4242nS 3.2989V 3.1327V 3.4699V +2.5253nS 3.2992V 3.1344V 3.4699V +2.6263nS 3.2994V 3.1356V 3.4699V +2.7273nS 3.2996V 3.1366V 3.4699V +2.8283nS 3.2997V 3.1373V 3.4699V +2.9293nS 3.2998V 3.1379V 3.4700V +3.0303nS 3.2998V 3.1383V 3.4699V +3.1313nS 3.2999V 3.1387V 3.4700V +3.2323nS 3.2999V 3.1390V 3.4699V +3.3333nS 3.2999V 3.1392V 3.4700V +3.4343nS 3.2999V 3.1393V 3.4699V +3.5354nS 3.2999V 3.1395V 3.4700V +3.6364nS 3.3000V 3.1396V 3.4699V +3.7374nS 3.3000V 3.1397V 3.4700V +3.8384nS 3.3000V 3.1397V 3.4700V +3.9394nS 3.3000V 3.1398V 3.4700V +4.0404nS 3.3000V 3.1398V 3.4700V +4.1414nS 3.3000V 3.1399V 3.4700V +4.2424nS 3.3000V 3.1399V 3.4700V +4.3434nS 3.3000V 3.1399V 3.4700V +4.4444nS 3.3000V 3.1400V 3.4700V +4.5455nS 3.3000V 3.1400V 3.4700V +4.6465nS 3.3000V 3.1399V 3.4700V +4.7475nS 3.3000V 3.1400V 3.4700V +4.8485nS 3.3000V 3.1400V 3.4700V +4.9495nS 3.3000V 3.1400V 3.4700V +5.0505nS 3.3000V 3.1400V 3.4700V +5.1515nS 3.3000V 3.1400V 3.4699V +5.2525nS 3.3000V 3.1400V 3.4700V +5.3535nS 3.3000V 3.1400V 3.4700V +5.4545nS 3.3000V 3.1400V 3.4700V +5.5556nS 3.3000V 3.1400V 3.4699V +5.6566nS 3.3000V 3.1400V 3.4700V +5.7576nS 3.3000V 3.1400V 3.4700V +5.8586nS 3.3000V 3.1400V 3.4700V +5.9596nS 3.3000V 3.1400V 3.4699V +6.0606nS 3.3000V 3.1400V 3.4700V +6.1616nS 3.3000V 3.1400V 3.4700V +6.2626nS 3.3000V 3.1400V 3.4700V +6.3636nS 3.3000V 3.1400V 3.4699V +6.4646nS 3.3000V 3.1400V 3.4700V +6.5657nS 3.3000V 3.1400V 3.4700V +6.6667nS 3.3000V 3.1400V 3.4700V +6.7677nS 3.3000V 3.1400V 3.4699V +6.8687nS 3.3000V 3.1400V 3.4700V +6.9697nS 3.3000V 3.1400V 3.4700V +7.0707nS 3.3000V 3.1400V 3.4700V +7.1717nS 3.3000V 3.1400V 3.4700V +7.2727nS 3.3000V 3.1400V 3.4700V +7.3737nS 3.3000V 3.1400V 3.4700V +7.4747nS 3.3000V 3.1400V 3.4700V +7.5758nS 3.3000V 3.1400V 3.4700V +7.6768nS 3.3000V 3.1400V 3.4700V +7.7778nS 3.3000V 3.1400V 3.4700V +7.8788nS 3.3000V 3.1400V 3.4700V +7.9798nS 3.3000V 3.1400V 3.4699V +8.0808nS 3.3000V 3.1400V 3.4700V +8.1818nS 3.3000V 3.1400V 3.4700V +8.2828nS 3.3000V 3.1400V 3.4700V +8.3838nS 3.3000V 3.1400V 3.4700V +8.4848nS 3.3000V 3.1400V 3.4700V +8.5859nS 3.3000V 3.1400V 3.4700V +8.6869nS 3.3000V 3.1400V 3.4700V +8.7879nS 3.3000V 3.1400V 3.4700V +8.8889nS 3.3000V 3.1400V 3.4700V +8.9899nS 3.3000V 3.1400V 3.4700V +9.0909nS 3.3000V 3.1400V 3.4700V +9.1919nS 3.3000V 3.1400V 3.4700V +9.2929nS 3.3000V 3.1400V 3.4700V +9.3939nS 3.3000V 3.1400V 3.4700V +9.4949nS 3.3000V 3.1400V 3.4700V +9.5960nS 3.3000V 3.1400V 3.4700V +9.6970nS 3.3000V 3.1400V 3.4700V +9.7980nS 3.3000V 3.1400V 3.4700V +9.8990nS 3.3000V 3.1400V 3.4700V +10.0000nS 3.3000V 3.1400V 3.4700V +| +[Rising Waveform] +R_fixture= 50.0000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 1.2884uV 1.5543uV 1.3225uV +0.1010nS 0.5355uV 0.8430uV 0.6254uV +0.2020nS -3.0614uV 0.1113uV 0.5701uV +0.3030nS 0.6806uV -1.9546uV 10.3860uV +0.4040nS 3.2624uV 1.2769uV -0.2118mV +0.5051nS 32.7230uV 1.5286uV -24.1640mV +0.6061nS -0.3955mV 2.8080uV -9.9395mV +0.7071nS -15.7200mV 17.6660uV 0.1561V +0.8081nS -19.9850mV 99.9200uV 0.5397V +0.9091nS -0.4586mV -0.2072mV 0.9226V +1.0101nS 88.3420mV -6.1838mV 1.2091V +1.1111nS 0.2478V -18.1000mV 1.3886V +1.2121nS 0.4471V -16.0430mV 1.4951V +1.3131nS 0.6318V -10.1180mV 1.5589V +1.4141nS 0.7749V 8.8815mV 1.5984V +1.5152nS 0.8766V 55.5920mV 1.6234V +1.6162nS 0.9465V 0.1340V 1.6394V +1.7172nS 0.9942V 0.2360V 1.6498V +1.8182nS 1.0272V 0.3461V 1.6566V +1.9192nS 1.0502V 0.4492V 1.6613V +2.0202nS 1.0667V 0.5367V 1.6638V +2.1212nS 1.0785V 0.6066V 1.6656V +2.2222nS 1.0871V 0.6605V 1.6667V +2.3232nS 1.0934V 0.7013V 1.6675V +2.4242nS 1.0979V 0.7318V 1.6680V +2.5253nS 1.1013V 0.7546V 1.6684V +2.6263nS 1.1038V 0.7716V 1.6687V +2.7273nS 1.1056V 0.7845V 1.6689V +2.8283nS 1.1069V 0.7942V 1.6691V +2.9293nS 1.1080V 0.8016V 1.6693V +3.0303nS 1.1087V 0.8073V 1.6693V +3.1313nS 1.1093V 0.8118V 1.6694V +3.2323nS 1.1097V 0.8152V 1.6695V +3.3333nS 1.1100V 0.8178V 1.6695V +3.4343nS 1.1103V 0.8199V 1.6695V +3.5354nS 1.1104V 0.8215V 1.6696V +3.6364nS 1.1105V 0.8228V 1.6695V +3.7374nS 1.1106V 0.8238V 1.6696V +3.8384nS 1.1107V 0.8246V 1.6696V +3.9394nS 1.1107V 0.8252V 1.6696V +4.0404nS 1.1108V 0.8257V 1.6696V +4.1414nS 1.1108V 0.8261V 1.6696V +4.2424nS 1.1108V 0.8265V 1.6696V +4.3434nS 1.1109V 0.8267V 1.6696V +4.4444nS 1.1109V 0.8269V 1.6696V +4.5455nS 1.1109V 0.8271V 1.6696V +4.6465nS 1.1109V 0.8272V 1.6696V +4.7475nS 1.1109V 0.8273V 1.6696V +4.8485nS 1.1109V 0.8274V 1.6696V +4.9495nS 1.1109V 0.8274V 1.6696V +5.0505nS 1.1109V 0.8276V 1.6696V +5.1515nS 1.1109V 0.8276V 1.6696V +5.2525nS 1.1109V 0.8276V 1.6696V +5.3535nS 1.1109V 0.8276V 1.6696V +5.4545nS 1.1109V 0.8276V 1.6696V +5.5556nS 1.1109V 0.8276V 1.6696V +5.6566nS 1.1109V 0.8276V 1.6696V +5.7576nS 1.1109V 0.8277V 1.6696V +5.8586nS 1.1109V 0.8277V 1.6696V +5.9596nS 1.1109V 0.8277V 1.6696V +6.0606nS 1.1109V 0.8277V 1.6696V +6.1616nS 1.1109V 0.8277V 1.6696V +6.2626nS 1.1109V 0.8277V 1.6696V +6.3636nS 1.1109V 0.8277V 1.6696V +6.4646nS 1.1109V 0.8277V 1.6696V +6.5657nS 1.1109V 0.8277V 1.6696V +6.6667nS 1.1110V 0.8277V 1.6696V +6.7677nS 1.1109V 0.8277V 1.6696V +6.8687nS 1.1109V 0.8277V 1.6696V +6.9697nS 1.1109V 0.8277V 1.6696V +7.0707nS 1.1110V 0.8277V 1.6696V +7.1717nS 1.1109V 0.8277V 1.6696V +7.2727nS 1.1110V 0.8277V 1.6696V +7.3737nS 1.1110V 0.8277V 1.6696V +7.4747nS 1.1110V 0.8277V 1.6696V +7.5758nS 1.1110V 0.8277V 1.6696V +7.6768nS 1.1110V 0.8277V 1.6696V +7.7778nS 1.1109V 0.8277V 1.6696V +7.8788nS 1.1110V 0.8277V 1.6696V +7.9798nS 1.1110V 0.8277V 1.6696V +8.0808nS 1.1110V 0.8277V 1.6696V +8.1818nS 1.1109V 0.8277V 1.6696V +8.2828nS 1.1110V 0.8277V 1.6696V +8.3838nS 1.1110V 0.8277V 1.6696V +8.4848nS 1.1110V 0.8277V 1.6696V +8.5859nS 1.1110V 0.8277V 1.6696V +8.6869nS 1.1110V 0.8277V 1.6696V +8.7879nS 1.1109V 0.8277V 1.6696V +8.8889nS 1.1109V 0.8277V 1.6696V +8.9899nS 1.1109V 0.8277V 1.6696V +9.0909nS 1.1109V 0.8277V 1.6696V +9.1919nS 1.1109V 0.8277V 1.6696V +9.2929nS 1.1109V 0.8277V 1.6696V +9.3939nS 1.1109V 0.8277V 1.6696V +9.4949nS 1.1109V 0.8277V 1.6696V +9.5960nS 1.1109V 0.8277V 1.6696V +9.6970nS 1.1110V 0.8277V 1.6696V +9.7980nS 1.1110V 0.8277V 1.6696V +9.8990nS 1.1110V 0.8277V 1.6696V +10.0000nS 1.1109V 0.8277V 1.6696V +[Falling Waveform] +R_fixture= 50.0000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 1.1109V 0.8277V 1.6696V +0.1010nS 1.1109V 0.8277V 1.6696V +0.2020nS 1.1109V 0.8277V 1.6696V +0.3030nS 1.1110V 0.8277V 1.6696V +0.4040nS 1.1110V 0.8277V 1.6696V +0.5051nS 1.1109V 0.8277V 1.6644V +0.6061nS 1.1110V 0.8277V 1.0431V +0.7071nS 1.1113V 0.8277V 0.4157V +0.8081nS 0.9851V 0.8277V 0.1612V +0.9091nS 0.5727V 0.8276V 77.0900mV +1.0101nS 0.2814V 0.8282V 40.8740mV +1.1111nS 0.1329V 0.8285V 22.9430mV +1.2121nS 73.6840mV 0.7997V 12.4510mV +1.3131nS 43.0370mV 0.5895V 6.8313mV +1.4141nS 26.7550mV 0.3604V 3.7992mV +1.5152nS 17.0970mV 0.2116V 2.1510mV +1.6162nS 11.1140mV 0.1248V 1.2529mV +1.7172nS 7.2776mV 75.3210mV 0.7544mV +1.8182nS 4.8176mV 47.2290mV 0.4826mV +1.9192nS 3.1888mV 31.3570mV 0.3253mV +2.0202nS 2.1519mV 21.8020mV 0.2392mV +2.1212nS 1.4430mV 15.5850mV 0.1806mV +2.2222nS 1.0065mV 11.3310mV 0.1485mV +2.3232nS 0.6888mV 8.3187mV 0.1251mV +2.4242nS 0.5069mV 6.1527mV 0.1108mV +2.5253nS 0.3566mV 4.5704mV 0.1026mV +2.6263nS 0.2717mV 3.4134mV 96.2470uV +2.7273nS 0.1995mV 2.5569mV 87.3860uV +2.8283nS 0.1853mV 1.9272mV 82.9260uV +2.9293nS 0.1277mV 1.4565mV 68.6140uV +3.0303nS 0.1252mV 1.1098mV 60.2230uV +3.1313nS 89.5590uV 0.8485mV 49.7170uV +3.2323nS 94.4160uV 0.6561mV 56.7570uV +3.3333nS 49.7470uV 0.5093mV 54.1530uV +3.4343nS 57.0870uV 0.3863mV 49.3370uV +3.5354nS 52.4280uV 0.3073mV 42.7020uV +3.6364nS 77.0030uV 0.2451mV 40.7070uV +3.7374nS 46.1550uV 0.1875mV 33.9890uV +3.8384nS 63.3650uV 0.1621mV 34.0740uV +3.9394nS 31.9750uV 0.1378mV 27.5110uV +4.0404nS 46.0820uV 0.1176mV 33.5240uV +4.1414nS 14.0450uV 0.1002mV 26.4520uV +4.2424nS 30.8440uV 91.6770uV 22.6270uV +4.3434nS 23.9580uV 76.4830uV 15.2880uV +4.4444nS 37.9550uV 66.7720uV 22.2140uV +4.5455nS 20.1420uV 54.3060uV 29.8260uV +4.6465nS 38.7320uV 46.2710uV 31.2670uV +4.7475nS 7.9010uV 34.7060uV 23.8310uV +4.8485nS 28.9680uV 27.4260uV 23.1060uV +4.9495nS 3.7079uV 16.8370uV 10.7150uV +5.0505nS 4.6522uV 25.8205uV 14.7445uV +5.1515nS 12.5270uV 19.1810uV 11.7510uV +5.2525nS 10.5410uV 17.0160uV 5.4213uV +5.3535nS 42.1190uV 11.8180uV 8.5329uV +5.4545nS 11.4930uV 19.2340uV 13.1240uV +5.5556nS 38.3480uV 27.0890uV 18.1120uV +5.6566nS 1.7742uV 38.8120uV 11.7850uV +5.7576nS 22.6050uV 31.4050uV 7.1004uV +5.8586nS -3.9145uV 19.9240uV -7.3305uV +5.9596nS 13.3160uV 7.4008uV 0.4354uV +6.0606nS 7.3534uV -0.9538uV 7.7540uV +6.1616nS 33.4920uV -8.2614uV 8.9420uV +6.2626nS 9.8852uV 1.6769uV 5.0332uV +6.3636nS 25.5040uV 16.3790uV 2.4944uV +6.4646nS -2.5946uV 32.5920uV -5.3283uV +6.5657nS 4.1073uV 30.8730uV 6.9637uV +6.6667nS 2.1062uV 21.8930uV 7.5789uV +6.7677nS 10.6270uV 5.1201uV 6.5788uV +6.8687nS -19.4020uV -8.0928uV 0.9709uV +6.9697nS 3.6023uV 5.3486uV -0.4159uV +7.0707nS -20.2800uV 10.3380uV -4.1503uV +7.1717nS 19.4790uV 23.0950uV -4.9697uV +7.2727nS -10.7860uV 7.5118uV -8.6698uV +7.3737nS 21.7550uV 9.0311uV -7.4803uV +7.4747nS 12.4390uV -5.6908uV -10.4050uV +7.5758nS 18.3510uV -4.5175uV -8.2164uV +7.6768nS -7.8114uV 1.1510uV -10.8020uV +7.7778nS 2.0275uV 12.3600uV -1.5528uV +7.8788nS -76.1190nV 12.0690uV 6.6952uV +7.9798nS 4.0097uV 8.9861uV 10.0890uV +8.0808nS 0.4972uV -1.8875uV 0.6130uV +8.1818nS 0.5840uV -11.3150uV -1.5820uV +8.2828nS -12.7280uV -15.9390uV -8.5048uV +8.3838nS 3.4867uV -5.2058uV -1.9719uV +8.4848nS -4.5739uV 2.6217uV 0.5424uV +8.5859nS 4.1249uV 2.6585uV 4.0878uV +8.6869nS -12.0140uV -0.6919uV 6.4732uV +8.7879nS -3.8915uV -10.4690uV 7.0541uV +8.8889nS -10.5260uV -22.7580uV 2.8919uV +8.9899nS 2.5661uV -25.3070uV -3.3709uV +9.0909nS -2.9240uV -11.4390uV -5.9996uV +9.1919nS -3.0241uV -1.1643uV 0.8082uV +9.2929nS -7.9366uV 5.3328uV 0.4492uV +9.3939nS -2.3621uV 8.5118uV 5.8039uV +9.4949nS -9.1146uV -8.6006uV -2.4704uV +9.5960nS -3.7574uV -19.3450uV -0.8494uV +9.6970nS -16.6030uV -15.4900uV -2.2380uV +9.7980nS -2.4824uV -3.6242uV 4.0030uV +9.8990nS -18.6820uV 15.5490uV 1.5950uV +10.0000nS -1.0707uV 8.4164uV -6.6712uV +| +[Falling Waveform] +R_fixture= 50.0000 +V_fixture= 3.3000 +V_fixture_min= 3.1400 +V_fixture_max= 3.4700 +|time V(typ) V(min) V(max) +| +0.0S 3.3000V 3.1400V 3.4700V +0.1010nS 3.3000V 3.1400V 3.4700V +0.2020nS 3.3000V 3.1400V 3.4700V +0.3030nS 3.3000V 3.1400V 3.4700V +0.4040nS 3.3000V 3.1400V 3.4700V +0.5051nS 3.3000V 3.1400V 3.4758V +0.6061nS 3.3001V 3.1400V 3.4570V +0.7071nS 3.2983V 3.1400V 3.0951V +0.8081nS 3.3299V 3.1400V 2.7403V +0.9091nS 3.2987V 3.1398V 2.4747V +1.0101nS 3.1080V 3.1409V 2.2935V +1.1111nS 2.8866V 3.1388V 2.1742V +1.2121nS 2.6919V 3.1507V 2.0966V +1.3131nS 2.5414V 3.1748V 2.0453V +1.4141nS 2.4321V 3.1565V 2.0112V +1.5152nS 2.3547V 3.0752V 1.9884V +1.6162nS 2.3001V 2.9642V 1.9732V +1.7172nS 2.2616V 2.8458V 1.9629V +1.8182nS 2.2341V 2.7389V 1.9561V +1.9192nS 2.2145V 2.6506V 1.9515V +2.0202nS 2.2003V 2.5809V 1.9484V +2.1212nS 2.1900V 2.5272V 1.9463V +2.2222nS 2.1826V 2.4862V 1.9450V +2.3232nS 2.1771V 2.4551V 1.9440V +2.4242nS 2.1731V 2.4314V 1.9434V +2.5253nS 2.1702V 2.4134V 1.9430V +2.6263nS 2.1681V 2.3996V 1.9427V +2.7273nS 2.1665V 2.3890V 1.9425V +2.8283nS 2.1654V 2.3808V 1.9424V +2.9293nS 2.1646V 2.3745V 1.9423V +3.0303nS 2.1639V 2.3696V 1.9422V +3.1313nS 2.1635V 2.3658V 1.9422V +3.2323nS 2.1631V 2.3628V 1.9421V +3.3333nS 2.1629V 2.3604V 1.9421V +3.4343nS 2.1627V 2.3586V 1.9421V +3.5354nS 2.1626V 2.3572V 1.9420V +3.6364nS 2.1625V 2.3560V 1.9421V +3.7374nS 2.1624V 2.3551V 1.9421V +3.8384nS 2.1623V 2.3544V 1.9421V +3.9394nS 2.1623V 2.3539V 1.9420V +4.0404nS 2.1622V 2.3534V 1.9420V +4.1414nS 2.1622V 2.3531V 1.9420V +4.2424nS 2.1622V 2.3528V 1.9420V +4.3434nS 2.1622V 2.3526V 1.9420V +4.4444nS 2.1622V 2.3524V 1.9420V +4.5455nS 2.1622V 2.3523V 1.9420V +4.6465nS 2.1622V 2.3522V 1.9420V +4.7475nS 2.1622V 2.3521V 1.9420V +4.8485nS 2.1622V 2.3520V 1.9420V +4.9495nS 2.1622V 2.3519V 1.9420V +5.0505nS 2.1622V 2.3519V 1.9420V +5.1515nS 2.1622V 2.3518V 1.9420V +5.2525nS 2.1622V 2.3518V 1.9420V +5.3535nS 2.1622V 2.3518V 1.9420V +5.4545nS 2.1622V 2.3518V 1.9420V +5.5556nS 2.1622V 2.3518V 1.9420V +5.6566nS 2.1622V 2.3517V 1.9420V +5.7576nS 2.1621V 2.3517V 1.9420V +5.8586nS 2.1621V 2.3517V 1.9420V +5.9596nS 2.1621V 2.3517V 1.9420V +6.0606nS 2.1621V 2.3517V 1.9420V +6.1616nS 2.1621V 2.3517V 1.9420V +6.2626nS 2.1621V 2.3517V 1.9420V +6.3636nS 2.1621V 2.3517V 1.9420V +6.4646nS 2.1621V 2.3517V 1.9420V +6.5657nS 2.1621V 2.3517V 1.9420V +6.6667nS 2.1622V 2.3517V 1.9420V +6.7677nS 2.1621V 2.3517V 1.9420V +6.8687nS 2.1621V 2.3517V 1.9420V +6.9697nS 2.1621V 2.3517V 1.9420V +7.0707nS 2.1621V 2.3517V 1.9420V +7.1717nS 2.1621V 2.3517V 1.9420V +7.2727nS 2.1621V 2.3517V 1.9420V +7.3737nS 2.1621V 2.3517V 1.9420V +7.4747nS 2.1621V 2.3517V 1.9420V +7.5758nS 2.1621V 2.3517V 1.9420V +7.6768nS 2.1621V 2.3517V 1.9420V +7.7778nS 2.1621V 2.3517V 1.9420V +7.8788nS 2.1621V 2.3517V 1.9420V +7.9798nS 2.1621V 2.3517V 1.9420V +8.0808nS 2.1621V 2.3517V 1.9420V +8.1818nS 2.1621V 2.3517V 1.9420V +8.2828nS 2.1621V 2.3517V 1.9420V +8.3838nS 2.1621V 2.3517V 1.9420V +8.4848nS 2.1621V 2.3517V 1.9420V +8.5859nS 2.1621V 2.3517V 1.9420V +8.6869nS 2.1621V 2.3517V 1.9420V +8.7879nS 2.1621V 2.3517V 1.9420V +8.8889nS 2.1621V 2.3517V 1.9420V +8.9899nS 2.1621V 2.3517V 1.9420V +9.0909nS 2.1621V 2.3517V 1.9420V +9.1919nS 2.1621V 2.3517V 1.9420V +9.2929nS 2.1621V 2.3517V 1.9420V +9.3939nS 2.1621V 2.3517V 1.9420V +9.4949nS 2.1621V 2.3517V 1.9420V +9.5960nS 2.1621V 2.3517V 1.9420V +9.6970nS 2.1621V 2.3517V 1.9420V +9.7980nS 2.1621V 2.3517V 1.9420V +9.8990nS 2.1621V 2.3517V 1.9420V +10.0000nS 2.1621V 2.3517V 1.9420V +| +| End [Model] lvc330s040daaaaaaaou +|************************************************************************ +[Model] lvc330s040haaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.8000V +Vinh = 2.0000V +Vmeas = 1.500000V +Cref = 0.0F +Rref = 1.0000M +Vref = 0.0V +C_comp 4.2000pF 3.8000pF 7.5000pF +| +[Temperature Range] 25.0000 0.1050k -40.0000 +[Voltage Range] 3.3000V 3.1400V 3.4700V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -13.0175mA -9.4589mA -17.0245mA + -3.20 -12.9707mA -9.4248mA -16.9624mA + -3.10 -12.9240mA -9.3908mA -16.9003mA + -3.00 -12.8773mA -9.3568mA -16.8383mA + -2.90 -12.8305mA -9.3227mA -16.7762mA + -2.80 -12.7838mA -9.2887mA -16.7142mA + -2.70 -12.7370mA -9.2546mA -16.6521mA + -2.60 -12.6903mA -9.2206mA -16.5900mA + -2.50 -12.6435mA -9.1866mA -16.5280mA + -2.40 -12.5968mA -9.1525mA -16.4659mA + -2.30 -12.5500mA -9.1185mA -16.4038mA + -2.20 -12.5033mA -9.0845mA -16.3418mA + -2.10 -12.4566mA -9.0504mA -16.2797mA + -2.00 -12.4098mA -9.0164mA -16.2176mA + -1.90 -12.3631mA -8.9824mA -16.1556mA + -1.80 -12.3163mA -8.9483mA -16.0935mA + -1.70 -12.2696mA -8.9143mA -16.0314mA + -1.60 -12.2228mA -8.8803mA -15.9694mA + -1.50 -12.1761mA -8.8462mA -15.9073mA + -1.40 -12.1293mA -8.8122mA -15.8453mA + -1.30 -12.0826mA -8.7781mA -15.7832mA + -1.20 -12.0359mA -8.7441mA -15.7211mA + -1.10 -11.9891mA -8.7101mA -15.6591mA + -1.00 -11.9424mA -8.6760mA -15.5970mA + -0.90 -11.8920mA -8.6420mA -14.2580mA + -0.80 -11.2030mA -8.5040mA -13.3310mA + -0.70 -10.6640mA -8.3180mA -12.8580mA + -0.60 -10.1775mA -7.9085mA -12.5090mA + -0.50 -9.6242mA -7.2249mA -12.2652mA + -0.40 -8.4558mA -6.0810mA -11.1990mA + -0.30 -6.5017mA -4.6206mA -8.6527mA + -0.20 -4.3829mA -3.0989mA -5.8476mA + -0.10 -2.2159mA -1.5586mA -2.9656mA + 0.00 1.3970nA 1.1420nA 1.8430nA + 0.10 2.1875mA 1.5273mA 2.9429mA + 0.20 4.2657mA 2.9723mA 5.7511mA + 0.30 6.2349mA 4.3353mA 8.4238mA + 0.40 8.0952mA 5.6169mA 10.9612mA + 0.50 9.8472mA 6.8175mA 13.3613mA + 0.60 11.4909mA 7.9379mA 15.6250mA + 0.70 13.0251mA 8.9781mA 17.7500mA + 0.80 14.4502mA 9.9381mA 19.7321mA + 0.90 15.7635mA 10.8176mA 21.5658mA + 1.00 16.9605mA 11.6151mA 23.2399mA + 1.10 18.0347mA 12.3297mA 24.7385mA + 1.20 18.9760mA 12.9574mA 26.0423mA + 1.30 19.7754mA 13.4941mA 27.1313mA + 1.40 20.4319mA 13.9418mA 28.0074mA + 1.50 21.1825mA 14.4344mA 28.6916mA + 1.60 21.5959mA 14.7249mA 29.6115mA + 1.70 21.9250mA 14.9601mA 30.0279mA + 1.80 22.1935mA 15.1539mA 30.3626mA + 1.90 22.4157mA 15.3154mA 30.6368mA + 2.00 22.6034mA 15.4536mA 30.8683mA + 2.10 22.7656mA 15.5735mA 31.0653mA + 2.20 22.9074mA 15.6790mA 31.2357mA + 2.30 23.0328mA 15.7722mA 31.3865mA + 2.40 23.1458mA 15.8561mA 31.5207mA + 2.50 23.2463mA 15.9326mA 31.6404mA + 2.60 23.3383mA 16.0018mA 31.7495mA + 2.70 23.4230mA 16.0657mA 31.8480mA + 2.80 23.5002mA 16.1243mA 31.9389mA + 2.90 23.5720mA 16.1785mA 32.0223mA + 3.00 23.6383mA 16.2294mA 32.0991mA + 3.10 23.7003mA 16.2770mA 32.1714mA + 3.20 23.7588mA 16.3211mA 32.2390mA + 3.30 23.8138mA 16.3630mA 32.3031mA + 3.40 23.8674mA 16.4006mA 32.3667mA + 3.50 23.9193mA 16.4233mA 32.4306mA + 3.60 23.9674mA 16.4889mA 32.4982mA + 3.70 23.9882mA 16.5546mA 32.5708mA + 3.80 24.0840mA 16.6202mA 32.6441mA + 3.90 24.1798mA 16.6859mA 32.7359mA + 4.00 24.2756mA 16.7515mA 32.8665mA + 4.10 24.3714mA 16.8172mA 32.9972mA + 4.20 24.4672mA 16.8828mA 33.1278mA + 4.30 24.5630mA 16.9485mA 33.2584mA + 4.40 24.6588mA 17.0142mA 33.3891mA + 4.50 24.7546mA 17.0798mA 33.5197mA + 4.60 24.8504mA 17.1455mA 33.6503mA + 4.70 24.9462mA 17.2111mA 33.7810mA + 4.80 25.0420mA 17.2768mA 33.9116mA + 4.90 25.1378mA 17.3424mA 34.0423mA + 5.00 25.2336mA 17.4081mA 34.1729mA + 5.10 25.3294mA 17.4737mA 34.3035mA + 5.20 25.4252mA 17.5394mA 34.4342mA + 5.30 25.5210mA 17.6051mA 34.5648mA + 5.40 25.6168mA 17.6707mA 34.6955mA + 5.50 25.7126mA 17.7364mA 34.8261mA + 5.60 25.8084mA 17.8020mA 34.9567mA + 5.70 25.9042mA 17.8677mA 35.0874mA + 5.80 25.9999mA 17.9333mA 35.2180mA + 5.90 26.0957mA 17.9990mA 35.3486mA + 6.00 26.1915mA 18.0647mA 35.4793mA + 6.10 26.2873mA 18.1303mA 35.6099mA + 6.20 26.3831mA 18.1960mA 35.7406mA + 6.30 26.4789mA 18.2616mA 35.8712mA + 6.40 26.5747mA 18.3273mA 36.0018mA + 6.50 26.6705mA 18.3929mA 36.1325mA + 6.60 26.7663mA 18.4586mA 36.2631mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| +-3.30 60.9662mA 46.6308mA 87.0217mA +-3.20 60.7240mA 46.4472mA 86.7600mA +-3.10 60.2994mA 46.2636mA 85.3500mA +-3.00 59.0755mA 46.0800mA 83.1700mA +-2.90 57.3963mA 45.5300mA 80.5900mA +-2.80 55.4705mA 44.3800mA 77.7700mA +-2.70 53.3739mA 42.9200mA 74.8000mA +-2.60 51.1729mA 41.2800mA 71.7300mA +-2.50 48.8960mA 39.5320mA 68.6000mA +-2.40 46.5650mA 37.7130mA 65.4100mA +-2.30 44.2113mA 35.8570mA 62.2000mA +-2.20 41.8320mA 33.9950mA 58.9610mA +-2.10 39.4555mA 32.1310mA 55.7110mA +-2.00 37.1056mA 30.2880mA 52.4470mA +-1.90 34.7793mA 28.4710mA 49.1720mA +-1.80 32.5319mA 26.6850mA 45.8900mA +-1.70 30.3631mA 24.9360mA 42.6060mA +-1.60 28.2959mA 23.2280mA 39.3910mA +-1.50 26.3236mA 21.5600mA 36.3540mA +-1.40 24.4385mA 19.9360mA 33.5720mA +-1.30 22.6312mA 18.3560mA 31.0630mA +-1.20 20.8932mA 16.8240mA 28.8020mA +-1.10 19.2273mA 15.3490mA 26.8550mA +-1.00 17.6525mA 13.9360mA 25.6750mA +-0.90 16.2417mA 12.5950mA 24.4660mA +-0.80 14.9068mA 11.3600mA 21.3180mA +-0.70 13.2931mA 10.2971mA 18.9703mA +-0.60 11.6685mA 9.2483mA 16.9105mA +-0.50 9.9513mA 7.8709mA 14.6683mA +-0.40 7.9801mA 6.2914mA 11.8564mA +-0.30 5.9303mA 4.6622mA 8.8439mA +-0.20 3.9153mA 3.0657mA 5.8617mA +-0.10 1.9400mA 1.5124mA 2.9160mA +0.00 -6.9700nA -2.5700nA -86.5000nA +0.10 -1.8799mA -1.4564mA -2.8429mA +0.20 -3.6735mA -2.8408mA -5.5653mA +0.30 -5.3808mA -4.1535mA -8.1679mA +0.40 -7.0025mA -5.3952mA -10.6515mA +0.50 -8.5393mA -6.5665mA -13.0149mA +0.60 -9.9917mA -7.6679mA -15.2608mA +0.70 -11.3594mA -8.6999mA -17.3894mA +0.80 -12.6449mA -9.6632mA -19.4005mA +0.90 -13.8465mA -10.5579mA -21.2942mA +1.00 -14.9659mA -11.3853mA -23.0724mA +1.10 -16.0032mA -12.1460mA -24.7353mA +1.20 -16.9593mA -12.8401mA -26.2837mA +1.30 -17.8352mA -13.4675mA -27.7167mA +1.40 -18.6299mA -14.0302mA -29.0372mA +1.50 -19.3454mA -14.5272mA -30.2434mA +1.60 -19.9815mA -14.9606mA -31.3381mA +1.70 -20.5404mA -15.3313mA -32.3204mA +1.80 -21.0208mA -15.7720mA -33.1924mA +1.90 -21.6437mA -16.0228mA -34.3429mA +2.00 -21.9782mA -16.2184mA -35.0021mA +2.10 -22.2442mA -16.3681mA -35.5553mA +2.20 -22.4522mA -16.4866mA -36.0104mA +2.30 -22.6203mA -16.5871mA -36.3794mA +2.40 -22.7636mA -16.6772mA -36.6831mA +2.50 -22.8919mA -16.7617mA -36.9446mA +2.60 -23.0116mA -16.8402mA -37.1814mA +2.70 -23.1247mA -16.9153mA -37.4005mA +2.80 -23.2299mA -16.9860mA -37.6054mA +2.90 -23.3289mA -17.0521mA -37.7972mA +3.00 -23.4225mA -17.1156mA -37.9765mA +3.10 -23.5107mA -17.1755mA -38.1452mA +3.20 -23.5932mA -17.2307mA -38.3020mA +3.30 -23.6690mA -17.2845mA -38.4487mA +3.40 -23.7421mA -17.3317mA -38.5851mA +3.50 -23.8099mA -17.3821mA -38.7103mA +3.60 -23.8639mA -17.4515mA -38.8302mA +3.70 -23.9593mA -17.5209mA -38.9459mA +3.80 -24.0548mA -17.5902mA -39.0277mA +3.90 -24.1501mA -17.6596mA -39.1834mA +4.00 -24.2455mA -17.7290mA -39.3392mA +4.10 -24.3409mA -17.7983mA -39.4949mA +4.20 -24.4363mA -17.8677mA -39.6506mA +4.30 -24.5317mA -17.9371mA -39.8063mA +4.40 -24.6271mA -18.0064mA -39.9620mA +4.50 -24.7225mA -18.0758mA -40.1178mA +4.60 -24.8179mA -18.1452mA -40.2735mA +4.70 -24.9133mA -18.2145mA -40.4292mA +4.80 -25.0087mA -18.2839mA -40.5849mA +4.90 -25.1041mA -18.3532mA -40.7406mA +5.00 -25.1995mA -18.4226mA -40.8964mA +5.10 -25.2949mA -18.4920mA -41.0521mA +5.20 -25.3902mA -18.5613mA -41.2078mA +5.30 -25.4857mA -18.6307mA -41.3635mA +5.40 -25.5810mA -18.7001mA -41.5192mA +5.50 -25.6765mA -18.7694mA -41.6750mA +5.60 -25.7719mA -18.8388mA -41.8307mA +5.70 -25.8673mA -18.9082mA -41.9864mA +5.80 -25.9627mA -18.9775mA -42.1421mA +5.90 -26.0580mA -19.0469mA -42.2978mA +6.00 -26.1535mA -19.1163mA -42.4536mA +6.10 -26.2488mA -19.1856mA -42.6093mA +6.20 -26.3443mA -19.2550mA -42.7650mA +6.30 -26.4396mA -19.3244mA -42.9207mA +6.40 -26.5350mA -19.3937mA -43.0764mA +6.50 -26.6305mA -19.4631mA -43.2322mA +6.55 -26.6781mA -19.4978mA -43.3100mA +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.9552A -0.9302A -0.9778A + -3.25 -0.9306A -0.9058A -0.9532A + -3.20 -0.9061A -0.8814A -0.9285A + -3.15 -0.8815A -0.857A -0.9039A + -3.10 -0.857A -0.8327A -0.8792A + -3.05 -0.8325A -0.8083A -0.8546A + -3.00 -0.808A -0.784A -0.83A + -2.95 -0.7836A -0.7597A -0.8054A + -2.90 -0.7591A -0.7355A -0.7808A + -2.85 -0.7347A -0.7112A -0.7563A + -2.80 -0.7103A -0.6871A -0.7317A + -2.75 -0.6859A -0.6629A -0.7072A + -2.70 -0.6616A -0.6388A -0.6827A + -2.65 -0.6373A -0.6148A -0.6582A + -2.60 -0.613A -0.5908A -0.6338A + -2.55 -0.5888A -0.5668A -0.6094A + -2.50 -0.5646A -0.543A -0.585A + -2.45 -0.5405A -0.5192A -0.5607A + -2.40 -0.5165A -0.4955A -0.5364A + -2.35 -0.4925A -0.4719A -0.5122A + -2.30 -0.4686A -0.4484A -0.488A + -2.25 -0.4448A -0.425A -0.4639A + -2.20 -0.421A -0.4018A -0.4398A + -2.15 -0.3975A -0.3788A -0.4159A + -2.10 -0.374A -0.3561A -0.3921A + -2.05 -0.3508A -0.3336A -0.3684A + -2.00 -0.3278A -0.3115A -0.3449A + -1.95 -0.3051A -0.2898A -0.3216A + -1.90 -0.2829A -0.2688A -0.2986A + -1.85 -0.2611A -0.2485A -0.276A + -1.80 -0.2402A -0.2293A -0.2541A + -1.75 -0.2203A -0.2115A -0.233A + -1.70 -0.2019A -0.1953A -0.2133A + -1.65 -0.1856A -0.1809A -0.1957A + -1.60 -0.1716A -0.1681A -0.1809A + -1.55 -0.1593A -0.1563A -0.1683A + -1.50 -0.148A -0.1451A -0.157A + -1.45 -0.1371A -0.1342A -0.146A + -1.40 -0.1266A -0.1236A -0.1353A + -1.35 -0.1161A -0.1131A -0.1248A + -1.30 -0.1059A -0.1029A -0.1145A + -1.25 -95.8525mA -92.7685mA -0.1044A + -1.20 -86.0775mA -82.8695mA -94.7415mA + -1.15 -76.6285mA -73.2225mA -85.5735mA + -1.10 -67.6045mA -63.8875mA -77.1175mA + -1.05 -59.1405mA -54.9455mA -69.5895mA + -1.00 -51.4145mA -46.5095mA -63.0585mA + -0.95 -44.6125mA -38.7355mA -57.1555mA + -0.90 -38.7695mA -31.8215mA -51.1065mA + -0.85 -33.4345mA -25.8545mA -44.5675mA + -0.80 -28.1565mA -20.5265mA -37.8185mA + -0.75 -22.9755mA -15.7285mA -31.1295mA + -0.70 -18.0095mA -11.5805mA -24.6635mA + -0.65 -13.3705mA -8.0894mA -18.5475mA + -0.60 -9.185mA -5.219mA -12.9245mA + -0.55 -5.6163mA -2.9834mA -7.9946mA + -0.50 -2.8703mA -1.4348mA -4.0643mA + -0.45 -1.1245mA -0.5536mA -1.5008mA + -0.40 -0.308mA -0.1624mA -0.3485mA + -0.35 -35.6uA -20.3890uA -16.0uA + -0.30 0.0A 0.0A 0.0A + -0.25 0.0A 0.0A 0.0A + -0.20 0.0A 0.0A 0.0A + -0.15 0.0A 0.0A 0.0A + -0.10 0.0A 0.0A 0.0A + -0.05 0.0A 0.0A 0.0A + 0.00 0.0A 0.0A 0.0A + 6.60 0.0A 0.0A 0.0A +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.25 0.1221A 0.1248A 0.1242A + -3.15 0.1200A 0.1232A 0.1212A + -3.05 0.1178A 0.1215A 0.1181A + -2.95 0.1153A 0.1196A 0.1148A + -2.85 0.1128A 0.1174A 0.1114A + -2.75 0.1100A 0.1151A 0.1078A + -2.65 0.1071A 0.1126A 0.1041A + -2.55 0.1039A 0.1098A 0.1001A + -2.45 0.1006A 0.1069A 95.9680mA + -2.35 97.0630mA 0.1037A 91.5590mA + -2.25 93.2670mA 0.1003A 86.8480mA + -2.15 89.1920mA 96.7010mA 81.7630mA + -2.05 84.8070mA 92.8600mA 76.2010mA + -1.95 80.0800mA 88.7860mA 70.0340mA + -1.85 74.9870mA 84.4790mA 63.1570mA + -1.75 69.5180mA 79.9450mA 55.5700mA + -1.65 63.6850mA 75.1950mA 47.4010mA + -1.55 57.5160mA 70.2440mA 38.8580mA + -1.45 51.0440mA 65.1120mA 30.1910mA + -1.35 44.3150mA 59.8210mA 21.8920mA + -1.25 37.3820mA 54.3940mA 15.5340mA + -1.15 30.3110mA 48.8520mA 11.4230mA + -1.05 23.2090mA 43.2090mA 6.9858mA + -0.95 16.3160mA 37.4680mA 3.1948mA + -0.85 10.2960mA 31.6320mA 0.8600mA + -0.75 6.1213mA 25.7150mA 0.1694mA + -0.65 3.1679mA 19.7630mA 65.5350uA + -0.55 1.1362mA 13.8830mA 37.1010uA + -0.45 0.2574mA 8.3464mA 19.4580uA + -0.35 73.3430uA 3.8624mA 3.1206uA + -0.25 33.6580uA 1.3608mA -12.8040uA + -0.15 17.7650uA 0.3668mA -28.1570uA + -0.05 5.8276uA 90.2420uA -42.9420uA + 0.00 0.1897uA 50.8660uA -50.1210uA + 0.05 -5.3380uA 31.9340uA -57.1590uA + 0.15 -16.0560uA 15.1110uA -70.8070uA + 0.25 -26.3450uA 5.7330uA -83.8870uA + 0.35 -36.2070uA -2.2074uA -96.3970uA + 0.45 -45.6400uA -9.6847uA -0.1083mA + 0.55 -54.6440uA -16.8200uA -0.1197mA + 0.65 -63.2180uA -23.6240uA -0.1305mA + 0.75 -71.3610uA -30.0980uA -0.1407mA + 0.85 -79.0710uA -36.2430uA -0.1504mA + 0.95 -86.3480uA -42.0600uA -0.1594mA + 1.05 -93.1890uA -47.5470uA -0.1679mA + 1.15 -99.5930uA -52.7050uA -0.1758mA + 1.25 -0.1056mA -57.5350uA -0.1832mA + 1.35 -0.1111mA -62.0370uA -0.1899mA + 1.45 -0.1162mA -66.2090uA -0.1961mA + 1.55 -0.1208mA -70.0530uA -0.2016mA + 1.65 -0.1250mA -73.5690uA -0.2016mA + 1.75 -0.1287mA -76.7560uA -0.2016mA + 1.85 -0.1305mA -79.6150uA -0.2016mA + 1.95 -0.1305mA -82.1480uA -0.2016mA + 2.05 -0.1305mA -83.2920uA -0.2016mA + 2.15 -0.1305mA -83.2920uA -0.2016mA + 2.25 -0.1305mA -83.2920uA -0.2016mA + 2.35 -0.1305mA -83.2920uA -0.2016mA + 2.45 -0.1305mA -83.2920uA -0.2016mA + 2.55 -0.1305mA -83.2920uA -0.2016mA + 2.65 -0.1305mA -83.2920uA -0.2016mA + 2.75 -0.1305mA -83.2920uA -0.2016mA + 2.85 -0.1305mA -83.2920uA -0.2016mA + 2.95 -0.1305mA -83.2920uA -0.2016mA + 3.05 -0.1305mA -83.2920uA -0.2016mA + 3.15 -0.1305mA -83.2920uA -0.2016mA + 3.25 -0.1305mA -83.2920uA -0.2016mA + 6.60 -0.1305mA -83.292uA -0.2016mA +| +[Ramp] +| variable typ min max +dV/dt_r 0.7026/0.4330n 0.4966/0.5731n 1.0018/0.3242n +dV/dt_f 0.6827/0.4387n 0.4730/0.5599n 0.9168/0.3576n +R_load = 50.0000 +| +[Rising Waveform] +R_fixture= 50.0000 +V_fixture= 3.3000 +V_fixture_min= 3.1400 +V_fixture_max= 3.4700 +|time V(typ) V(min) V(max) +| +0.0S 2.1621V 2.3517V 1.9420V +0.1010nS 2.1621V 2.3517V 1.9420V +0.2020nS 2.1621V 2.3517V 1.9420V +0.3030nS 2.1621V 2.3517V 1.9420V +0.4040nS 2.1621V 2.3517V 1.9420V +0.5051nS 2.1622V 2.3517V 2.2421V +0.6061nS 2.1615V 2.3517V 2.8060V +0.7071nS 2.2762V 2.3517V 3.1342V +0.8081nS 2.7361V 2.3522V 3.3164V +0.9091nS 2.9561V 2.3515V 3.3898V +1.0101nS 3.0907V 2.3704V 3.4244V +1.1111nS 3.1772V 2.6051V 3.4432V +1.2121nS 3.2242V 2.8360V 3.4539V +1.3131nS 3.2509V 2.9413V 3.4602V +1.4141nS 3.2670V 3.0020V 3.4639V +1.5152nS 3.2775V 3.0439V 3.4662V +1.6162nS 3.2845V 3.0714V 3.4676V +1.7172nS 3.2892V 3.0897V 3.4685V +1.8182nS 3.2924V 3.1025V 3.4690V +1.9192nS 3.2946V 3.1117V 3.4694V +2.0202nS 3.2961V 3.1186V 3.4696V +2.1212nS 3.2972V 3.1237V 3.4697V +2.2222nS 3.2980V 3.1276V 3.4698V +2.3232nS 3.2986V 3.1305V 3.4699V +2.4242nS 3.2989V 3.1327V 3.4699V +2.5253nS 3.2992V 3.1344V 3.4699V +2.6263nS 3.2994V 3.1356V 3.4699V +2.7273nS 3.2996V 3.1366V 3.4699V +2.8283nS 3.2997V 3.1373V 3.4699V +2.9293nS 3.2998V 3.1379V 3.4700V +3.0303nS 3.2998V 3.1383V 3.4699V +3.1313nS 3.2999V 3.1387V 3.4700V +3.2323nS 3.2999V 3.1390V 3.4699V +3.3333nS 3.2999V 3.1392V 3.4700V +3.4343nS 3.2999V 3.1393V 3.4699V +3.5354nS 3.2999V 3.1395V 3.4700V +3.6364nS 3.3000V 3.1396V 3.4699V +3.7374nS 3.3000V 3.1397V 3.4700V +3.8384nS 3.3000V 3.1397V 3.4700V +3.9394nS 3.3000V 3.1398V 3.4700V +4.0404nS 3.3000V 3.1398V 3.4700V +4.1414nS 3.3000V 3.1399V 3.4700V +4.2424nS 3.3000V 3.1399V 3.4700V +4.3434nS 3.3000V 3.1399V 3.4700V +4.4444nS 3.3000V 3.1400V 3.4700V +4.5455nS 3.3000V 3.1400V 3.4700V +4.6465nS 3.3000V 3.1399V 3.4700V +4.7475nS 3.3000V 3.1400V 3.4700V +4.8485nS 3.3000V 3.1400V 3.4700V +4.9495nS 3.3000V 3.1400V 3.4700V +5.0505nS 3.3000V 3.1400V 3.4700V +5.1515nS 3.3000V 3.1400V 3.4699V +5.2525nS 3.3000V 3.1400V 3.4700V +5.3535nS 3.3000V 3.1400V 3.4700V +5.4545nS 3.3000V 3.1400V 3.4700V +5.5556nS 3.3000V 3.1400V 3.4699V +5.6566nS 3.3000V 3.1400V 3.4700V +5.7576nS 3.3000V 3.1400V 3.4700V +5.8586nS 3.3000V 3.1400V 3.4700V +5.9596nS 3.3000V 3.1400V 3.4699V +6.0606nS 3.3000V 3.1400V 3.4700V +6.1616nS 3.3000V 3.1400V 3.4700V +6.2626nS 3.3000V 3.1400V 3.4700V +6.3636nS 3.3000V 3.1400V 3.4699V +6.4646nS 3.3000V 3.1400V 3.4700V +6.5657nS 3.3000V 3.1400V 3.4700V +6.6667nS 3.3000V 3.1400V 3.4700V +6.7677nS 3.3000V 3.1400V 3.4699V +6.8687nS 3.3000V 3.1400V 3.4700V +6.9697nS 3.3000V 3.1400V 3.4700V +7.0707nS 3.3000V 3.1400V 3.4700V +7.1717nS 3.3000V 3.1400V 3.4700V +7.2727nS 3.3000V 3.1400V 3.4700V +7.3737nS 3.3000V 3.1400V 3.4700V +7.4747nS 3.3000V 3.1400V 3.4700V +7.5758nS 3.3000V 3.1400V 3.4700V +7.6768nS 3.3000V 3.1400V 3.4700V +7.7778nS 3.3000V 3.1400V 3.4700V +7.8788nS 3.3000V 3.1400V 3.4700V +7.9798nS 3.3000V 3.1400V 3.4699V +8.0808nS 3.3000V 3.1400V 3.4700V +8.1818nS 3.3000V 3.1400V 3.4700V +8.2828nS 3.3000V 3.1400V 3.4700V +8.3838nS 3.3000V 3.1400V 3.4700V +8.4848nS 3.3000V 3.1400V 3.4700V +8.5859nS 3.3000V 3.1400V 3.4700V +8.6869nS 3.3000V 3.1400V 3.4700V +8.7879nS 3.3000V 3.1400V 3.4700V +8.8889nS 3.3000V 3.1400V 3.4700V +8.9899nS 3.3000V 3.1400V 3.4700V +9.0909nS 3.3000V 3.1400V 3.4700V +9.1919nS 3.3000V 3.1400V 3.4700V +9.2929nS 3.3000V 3.1400V 3.4700V +9.3939nS 3.3000V 3.1400V 3.4700V +9.4949nS 3.3000V 3.1400V 3.4700V +9.5960nS 3.3000V 3.1400V 3.4700V +9.6970nS 3.3000V 3.1400V 3.4700V +9.7980nS 3.3000V 3.1400V 3.4700V +9.8990nS 3.3000V 3.1400V 3.4700V +10.0000nS 3.3000V 3.1400V 3.4700V +| +[Rising Waveform] +R_fixture= 50.0000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 1.2884uV 1.5543uV 1.3225uV +0.1010nS 0.5355uV 0.8430uV 0.6254uV +0.2020nS -3.0614uV 0.1113uV 0.5701uV +0.3030nS 0.6806uV -1.9546uV 10.3860uV +0.4040nS 3.2624uV 1.2769uV -0.2118mV +0.5051nS 32.7230uV 1.5286uV -24.1640mV +0.6061nS -0.3955mV 2.8080uV -9.9395mV +0.7071nS -15.7200mV 17.6660uV 0.1561V +0.8081nS -19.9850mV 99.9200uV 0.5397V +0.9091nS -0.4586mV -0.2072mV 0.9226V +1.0101nS 88.3420mV -6.1838mV 1.2091V +1.1111nS 0.2478V -18.1000mV 1.3886V +1.2121nS 0.4471V -16.0430mV 1.4951V +1.3131nS 0.6318V -10.1180mV 1.5589V +1.4141nS 0.7749V 8.8815mV 1.5984V +1.5152nS 0.8766V 55.5920mV 1.6234V +1.6162nS 0.9465V 0.1340V 1.6394V +1.7172nS 0.9942V 0.2360V 1.6498V +1.8182nS 1.0272V 0.3461V 1.6566V +1.9192nS 1.0502V 0.4492V 1.6613V +2.0202nS 1.0667V 0.5367V 1.6638V +2.1212nS 1.0785V 0.6066V 1.6656V +2.2222nS 1.0871V 0.6605V 1.6667V +2.3232nS 1.0934V 0.7013V 1.6675V +2.4242nS 1.0979V 0.7318V 1.6680V +2.5253nS 1.1013V 0.7546V 1.6684V +2.6263nS 1.1038V 0.7716V 1.6687V +2.7273nS 1.1056V 0.7845V 1.6689V +2.8283nS 1.1069V 0.7942V 1.6691V +2.9293nS 1.1080V 0.8016V 1.6693V +3.0303nS 1.1087V 0.8073V 1.6693V +3.1313nS 1.1093V 0.8118V 1.6694V +3.2323nS 1.1097V 0.8152V 1.6695V +3.3333nS 1.1100V 0.8178V 1.6695V +3.4343nS 1.1103V 0.8199V 1.6695V +3.5354nS 1.1104V 0.8215V 1.6696V +3.6364nS 1.1105V 0.8228V 1.6695V +3.7374nS 1.1106V 0.8238V 1.6696V +3.8384nS 1.1107V 0.8246V 1.6696V +3.9394nS 1.1107V 0.8252V 1.6696V +4.0404nS 1.1108V 0.8257V 1.6696V +4.1414nS 1.1108V 0.8261V 1.6696V +4.2424nS 1.1108V 0.8265V 1.6696V +4.3434nS 1.1109V 0.8267V 1.6696V +4.4444nS 1.1109V 0.8269V 1.6696V +4.5455nS 1.1109V 0.8271V 1.6696V +4.6465nS 1.1109V 0.8272V 1.6696V +4.7475nS 1.1109V 0.8273V 1.6696V +4.8485nS 1.1109V 0.8274V 1.6696V +4.9495nS 1.1109V 0.8274V 1.6696V +5.0505nS 1.1109V 0.8276V 1.6696V +5.1515nS 1.1109V 0.8276V 1.6696V +5.2525nS 1.1109V 0.8276V 1.6696V +5.3535nS 1.1109V 0.8276V 1.6696V +5.4545nS 1.1109V 0.8276V 1.6696V +5.5556nS 1.1109V 0.8276V 1.6696V +5.6566nS 1.1109V 0.8276V 1.6696V +5.7576nS 1.1109V 0.8277V 1.6696V +5.8586nS 1.1109V 0.8277V 1.6696V +5.9596nS 1.1109V 0.8277V 1.6696V +6.0606nS 1.1109V 0.8277V 1.6696V +6.1616nS 1.1109V 0.8277V 1.6696V +6.2626nS 1.1109V 0.8277V 1.6696V +6.3636nS 1.1109V 0.8277V 1.6696V +6.4646nS 1.1109V 0.8277V 1.6696V +6.5657nS 1.1109V 0.8277V 1.6696V +6.6667nS 1.1110V 0.8277V 1.6696V +6.7677nS 1.1109V 0.8277V 1.6696V +6.8687nS 1.1109V 0.8277V 1.6696V +6.9697nS 1.1109V 0.8277V 1.6696V +7.0707nS 1.1110V 0.8277V 1.6696V +7.1717nS 1.1109V 0.8277V 1.6696V +7.2727nS 1.1110V 0.8277V 1.6696V +7.3737nS 1.1110V 0.8277V 1.6696V +7.4747nS 1.1110V 0.8277V 1.6696V +7.5758nS 1.1110V 0.8277V 1.6696V +7.6768nS 1.1110V 0.8277V 1.6696V +7.7778nS 1.1109V 0.8277V 1.6696V +7.8788nS 1.1110V 0.8277V 1.6696V +7.9798nS 1.1110V 0.8277V 1.6696V +8.0808nS 1.1110V 0.8277V 1.6696V +8.1818nS 1.1109V 0.8277V 1.6696V +8.2828nS 1.1110V 0.8277V 1.6696V +8.3838nS 1.1110V 0.8277V 1.6696V +8.4848nS 1.1110V 0.8277V 1.6696V +8.5859nS 1.1110V 0.8277V 1.6696V +8.6869nS 1.1110V 0.8277V 1.6696V +8.7879nS 1.1109V 0.8277V 1.6696V +8.8889nS 1.1109V 0.8277V 1.6696V +8.9899nS 1.1109V 0.8277V 1.6696V +9.0909nS 1.1109V 0.8277V 1.6696V +9.1919nS 1.1109V 0.8277V 1.6696V +9.2929nS 1.1109V 0.8277V 1.6696V +9.3939nS 1.1109V 0.8277V 1.6696V +9.4949nS 1.1109V 0.8277V 1.6696V +9.5960nS 1.1109V 0.8277V 1.6696V +9.6970nS 1.1110V 0.8277V 1.6696V +9.7980nS 1.1110V 0.8277V 1.6696V +9.8990nS 1.1110V 0.8277V 1.6696V +10.0000nS 1.1109V 0.8277V 1.6696V +[Falling Waveform] +R_fixture= 50.0000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 1.1109V 0.8277V 1.6696V +0.1010nS 1.1109V 0.8277V 1.6696V +0.2020nS 1.1109V 0.8277V 1.6696V +0.3030nS 1.1110V 0.8277V 1.6696V +0.4040nS 1.1110V 0.8277V 1.6696V +0.5051nS 1.1109V 0.8277V 1.6644V +0.6061nS 1.1110V 0.8277V 1.0431V +0.7071nS 1.1113V 0.8277V 0.4157V +0.8081nS 0.9851V 0.8277V 0.1612V +0.9091nS 0.5727V 0.8276V 77.0900mV +1.0101nS 0.2814V 0.8282V 40.8740mV +1.1111nS 0.1329V 0.8285V 22.9430mV +1.2121nS 73.6840mV 0.7997V 12.4510mV +1.3131nS 43.0370mV 0.5895V 6.8313mV +1.4141nS 26.7550mV 0.3604V 3.7992mV +1.5152nS 17.0970mV 0.2116V 2.1510mV +1.6162nS 11.1140mV 0.1248V 1.2529mV +1.7172nS 7.2776mV 75.3210mV 0.7544mV +1.8182nS 4.8176mV 47.2290mV 0.4826mV +1.9192nS 3.1888mV 31.3570mV 0.3253mV +2.0202nS 2.1519mV 21.8020mV 0.2392mV +2.1212nS 1.4430mV 15.5850mV 0.1806mV +2.2222nS 1.0065mV 11.3310mV 0.1485mV +2.3232nS 0.6888mV 8.3187mV 0.1251mV +2.4242nS 0.5069mV 6.1527mV 0.1108mV +2.5253nS 0.3566mV 4.5704mV 0.1026mV +2.6263nS 0.2717mV 3.4134mV 96.2470uV +2.7273nS 0.1995mV 2.5569mV 87.3860uV +2.8283nS 0.1853mV 1.9272mV 82.9260uV +2.9293nS 0.1277mV 1.4565mV 68.6140uV +3.0303nS 0.1252mV 1.1098mV 60.2230uV +3.1313nS 89.5590uV 0.8485mV 49.7170uV +3.2323nS 94.4160uV 0.6561mV 56.7570uV +3.3333nS 49.7470uV 0.5093mV 54.1530uV +3.4343nS 57.0870uV 0.3863mV 49.3370uV +3.5354nS 52.4280uV 0.3073mV 42.7020uV +3.6364nS 77.0030uV 0.2451mV 40.7070uV +3.7374nS 46.1550uV 0.1875mV 33.9890uV +3.8384nS 63.3650uV 0.1621mV 34.0740uV +3.9394nS 31.9750uV 0.1378mV 27.5110uV +4.0404nS 46.0820uV 0.1176mV 33.5240uV +4.1414nS 14.0450uV 0.1002mV 26.4520uV +4.2424nS 30.8440uV 91.6770uV 22.6270uV +4.3434nS 23.9580uV 76.4830uV 15.2880uV +4.4444nS 37.9550uV 66.7720uV 22.2140uV +4.5455nS 20.1420uV 54.3060uV 29.8260uV +4.6465nS 38.7320uV 46.2710uV 31.2670uV +4.7475nS 7.9010uV 34.7060uV 23.8310uV +4.8485nS 28.9680uV 27.4260uV 23.1060uV +4.9495nS 3.7079uV 16.8370uV 10.7150uV +5.0505nS 4.6522uV 25.8205uV 14.7445uV +5.1515nS 12.5270uV 19.1810uV 11.7510uV +5.2525nS 10.5410uV 17.0160uV 5.4213uV +5.3535nS 42.1190uV 11.8180uV 8.5329uV +5.4545nS 11.4930uV 19.2340uV 13.1240uV +5.5556nS 38.3480uV 27.0890uV 18.1120uV +5.6566nS 1.7742uV 38.8120uV 11.7850uV +5.7576nS 22.6050uV 31.4050uV 7.1004uV +5.8586nS -3.9145uV 19.9240uV -7.3305uV +5.9596nS 13.3160uV 7.4008uV 0.4354uV +6.0606nS 7.3534uV -0.9538uV 7.7540uV +6.1616nS 33.4920uV -8.2614uV 8.9420uV +6.2626nS 9.8852uV 1.6769uV 5.0332uV +6.3636nS 25.5040uV 16.3790uV 2.4944uV +6.4646nS -2.5946uV 32.5920uV -5.3283uV +6.5657nS 4.1073uV 30.8730uV 6.9637uV +6.6667nS 2.1062uV 21.8930uV 7.5789uV +6.7677nS 10.6270uV 5.1201uV 6.5788uV +6.8687nS -19.4020uV -8.0928uV 0.9709uV +6.9697nS 3.6023uV 5.3486uV -0.4159uV +7.0707nS -20.2800uV 10.3380uV -4.1503uV +7.1717nS 19.4790uV 23.0950uV -4.9697uV +7.2727nS -10.7860uV 7.5118uV -8.6698uV +7.3737nS 21.7550uV 9.0311uV -7.4803uV +7.4747nS 12.4390uV -5.6908uV -10.4050uV +7.5758nS 18.3510uV -4.5175uV -8.2164uV +7.6768nS -7.8114uV 1.1510uV -10.8020uV +7.7778nS 2.0275uV 12.3600uV -1.5528uV +7.8788nS -76.1190nV 12.0690uV 6.6952uV +7.9798nS 4.0097uV 8.9861uV 10.0890uV +8.0808nS 0.4972uV -1.8875uV 0.6130uV +8.1818nS 0.5840uV -11.3150uV -1.5820uV +8.2828nS -12.7280uV -15.9390uV -8.5048uV +8.3838nS 3.4867uV -5.2058uV -1.9719uV +8.4848nS -4.5739uV 2.6217uV 0.5424uV +8.5859nS 4.1249uV 2.6585uV 4.0878uV +8.6869nS -12.0140uV -0.6919uV 6.4732uV +8.7879nS -3.8915uV -10.4690uV 7.0541uV +8.8889nS -10.5260uV -22.7580uV 2.8919uV +8.9899nS 2.5661uV -25.3070uV -3.3709uV +9.0909nS -2.9240uV -11.4390uV -5.9996uV +9.1919nS -3.0241uV -1.1643uV 0.8082uV +9.2929nS -7.9366uV 5.3328uV 0.4492uV +9.3939nS -2.3621uV 8.5118uV 5.8039uV +9.4949nS -9.1146uV -8.6006uV -2.4704uV +9.5960nS -3.7574uV -19.3450uV -0.8494uV +9.6970nS -16.6030uV -15.4900uV -2.2380uV +9.7980nS -2.4824uV -3.6242uV 4.0030uV +9.8990nS -18.6820uV 15.5490uV 1.5950uV +10.0000nS -1.0707uV 8.4164uV -6.6712uV +| +[Falling Waveform] +R_fixture= 50.0000 +V_fixture= 3.3000 +V_fixture_min= 3.1400 +V_fixture_max= 3.4700 +|time V(typ) V(min) V(max) +| +0.0S 3.3000V 3.1400V 3.4700V +0.1010nS 3.3000V 3.1400V 3.4700V +0.2020nS 3.3000V 3.1400V 3.4700V +0.3030nS 3.3000V 3.1400V 3.4700V +0.4040nS 3.3000V 3.1400V 3.4700V +0.5051nS 3.3000V 3.1400V 3.4758V +0.6061nS 3.3001V 3.1400V 3.4570V +0.7071nS 3.2983V 3.1400V 3.0951V +0.8081nS 3.3299V 3.1400V 2.7403V +0.9091nS 3.2987V 3.1398V 2.4747V +1.0101nS 3.1080V 3.1409V 2.2935V +1.1111nS 2.8866V 3.1388V 2.1742V +1.2121nS 2.6919V 3.1507V 2.0966V +1.3131nS 2.5414V 3.1748V 2.0453V +1.4141nS 2.4321V 3.1565V 2.0112V +1.5152nS 2.3547V 3.0752V 1.9884V +1.6162nS 2.3001V 2.9642V 1.9732V +1.7172nS 2.2616V 2.8458V 1.9629V +1.8182nS 2.2341V 2.7389V 1.9561V +1.9192nS 2.2145V 2.6506V 1.9515V +2.0202nS 2.2003V 2.5809V 1.9484V +2.1212nS 2.1900V 2.5272V 1.9463V +2.2222nS 2.1826V 2.4862V 1.9450V +2.3232nS 2.1771V 2.4551V 1.9440V +2.4242nS 2.1731V 2.4314V 1.9434V +2.5253nS 2.1702V 2.4134V 1.9430V +2.6263nS 2.1681V 2.3996V 1.9427V +2.7273nS 2.1665V 2.3890V 1.9425V +2.8283nS 2.1654V 2.3808V 1.9424V +2.9293nS 2.1646V 2.3745V 1.9423V +3.0303nS 2.1639V 2.3696V 1.9422V +3.1313nS 2.1635V 2.3658V 1.9422V +3.2323nS 2.1631V 2.3628V 1.9421V +3.3333nS 2.1629V 2.3604V 1.9421V +3.4343nS 2.1627V 2.3586V 1.9421V +3.5354nS 2.1626V 2.3572V 1.9420V +3.6364nS 2.1625V 2.3560V 1.9421V +3.7374nS 2.1624V 2.3551V 1.9421V +3.8384nS 2.1623V 2.3544V 1.9421V +3.9394nS 2.1623V 2.3539V 1.9420V +4.0404nS 2.1622V 2.3534V 1.9420V +4.1414nS 2.1622V 2.3531V 1.9420V +4.2424nS 2.1622V 2.3528V 1.9420V +4.3434nS 2.1622V 2.3526V 1.9420V +4.4444nS 2.1622V 2.3524V 1.9420V +4.5455nS 2.1622V 2.3523V 1.9420V +4.6465nS 2.1622V 2.3522V 1.9420V +4.7475nS 2.1622V 2.3521V 1.9420V +4.8485nS 2.1622V 2.3520V 1.9420V +4.9495nS 2.1622V 2.3519V 1.9420V +5.0505nS 2.1622V 2.3519V 1.9420V +5.1515nS 2.1622V 2.3518V 1.9420V +5.2525nS 2.1622V 2.3518V 1.9420V +5.3535nS 2.1622V 2.3518V 1.9420V +5.4545nS 2.1622V 2.3518V 1.9420V +5.5556nS 2.1622V 2.3518V 1.9420V +5.6566nS 2.1622V 2.3517V 1.9420V +5.7576nS 2.1621V 2.3517V 1.9420V +5.8586nS 2.1621V 2.3517V 1.9420V +5.9596nS 2.1621V 2.3517V 1.9420V +6.0606nS 2.1621V 2.3517V 1.9420V +6.1616nS 2.1621V 2.3517V 1.9420V +6.2626nS 2.1621V 2.3517V 1.9420V +6.3636nS 2.1621V 2.3517V 1.9420V +6.4646nS 2.1621V 2.3517V 1.9420V +6.5657nS 2.1621V 2.3517V 1.9420V +6.6667nS 2.1622V 2.3517V 1.9420V +6.7677nS 2.1621V 2.3517V 1.9420V +6.8687nS 2.1621V 2.3517V 1.9420V +6.9697nS 2.1621V 2.3517V 1.9420V +7.0707nS 2.1621V 2.3517V 1.9420V +7.1717nS 2.1621V 2.3517V 1.9420V +7.2727nS 2.1621V 2.3517V 1.9420V +7.3737nS 2.1621V 2.3517V 1.9420V +7.4747nS 2.1621V 2.3517V 1.9420V +7.5758nS 2.1621V 2.3517V 1.9420V +7.6768nS 2.1621V 2.3517V 1.9420V +7.7778nS 2.1621V 2.3517V 1.9420V +7.8788nS 2.1621V 2.3517V 1.9420V +7.9798nS 2.1621V 2.3517V 1.9420V +8.0808nS 2.1621V 2.3517V 1.9420V +8.1818nS 2.1621V 2.3517V 1.9420V +8.2828nS 2.1621V 2.3517V 1.9420V +8.3838nS 2.1621V 2.3517V 1.9420V +8.4848nS 2.1621V 2.3517V 1.9420V +8.5859nS 2.1621V 2.3517V 1.9420V +8.6869nS 2.1621V 2.3517V 1.9420V +8.7879nS 2.1621V 2.3517V 1.9420V +8.8889nS 2.1621V 2.3517V 1.9420V +8.9899nS 2.1621V 2.3517V 1.9420V +9.0909nS 2.1621V 2.3517V 1.9420V +9.1919nS 2.1621V 2.3517V 1.9420V +9.2929nS 2.1621V 2.3517V 1.9420V +9.3939nS 2.1621V 2.3517V 1.9420V +9.4949nS 2.1621V 2.3517V 1.9420V +9.5960nS 2.1621V 2.3517V 1.9420V +9.6970nS 2.1621V 2.3517V 1.9420V +9.7980nS 2.1621V 2.3517V 1.9420V +9.8990nS 2.1621V 2.3517V 1.9420V +10.0000nS 2.1621V 2.3517V 1.9420V +| +| End [Model] lvc330s040haaaaaaaio +|************************************************************************ +[Model] lvc330s240daaaaaaaou +Model_type Output +Polarity Non-Inverting +Enable Active-Low +Vmeas = 1.6500V +Cref = 0.0F +Rref = 1.0000M +Vref = 0.0V +C_comp 4.2000pF 3.8000pF 7.5000pF +| +| +[Temperature Range] 25.0000 0.1050k -40.0000 +[Voltage Range] 3.3000V 3.1400V 3.4700V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -56.9340mA -41.7510mA -73.1810mA + -3.20 -56.9340mA -41.7510mA -73.1810mA + -3.10 -56.9340mA -41.7510mA -73.1810mA + -3.00 -56.9340mA -41.7510mA -73.1810mA + -2.90 -56.9340mA -41.7510mA -73.1810mA + -2.80 -56.9340mA -41.7510mA -73.1810mA + -2.70 -56.9340mA -41.7510mA -73.1810mA + -2.60 -56.9340mA -41.7510mA -73.1810mA + -2.50 -56.9340mA -41.7510mA -73.1810mA + -2.40 -56.9340mA -41.7510mA -73.1810mA + -2.30 -56.9340mA -41.7510mA -73.1810mA + -2.20 -56.9340mA -41.7510mA -73.1810mA + -2.10 -56.9340mA -41.7510mA -73.1810mA + -2.00 -56.9340mA -41.7510mA -73.1810mA + -1.90 -56.9340mA -41.7510mA -73.1810mA + -1.80 -56.9340mA -41.7510mA -73.1810mA + -1.70 -56.9340mA -41.7510mA -73.1810mA + -1.60 -56.9340mA -41.7510mA -73.1810mA + -1.50 -56.9340mA -41.7510mA -73.1810mA + -1.40 -56.9340mA -41.7510mA -73.1810mA + -1.30 -56.9340mA -41.7510mA -73.1810mA + -1.20 -56.9340mA -41.7510mA -73.1810mA + -1.10 -56.9340mA -41.7510mA -73.1810mA + -1.00 -56.9340mA -41.7510mA -70.4060mA + -0.90 -55.5540mA -41.7510mA -65.4700mA + -0.80 -52.6280mA -40.9350mA -62.3600mA + -0.70 -49.9940mA -39.5910mA -60.0370mA + -0.60 -47.2432mA -37.0443mA -57.8610mA + -0.50 -43.5009mA -33.1540mA -54.6172mA + -0.40 -36.8600mA -27.4328mA -46.8981mA + -0.30 -28.0731mA -20.7580mA -35.7722mA + -0.20 -18.8663mA -13.9010mA -24.0724mA + -0.10 -9.5078mA -6.9815mA -12.1489mA + 0.00 11.0370nA 8.0630nA 17.4590nA + 0.10 9.4153mA 6.8667mA 12.0841mA + 0.20 18.4830mA 13.4340mA 23.7951mA + 0.30 27.1970mA 19.6990mA 35.1251mA + 0.40 35.5510mA 25.6580mA 46.0650mA + 0.50 43.5390mA 31.3090mA 56.6050mA + 0.60 51.1550mA 36.6490mA 66.7350mA + 0.70 58.3920mA 41.6750mA 76.4420mA + 0.80 65.2410mA 46.3820mA 85.7140mA + 0.90 71.6920mA 50.7670mA 94.5330mA + 1.00 77.7310mA 54.8220mA 0.1029A + 1.10 83.3390mA 58.5400mA 0.1107A + 1.20 88.4860mA 61.9060mA 0.1180A + 1.30 93.1310mA 64.9010mA 0.1246A + 1.40 97.2220mA 67.5040mA 0.1306A + 1.50 0.1007A 69.7040mA 0.1357A + 1.60 0.1036A 71.5200mA 0.1400A + 1.70 0.1059A 73.0000mA 0.1435A + 1.80 0.1078A 74.2100mA 0.1462A + 1.90 0.1094A 75.2120mA 0.1484A + 2.00 0.1106A 76.0570mA 0.1502A + 2.10 0.1117A 76.7810mA 0.1517A + 2.20 0.1126A 77.4130mA 0.1530A + 2.30 0.1135A 77.9720mA 0.1540A + 2.40 0.1142A 78.4730mA 0.1550A + 2.50 0.1148A 78.9270mA 0.1558A + 2.60 0.1154A 79.3420mA 0.1566A + 2.70 0.1159A 79.7240mA 0.1572A + 2.80 0.1164A 80.0789mA 0.1578A + 2.90 0.1169A 80.4089mA 0.1584A + 3.00 0.1173A 80.7189mA 0.1589A + 3.10 0.1177A 81.0119mA 0.1594A + 3.20 0.1181A 81.2888mA 0.1599A + 3.30 0.1184A 81.5516mA 0.1603A + 3.40 0.1188A 81.7973mA 0.1608A + 3.50 0.1191A 82.0026mA 0.1612A + 3.60 0.1194A 82.3056mA 0.1615A + 3.70 0.1197A 82.6236mA 0.1619A + 3.80 0.1201A 83.2615mA 0.1623A + 3.90 0.1205A 84.8174mA 0.1626A + 4.00 0.1210A 88.2823mA 0.1632A + 4.10 0.1224A 93.9490mA 0.1638A + 4.20 0.1250A 0.1008A 0.1645A + 4.30 0.1286A 0.1081A 0.1658A + 4.40 0.1339A 0.1156A 0.1688A + 4.50 0.1415A 0.1234A 0.1734A + 4.60 0.1504A 0.1313A 0.1790A + 4.70 0.1598A 0.1393A 0.1845A + 4.80 0.1696A 0.1475A 0.1923A + 4.90 0.1795A 0.1559A 0.2032A + 5.00 0.1897A 0.1645A 0.2153A + 5.10 0.1999A 0.1734A 0.2279A + 5.20 0.2104A 0.1824A 0.2408A + 5.30 0.2210A 0.1917A 0.2539A + 5.40 0.2319A 0.2010A 0.2670A + 5.50 0.2430A 0.2106A 0.2802A + 5.60 0.2542A 0.2202A 0.2934A + 5.70 0.2657A 0.2300A 0.3069A + 5.80 0.2773A 0.2400A 0.3206A + 5.90 0.2891A 0.2500A 0.3346A + 6.00 0.3011A 0.2602A 0.3488A + 6.10 0.3133A 0.2705A 0.3634A + 6.20 0.3257A 0.2810A 0.3783A + 6.30 0.3384A 0.2917A 0.3935A + 6.40 0.3513A 0.3025A 0.4090A + 6.50 0.3646A 0.3135A 0.4248A + 6.60 0.3781A 0.3247A 0.4409A +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 0.4197A 0.3535A 0.5076A + -3.20 0.4081A 0.3459A 0.4926A + -3.10 0.3960A 0.3369A 0.4773A + -3.00 0.3836A 0.3271A 0.4619A + -2.90 0.3708A 0.3166A 0.4462A + -2.80 0.3578A 0.3056A 0.4304A + -2.70 0.3445A 0.2943A 0.4145A + -2.60 0.3310A 0.2826A 0.3984A + -2.50 0.3172A 0.2707A 0.3821A + -2.40 0.3033A 0.2586A 0.3657A + -2.30 0.2892A 0.2463A 0.3490A + -2.20 0.2749A 0.2339A 0.3322A + -2.10 0.2605A 0.2213A 0.3153A + -2.00 0.2460A 0.2087A 0.2981A + -1.90 0.2315A 0.1960A 0.2808A + -1.80 0.2169A 0.1833A 0.2632A + -1.70 0.2023A 0.1706A 0.2456A + -1.60 0.1876A 0.1580A 0.2280A + -1.50 0.1729A 0.1454A 0.2103A + -1.40 0.1582A 0.1329A 0.1928A + -1.30 0.1435A 0.1204A 0.1758A + -1.20 0.1288A 0.1081A 0.1599A + -1.10 0.1143A 95.8886mA 0.1441A + -1.00 0.1003A 83.8709mA 0.1281A + -0.90 87.4996mA 72.2092mA 0.1132A + -0.80 76.0379mA 61.3054mA 99.1832mA + -0.70 65.3612mA 51.7465mA 85.7861mA + -0.60 55.2253mA 43.3445mA 72.8778mA + -0.50 45.4974mA 35.5146mA 59.6743mA + -0.40 35.9709mA 28.0186mA 47.9046mA + -0.30 26.8102mA 20.7402mA 35.8289mA + -0.20 17.7537mA 13.6801mA 23.8065mA + -0.10 8.8189mA 6.7684mA 11.8661mA + 0.00 -33.3900nA -15.2810nA -0.3561uA + 0.10 -8.6168mA -6.5680mA -11.6702mA + 0.20 -16.9371mA -12.8741mA -23.0110mA + 0.30 -24.9571mA -18.9171mA -34.0178mA + 0.40 -32.6741mA -24.6941mA -44.6846mA + 0.50 -40.0841mA -30.2040mA -55.0075mA + 0.60 -47.1841mA -35.4440mA -64.9794mA + 0.70 -53.9710mA -40.4140mA -74.5943mA + 0.80 -60.4390mA -45.1110mA -83.8472mA + 0.90 -66.5860mA -49.5340mA -92.7311mA + 1.00 -72.4090mA -53.6790mA -0.1012A + 1.10 -77.9020mA -57.5470mA -0.1094A + 1.20 -83.0640mA -61.1340mA -0.1171A + 1.30 -87.8880mA -64.4390mA -0.1245A + 1.40 -92.3730mA -67.4610mA -0.1314A + 1.50 -96.5130mA -70.1970mA -0.1379A + 1.60 -0.1003A -72.6460mA -0.1441A + 1.70 -0.1037A -74.8080mA -0.1498A + 1.80 -0.1068A -76.6800mA -0.1550A + 1.90 -0.1096A -78.2660mA -0.1599A + 2.00 -0.1119A -79.5700mA -0.1642A + 2.10 -0.1139A -80.6060mA -0.1682A + 2.20 -0.1156A -81.4090mA -0.1717A + 2.30 -0.1169A -82.0370mA -0.1747A + 2.40 -0.1180A -82.5600mA -0.1773A + 2.50 -0.1188A -83.0250mA -0.1794A + 2.60 -0.1196A -83.4570mA -0.1811A + 2.70 -0.1202A -83.8690mA -0.1826A + 2.80 -0.1209A -84.2640mA -0.1839A + 2.90 -0.1215A -84.6460mA -0.1851A + 3.00 -0.1221A -85.0159mA -0.1862A + 3.10 -0.1226A -85.3749mA -0.1872A + 3.20 -0.1232A -85.7249mA -0.1882A + 3.30 -0.1237A -86.0646mA -0.1892A + 3.40 -0.1242A -86.3916mA -0.1901A + 3.50 -0.1247A -86.6460mA -0.1910A + 3.60 -0.1252A -86.6460mA -0.1919A + 3.70 -0.1254A -86.6460mA -0.1927A + 3.80 -0.1254A -86.6460mA -0.1935A + 3.90 -0.1254A -86.6460mA -0.1937A + 4.00 -0.1254A -86.6460mA -0.1937A + 4.10 -0.1254A -86.6460mA -0.1937A + 4.20 -0.1254A -86.6460mA -0.1937A + 4.30 -0.1254A -86.6460mA -0.1937A + 4.40 -0.1254A -86.6460mA -0.1937A + 4.50 -0.1254A -86.6460mA -0.1937A + 4.60 -0.1254A -86.6460mA -0.1937A + 4.70 -0.1254A -86.6460mA -0.1937A + 4.80 -0.1254A -86.6460mA -0.1937A + 4.90 -0.1254A -86.6460mA -0.1937A + 5.00 -0.1254A -86.6460mA -0.1937A + 5.10 -0.1254A -86.6460mA -0.1937A + 5.20 -0.1254A -86.6460mA -0.1937A + 5.30 -0.1254A -86.6460mA -0.1937A + 5.40 -0.1254A -86.6460mA -0.1937A + 5.50 -0.1254A -86.6460mA -0.1937A + 5.60 -0.1254A -86.6460mA -0.1937A + 5.70 -0.1254A -86.6460mA -0.1937A + 5.80 -0.1254A -86.6460mA -0.1937A + 5.90 -0.1254A -86.6460mA -0.1937A + 6.00 -0.1254A -86.6460mA -0.1937A + 6.10 -0.1254A -86.6460mA -0.1937A + 6.20 -0.1254A -86.6460mA -0.1937A + 6.30 -0.1254A -86.6460mA -0.1937A + 6.40 -0.1254A -86.6460mA -0.1937A + 6.50 -0.1254A -86.6460mA -0.1937A + 6.55 -0.1254A -86.6460mA -0.1937A +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.9553A -0.9303A -0.978A + -3.25 -0.9307A -0.9059A -0.9534A + -3.20 -0.9062A -0.8815A -0.9287A + -3.15 -0.8816A -0.8571A -0.9041A + -3.10 -0.8571A -0.8328A -0.8794A + -3.05 -0.8326A -0.8084A -0.8548A + -3.00 -0.8081A -0.7841A -0.8302A + -2.95 -0.7837A -0.7598A -0.8056A + -2.90 -0.7592A -0.7356A -0.781A + -2.85 -0.7348A -0.7113A -0.7565A + -2.80 -0.7104A -0.6872A -0.7319A + -2.75 -0.686A -0.663A -0.7074A + -2.70 -0.6617A -0.6389A -0.6829A + -2.65 -0.6374A -0.6149A -0.6584A + -2.60 -0.6131A -0.5909A -0.634A + -2.55 -0.5889A -0.5669A -0.6096A + -2.50 -0.5647A -0.5431A -0.5852A + -2.45 -0.5406A -0.5193A -0.5609A + -2.40 -0.5166A -0.4956A -0.5366A + -2.35 -0.4926A -0.472A -0.5124A + -2.30 -0.4687A -0.4485A -0.4882A + -2.25 -0.4449A -0.4251A -0.4641A + -2.20 -0.4211A -0.4019A -0.44A + -2.15 -0.3976A -0.3789A -0.4161A + -2.10 -0.3741A -0.3562A -0.3923A + -2.05 -0.3509A -0.3337A -0.3686A + -2.00 -0.3279A -0.3116A -0.3451A + -1.95 -0.3052A -0.2899A -0.3218A + -1.90 -0.283A -0.2689A -0.2988A + -1.85 -0.2612A -0.2486A -0.2762A + -1.80 -0.2402A -0.2294A -0.2543A + -1.75 -0.2204A -0.2116A -0.2332A + -1.70 -0.202A -0.1954A -0.2135A + -1.65 -0.1857A -0.181A -0.1959A + -1.60 -0.1717A -0.1682A -0.181A + -1.55 -0.1594A -0.1563A -0.1685A + -1.50 -0.1481A -0.1452A -0.1571A + -1.45 -0.1372A -0.1343A -0.1462A + -1.40 -0.1266A -0.1237A -0.1355A + -1.35 -0.1162A -0.1132A -0.125A + -1.30 -0.106A -0.1029A -0.1146A + -1.25 -95.9599mA -92.8329mA -0.1046A + -1.20 -86.1849mA -82.9339mA -94.9069mA + -1.15 -76.7349mA -73.2869mA -85.7379mA + -1.10 -67.7089mA -63.9519mA -77.2789mA + -1.05 -59.2439mA -55.0099mA -69.7479mA + -1.00 -51.5159mA -46.5729mA -63.2139mA + -0.95 -44.7119mA -38.7979mA -57.3089mA + -0.90 -38.8659mA -31.8819mA -51.2599mA + -0.85 -33.5299mA -25.9129mA -44.7209mA + -0.80 -28.2499mA -20.5839mA -37.9699mA + -0.75 -23.0669mA -15.7839mA -31.2789mA + -0.70 -18.0989mA -11.6329mA -24.8089mA + -0.65 -13.4569mA -8.1389mA -18.6889mA + -0.60 -9.2667mA -5.2646mA -13.0589mA + -0.55 -5.6915mA -3.0244mA -8.1194mA + -0.50 -2.937mA -1.4709mA -4.1747mA + -0.45 -1.1814mA -0.5866mA -1.592mA + -0.40 -0.3589mA -0.1961mA -0.4238mA + -0.35 -88.3674uA -58.3595uA -88.5118uA + -0.30 -18.8304uA -15.9765uA -16.7268uA + -0.25 -3.5316uA -4.0546uA -3.0027uA + -0.20 -0.6045uA -0.9665uA -0.4941uA + -0.15 -99.742nA -0.2204uA -76.537nA + -0.10 -17.537nA -48.631nA -14.0860nA + -0.05 -3.547nA -9.5380nA -3.817nA + 0.00 0.0A 0.0A 0.0A + 6.60 0.0A 0.0A 0.0A +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.25 0.6648mA 0.7494mA 0.5971mA + -3.15 0.5464mA 0.6392mA 0.4620mA + -3.05 0.4320mA 0.5325mA 0.3346mA + -2.95 0.3223mA 0.4288mA 0.2203mA + -2.85 0.2202mA 0.3288mA 0.1294mA + -2.75 0.1318mA 0.2341mA 72.8300uA + -2.65 67.1920uA 0.1484mA 47.8280uA + -2.55 33.3820uA 79.2110uA 38.1410uA + -2.45 21.1000uA 36.2250uA 33.4210uA + -2.35 16.7330uA 18.9520uA 30.1310uA + -2.25 14.6000uA 13.5610uA 27.2550uA + -2.15 13.0510uA 11.4680uA 24.5630uA + -2.05 11.6710uA 10.2200uA 22.0110uA + -1.95 10.3770uA 9.1885uA 19.5950uA + -1.85 9.1535uA 8.2388uA 17.3200uA + -1.75 8.0006uA 7.3454uA 15.1910uA + -1.65 6.9202uA 6.5037uA 13.2160uA + -1.55 5.9151uA 5.7134uA 11.4010uA + -1.45 4.9880uA 4.9746uA 9.7522uA + -1.35 4.1419uA 4.2880uA 8.2759uA + -1.25 3.3797uA 3.6542uA 6.9779uA + -1.15 2.7042uA 3.0740uA 5.8641uA + -1.05 2.1182uA 2.5481uA 4.9421uA + -0.95 1.6245uA 2.0773uA 4.2171uA + -0.85 1.2268uA 1.6625uA 3.6554uA + -0.75 0.9307uA 1.3045uA 3.6554uA + -0.65 0.7393uA 1.0051uA 3.6554uA + -0.55 0.6321uA 0.7673uA 3.6554uA + -0.45 0.5644uA 0.5963uA 1.9769uA + -0.35 0.5644uA 0.4922uA 1.5352uA + -0.25 0.5644uA 0.4375uA 1.2603uA + -0.15 0.5644uA 0.4051uA 1.0262uA + -0.05 0.2497uA 0.3919uA 0.8243uA + 0.00 0.1905uA 0.3919uA 0.7347uA + 0.05 0.1661uA 0.3919uA 0.6522uA + 0.15 0.1377uA 0.3919uA 0.5077uA + 0.25 0.1149uA 0.2673uA 0.3882uA + 0.35 95.5840nA 94.4790nA 0.2911uA + 0.45 79.2300nA 72.9410nA 0.2139uA + 0.55 65.5240nA 63.7780nA 0.1539uA + 0.65 54.1200nA 56.2440nA 0.1084uA + 0.75 44.6720nA 49.6060nA 74.7270nA + 0.85 36.8450nA 43.7060nA 50.5340nA + 0.95 30.3210nA 38.4180nA 33.5490nA + 1.05 24.8050nA 33.6240nA 21.8000nA + 1.15 20.0360nA 29.2180nA 13.6290nA + 1.25 15.7920nA 25.1030nA 7.7259nA + 1.35 11.8920nA 21.1950nA 3.1291nA + 1.45 8.2000nA 17.4270nA -0.8025nA + 1.55 4.6215nA 13.7460nA -4.4469nA + 1.65 1.0974nA 10.1160nA -7.9944nA + 1.75 -2.4045nA 6.5107nA -11.5260nA + 1.85 -5.8986nA 2.9177nA -15.0700nA + 1.95 -9.3903nA -0.6705nA -18.6430nA + 2.05 -12.8810nA -4.2565nA -22.2600nA + 2.15 -16.3730nA -7.8414nA -25.9390nA + 2.25 -19.8660nA -11.4260nA -29.7010nA + 2.35 -23.3620nA -15.0100nA -33.5700nA + 2.45 -26.8630nA -18.5940nA -37.5740nA + 2.55 -30.3710nA -22.1800nA -41.7450nA + 2.65 -33.8890nA -25.7670nA -46.1170nA + 2.75 -37.4190nA -29.3570nA -50.7240nA + 2.85 -40.9640nA -32.9520nA -55.6060nA + 2.95 -44.5300nA -36.5540nA -60.8020nA + 3.05 -48.1210nA -40.1670nA -66.3570nA + 3.15 -51.7470nA -43.7980nA -72.4990nA + 3.25 -55.4690nA -47.4690nA -97.5860nA + 6.60 -57.5580nA -49.34nA -0.2325uA +| +[Ramp] +| variable typ min max +dV/dt_r 1.5736/0.2383n 1.3885/0.3774n 1.7602/0.1582n +dV/dt_f 1.6018/0.2035n 1.4002/0.3250n 1.7683/0.1365n +R_load = 50.0000 +| +[Rising Waveform] +R_fixture= 50.0000 +V_fixture= 3.3000 +V_fixture_min= 3.1400 +V_fixture_max= 3.4700 +|time V(typ) V(min) V(max) +| +0.0S 0.6304V 0.8064V 0.5227V +0.1010nS 0.6304V 0.8064V 0.5227V +0.2020nS 0.6304V 0.8064V 0.5227V +0.3030nS 0.6304V 0.8064V 0.5227V +0.4040nS 0.6304V 0.8064V 0.5218V +0.5051nS 0.6304V 0.8064V 0.6277V +0.6061nS 0.6292V 0.8064V 1.9281V +0.7071nS 0.6480V 0.8064V 2.8860V +0.8081nS 1.6366V 0.8066V 3.3611V +0.9091nS 2.3392V 0.8057V 3.4238V +1.0101nS 2.8187V 0.8016V 3.4477V +1.1111nS 3.1427V 1.1470V 3.4589V +1.2121nS 3.2310V 1.9906V 3.4642V +1.3131nS 3.2603V 2.4480V 3.4670V +1.4141nS 3.2764V 2.6823V 3.4683V +1.5152nS 3.2856V 2.8719V 3.4691V +1.6162nS 3.2913V 3.0079V 3.4694V +1.7172nS 3.2945V 3.0653V 3.4697V +1.8182nS 3.2966V 3.0912V 3.4698V +1.9192nS 3.2977V 3.1062V 3.4699V +2.0202nS 3.2985V 3.1161V 3.4699V +2.1212nS 3.2989V 3.1232V 3.4700V +2.2222nS 3.2994V 3.1282V 3.4699V +2.3232nS 3.2995V 3.1317V 3.4700V +2.4242nS 3.2997V 3.1340V 3.4699V +2.5253nS 3.2997V 3.1357V 3.4700V +2.6263nS 3.2999V 3.1369V 3.4699V +2.7273nS 3.2998V 3.1377V 3.4700V +2.8283nS 3.3000V 3.1383V 3.4699V +2.9293nS 3.2999V 3.1388V 3.4700V +3.0303nS 3.3000V 3.1391V 3.4699V +3.1313nS 3.2999V 3.1393V 3.4700V +3.2323nS 3.3000V 3.1395V 3.4699V +3.3333nS 3.2999V 3.1396V 3.4700V +3.4343nS 3.3000V 3.1397V 3.4699V +3.5354nS 3.2999V 3.1397V 3.4700V +3.6364nS 3.3000V 3.1398V 3.4699V +3.7374nS 3.2999V 3.1398V 3.4700V +3.8384nS 3.3000V 3.1399V 3.4699V +3.9394nS 3.2999V 3.1399V 3.4700V +4.0404nS 3.3000V 3.1399V 3.4699V +4.1414nS 3.2999V 3.1399V 3.4700V +4.2424nS 3.3000V 3.1399V 3.4699V +4.3434nS 3.2999V 3.1400V 3.4700V +4.4444nS 3.3000V 3.1400V 3.4699V +4.5455nS 3.2999V 3.1400V 3.4700V +4.6465nS 3.3000V 3.1400V 3.4699V +4.7475nS 3.2999V 3.1400V 3.4700V +4.8485nS 3.3000V 3.1400V 3.4699V +4.9495nS 3.2999V 3.1400V 3.4700V +5.0505nS 3.2999V 3.1400V 3.4699V +5.1515nS 3.3000V 3.1400V 3.4699V +5.2525nS 3.2999V 3.1400V 3.4700V +5.3535nS 3.3000V 3.1400V 3.4699V +5.4545nS 3.2999V 3.1400V 3.4700V +5.5556nS 3.3000V 3.1400V 3.4699V +5.6566nS 3.2999V 3.1400V 3.4700V +5.7576nS 3.3000V 3.1400V 3.4699V +5.8586nS 3.2999V 3.1400V 3.4700V +5.9596nS 3.3000V 3.1400V 3.4699V +6.0606nS 3.2999V 3.1400V 3.4700V +6.1616nS 3.3000V 3.1400V 3.4699V +6.2626nS 3.2999V 3.1400V 3.4700V +6.3636nS 3.3000V 3.1400V 3.4699V +6.4646nS 3.2999V 3.1400V 3.4700V +6.5657nS 3.3000V 3.1400V 3.4699V +6.6667nS 3.2999V 3.1400V 3.4700V +6.7677nS 3.3000V 3.1400V 3.4699V +6.8687nS 3.2999V 3.1400V 3.4700V +6.9697nS 3.3000V 3.1400V 3.4699V +7.0707nS 3.2999V 3.1400V 3.4700V +7.1717nS 3.3000V 3.1400V 3.4699V +7.2727nS 3.2999V 3.1400V 3.4700V +7.3737nS 3.3000V 3.1400V 3.4699V +7.4747nS 3.2999V 3.1400V 3.4700V +7.5758nS 3.3000V 3.1400V 3.4699V +7.6768nS 3.2999V 3.1400V 3.4700V +7.7778nS 3.3000V 3.1400V 3.4699V +7.8788nS 3.3000V 3.1400V 3.4700V +7.9798nS 3.3000V 3.1400V 3.4699V +8.0808nS 3.3000V 3.1400V 3.4700V +8.1818nS 3.3000V 3.1400V 3.4699V +8.2828nS 3.3000V 3.1400V 3.4700V +8.3838nS 3.3000V 3.1400V 3.4700V +8.4848nS 3.3000V 3.1400V 3.4700V +8.5859nS 3.3000V 3.1400V 3.4700V +8.6869nS 3.3000V 3.1400V 3.4700V +8.7879nS 3.3000V 3.1400V 3.4700V +8.8889nS 3.3000V 3.1400V 3.4700V +8.9899nS 3.3000V 3.1400V 3.4700V +9.0909nS 3.3000V 3.1400V 3.4700V +9.1919nS 3.3000V 3.1400V 3.4700V +9.2929nS 3.3000V 3.1400V 3.4700V +9.3939nS 3.3000V 3.1400V 3.4700V +9.4949nS 3.3000V 3.1400V 3.4700V +9.5960nS 3.3000V 3.1400V 3.4700V +9.6970nS 3.3000V 3.1400V 3.4700V +9.7980nS 3.3000V 3.1400V 3.4700V +9.8990nS 3.3000V 3.1400V 3.4700V +10.0000nS 3.3000V 3.1400V 3.4700V +| +[Rising Waveform] +R_fixture= 50.0000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 0.4015uV 0.5480uV 0.3764uV +0.1010nS -0.1294uV -11.2390nV -63.7730nV +0.2020nS -2.5035uV -0.4970uV -0.3028uV +0.3030nS -0.2098uV -1.7909uV 9.7423uV +0.4040nS 2.0477uV 0.2882uV -0.8229mV +0.5051nS 15.1150uV 0.2650uV -58.7490mV +0.6061nS -0.9964mV 1.9035uV -49.1070mV +0.7071nS -38.6120mV 19.5570uV 0.6546V +0.8081nS -69.7440mV 35.1420uV 2.0142V +0.9091nS -12.0360mV -0.6656mV 2.6997V +1.0101nS 0.3548V -14.3180mV 2.8381V +1.1111nS 1.0281V -51.2780mV 2.8884V +1.2121nS 1.7960V -60.3020mV 2.9103V +1.3131nS 2.2719V -42.0970mV 2.9210V +1.4141nS 2.4535V 27.7830mV 2.9271V +1.5152nS 2.5291V 0.2158V 2.9299V +1.6162nS 2.5666V 0.5392V 2.9317V +1.7172nS 2.5876V 0.9508V 2.9324V +1.8182nS 2.6003V 1.3671V 2.9330V +1.9192nS 2.6082V 1.7207V 2.9332V +2.0202nS 2.6132V 1.9635V 2.9335V +2.1212nS 2.6166V 2.0985V 2.9334V +2.2222nS 2.6185V 2.1722V 2.9336V +2.3232nS 2.6201V 2.2170V 2.9335V +2.4242nS 2.6208V 2.2461V 2.9336V +2.5253nS 2.6216V 2.2660V 2.9336V +2.6263nS 2.6218V 2.2793V 2.9337V +2.7273nS 2.6222V 2.2887V 2.9336V +2.8283nS 2.6223V 2.2952V 2.9337V +2.9293nS 2.6225V 2.3001V 2.9336V +3.0303nS 2.6225V 2.3037V 2.9337V +3.1313nS 2.6227V 2.3064V 2.9336V +3.2323nS 2.6226V 2.3083V 2.9337V +3.3333nS 2.6227V 2.3097V 2.9336V +3.4343nS 2.6226V 2.3108V 2.9337V +3.5354nS 2.6228V 2.3116V 2.9336V +3.6364nS 2.6226V 2.3122V 2.9337V +3.7374nS 2.6228V 2.3127V 2.9336V +3.8384nS 2.6226V 2.3130V 2.9337V +3.9394nS 2.6228V 2.3133V 2.9336V +4.0404nS 2.6226V 2.3135V 2.9337V +4.1414nS 2.6228V 2.3136V 2.9336V +4.2424nS 2.6227V 2.3137V 2.9337V +4.3434nS 2.6228V 2.3138V 2.9336V +4.4444nS 2.6227V 2.3139V 2.9337V +4.5455nS 2.6228V 2.3139V 2.9336V +4.6465nS 2.6227V 2.3140V 2.9337V +4.7475nS 2.6228V 2.3140V 2.9336V +4.8485nS 2.6227V 2.3140V 2.9337V +4.9495nS 2.6228V 2.3140V 2.9336V +5.0505nS 2.6227V 2.3141V 2.9336V +5.1515nS 2.6227V 2.3141V 2.9337V +5.2525nS 2.6228V 2.3141V 2.9336V +5.3535nS 2.6227V 2.3141V 2.9337V +5.4545nS 2.6228V 2.3141V 2.9336V +5.5556nS 2.6227V 2.3141V 2.9337V +5.6566nS 2.6228V 2.3141V 2.9336V +5.7576nS 2.6227V 2.3141V 2.9337V +5.8586nS 2.6228V 2.3141V 2.9336V +5.9596nS 2.6227V 2.3141V 2.9337V +6.0606nS 2.6228V 2.3141V 2.9336V +6.1616nS 2.6227V 2.3141V 2.9337V +6.2626nS 2.6228V 2.3141V 2.9336V +6.3636nS 2.6227V 2.3141V 2.9337V +6.4646nS 2.6228V 2.3141V 2.9336V +6.5657nS 2.6227V 2.3141V 2.9337V +6.6667nS 2.6228V 2.3141V 2.9336V +6.7677nS 2.6227V 2.3141V 2.9337V +6.8687nS 2.6228V 2.3141V 2.9336V +6.9697nS 2.6227V 2.3141V 2.9337V +7.0707nS 2.6228V 2.3141V 2.9336V +7.1717nS 2.6227V 2.3141V 2.9337V +7.2727nS 2.6228V 2.3141V 2.9336V +7.3737nS 2.6227V 2.3141V 2.9337V +7.4747nS 2.6228V 2.3141V 2.9336V +7.5758nS 2.6227V 2.3141V 2.9337V +7.6768nS 2.6228V 2.3141V 2.9336V +7.7778nS 2.6227V 2.3141V 2.9337V +7.8788nS 2.6228V 2.3141V 2.9336V +7.9798nS 2.6227V 2.3141V 2.9337V +8.0808nS 2.6228V 2.3141V 2.9336V +8.1818nS 2.6227V 2.3141V 2.9337V +8.2828nS 2.6228V 2.3141V 2.9336V +8.3838nS 2.6227V 2.3141V 2.9337V +8.4848nS 2.6228V 2.3141V 2.9336V +8.5859nS 2.6227V 2.3141V 2.9337V +8.6869nS 2.6228V 2.3141V 2.9336V +8.7879nS 2.6227V 2.3141V 2.9337V +8.8889nS 2.6228V 2.3141V 2.9336V +8.9899nS 2.6227V 2.3141V 2.9337V +9.0909nS 2.6228V 2.3141V 2.9336V +9.1919nS 2.6227V 2.3141V 2.9337V +9.2929nS 2.6228V 2.3141V 2.9336V +9.3939nS 2.6227V 2.3141V 2.9337V +9.4949nS 2.6228V 2.3141V 2.9336V +9.5960nS 2.6227V 2.3141V 2.9337V +9.6970nS 2.6228V 2.3141V 2.9336V +9.7980nS 2.6227V 2.3141V 2.9337V +9.8990nS 2.6228V 2.3141V 2.9336V +10.0000nS 2.6227V 2.3141V 2.9336V +| +[Falling Waveform] +R_fixture= 50.0000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 2.6227V 2.3141V 2.9336V +0.1010nS 2.6227V 2.3141V 2.9336V +0.2020nS 2.6227V 2.3141V 2.9336V +0.3030nS 2.6227V 2.3141V 2.9336V +0.4040nS 2.6227V 2.3141V 2.9346V +0.5051nS 2.6227V 2.3141V 2.9501V +0.6061nS 2.6238V 2.3141V 2.0446V +0.7071nS 2.6182V 2.3141V 0.2716V +0.8081nS 2.5689V 2.3141V 53.3730mV +0.9091nS 1.5325V 2.3142V 23.9540mV +1.0101nS 0.4444V 2.3158V 12.0280mV +1.1111nS 0.1018V 2.3112V 6.0200mV +1.2121nS 37.2980mV 2.3083V 3.0370mV +1.3131nS 22.3400mV 1.9221V 1.4981mV +1.4141nS 13.7340mV 1.1480V 0.7574mV +1.5152nS 8.5637mV 0.5708V 0.4021mV +1.6162nS 5.2092mV 0.2051V 0.2296mV +1.7172nS 3.2683mV 76.5570mV 0.1427mV +1.8182nS 2.0356mV 39.4740mV 0.1015mV +1.9192nS 1.2673mV 25.6380mV 73.4770uV +2.0202nS 0.8065mV 17.6630mV 67.1580uV +2.1212nS 0.5186mV 12.5100mV 58.4200uV +2.2222nS 0.3490mV 8.9624mV 56.3830uV +2.3232nS 0.2379mV 6.3746mV 51.8720uV +2.4242nS 0.1750mV 4.5469mV 42.8540uV +2.5253nS 0.1284mV 3.2505mV 35.1520uV +2.6263nS 0.1048mV 2.3914mV 37.9970uV +2.7273nS 82.6470uV 1.7082mV 37.0490uV +2.8283nS 73.8080uV 1.2526mV 31.2360uV +2.9293nS 61.1070uV 0.9041mV 26.0620uV +3.0303nS 57.9240uV 0.6784mV 27.5890uV +3.1313nS 48.7900uV 0.4966mV 26.4960uV +3.2323nS 47.9810uV 0.3875mV 27.8510uV +3.3333nS 40.7690uV 0.2878mV 19.7990uV +3.4343nS 40.9490uV 0.2337mV 17.1400uV +3.5354nS 34.7430uV 0.1621mV 18.1910uV +3.6364nS 35.3770uV 0.1494mV 19.8450uV +3.7374nS 29.7060uV 0.1133mV 14.2530uV +3.8384nS 30.7430uV 0.1065mV 12.9920uV +3.9394nS 25.5540uV 80.0310uV 7.8058uV +4.0404nS 26.8000uV 80.8650uV 13.8760uV +4.1414nS 21.9640uV 60.4560uV 12.9530uV +4.2424nS 23.3040uV 65.0490uV 10.4490uV +4.3434nS 18.8140uV 47.7520uV 5.8652uV +4.4444nS 20.3770uV 54.4030uV 10.2610uV +4.5455nS 16.1860uV 38.3920uV 8.7673uV +4.6465nS 17.8140uV 46.3580uV 13.0150uV +4.7475nS 13.8870uV 32.3520uV 5.0171uV +4.8485nS 15.7440uV 40.5160uV 5.3505uV +4.9495nS 11.8990uV 27.1440uV 5.3982uV +5.0505nS 11.9880uV 29.5925uV 9.2804uV +5.1515nS 12.1340uV 31.8210uV 4.6563uV +5.2525nS 8.7117uV 19.6570uV -1.0244uV +5.3535nS 10.7030uV 28.6470uV 5.9460uV +5.4545nS 7.4886uV 17.2280uV 5.3429uV +5.5556nS 9.4781uV 25.4250uV 4.1404uV +5.6566nS 6.3997uV 14.2790uV -0.8319uV +5.7576nS 8.3601uV 23.2950uV 4.8132uV +5.8586nS 5.5949uV 12.6800uV 2.9433uV +5.9596nS 7.4442uV 20.6190uV 8.5736uV +6.0606nS 4.7159uV 9.7537uV 0.1698uV +6.1616nS 6.4861uV 18.3810uV 1.9858uV +6.2626nS 3.9894uV 8.9493uV 1.2494uV +6.3636nS 5.8806uV 17.0250uV 6.4471uV +6.4646nS 3.4487uV 7.0756uV 0.9714uV +6.5657nS 5.2022uV 15.4910uV -0.6426uV +6.6667nS 2.8812uV 6.3689uV 1.5504uV +6.7677nS 4.7277uV 13.8710uV 2.2252uV +6.8687nS 2.4810uV 4.7080uV -2.2293uV +6.9697nS 4.1933uV 13.0780uV 1.3348uV +7.0707nS 2.0761uV 4.4818uV 78.3420nV +7.1717nS 3.8484uV 11.6170uV 2.6345uV +7.2727nS 1.8074uV 2.9796uV -3.6859uV +7.3737nS 3.4015uV 10.8220uV 1.2620uV +7.4747nS 1.3678uV 2.9442uV -0.2840uV +7.5758nS 3.1547uV 10.1140uV 2.7797uV +7.6768nS 1.3094uV 1.6004uV -3.7019uV +7.7778nS 2.8382uV 10.7130uV 1.4690uV +7.8788nS 0.9526uV 11.2040uV -0.5626uV +7.9798nS 2.6269uV 21.3310uV 2.7650uV +8.0808nS 0.8922uV 4.3231uV -3.8507uV +8.1818nS 2.3815uV 9.2056uV 1.5697uV +8.2828nS 0.6534uV 8.2125uV -0.6976uV +8.3838nS 2.1775uV 16.5060uV 2.7574uV +8.4848nS 0.4774uV 3.1189uV -3.6143uV +8.5859nS 2.0621uV 8.7306uV 1.7112uV +8.6869nS 0.5714uV 8.0980uV -5.7097uV +8.7879nS 1.9555uV 16.9060uV 0.4784uV +8.8889nS 0.3749uV 3.3279uV -0.4756uV +8.9899nS 1.8553uV 7.7331uV 3.0524uV +9.0909nS 0.4028uV 7.1583uV -6.0500uV +9.1919nS 1.7720uV 15.0000uV 1.3786uV +9.2929nS 0.2364uV 2.5780uV -4.9180uV +9.3939nS 1.6329uV 7.5330uV 1.1343uV +9.4949nS 0.3146uV 6.6822uV -0.8073uV +9.5960nS 1.6338uV 14.9450uV 5.5530uV +9.6970nS 0.1802uV 2.4885uV -2.0278uV +9.7980nS 1.5360uV 6.6252uV 1.8159uV +9.8990nS 0.3644uV 5.9002uV -3.8607uV +10.0000nS 15.9670uV 1.3178uV 6.3001uV +| +[Falling Waveform] +R_fixture= 50.0000 +V_fixture= 3.3000 +V_fixture_min= 3.1400 +V_fixture_max= 3.4700 +|time V(typ) V(min) V(max) +| +0.0S 3.3000V 3.1400V 3.4700V +0.1010nS 3.3000V 3.1400V 3.4700V +0.2020nS 3.3000V 3.1400V 3.4700V +0.3030nS 3.3000V 3.1400V 3.4700V +0.4040nS 3.3000V 3.1400V 3.4710V +0.5051nS 3.3000V 3.1400V 3.4895V +0.6061nS 3.3011V 3.1400V 3.3680V +0.7071nS 3.2945V 3.1400V 1.8217V +0.8081nS 3.3868V 3.1400V 0.7793V +0.9091nS 3.2593V 3.1401V 0.5985V +1.0101nS 2.4274V 3.1422V 0.5548V +1.1111nS 1.5271V 3.1359V 0.5386V +1.2121nS 0.9488V 3.1738V 0.5307V +1.3131nS 0.7562V 3.2474V 0.5269V +1.4141nS 0.6962V 3.1933V 0.5248V +1.5152nS 0.6677V 2.8406V 0.5238V +1.6162nS 0.6532V 2.3467V 0.5233V +1.7172nS 0.6445V 1.8512V 0.5230V +1.8182nS 0.6392V 1.4395V 0.5229V +1.9192nS 0.6358V 1.1569V 0.5229V +2.0202nS 0.6337V 1.0033V 0.5228V +2.1212nS 0.6325V 0.9285V 0.5228V +2.2222nS 0.6317V 0.8876V 0.5228V +2.3232nS 0.6312V 0.8624V 0.5228V +2.4242nS 0.6309V 0.8456V 0.5228V +2.5253nS 0.6307V 0.8340V 0.5228V +2.6263nS 0.6306V 0.8262V 0.5228V +2.7273nS 0.6305V 0.8209V 0.5228V +2.8283nS 0.6305V 0.8169V 0.5228V +2.9293nS 0.6305V 0.8141V 0.5228V +3.0303nS 0.6304V 0.8119V 0.5228V +3.1313nS 0.6304V 0.8105V 0.5228V +3.2323nS 0.6304V 0.8094V 0.5228V +3.3333nS 0.6304V 0.8086V 0.5228V +3.4343nS 0.6304V 0.8080V 0.5227V +3.5354nS 0.6304V 0.8076V 0.5228V +3.6364nS 0.6304V 0.8073V 0.5227V +3.7374nS 0.6304V 0.8071V 0.5228V +3.8384nS 0.6304V 0.8069V 0.5227V +3.9394nS 0.6304V 0.8068V 0.5228V +4.0404nS 0.6304V 0.8067V 0.5227V +4.1414nS 0.6304V 0.8066V 0.5228V +4.2424nS 0.6304V 0.8066V 0.5227V +4.3434nS 0.6304V 0.8065V 0.5228V +4.4444nS 0.6304V 0.8065V 0.5227V +4.5455nS 0.6304V 0.8065V 0.5228V +4.6465nS 0.6304V 0.8065V 0.5227V +4.7475nS 0.6304V 0.8065V 0.5227V +4.8485nS 0.6304V 0.8064V 0.5227V +4.9495nS 0.6304V 0.8064V 0.5227V +5.0505nS 0.6304V 0.8064V 0.5227V +5.1515nS 0.6304V 0.8064V 0.5227V +5.2525nS 0.6304V 0.8064V 0.5227V +5.3535nS 0.6304V 0.8064V 0.5227V +5.4545nS 0.6304V 0.8064V 0.5227V +5.5556nS 0.6304V 0.8064V 0.5227V +5.6566nS 0.6304V 0.8064V 0.5227V +5.7576nS 0.6304V 0.8064V 0.5227V +5.8586nS 0.6304V 0.8064V 0.5227V +5.9596nS 0.6304V 0.8064V 0.5227V +6.0606nS 0.6304V 0.8064V 0.5227V +6.1616nS 0.6304V 0.8064V 0.5227V +6.2626nS 0.6304V 0.8064V 0.5227V +6.3636nS 0.6304V 0.8064V 0.5227V +6.4646nS 0.6304V 0.8064V 0.5227V +6.5657nS 0.6304V 0.8064V 0.5227V +6.6667nS 0.6304V 0.8064V 0.5227V +6.7677nS 0.6304V 0.8064V 0.5227V +6.8687nS 0.6304V 0.8064V 0.5227V +6.9697nS 0.6304V 0.8064V 0.5227V +7.0707nS 0.6304V 0.8064V 0.5227V +7.1717nS 0.6304V 0.8064V 0.5227V +7.2727nS 0.6304V 0.8064V 0.5227V +7.3737nS 0.6304V 0.8064V 0.5227V +7.4747nS 0.6304V 0.8064V 0.5227V +7.5758nS 0.6304V 0.8064V 0.5227V +7.6768nS 0.6304V 0.8064V 0.5227V +7.7778nS 0.6304V 0.8064V 0.5227V +7.8788nS 0.6304V 0.8064V 0.5227V +7.9798nS 0.6304V 0.8064V 0.5227V +8.0808nS 0.6304V 0.8064V 0.5227V +8.1818nS 0.6304V 0.8064V 0.5227V +8.2828nS 0.6304V 0.8064V 0.5227V +8.3838nS 0.6304V 0.8064V 0.5227V +8.4848nS 0.6304V 0.8064V 0.5227V +8.5859nS 0.6304V 0.8064V 0.5227V +8.6869nS 0.6304V 0.8064V 0.5227V +8.7879nS 0.6304V 0.8064V 0.5227V +8.8889nS 0.6304V 0.8064V 0.5227V +8.9899nS 0.6304V 0.8064V 0.5227V +9.0909nS 0.6304V 0.8064V 0.5227V +9.1919nS 0.6304V 0.8064V 0.5227V +9.2929nS 0.6304V 0.8064V 0.5227V +9.3939nS 0.6304V 0.8064V 0.5227V +9.4949nS 0.6303V 0.8064V 0.5227V +9.5960nS 0.6304V 0.8064V 0.5227V +9.6970nS 0.6304V 0.8064V 0.5227V +9.7980nS 0.6304V 0.8064V 0.5227V +9.8990nS 0.6304V 0.8064V 0.5227V +10.0000nS 0.6304V 0.8064V 0.5228V +| +| End [Model] lvc330s240daaaaaaaou +|************************************************************************ +| End [Component] +[End] diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.alt b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.alt index 8aac9df..ca445fb 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.alt +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.alt @@ -1,71 +1,71 @@ -NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * -NOTE All Rights Reserved * -NOTE DATE CREATED: Wed Aug 16 20:59:46 2023 * -NOTE DESIGN NAME: RAM2GS * -NOTE DEVICE NAME: LCMXO2-640HC-4TQFP100 * -NOTE PIN ASSIGNMENTS * -NOTE PINS RD[0] : 36 : inout * -NOTE PINS Dout[0] : 76 : out * -NOTE PINS PHI2 : 8 : in * -NOTE PINS RDQML : 48 : out * -NOTE PINS RDQMH : 51 : out * -NOTE PINS nRCAS : 52 : out * -NOTE PINS nRRAS : 54 : out * -NOTE PINS nRWE : 49 : out * -NOTE PINS RCKE : 53 : out * -NOTE PINS RCLK : 62 : in * -NOTE PINS nRCS : 57 : out * -NOTE PINS RD[7] : 43 : inout * -NOTE PINS RD[6] : 42 : inout * -NOTE PINS RD[5] : 41 : inout * -NOTE PINS RD[4] : 40 : inout * -NOTE PINS RD[3] : 39 : inout * -NOTE PINS RD[2] : 38 : inout * -NOTE PINS RD[1] : 37 : inout * -NOTE PINS RA[11] : 59 : out * -NOTE PINS RA[10] : 64 : out * -NOTE PINS RA[9] : 63 : out * -NOTE PINS RA[8] : 65 : out * -NOTE PINS RA[7] : 75 : out * -NOTE PINS RA[6] : 68 : out * -NOTE PINS RA[5] : 70 : out * -NOTE PINS RA[4] : 74 : out * -NOTE PINS RA[3] : 71 : out * -NOTE PINS RA[2] : 69 : out * -NOTE PINS RA[1] : 67 : out * -NOTE PINS RA[0] : 66 : out * -NOTE PINS RBA[1] : 60 : out * -NOTE PINS RBA[0] : 58 : out * -NOTE PINS LED : 34 : out * -NOTE PINS nFWE : 15 : in * -NOTE PINS nCRAS : 17 : in * -NOTE PINS nCCAS : 9 : in * -NOTE PINS Dout[7] : 82 : out * -NOTE PINS Dout[6] : 78 : out * -NOTE PINS Dout[5] : 84 : out * -NOTE PINS Dout[4] : 83 : out * -NOTE PINS Dout[3] : 85 : out * -NOTE PINS Dout[2] : 87 : out * -NOTE PINS Dout[1] : 86 : out * -NOTE PINS Din[7] : 1 : in * -NOTE PINS Din[6] : 2 : in * -NOTE PINS Din[5] : 98 : in * -NOTE PINS Din[4] : 99 : in * -NOTE PINS Din[3] : 97 : in * -NOTE PINS Din[2] : 88 : in * -NOTE PINS Din[1] : 96 : in * -NOTE PINS Din[0] : 3 : in * -NOTE PINS CROW[1] : 16 : in * -NOTE PINS CROW[0] : 10 : in * -NOTE PINS MAin[9] : 32 : in * -NOTE PINS MAin[8] : 25 : in * -NOTE PINS MAin[7] : 18 : in * -NOTE PINS MAin[6] : 24 : in * -NOTE PINS MAin[5] : 19 : in * -NOTE PINS MAin[4] : 20 : in * -NOTE PINS MAin[3] : 21 : in * -NOTE PINS MAin[2] : 13 : in * -NOTE PINS MAin[1] : 12 : in * -NOTE PINS MAin[0] : 14 : in * -NOTE CONFIGURATION MODE: NONE * -NOTE COMPRESSION: on * +NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * +NOTE All Rights Reserved * +NOTE DATE CREATED: Sat Aug 19 21:55:27 2023 * +NOTE DESIGN NAME: RAM2GS * +NOTE DEVICE NAME: LCMXO2-640HC-4TQFP100 * +NOTE PIN ASSIGNMENTS * +NOTE PINS RD[0] : 36 : inout * +NOTE PINS Dout[0] : 76 : out * +NOTE PINS PHI2 : 8 : in * +NOTE PINS RDQML : 48 : out * +NOTE PINS RDQMH : 51 : out * +NOTE PINS nRCAS : 52 : out * +NOTE PINS nRRAS : 54 : out * +NOTE PINS nRWE : 49 : out * +NOTE PINS RCKE : 53 : out * +NOTE PINS RCLK : 62 : in * +NOTE PINS nRCS : 57 : out * +NOTE PINS RD[7] : 43 : inout * +NOTE PINS RD[6] : 42 : inout * +NOTE PINS RD[5] : 41 : inout * +NOTE PINS RD[4] : 40 : inout * +NOTE PINS RD[3] : 39 : inout * +NOTE PINS RD[2] : 38 : inout * +NOTE PINS RD[1] : 37 : inout * +NOTE PINS RA[11] : 59 : out * +NOTE PINS RA[10] : 64 : out * +NOTE PINS RA[9] : 63 : out * +NOTE PINS RA[8] : 65 : out * +NOTE PINS RA[7] : 75 : out * +NOTE PINS RA[6] : 68 : out * +NOTE PINS RA[5] : 70 : out * +NOTE PINS RA[4] : 74 : out * +NOTE PINS RA[3] : 71 : out * +NOTE PINS RA[2] : 69 : out * +NOTE PINS RA[1] : 67 : out * +NOTE PINS RA[0] : 66 : out * +NOTE PINS RBA[1] : 60 : out * +NOTE PINS RBA[0] : 58 : out * +NOTE PINS LED : 34 : out * +NOTE PINS nFWE : 15 : in * +NOTE PINS nCRAS : 17 : in * +NOTE PINS nCCAS : 9 : in * +NOTE PINS Dout[7] : 82 : out * +NOTE PINS Dout[6] : 78 : out * +NOTE PINS Dout[5] : 84 : out * +NOTE PINS Dout[4] : 83 : out * +NOTE PINS Dout[3] : 85 : out * +NOTE PINS Dout[2] : 87 : out * +NOTE PINS Dout[1] : 86 : out * +NOTE PINS Din[7] : 1 : in * +NOTE PINS Din[6] : 2 : in * +NOTE PINS Din[5] : 98 : in * +NOTE PINS Din[4] : 99 : in * +NOTE PINS Din[3] : 97 : in * +NOTE PINS Din[2] : 88 : in * +NOTE PINS Din[1] : 96 : in * +NOTE PINS Din[0] : 3 : in * +NOTE PINS CROW[1] : 16 : in * +NOTE PINS CROW[0] : 10 : in * +NOTE PINS MAin[9] : 32 : in * +NOTE PINS MAin[8] : 25 : in * +NOTE PINS MAin[7] : 18 : in * +NOTE PINS MAin[6] : 24 : in * +NOTE PINS MAin[5] : 19 : in * +NOTE PINS MAin[4] : 20 : in * +NOTE PINS MAin[3] : 21 : in * +NOTE PINS MAin[2] : 13 : in * +NOTE PINS MAin[1] : 12 : in * +NOTE PINS MAin[0] : 14 : in * +NOTE CONFIGURATION MODE: NONE * +NOTE COMPRESSION: on * diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.areasrr b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.areasrr index 69f71bd..0375507 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.areasrr +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.areasrr @@ -1,42 +1,43 @@ ----------------------------------------------------------------------- -Report for cell RAM2GS.verilog - -Register bits: 109 of 640 (17%) -PIC Latch: 0 -I/O cells: 63 - Cell usage: - cell count Res Usage(%) - BB 8 100.0 - CCU2D 10 100.0 - EFB 1 100.0 - FD1P3AX 27 100.0 - FD1P3IX 3 100.0 - FD1S3AX 51 100.0 - FD1S3IX 3 100.0 - GSR 1 100.0 - IB 25 100.0 - IFS1P3DX 9 100.0 - INV 8 100.0 - OB 30 100.0 - OFS1P3BX 4 100.0 - OFS1P3DX 11 100.0 - OFS1P3JX 1 100.0 - ORCALUT4 206 100.0 - PFUMX 1 100.0 - PUR 1 100.0 - VHI 2 100.0 - VLO 2 100.0 -SUB MODULES - REFB 1 100.0 - - TOTAL 405 ----------------------------------------------------------------------- -Report for cell REFB.netlist - Instance path: ufmefb - Cell usage: - cell count Res Usage(%) - EFB 1 100.0 - VHI 1 50.0 - VLO 1 50.0 - - TOTAL 3 +---------------------------------------------------------------------- +Report for cell RAM2GS.verilog + +Register bits: 111 of 640 (17%) +PIC Latch: 0 +I/O cells: 63 + Cell usage: + cell count Res Usage(%) + BB 8 100.0 + CCU2D 10 100.0 + EFB 1 100.0 + FD1P3AX 28 100.0 + FD1P3IX 2 100.0 + FD1S3AX 52 100.0 + FD1S3IX 4 100.0 + GSR 1 100.0 + IB 25 100.0 + IFS1P3DX 9 100.0 + INV 6 100.0 + OB 30 100.0 + OFS1P3BX 4 100.0 + OFS1P3DX 11 100.0 + OFS1P3JX 1 100.0 + ORCALUT4 199 100.0 + PFUMX 3 100.0 + PUR 1 100.0 + VHI 2 100.0 + VLO 2 100.0 +SUB MODULES + REFB 1 100.0 + + TOTAL 400 +---------------------------------------------------------------------- +Report for cell REFB.netlist + Instance path: ufmefb + Cell usage: + cell count Res Usage(%) + EFB 1 100.0 + ORCALUT4 1 0.5 + VHI 1 50.0 + VLO 1 50.0 + + TOTAL 4 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bgn b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bgn index 178bb21..97908f0 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bgn +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bgn @@ -1,86 +1,86 @@ -BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 +BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:44 2023 +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 21:55:24 2023 + - -Command: bitgen -g RamCfg:Reset -path D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC -w -jedec -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf - -Loading design for application Bitgen from file LCMXO2_640HC_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO2-640HC -Package: TQFP100 -Performance: 4 -Loading device for application Bitgen from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.39. -Performance Hardware Data Status: Final Version 34.4. - -Running DRC. -DRC detected 0 errors and 0 warnings. -Reading Preference File from LCMXO2_640HC_impl1.prf. - -Preference Summary: -+---------------------------------+---------------------------------+ -| Preference | Current Setting | -+---------------------------------+---------------------------------+ -| RamCfg | Reset** | -+---------------------------------+---------------------------------+ -| MCCLK_FREQ | 2.08** | -+---------------------------------+---------------------------------+ -| CONFIG_SECURE | OFF** | -+---------------------------------+---------------------------------+ -| INBUF | ON** | -+---------------------------------+---------------------------------+ -| JTAG_PORT | ENABLE** | -+---------------------------------+---------------------------------+ -| SDM_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| SLAVE_SPI_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| MASTER_SPI_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| I2C_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| MUX_CONFIGURATION_PORTS | DISABLE** | -+---------------------------------+---------------------------------+ -| CONFIGURATION | CFG** | -+---------------------------------+---------------------------------+ -| COMPRESS_CONFIG | ON** | -+---------------------------------+---------------------------------+ -| MY_ASSP | OFF** | -+---------------------------------+---------------------------------+ -| ONE_TIME_PROGRAM | OFF** | -+---------------------------------+---------------------------------+ -| ENABLE_TRANSFR | DISABLE** | -+---------------------------------+---------------------------------+ -| SHAREDEBRINIT | DISABLE** | -+---------------------------------+---------------------------------+ -| BACKGROUND_RECONFIG | OFF** | -+---------------------------------+---------------------------------+ - * Default setting. - ** The specified setting matches the default setting. - - -Creating bit map... - -Bitstream Status: Final Version 1.95. - -Saving bit stream in "LCMXO2_640HC_impl1.jed". - -=========== -UFM Summary. -=========== -UFM Size: 191 Pages (128*191 Bits). -UFM Utilization: General Purpose Flash Memory. - -Available General Purpose Flash Memory: 191 Pages (Page 0 to Page 190). -Initialized UFM Pages: 1 Page (Page 190). - -Total CPU Time: 1 secs -Total REAL Time: 2 secs -Peak Memory Usage: 245 MB +Command: bitgen -g RamCfg:Reset -path Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC -w -jedec -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf + +Loading design for application Bitgen from file LCMXO2_640HC_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application Bitgen from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. + +Running DRC. +DRC detected 0 errors and 0 warnings. +Reading Preference File from LCMXO2_640HC_impl1.prf. + +Preference Summary: ++---------------------------------+---------------------------------+ +| Preference | Current Setting | ++---------------------------------+---------------------------------+ +| RamCfg | Reset** | ++---------------------------------+---------------------------------+ +| MCCLK_FREQ | 2.08** | ++---------------------------------+---------------------------------+ +| CONFIG_SECURE | OFF** | ++---------------------------------+---------------------------------+ +| INBUF | ON** | ++---------------------------------+---------------------------------+ +| JTAG_PORT | ENABLE** | ++---------------------------------+---------------------------------+ +| SDM_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| SLAVE_SPI_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| MASTER_SPI_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| I2C_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| MUX_CONFIGURATION_PORTS | DISABLE** | ++---------------------------------+---------------------------------+ +| CONFIGURATION | CFG** | ++---------------------------------+---------------------------------+ +| COMPRESS_CONFIG | ON** | ++---------------------------------+---------------------------------+ +| MY_ASSP | OFF** | ++---------------------------------+---------------------------------+ +| ONE_TIME_PROGRAM | OFF** | ++---------------------------------+---------------------------------+ +| ENABLE_TRANSFR | DISABLE** | ++---------------------------------+---------------------------------+ +| SHAREDEBRINIT | DISABLE** | ++---------------------------------+---------------------------------+ +| BACKGROUND_RECONFIG | OFF** | ++---------------------------------+---------------------------------+ + * Default setting. + ** The specified setting matches the default setting. + + +Creating bit map... + +Bitstream Status: Final Version 1.95. + +Saving bit stream in "LCMXO2_640HC_impl1.jed". + +=========== +UFM Summary. +=========== +UFM Size: 191 Pages (128*191 Bits). +UFM Utilization: General Purpose Flash Memory. + +Available General Purpose Flash Memory: 191 Pages (Page 0 to Page 190). +Initialized UFM Pages: 1 Page (Page 190). + +Total CPU Time: 3 secs +Total REAL Time: 3 secs +Peak Memory Usage: 266 MB diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bit b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.bit new file mode 100644 index 0000000000000000000000000000000000000000..8a32089a9ce977fa8ebb7510f4f79965487f27eb GIT binary patch literal 6185 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 literal 0 HcmV?d00001 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.ncd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.ncd index cdfbb0fdccaad16d486041f2b5513622c506949e..409c0ed3539ef029cddcb23e412f61f72327d12d 100644 GIT binary patch literal 268674 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 literal 278109 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

x-4L^WYaPa^C2_ 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 B+VKDY diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ngd index 6da67051e0d7624e251ef923c22ee39bc2ff7626..9c7e2070737a996e085db8523080e0ae7624d37e 100644 GIT binary patch literal 204730 zcma&P2VflKwKlwxjUmRs(n%mN5R!ll?2dcIqq4SEmc3(1uCl%3imSA?**jN}uzEe`@ zz#+$Ls2ygRvrbG?f(DUGoH#Oi=!C?RiNuhrQ{}ZqYPPMRetD<4D3L0kTOhh?>fB7e zuw*$}vU~!zEX^-p(wpzjo1G&e*4G74p{w(w^Jaea=6pK8WMn?wIfezS0R_58ax;C) z9k6SKRTzcEWdV@EK(?#^wZ@YCEi1;42ECeSc(E+MY32I->Wv!+3jqB<76A;nLIeiJ zkA^R466uHaZqM`ogSEngIC-#T1&b~-KvSGsR+#3<{ObIY5oEychmzG5RvaYA07Twz z?CAx$1{50uX;O5nBYR*KmyDC2+c09vVgG43d+Yy zPYR%?s87ZK+W<)Cxid{YbDkTDb$6N*(u>YWp9y@06BVUm=vzUex|cZg0Enyxsce$+ zc~(S{jRNd801iR~>=3zgUJMxvWTOumX^@;IY^58=WN~$m%u|X0Bo+>jn05vi~};g49sY7;V7Xn*B+4DHZzx}u+{|w z>aQQkY3ec#!0jAMj<53uWWzO>?;J%U8%ad=Z+sME9CI6ModX$R|G*qLKI-gs)`7Uf z|MkQ_Q0pRw_1=L*M!-QDSQ`RJMCvC@@kp5l5Gr)n^Fwd*_h64$Ru3GO8 zY<`3&S7TuANHK4&^$x`5l&$p#X4AN)T3ZSBK-EfontC=IP@lN#jRCc3UZp}WI0Lem zP~JH)8-oJ~$Z6?-Y@Q0b24-{1)_{i9gx`HYwrH3(X9HwKPw4BN0r`}Yf-xYAChCGe zAd42!O~HUHTHH2+Gk`DDd0U-u zK%=Ip^WFpLa&Hy_=CLFgT7~A-e_LX ztpW9TN50J+kjKt!^#|nfNZkh30KV|%Xp;qAq%-BjhdqYLJJjBwpDvQN?Z7%>gSyp# zlG-+kn70OiR6aV#(w=n`Z99AXh-jV)cB>bW%#Riwyd{W%?AkWJAI5XG@L-!4Z~ZruUcU6Oru}7>CGn4z3jV(PIGAesFj600|+^`&KIoi9zZ`A?}Et7{tBU z6F^F)i%*ex_3bs{C@)*RRzHyDu1Ub6`n*Op^arWBCkOo`soSUY2dST@SaHctj+($| zOQKIE1^rO2;w6l3>N4}l=CWjq$TuVaA6s>v0m;#(-qYRo|&vn3vrj>hXib5meBuF=bAx&}zVvov?q_m#v@6SAEy<|=_24ZT%4NiYHHA+Uk{TX7^ zTLw5(xD*wY%DF**(X^196qTf%#$*eUVHePBFok47i0n0ZF^Ci`D+Y1d`7wy=%Z))) z3ziduxC?=3|H%c*i^_t@(d`fO%s3fnT$-24$@@w3{95mm^ro)y`L=p4#s&ibO`s}ZcshlJBAB>h zWVsNP)hT9@DP9B-9qC69(G^Yv;SQ@eA_xz1D^SR?wP?Q{lx~RouHK3u+;a_ts6eRH z@=gR82Vfy+EioRzQa1w7Xjtk+02&KRj0iyGu*8i3)Xj^$2teK3=|lkP<|Uw2vtl>1 zG>VL;ecK`PHaHhEF#^Mvc-_m76%Zbt7)QX z@84UaeJAD4`G1OyNYu6OC_sz@X;{*=76Gy^z5=JV=SSfh6aKGvJ2~lsf%-D@U2To^ z?fEg`N=V~>A?Yz2!$ie^oQc&^E-g!}|CbOJA&Q`LAZwAdrSmiMGQrOO50g}=c~=SU z=YKcx7kl8VZrwisNH{@6f)=E-3Xc-E=zv_ZzR*>=c5`;bMqFM5xWoa-Ia9grrcvnl z{oy49FE#)VrVfDg2pYeO10d|O(noIr&jZ$WM~>q{TMd>`Yt|OC-VpKycNvMhdw*_F4bUA{i)m?PSxZGG#2yXPu zZ9|!!uVrMJVsa}_CNXwUfPk8kO0%96Q{^cI0=n98D<{3Wo38rO7PM?tS#{<56)TsL zT8YT6w(c#B-Rs&{tfPGs-^W23>OJrVb#GjKUVb%gsk&Dt%%uwmtm)o3`aHV#wkv0V ze5h+h_cFR&RBn=uDszA`X-L2i1yKut&#jOhc5fNT#;PXy##1>{6l!ht?O;zS32JTz zL<6bDBct3|h5cYuX1OW7AB-v~pG&Z4U!{lKvi5@sEJbA#=HBlZ3OL8E#|^o1eG&j% zg16Z4ZsLjoDvd=@^aJh*j?R(?(kgL9%=NY~O9&;UsTk61m9R>P!Er*W5k!tj_;|6e zVd-Q>ny2|o#tijL3370~k@8$$6iSUziTZ*D$*aj#O$xUg_fz5?ZivC~=psicDu1*a=>XZtXBm15F4vbJO^$}{i*~A^74omX64H8(!UYN5-Qti zzMA1o>T^#sr2A8njL4g%)U%^Tq#IykCNWOvz|ph{iOg+l!n|Pa5*v&Klh4@MRCh*W z-5EO@>UP!-Z>Xz3^Gux7mK#ZJ&~i-fqw_e+0&*@PwOx%U2vAdOGR71Y3^mwb&!GmV za5H?{mNGCU&4T3EGMfI%=aObE@e#;&M{!jgMFyx9k{3x$hM4H(24Pf4!Da*5l-^J) z=H3fjjY!MqR)N5ObQv@(X_Goo`kyx2TgX;HXht~gv)iz1D_gP^$syTND9gcCBQ*Q5 z699Pz9qETv0aDvFZboKWW+t6Ul^Y8Y1YNU{b!6A<6n#^F=5Rh3z7riZoV$#UAids& zc#V**Ck`~~g)sh0y-Gc5?h>9Xm|UMQ_msU*r;)7OTp_p=^fkem)a-i?T z(g7u8+zOn=j2{d(TH7?O0yMc0|axAW?#QTDqfYWSc zk66xi-%{Es7S6Bo;?(QR{Lh9mgY55#Zr6dQ&~2<7W)v0Iu{O;)x;VU#wDGgYQMzmr^WtpJ#vCY zRHz);F?;?6`2m{IatMy>{(XNj!Reb*+|K}~P_`iqaewTc>JKc+wa`F${_;S^M6U^# z;YzCkD}!b9jl*S)hnefM3Xx_a0-|?$ptM$EA|m^8Qj+t=3O6cJr|XsbSoPALyCJ00 zhwc;QKpFeRejGiBxYA@l-}LQt)Iyyc7?DcoJ0s?-k`U98C|5MA#&_S@{p{)3gl}T7 zDd|0J23l7oN)rI}7fgra8L{kgArwX_b3t>QE+gBDNoYINXy_xC3>K*(+FZ2&hFd+U z)`Zl_H9_Te*9@}BzKNj;ZRB;LFI8e*g0W9Cc;v?F4}>h_pSnt2NKuE$6{vsBKLW`} z)G`#6q0r>t9LR+^6nW+{JGP)WTpHBn3G=2ORFqwT(on>9V3Mm~<-c(GCO4Ev=kr+R z{=;~gSyeiis-hDq^05l6#Gy1!M0eIx_S%h5K?KD6DHvt;15U`MLZ?Bw=T1KkqD0~D zWPl<&(SDib4}RWngRLTyZ6OrV>3e?d zfy;jKfPnnx6^)R)K&~JQp;IDZ|F;^7kyPK|MI}Xz0H`4eR@1eNq4nKBqCB){dZbiC zeivUcAV*c`0QdaHf;i2pdRR#DJ=+X$NF0X3f+Zc-1&10Iqc`j~p6+j2uN)28ut|9q zSs@eS$#}$so-NcYu;(*JN$|uZhBb_kdob`j7i{)Uu=NCd(?S~@$~Ypz5FqblNH?t} zRz!&sN!D)KnFNE~QH{xhQmT7)2cc>-l3o0C$}pWkWpdYC4+>#owG(@uCWiD+xF?+G zJFW@_IiZ{ur#x`)KMRVZRvL8Y#lSe2$Q;u*w-QRK68uG=1a&e{J;!LtaHqM3B$Mz! zRM@UwkcoqdMl~bpD~V4uJmf&(+eJxWlv6G=2tDWm7{W%7cbr3H$@|)Qxi&hlFzMpT z)HIM9iO>bba+4jA$&bXP0i1`frxTDEqj4rdq^;~p*`*{aR(EZdj1ZcPh?}G6+E=-y z8o|ahG_4eYOgg8U78N>&o1T%53X!GeC;}RfH6t`Slf{+sa!W-~xGY|7PAZB{t(vtY zrKGjUyoRRwjx2dSL(s5;OA!3HO?i4+sS`xkw#&_x2qdDlqX?z8r4U7^& z(bb`>rs&cK#W3Ag(u7bPQ!7z~yl+WH5zb37ijd{0g$TlTa>~=ALVWMFJhd8?q8lIO zW~C@3vdO3fU79aXi$QcnzuaPLDNsnM>=jBKUA!-6m4L`(wjw2@X9Y!a11(Bl^u!F! zWe2lGCCp7{ON!)%rYD(fn46)iSJ3LE=e|M4!$7hM(AhT zW|9bJ9XUG>3{ZO|22nG!3leH?Y@H4X^L3NjcJa1JdzzHm=|X1XoH?WU zp|Nt#RvjBM5+U7RwxNq zawWz{*j&o@KM!u7Ka&F$96OtzTR%O68bJDzEDWf%y#dvXtOA{-1?}eg_DsIMi7sun zRh4XeYyF%|zPWy8Q+qQkksVv{WH)uB6@ZMl<=f`v=Cnc1)^ZGYNVvTalkS+;)`SI|{D=f4Y;G~+ zQ@-Y;Lpq(OHs?en(s_2U6qO;Z1%)U=p3SkN2>CWQCPRtnEJkJ6yJ{36{}#mTP)_EB zc0`}dFGZ9fuqYX!#RhF*B?{3~8Rdo5C`6BLlslt_#2##6Au2_WVU#;#ws^NSH>Swj zvw3z@kvCy;V~V^HTbR^Rox+7`2ypQ%Dunrl8QSYl2jH>Npq=pmxNp@ zqr9!TR1J%@upE3v#TLn0RM9l&%1LUPGm{VXIWddVn$LMzW`nM2Td`#Mw*1N^xJ`~b z?P#{Gpv5>j`J|>fdrLwy+=)vCtTg@UP~yi zsxZ_zJ%b0=DDL&7HmI#>){JJ-P)0aG>kCq!t8INLYKLys{F7=t0i% zswAL8+M3uigmY0KMaC?W;jB`oxhvP$l8>@C_kLSRj~3EMha>r;l>TaJ0Yjd)EYR>Y z#rDynA(0VEV`UWxhfQZZtJ9LtUAkJekIB*8`yWczRPBGq($doZH3fmpn$gM+$E>b| zG(DjJpB#-S9WB#LW1PIuR+?c2Eqh9*S?a7VGD4eVsZtUEx^o#UoJSUF+rS60t^#5Z z5p3<7ppYYw(%32z1^``QY;9Trco1P+eiLl0DaIkWfSgxSFpu6fniPuiF{)Lh3~#1q zBrHy%Rwe<%FFws!Qw?R%-bz~;CKcr1yOsh}3P^#!3V>E<^sFUw0${SBNh<6stAGel3GAGvQir%PuJOsO;_@G%doN-fwBU1xg(m}dy0~zwDLUF9YuI^yS^IA8K1tJ<8BBJ~7)+loHEC zr&cvd{j))ll-BN~;)xB%hLWOXKWIMR`Y0&fWxV6*3P~E_J$9%}$?Of;+(Bv0=G;f5 zNw}c6Vh`V~rA0q%N@_lzruBw2=U{zB^EtU)1x<6+Z3yMLhc?)n&#CVYY0+O@5rBH4 ztEd%BZgHa$pkXkfB)N2|voS3R8UW*z9wmRg;!wUO7lfE7q74J*db=T!v1;s(O-h98 zd5oesePgPU$H^UCkrW0Do=yxjC0qN3FA=#pfwu*TptH=qZlEctaiJ@bk;acPjXcqnrt_3L&* zR2~<{cq2Qe7?a~urqR_HW{O7aILK?tm{J_1R>o^V9s-ld*f6z(qZ=-Am5yF9CMP8X z4XjKcI2_HNR1pYrLRXFJr?%1DF)@O!Cb|SE&KwPbu?0mDkroC_b9tV}1Tm2@6Z z8(cG{%LEfDlAfC(a;z;$x{XHuO-@GunuN!eA^=SpW0eI`p=o16RE4IFadt$7T%S;k z0F4nG;3Ek`@3CG|h3DnX3W-+6?)8HGmMINUt=a2t~2Wiz4Ln6##@5XB}-D z3LyU|h+P2?6$IaxGc%VOz(gnV$S~(69D&Sl$6cdVvP>ei+|S&QQo$GZQ%GWIvu&%!_mn( zT+Yf|YT*!PCgaKI)r!EGQ|7Wja;TSgIg;Qo13`=%4^9ck82|OS_Onc!{ghn6Hb+qY zFZBgAVhq=YC#X?m^h!$*qv zcfE*vC77f;8o~@*W(i=_xUrZTp|EiVwn$TVf_ zQdd$G0>yNxBLOmeDUQi7y=FzEC&@8pVqLK1zC%yH!Yb(Ww;j3T3Z97WL(+T%-VB=N2V!M=^8in_*-)Cg)}x8#{4$>wg!Ge=T; zH@HI597zejI*=6WT`zdkn(|F;xbs}!j**eMPKn_78X5=)X)D1_m?oLN-cS^o zzE<%dOYZOXBsWde4MZJ-i{W@I*2m#PGc!4iOmMCtQj7<2>Tb?E+yXRc#_V}uUl(Un zOE-WU(Vz_MF=7zSq1Ss+h%Qk=3{a>^`&;|LcPoMAcIAV-S~@6N9Ly zb_X$tYc?iDCn*q%V>nSko6wASOFQDsHI~Nc>H`2z1M;c{!gOO8U8Bp~;KVT6EN6Dd z`28@LmohhQ13@t<_c#sGp02Rx1P6Xioi2{_oJyt}5YsQEG zl*>I{1fWdbXoUcshMJi^KZ0=o-V#I*&h^azWL}ri85FwGh#;JryKA; z5gAVMjeZ27(}G#^X+tulbxtGhgpZ&oZz7SQH2rsu$K@0tdjcRl02ny~XBTFs>?n|4 z7R%fil9bFF1I?u_>hm;7ol!P4Nr^7|nj{Bq4oT{$n_SJMjNTfO=z_hynnan(g?6u{ zHK+h@_7o{9`4*7TaB$v%R{DXsWM^jh)GHD=PKF?9#MN=ugaG@2IB$WZ6_><`3nbk* zh%*;}P8`IU3v$>`5@#-$3<4q9jt7H4mO~lt-;!jb^SCB%a)dZ&uA^IhO;hdd?Fk~Z zJRjX?X-u9Uqn%KW&wDpSX{oo(*Lv#0eCAe5V|@0zElNwh9#_lAGhj1wi=#2B(oEUY zG@ldmQ_-Sl^jYyHh{%3b7v?iJTN>kYv~6yLmgRDD0PG>m_4%o@XEt{5w``ZXmIN_G z7FBV4N^3hM{AL%&wXK;ZT#d&041b5WcDDKsFG|J%zXp81%u9DHQ3syFa1B4x7bps| z73f=B&}0$EdvPeOqjPpzpvabV^cIikEIkUOU)9HBL}@y=Y#%d{4BQHd#Nce#>R!IZ zONaxcRwE-JPM;_Mr%bXnn!_jRkoRIJkL`XCn}C6v9Tuf0qH=tnC9~HE5pJUoG+J-Z z<4yQN_8WS2g)zxZYLI+qmRItnL7H8NT$6#J98Rv z-_bbEJ@Ymm8U%W`rBK{g$pW~;2OvBZH(Ks-GyvDxQ{M$do|^es(|34El%HiXGxzvX zkisVGw;2*Jb)GVJyBg~kH*ncZB<{U|Mq}~aZfHCb-|ZGqecy<^e=Q)WasBd4*OH~{ zR+zK`J_jgK)6~7Gm+m8&nfolF@u7%i8@J(+DlXM~9f|b_ncIBOwRlN-qdNDvBOr-s zxKYProbF|zKO6%2&Xvf)9TouLl1k|9zLpWaaF-jEft9;S;x0x})5gU& zG)Z&Q-GL@)FLIBk$#lNm>@;~%z1z^JNlJG(Ax$>#a6_7!ya%Lg5}%1jBTh(DE4~-f zMEW5~GuS;wNYjLOj}_9?;|~OyCMWY;VfThYxJgQ0{5C4qhzkuen)|(oI^jb6?g%U; ze+xkohd5Dr*jF@H-fulcihbApuBLe>d|ya&8t?ZtpZ6{gDOwBy-Wfk=NEya>=lM_| zp&qeT+~;Z9Y>p0>TR~1bCPIfG+_G4R=5=3pf#kdinv->?w&*Wj$;~0NQBZ8c;NJdx$7SUs2!yTD9y}+Rt%!LzdtTTwf%5E zh=$XHPE3=B%)Le&V_i3faRy^zVhj9`6BQHNhoM=4=GVpsu-3J z8*#Z#;nSUN2$M}QRXk28`9MYfxFZQF@CuHZLpAkOAPFkaCw)m!X+7ylg1vdfRTSBK zR8dsvkAcJXsM0EqBzS_XxQZf+PZ^3LwI>5bk>2B)qMTJc#iOcxLi0#avO2}YQt^eP z*gRJZN%0(0u_VRU2p(}H#k1feipRC~1XvV;xW4d&Cn>Ii#}vh-`j{(u+|iFZk`k-f zqn;vJ_DM^TT)U42iWGKzMY0Qz7>Z=ePbe-|^rMOrgXl?!CQh2#WZEO^v1eHNO#}4c zsqLT}i2jBT8dV0mh4~KXW0>X}7LRzKM?t@x^)pYopa(OZh5W3}H0W-=KK=-fkQr)< zSeYjb(7es!2W&X7+dW`|_({;rqc}{|;5d)x{vrQ}ujsiAdD0SHoESnQbG+Tq0?tz&acE1)XQEV?PgpSsgJ#x(BA|ydP1&jW)=WL^$e)S} z(YSxoiRsZ8dLj_XN58pEMJX!-iw2LIq8KU z4)SHM7u`6>*RA#$ageWDJ?q6mzHaqgKS{ns^_;6Ed5wA80(}Ud+)#heopM6N>5hEh z6Q@8SMm@Xt0$wUAdw(R6{B3+LG&0`Y0b ziyk9%4#wU5w4rG(h38#O)5Nj&0+2EYb=hj~`Ig4iWvR?Fp2n!m_U??*@)Fo~OUuZI z2T&?LW4H?kr+FcK!H6PMY|jKygvRPVKZ;NVKJP>kDzg`3GF+BcREBEr*(f45PL&`c zB!=lTK#&9BqgchBjzK&ipLU~CJl39dq7diz=@`Ua@Qj9*@gDSfLuoA&TcgKAfVV48 zds={p`EyQ4Q!bt{LYl_kGge4bW}fv!nzHbmr)hE0{ah#@GVojwO7JZ8JZO=UWunra zk4W%}v(Hl!)M2k0ilWKnd0$cT*6Tjd${c6zWerdPylN>nh4*TpDC*RGuA(T^R~MK4E zQ=WWYc48RMJ+A`dc=bc;W+t#=7|%Q}#pQU0`&}I4$>?{6(&gO06eyBsfmbw_W~#mC zYp$A>_HKu~@JG!;ncrCoqUzqe(+Ej9oWB7?D5;qt^E+QbRP1}VyCEr+c4!HG_4*Z0 zN%6FKz8jKq`hUypr+AH&Io*WZ>}oO;k#+5K5NhN9h0sE})ta!Y5uy@?~Q`coX2) z_LBzqk^+T)`a0H&0c?bRZzQvEQTgUlwqsVq40hFl204R`RnwB*CGuMKYZhQK1bFVo z)x9fV>341@${2mR0{AORmYpF%Z$CkD#0MHR$!o_;5!v=tt5^2&_b|vysJvuBMLH*# z%Kd5MTR79N1dxzMLkaSM7%^4h>}!By3e=3hpDg(s?1!pC_?-h5wJI(|;%XT_-+>BH z8ra+7an(#1tG9ZK*t*BgMzfg>7WW!737*fEWC>*8%3fsNCX%hgBmlrHoS`ty|*0DqZ%=5&f-@&hBh|N zrj_<>1NbpS(1iLvQMLHEC!UK%zxzxzw2_>pIJ6?a?J#Akk~9>PcrFvfqecHsP>ItU zDFN?#nnUE>~r696irVzib4LKr!cV-{Sc(;1i1N$p-AE4Mfn|p=GKrX{VQ(Y5Joad}a}1j;A<3b?A76 zicY`kg`~68$Pr`5kPn|3BsXSMn(iEb>Jp)qL>9&Gvx57HFSsJb(G~JzFcL$_g^wMQ zG1IaiqR%Q-1xs5GAK=e?LabT@vbK3U`9$Q=>8&HvY3iuYJdic%t)tWYIN(Qu6mj$2 zm=7HippWf|%o+4;I^$IS*k0y?AY{_V{#5!tun0froRoM^;_O!bf#!48ufPsw-q##3 z*H9j-9*%0|C;reWO8q0iVVm45Xp_GKM<2|~ydOmP_+n&)^#Q5Er0h`nz0*w92Rux| z4Typ5d}slU#s&w-TBJT4NT~V<%i{wV@F3laviBE)4`x5%<;NbV+OYZneMkcAolYh@ z@{tq8wSOP^fZ?C0T7o%NU8SD{alUY$vWT`m0T0S3e)%cB%*Q?u_FA^C^8JAa20TR` z**3I41wz^~wLtzP5gJSsFrYsMzz!CA0{M#%ge}Rz1gSrGz}OUH!CnF*%Bt*q>TTwfl0NFv@8e5H zXAi1khY%|maz&Z{Jw!qo4w%X%+M&{zKae1IUISImpM(AQ!dGDm62EtagxIZ6*8u$7 z062&TJ#`*U38F~;Dy8Lo!i@f&NjG@__^_j6jWUb@7+i6YYX01c32`@wQKJe#B`|dG zbGM%kr9Yf3L=!T~zd$tfE-Y3wB!X6j`WFX+y0=yBQ-IYVYC>|L4b50nzqgbejO*ly z*;p3M?;S0|i$*N(fAPSC2YOG5w*PJj1tmyMs}b?PK6vOr2{DToIOzSsQhMPYhWZ>R zWkZcbs(HY__W&QN;Ch1ot|iF;*V*rVVC0{00WeGc-vBV%loLL*|L7@9)PwL%H1;no z&yf%d`I6oBHy4VrHi#({|KWhg4e1p84TyxoGL_hkTNm}H~-hwB2Yh- zmPD>3kpTxx;fg3d%1RJbU|Bd$3|BE=n-Zh~`lknmwj!hayC0Y4#kpx*b0Iwmk%o-Sa}Swx-g z3Eta2QO8N@b*4^nn8z2F%+9YSO*@@5`LdSTdAw`p?kS3o;F+CAS!V883*R^^aeJWl z78CfZNho)-7uw{q0HxE}@3`c+!rsJzDdYl$aR7{c5vIu?P9VGlo|3-UqEHmZ!LZ!v z;0ieoiLv7}#(^<*ilgL$0PVIsSfvmZ_9nPy^9cBSyh~UuTATy#&1M@uA7v?w18#0~ zkYtHL&`Bo_;@+pvXvyCHG#ErrUGuvuu`cdebHsFNpl;sFN!i7N#j~qs=Lr=vx81;3 zTHzO3MK_il?CuSsj;xq=Z4ob@F?CwOw1;`HgA75PMY2DukQjl3k+!>iO51e>GD}zu zC^pZRc>Oi@B)vFAHa*_KJNGh*El*hq{M955!qs|+q{^O0CIrYvFhXzvdGIkk88f>(O%@gNEe9>M++mozhq(e1 zmQ&@6DrB9oT3pgvM+cEV&iIFh%6R4xZ-5Y|_RfA9Iz#H_`6@(AZX(1JQO4i4RES3- z_pc{aP$yYt?qY{pFwJ+8U?Xjd>*0KY-%PO=C)Kmd3X zzRDGhnV6o|GU-k*KS~tqsB`UMr@+X;b@N`eWk<=asx!Y|O;qe%Zbrlui(U9a-E$lY4`GhJNq(2&lY?5X}m=#zgYBSmPlIY6g3yOKU zi&mRQC8=eB$=0&}V<9_igi4ftommc)%p*{tXQyHTH~+L7>sI2Bx_K|T{R94zYqmV^ zsDO__C*GM*}^xv5Ze${r{6+wUxL?>fSX5p=I&!E0*eGZ z_x82RMZjM+6!R^Iiv3aqe7Ger)%6!5;3Eve4%qdR3cBmR=^Uu*mt47Q28?{6Zr;;s z9@brdc*)E?XQ)gZl@?tuMr^V`lZVPnGN2_>b^QsL><;zGH$7s_>~;#GB*19bAC(qZ zBol{h@0eg_G3)G378LU>2mMGZ*zRN?FxB-}mdxEJ*o5(j#WnvSn3QM_@{T2Dr==V| zZny7W2yMqrS_RFaScbg*g>X{Iw2$^w_{XB_X{RB=Kf#ZNf217^|Kx<3yC^A~RJqJv z2G36_2{0P|v6jFh;h%q2%_!<*4wFp|an2@BGtd zS`>%X&3mjM1IBhiOw&np*Ct;Dd{ENNeKVoDc}OKXX^$_Oxh*a=s_Qyc{y98J5~f2; zm4D@!yANWJHg2dGu{tfjY2iP`L_VaV6htTfvTE)gUnJ~6qq%RJ%OTFPQ+=Bga@D=U z$6|9cit_zHFS<*oe(em{IjnBpy^*>6Gnaa-u4LvOG~_;M_bA)U{kH{Whj`-+Gk2-0 zl5$4U%>BR;KR{*fo(M_yP6W=znrHfC5KU2ZV(Zm>V$p`fe`%HOw4 zm=l;Z$n*NhfH1Df+dMV>;$5pj^pz9-ja&Y;0IEvT)ty2Dl4&XY>i^je?jmg$m7sRJ+g7T+Pv~XM-{Kv(cIWk zF*6^~L3;_$C)2^K0?xDOU}hRO0}?2&S77Ng0|$>HkB&-y;-=U|Tkz0f8G6%F z9^4klMEPKS;z0N=us-tWzz54EbxR3@1%IHPkOz0WQvG(YSltIwC9S=IRDTRC)_TN; zWeeqCr?LCr41aI;;zMKNm%94U|3}x&dlaMpbpyxzSCd$eWLCJAR@>vx+Hq#;TCuni zn_pDq%y@QOst!L)|DgvjDlie>zc&X0cQ`X-BcvG|N?@*fdC_ z%86nWn~@~!kU|t|t&;BFf+#lCCb?ruQLGhIs$5fuVpEH3PeGj1R>J!JQB@$#td}{2 z{mY7CR|WfHm;3u;R~q|cS10zzc6s|_mk)qlHh{e=_OmCxzt!L8%LmZiVo~4rTwkV zr~)ew@)Gio2RqCCU1M}%Xa-^BLjom7*t9fZN8(@cM_6-}uyB1MEK>p2_pee^ZaSz` z`3MDJ6%{|Plqw%yR3O`9xuhS#_=k{E*Pd-hF#fV!syx_@V&kgR#!<--6CX%}e?f?e zkHKLAFrwIm3h5s0M6vND#=sGOO1q?)q7LrV~tP&3!OzqjtHXIoepC#FaEIS&D?GgHq?_4?SnISS<-Owf!uOTsSpu= z#JtCWLf_xhQS1(%j2v5xVt0Ck4RfN{U4-@huOG$kAgp|l6Jq$umx6Slu)Fmrlu|Ov zoNJRpE&dgM)b;ZVgdL|KF5%f#mh%-za*NW04Jk#j`ANdQU`MfeMYdOnVhc;a`u;a2 zH$P3-Kaw#yNWh*S#X3o@JggGM=9LKhVls-^j2$1-rH@pk$|t0wa*GO#c~NW*%YD&} zVzUKSjbd$S(mgJSV$%wQ9dCyiPERbt&iA6&TLED^{15|aRdMEz^8gF~qx};de4-9M z3~KN_Di;bhyeGzQ2H-*^?oiOdxML3bA8?ML9h2OFcZd(Pq^`v|6HXfHIvSH`^4ha- z(y+@)^({7-Dww%nRZ@LcK-Af`*|N{VuPw4gD3w8EW>PhBaQO_M{Av%INm#{gEm%X%WKe@=xf%*pm6w(p|rm; zTb}ixWrQqe@WmTG!wln^ErAbKLbDoz^d%$SrQH^^s4YvgCVAsWtz1c)F0@s|Pu7J7 z&ojRI>BMWGRY3x(slM$YtJ|=;<|2EEBJSEGQhhxktH(b-xZq9NiJ2`gqphtGmfP{% z)(maP%$6rBU|HIY&CZDLU2rAs%aACz(US;S-q@XsO0+#gq7ZVA7qVPy;dztMR>Ev~ zA8qwUSpNK1lPhVnX0|*>J8|kgY}3q^M^TG2OQ5iZnk~Kqi-EQ{DKUCT$4QvDz`7X< zR_I5swfNmH{*+c!Xu_V6MCb5ngA5?X78 zyXo}fP&Y{*mq;t(+pV<1BIZDRftJ=*_)!X1RkP)GjEPBU%16S$88+!vh&tK<4|yNY zxjMRHwmjyCtEbs=j|*OrB#-pWmRoFm#5D;DD<&vNPPB=4n1w_J;%l|EN}4StPkhXl z)<;AK8MQK+Eq8-AIZb*;Rn3+gli+a+2ch+w3*w8mv<@O7q6#E=C?xOlVUyb%4C-Ob zEO)uYJJ!Ihg<`nOA<+(QcRIv7qF}b{b;G3%@!7nnfp-i%dpsSkVvtP2iqAHSh`lO4 z{6j03*>YbIdLDRKv&@!0w60bwv*mtR!#ah32Pbi@!pDUy_OsT8pQUg~LM8(7^J-YM zVCA>za2Z1DRY)eu$`_z_myOM8k*MPe$QdLTmbi8B9x))9Ch8wa_)-!-YDNnU25}O< zKSew&F_@~VutIuRT+EjDZ1EFnnBF1zRt3By@lHsaEidA~YAG>Wo`IxVM8GS+YnJ?C z6;y!h2He7Nf!Xr5g}cQTSvlUujEcOd#R5}7loqHu*roMCTIx+GQpPgiX=u}b%y=MEs5n7MgHeX9H&xRvywNo#!HHbYBp*ESDc zUq0@~sqzoO|7V3Hv61fEGLYnu6DM8pn^gG+MRm@}lGXq=587VY^l7TR9ceg3hJim>!ZW~B)(5BY8@2AR_RMc53Np4LHV6%4ZsvW1N$`_VsvQ!am zA4sxh-0tIl2AdAeol0`^K&>Y_o5z2iDsS>=Dpit`eBFA3q5A0H3zO#Isj_RRs|n=i zWN!e;A*)X_s;Tm~@V|qL%I0Ke0LgiP zr}zU%CWbz^b_Z(7P}e!gPu^OT|Ff#D%@BrrWC`@8rLOA`w!$Fn8-cq11B`!(hAzz0 zCPuc*TO70bs0y}67GX37coS6K3VY%-j4;|Jna!sHJ4@<{jg;AZJnWqnkS<;0xE24U zi>kEU5*Wb8!Yjb~LiY!bzHGYo2Vcd~lsFcbO|fZv-M}&KJACG%#oc2ov}wZ@5U9C( zQkphx>O%LaRob+v3*8eijnJmeDw5=B4sF_C30_HKyaR+m0Sc464}@8Tz3;$%glO(Q zwW_e!8N;4%_k=)Tq7h0NHAGk~)ac{hZ<`Z0b#Z_Li zBzCko`1<1U!_dG9;q~O2`_Ua9rTJT~xWUM`XMV=zH{d{Y4FJHr=wZt zCI;Uy{cIY6V$&Mi>JI<;hG%IQi>+>KgM5lH@&lR+#0GhyrwvXrzOW|u9hy+Ywz@ZD zZT6SmJ?uD|m1uL-cYDfv9gKK^5?r7^*c@{-$lVyz1~HCh`oYoU0_? zoqI-#9@fBPAlQ?oNwDZ+O%E_f1iG~+y+J4055o}z@TQA991aP7+b~<+DZ;)*)HYC0 zL+wsWtKAf|d}$;0v_A|GDg3|F(5zdm>EFy_#o1iNX3gX8Q3|i{>W0=3NUDBt*4Bk<%3>@AA#BOVFfpzEX{f{IPC7>4VZICE5PEy zE`Bc!^DZ7e5R_-Od~ApxAHc{;f|ta31Q-5~Kz-_C!3wm=4--dRJ_l3FkE&2Z)F1eo z^_H=6($F8I%0EVAA3C@%6l%R`EGZp%2Urytv~h#T2(=O?jha-4X9O&>Z}K zt-bQdnW^%XzM1PO^3RkiR^Bd*n16MuysKp9{=>%as3x_RQ<_sb{KHiFm#&$+#Kjb0 zYu1v&ppL_?NtJ(r)%zl_7Kd%ED4qNA3QT_28fNYr2DCzh`ND#-H+(Q{b0GIhO;5Gwe+!z%H91-!Fj*2W&|(A>#WRMlCy2Kj zyzNEoQ3!cCU^Ic#q7#g`~jQFs{G%u^4$ckr2543(q?XRTKw)ts(ihVP6=?s(qo>7?t|BKI~o-Yo0~oH zO>RsC7V0~Vd(Q0HRj_hF8Yd*as=&St)|bzjR^J8qu*1BCxUX zbv4U!zViNNOv$_9$N;zZcftd0JmCrre&aFb!?t_Z*i zwblk_H#5G6>9Yc%g!;o z&1S>FDNYF|VV*WP**|3Cdf#lWgVt4Wqrum#DQ?Qg4^uUtSu}G$c5xbOX;y=G?&njF zGMm2w=TRj56E!A1uS1Um^{ugRmel-J4?G`b#?)zsnfpzU>dP~A65Ril14(o{B-7%d zqN_ZjzLqp|mlwmcLUA6p%OKv-C1gL5>T{U-3ap^-GuJY8DtJF}@UssVNuB`;%SGnu zfT-haNLKN~2R>0JAyyPd=6cpU7SxYWo|m!YNeTD@$&$-@K729oixdf>PEMmgN|=XO z@+=Q}9$N5;cZ!Sll4!vp>evDvg(^VLBItc!i3&PtoP-550sU82rT znz=nyEF&eNjwyn2Q+;a}`%;zkc$1)*yOs4I)qj)r5`1*ixP z{n&(=yCID;A&+=p0&h3wj0T&j5+sqbl0(#lG##lU3~O65weW4{n^9K=Ft_z8NiKD>)ymMw=aAFZh*Dd zfX9y3x;q$K+(OR#X6|7d9{QSfo7>#H;OlUsWajQmqpd)*9!QL?=8rd%9-^^9g$b6{vTWi9b&ZTB^23n6>NL0wW+gW?xXtXs2Zrojh zK}Q?BCo#s}u@+iIGj|sfb+4~kzjX^;BY$l+TQ))t5SOJ{cQ~8&^%l`zo|$_DZafeg zyu&@`ONU>API1vG72LPt;W#Qu?>VH(txTB-P<~zejsgvqF_xLT!>emQKTVVwn7Q9t z7%T~*#=e|S^!l|^{q2xaIoi{`c3;}sDX7e=C8a^vr)Ak{0i8U0Dc9j zz9kk>=Ty)fjC3Wmk+tsXUypnVr3BU^Q0opft2;62{jXu9PPPz@kL^#-9r)Dpbj!^B&W0ZrQ8^D!l~>VNXtBqtO&>89jTvU{tpGLdON*E_o!)b{ zzrb(c;blYIGW0a-fneK7UAH65gqeGlv;xh#-#fT=oE;%)N~DXkmE5IH$DE=$eL9A+k4%xR)576)vy~`&K+{X1@*ZpCeXD1zqkeeqrC5 zlg#V}+su803ZG|d*8J+}dzUnt*`09l5~ zhrMBDFM%8Hx^N?8%}H-QW6Xu{Ffenk7G2QtGGwhcOdy<6*bI~TN0=iS9~7O%x;0?i^#}Qwt0RDb>)kXtD$wY_i-9mK7F$C zJ+$zWgWX1jsGcf%K8>^R0#V!2NM0dTp2Adb1uuEPmrGsZ?JStN_e(fq<`%vS-iv7c zngsE-yLjOhy!sMR7X{Em7fcJ2*=Wyye6YtaIpkhXisv8@5Y(Oz#4{575)Z$@dl|d= zEknFXa|Jj4T}Qm32>a^F=rvY-`fEp<*^Qo=d)vk-q@`JVt&P9jevO&^CY;;{){VYq z?eQl5vuT8x-Bf}WGIWchSvR@ozkmL}5KI-FRl)3RXx1KU+4+ZVGP4)Jsi&*_TUN@A zTiv7Tj+kv`zX7d}V6Yszaf5OG@|}~+Y%iRD&jHKT2FuR2pO~kkGvLNPXqCdYt~0V< zYO5k0K3=0Kz>U!0&Hmgm4hGGZ03GV#vWlk-UhmBMc=$LB8npF78U_Q+D*JQRop~!t zk_-mOMriPcp!O%z3rG~S-hoy*)Vk4W@168G5@n$TEu=T04PNKe*RGt4QD{I5ZrtQ( zR@rEFMy){M21t~PvwUB(uD6yrvkpcMi>Mhn4$tXX7c{{tSr;Ng85N3-5DmKP3Q2ZLzqgCc*QQ1#dQ{?U)N z{~iWCGxtY?{7yn^y`ShfBXJhGGKty6#bW}lX1(LBIeh9qOmcAJQ-?qDs|-GF^j?1Y z7HGLskM+Um8CKL!fHrs_-yybXzZb=RH2- z+j!Hf2(1L#GBoQMV?$fZm8f}gqk;=FzGm%nSM=7rkHMFKRsmXpW<6uou3Ym4Gy8v% z2-$;HXz*2MOS%4RGkX=<`mDrXOIC3`?G1ad=htR-7ZO!9pk--;`@BV8JN9R0_WL#x zRYh9~&3ews?<_oQW`7Ac{$S%mQs~C3*6f$bjUO3c`Dn}6TF>}f?_7hnegrrEltc~< z&3e_?@wephX7-10{!cEnLW9pZjh9$EOnQgTJ{obo=4q{$6G!Y`m&d#wnD#NydNE`@ zn^^k(+@oNyN-taE1JWUDUoc_RWUN>JQ!?%2i}<#?p$)#^o&E91@0;0Qp{*oX&%2uS zbTG_0=dWh=O3SnlvEX4svtCHlcg;N%ZQ*^RgB`Fe&3e|DbjB#Wx$}MBw2$(^3Jt#C zw%pK_GqXR3!NaQj5qZ@qFB&T@nRO}B8-Rs*w4p>3?p4U>zpAP7xmBWmoG|SpG5t2A ziTXKW8Cn1@NmS86s?wO?D@6Tw8g5mOl++4+Ku4VOyOZ4b;rEnc34CusY;q-L!vZaHRF4{Fgh?JpRq z^2U;8tt=ez(~-N8VzfLMZS{s)h4dF!t^Ul+UK${57msR%tPPdcA$hQVokk9lsdAUC z4ffi{ed+xFLP83reJsKp8)}WMwv8Byw<#~Ln)X3y#8nBks@p!E2RD9zxQ?>%AXun1 zF@3a~zzR`BHvXPSl{bWK^(05V?_gy91kN9hw#I~7<4Vat9NcGSe_whSM|cBOEF#k+CybS2yvUC~+_(+&2FtIh0hDlk~Z?d?#jr#kqThy8z)oq2#1 z#rggR6z^la@op6nQQRpHL=kLIaF<CKlQv-U0q#WeS@mojQ0F% z3N@dJa`nj0OSOl}tD*9)HuQ=QO)4BWb65ioxj0mShsL?m`yP83Mt7@G^GORHrlJBT zWb4mA?_KmbDd^?k8A4p($%V1wc3uMy9n^dVb(oEF74~?d=iz9yHoaJmrGe?_&?$)E zJ+43tD`csM>jG%4ME&FC-CXbbdCGGZex@RY*d1NK7SakHb+3Ak}dF)DCmvfo?h z<6X@S;M&QnX}U5M9U7II{>A~TkgG@=QQ#?3GCFig>f{~vJ5JTD#JToHZCsg-4qcVr z=li2^dAlWx>P3M=OVOdrif1mGd?cEB1}y~zj*4@QNm+aMYOm@x!oz*6nx^4}DA%Rg zVK??!fpgh#zKC-r<3okyX%v{=`{lC`*!TFz1+LNQsK86I6FOZEz3wZZdeg{NiVls;%pH6@+{k&T zC^$bh6CE0sJ@SBkXREqZU0$kbX(D3AN*LfUq2oJZ)AXj{7L~^&I_uZ)K@<|*D zFbK_1Z0(H6u+QMs2+4q$%~`nO#|f2x?*Vd6^U%NoD!PdWDV zp_GD#d-N}*e9R5kxtS@qQy1;uky6lblK!QX4_Pgw+_v_ZhV_(!hO6|iPKni5SU+`F zV3xVf?A&X`#eE_AP;XM7TQ@Smb zxz(;q$G%P}=ypL;KGKq(?dNqp{v%F#bxBe_*ixD8>VNF@J5D(>O4;bNaQ4KAj5J!>c%OTr6pxx zw~%tHjyoK?gj3#~m6U(-TS(ddoJaNvBUwA4b^miqezrSm@Ls2LnG2&b-)|{pV(5Ey zVaf#sIr}@YpD)`{eUAJ2lC@ms+JOFTkNA8qE;CNK&5%)-AH*rw*pl)cDm5c-HW=d+?uyS`ngQ39k~=hMHGGLvp0Wn%x@E9)r* z4YMU>_c-M#B`I^q4%R6Ta>|<>NqIskDl<;G!>}i;+c~9|m6Sb_Eu`H3fDzNja?0Bs zNjV|YLdxxC9dpTIPPw`yDNk-G<+l6oH0kOvWkl37+d`S!T(U#YuQ=uHMJcmKv4xZ! z&hOvhCr)`oASq93DdpB37S2?h(z7IG_mXe4(ShrK%IkZG$;&h z`d_m3DTOu+2}wOPf$xF)q}wrA`^G|5p#PUY3KlvE z7P^(_L}Vwz#xcAj*;#3DZ8h#H;7_;4f?l}i}@Xp5DqM?LY?r=o^C$114hhKjWgs^j(*4l8D zW2Ydf{Z&zTyCY_Q>ys-6?;Ka5KsE~Rb>KZNvgxX$MLfCAX-UU1OLf)LXIpp@dg7Vu z?vf3>SST(VGSSy|%Xxo{c@KG}Q$OT61TmWpV>aULUIHP?;+Q?rVSQQAL!c<>%Wd>% z)P*kY9NAHMKW%T|N`i7lSzsbiPg`|fA zvsjLKT*i#vV?0{7A)Qi9iC33#^d5%De%}|&RFURt$b$%zFEhvK+NaBhuDROdU39`> z!m!}lZcwQvtRt>Pj_AV*Twr(-nh?sRbhT+UKTbrLn}X(BLp5AJ=S}48+;#BtPKX%o znpT5p9-7K2S)|T)J=#;Znt~Nt94S>m{iUH40ZmiS#gYQDpBf1WL!3`lWO8C|#M^8_30CG59 zkk-qq_0?GA&d(4MoyE|C!t3hFX}J{P&J$%qkPx` z%8y=zGN$j9_oAFGUC*5yl!x5F0e@0}JG`gdAQYAoP;h{_3FqXw7J@Parn#K;|F}>%syh~o4-ZE_$RT$Q+6v7qa>&_PUav|cDfsEq`fxg*-YZvUpsC2* zIYl-~$YHWFSMQ2V7ez~7b5smvmXNzUMTL?LA*bgyD?;vXL8Md72Q&VRqByntlmX_ ziGua$lOW}&T*LW$P|q}ZPDXZ~{$KvcM$VgmWUJnmNXtGtIXO>r(-j(h8Ee$_R_9nG z#+!{#RA@9Hg&~C#R%os-+RL||bl-z-f3aX(>$68Cl?IN0x$=p*vLiV z?M&#_H!U`;QEfN4KR8N9nEI8O9L=Lsfua#++jFORWYd_Kkgve}I_@&YouYTC#!Iko zCgS$Q8r3H;lCTByRGXHf3+DL&t>YH3GqN<_PvTBtA4a~|Y0Rk;tf*xzO&XX8;oUtethe<%;4YU)drSF2K&3inFJ z+fqdy>+)X7eF}Q)fd3fVx!3O0=SbvK=m_nQ40TQ+0I4nN>|_(&QwzM_>n{Nv8)(zB zC)p~x7P0sh;=fmxjx{(KPFN_FsdZtxgF7QMhDGXK!g>=C>!p8UmJQIIV23K~ihi;0DPkni>BzZ~wgf3F!pX0F2z(29m&>b1SS6GUP zKfvP*f{)pt+@K8EH2xVeer>i*^^bbC=K|!!i|VhG%JI+4(lRAczkf6J(`ggGHeuqY zeR|K495V2+<|%h(mW?KU{{q_#eCwABcW3-`S`Kb;AOWjSCS8XVYx=FqT-qm_#vhoC z)Ne?)iGSM3M?Qv}$JaFZnR5I=0j;+Z{Ij5Ntp3?a6CdmSjNm`l#=DS7a>&5H4Y52Z zV55nDmd7>&|JYX#p2zrShozY6pIwqd82{ct<<7Oqrt$liBK-dUL)&+cqURMS)HFRM z9dy+8ZHpF;3I5rxiGQAD;`hR_xb062=zUdk$iTnL!+6bNqltgE%Qgf5h+XQJG5&dB z1{1$mm_dSnBk(5%REWl}kJYblTm1pukNY=rVta&VQswH8P0X6_-oO9j7_o8#K+1iozTGF=7S4IGyZr-4sOB!aqwRh+62GgsN7WjJ@g$U{IlY)O0G>wCQShKc&MKkp$rRlw6a>&46l~uV5 zOKddpuL{^^;Gh2d$gdcGSXvHlaRmPgmu-T-!BV+NIvodpCc>{PwTVA;7wZrdhb=W8 z_RH}v#|UJPsO?``H1Q{=O!Y5Jn(9yT>D_8}Qd*M!NWkSD8%_L6i)=ISCx5i}9LArV zl7m|u!M`xcHo?Ee1HMl-;A5e;C0moX@@a&_x4V2OGMog_gL3L&@cs=)L?3OL)K`>f z(M{MCbE6!SdT2mfAfQxJ^o7u7n9oL&dbGthgSy{edtt#=4p)dPN^)?EBh;hte^jzi zUyrVIXh1ei{e=^Xjsh)H^d9LJMmuM3I-HvP$u&*CO_bx0g3R$~XRK%9kI_{l_>*xg z?(xPKX=4X+$cTBmof}nTqlrJ(W1E40@K?L+g7w0vuQ9$H+~NrSWRGovzpA8i<8{G| zkI&SA`m8iwNA%mouYGDRIocDq?oK)Wl?8LObER$K55ciF9Kj!&F!9HgFux6Vo8i-F z=gI;bP5diuwi)<4em%7v;|~clm>oU^tEv7Cj>?TIk&W@~7~g3Ve`Jrth9T!EHBE0+ zT<*uAA;+Vg;g*R%GHv2t)eL_OZarUh$RR_08tsfrveCpJZn4e4ul;o_)?$hWl_b5T(|kH@+r$OIY#|Jd2*of)cc%fT&<;AcXc1pf_1TuIyn{xtq4 zhWc%{{h6=!U5}i-ak=-)gFk}+k4HO0Gba8eDHDH!W#UiBVmB2VrJCx~XeU!(qpAMT z4BHI+A*+r%f$=X%$-ym-;7_pFCipknDmNiZHjTf{-?24bxKNZ-UC5t#T6+WxnpyQa!!eC9Qk&%O29Km;7wh8`9gw>@us_`*bQiw127A|!y z-rb*h{D9Mt0b5%>mMy0qomF_PJX9z*5uCB;m*MW7F83Q;c#|8BlyQ?^9?&}41peY4 zkKR$wjn1;s6n$a@7Tw+V`t`6E_;P=l%^AY;==;0jQ6YLRp>A`aa?1ls2hp*BwfH|! zcNjJDd1Sz*A&*w{^HWNg9E?V`*EXY`iIHtgy`Y)aD{yRIpZqYWYiyO9QevY?eQhQ6 z$>;Bg@4e9=XJ(o+nA8hgDTJx-M|G~y=`?lU?EgSLbnpIjGkY4wHWgZ5W7CELqV*Eg zL9F$%tVw+xqCeJpMuyg5vu_gNv^zoW8e1HWBYa7i(1`HEU#bs>cFVGy!KA*N;O2MmqT-Iz(!N_t9`Z^`0cy*d=ooF6jbh7I)+lrvCTY-ZQQ{1 zyEwV4(`3{5xXugy*kqgdCw?_zC*;Jwf`3St<6jH>&s|Y}Ie=sJ=b>%mxlz9@4&l$W zP5i~c-`+y0CjL?+yEb5>iNBmonlNhVV?H_{U;vj=of>-*e6_D6!Fi8ae80C`LWk@(dpofU8k6E}5zWjItwu*KpDb z70>>p6O9UMYnop3LI6B~W`LQ{?G0Rn7+{gb-P9I`bX$-l6~oZUEp%wlFO*{j>I5Hs ztKMJIz&3+_ zo0q5H-7b=ImM0mg`_=oR=9cJ^tFlfqSi><_%dD5|K7DVLJ^&9M3+1{laq$?dAl=cz zqRDz)$_&#P0rrMWv6s>1$8uC|i7T$h?Qvm|Z3gSM6DNGgtk;F5h^|Xf$c%t8RA3Zw|gAYYP^>|Kcm$PP5*vTpyZcMjK);W&Jn)PUZS@OuxwJ}h+Y~*^( zI^E)g25a9#=VEUK(sho*2ZeQB0fl&EtI9gvj#-`7SjWEAoi1e!7*NVpHj3f7h+1r@ z7RK=PXp=?^H`8@~iZ;w8j||p_(A4G@*l5P^^$yz%)&|$vKaAn1ayW*U7SX3`TXj|| zVx81#3{To{2;DLa#Iqr*T-Vu%VeDZSvd%7zpL6A4#%RWu0WO`mO0Y<((rtd!_x}1r7?RMu{LH@Znkzadh(_FrlmF~G+66**=`)OPA&35iQ$=O2-6B=tICQe zj?!MoTdlDkcFK_BQ4n^b{aruQ{jN#2CjA48>n!36f zwi&GFFYkbtTdBQH&q@Z?b$M3hHYLecm336idPS?O-8(i=drf12;FZVlG$^?-5Y{nhM;i^wpB?)$z+2=Fs>NFpe7+#JFyEQ|$>a2-~wQtZG>p|n}n^4f%HBE0-wAb~P-YGL=y|Y<+ zy}8*~ViU%@Z>HGGh&5MGx%CzsP1ZYYwi&Fm`?sIWtT%g-fpxt)gBW(nR-HAD;hs)w ztcUM@GQ9{YclIt?Ihn)>DR{Anfk@Rt4+Yg5KCO)O9m{#n;z0 zNt1PBiZ3Z68d!B=W&cmXbioR(RS}68XmGU=3m$2Pz(Wy|}fT%fm<4O!PT zW4+rkb-fF>ZGX|VZ?HBdR4x~}9*+^%xQt`44hpcaMzh}S@Ile_Iv@OGs;;Z;My$5g znyxc1--FiFTu{^WLaLnAbHM6}u6GwrUDr3ezTT0fZ#$4j25VDV?%S#_tJHJ72?c7=6i z(qz3kW$Jocnm$%R9!0F!rRQq+S^=I^eAF&0p8f`YI-m3;64s%qO0khuFBnGk#}*g+Z&>IMYb8(?LIhkSH|Ax z@j*dc2*i7}t*VN(sYt~Z5s&EGa~KL8g89Lq0x_%i>JB@gbpW1^89|13;lIEbHk z;D)^EtZ+iKUyBiY{M?4+DCpvvreZ}0l=rc7Xh!Jn)y+^Mb{#q(?4S`w>?(&|FC>qm zh{cY+p33EYHX2;X%e#k@O82JZ;1&myK(s4IZe3J4%sM}f(Ik$x!g^^+I@_j8!?i5^ zUi4a+R2sK@ho@1{P)wjDLtUd8z*`*J)KOU1+BDNEbSqu@q67J0%m7{sx?3DJ8g#>c zJsle)?^nS1!RCV!n45gGQI~90RXaNqkzA4v`@u-%>_TUC-vk`akhXpJQCO-H%_ zUQ*NaVy0Y^8w#{#rjXp4FiCFnv2fHS9}JSY2@FvSY&1v?J$BchnB-PEh8#k&)z$W}Eu=CW=7jDjvz^$Qc_nmhtc{+<+) z-+?P8d9p-bBSB7sq;6_ftz}Jq7h(!Y-cq?IOH@i#5+{zXOIp=r?BKnh zKtY$O`fHtXlILvNKUGK`%$OukgYvoz`4DSD8?NS_v)O29GUfOSZ(@=M!yH0#d!TYp z7brtjl1mCvbX}HhExLMrf2E6phO7FkD_VS0lD2z|NCK1OdHkARPI65~<(iV@ShJzg zl!gNbh9m(W6q5Trm3v;>s*((gNt{+SIe3S`FQW7js(xa&T$5)(@gfU zk_QU3nXYK^0Aej}C(q&7Z0&;)U2_pE4;0v0Bf8p8uf32-9m#g|~ta6g367BsfBu_UZc?gH4Tja#=iNYq9g)=70leF5n7uSrtL`h)wUv2*4A~?k0Ydp|@$+9SJJh zRV??2%|-)Y$TQnxw^|x%Kat{t48Skf{3b)TssK(g8gsS?aA@!8?;!su^i-vC1)jo< zZ5K}f?sLuCp=Yx6ZZ7@Bv83OLeac~@0nqFFq1fP%0Pb`7peV4cfU8HAY*hh9ms$td zv+49@$bY4(ALo?={NCb^=I}82K7H#G)?M!T1bwZD-3b-YU)jn1-eRKxQ1i^0SOcX2 zN_Dw&|go= z{nlfn0dT~y^S)+)CYKLN2;FA`AVapQ3iK?r4$wZc??U9iO4W}~l>`*O>r)#5SzqNIwaA}lmxyui?EForK#~uN0(T&T?~|=6K#x@G0B1}*xe58lsQO72 zz0hL;7EeYBGZ{BHbP4AAIt4gnzI#uVAA0-Ts>9pJ3f zxBmk9#{!^Gu0X+}?Fc1=ev>c(p702cP8|X0{R?vii;V`r_@x(P15;`PzoBEuApk`D zgh#e20N8LPUSiNJ}3Y;Csgk7G})>Hw6VxzY>&My&TU9%wj16s-Z zKAk!WGVC#mDo34aqXDqro@3u+fZsWMP=aikt#W_x$W|5LDLWiCVQb8wwPDlr5$8=o zK@(N|*b0*S9sc$Z_qb2GW^?&XK%1VB4>1XStSEQC!$yN-=&&oW4==U%CtW@$Br5{+ z0Rh>nl00ZdB#-zZNsD23$gjh1KtYpK{baj5?CwV}P4#3}?2(QP6p0Xq0M0JICoO`O#8PfE=5>ZBEw@DvQ=fpjUGSK#->@V&O^7G zz4wnOXtJtbRKfaSg1!nRtiMNti&@`o)?>Vj9^>PHJc?NHg&s&kg9tK86C>8&XW3@3 zZnZ=Aa5VXDQZj^7UcSn`>yoW1>r;lVc5AxMcsB793YwzoCuGWXeJewo?Fj3OC6o2T zjH&BuXn8MtEJjucl3aKSPzzLSLH!d>D{F z&Bkpoupf{;60*rkSu}}AGuUYRgyn?5y>k- zYb2-jy_DL`3}})l*W?xS5w9kMLhMN@{-#c$X6b8y$6EGPNY;|~S$2JWbvZvkI+tD37wAG$>{}^ z`_v=Hn)O{rZ|HOqle`u1K_R&|3-l7%s*<4H$*ADvR@=$QkLrFvL3368f{N&R$>EO| zGRbSrG%2F*+TtLmsY#DO*5j>lj8WRgGH%}8)P`Fnsam3zlyqoK*Lv!{lui2i8v zLD6IuqU%pS*{YJfXhkHiS*?*AxMt)bC}^RoALEp3@}|XKA!U+c$t3w>f%aP^9}JR| zrE+gtY&1xwY%}i~)}&bCgF>=6P`N)A$X1o)RXZYiwbkhAGOFe+6m$(nD^@v4P~eZI zGRfD#;&%n55O{I^@|S z{)K`Tsd_hAPVzD|d8VK%H-Vd|gh}#BKsx}F4+hDph_06{HX54j^7X#>I1cr~RB4n$ zNana0at36pPU1%-MYpx+npqn9JPNuNQ&L_z$tMZ^?ksEas&A6KVPjE9d35#5s@x~! z7o0UnPJOQd-+3aESA9MxBnx1B!zNo*65N`~HU7m`NzPle*VQO!v8tbuE+=^%ebTBxH2G%<>tWO6gP}>Sr*f}{cm_$sxH0&850QLG84OKap#QT(wyGo;GYCo1X-$)P z%ZDF^g04f~l`SXvE=8a2mFW64V`}mXH2FmPV35=ySiVb5k=e2!o9IabhEe#)3@tiG}F z=prCTqKOG?vRYIqf{i@8!E3BO4{e56dpKNL)Wf4a2cB)b!eTGO;Cjp$FZ z(EzaiRr?A9{175bkQE@~KV8aD72u;7pv55D=g_g=A^$Q}KU=OQQILHGfZ4vxetlmw zgY1`PIRCL|S4?um2(sHOmHRBjF@x;;A}2HuyDl1r1#gqk$bKn9+>lkd|5%ivD&mJh z6l5(Tp4xQczR15Eh=uZY^ci%ZPv!FSf>K~2{s^det>R}T{Bp^W2vO0Oc5|PFMia3V za6$udyQh-45E0^!79W%_oQ5|0S&3{_5%DlUCiq%Jyl9o)n01A!pX-z({wIs2d6ppl zBi#%U$6~~9FxL6jW9Opfm=D?zAj?J*@gHfn8HiKcUxfKujTmLxf4dM>xoz#iLul9P#U?fxkF;u)7qI{hs?_`>mw+8eh%b6AEWW%fIb;#?uf&tNRC#as51;nb z)}A0-{?!cX2b=bOrc+0~VNFvGy8XjvqXBT@BNHtK_?OEE1>jzk`-4rkssNuktpn`; zc{`d&TZJ&J=na2P^G0Vp4EoM9r)j?o=%dth>Ii`ME&DmmMg!o0F=yPv)3o1td{Ela zbYJDZ49Hd$;FCDWT2x^2;!`g~{u{7_tU`gWabIwtEeiY!m*eG1e=lOp&|Coq__{>? zGz+0Uw(HxE0e%hmpeV3{La0c#ssNwbtt)Vd*JBCt->B*{>GBZz7B>K2x&lyYHt6{^ zf$8OdP8}&w)3hX|a^G5PG!(FE`wZYgPbtF(1z?7ya=((PI>2A8)&XYE?KuMZZvsHY zh@b=~zqSP6D+E+LTlU{H!O^Kr08iz#0L>NHarM6V4sQ;0U!^&R01)wiwXLcGnEsKj zxWy2voj#jxYF1U8#wWmwk=>NeB zdr60*k^UA{e~VM*MLvy!QrFCO(2lCe>|XtH4Q$fmvMmu$N(dcHT| zETmtn>Nix>#eaSJ8mZL9UoC~Nky7EY7j^ff(I$L0iWd(;CA4JxX)k&g+VN(MJB}u~F&*eQJJ>4B2#C^!gtZ89iX%9!P(O zs$W+go%s$p?=~gzVizc~1C?!hkuNDEW21PHcU68DU1{2jOXDTJBTC_n!8bvbO6i#G zN;h;Knyd_A&>QQHBi{kn`~`kZ)0s(h9QmyZ*zn8=H)_xCnWhg8i>uqvuh1)G|HeXw zx_nY08M(SOf`^K%X}ZOO`vKW#=&1{??Ove5*(OMvGb+E0&a07zmBL97d|SHM7SgC6 z^{4;tRQ0Q~q0SM~0UqtJD@fboSB$ik4G4Iu!#uycMW1M9uOg&-i*VH@V~n%`k$8Yd zw&qCNhBiUU0eyFi(rKg-@sjf4ZK~A!4;{`y#`UWHdKuLoHAmVy%Qiu}$5;7wNwR6A;c?(ymT60+ zUYT94L&m#Qy=RrHv{Qn1!4{<5Y!j(HkhXCJX&1EHb~brnAT3X+eETw_je*M36|x*@ zH=AvObSDCD7msWj>5@3`oHkYJ_`z1EBjW~Dze<{Rq|%O1X&P?4xh=JGO{6`2ASDH9 z2ZUildv72ug zQ@}PsT8rw~T^GoKmx_>vwHbJsLq~K+X`592ieh=-wRh;-1A?@(ZzAo8mi4PANZUK~ zJ$v>l>K<-^`#Wm4Vx-&QYI}zhnn*kQY!jrF1(n}kr_)H|3lY-zVyIHp(O+Wp9EH;E zR`oZe%C2nrz0g8-^u_I+(+Dno7URmc38&u6LjjOS+_@R*?3^Z>c4u5%!(*i#RCVXj z_2auD<7QQVn*@zq%kxRp@GpV5)2@VCwCOB{J9i*nlMWlj9S=3zu0%HN&csYqI}_V< z=dv-ozJ!eTpmxfy`}tjyD!rE@?i`SUa~VFfcwBc^3Ne{vqquWBYUh9y*;uS>S}h zF1F=P;-l@UcJ9TME+}_r|FjzPpXh3~ZAzv0)FENGa~o=6|8#SAZZE3*wy{`~W3e*X zw%j@F)on+kwEI;3l8V^b4zaUm)NSvbRD=HO@|mO9xz$to?UK#ixgk*by|qo(&ZO9# zNvXEn*=O-q*Q2!iReiQpUOOEND!p6OvbHO!bO(>m9JzBR#OhdJqlo2MaIr)-?at&v zBvz)-mOFhvQnQfp0ad@WB9!-bReG1A#Ljm3wRM`$9JzC&kD74VDDK=s?r58KXJTAC z6WffPS#R{Gr}qU6DGKGavnw3fJ&K*}i)iR{Vl$MNduZq`8^xV0VrTmz*|a;EWK=to z+Z1c$E<@%a(Fr4G8ZY3S{HjiQO5O zY)h=cr_cTz86Q&h*Cor{*$oct?21@>mk`QHK6B*Goq@{lrcWJTByLSXz*6MS$YNAG zSG6ft!>uRLooOR3!*;nl`&zVfs<@LZB6j>TcW!f4eqW1?QakH>TsVqk)3q}u6S;Fm zo9e>73m*_MqYWP?3X};a>R@MF*f;+PlX#^tVadxM>ZJ6i;YF}h(6hLrSy(& z*Q?(sXKqj5g7lB5`kSo^FEY3(4aAFsAkDVA#tkoSOv8(?g2aoP5Ge=ggxZU~NvVtK zUQBvy(kJlZQA}N=%e^=%i7$+##ETQt@F_fD6t7uF<&R1dcU%{13MzkMnrzw&JKeSy z!=C6g66qgP^()e&1gYqJ*A!Y!i3&IB;)aCEclFpPb#b=^TZ(M(LiKyq4Z~FR zd&O?65qCM|hyWQM$1O%hBet@16E2l<9HiMf<3NR{VZJ_eU70IUEdE1WM zc~#aMRE^iJBc?oyj8CZgwH39~sYEx>;!gJr+$qsnjM|}F;!dGaYG;kD^4&9(P`mS9 z?9MA~x^v#S?ax5QCsqBjM7dajPW$vtSRsINz5^8r|u_AX~ zaodWW-Bw-n9Wp+RE-qVMJBL7?L{Z#1+(CzD(^(96=r-~YElk{?HoOr_Zv^#IQQSH2z zXv-aEfHN5xe}j3sik5XqKsS5h&cOxT+m^dSw{M38bn3Wv?tty!0@>J|xOU#P*q!RV z-&LuBGmz0&^|w~k&QUG~p02pl8Sd=i(OHbzSsI}CbJ-}hvmUk6Id-QQM78s7C{}fM zCaxK|9ZLHxT2@8u9Ejn<_mMk?p&R@@$!CuGofS!yKd{u?omE+tKP*KyT|4hMkvs3S z>COeG?9(3^pH=lYWy)jcD7f>TFSTP?^lc74bL7q{3$;_`&e{aJMvD@1C?_I!-U!+f zYsQ9YFCgRZ(9jFz?i^ph?kFX3=Q!N{mh@Q+v6exY;|p}^ICk#x&?`G+)9$;2={p}TE9g1PhKQdA~hZpH9LVV^(tZN|5p*|bMorx**J31kYY4BAz2K2Pn%-R8aITl z=&z{y^-j4vT{2iuX^T5Yrr}Ol5mCQ01!8r{(5d6tneV9lk!iBAJ6_~Yp-p$j-9NY% z8DE7vrE+&V+xT!u5V_+clFHp#-%k7%RD}&SKo^Uh@dP~*+nh8C@)0l5v+*s!oRv5hxoxZW?*MUhj2rG2^{ngRG zT-uTyp8?C#ufEW5Z3*R|(y$Pevg>b(qX;&Jh14FErh>#qMb$K|pu%0TeGHrVM~~*{ zBsEP<-7CH5Pf^RSmoNAz`HGAn3Hp6T({Pv??WpC%M?2Fc3utrqrO{`ofzo(8mbK6@&L^ z4+?~;2=88j%GWxaFf6#X!BY8?T(PmDy=;{qm|~kK`Vi8k3uM#0lVaYCU(Wlp7x8X; z%&eD@=RMW1t+dgI_asDV9Kp4q--zJTGUU&NhHG8n9gw9Dfe3GXhCZr6u0*`tVoxfu zQF!+#fVU_%*0&36=Xzoz-kPR4NtGXvWt;FeW>mgDLpIHe`*B)GNPW_j3VjXUNzZM) z2lBkH8ny|_^*tkL@(!>}-k#7f<~_@zkM{`g*$Mg(4!hT^hdLuPn!E!nPAK{kZ_k3* zn0Kk8@@IwVBHlpd&!%KyJo^!Erh?aq=U(IXrQ6L9RKxDlVk3P|0pW66;<OqV`#M6N{os@fxpDu0T_M&YG4-8(Hd*0&*xc9{|z$1}C*v$AXp zE49`_9h~WsP3zmojd*RRJf6REqj)}lKsTgMe5e`{6}$tRU31O=#Rl}j%v)#Er!j=L zAL`;xSM)vEp^r|GD-kcp^FWV{!rM8C-q#fy6KXKVZDgHxdM7= zQn_mSt%s$ti3d9&^9o6Yt#3twsqMAox2YS2xn3++(;BsB03qGo$4>f#xj zTq%>ax6ekAb$>{Bnk6>o?P8-jX2eFthP{*JybWoS_iU&}mtEHP6m-OY@r1Xptp>f4l`!s=P=lVg z*u7@mR70AL!b{Ee>_BW(a81)ZXn9IjY^-k|4}&I~Z4s{zeaS@ns(v51m0|onz{4<} z^-@DOB>h-5>{u$tJSR=B)kzrlDVkwyC-K5VMlc(EeD|~@n6^v%tdR$itg0@PQTcP4 zVR9JvDRM&Tjdw4qyqy#qV|Gibe1p$6!R&1zol7>2`G^(vPO9IdLAk8|j(K;x_}Cwi zCr}N$NwbYc#CC}`857@2+zLgT zHPq8H=J@IK0HJD$qWvgkS`@u3MIR6(R}9`|HWc;QD7-X&Iz1ycU3Im#4_hEMZm8Fn z(Es{uonKUg?(hX{jI9Q(ObgiM0Q(&H0Y~%Qn$(p{w#2*kl7H zIv%T1zkekn%*#5By%$M8#f_U?uHOX(HE0vS_||lI2@MeiYH#wR(MUheh<=x*>BVO{ zXB3#Kwi`K8V58{Q66(iVj z8L?FdTa#A#3n>}*FvuYz_zdE)c@Oi08xbB|yTfMW`CK*ZlM1E7)Wf$fRL_q9;Z3#> zUR5-s@Inx7Mk<3z)$X6AOl%aU!&BfaijA1eKf3>}#)J>sWWc1^sj)TnYM~b?#bRwe zZc;~-{RM6|1x4CN{$kg>99$UCj(#H6<&cgp4!SkuFGXh=UmPwjsXS&{`QmV~ z%SOh;cCRJ48i$fjd5XrWIj`H^BWn+gs&*$}k)KMp6_z&*iRDdy^lY#Ae@V!Mp-7`EhiWA8cVK0dgS5RJFa}>M)y) zq9%2x=ec5I%z7KmF)21(i?xG1mA`^aC{X&8^$w!jA{#fopt4UfFgq+A(GE$!R1JGN z<(MOiYS2??Y}}_@k-@Yipc!*y0pqf4gc+b&MpuYYX*FnuO&&yQs@nb;1Z|Oxf;ljN z`x&t@=2>umWI=3~(KK~q!gRWvlE5zR%~t$5Ch0`wxE6NdFydth4S zhdN?o%-%>hDoiJsUJ4gceGgv6B(ub?|&lfsG>M!LG^=39CW~X+VCyBk73H{F8W9wKS(R z#G_-Ha9Z4>PDX2N-lG~f8_CHB)5Y*>)v&V=M%~bGbVKnR(9oh9bfY7IdtMUTc7c}_ z9cimU54)o1=p@Y_kSkH(@`!u5%SPcnqyY7bVxz#-Uu({vmlPW-+9QKtw%Hb*q_!c8 zOQ=q#c_%y36=X^U?+;!S!TT>6vMmbwyK3lA(d~|Q`Sy_;Y6gnloDkk|0n;<@umVQm zmhg^C&>SwiCzV%AH;$uSHVSXYq{?SfV&jHNbucav8}lCHpf3vx6y5fe6Xq&^NtWh2 z$(1sF$EVpSyayohc_pzi?_L=cV2O=*F;9|J`SCv6gqP+%FTv@;{`b#rWykbSE0T5V zZ;p5pNx#LMNVXg^?#y1HpcAa!xo5*Wu?K<^+?qL3S%{ZVZ* zwM_@@BVGk&|AZZ3_UnAY2;~1KrlGA+&1ld*-)g3&WsYW-rf8RIK65k0=38tO6dI+@ zifn{p{(PEpbWWqit#edo39i^kBlAzj19}gq{9KQY z=}<%#xx*TRhSq#M@TC=r)wyZ#0Oa`r_mCAG>HI8h3n_$?Y%?a8fS0b8I%x9qO4y(+ zipd2yc2kHJ#pJZ2%FoY|e=@@3n4DybjboConM=r|({W6mg1qxeY?GMmVxz~>>6q7w zc&~EGd5wYlNk`9p8@YbO6Z48Tcs;Iqe-DJ$b!f9cX@hgpJcGr&6CHfkw;*kBc810g z>|Vr6dyo_7US@fx=5;iG^uO$Gow=6D#!nGUl!M)1a%7=Vy%f{BquTuE~3C zGkqr(&GFvsz?@B(Z!Br0=}YXzF{d!wIGR(s*xTQEbe6IP{$zuuXWoAl)3F zY?>F(C8YhH;+DtrPkyBDInMSpzWqNu1C!1+>Y=U$(>h#5xQCh!4cGV*&r?8ndmxHl zY7enh{@TcMT}bWWp2|-zaY7+H)Kd8=f!K)9{F5F^)pkx|=;P5bO*pKD zuJ;E!0z0Bd|ItYLFV)cADHn1AE{}gl=fhx2J?^Hs>z$s2bV=!$7P)FrE^4TYPz8QK z9z>WmP176%Uy_X?Bz0CxJ+X1%?u&HOqjW6f(GYTx%jrbO{sC;diZtfX7BGK;qG9{o z>&N6u`!P`W54rzFgKkSQ7Z5V*wTRPe@6 zVkc+m6WerhLo9j{FokR|idfhAuw}%?Vo?j5>Wi%!A=Uz=L71g|c424Ty|uP)FsZvk6j(*RGJ-(3)LQ|NCb-2+LL-|Uei5}c}z zmVmD=h>gMMCTfK(wrbMx(}lYnN~gg-ZlNdnB@uz`dv0nseddO(+;XrDK$+$W*lj?G z?-g&hOt4#v^rV2!X(+a~r1Bdg2;J-IyTjXTP8ima9>3mfiLE+VXOwqqkIS$-wBJ*%*tserA+b%6p?S9AX6EPoV@{80H#0euEd^t%a| zFNZ{teubjS-<}os36rO>)+NP81?!Kep>VNL@ik2t3*!`QlPkfgu-#N78!&4c$HbTP z%OP9y&gDlx;yr8?zI~f$*B;B3(jjkjNtl*0uY5PUW@B3prd26+A!4Gd+qBRaR+E0D zcB9J)xw7d0<*&8IrfO-px;$nY7k4M)y>h1Sorr1f=Y0!c+6oWDv*j9k=s@Dzj7_*e z(2X!_==prp!5ZF;U!S<5;X2UYs(5wHFW&SP&MX{=RUX1l{m}Rs$mDaybZ1l%+co^8FRF~DTDQA83DT^ z0a=rDP6Ld_n=1o03K%(jM@DSA#%lNR02|o|%>0W-V>Fz(LmwirCM=GqScCMX8|l}< zK59R>(?K=tB%MnbVh9I^Hqn$exIT#%Srq+N6!_bgtlw(eyx-4Sctq)u3lXNOo9Qt4c$>)8pvnhIl)g-usU9H_MV(VHL2aQG_mma(5NQeZCmZ zuvGre2#F(fD6? zV;f^0;i&vAX|{=)hXv@DL`~K2Q@2u0W72Kg8*2%3CpB^I?0EOfhENR7>TX0S6rKX4t(bdTF$CPl=7p%af{)+hSu`2T&b^nZx4sDDbH?rxV`2GAjSDwt-jm zL&+6`0z=lzCib`ln7aToTaNi8qX`>}JEvtU{>>-(jJg zK3X#4^)ZLG+L3sD43Yi2BzX{FVvlvW|BTDVu*kZJKz}r{#qs)RNz!q=-UNjobJ!-B zy$Y}u$)+(s@hUNYjxkfm^jQmcc2@(ht5EY9G_M%5fL}4@ZyXczaqMOhV>TsdWh;9X zHA{^dvYVKN$QEP%#^KCitFI%>#|vx|%s#NuD|TVCoajc)azaJ3{LYGGJ-q8a4}*6P zHE@AfE^7h3?cWn3>jQ{h>U*_Y`3Epopogp+z4s)k0gJ2;6=*d*yB9T5x|c4L*vLg< z_PD6>52VCK1#=JlfG0MNUTWa?B-s}6A|xIvkWI__m>=@0evg5!`TW3tgNS!#y4z3S z-4m^~81hElP_Ae$%6bO$?^?o}$F=6;h_HYVe<8yTMT9E?mCqH~D1V_Jx^eY4Rhgir%x0^fzV0&ShP$6Vf#_V771+#y>*TS=# zNXYvTs__v1z6?F*AP=JUS<^&fG==PfNxf~pzzM?|t35cW^7mR|({ZAQ@b{6)=!WPC z$bGszE#%+aO3a`ANWX(RO&fyTd#i!V{PK9cFTkT>N8Nb+FZ$i@E36Ncczw{J zMUi1B<#xldYi;%_QuFo%+zQwzn6shg{b{kWnj15)`C{XEUGL!X>adMZQqz>jR_MFw zbXv_}EvWgk8)43w+2cB3?xO}SPnTil4$MN$Oo*8~3csS&4!L73R$5ng?p&?3U^W!# zaSnSGVa`e`6v#%w#0?pW6&qthbrdc(#)RrP1>2-q;-OBip-47vmQJObUwaYe1>1D` zJuo|}ffGf|s5RaTuuqbLc~**-WRo{4cYcEQN)s?ANqfrCIgKz~0bTBmAm{?D7iQr5SuQz zwmWQ79kJ=~s8xZ&DcC0ZVIZHoH6WV~(~DcuFK&$&B@RCX?(C-qUhkHN>Fu~ee1Z0- z$3D47q2_A^!SvJgm0ZDm1>KAvsrhD>ZqLXA19NIp*@V0O*mTaY?0w??Z{%^$5OOgr9god9?CR|98Pw8p;zEFQb=9 zN!55wGc}dQoZ)jq>4FGpzALt{ZK67+m8sbkw#6w*2h6VL_H9AUpJL4ZbI(B9b_Zdy zOZrw3pm9#YRC8W4HD>}PR&$ny7R+lbY(EitC534<=M=>KSj~B4LVXA(sX0@-PqtXi zSuUp&HLW75%_5s_o0qoG1$|{lYVLVv@7-~hgVn%m%G+k+6tu=@0NXehE%nQi1npdl zucF$I#>MEYzLNWr#zh%=qQG87ZF8EVP#_znZDIh6V#UT?5U!|=b1kt^@p@2;Q?N}i z@vH$SA{#JOzX!d_pfxTiXPtl14#2e3z{Q2~puH|>bU}^tOGX#eI04%J7A=)Ar{mW> z5$1I+J|j_NuOduzL55m3xC`o!V8kpV{vtJNJ0b7%(8icGP4`iGE*Z6& z7yFf%#+=@e4?13i5)V-WGvybQ#_Is~E!rQq&3OTCtsPNw36y@{7tAR|<2~2Lc~Em@ znmmZwrvA1a3S^^T7K*BIULZDB6LWu!OB}K3TCDAsL?jg1CTbo8HRol>Mwm^f7h1rK zFDU!}c;wD-=TJ3pLb6=V1x22EX3Qn{MWY~H>5bPH@FnxCV7k6BXV7@PO%GMrt4Pfm zmTFuOx+<6$88t46Y>as=(p_KR%v`*lGiY>uwh89JC8V>-rqvwULfbUvd{R?Ke+bOO zfa!&pGQ4Y?1vOvKh?)x=V}`czYIH$!li@iV-85ziO6*4jwg|e+3XNeQwMP=H!wI>@ zuw*=|P@LFEKl3jd-qjvcR5%eG(_k~~==OOE`kLmqlYjH0-Ur+Jb^~E2HE^C)F67m^ zPZ7eYkdDR)EaXy)8!0!-N#Ko}chWVI7E&wvX$JPN#XtI}z`Ax187LhOFJM8VJ7*R|99I%6S(BW^a3K+U#wYW{v5B z#tD=%5Pc`0eHJ}-IntMU+eHBzg_nBUYqdslQQ@9-X;#t^uf9XYDcB~w12gEZGGx=d z&Zk!@Y*Ch)QoUp zfsH2NBu{LtC@DW(doCR<9hbj2f)9rB6VqfT!lqHh${y&uLoEK$1{3)imM3GO~(|q%;3om+oW_ zd5e@DOsd}>Bsf*S7wmE-qkEk(_rk~F!jWp=qD*;ku1j!(V-0We&CX{zenl%m8aG12 zbq<}}P>q6a9oY;*>TYiG#TIur%Oe}9X8y&&c|bG_yEeE@~WX!KNt|}PwtBuQm8O^UY-j<^0((GFVwgO7rToQ-5 z)vW~Bs;~w`vH4J9Ss>}EfnkLpD(bcrrPE+`va-W8)*7FG%8cg#)(uxaKLm?9kaZc_ zG(S=-V@&=xZh}SyhrJ0=RNdVcnpcL6VK$o7Z@e+G{r`0!-3tmQqVja`ecnRw8U4m_ z%RBc3$}wu-ii&c2e1Jr z42!Cp2aRs9#8zFS{cP2^JWc6HqsFVGXRK))ijRHN~>$i|J0dXY_zq$6G) zrmRk}O@=AQpuB97Y?^mS3ql&*e{iN z4gDzU@0p!@W}a-aCDzLoB*s0*eSgCcdBWx3GoXyoPZpx z@a1DeMu-?DZ)7`xnrK?y$oFcfi7h7a?aHU&2esy(VgE||8S&i^() z?-W*irRfjzPN>)(S$IayRM&iA(-yTidW$N zQBKlZppfdM?^Y0v9nXjzZ$)dyiXW3B_8(k3nzM#6av` ze&oH;KuyHUPxLoBLc@56gS|~&QoZi|p@y~SAGH>Z+F5oB;Phg}3#%=%*F?p`4PugR zvdM#G$x4SF-&7j>StY@NS>n%YB(I4guxErnN|xMYqvlNn@0h33L5&ASU+VPX)DTNn zdI|6X`(CTwucUsxzt!J`z)pp0rPWrS?J&L6@y&zKh2P5hJ)96v({T=#d=y50X=hWL ze8}MsVR1THKQ@dX?QG|o*M}lZeq{5Yj+zK_naPq5Cs6au4_gG=!afdOD$LVh+lL&k zdHp)ak^MRs%2xGgXTK)*mZk3<8UZt>!Tii*=cl~P_IQN$>$5OFRljcKzjHCd&CsDQ z+1$B|(EIzo;qxi z{xFjky&-iU1kLZlc{IsKG;w=M^y_^gdf)Al82_v!K_$byBg~RXONiMWuy^<7J{L6+ zCchW=h=!U7Gj6cteOw~_I?{x3o)a%j*Qs7j@>ueT7f*tNti03V(T#{d%*PB`&HKZ& znp+^0Ukt3~eNkG?Es%nb3_&HsNu;`q z`X~hbNk&k~FnKd3vm%DcD}28t24a{SZI*o8Mom?7yD!XA826~Bd11n1memdl{<374 z_4dxV7sBkvisu{IFy*52JXB?|m1RmM;4t8Q2b(sPhI0=KXX67VeEV`luw?^-OMFnP z=QRZ8xe~{u2`+g{Ezej%>ME#nDvcTsjJ|MLEl6#I`aR(N76L0smRoXJ9ROvkx~%?e z%LtEu^TMaWU4Mws^+%Y1f_wozDGK>O8a@?9u0D@B@Yxn}Sxvb7ODQ>+TvnO4e@u9( z=A9=ZyxRdv8I6eWUMS~dj@VdqDE~jcFhVx0!ez;X%XKe8Qyu7(n+J$+=%)G|fJon%*S~VPExzZbD<{#YdB|JDHzWiz)B9P)};>_^ibeQ=)|injPMDI zM)+i!f9)1gcH}&KN)wlFL=B(F!0D8XFd3#1ZcFg*xfPHy!UZNvKBXbKsNpRUs6z%d zRl{T$wcrTXJ1n^^!N++Ko*R-84%812;e?WL`4HhCR{Xo}@6xAY;s8!WxZP!?7in0- zZ90wcX*gaqiA4Y%nyE;z!95KBJo@Nr&*rYR#lS35w2 zi}mKcAi}|{q)D}v=4t5CcOy6t9h;S25yc3fsZzsdEdEW-0#ZiE4?UkYgoqJta9Pr^ zQByU1CcE*0R+`&wmVCzI+j&{Tv6nuqzX z74C%y&tSzrSBvoDwD?mT5#d`=sG*BBe95E{zUA`oDi@G4!bKWOew;>fF%NHcSn{nX zYAV8)Ow@uSyf*~fx_lguFr}vtxT8PrWbf~fhQbnBEwDGBJj);y5!jn>Hmr8^FTig9 z?KJM_cN=g>kP&Rzz~Jw_!YuhlLWo$pYjl=;Q$tMzb~!BmFL24*aRdbh7pW|k+->l2 zUg;*O1!h9%0MoC>&C}O`=|WcgZ`!}Wyb|NzfQAvi0Hs?H!qUC3RVf`De;;mg=VV83 z!E*UZOo$lagP^?-MNO6NeGRps2-&cWuY@F}(>rd%eZo$xajp(C>tWh;_OI>hzk7vu-gR4|RVt z#_f4A_0eTa1MLIEbkg>o^MGpvE6zCnm_Br9Ogk<3>L(3jdI1*3o4pkJV*1dj8q?|w zOYXE#t6NN+LNGI3zO5J2WUczbNXpZ}XmA09QVd6434bW>$LP)J9R|Pbf}!ko_|rau zP_`Vu9sRzSPBo2|87#RY8?#t*_(u3TaLaXuZFf6-EDt4RM6f)mQPm!kAa^-Cyg9>$ zm`Yg5p|(G!*P-S1m^h8zhL)2b7@2$xmW@^ZnE2(~*TbAa#l$buz8yiWF6Ajm*}Po= zFB{YFO!e~YgEb=i#K+;z`BCs(%1Y{2E6>L!JrDmN#ILbndET+$%YG7qP_AE2F zh}jHykN1ASB`>_Xgu)8DIV|~(#kci3?QExpP+S?x#C8MPgBODp?+^K_@`wRo*q}VZ%#lx*L5%XU4Gx_d-J92MX_+Ld4~n zpZ&j-My*bv41XM|@`ld0^+Gw{sNP`vRVZ`6J*yMooC&8`>1tI8(@;Kwck1HCyKrLM zE=wrq3J+yx7_miz@lZaJTHQi<)P~e}P9T*0(L=)3Lm^c;Ix})Sgff~H?=$_Od<44` zb@S$Rc=t^P8|)L9Ik(t?TCK{E#gDA2q41UZb*a@U6#n;b$xn1{&kJQ>;((zvY2D#Y z2<0p|F4g^^yq*zP@_Bk;?k4E-POrjTSzom(;;Q}Y8SYvw#{9P8dkNI)77F|cO7c~Q zZwsNYA<0nnQ2q(YxzcW1^M&Af49u07Ka_NuJ{I(1gg+J}tCE1vySKR)Iaj5a8&T5=X3DwJY3n8q-oS&l~)aMlR#8uZ;0Lt*&F45 zk;J{oxdJDQHcV4Ph}jHy_c-8Mg*ULSRbddyUM~$0O8%M4qSYIW93uC6&v*iG%31Mm znm?2;O*Z`d7*^$Xm@D6!IPHIo@jrtUgt98@ptrv?g@_Gyy~&cl$55+VReI_y`J=b3 z*I*N?uV7UgtVN?C5XuBrk{9-e@-@JJ1r08$vJcwrOSyvm9N~Z5=nG|KnkB!M*kanR zgi!YJabDBaEtFm{mi#%wxAj8l=iJRvG0AJkKf)Y; z)|N3rZ#gi9I2KF(FHAm@Be@r*&>b3guKKRE)k8Fn8Gt$h%lRqtSSCMDqs%B zePZ(esh7ONQP>Ua?REKYyeTxehAH%8NCwvY#(_oPc_Q>(B3mpO*q>04Z5a&g8v~xp z2xDM>>-=+ZunT|J_@lSnCkgC~C`46MDwl7H){1qD`+S`G>L zUE|}t(wT1c3H67n*x~PaR~gS?#s5?b>}Q)l$c=%03t__bux!QlLp9|m7AJp-@~^WL zY}x6>3i%`2Kifjg8u6<0tqj&Hej)t5esaHtON;N@Ia{Dn|D9cs0dC zsNczSc;>y3_PJslhRNsiw>H}?h!`fn?65zEnh5hUXxg7#)I>G; zrHF4Fp<$Rt24=U-H80Frk?LXop~-5FNrXQFoXM>CKRoD=P5Ye%tq2Q?2s7ir5tE#a zznVN0tmdz2`e%H<>2P;|1JE$9jk4r-mJqWh3tPolGUK2o<|fDg)kIB%c})Vew9rJD z1*scA`%UMXH#eu$(6qm)rd@UWiWdQA3WS;QSMz(5&o~V8yA1ziSe%>RLtr1lJJGbi zCHP~i*tGw%SgC7r0#Z$WjP-q1#4!6qzkinz1BKy&)I~0g%Z4P(iw9JHONen;?3Hr^J)m*W1P&wdCg+09O5Az483J)w>O+&1-qG|tvYOaJzi!lEODUcsL zmi!8Weltsotx?EB`a$PdY8S#+-;9BpXj*<%<}VX9&%D@QW`u@e&UF|#;u?g>hP$(EiS9Sto@9Gmwrn-_{HBF0*== z`y5$KZSXNmAk6bv@t@&rHRTO~PhpwaYhyJ(Gw8X^=Mf&JAe1`|es1%rD@3uG_o2nf z&kWRfDD=fE%PU4-@@U2j`SS?>ov4^qJ(QnSD9uW`KLnvnXC?J;HI+v*UxeX$4EPd_ z`320XI}MzFUu5`)5@3zKOtaGWGTf)Ek@uaa$uGh}%o-`|?6Bk)7HVFN3iCstWj8)h zV3&vC7(LCm6@k?><5Xb!88d$coEgxHA^(i~3TB*a#Z*g!JQ0>U3}ze;)0+~hLp2g+ z>Tn49y=+7{gQ4=!`LI)Q@!x^_Y%D@rVAWRTz*iHPb z$yS_t#}{TQ52~^^kxhN-&=|nO{PSp12Z#7){9>3bLS#3QY7Qe4UZQ0+ z*|3#>m6sK>CWl>-2K<=7$MtgygnlrWyakAd3HOH*EY%{b;f#yK7&zjh7v|s^!rbr5 zF#Fs+@^7#>3uYXypR!H=flxk&#luT|szsEQz76k0m@Qy7%CF^2wRCt2xK9$;(g;ib z!!@;H4qE_$wTPm|O=W{{QR9KpmzsY(DJ>oTJ1?+)H3asJEdx8{jMk5U=h>|IfByNG z3Ma_tH>X-f#PN$4Sn?ki4$~spWTxurywcn!32X^8TsSL=>=dNnSOpA;f!Q1ln-6Q> zKQ3y)f$1>8&lE(kV)Y>C zC20)oAdT0S`;>usA2AIkgov&904(bNI;e??Rb&8ICLlO4=z!Eg8sF9nY+$;2VC0F~ z^H!dj2Anx?{8??rHP^`TXR4J=KIk|3uOW^`IS2TQk>k%)Ym--#6Ob_B_%qd96C&1c zDX*W6nh290lm2U<#?5*w(sdcgL17qH^LqyG9e zhUWVoDkf&!;bFLrD(lxeO#(~)7h$DuB?O0DF?nM)c7=$6*%0jEVbnxma1fnpoklIV zeiy5#>E9S5; zXb#uBFozg5)Gs8%Ja*Gzzk!#zu&`8X(-2gQ2PW!w1k5NgDAz+j}<|-4)_p01u>u{L``xESB;in^XfR z-Deq$w+T!{*T}}3{3i;FtlWEqq2v{oz>{T#!~ay9m=Lk7OJfjQb|A)Uf!4&paU$MJ z__0D%XxOiCl`$38xd!pVXDx-Q_bd6f@uE=!T0@u%SxFN;vQ{CIdK~01Sdz4f|Q)n1wM@UDb z1lPQ>o>RkV#Sf}`58ZPLTxiH!1P@4P{=G-ji1fu+t)V85ou#{B(C zZa)mzHw=y%^A^LcIz1bqJO}(7X5`mqb~2@!S$uwCu{s#6^s^XuCwKL1*aDL!KevUL z-OQVV%`DV-O!RfYbHKupX_o3>@bO+u<%W!DT;c#R&Hbw5G~ikSH@Y&um{MJ1;G_b;TdkJe$EroPo1?#r9%qYok`Dn1)>j_KtP=wq8sV)Kf=iS9|J+)ajVJ zyNm;brL5#%oN!pDR6g|A7Y^1bze=5s4YAViycCi;Ele=jh%;1;Dc?e^ZZXY;-aD3W znvE%@>Xbe}ohI%c_BJ3~$V&b({dGDLYViiFj$(Fo)oAar3|t#b2voWLuh3ZPNLPro zPF*$B>K4<=5KFNP-`1;BSyaX}Hhh4X+I`#RD2QnpD{UC|$8?lKo^ei{l%O$nf*O9E z7N|0&MG(_bju2@~CuM^d%MJfMz79B_hAo5n)G5rziun|lF_lLT5Yyt$N6&_smb223 z)tYxrP`Z9q;=}xpjNk- z=7(W^X85)uri`ppS>yn98u8jdeoJ8`EBRaV$8?lI{(>OYBSd5BmWFR@Nefijdly4Y zM;XYk*1aBF@@iMNm@bX7R5#Cw7t<_Nr&-nNMAp57H*|Up+^u4z^{cHB9c}0@3)cuO zN@HplW~E7 z?vAI9PVn!6$0MbqA>O;VZxUhQv1!=5SVGK3$nV9Z+GSAV5wgOzkcp!cs0AOc|lPt`IC%CkX5w8xPexM)+9=o{@Bh zGm>`_80Ik=zm6hE(O6+Wz(0~}-XiENjNZX_CtsNSOrv82$MG<|$MRC0;eUMFtP}70 z$}t+(L?LZl?31%ie<6PdCHrWtar5zyf|*NMX}zdF-s24Z&4n0m_k_4H?qxr9OiYxO z1F_U`4!@y}@ty$juGKk;nv8|*U_m&}5TY>Y-4aiAPoO5s%1eDr3^friJV^j9gog3* zHaS7#nip@>l=04T{PFJBWxV5VA9pTrtzo4Hh5U_Mz@vZ~ii5=-E^XY-aQ-Pj$uAXw zYTug?K-r3V&o-nA93f_nc#Ye`MU6-3J=>7#oJNgDNMEX=tqlf_`0u>N9h9!#xW7ZF z*+L%IwOt7Wb{Xuot2HhQ^RGq0z`E%C(Hm^s6HW10jwoc81b<`)3wb<*c~g`VkU|cC z0HKfXFK4BBMz+vR zV3Y&xnp}_(*G#^0`MWq2`dhH@8E~+=3Kbj{#&MvLPPyuvKuGJDwewMdupe<2Ww>PdiCR%?rcRPL84G1>Sv*|SynqXfy`Y5# zdEQ~k>hCbCRi7)lRsW>%6ToKP6|A(W=Bs|Hx6ZGMWfPey)kWPz^?N78J5l|fhIl8c z-xrn#7uqsg{h0WjsD6dcIjCCJ{s=@tbYFt>{4X)3xVaO2u}v7 z{w0vf-ntM;^#L3;58bOw?*wY9`aKQQco+pKE5=fN9n?tmW2ku{dG?CrI92`Od>8=2 zS6I8e(nB<`Cw++O^NxT^o$ylC9|C^+XHXN>FSJ>zP!}4nzALN0GxUF`{t@fvTYz{a zD{ZFxtA9#J?8dxllp11-x{2x!5_KCQsz2BfzZ2Cz#pOEytbV_U_?@W!>8^Mus$Y`! z-es$QMi`#wgr!N${lNzB1+4yX*e)HxxqljLw>`m=L8^ZRWD<_FJdsv^h>e=6{va-S zl~L6n?4Ty9zXImqDK2WN`u!rPc_De#KV6Pf)h|ioI8psxQ2jH)sEO+Hju>okO;vxW z!&1Xt)I|0BM_KAL&t5%fq#@5bvii?x|A*>N>(OZ?q~R)7dZ>TpPo2)IAH}&p)D(5| zQkWVR6YoUzhe9>f%0DP79)1*azc?&@=cOt&AR*p~>JN!{@3PhJ6NA|F@-R>Mw)ppUyR}s$R=_l^JTH=AnDquo!Bp`a`|!^0_Lif4K{* zaumm@>KBJm^Fs3M4M?D-sy`%xny7xCFwFB9YNGnQBZ>^Jsp>PRbT4mPu8HbLU|fGo zj03EmX0p;p(m40~hj}kx^-YJBzV2Z4Cu*$pHJ2xYRG%OA z_OpdZ=YB7#sp=OdaGa`sv4xtb{^B%CoeIej-K45tDz{bD9}&TEs`{r|sEO*I6oL6` zq9&@(JEFhmLskEDh{JUFI92^qK%1xu4YK#FCg=Wh|ChNx`^1(TAiQf>$v+u?_0KZ- zUkhOMr^aaYr-f+s$LO^B(_rrJ&fv;FGCNXKf09M3e~#Ufi#!KJSP#BV1F}AC>{lMorB9f&@#! zB_VGdZ2Y1rtG`44Kdk&K(~AxToVBdvcgtV>*)j1&SYNrYuSuN?`RB9NOJVAqka#EN z{<%;oHTP%f;`4mP+#hF%--+s%x#FFe`!mztyKMC*g<0ui8dl$g?HR%RPso60h((0dUqo%5V4wrn@Ki8{*TKU&N#%Jj`PR;#sS;z3@$POgN z>xeQJ$EoViOrs{MKPb&olftNp>hq2;J$tJ9gTe3g2p^~B{;4j+rU?ydu!F4p|ChPn zY+{SXkcMmFnpCx;zL7A8zXD&P`ZF@3Zle0L65^ex{+R4LK4}>I2|wIuPT<@h=ZKM_ z`lBuJPE`Lq@w;sGr@1iOO|1TSsP|(UR)1^^_WLf*{RwHMj1GcRNp~ORe!XFnyUVJa-69CU>(*H7sq{OLaGXR zM~shfO;!IC(8k746LbGWhovT@g$BVrtIN6n-2Y|2-{iOYH$b`|w~ZYC+#lt@ee@Vs zf2>BUe|Caae~K>NiRw?vh%eR?bAPfaekZCw8S19?`%{FKZ1tytho@s${jwt3M+QS7t1p3{w5edE+@kq}3m*p{A-2H|XKTyF^ugijJD7{-Q9<)eLH?`jbu6 zRP`r&mErbO^`}T5qWUKqEHzcbZAJBYN0ddmrmEk^f>qu^O;o>6hNWhNg$7Q(fahW0 z@Yu-S=NK6^4q_u=cR2F=a31`};P$$PLwz8`>sa|_IG%q!!#5T$yr5HlyyuyVa=w&z z%nlNom$CBWT@+=;%8yJ?%`1F)t19EXjFoq`={PTA<*ln|UdGCgG08a55anIMRP#;+ z%a5>7lNl>-p;OJvSox7egH%nF4@&X>da281EHdZKMZZF{>sa}1vHY?Rq|ZAz2X-(aGkHQIev5KFD_;kZzAIsggDw^tQx5VS)VPDO z|GA+lipRD5GRHv!@VHfW zC8%sGv!aMvS~!rGUwCh)qlVt=2PfqwjbvuX_o2~c>`mafiB-HA%`e+yps7#@E{luI z93eICb8N=T0{kmpz?RKSQft&LR2|yJAzBu- zxx`Xkdo&J%{Y|Y?8M6uvd)B_PYXS8(R`Ir;U-n@{no$i~-$YSm^$1sKnAM}BM9ZQc z<0uWYs@bR^YOT||_5OlkKzTb*rt`~Qk&eiM6Go%3%fo4Ph!j;q>!)#`O5SNP)Hu;3 zONV=BY!W;Vxp9OoPQNyeaJ)MyY-1_Rc-TLm)@oT15Z%El-ZAsbo-xpXSK^;6KB@B) zD01)KO|;6B zJq+MBu!?uB{IayAY~fAm%0{SpM+gG$5Hb+q3W$avC%L$By->Y^)KGQbe~^(qTixaY z8oB#4Y1$b)8(~)QUO0O+>eF=DgW$1B`ACUhFDf8o@X6WbIu}?eYEZ6Rxypq^sIn+G_mUV6O$M_)4o{?@(oL z6{!kvSLvRyLEY23&5-Y)KzFi=zcTq{uWH~V`@;L-mA%p^sqQ&FLN(Dn9WqoC-P7Au z8Wydii5e8`fKeBQkDm);TeFIvVDr?(X_~iP_zXVDyo!A_I%TTQdKum-rt6p*_+|!=Kbp&Gyp3sJw^l z_cHve#S38cQLJJwl&B^z{L8e^9`&*#jB3`)X~ABWw`ue4wo^w&>3LhugzXnai#Ys)~{&s3s^+ zx2Yy5J8MeATpk-i%}j2Ni{)v ztgSSp>>fqUPdPiN;zwRQbq-M81APh0>kB#>Ae6_aQB;)qav;|PWjBqE%U0Y~8d9F% zpysDspa)c34-MqkDeh$zzrynTf&?OzC&}0qWe*!YDawKj)dXdygwl{QBAsx`1073_ z3omQ{aQDH{fRP z>3Y#Z10-F8YakkH;6O|lzUM!=#?wV#YT@QLsl>}qxy%hHD${xtfZ5G(l%nU4Uf`ku zLRp+ZQ5AJ?hH4^j1LVd?$ts7DXfT)kOx(7%qBe-OZU%7ovx@)0Ex6~2Pg&F=3ymqb zGt*QPaD1H;FO{yrR#x&(M(O#K6;#w-|Bixf@*ZFnU&abjyQCwMt|2B`RYYSQs%6s^ zrJ9%n!^k*HSBZw>{6$?EMA`7$hAn~eL00j(QIL988X%PYBsx-}7ygrLoRYq{7TkIR z51&Fsh2OzfLtlImV@0a4v_&aGalVK@eqMJA4yR zJ_IK((3dY*Xn;_bN=;D?Nu$WMx>dZ)#%*(^JofY~-@w8*OApjbE5*}G1D5Kte1 zrVAIOoG4l$sHHB73U#EdG(;U0CR!GCR7Po-)zLa?bwh3Q@yZo|`Y7}&>{PZ{XoaBa z8j1>alpLrU;4Cr@8=x;4hp6-1Q1(?f)cW<|T1F`EG1yB(-*1ng6@q%c6cy@uVH~JX zFEELg&FXlfA?hq}C|-3#J$9|}2B1F9D)vPSQg0Y&g`kehpr}x1xk|$ZfcuKs7vN`6 z&$E<StLCXYnnvJ4DJvXg1L|qUeS{8L&SZNZ~L9K46 z4R;?l7EqsL6@O}wRTr%g)QQrxLY=AMK-B=}Wr&tVoo*@(QO|Z!s~hT&9aEnL)NQQd zW4$2t3>tx-aC{+l0nxB)CFW5qFx~F)eW`H`1xQh?YNOUbwe#&clcd^x}8<*i4~;YjG`5SIwy>x zLY=HB4N<2WM9XG%7D@zlwj5VC)I&SA?G30;vx*;Kv3k{%rd0!sPot<%r=a8=tczoS zavepr0z`?14KU8aadkr-+hfW*fa<`sO2E46pcRtUXaYrrdUjN4nALM4M9XG%uBJ3Z zof|`~Zm5lRp5_ATGjR4DE=WC@K`R7x8bQEmH9^CHYFbToh?Yg2;wlYMP3fd=sPi7{ zQy);DWfi|z1*xZ{Wr8{ny?Om64g$}yQB?QOTxDBvWVP1Cadks2nt9&sfciXKJAifd zQAt2h7iQ43LcL55R9U^yP~&j1y2Mf%X7yS*u5PG(tn=Fd>I-oH4yM&JF|n zU8&UCS1;m^y7Bc=--6cxf6jcD0^yF~Je{?bFc!A&OP;B#4%1I8fzig{d?oirJ{;Or*D) z)c}ZIgR7*_M~~t5@Kg5DN|`uSwW~}VsfdAmnG^^lW&-b`AN{OUZMRc`}o>Yz&rIm(6 zixa5jOw{VHk^D~c8}Pt`S&({8IwC}uJ7`rASy827j+VrfhD3LVQOlXg_~o>&K=dYD zZqi^$w9x<|TCAg}h*qSPhD0~GN<*R>Bzew6%THaL1fsWC#b>ZcKPMd#qIFVKM0aMC zcO<&eP#O~59z`u@BBNdTG9cOwCpoc#)NTz85Tdvg6;Xwb163d0WGfAc?zT|NnW+5F z=F@@bZOD-Wot;1fgy?!5MMboUfjjE3LhhCZ2+^%l zR7Cd@4T)|JS0}nFf?Cc*r?2e;4;SUV%i@PYj&|5+fDqlCK~WLiX(bkz<1|WK$ z#hXV9QZLFR6C%5cCqZ;i8eJ)(xD1EqQuNWCVH}rpj!FuLp8-T4u=tUXqbH?vLR1+= ztEy_(Nl%LCrU)G;i0&{@L!tvb7)=h_RxUcbEnt1f;w@pBd_-CySR12gS|MDQAzJpZ z?Ot7Jm?$Vh_JvrrmhR-0Q?CS~JuH5721@6k0YY@2hN4Q8omLvQ_g%Kqkm!D?korPM?-iHmpuoZZBS-b^I)U<;Ji1*C~ipu+XO=;L98)S}h_TG5H)c)Z8Qx-oQ z+V-U=8YSMZPoSv0Lt|xMD)u`Z)N=NIaLGBH!24&c;$K)@9&ynC@qSAhMdf{yqcn_t zyM|iM-n%!O@GN-$oW)zESqe#5FO2f?WkXp{( z4?cP-Uz)yR@p_Q?c`-Cfygyrm_ni?OsA7N7KrLtQ4Wi4pg7>dk#eWd{3LOm)?^_Zm zs@S*4fy%pjI5lVQgKlrluX^o;Q3)#Cs}(qVoP!4c@obJ@zA<_^E53rAe%wG^e10?oGH58Ti2f|82?~a37&fdFi znpgnde`N8aV8+eY&;arNn2VzFp0t&Q-jfnNXYT{_=3Bt~Pb}U9dVYQajS}w(4MpYs zX_Ux8&l5I^IeYIpt?y*;o?-DL!mMbai3W)GtqzLH`@?de>bl1b9GA2A$@3y#gZH0V zye)Ly66uI|e_V>n`;#@){aLHd-WRWLayNMY1u}24qQ%lEIRs6_&?=8poX@DEXGQdE zhK>`5pbw`}%Q+txtZ#S_5dF&H8dPJEg$77I9+R5#{+x-Ts>V(mwVb^V%1nI-y#EHr zJ1#3a-$Db#`-3Km%KMXYpz{8-i{o&MGJH^K&tVe%&4lyHlpGF z;F$<+tcV_qqLwq!&`sy&1JOP>_KmTkH8l}IzOpYx^g>K&Nc3)4X}DIrYoV4i(Ud9S z{Xp~woLDAU(Oel4$mBvtIGRphSJdcM>c9XdvCY8 zXHW3{7aT9ZY@MZ}0pfj^L{i>Ai{e1logZ7M8AIHzk z{(=2Qj1^rd6H2_N!)R4`e^X+r*gto0T+ZHCo!ovfc>kBh;jz-9HEA?JynkGS_b(zi zPKhB_*v-gFA=cM3o6hkb2 zFwFN$qG*74f7wJ)W&ZVu($IU_LM>b58F;L6d`>L*G zaM82gA+XLntY`*q4?pEv_l}LK^8SjhG>m2fA*lfd+{8H_|97?;oN>&dh$zpqR7wUe-8xu(w`gI3tI;&xoM` z;{BHhipu-HQKezm?blJu+50hD>zxYTo4{TMVxKMX$&u#YX|&3-EY6L-A{wqhf7C$q zW8H~LhBtSCs43jSFrgaoe|*U`;A7ys;_sCwovOKDi4-*wb-_I}>gO|Jv* ztysK)0Ts%i0pk5n14ZTi7h7rQ{TmmxoV`zp9n=E69}eDKxTjE4?B7cy<^5mjN$pF1 zNY~kWUg(0>;Jr1>-~=m*$}manKWS)HdCx?ZhOxsLZ}ydQ?1tTMGh zcNsc)81!3-sbc?6YB_uF+oRhL;Jpot_l3;QQ_j`V+t&$HRqTIAOy&K5Hjc~Ld#ip& z6@m97S^Q+^x>Xh$AhG`yMp1eH(@`2`{(lkFxc38nzTmQ7Q4V$TNXbd#)@u{+bIW|Ly}fH*c`HRbuebp#4EvA zI~MN{VMUwdcFIBJe-0Xx4l4I*sMQw1X;%+h4942Cc*JByce}V9aqyLiqH^#JO5VMV z1J$7ZuCeflVZEbS9KO4+XuT^pR5kcRYRbWPGHta*aO8#te6M^Ai+6!JtsXie5q#^Q z2kBrloWW*a2X-(abNJZg-&PHy`4n$ftQpm}>_m zl$QPcip{MI)Zmc`F<&;-ijjbOjKX6|Ixo5s=0j z8dDj`vy_GzY2~1%GIFSnT5TY!_VqdmK#pbcPElBq4BU=@9F{>*fi!WIh9HMWP*Wf+ zVyM*ya=}+!UIUQhSo{py!wMH>MR&;Uh=Z`CRSQsFCRYdT zM|9G_ST`2$9D)cO+>SUnER3RZ&@O^nZ4sROasPZU)}6(Bf`faaxE*nDh}4vW`VNY< zIq2GP)F?1^0*m+1Skb+>8T^zrILbv;IcO=h+8nf)-ed+C>j4LcF<6o0cEmwjqq>6z zIj87|CS&+{Pyy^^po^|_&=zsfFpQ##ptaO$i=aIJD1Nab!s0rlD3(E6#6g<`ipoJl zIj}Yd^VcqbXL0K>7C#Z%^y( z(&)4{2PYlZp*Z4UCRflq<4UT{(XU37(w+YtvxNliIu>!5gG2NNSz2v~!B4~DUm-E0_ zZx%l_&5EwG&=zr!Z=MkF*K$eoRmhbHU~$a ze3TBxPG|AsELL=@h1(GaoiivZ2R);x)#hO2`j+p4vA%Fx16_0tZU#SPn|2PPsvI1n zqgI=PRs;DTLe=XBJDdb7TC3r9#KDO*I5<`gtj$4QWGO$+>d)f&5twMP8XRzpR4i0*+ye&A;;p8|3JDdn^Mx7QRwHw%p^2VHY^FnC?z&){GX)WCr*ilHqM zLHi7f%0VYdQdE(9Iyx)Qw};BsMY46!N8dxg0Z0xfy;_E zL~%RfpreDLa?mA>T5S#{7)PHC#tNZ}GSEfR7IAQ*g~pVF4k*=fiDg2j<)oo&z}PSr zFVNwrLYEt=wdj->ipoJ}3$@xJm>e}e2M5E!L7ElatmAehf|I4F92{-pz}g&~F=cul z7%O6N_`3F@8*wxEDOb}IGpH&Doov)I8!g<9IOr)g<)D{?Vr>rEH`Hcq{bbPPe$F+R}1(c*-;;Kz6?B# zfs2|tEBaRwdLLi$lf^I1F`Ih&QR7&o@P<)6VT|3U)s@QeB8hU>VC@8f+%|p zK6?>Rj%D%DCL7T*jRpuMJjIrM@q7r%zEP?P%ApymaZ0wiw=}3IOW`--<)`f91mv>E z`j+KDS;pc+B5Xw41R5ZeeRLERWl0qxL1|PO7o5v8Y_#X691;qkJgG@ne&=!=i;oYn z5zQPlKqyN|J}{SsCJyA}g7P$rY9g1#5v5_p4Vel*<%pn)Pdu*E@jyAA#fL`Ohz3zK zN+?gupr~?Ln5LSb9BorgP!5kN4JnJHlbk7M>h&iAWjTuvPqPvAT{KE4hlWv9l*2Wu z3CcbRstL-GWE@h$^|S2DPZ?P8dOK&&1Ih_3ex}Yww2+Pn<>|x|R=l5qo>axph)^v{ z8B-ckmRP9yDGfcKFVE>QYBf-v&EnI;Y(%Ig%3>R>s$340o)qOUosJWfLr648+1tc% ze##OzfO1IsWd5wkM93vn9IkW87k;kr=3x?DQ5Ly4PEn4IP)$%4q2%4A5bI@Mxvifv zaQ5_nV)$o3c@B%08EnL1GIUb$eh#`)l!G*?iM|{arJA5TEvz)mWq%ospK?^t93P(P zG6^V6Sczh6gt|mZC`U+iMLEh<-f<;5Jw`P_IZ#&`Quam3J5r>3$gx3v*>F?;oj`dm zi=PX*Y@Cr6_-AMRWbysSnKe)jNaH|NaXm~mK{>)v8dB;OYW`fF8I;SWR~G&Tl#`(1 zE*sGtw}+pSQkUo|m;64Mcqz*MHq|&KeW^X<0Qnm~6Q%-XOC{Gw)@H9|PVewHK8__O}21qU^ z*(fT?8C5hvdA>%+1?O^ttV1YJzfR6)iZI=Nher$M;p^w z+>EdhM?|CrHOHrzC@RWXX{vEb`r_jbKq;f~=W?kQkjwht_8bC~Ggy2qP&TWHa)N~f zigKJwwQOI;s3!XITt{ixmlHCm`6xFAes{|`U61?}C}*(qPL<59!N*YB)d0v!if^uqtYFSEG zX_(9D25LUaEmqJRKknvEdw_B_iDyp&T!*D$4N=4&<7kJlmw2pqx&|A?1t+ zj`LFnuIl=f78e5L`7B-t=RF78Xn;`8PN1kL%cUnpImV>pI3<0lJ!H9!x}P%enCSdA zqxf~yIdHTA`|+mI0HK_0p;bkBcA9D;muH2kCUQAdR~qJWrX1&|ywVPs83ml~(C#&Y#OlHz1d*E*{btD3`MMRGp1DQW_w+ zyh1~(it-YdYJzfpf@*?tZboTHx!OQ2XUevbo?C(PLKdGCg*~K$1_y8G&DdcFRS8Rtm;chj&SxYba7+s zOMK6Ns=mC`=I{B-Pnog%Zmu@p30Lqnc1xADOo&*{olnbS%C>KUiKFEtpc>NzIwE)!qe-fzpDj22k;^OcBZD zHC2ej?77FFM1t}znWF<&{5t8xPr1zrsQ6L)^1cVki(rnYVfJLuIibAQMp5PR#st*_ z<+VE1f^)gi#BqMg=Y#rk)teJwn|c?+RRf2OILJZ+gmP0AB9Y5GbR4Mq@+OUH!IZbB zah#v>6*nN4eF{5l1jzHyT=eTX4s3`A7$vgfLeQ7%=A|=~=5797}w^=yOpUc3j1_!lS5CO_HEItud zqC<5wKyrDVi=v{uGfFi;DX{h;gxhIHn#BT*Hfbw$KkH;XFX*57`d9&0Mi-YT_f zlvV)cpyhfKpu7sMUz)6VwKPB|H>Rm~v8q?dftX9Sxx%L71my-zX-IiZ7&SlTM?sY3 z_m;E=%B$fnzRrplCC~t&j9VzGTyD~-md&M2H9>h>MrlZSyNQ~Qa^u*b*|W?z?jfMO zhQ-gbSn*;V4G_v}h$p%*w|DFd&oFTH#;-}kJAyZAOM zzEBzjUiFT?HO zr`-44S3@oz*KwrE<&#mW3CeAT(vb3Dsre{_&&RuWKW#ct#^Cy;0hBQ`N+_RnQB=8n zC`~odmr0Fkf^w^_G^BhqjGB*fOW+=I)|45|fbu%HYM`;=B_qD)lL1m)8v9VaLsPbdv3Qz%tCCi*XkGCw`2 z7f{~7;-xTqF0rKrHOCVf6cy!`2-O7T7P+y?<$WX?q}(dW{khcLfLtE&*@AgMc_UD| z(3fd+PI6f(MMb$ig9EuHC^zd=VC>|^Z?3vR*Uz5@+KBv7J*gWMgxR0 z6-7}|Zcb25P~NXmO;r2=l*o0W2c$he<@TV8cR00MOQ5`&#b-jruW_VRRq+R06cy!z z2Gs=RgAUaM`TiTOfQmO>a^xVOyd7o_te00=Xn;^|uu)W$kH)AbC>?`pg7Vd< z(y-!h$!&d<8)rBHlucS4`3z9r!Qz)ESn+b{h*0j8Rwd=;BTVHTSE7hRHIH)hAhIp4 zmvU48svb;PGVr)^pxnUXSLi_Lq9a9_Toy)AQYP1+q>e9>mpLf%aUNw-Ep2kWOs>{( zoG+JKX9QJzU}a+)DDPzPIY7A*w}+p2e3`tI^O$%(v*Coi_BCMXw^ZL_&d zULL`5e#-MQ0To{m3d7v2XS4XFFvnLrXn;_zNT8^4xe6tc%L}D*esZmYj@^V{gn9DU$)O?h|$LgK; z&z}U8aTd3r;_8+op}ZoDRu$#N8LA1&xhTo?k|mcA4Jog%Q1nv%8MdYBE?8kv}nKVi$*SOUwFO&HolrcI^^yOT#EmF>n z;y54WRx2Hl%d;Llji2}2%i;@Q_FO8B63W#Hw5oDB-=>)eNdax;rBFC>s_jeTwZHa zEtv9V8MU8sZ90JRgj6|P4y^Yei(d%2R0m&#@+OI{DAy$@k)XWBrCKoM9T6PoqYQr5 zV9cg-PX)>?EWQ%v_%a6#5X#%4C@RYJRkXUzp1ad%&qoA2ur z-Yd8DQEn{O17=UF`$H!IWs=2bMd7?h8X%On8`Qg4FV~|)&M5B6pva>Mri@uQ&PTa5 z@VsY5sQ7-MOuG?$) ze*N-cIMYqTT`3I>5Xze@6jjAH5bsENok_=uzO0BT4JkKRsQD=aufU8v^`r$r`3Ri% z0Oh<08X%M#GAJraJ3%#(%X>AdWhse?|HdQ60J6qNA2`E|=IwK2Sc!;CBg`f#9p0Ga0&>}J_Z%B2pJefiOz6uD8X&oRJc6R4eAc9z$mP~5 z{1hCy*+6Nd0YaIyP*jxnxl|LBk7!gAl=q=TD*i|eML%WWvj!bDMHd6*b{4-N1NSH* zXn;^YW}v7j?+;T=P;Qal`M4})RE@)2ZqZQlQ3hYJK5zZF2v9!F;`8_%$L-;#oIS}5 zs)W*_nxK5#rkbGKUIXQ$Qu9+j7qk-fUUblEpmbpNKrZJS=!j50uc4?Y6DX0RjZ_*% z%q70(Kh;X~fQh<~a?A9fJ1Gk~4_yb8&#?H#7EroqfKVo6?27V%Dnufek2$#UfhiNx zNzRl96)rCa%4eZ3VI^81fe7WZRfxpCXRA$#1m(jz)p*6}OXc#3FzPu|p8Ly6K6{>n z>*{G%a*%-r2<1akRJnZ8#DQEBluuYx3#NQhMx8U|fPFJA0?OxE{IU=$IZQ)Ggz_mV zD#|A^I8ae0!&D2V+?K#`Ia7A&owpSzUtsa`HCFt)js_@Y3`Iq`-KCny@(>g7TRhbNP&g+vZF;tYcpjC|`s-DF!S4 z%S8i(@|g^Zit;&~YJ&2)1l59b`Fsq=z>OOT--Ki$~^0WC{Vr*$CnY< zLnhDwp?qJ)t|)gHII!-NyB*xtM;UyTb;Z3cS^;GmRw9Fy9BQKhLiu_aMMe2`glcuG z_-oRMk8(@k^Xhr~yYV^x2Hfv~*;7A(&I#qmCW?yk1C-=ZuoU1wd|dGCdB?)BKFY0u z_j~e;!&(C6n=HNv`f@*R4?pD@#RpMT73F(6)#{eZJvMIZqYTdF)G=-E0Lr&uj;C4i zFA|7Q?#!T7Mfpw@t!|V%9JJ@7+`2F59>ugZ>?NSw4Y^FP;$Lxl_$hPwu8FFmd?`(} zx>3HNDl3#$0BZTj*#{vM03HJ~qJXn;_rWrY;wixC{iwYpJ$A|v!s2CwQ( z+Dzy7$KMA^IKFHkfe59mQ6h1);l`*|H_8`n+}1}Kyb|?4y(|ipA3((;(3crBKqz0< zQB=8nIYG6$QNE(#wtmXn?SMIMxQBHG$`4sQ24}hrO*B9#cS%iA?t;+7tL_!w<>IzJ z%4D-x0Oi0nbN&I!JuH50l$A7<&I#qK23l2=dr|uT*hB7>PJEPG0*`__>PsU)`B8q^ z9+wsWrb+K=RsYgNQBnRLqgvf6{-fO1PZ?P87TUytK>2Zg*_&|WmKR3nB$r=HtBP`; z99Q>>{~W=MeU!=8K`T+`d4oOy%1`pkc0perS`#Io)#61cqg3O$WXb=@jrq9XW1_t- zZtJIPl@9333$Jdy8z|lUvS)b36KH_s^3Mp0it-zSYJ&1_ood09ziT+oPkDGWfO62q zY&}qZnqT%@j1~V=6Xnk~T2++aRv{OZ`=$2-=klj0+VfK$6A7R+|LV-|oqd*H_J$3| zmoYRza`{UbMMe1&N^*{~Yt+IKOaxFj|EW9`YgN_C_jhU1N-qm zq)|fowT5OD10BVRBHupy%t;R8m+yD^ zedmwMIxB1Mv(8E~H#7Ho{W_3bZI*p287>$8dI*0%zGmoNuj6;f)|PCbxcnuOWa=^v zopZwFcd@DyF27Q0rORIfsjGF_qnP1x_`rkt`|;0*?)63<=4|$41I6Vxz9dtZ>09E| z<%Xn~bHe3@a#|~0{%A|C*5%-GhRbc-v2D@i+EJy)@R?|HMK(}euJa_By8I>)rY_eh zj-<=$9C%1!c-{WX>`4xoy%P{9xLpD%d#*$QAx+=$AszbWml9Mh!vm{^ZGV||d z9qljQ16_U%;V={G>yieF%QcDh)a4pquEaT!<(i7h@hsJmUYDPjC12|@^RLbg?AMw9 z?Ccx7E-QG(Wj+3zywhE4OEz&?>g1{%xh%E!RF2Mgsg;>>)htV0lHJs}TxDlnmz{4u zWf{6$2Vqwivy5cZ)MY7`>^*hasvw0)mZc_=N^N;UDnxBSL1S3<}=aMeD_1q<#!McH1L_olnoS@O}5DG zTa>`6KO-qjT$bv#*iE)e9Xp6o$k_GhvV!+`5x#{2z5u?^+=HDPYX7aq*=<<8Kd+;gv_q=SNxNIFuGIiO-P&sjr zcP*=2W|pfqTT)l!a@Fi|#@#cg&4Ov@@&^dJ+xT-xS2j>wcJU>dx@;{e<@s`RAW5zh zSvE}?Ca;&J^pD2Xx@@pAT#mnf0&cBt1B7D=c=tqdA;qO;NHTS~O;P1UmRd#Sgv(~w zT#VFZ>%8P@UDj7JTyB4Pn+A0GBZS-Jp}tAdKyle5mR%K>w#rpq`YM-s#!Kyz-PF3A zSIBbt^7M7+@+Z8<@g2oRS1zQu+}4z2>atm&a>8YEL*+!4IWOhp-P67-xf++*zo~Q5 z6SLkxmp?-|1hZ@^>+xUt9kR4-L9(gK=Dx}am+3{#b>wo@rhKZCE)839H7@VT{F~tO z>gS({E`Nb=06t%~^koCZW%G(8QEy(9em z(v}TUm#aPtB$>Kw=c^odsSd8ocG=gJ+D5x%9S`MCZW|#S>EkDZ719IW###smq~>kaJt zt|U{JBPEqQ6D0%!uFHNU8djFtM!P&__0pE;GKWuYc*dJ~vVr2VUm(fUrI}Z`t;@2f zA!{4$a%%lv_`OH3gK($@^*<*K6qmz1*)?@J=>OqzL_zkeahZKxE-iFB5?$&Lb~d0s z{SZ)b+0&O@Qw{=N8**JXGP_>ODOd&s$BNn)7zH1 zzqs@>o`Q$&(ED|C*$l$rHq`%+ETp)^SN-Zpv+V!Bxa?=CI_?rm1MsUD={t%(rsQf} zPRw#S$!a|nT{eesQ~<0lFB>Q>2fLC?T@Ej*oXE0ILFI(Y!BNV|=gSeM|$al@Z^2 z-o+`D#@LeNx-SFHjV-8L1r<4~#kpNgm0RR; zZb~em}}k=S@wA6KDHZ71OPe&v+MN*^_iA{|p$#o*J zak0vY#3oxRClZ^ug-#?^UsiP0Yizoqaw4&*uH@3hoTMM;L}EK8{puQfjV(H2`V360 zEj}OM>u{@NAtkYia&aZG8J;B5#AX##P9!!Xag-)DC9mp4Vsi|Y6N&9oR5_8@G)v*C ziS1NSIg!|IuH@3hwohu)#CG;mT_dltLwmNspRVie@ZCH<>2Ee<10}J^fh75^#WlA5 z7Tl*OfYQvOsuPLL@l{S-V>={^@O~mOwneQ-Y__G=io|wM`&AR$(NlEQyK?7bjWjVY zlDagpznLl5$i&(|(80sR+T(j8e7f6Ikqwl@_C$dgX<`Q#R8Ayzh@_Oea-J>8^cp)P zuW}->21!w^NbCS#lDt+VwlG$>YGV7@DkrY7xt8S8#O4Mnw@;CuZP`FctRXMSG_k`g zDklInn{P@X=R{)r6;)0oc95-dBC!K1Dkl;< z&{H{)*n!Dz_!=UygVZ&ui5+YzwbjJ-%1bUyY=N(GBC*4bl&gc)C&hfKcY@H&<8RTp z@?frohEK5bDtIH$I@e2Bt+|FpC;ObxJ43i_A*<;0a!t_*G}pV}XVzX;(NbJbj9hgk zlTY=o_;GwCtLU`aqT_uk+6L`uSw-g+xrPt9lFcXjw)o>*GplGx%r$(-qKHrQZV>kL zvx?3l4cAqRj*a<5?~V^^QC86jHrMb`EjrHT6TJt7y^O4)e9Sd`REv&}`9$xDML|~4 z`6k!!Q7u~R^NHRI!aie_0pXj}@D9$SK1FqqtT6BWXCwd>e6Ejyj+u|BN zszu9uKG97GN9VIvT3O^8KB`5hM0}$6g>bByRdhyyYxt-ZE%o_C?+0ODEvx8EE}>B^ zI*lfJe+Z3YR?%&>D=jy9l|BGhDr6O1=u&6=BJI&!-wr=(&s^zJv!-ZS%n5xU{>qP? zwbI2#ZBax;gCKN_tfC9znxdsP6%B@PwwqOSaYYu@iQ9d7Kt)3!oEu~n-B7G4T4qzx zPzWby?&;bjz3NJ*QWJd`g!P#x_f~4mh1H^E9-rvLA#Cun>|N}04Igr)h)?tp5KhPp z;zH7JUA1V1%_sUu2&ZHgT}2wMlPkr1qK|@bdq2zGHKgIXYSD6zHQj=6m&}uU8EN>J z>a};O&nG%S$ckAj6+EutLtd~RpXj3@oSs>9d2*hrMayj}8Ux{;nL*rA<{Ccao;*I$ z$6|VMmc5$|uHi#Q?(vB}4#FLRtfFfpuHi!#(L^7Q_A*zx&LUA-v^?U3zCDDlowd@< z6|UigIGaT`i}Uzml^rhCUwRya;2CP`UD8~u(Iq0CfD#$EjlgY z6MZKL=j5}BE{nN_k807(O(Ul(8 z@KG%~$L14#SG=Fh%%UW{CgK%#rAb9oAe>=m6XkLt-iohJHjxTnnX zbf-rm{8D|fJlE!gJ{!+dlx6R3lWX{pmyyXQ`W*ZQ5M&kIljj;fszql-e4^JwI6rew z_izafxl+JqI)iYQpRtm2Z-pxGOSNcazzN;OZ`6gXqV$9DYSGyq6*WLO)5|J)a*I82 zz19t!=Lu-t!HGPAJ;1qNa6OSL6YK>}Xc6iS&f_+rKH%IZj+)>+EPD6HelZ;#fVv`~ z?ZA1^CNvP7XGFyymw+}3 zoJR#`fpf1xBw$6J&}eie&=_zYiHI8u&a*b5ao{{uAT%C#1?Opt&=l+} z`b|ZrE^*UvZ{p~5aGo=Xn}KT-3C#rOeS^>}a9*kqa=`h*CA1qjpOp#C2In0D+8l6R z6G!Wj%M-~E#e`gN*4Ts^!1++1-NAV;AZ{)=YemH#;JoP(wZEE2(7?=c|txqC=xmi zuMLmT>9}8^TZs-#;?6*S1hg~pYKjP+h1nZ~&PE3XLg!%i0ikoj`A(qoz*$d}c0M>? ziOv@wmnZT;j+AKTs#o^}tRuiMs*Vxp_kP zvy;;W`X_QRaW?{6Cc4}NY%x*V&A^tL1aHC46+*WHJ3k@1Ja)7V*X|3$7$+%s5FB=jt%VH0`|6E6^Y z9@sf1p%)Md?nPiHM8v&>XI~tB8PA*GUIBKTO-J$fkj^Eby$b9^i{NXROHAl>Os!1l z4LlkUdK1s8(7lBT3G_DhE7H+-a9x+syTEQN6M7HWH5Eed1G^8fsfn8@4!cTB7HVJ(K>~@3Dr@(G168a3-ZK7fgu*-bnJ_mM{OK2^yi)=z)AQut( z64>=Ip|5~l>k;}I*gt(j-vGP0KxiEvEfZRgo(X8*q644ccfc<92vu-zg8LqiR*3rn z*uTWl4Ztq7i2D)O5J!K)HB91u#$6T({errH(689fAoLq1lqa+i`;`g(jytyr{Q>MB zCZSE(SycRqPDRCLU{_oGD1OY$t|u;+!>j`0>VRFzftJ%z7Z7TKoX|DJ&IRI{VSYtI z&G9S-`76=UicCSrnD6nVpgoXk8k3hqLy;vk}1h9t+fkgsM!F37drUENloXkzb zo!f+_1ADYcXa=xH#A-9Kb4=VUV9$vP2VIGyy8(O9rK7VEMTF)6dnh1O5A1215JLxf zLN2h!MMVSZEaG+t_M}f}E~aJ>+5^vm;PymRA#NTfB)IvQT0q=h*f}P&H+B)aebA{m zx&T*;=;*${UNQ;ohkNq~{S7O`Y722)QR|_uKu7ln_LR^afT&E|ftXrA=pbOPirRyL z{Z~{Rg8A8W^iaG?OhSiY21P=LqfT%~0Q=A-ZV|ALD};^&_E}8mC}6MKgpLOGf#8k- zw$>mn5A36W(6PYYvk4ss?9&3F)&|+ZUxWt`+x+0+yfqhXXv;^3CgV0I1E(cof zWMJ=#qf2o$pSV+iy>Aj)hNwX3RCL9GmRk-i_6V&2_L`{m(Sb?aX{gH+Ivv<2MM5iq zy;C7{2JYM^bS82Jp|dcTh|t-<)>(wkL02B3b8+W_I}bhQi8~+In*v<`?8_o?7h*r3 z&_$S};4VfTr?gxF*EI-Tf?Q1KQeaeJHpF&sRi(Yw;|3 zis0zd;Dso-4wn#uf1usGBG`R=r~OcHJ!TeAhZ}&sZ7G6Q^LBq81p(H@B={$=&s9N> z3BB>f^pl5;N;4Z00p<=m1vUSHeg?wia@{5 zc?AWxqcs#F`WFfcs^G{KpCJ8jU>htF+=17quLurpa}-wQ?gaL&M}oV6eP=6z{N;7; zqu_2}-^V1l2Uta2qF0NtV^B~;0Y9$g?!{hZrNi-OOmmRF4+VJ=tU@<|B4{?znu~%G zu3RL+{kVjw2$qeW;i2FG^j;xB2PIM8jdVnU{{Z{ZPz2WOqqarCgGl=% zcnI81fg)HOTaTjPVQ@S9DP7n72<;i99|50b={=Bs6x?kJ3cbexQ#K&|7`TQ? zFInD~pQQ-g7Pg|cey%$l>Bqrs?kV)1FD~J|p8&UGq|k#)3(iCONpRa%6uMJk%2h}| zg|tB%dm7kgMUZRPdmO$c%>5VK4*a;5dj{NA`Lsi>-?uCBNI#2#SR{B34V4waoK_v$ zpx}9|i%IYTxb3`DP`9i}ua{8pBCt&n30}gT78SvcQ-|Duf|t<)E`{h7a9f&+KzsPu zOOY;v+eCDD75C#S0&7|SyHM~NZcc3Tb#S{VChO)r>hO!~4RD)^UA&3;xk`sl`;3}| zg13PE!7XUHw{aJ0hn`RE$8Y#|(1S~YchPRFblCgn1%puV9xf4(;C;MU3`NkhBjcy& z12pNA;6qGA^)TbGRzpzm5!O{m@G-DIEv3W4smEP{f*9QPHVHmKR8$1ogOkUj;8VQ9 zOcH#CIe3a-j?)_VpId|5%#+}AM6n`h-C`tO2)VW3cC|_H1-PvvMKJ2VF%2mA5?swA z!B=?k2dSXR;&^X+y6Klnx`mZhHg@zQxh};HZw@@J-9hr5zK$Fb9WT{fC8Tc8&IHnSTt|)S19-qH|LVz zC$wuS9agwYzC^*#;OhLimiq-!UJ)!Dy!1Due?>Yb!Ed-&B^A^Sh`QmWl-r2+1wXFk ze#hSrPt9I!5wUoU^5B=MbHq;yq15&3~oQl zp)Ln*w@4ARoLPSn3hKb^Lrc`@;EpaT0^9cRY}Pda7d*a1T~ly-Dkkg3Tr==2q?@5h zeq5_-4(=dV=>Q)Lu#s*7?iiBZ+X>VO?TCJzamOwl?Sc*pgt~%j8UF(W#C#wC literal 207794 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 bXoZoPtDxSoQ1ukIj)N*INWRukwM+Xy=?J^~ literal 108369 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

HPG3A*cF|R4b>^tDg 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 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p2t b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p2t index 16daf53..1df1245 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p2t +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.p2t @@ -1,9 +1,9 @@ --w --l 5 --i 6 --n 1 --t 1 --s 1 --c 0 --e 0 --exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 +-w +-l 5 +-i 6 +-n 1 +-t 1 +-s 1 +-c 0 +-e 0 +-exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.pad b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.pad index ff49f3a..8bebe2f 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.pad +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.pad @@ -1,273 +1,273 @@ -PAD Specification File -*************************** - -PART TYPE: LCMXO2-640HC -Performance Grade: 4 -PACKAGE: TQFP100 -Package Status: Final Version 1.39 - -Wed Aug 16 20:59:41 2023 - -Pinout by Port Name: -+-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ -| Port Name | Pin/Bank | Buffer Type | Site | PG Enable | BC Enable | Properties | -+-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ -| CROW[0] | 10/3 | LVCMOS33_IN | PL3D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| CROW[1] | 16/3 | LVCMOS33_IN | PL6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[0] | 3/3 | LVCMOS33_IN | PL2C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[1] | 96/0 | LVCMOS33_IN | PT6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[2] | 88/0 | LVCMOS33_IN | PT9A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[3] | 97/0 | LVCMOS33_IN | PT6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[4] | 99/0 | LVCMOS33_IN | PT6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[5] | 98/0 | LVCMOS33_IN | PT6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[6] | 2/3 | LVCMOS33_IN | PL2B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[7] | 1/3 | LVCMOS33_IN | PL2A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Dout[0] | 76/0 | LVCMOS33_OUT | PT11D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[1] | 86/0 | LVCMOS33_OUT | PT9C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[2] | 87/0 | LVCMOS33_OUT | PT9B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[3] | 85/0 | LVCMOS33_OUT | PT9D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[4] | 83/0 | LVCMOS33_OUT | PT10B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[5] | 84/0 | LVCMOS33_OUT | PT10A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[6] | 78/0 | LVCMOS33_OUT | PT11A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[7] | 82/0 | LVCMOS33_OUT | PT10C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| LED | 34/2 | LVCMOS33_OUT | PB6C | | | DRIVE:24mA PULL:KEEPER SLEW:SLOW | -| MAin[0] | 14/3 | LVCMOS33_IN | PL5C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[1] | 12/3 | LVCMOS33_IN | PL5A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[2] | 13/3 | LVCMOS33_IN | PL5B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[3] | 21/3 | LVCMOS33_IN | PL7B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[4] | 20/3 | LVCMOS33_IN | PL7A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[5] | 19/3 | LVCMOS33_IN | PL6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[6] | 24/3 | LVCMOS33_IN | PL7C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[7] | 18/3 | LVCMOS33_IN | PL6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[8] | 25/3 | LVCMOS33_IN | PL7D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[9] | 32/2 | LVCMOS33_IN | PB6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| PHI2 | 8/3 | LVCMOS33_IN | PL3B | | | PULL:DOWN CLAMP:ON HYSTERESIS:SMALL | -| RA[0] | 66/1 | LVCMOS33_OUT | PR3D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[10] | 64/1 | LVCMOS33_OUT | PR5B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[11] | 59/1 | LVCMOS33_OUT | PR6B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[1] | 67/1 | LVCMOS33_OUT | PR3C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[2] | 69/1 | LVCMOS33_OUT | PR3A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[3] | 71/1 | LVCMOS33_OUT | PR2C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[4] | 74/1 | LVCMOS33_OUT | PR2B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[5] | 70/1 | LVCMOS33_OUT | PR2D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[6] | 68/1 | LVCMOS33_OUT | PR3B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[7] | 75/1 | LVCMOS33_OUT | PR2A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[8] | 65/1 | LVCMOS33_OUT | PR5A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[9] | 63/1 | LVCMOS33_OUT | PR5C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RBA[0] | 58/1 | LVCMOS33_OUT | PR6C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RBA[1] | 60/1 | LVCMOS33_OUT | PR6A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RCKE | 53/1 | LVCMOS33_OUT | PR7B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RCLK | 62/1 | LVCMOS33_IN | PR5D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| RDQMH | 51/1 | LVCMOS33_OUT | PR7D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RDQML | 48/2 | LVCMOS33_OUT | PB14C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RD[0] | 36/2 | LVCMOS33_BIDI | PB10A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[1] | 37/2 | LVCMOS33_BIDI | PB10B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[2] | 38/2 | LVCMOS33_BIDI | PB10C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[3] | 39/2 | LVCMOS33_BIDI | PB10D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[4] | 40/2 | LVCMOS33_BIDI | PB12A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[5] | 41/2 | LVCMOS33_BIDI | PB12B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[6] | 42/2 | LVCMOS33_BIDI | PB12C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[7] | 43/2 | LVCMOS33_BIDI | PB12D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| nCCAS | 9/3 | LVCMOS33_IN | PL3C | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | -| nCRAS | 17/3 | LVCMOS33_IN | PL6B | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | -| nFWE | 15/3 | LVCMOS33_IN | PL5D | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | -| nRCAS | 52/1 | LVCMOS33_OUT | PR7C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| nRCS | 57/1 | LVCMOS33_OUT | PR6D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| nRRAS | 54/1 | LVCMOS33_OUT | PR7A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| nRWE | 49/2 | LVCMOS33_OUT | PB14D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -+-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ - -Vccio by Bank: -+------+-------+ -| Bank | Vccio | -+------+-------+ -| 0 | 3.3V | -| 1 | 3.3V | -| 2 | 3.3V | -| 3 | 3.3V | -+------+-------+ - -Vref by Bank: -+------+-----+-----------------+---------+ -| Vref | Pin | Bank # / Vref # | Load(s) | -+------+-----+-----------------+---------+ -+------+-----+-----------------+---------+ - -Pinout by Pin Number: -+----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ -| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | PG Enable | BC Enable | -+----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ -| 1/3 | Din[7] | LOCATED | LVCMOS33_IN | PL2A | | | | -| 2/3 | Din[6] | LOCATED | LVCMOS33_IN | PL2B | | | | -| 3/3 | Din[0] | LOCATED | LVCMOS33_IN | PL2C | PCLKT3_2 | | | -| 4/3 | unused, PULL:DOWN | | | PL2D | PCLKC3_2 | | | -| 7/3 | unused, PULL:DOWN | | | PL3A | | | | -| 8/3 | PHI2 | LOCATED | LVCMOS33_IN | PL3B | | | | -| 9/3 | nCCAS | LOCATED | LVCMOS33_IN | PL3C | | | | -| 10/3 | CROW[0] | LOCATED | LVCMOS33_IN | PL3D | | | | -| 12/3 | MAin[1] | LOCATED | LVCMOS33_IN | PL5A | PCLKT3_1 | | | -| 13/3 | MAin[2] | LOCATED | LVCMOS33_IN | PL5B | PCLKC3_1 | | | -| 14/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL5C | | | | -| 15/3 | nFWE | LOCATED | LVCMOS33_IN | PL5D | | | | -| 16/3 | CROW[1] | LOCATED | LVCMOS33_IN | PL6A | | | | -| 17/3 | nCRAS | LOCATED | LVCMOS33_IN | PL6B | | | | -| 18/3 | MAin[7] | LOCATED | LVCMOS33_IN | PL6C | | | | -| 19/3 | MAin[5] | LOCATED | LVCMOS33_IN | PL6D | | | | -| 20/3 | MAin[4] | LOCATED | LVCMOS33_IN | PL7A | PCLKT3_0 | | | -| 21/3 | MAin[3] | LOCATED | LVCMOS33_IN | PL7B | PCLKC3_0 | | | -| 24/3 | MAin[6] | LOCATED | LVCMOS33_IN | PL7C | | | | -| 25/3 | MAin[8] | LOCATED | LVCMOS33_IN | PL7D | | | | -| 27/2 | unused, PULL:DOWN | | | PB4A | CSSPIN | | | -| 28/2 | unused, PULL:DOWN | | | PB4B | | | | -| 29/2 | unused, PULL:DOWN | | | PB4C | | | | -| 30/2 | unused, PULL:DOWN | | | PB4D | | | | -| 31/2 | unused, PULL:DOWN | | | PB6A | MCLK/CCLK | | | -| 32/2 | MAin[9] | LOCATED | LVCMOS33_IN | PB6B | SO/SPISO | | | -| 34/2 | LED | LOCATED | LVCMOS33_OUT | PB6C | PCLKT2_0 | | | -| 35/2 | unused, PULL:DOWN | | | PB6D | PCLKC2_0 | | | -| 36/2 | RD[0] | LOCATED | LVCMOS33_BIDI | PB10A | | | | -| 37/2 | RD[1] | LOCATED | LVCMOS33_BIDI | PB10B | | | | -| 38/2 | RD[2] | LOCATED | LVCMOS33_BIDI | PB10C | PCLKT2_1 | | | -| 39/2 | RD[3] | LOCATED | LVCMOS33_BIDI | PB10D | PCLKC2_1 | | | -| 40/2 | RD[4] | LOCATED | LVCMOS33_BIDI | PB12A | | | | -| 41/2 | RD[5] | LOCATED | LVCMOS33_BIDI | PB12B | | | | -| 42/2 | RD[6] | LOCATED | LVCMOS33_BIDI | PB12C | | | | -| 43/2 | RD[7] | LOCATED | LVCMOS33_BIDI | PB12D | | | | -| 45/2 | unused, PULL:DOWN | | | PB14A | | | | -| 47/2 | unused, PULL:DOWN | | | PB14B | | | | -| 48/2 | RDQML | LOCATED | LVCMOS33_OUT | PB14C | SN | | | -| 49/2 | nRWE | LOCATED | LVCMOS33_OUT | PB14D | SI/SISPI | | | -| 51/1 | RDQMH | LOCATED | LVCMOS33_OUT | PR7D | | | | -| 52/1 | nRCAS | LOCATED | LVCMOS33_OUT | PR7C | | | | -| 53/1 | RCKE | LOCATED | LVCMOS33_OUT | PR7B | | | | -| 54/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR7A | | | | -| 57/1 | nRCS | LOCATED | LVCMOS33_OUT | PR6D | | | | -| 58/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR6C | | | | -| 59/1 | RA[11] | LOCATED | LVCMOS33_OUT | PR6B | | | | -| 60/1 | RBA[1] | LOCATED | LVCMOS33_OUT | PR6A | | | | -| 62/1 | RCLK | LOCATED | LVCMOS33_IN | PR5D | PCLKC1_0 | | | -| 63/1 | RA[9] | LOCATED | LVCMOS33_OUT | PR5C | PCLKT1_0 | | | -| 64/1 | RA[10] | LOCATED | LVCMOS33_OUT | PR5B | | | | -| 65/1 | RA[8] | LOCATED | LVCMOS33_OUT | PR5A | | | | -| 66/1 | RA[0] | LOCATED | LVCMOS33_OUT | PR3D | | | | -| 67/1 | RA[1] | LOCATED | LVCMOS33_OUT | PR3C | | | | -| 68/1 | RA[6] | LOCATED | LVCMOS33_OUT | PR3B | | | | -| 69/1 | RA[2] | LOCATED | LVCMOS33_OUT | PR3A | | | | -| 70/1 | RA[5] | LOCATED | LVCMOS33_OUT | PR2D | | | | -| 71/1 | RA[3] | LOCATED | LVCMOS33_OUT | PR2C | | | | -| 74/1 | RA[4] | LOCATED | LVCMOS33_OUT | PR2B | | | | -| 75/1 | RA[7] | LOCATED | LVCMOS33_OUT | PR2A | | | | -| 76/0 | Dout[0] | LOCATED | LVCMOS33_OUT | PT11D | DONE | | | -| 77/0 | unused, PULL:DOWN | | | PT11C | INITN | | | -| 78/0 | Dout[6] | LOCATED | LVCMOS33_OUT | PT11A | | | | -| 81/0 | unused, PULL:DOWN | | | PT10D | PROGRAMN | | | -| 82/0 | Dout[7] | LOCATED | LVCMOS33_OUT | PT10C | JTAGENB | | | -| 83/0 | Dout[4] | LOCATED | LVCMOS33_OUT | PT10B | | | | -| 84/0 | Dout[5] | LOCATED | LVCMOS33_OUT | PT10A | | | | -| 85/0 | Dout[3] | LOCATED | LVCMOS33_OUT | PT9D | SDA/PCLKC0_0 | | | -| 86/0 | Dout[1] | LOCATED | LVCMOS33_OUT | PT9C | SCL/PCLKT0_0 | | | -| 87/0 | Dout[2] | LOCATED | LVCMOS33_OUT | PT9B | PCLKC0_1 | | | -| 88/0 | Din[2] | LOCATED | LVCMOS33_IN | PT9A | PCLKT0_1 | | | -| 90/0 | Reserved: sysCONFIG | | | PT7D | TMS | | | -| 91/0 | Reserved: sysCONFIG | | | PT7C | TCK | | | -| 94/0 | Reserved: sysCONFIG | | | PT7B | TDI | | | -| 95/0 | Reserved: sysCONFIG | | | PT7A | TDO | | | -| 96/0 | Din[1] | LOCATED | LVCMOS33_IN | PT6D | | | | -| 97/0 | Din[3] | LOCATED | LVCMOS33_IN | PT6C | | | | -| 98/0 | Din[5] | LOCATED | LVCMOS33_IN | PT6B | | | | -| 99/0 | Din[4] | LOCATED | LVCMOS33_IN | PT6A | | | | -| PT11B/0 | unused, PULL:DOWN | | | PT11B | | | | -+----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ - -sysCONFIG Pins: -+----------+--------------------+--------------------+----------+-------------+-------------------+ -| Pad Name | sysCONFIG Pin Name | sysCONFIG Settings | Pin/Bank | Buffer Type | Config Pull Mode | -+----------+--------------------+--------------------+----------+-------------+-------------------+ -| PT7D | TMS | JTAG_PORT=ENABLE | 90/0 | | PULLUP | -| PT7C | TCK/TEST_CLK | JTAG_PORT=ENABLE | 91/0 | | NO pull up/down | -| PT7B | TDI/MD7 | JTAG_PORT=ENABLE | 94/0 | | PULLUP | -| PT7A | TDO | JTAG_PORT=ENABLE | 95/0 | | PULLUP | -+----------+--------------------+--------------------+----------+-------------+-------------------+ - -Dedicated sysCONFIG Pins: - - -List of All Pins' Locate Preferences Based on Final Placement After PAR -to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): - -LOCATE COMP "CROW[0]" SITE "10"; -LOCATE COMP "CROW[1]" SITE "16"; -LOCATE COMP "Din[0]" SITE "3"; -LOCATE COMP "Din[1]" SITE "96"; -LOCATE COMP "Din[2]" SITE "88"; -LOCATE COMP "Din[3]" SITE "97"; -LOCATE COMP "Din[4]" SITE "99"; -LOCATE COMP "Din[5]" SITE "98"; -LOCATE COMP "Din[6]" SITE "2"; -LOCATE COMP "Din[7]" SITE "1"; -LOCATE COMP "Dout[0]" SITE "76"; -LOCATE COMP "Dout[1]" SITE "86"; -LOCATE COMP "Dout[2]" SITE "87"; -LOCATE COMP "Dout[3]" SITE "85"; -LOCATE COMP "Dout[4]" SITE "83"; -LOCATE COMP "Dout[5]" SITE "84"; -LOCATE COMP "Dout[6]" SITE "78"; -LOCATE COMP "Dout[7]" SITE "82"; -LOCATE COMP "LED" SITE "34"; -LOCATE COMP "MAin[0]" SITE "14"; -LOCATE COMP "MAin[1]" SITE "12"; -LOCATE COMP "MAin[2]" SITE "13"; -LOCATE COMP "MAin[3]" SITE "21"; -LOCATE COMP "MAin[4]" SITE "20"; -LOCATE COMP "MAin[5]" SITE "19"; -LOCATE COMP "MAin[6]" SITE "24"; -LOCATE COMP "MAin[7]" SITE "18"; -LOCATE COMP "MAin[8]" SITE "25"; -LOCATE COMP "MAin[9]" SITE "32"; -LOCATE COMP "PHI2" SITE "8"; -LOCATE COMP "RA[0]" SITE "66"; -LOCATE COMP "RA[10]" SITE "64"; -LOCATE COMP "RA[11]" SITE "59"; -LOCATE COMP "RA[1]" SITE "67"; -LOCATE COMP "RA[2]" SITE "69"; -LOCATE COMP "RA[3]" SITE "71"; -LOCATE COMP "RA[4]" SITE "74"; -LOCATE COMP "RA[5]" SITE "70"; -LOCATE COMP "RA[6]" SITE "68"; -LOCATE COMP "RA[7]" SITE "75"; -LOCATE COMP "RA[8]" SITE "65"; -LOCATE COMP "RA[9]" SITE "63"; -LOCATE COMP "RBA[0]" SITE "58"; -LOCATE COMP "RBA[1]" SITE "60"; -LOCATE COMP "RCKE" SITE "53"; -LOCATE COMP "RCLK" SITE "62"; -LOCATE COMP "RDQMH" SITE "51"; -LOCATE COMP "RDQML" SITE "48"; -LOCATE COMP "RD[0]" SITE "36"; -LOCATE COMP "RD[1]" SITE "37"; -LOCATE COMP "RD[2]" SITE "38"; -LOCATE COMP "RD[3]" SITE "39"; -LOCATE COMP "RD[4]" SITE "40"; -LOCATE COMP "RD[5]" SITE "41"; -LOCATE COMP "RD[6]" SITE "42"; -LOCATE COMP "RD[7]" SITE "43"; -LOCATE COMP "nCCAS" SITE "9"; -LOCATE COMP "nCRAS" SITE "17"; -LOCATE COMP "nFWE" SITE "15"; -LOCATE COMP "nRCAS" SITE "52"; -LOCATE COMP "nRCS" SITE "57"; -LOCATE COMP "nRRAS" SITE "54"; -LOCATE COMP "nRWE" SITE "49"; - - - - - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:42 2023 - +PAD Specification File +*************************** + +PART TYPE: LCMXO2-640HC +Performance Grade: 4 +PACKAGE: TQFP100 +Package Status: Final Version 1.39 + +Sat Aug 19 21:55:06 2023 + +Pinout by Port Name: ++-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ +| Port Name | Pin/Bank | Buffer Type | Site | PG Enable | BC Enable | Properties | ++-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ +| CROW[0] | 10/3 | LVCMOS33_IN | PL3D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| CROW[1] | 16/3 | LVCMOS33_IN | PL6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[0] | 3/3 | LVCMOS33_IN | PL2C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[1] | 96/0 | LVCMOS33_IN | PT6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[2] | 88/0 | LVCMOS33_IN | PT9A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[3] | 97/0 | LVCMOS33_IN | PT6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[4] | 99/0 | LVCMOS33_IN | PT6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[5] | 98/0 | LVCMOS33_IN | PT6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[6] | 2/3 | LVCMOS33_IN | PL2B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[7] | 1/3 | LVCMOS33_IN | PL2A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Dout[0] | 76/0 | LVCMOS33_OUT | PT11D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[1] | 86/0 | LVCMOS33_OUT | PT9C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[2] | 87/0 | LVCMOS33_OUT | PT9B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[3] | 85/0 | LVCMOS33_OUT | PT9D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[4] | 83/0 | LVCMOS33_OUT | PT10B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[5] | 84/0 | LVCMOS33_OUT | PT10A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[6] | 78/0 | LVCMOS33_OUT | PT11A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[7] | 82/0 | LVCMOS33_OUT | PT10C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| LED | 34/2 | LVCMOS33_OUT | PB6C | | | DRIVE:24mA PULL:KEEPER SLEW:SLOW | +| MAin[0] | 14/3 | LVCMOS33_IN | PL5C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[1] | 12/3 | LVCMOS33_IN | PL5A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[2] | 13/3 | LVCMOS33_IN | PL5B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[3] | 21/3 | LVCMOS33_IN | PL7B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[4] | 20/3 | LVCMOS33_IN | PL7A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[5] | 19/3 | LVCMOS33_IN | PL6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[6] | 24/3 | LVCMOS33_IN | PL7C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[7] | 18/3 | LVCMOS33_IN | PL6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[8] | 25/3 | LVCMOS33_IN | PL7D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[9] | 32/2 | LVCMOS33_IN | PB6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| PHI2 | 8/3 | LVCMOS33_IN | PL3B | | | PULL:DOWN CLAMP:ON HYSTERESIS:SMALL | +| RA[0] | 66/1 | LVCMOS33_OUT | PR3D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[10] | 64/1 | LVCMOS33_OUT | PR5B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[11] | 59/1 | LVCMOS33_OUT | PR6B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[1] | 67/1 | LVCMOS33_OUT | PR3C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[2] | 69/1 | LVCMOS33_OUT | PR3A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[3] | 71/1 | LVCMOS33_OUT | PR2C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[4] | 74/1 | LVCMOS33_OUT | PR2B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[5] | 70/1 | LVCMOS33_OUT | PR2D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[6] | 68/1 | LVCMOS33_OUT | PR3B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[7] | 75/1 | LVCMOS33_OUT | PR2A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[8] | 65/1 | LVCMOS33_OUT | PR5A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[9] | 63/1 | LVCMOS33_OUT | PR5C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RBA[0] | 58/1 | LVCMOS33_OUT | PR6C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RBA[1] | 60/1 | LVCMOS33_OUT | PR6A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RCKE | 53/1 | LVCMOS33_OUT | PR7B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RCLK | 62/1 | LVCMOS33_IN | PR5D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| RDQMH | 51/1 | LVCMOS33_OUT | PR7D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RDQML | 48/2 | LVCMOS33_OUT | PB14C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RD[0] | 36/2 | LVCMOS33_BIDI | PB10A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[1] | 37/2 | LVCMOS33_BIDI | PB10B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[2] | 38/2 | LVCMOS33_BIDI | PB10C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[3] | 39/2 | LVCMOS33_BIDI | PB10D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[4] | 40/2 | LVCMOS33_BIDI | PB12A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[5] | 41/2 | LVCMOS33_BIDI | PB12B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[6] | 42/2 | LVCMOS33_BIDI | PB12C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[7] | 43/2 | LVCMOS33_BIDI | PB12D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| nCCAS | 9/3 | LVCMOS33_IN | PL3C | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | +| nCRAS | 17/3 | LVCMOS33_IN | PL6B | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | +| nFWE | 15/3 | LVCMOS33_IN | PL5D | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | +| nRCAS | 52/1 | LVCMOS33_OUT | PR7C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| nRCS | 57/1 | LVCMOS33_OUT | PR6D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| nRRAS | 54/1 | LVCMOS33_OUT | PR7A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| nRWE | 49/2 | LVCMOS33_OUT | PB14D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | ++-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ + +Vccio by Bank: ++------+-------+ +| Bank | Vccio | ++------+-------+ +| 0 | 3.3V | +| 1 | 3.3V | +| 2 | 3.3V | +| 3 | 3.3V | ++------+-------+ + +Vref by Bank: ++------+-----+-----------------+---------+ +| Vref | Pin | Bank # / Vref # | Load(s) | ++------+-----+-----------------+---------+ ++------+-----+-----------------+---------+ + +Pinout by Pin Number: ++----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ +| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | PG Enable | BC Enable | ++----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ +| 1/3 | Din[7] | LOCATED | LVCMOS33_IN | PL2A | | | | +| 2/3 | Din[6] | LOCATED | LVCMOS33_IN | PL2B | | | | +| 3/3 | Din[0] | LOCATED | LVCMOS33_IN | PL2C | PCLKT3_2 | | | +| 4/3 | unused, PULL:DOWN | | | PL2D | PCLKC3_2 | | | +| 7/3 | unused, PULL:DOWN | | | PL3A | | | | +| 8/3 | PHI2 | LOCATED | LVCMOS33_IN | PL3B | | | | +| 9/3 | nCCAS | LOCATED | LVCMOS33_IN | PL3C | | | | +| 10/3 | CROW[0] | LOCATED | LVCMOS33_IN | PL3D | | | | +| 12/3 | MAin[1] | LOCATED | LVCMOS33_IN | PL5A | PCLKT3_1 | | | +| 13/3 | MAin[2] | LOCATED | LVCMOS33_IN | PL5B | PCLKC3_1 | | | +| 14/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL5C | | | | +| 15/3 | nFWE | LOCATED | LVCMOS33_IN | PL5D | | | | +| 16/3 | CROW[1] | LOCATED | LVCMOS33_IN | PL6A | | | | +| 17/3 | nCRAS | LOCATED | LVCMOS33_IN | PL6B | | | | +| 18/3 | MAin[7] | LOCATED | LVCMOS33_IN | PL6C | | | | +| 19/3 | MAin[5] | LOCATED | LVCMOS33_IN | PL6D | | | | +| 20/3 | MAin[4] | LOCATED | LVCMOS33_IN | PL7A | PCLKT3_0 | | | +| 21/3 | MAin[3] | LOCATED | LVCMOS33_IN | PL7B | PCLKC3_0 | | | +| 24/3 | MAin[6] | LOCATED | LVCMOS33_IN | PL7C | | | | +| 25/3 | MAin[8] | LOCATED | LVCMOS33_IN | PL7D | | | | +| 27/2 | unused, PULL:DOWN | | | PB4A | CSSPIN | | | +| 28/2 | unused, PULL:DOWN | | | PB4B | | | | +| 29/2 | unused, PULL:DOWN | | | PB4C | | | | +| 30/2 | unused, PULL:DOWN | | | PB4D | | | | +| 31/2 | unused, PULL:DOWN | | | PB6A | MCLK/CCLK | | | +| 32/2 | MAin[9] | LOCATED | LVCMOS33_IN | PB6B | SO/SPISO | | | +| 34/2 | LED | LOCATED | LVCMOS33_OUT | PB6C | PCLKT2_0 | | | +| 35/2 | unused, PULL:DOWN | | | PB6D | PCLKC2_0 | | | +| 36/2 | RD[0] | LOCATED | LVCMOS33_BIDI | PB10A | | | | +| 37/2 | RD[1] | LOCATED | LVCMOS33_BIDI | PB10B | | | | +| 38/2 | RD[2] | LOCATED | LVCMOS33_BIDI | PB10C | PCLKT2_1 | | | +| 39/2 | RD[3] | LOCATED | LVCMOS33_BIDI | PB10D | PCLKC2_1 | | | +| 40/2 | RD[4] | LOCATED | LVCMOS33_BIDI | PB12A | | | | +| 41/2 | RD[5] | LOCATED | LVCMOS33_BIDI | PB12B | | | | +| 42/2 | RD[6] | LOCATED | LVCMOS33_BIDI | PB12C | | | | +| 43/2 | RD[7] | LOCATED | LVCMOS33_BIDI | PB12D | | | | +| 45/2 | unused, PULL:DOWN | | | PB14A | | | | +| 47/2 | unused, PULL:DOWN | | | PB14B | | | | +| 48/2 | RDQML | LOCATED | LVCMOS33_OUT | PB14C | SN | | | +| 49/2 | nRWE | LOCATED | LVCMOS33_OUT | PB14D | SI/SISPI | | | +| 51/1 | RDQMH | LOCATED | LVCMOS33_OUT | PR7D | | | | +| 52/1 | nRCAS | LOCATED | LVCMOS33_OUT | PR7C | | | | +| 53/1 | RCKE | LOCATED | LVCMOS33_OUT | PR7B | | | | +| 54/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR7A | | | | +| 57/1 | nRCS | LOCATED | LVCMOS33_OUT | PR6D | | | | +| 58/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR6C | | | | +| 59/1 | RA[11] | LOCATED | LVCMOS33_OUT | PR6B | | | | +| 60/1 | RBA[1] | LOCATED | LVCMOS33_OUT | PR6A | | | | +| 62/1 | RCLK | LOCATED | LVCMOS33_IN | PR5D | PCLKC1_0 | | | +| 63/1 | RA[9] | LOCATED | LVCMOS33_OUT | PR5C | PCLKT1_0 | | | +| 64/1 | RA[10] | LOCATED | LVCMOS33_OUT | PR5B | | | | +| 65/1 | RA[8] | LOCATED | LVCMOS33_OUT | PR5A | | | | +| 66/1 | RA[0] | LOCATED | LVCMOS33_OUT | PR3D | | | | +| 67/1 | RA[1] | LOCATED | LVCMOS33_OUT | PR3C | | | | +| 68/1 | RA[6] | LOCATED | LVCMOS33_OUT | PR3B | | | | +| 69/1 | RA[2] | LOCATED | LVCMOS33_OUT | PR3A | | | | +| 70/1 | RA[5] | LOCATED | LVCMOS33_OUT | PR2D | | | | +| 71/1 | RA[3] | LOCATED | LVCMOS33_OUT | PR2C | | | | +| 74/1 | RA[4] | LOCATED | LVCMOS33_OUT | PR2B | | | | +| 75/1 | RA[7] | LOCATED | LVCMOS33_OUT | PR2A | | | | +| 76/0 | Dout[0] | LOCATED | LVCMOS33_OUT | PT11D | DONE | | | +| 77/0 | unused, PULL:DOWN | | | PT11C | INITN | | | +| 78/0 | Dout[6] | LOCATED | LVCMOS33_OUT | PT11A | | | | +| 81/0 | unused, PULL:DOWN | | | PT10D | PROGRAMN | | | +| 82/0 | Dout[7] | LOCATED | LVCMOS33_OUT | PT10C | JTAGENB | | | +| 83/0 | Dout[4] | LOCATED | LVCMOS33_OUT | PT10B | | | | +| 84/0 | Dout[5] | LOCATED | LVCMOS33_OUT | PT10A | | | | +| 85/0 | Dout[3] | LOCATED | LVCMOS33_OUT | PT9D | SDA/PCLKC0_0 | | | +| 86/0 | Dout[1] | LOCATED | LVCMOS33_OUT | PT9C | SCL/PCLKT0_0 | | | +| 87/0 | Dout[2] | LOCATED | LVCMOS33_OUT | PT9B | PCLKC0_1 | | | +| 88/0 | Din[2] | LOCATED | LVCMOS33_IN | PT9A | PCLKT0_1 | | | +| 90/0 | Reserved: sysCONFIG | | | PT7D | TMS | | | +| 91/0 | Reserved: sysCONFIG | | | PT7C | TCK | | | +| 94/0 | Reserved: sysCONFIG | | | PT7B | TDI | | | +| 95/0 | Reserved: sysCONFIG | | | PT7A | TDO | | | +| 96/0 | Din[1] | LOCATED | LVCMOS33_IN | PT6D | | | | +| 97/0 | Din[3] | LOCATED | LVCMOS33_IN | PT6C | | | | +| 98/0 | Din[5] | LOCATED | LVCMOS33_IN | PT6B | | | | +| 99/0 | Din[4] | LOCATED | LVCMOS33_IN | PT6A | | | | +| PT11B/0 | unused, PULL:DOWN | | | PT11B | | | | ++----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ + +sysCONFIG Pins: ++----------+--------------------+--------------------+----------+-------------+-------------------+ +| Pad Name | sysCONFIG Pin Name | sysCONFIG Settings | Pin/Bank | Buffer Type | Config Pull Mode | ++----------+--------------------+--------------------+----------+-------------+-------------------+ +| PT7D | TMS | JTAG_PORT=ENABLE | 90/0 | | PULLUP | +| PT7C | TCK/TEST_CLK | JTAG_PORT=ENABLE | 91/0 | | NO pull up/down | +| PT7B | TDI/MD7 | JTAG_PORT=ENABLE | 94/0 | | PULLUP | +| PT7A | TDO | JTAG_PORT=ENABLE | 95/0 | | PULLUP | ++----------+--------------------+--------------------+----------+-------------+-------------------+ + +Dedicated sysCONFIG Pins: + + +List of All Pins' Locate Preferences Based on Final Placement After PAR +to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): + +LOCATE COMP "CROW[0]" SITE "10"; +LOCATE COMP "CROW[1]" SITE "16"; +LOCATE COMP "Din[0]" SITE "3"; +LOCATE COMP "Din[1]" SITE "96"; +LOCATE COMP "Din[2]" SITE "88"; +LOCATE COMP "Din[3]" SITE "97"; +LOCATE COMP "Din[4]" SITE "99"; +LOCATE COMP "Din[5]" SITE "98"; +LOCATE COMP "Din[6]" SITE "2"; +LOCATE COMP "Din[7]" SITE "1"; +LOCATE COMP "Dout[0]" SITE "76"; +LOCATE COMP "Dout[1]" SITE "86"; +LOCATE COMP "Dout[2]" SITE "87"; +LOCATE COMP "Dout[3]" SITE "85"; +LOCATE COMP "Dout[4]" SITE "83"; +LOCATE COMP "Dout[5]" SITE "84"; +LOCATE COMP "Dout[6]" SITE "78"; +LOCATE COMP "Dout[7]" SITE "82"; +LOCATE COMP "LED" SITE "34"; +LOCATE COMP "MAin[0]" SITE "14"; +LOCATE COMP "MAin[1]" SITE "12"; +LOCATE COMP "MAin[2]" SITE "13"; +LOCATE COMP "MAin[3]" SITE "21"; +LOCATE COMP "MAin[4]" SITE "20"; +LOCATE COMP "MAin[5]" SITE "19"; +LOCATE COMP "MAin[6]" SITE "24"; +LOCATE COMP "MAin[7]" SITE "18"; +LOCATE COMP "MAin[8]" SITE "25"; +LOCATE COMP "MAin[9]" SITE "32"; +LOCATE COMP "PHI2" SITE "8"; +LOCATE COMP "RA[0]" SITE "66"; +LOCATE COMP "RA[10]" SITE "64"; +LOCATE COMP "RA[11]" SITE "59"; +LOCATE COMP "RA[1]" SITE "67"; +LOCATE COMP "RA[2]" SITE "69"; +LOCATE COMP "RA[3]" SITE "71"; +LOCATE COMP "RA[4]" SITE "74"; +LOCATE COMP "RA[5]" SITE "70"; +LOCATE COMP "RA[6]" SITE "68"; +LOCATE COMP "RA[7]" SITE "75"; +LOCATE COMP "RA[8]" SITE "65"; +LOCATE COMP "RA[9]" SITE "63"; +LOCATE COMP "RBA[0]" SITE "58"; +LOCATE COMP "RBA[1]" SITE "60"; +LOCATE COMP "RCKE" SITE "53"; +LOCATE COMP "RCLK" SITE "62"; +LOCATE COMP "RDQMH" SITE "51"; +LOCATE COMP "RDQML" SITE "48"; +LOCATE COMP "RD[0]" SITE "36"; +LOCATE COMP "RD[1]" SITE "37"; +LOCATE COMP "RD[2]" SITE "38"; +LOCATE COMP "RD[3]" SITE "39"; +LOCATE COMP "RD[4]" SITE "40"; +LOCATE COMP "RD[5]" SITE "41"; +LOCATE COMP "RD[6]" SITE "42"; +LOCATE COMP "RD[7]" SITE "43"; +LOCATE COMP "nCCAS" SITE "9"; +LOCATE COMP "nCRAS" SITE "17"; +LOCATE COMP "nFWE" SITE "15"; +LOCATE COMP "nRCAS" SITE "52"; +LOCATE COMP "nRCS" SITE "57"; +LOCATE COMP "nRRAS" SITE "54"; +LOCATE COMP "nRWE" SITE "49"; + + + + + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 21:55:09 2023 + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.par b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.par index 4ca9e57..2ef15d4 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.par +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.par @@ -1,264 +1,243 @@ -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:37 2023 - -C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f LCMXO2_640HC_impl1.p2t -LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir LCMXO2_640HC_impl1.prf -gui --msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml - - -Preference file: LCMXO2_640HC_impl1.prf. - -Level/ Number Worst Timing Worst Timing Run NCD -Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ----------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 4.922 0 0.088 0 07 Completed - -* : Design saved. - -Total (real) run time for 1-seed: 7 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" -Wed Aug 16 20:59:37 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf -Preference file: LCMXO2_640HC_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file LCMXO2_640HC_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO2-640HC -Package: TQFP100 -Performance: 4 -Loading device for application par from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.39. -Performance Hardware Data Status: Final Version 34.4. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 63+4(JTAG)/80 84% used - 63+4(JTAG)/79 85% bonded - IOLOGIC 25/80 31% used - - SLICE 117/320 36% used - - EFB 1/1 100% used - - -Number of Signals: 380 -Number of Connections: 1008 - -Pin Constraint Summary: - 63 out of 63 pins locked (100% locked). - -The following 3 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 46) - PHI2_c (driver: PHI2, clk load #: 19) - nCRAS_c (driver: nCRAS, clk load #: 10) - -WARNING - par: Signal "RCLK_c" is selected to use Primary clock resources. However, its driver comp "RCLK" is located at "62", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -WARNING - par: Signal "PHI2_c" is selected to use Primary clock resources. However, its driver comp "PHI2" is located at "8", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -WARNING - par: Signal "nCRAS_c" is selected to use Primary clock resources. However, its driver comp "nCRAS" is located at "17", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. - -The following 2 signals are selected to use the secondary clock routing resources: - nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) - un1_wb_clk32_i (driver: SLICE_103, clk load #: 0, sr load #: 0, ce load #: 10) - -WARNING - par: Signal "nCCAS_c" is selected to use Secondary clock resources. However, its driver comp "nCCAS" is located at "9", which is not a dedicated pin for connecting to Secondary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -.............. -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -................... -Placer score = 55012. -Finished Placer Phase 1. REAL time: 4 secs - -Starting Placer Phase 2. -. -Placer score = 54994 -Finished Placer Phase 2. REAL time: 4 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 0 out of 8 (0%) - General PIO: 4 out of 80 (5%) - DCM : 0 out of 2 (0%) - DCC : 0 out of 8 (0%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 46 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 19 - PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 - SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 - SECONDARY "un1_wb_clk32_i" from F0 on comp "SLICE_103" on site "R6C8B", clk load = 0, ce load = 10, sr load = 0 - - PRIMARY : 3 out of 8 (37%) - SECONDARY: 2 out of 8 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 63 + 4(JTAG) out of 80 (83.8%) PIO sites used. - 63 + 4(JTAG) out of 79 (84.8%) bonded PIO sites used. - Number of PIO comps: 63; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+-----------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref | -+----------+----------------+------------+-----------+ -| 0 | 13 / 19 ( 68%) | 3.3V | - | -| 1 | 20 / 20 (100%) | 3.3V | - | -| 2 | 12 / 20 ( 60%) | 3.3V | - | -| 3 | 18 / 20 ( 90%) | 3.3V | - | -+----------+----------------+------------+-----------+ - -Total placer CPU time: 3 secs - -Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. - -0 connections routed; 1008 unrouted. -Starting router resource preassignment -WARNING - par: The driver of primary clock net RCLK_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. -WARNING - par: The driver of primary clock net nCRAS_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=wb_clk loads=1 clock_loads=1 - -Completed router resource preassignment. Real time: 5 secs - -Start NBR router at 20:59:43 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 20:59:43 08/16/23 - -Start NBR section for initial routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 2, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 3, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -7(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 11(1.09%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 2 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 20:59:43 08/16/23 -Level 4, iteration 0 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 0.083ns/0.000ns; real time: 6 secs -Level 4, iteration 0 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.902ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.902ns/0.000ns; real time: 6 secs - -Start NBR section for re-routing at 20:59:44 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 7 secs - -Start NBR section for post-routing at 20:59:44 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 4.922ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=wb_clk loads=1 clock_loads=1 - -Total CPU time 6 secs -Total REAL time: 7 secs -Completely routed. -End of route. 1008 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. - - -All signals are completely routed. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 4.922 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.088 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 6 secs -Total REAL time to completion: 7 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 21:55:01 2023 + +C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f LCMXO2_640HC_impl1.p2t +LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir LCMXO2_640HC_impl1.prf -gui +-msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml + + +Preference file: LCMXO2_640HC_impl1.prf. + +Level/ Number Worst Timing Worst Timing Run NCD +Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status +---------- -------- ----- ------ ----------- ----------- ---- ------ +5_1 * 0 6.966 0 0.304 0 10 Completed + +* : Design saved. + +Total (real) run time for 1-seed: 10 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" +Sat Aug 19 21:55:01 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf +Preference file: LCMXO2_640HC_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file LCMXO2_640HC_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application par from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 63+4(JTAG)/80 84% used + 63+4(JTAG)/79 85% bonded + IOLOGIC 25/80 31% used + + SLICE 113/320 35% used + + EFB 1/1 100% used + + +Number of Signals: 374 +Number of Connections: 978 + +Pin Constraint Summary: + 63 out of 63 pins locked (100% locked). + +The following 3 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 47) + PHI2_c (driver: PHI2, clk load #: 21) + nCRAS_c (driver: nCRAS, clk load #: 10) + +WARNING - par: Signal "RCLK_c" is selected to use Primary clock resources. However, its driver comp "RCLK" is located at "62", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. +WARNING - par: Signal "PHI2_c" is selected to use Primary clock resources. However, its driver comp "PHI2" is located at "8", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. +WARNING - par: Signal "nCRAS_c" is selected to use Primary clock resources. However, its driver comp "nCRAS" is located at "17", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. + +The following 1 signal is selected to use the secondary clock routing resources: + nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) + +WARNING - par: Signal "nCCAS_c" is selected to use Secondary clock resources. However, its driver comp "nCCAS" is located at "9", which is not a dedicated pin for connecting to Secondary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +............ +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +.................... +Placer score = 53481. +Finished Placer Phase 1. REAL time: 5 secs + +Starting Placer Phase 2. +. +Placer score = 53406 +Finished Placer Phase 2. REAL time: 5 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 0 out of 8 (0%) + General PIO: 4 out of 80 (5%) + DCM : 0 out of 2 (0%) + DCC : 0 out of 8 (0%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 47 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 21 + PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 + SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 3 out of 8 (37%) + SECONDARY: 1 out of 8 (12%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 63 + 4(JTAG) out of 80 (83.8%) PIO sites used. + 63 + 4(JTAG) out of 79 (84.8%) bonded PIO sites used. + Number of PIO comps: 63; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+-----------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref | ++----------+----------------+------------+-----------+ +| 0 | 13 / 19 ( 68%) | 3.3V | - | +| 1 | 20 / 20 (100%) | 3.3V | - | +| 2 | 12 / 20 ( 60%) | 3.3V | - | +| 3 | 18 / 20 ( 90%) | 3.3V | - | ++----------+----------------+------------+-----------+ + +Total placer CPU time: 5 secs + +Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. + +0 connections routed; 978 unrouted. +Starting router resource preassignment +WARNING - par: The driver of primary clock net RCLK_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. +WARNING - par: The driver of primary clock net nCRAS_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. + +Completed router resource preassignment. Real time: 8 secs + +Start NBR router at 21:55:09 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 21:55:09 08/19/23 + +Start NBR section for initial routing at 21:55:10 08/19/23 +Level 1, iteration 1 +0(0.00%) conflict; 776(79.35%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.085ns/0.000ns; real time: 9 secs +Level 2, iteration 1 +0(0.00%) conflict; 771(78.83%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.138ns/0.000ns; real time: 9 secs +Level 3, iteration 1 +0(0.00%) conflict; 765(78.22%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.276ns/0.000ns; real time: 9 secs +Level 4, iteration 1 +10(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 21:55:10 08/19/23 +Level 4, iteration 1 +3(0.01%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs +Level 4, iteration 2 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 21:55:10 08/19/23 + +Start NBR section for re-routing at 21:55:10 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Start NBR section for post-routing at 21:55:10 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 6.966ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +Total CPU time 9 secs +Total REAL time: 9 secs +Completely routed. +End of route. 978 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. + + +All signals are completely routed. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 6.966 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.304 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 9 secs +Total REAL time to completion: 10 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.prf b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.prf index ed37f0e..6d8d9d3 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.prf +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.prf @@ -1,75 +1,75 @@ -SCHEMATIC START ; -# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Wed Aug 16 20:59:37 2023 - -SYSCONFIG SDM_PORT=DISABLE SLAVE_SPI_PORT=DISABLE I2C_PORT=DISABLE MASTER_SPI_PORT=DISABLE COMPRESS_CONFIG=ON CONFIGURATION=CFG MY_ASSP=OFF ONE_TIME_PROGRAM=OFF CONFIG_SECURE=OFF MCCLK_FREQ=2.08 JTAG_PORT=ENABLE ENABLE_TRANSFR=DISABLE SHAREDEBRINIT=DISABLE MUX_CONFIGURATION_PORTS=DISABLE BACKGROUND_RECONFIG=OFF INBUF=ON ; -LOCATE COMP "RD[0]" SITE "36" ; -LOCATE COMP "Dout[0]" SITE "76" ; -LOCATE COMP "PHI2" SITE "8" ; -LOCATE COMP "RDQML" SITE "48" ; -LOCATE COMP "RDQMH" SITE "51" ; -LOCATE COMP "nRCAS" SITE "52" ; -LOCATE COMP "nRRAS" SITE "54" ; -LOCATE COMP "nRWE" SITE "49" ; -LOCATE COMP "RCKE" SITE "53" ; -LOCATE COMP "RCLK" SITE "62" ; -LOCATE COMP "nRCS" SITE "57" ; -LOCATE COMP "RD[7]" SITE "43" ; -LOCATE COMP "RD[6]" SITE "42" ; -LOCATE COMP "RD[5]" SITE "41" ; -LOCATE COMP "RD[4]" SITE "40" ; -LOCATE COMP "RD[3]" SITE "39" ; -LOCATE COMP "RD[2]" SITE "38" ; -LOCATE COMP "RD[1]" SITE "37" ; -LOCATE COMP "RA[11]" SITE "59" ; -LOCATE COMP "RA[10]" SITE "64" ; -LOCATE COMP "RA[9]" SITE "63" ; -LOCATE COMP "RA[8]" SITE "65" ; -LOCATE COMP "RA[7]" SITE "75" ; -LOCATE COMP "RA[6]" SITE "68" ; -LOCATE COMP "RA[5]" SITE "70" ; -LOCATE COMP "RA[4]" SITE "74" ; -LOCATE COMP "RA[3]" SITE "71" ; -LOCATE COMP "RA[2]" SITE "69" ; -LOCATE COMP "RA[1]" SITE "67" ; -LOCATE COMP "RA[0]" SITE "66" ; -LOCATE COMP "RBA[1]" SITE "60" ; -LOCATE COMP "RBA[0]" SITE "58" ; -LOCATE COMP "LED" SITE "34" ; -LOCATE COMP "nFWE" SITE "15" ; -LOCATE COMP "nCRAS" SITE "17" ; -LOCATE COMP "nCCAS" SITE "9" ; -LOCATE COMP "Dout[7]" SITE "82" ; -LOCATE COMP "Dout[6]" SITE "78" ; -LOCATE COMP "Dout[5]" SITE "84" ; -LOCATE COMP "Dout[4]" SITE "83" ; -LOCATE COMP "Dout[3]" SITE "85" ; -LOCATE COMP "Dout[2]" SITE "87" ; -LOCATE COMP "Dout[1]" SITE "86" ; -LOCATE COMP "Din[7]" SITE "1" ; -LOCATE COMP "Din[6]" SITE "2" ; -LOCATE COMP "Din[5]" SITE "98" ; -LOCATE COMP "Din[4]" SITE "99" ; -LOCATE COMP "Din[3]" SITE "97" ; -LOCATE COMP "Din[2]" SITE "88" ; -LOCATE COMP "Din[1]" SITE "96" ; -LOCATE COMP "Din[0]" SITE "3" ; -LOCATE COMP "CROW[1]" SITE "16" ; -LOCATE COMP "CROW[0]" SITE "10" ; -LOCATE COMP "MAin[9]" SITE "32" ; -LOCATE COMP "MAin[8]" SITE "25" ; -LOCATE COMP "MAin[7]" SITE "18" ; -LOCATE COMP "MAin[6]" SITE "24" ; -LOCATE COMP "MAin[5]" SITE "19" ; -LOCATE COMP "MAin[4]" SITE "20" ; -LOCATE COMP "MAin[3]" SITE "21" ; -LOCATE COMP "MAin[2]" SITE "13" ; -LOCATE COMP "MAin[1]" SITE "12" ; -LOCATE COMP "MAin[0]" SITE "14" ; -FREQUENCY PORT "PHI2" 2.900000 MHz ; -FREQUENCY PORT "nCCAS" 2.900000 MHz ; -FREQUENCY PORT "nCRAS" 2.900000 MHz ; -FREQUENCY PORT "RCLK" 62.500000 MHz ; -SCHEMATIC END ; -BLOCK RESETPATHS ; -BLOCK ASYNCPATHS ; -COMMERCIAL ; +SCHEMATIC START ; +# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Sat Aug 19 21:54:57 2023 + +SYSCONFIG SDM_PORT=DISABLE SLAVE_SPI_PORT=DISABLE I2C_PORT=DISABLE MASTER_SPI_PORT=DISABLE COMPRESS_CONFIG=ON CONFIGURATION=CFG MY_ASSP=OFF ONE_TIME_PROGRAM=OFF CONFIG_SECURE=OFF MCCLK_FREQ=2.08 JTAG_PORT=ENABLE ENABLE_TRANSFR=DISABLE SHAREDEBRINIT=DISABLE MUX_CONFIGURATION_PORTS=DISABLE BACKGROUND_RECONFIG=OFF INBUF=ON ; +LOCATE COMP "RD[0]" SITE "36" ; +LOCATE COMP "Dout[0]" SITE "76" ; +LOCATE COMP "PHI2" SITE "8" ; +LOCATE COMP "RDQML" SITE "48" ; +LOCATE COMP "RDQMH" SITE "51" ; +LOCATE COMP "nRCAS" SITE "52" ; +LOCATE COMP "nRRAS" SITE "54" ; +LOCATE COMP "nRWE" SITE "49" ; +LOCATE COMP "RCKE" SITE "53" ; +LOCATE COMP "RCLK" SITE "62" ; +LOCATE COMP "nRCS" SITE "57" ; +LOCATE COMP "RD[7]" SITE "43" ; +LOCATE COMP "RD[6]" SITE "42" ; +LOCATE COMP "RD[5]" SITE "41" ; +LOCATE COMP "RD[4]" SITE "40" ; +LOCATE COMP "RD[3]" SITE "39" ; +LOCATE COMP "RD[2]" SITE "38" ; +LOCATE COMP "RD[1]" SITE "37" ; +LOCATE COMP "RA[11]" SITE "59" ; +LOCATE COMP "RA[10]" SITE "64" ; +LOCATE COMP "RA[9]" SITE "63" ; +LOCATE COMP "RA[8]" SITE "65" ; +LOCATE COMP "RA[7]" SITE "75" ; +LOCATE COMP "RA[6]" SITE "68" ; +LOCATE COMP "RA[5]" SITE "70" ; +LOCATE COMP "RA[4]" SITE "74" ; +LOCATE COMP "RA[3]" SITE "71" ; +LOCATE COMP "RA[2]" SITE "69" ; +LOCATE COMP "RA[1]" SITE "67" ; +LOCATE COMP "RA[0]" SITE "66" ; +LOCATE COMP "RBA[1]" SITE "60" ; +LOCATE COMP "RBA[0]" SITE "58" ; +LOCATE COMP "LED" SITE "34" ; +LOCATE COMP "nFWE" SITE "15" ; +LOCATE COMP "nCRAS" SITE "17" ; +LOCATE COMP "nCCAS" SITE "9" ; +LOCATE COMP "Dout[7]" SITE "82" ; +LOCATE COMP "Dout[6]" SITE "78" ; +LOCATE COMP "Dout[5]" SITE "84" ; +LOCATE COMP "Dout[4]" SITE "83" ; +LOCATE COMP "Dout[3]" SITE "85" ; +LOCATE COMP "Dout[2]" SITE "87" ; +LOCATE COMP "Dout[1]" SITE "86" ; +LOCATE COMP "Din[7]" SITE "1" ; +LOCATE COMP "Din[6]" SITE "2" ; +LOCATE COMP "Din[5]" SITE "98" ; +LOCATE COMP "Din[4]" SITE "99" ; +LOCATE COMP "Din[3]" SITE "97" ; +LOCATE COMP "Din[2]" SITE "88" ; +LOCATE COMP "Din[1]" SITE "96" ; +LOCATE COMP "Din[0]" SITE "3" ; +LOCATE COMP "CROW[1]" SITE "16" ; +LOCATE COMP "CROW[0]" SITE "10" ; +LOCATE COMP "MAin[9]" SITE "32" ; +LOCATE COMP "MAin[8]" SITE "25" ; +LOCATE COMP "MAin[7]" SITE "18" ; +LOCATE COMP "MAin[6]" SITE "24" ; +LOCATE COMP "MAin[5]" SITE "19" ; +LOCATE COMP "MAin[4]" SITE "20" ; +LOCATE COMP "MAin[3]" SITE "21" ; +LOCATE COMP "MAin[2]" SITE "13" ; +LOCATE COMP "MAin[1]" SITE "12" ; +LOCATE COMP "MAin[0]" SITE "14" ; +FREQUENCY PORT "PHI2" 2.900000 MHz ; +FREQUENCY PORT "nCCAS" 2.900000 MHz ; +FREQUENCY PORT "nCRAS" 2.900000 MHz ; +FREQUENCY PORT "RCLK" 62.500000 MHz ; +SCHEMATIC END ; +BLOCK RESETPATHS ; +BLOCK ASYNCPATHS ; +COMMERCIAL ; diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srd index c37b3da0fb9736d67dbabdf34ecb3cc2dba6d9fb..1574bae903d3ba2c81b9b79dfded3899f93ed30b 100644 GIT binary patch literal 37198 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 literal 36801 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 literal 38081 zcmV)QK(xOfiwFP!000003sO~8RVXORFG)=~$3WP@rNW|;N7UqnQC9_83%kmp}o-btTlkf-i>{)N7Q96^7KO{{}YO}_#m0tfs8sudtFHNG77b@#P z%&8!~I80Q}{=z6dFUdDLmlr?$kj$v<(VjL-s5Ddm(4|T7{fQ1$(sS_v(6er3I?~ZS~w5Ui@Md ztvmas%PxQLci;bNxYqPla6q$jjHX#YbFoKrzSjO(K(o0=bA7Msfwmg1z8&;?wAb(T zN@vfG3!eSB`)qBkUwsRP2V)X~R`BerxZv5^gSJakotp>Gt!eVk7@O+hGlRWnn)j+% zAP4?lUx`d!^n&X;*>x!6b+xs=GgYgX*nK0~xo)w4ox`rPm7ZiMJJ&Vy*X`-dUSCJf z5`g#f2Rsa0uo~8$4cEQ{>4tiV!TJgA9n)|r0ehyoM(s`l^>fdmw&i?cZQaJEZx8B^ zA@Z`3UE?@(`sZxmLL!Z7zR@?}d+lEygzzO)tYiw`BQT)m0NxMmept@&e&ep@0<|R% zZW8`H8&nBxRrW59^qD$6`;%=Y-6b^k^suqLX68%>$)B#|!-zen|J^fc@a11&=)$-M zk`>|mfRm2j>KB5+ zaGL5aO*LuQGwgrN-^ny=14vD`p-48KV4^=66MaWs$pgVJyWV40et|pN0b8f|rFsav z?S$f&l3aV&bpWF9dmCbtwu#-QA-mHKi}-8bKKK>4EBhs>K$CBH#Ch(-=Hye`# zl<9+&vcEOM_osf}5q7N`6$IgbePNUweG@5**0gUrUBWPM>;a7Q7w@yj?9zqY$wl!@p&$g~~j zdGao~2z@F;D2vO5JbF_ukfxf_d{ZvQA-Gmg0{v-%-z`t3N@5XsAo$(o39<3Zc(T`S z+W2Md=02}bf6&g5)NT~YfTn33Q5oURLrzt1{@ADUaM0`kXq0VjLn>w|zKauHY zyf|%lGrz>{YvXU(GepL%*oSwTo-FLUI?NUd_;92t=DSi^(QW)P?&u;iv}=cU?Dh<% z*Qp&MpcxRKtBWCony4-YM) z`ccC8!D4%@9c^W+H+H2b3nouGOtStejE^w29)OSsgOH*ai5P92&r_B!_rtjfttE+H z=)I2_EWr67_NfbMLfxB4nkw0x1?`A4n9lx`+ys1iQ8;%=X{vdeJReqTVE^Kpnf8zH zKI=R4mk%53V>W#w1Dvn4ZQ{Iv` zBK<*{qWw8nu5r#wfZBZA&}S9MyPn0rxtzrM+siXx?g{(tf~v5NTkJ00KSg!v)EnEH zlm5TNdc*WI&y&1A<@v6c)%qFpVny?H=AQ%Ri|r-EFSUC{!v@z==-8QZnylR{Y!89# z_}?kau9>&|j@QTcu!NU;Qe>}2=nF@oxV`Eu-n3UpQ%z}B>8v;!93bFup7)k0z5xGnGg4V9v#S4fn@K=HB%Zb8n$>Lz<#<@BExOvymlYRn!B( zJT}jbZ}OdNyxcL9>7x7_>YYWCNEy851IN<#+UsOMEhic%r}A=Zb$%6SEB%=6ZE`q# zOs{NMArF>Uwn_Uh`g(xWNCPe20knC`ieX5MZT2UFE;jEM_q+V zgU|e(nJxQTd$QrG)_V0d5wj7HIFZA;+IqUm&s7J|<6r!(Z4f;l3y){F0Qy$|<7$<) zca!lLU_556GkiBl20iwE5z476dGOhDXn&k2J;`Nlz7e%NIC%d+0(sP27&f-6w(Tl* z&!TsU0bxF0$!ism)<3p(kUhIFS4>?c8Ca2{DO(%4y>`IO{ z;PaZVJa?QMADqV}5t9jsk|*bNOi?d-FyLSOjW}&RZD++VJEn})UX}vS7SOZj1R*gtVmy1rSx+a!qmA2>#u7Ct{qGH`q!>5CeY{Y z@K@p}*7aXb!mrKC0=KhY*@$nhOKmNC7QQRSl`JyDK6pw$8Am;r#U4J&Zj15SLz(VV zFX<^`7a}QG$W6>~*=+on#wzYzk6P>{@--@6n}uQVxNmgS8}w}UgSBmA!|5ec#kz=K zV>^cz*>6+YR}^o`dKO)vJs2{3P`gNNfu%4Nc5f{vAF#gQx;r$!U3`db(AD(W$7*E@ z2*S-gz+S;s>Q_+?Z1`+DRO%0U1MO344-N9Oknb#ZN#mBUMt=fdx3=AuK6wf455Vnc zRml$KSh_H9@TexePk)PLvV&aYo5FhSdx z*_ZV_AXXq=ecP!+COylum4R#J?20{QEKcQP$m6L@KG<)4Z>mf!C5h&6!R^(B{%tF> zuI1b^f+&+4+oEq}GG`}t>YaFB-d3TV%dWk?gTbB*7S6Y{H4FKIxSSme!p^0D9a{v! zjvZt2cFcE?BQ}itsIPsP;C;x8PgJt|9!)wdbjP{f6+E@_GKO*)IoyZwI&z7)kVHR0 zG7^WsPk}x1QybPg&?Omyrm?`9gw3SNQJA@*$(;rHT=>^Jm@pkfUEAUrbYMDuwHt3F z3bkynH?Z7o?qDYdDUh+@Nf{fSlCjk8eSm*lUm<2DwaZ0#i@=cmO9o^%%}AgI-M$+Jk9rQmUZj6Okxgg)?O}$%WdALvB4N?<5Yg=^B*W-NR?{~}Mgov?WINyomhAVT& zw`TVXVXHFyThZLtcwE$m%+6#sV)HIs@7Q2>k?uT~qZ;2%VIBeYC&xRpfOkz%-kHaE zr(tbzVccRK=>*@nZDc`fqSzAG@l-a<0^2y^ePuTFp4-Ryt4t^?cCdl@l>67bTV%6w zFquD8Y?Qg?FnS%kTQ+v)X6*L!i?JC9=NEmDLy`O7V z^7rNIiAQVr)D3AsVdA$z=XpsSC-(j>y|b7NmnhnNkmN2&Y*BAClIX%VJ$bYWrGbvN4PGHk$9b*SBVj!jm*dfI)8o92)sNJf>UC1Nu5y}Z_<=KU5eN09wNKYj zFM(qiy^WDUnrdAP$FQkM%ZQ^&Ykj5bYukEpyR9SEv$&74aP3nzw6|+$ypOV2?K2xM z{R|w-39LefS2U6Z{uIbryc0{mD(AksiriA^ekq27H4`EALtp2`F3%tCGBixr!j6U z!dq$(mXM#t+wy}n)$k)QCe`99(YA}MrSLf>wFC}Fz!v))lloCSI^JiDKXlU0;^-p3 zJA(D7>eynWrZh|06EkN|-XAv>&gJT&@nHuv!Fdj&Sv?LZ7bls8Sn@Sp*F7SJC1-6T zHs%8Bppd30mfY=b@boeIy|QsqJ}zeS8@Z^DBg%wFe9c=Zveql5Dc;8o{+;#Fd^d)Z z($Jj*K#9-i@R$RXEccE|m`9~!SB@kmZOw2o8u|HoD`no1$-tyd{b-XrJbGX8dIR5Q zFCr=Kp1M?Tznx6t3tXu}yD{GG;I9T~3aJ?e&b-PXUEXFRvd55xi zUq`Ymg!5)JKcuhk#dEXy;m+E(LOzTtA9JMn+xW1D@zziDwbSYN;(e8caO+4@w6BOy zh=HPZA}%&Qz{R$iAHd(LTqm1b8+e*Gey4ig_?`bdyeU{4mtQw|V!gwf#V1wk2-5s* zI+DjU>ufG_ELP`vqjj^=wVXU}l+yfwSY3SHlFwnI4`j0z^Vs@$!lXph=d+l}7l{i~ znq}4)7SBUo*MIM<-Njg!$NiDnmW$?U=jKf{oX2S;=DGs1fizX^qvmnt=d@&ZPFpzt z@%`#+d7NgMwcY^)D90ZZBSvv>y#FCHTvgYJInC1jkIlDp8{4@@M1tKsP?dF|kW?=d zoaULezgPc8-t9Yca&f%&r;FE&MElQamaU7KA5-5ZZ`HR$T^G-Z$U)BKpVzD0VO<=)LS4|g=@7zAceb>0DKmdQI5*^lh~BlG?B!_({Xd0ZBs z%E_<@NIdT#xGw?H6y?qJYy24N1wN1z`oPjL*rEK7*r)0m6Q@}UgOu*2cWz&Z-l-f{ z%V}0(Keb5L&at2S*jkhPPF!s$hwG~2Zcg)K>|~KG*v3%!OB8~P&k%{D-pK!_xP=oK zsj%$+7y@Z>sgVu~Hh(Y;tn>`Er_bmm?yhOays4I-{efbo3oMn_7=vK3`Q7N1JB# zaWtd(`}WMqVOYq~dWDaB5R2C9o9(Ni7Fw zo>?Et@>ynFKL1yYA!=5=uPoC1uj36*`K>bR1ezRsw61jT>L$k?t^eQcU7cZ-@-@h} z&h%h$YEUBf9SO$1K{?FQF`gXjV-Ur`;r{a#uKVYho^}+Rij_wtVr9YonjeS>+B-Yy+;|W_RnKwoQyJbqHY@3;7KY;M z3P$osq@PH$Oh1cq&8PCM0s3A1MSsUwi}E)j?cfA1qBGJ zGVCCW_jwKH?7DeVytXTfJK{7y5C_NW=>e3%v_-Z?fkqm7(QOTI<3qU|;<-SX42jl- zkF5cDtx;_-Cna-J{0z9D#2if%JOeH`Jx9Y_T)uzD&c@5?hkIu%y=z@zsv8G2i~Th< z)V0$bBcJ!RO<|lE`c)cX4<LuFX1_ zpJZ!(O&@TMBC1zuo{nP7GVw()rbYfaXqH$PDTYf!nw9wHl;3&*ru#7WklAIDo`Z$; z*z;pp=77cHx4;*QVUcE;_^rg5pd82MgTKK7lkzdFz!`fdVrPGI_MLtr54!fN$1-u6 zXPzIJ#lG*W$&2qz7n4)_2X=(#OyX+@I%m(BUa{G_d8msgaUwa)^#|GtDFO zJxCAo$hllpjCxmQU)dtw1c(I*#CQ`R{!D;3Db4foXB)hQzLzULCMVmyt=f@K4sF-* ze0q9r@cDb!X_&v%g!7j|I1HqzYU26JV|A`$^{i~Ko`UnF-#qh-*}O_}XFdr_Ev*2dKG(mru(o7pL<(kAGVJ=_x3~2w>=U=iLX%=$3lv) zQLT7QQG6T=>HA)%S{t3xtipd4uTkID`3}#A-rDKNYzLw;QPtV*u}>c%eymilkfxf_ zJj+JEwLk2xJ{;6>&c@rzR1T{?hdiZOM$Qi9DXXjN0c2Q<%4_QJ+cov@1MsJzXidGc zIsN-^%5f21gFW?SC@)R?m&$ra4nrESPBHb(uMgYJ*ZHsej*aO|N@&!lQ_sHa!qz@Z z4ozIiQyPE5@*8=cFJyG*Kd5KVdNYmUU4KZLnxKu|*Uf)JgN*!jy(xDtA0K1Ce(66x zK3u!waw1i;toL2g`p0;a- zt!3@}Z{ALf;iN|TFgITAYgc^;QTL52el{SH3HM+4ua2C;72IJEGQaSOLCwpNk9h8I z=RKoo()YTQ3CHDY9$JzT?@w0&(pWyr-{v%2_&?Yf&or+`r5R1M*&iz7S)<7Rh5rt9 zy-tYVyfiP@#3x#CNgkVzoy%BT)WcC-8$CAa|JfO{TY8)23@z(gNqUaEIoCMm{xang z;kFO|*0Ofar%gNin`zes`SU{N_bH!3%{t zbi8b}=kzTHWWTdHqi3A-W-jdwtlrFVtrj%ujkTGb5p>67q{pJS?O85(-df-8MOn;X zv-$jNvU?x4VLhR*&~d(9pFB~bx9HV#{4*bOBr}Q8l@!L`!nKd)zZV@+k4;m)lrI;I z=S}m{jEU}F#_Q1{i1je&G&=t|kOy4jWHfW*J{wc!OsBR-yE3F_4mqkVIf|<&wrh>M zv?ujF*vOFGyK|{4DN4pWOHIbze$S>(ba!K0%m8$^I_Nr7p-SR;NgpN+=3sT&dL}f6 ztDjts`k*FvcEl{(jSDmDBDu5dsMqJ`cl`;fYfH+E{hG_V+ALwcRR7SVMlutT!Tv4WP^Ihkzx=K7vttnF-0yiw zm%VF)aewOc6|Va>;5jv}-RrU*Hl~KssNL9b>(Z{$wEzBMg#X~RBv0xw7TaC0lSbcm z_;uKh=RI}Z9;azI>AhX*CSU$;3P0C|hJ$%?d}rgvD*e3AbTCk;bi1j~;Mr8R9i?=Y z{uIZ__CW2siPB>)0!|~1Pw35UlIl~r=k@5|Q<-P|k5Q}F*yn!%00960N-Igt$+6~g za0LJW0RR8&eQk5v$hPih^D79rDpI-91#w5hxTqQ=LgYC}gtlc*zdE|PQ~G^O1EN}EmrEb$8U(oL-FEu*DI7xo#VI6Dwlb? zJDQuPj24*l_SkM&CbQdG!I$4(j@xsm+v29(YB_9dmhRLkDSfVSLlI%tUXVpVipC4q)xsiG=#=`!)Bltrncz6bm%M#FA6b1~ zJ7psMd~A=p^Vd$9GM}C*q5Qnlt?{>I$1JeFu%6X5Hgoa5set%%My}w9)TV&am zJvG#7EJK|CdDpyb9kjbJ*N1>tBKs`IYfN{(Gm%5>xZAnr<2ke``|+NY>mVCZqHGYa zqpy`~6V^?;qL!Iay7`pIk0yAWf9;y4Q%PjQXw(FI@gLR)jJN-)F=o@STw?!`&(_c0 zQ~VxY@_(mP;;BsE*9FcmD-BdKz59G!{R-=cx6AX2oMXg1eaqk>BG<>)&(*FoH!EF} z(mFD765AHtaVqCc-$ZRY>Qw6d^SjM+1M2R{FQRLJ&VZr_VKh0pwwI$&}v=GW^= zoA>9eQjTPuzSrOVUjM%L`uJXd^}XJf_Zpe^db{82-S=J(-;3NP=l776Z3o^{saO_k z+okKvzGF0Q?#Le#E<*2vXS^uk?<{s~JLQV)RICa&YnT02yPT|X$9mhU@Up`yroi7K z#=16dx9qnLeBsn87AuHo?Kn1XoweHLyvEH@xjip;P1Y)P+Vk##(-@aYhRgc>x#{q7 zS>k>K>@puahZ!y)$vPn<;xE-UrlcDEZDjr~R}U-990v);TgR8}@)@rHM&+8gWXCPu zJ{$dRTO-T5G-=G8_`B8_V6NTg?auswnYQHS`1gI&ncEoSm+S<8NJ^=&?P z%zjyvm+d)cu#_t%H~aH`*(oRb;1Xm4FRJumWsU5zb=~IUntg4qeD7SgDt5(O>0j-P zo5=5p9%)~;&Ky4O*ZQl^ny;-n0Os}lkel$H`C4Bc^RhB;^VT)Dy5-8D{TdWhIp$Gp z<7*Py;?wutqVeSF+P2I{sP zvs*D=&--WTbH+!)%`48RZFk#cR+%T`u=^lA4)ezCc@5jec}v>qA0L-Z9@!bNb}Gr| z&hfYph^p9DyZnEwH0j-boYaTa_b*Cc)z?>sIq4qQW7YZkf_}ZK%qo@zysy7+b<5rN*87@ckJ~l>{rlthl)MMs(JyzPXYb*w&ij@* z>e}xs@5is5?wjK_d0YGX!t8?O(P>#<-y8M!-B!6O1 z-hAJBZ*|}|BlEpod2jW{{IX^qzj*uA?AT5V)I!(lf+Tp~?2nzVHZ5Dg))-@WQxhWeUFoV(8jsFe2dZ`B(FIdMt$aD#VNKb(goC z7OqF93woe6?%=xo`a*oY=G|`hZQBM&R9a=wI~*ptY+fhd)f}tb;jKu2qOE6kUqc_n z3+H-XdtrX{tgkO@(C7U3vRS=+ZB@o!UpUU2OIv)U0@@f~14zN<0u?+@=K!B?jYlv& z<#Hc?-#xhgXny?+9Bkmfzs@T+e;9X@kZ{isAHG^I`h9p;|LeT{0Z#HnOe3{A*9udoZ`<->vfNOB==-Vcl}R0>4&3My)>R@3(-8aeMT&WlH_{ zqWTpm(geP-!K&jn(5nRkeQ%fE|DS4nsT=Q0b-+OReYgAGsafM%+XjI6^gVfB?jPD6 zShxrf`+exWzaB&THg~KFOqqH7rewaa`!w{!&=>DR*N!>5+i#D-Tr~T3+X5Tf9zQpk z?8|BOxm+_Kur{vSx4Kp?Dwfi-*Z6_S{rVFOj+^)3ER=F~Qw&opJEHtte z+i$vHLp!jR75VQm*y^yJ#R?qgdx#ui3Fn%!qB*dn&b8<5K8W9}uyJ3*-=clc=62tnCtPUZ?`pUn zaoyGqEWtQMxmkU7+;(6Mg7LxZl2y7sE%Z@8gMH~7_gRzw91}Q0 zEnpK%+Vs=XopoxXEo2>|{aSNcR%y=UXTMqOH)z)jq20RgQ6s3Uv&j|3HYbL9RiDAa zK4HmcdGlyosgqKk9MZm%kdm+-y6_HLw`M}ApIA(X{whL0VU}Xg>ZjsF_OCUsaP;-i zXVF<{d%xT4H)vB)u-`->x~R8jql$w49_j5$+;;L=UcYtFa~u60mD&}+i}f4(Eu`2s z*!PsyJ)1^lD_ zu~`Xyu_Y!zsuU)V)=3@hSGy{G)4X{~{SRFCxR$JFE%|aSS(&wDt*<3H7aSN{K2s75 z*gz4)=Tzf<-~vGq5G_{}8UWXwl2XDiuYm;ZZpS$QGrp3@1^rPV{kb`^!OsMTR|DJL zVjx-G9`)xoaI5S;{;pfQ?zVWhZFLW7zTgSh^g%^Cpd02EE1^EQw)@ez`!No19Ki4B zCrQru-!>?OZbkkLo>C&$|HN}4eITP`tEFl6lohPs>c54cvg#tN`ygZAE-tRvmAxqD zVHQ7+<+|RlHsYVa+`tSGO6q>Gexn!Jjh@$zepB4Gj;?R|tXR+`4y@}k`b4JWPkO-Q zn9Il3%D-F3-8SnUl+<`V;W`I$QV=I~V0G26H|ca%XW~SiHK&rNrfPF0X#FIwZ}8o= zzQtqIV2rK?V+^K1eK2030ExTF)Ny-q2+GB(SHdT2+}19FUJY;Pg^5H(+|(Z^2b4wLp=q@ok%x zL+VvJK??Z@_lEb|Sumu@JqkUa-3l>YaY^Ax};h zs(yF+VW&(qSc5cbQ^R&{bf#XM-reN#+Req?Ry}dsVINL=U>-Z275f){---1czcy>; z9Bjf;**xt4KGEiqvgxea7`vWP^PW+6KLh#={=2E0lD?V;yvDB067aH#V^KQ^U!-Hf z*!R|V*x0W>Chq6EA_b0fj%_*DHa9DBt|z5G)S`R$xkO$0Tiv+(a<#adn^uLFDgXV= zc;rCaHqM`o`!Qg&NWGl%JM7=kX8e@8&_7$w5xj-t91U5CC-1;9cB`BhEZLuRS=rff zT(S~iy9Lj!>ht8^mFqNy6X`6Q>6}w5(+=7&63=!lXW%!}tX(qzT=~>2$-Z(ciit+{ znEdxO#!=ADf_b6fciEf`DGz)rPabs01Iy>=pV>AW(GEZ32i=x$5iZ}0`rYKV^yxvr zgFi^mfTLUFz~`qH+QGIernG#@tqs}X9zdCj=)Jz8urFE#m>3Sc%p%VD5+ad+D3mdFvI& zV|B|ZKIOmHZB;wVH>FU$9+BU8C7se4xL)Uf5THA^%eKJkyBgz(xKO777`6? zhdJ5~uBcOt75eTGts}PxHmKhS_GM@kKYn0;_Eg}pKkt}vZWP`bjX#a~T6~fENA8FE zZErxp=B|sI;umB1=SOyPJ7Fs8-F+?$_4Ci~8biS09Bm(b23}e}qCUNKWo&XFM4cHo zUy5w_@s@p2Z|~F|Q*XcUY7agroPYUKZ5Rb()6d^$3|017#W8%oW7VF@hlT3LbMKFCfRnAapC)2?8{L-psHIpil2%@ z#@(#EdTjWolozb)xk~tO(VMF0v@o4E)M{Z)&eeB~DXGrUhPZERiW_L~jTSI(V{E8% zd0SX~q7LQQM0Iw8<5CE5VO%~K=5k!TSGB+w#xZ5v`&(l|uJ2d5qt^KFORuV)yM?LI zh}Ias%UIe+*VFzoma)cHGVYPp74P={t&Dd?`tQ1OZQYNNEcS-1_a|acy<<~eovVf6 ztR6Z zN3lOxbcdYPVK%<78{;EP&7VCO#jSd`VD?qN7|jLgdE&fTm@XRjRkw&(e}^$HZgu&+ z^Q;k1qXJ$HfPr^>Y~H{;Pt@thn=hW=LiAlWXV!S3RyiPnx=L|&GKIOGEvl4}lY!sE zr=jPRxCNJ;FPe?&$xH#f_27jHG)zP0y3i+ML8~)5IAJ}P5+BA%T@t$Ite{sLi`fYk z@);2XnP=Xuym!I|MDsL3>eLGfWhl!LYgI=4(zd#lcFAV1*fSmezwv6?WG_oEUw+s4 z7hF;Li{_vNVDu2}XfR(kfzIC}Q1c{JT;jGh@)hEH3d|ev6oGR-ZQNO1o6idLY--@YUrt}X1l_)q6A1K2 z1Qg^?Jf?*=H(x&XCQYW^7}GEOqerGw!mR#$TxAR1Q-`o80!MGe7{Nu&yQ~zD!j$e)$#@>9%ru&VV2HVE0d7dW6 z++k;6dLQymxx#s|2T@%9NU_BAJCUD*V*)#r}0ZZWgn+?@rwZj4FQLP@hFh71! z2-$hH*_h$Hk!TI1pBqMFG7w-@QKCRUU>shE_#ZYt>!>qTTb&Bfnd9>BBlgC@c~ARw z>gCV-zH{!gf#!NX@QClDeY7^`!WAN&^Eue50CGXNgP6a#0iwgTc{XiyYTTI%P9+Xb zX2?%H$xl9FDF_qn3&egvNr1B-k5giwDN-&WtmafM3mx@DnCgjTTkp=!I@|;dz%)2q zgg94|>^SoIP-no2Ov>f-WvTGnT;~3UE=WdVAUJZ3y83BYEb@U1?Bs=EqDO%1Z&

V3&H@$Yu3=xn@rTho1Lu=;?Xz$>{&Y>q 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 mo=WBcBQ#E>2k-<-58&|&U!0u6{O;qJKkp#% literal 16384 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 literal 13269 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 T0ssI2|NjF3B!E~7!K?rP21Ad4 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.t2b b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.t2b index a0ffb20..3c08dc1 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.t2b +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.t2b @@ -2,4 +2,4 @@ -g RamCfg:Reset --path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC" +-path "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC" diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.tw1 b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.tw1 new file mode 100644 index 0000000..7bf1c85 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.tw1 @@ -0,0 +1,423 @@ + +Loading design for application trce from file lcmxo2_640hc_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application trce from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Setup and Hold Report + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:54:58 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o LCMXO2_640HC_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1_map.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,4 +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 163.025ns (weighted slack = 326.050ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[2] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 9.223ns (33.1% logic, 66.9% route), 6 logic levels. + + Constraint Details: + + 9.223ns physical path delay Din[2]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.166ns DIN_SET requirement (totaling 172.248ns) by 163.025ns + + Physical Path Details: + + Data path Din[2]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 *[2]_MGIOL.CLK to *n[2]_MGIOL.IN Din[2]_MGIOL (from PHI2_c) +ROUTE 1 e 1.234 *n[2]_MGIOL.IN to SLICE_37.A1 Bank[2] +CTOF_DEL --- 0.495 SLICE_37.A1 to SLICE_37.F1 SLICE_37 +ROUTE 1 e 1.234 SLICE_37.F1 to SLICE_94.D0 un1_Bank_1_4 +CTOF_DEL --- 0.495 SLICE_94.D0 to SLICE_94.F0 SLICE_94 +ROUTE 2 e 1.234 SLICE_94.F0 to SLICE_90.D0 N_304 +CTOF_DEL --- 0.495 SLICE_90.D0 to SLICE_90.F0 SLICE_90 +ROUTE 5 e 1.234 SLICE_90.F0 to SLICE_91.C1 C1WR_7 +CTOF_DEL --- 0.495 SLICE_91.C1 to SLICE_91.F1 SLICE_91 +ROUTE 2 e 1.234 SLICE_91.F1 to SLICE_10.B0 un1_ADWR +CTOF_DEL --- 0.495 SLICE_10.B0 to SLICE_10.F0 SLICE_10 +ROUTE 1 e 0.001 SLICE_10.F0 to SLICE_10.DI0 ADSubmitted_r (to PHI2_c) + -------- + 9.223 (33.1% logic, 66.9% route), 6 logic levels. + +Report: 53.254MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCCAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCRAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 6.226ns + The internal maximum frequency of the following component is 102.312 MHz + + Logical Details: Cell type Pin name Component name + + Destination: EFB WBCLKI ufmefb/EFBInst_0 + + Delay: 9.774ns -- based on Minimum Pulse Width + + +Passed: The following path meets requirements by 6.270ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q S[0] (from RCLK_c +) + Destination: FF Data in nRCS_0io (to RCLK_c +) + + Delay: 9.577ns (30.6% logic, 69.4% route), 6 logic levels. + + Constraint Details: + + 9.577ns physical path delay SLICE_16 to nRCS_MGIOL meets + 16.000ns delay constraint less + 0.153ns DO_SET requirement (totaling 15.847ns) by 6.270ns + + Physical Path Details: + + Data path SLICE_16 to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 SLICE_16.CLK to SLICE_16.Q0 SLICE_16 (from RCLK_c) +ROUTE 9 e 1.234 SLICE_16.Q0 to SLICE_45.A0 CO0 +CTOF_DEL --- 0.495 SLICE_45.A0 to SLICE_45.F0 SLICE_45 +ROUTE 4 e 0.480 SLICE_45.F0 to SLICE_45.A1 N_41 +CTOF_DEL --- 0.495 SLICE_45.A1 to SLICE_45.F1 SLICE_45 +ROUTE 2 e 1.234 SLICE_45.F1 to SLICE_77.D0 nRRAS_5_u_i_0 +CTOF_DEL --- 0.495 SLICE_77.D0 to SLICE_77.F0 SLICE_77 +ROUTE 1 e 1.234 SLICE_77.F0 to SLICE_117.B1 N_25 +CTOF_DEL --- 0.495 SLICE_117.B1 to SLICE_117.F1 SLICE_117 +ROUTE 1 e 1.234 SLICE_117.F1 to SLICE_88.C1 N_28_i_sn +CTOF_DEL --- 0.495 SLICE_88.C1 to SLICE_88.F1 SLICE_88 +ROUTE 1 e 1.234 SLICE_88.F1 to *CS_MGIOL.OPOS N_28_i (to RCLK_c) + -------- + 9.577 (30.6% logic, 69.4% route), 6 logic levels. + +Report: 102.312MHz is the maximum frequency for this preference. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 53.254 MHz| 6 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 102.312 MHz| 0 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 687 connections (70.25% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:54:58 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o LCMXO2_640HC_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1_map.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,M +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.447ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 0.434ns (53.9% logic, 46.1% route), 2 logic levels. + + Constraint Details: + + 0.434ns physical path delay SLICE_10 to SLICE_10 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint requirement (totaling -0.013ns) by 0.447ns + + Physical Path Details: + + Data path SLICE_10 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 SLICE_10.CLK to SLICE_10.Q0 SLICE_10 (from PHI2_c) +ROUTE 2 e 0.199 SLICE_10.Q0 to SLICE_10.A0 ADSubmitted +CTOF_DEL --- 0.101 SLICE_10.A0 to SLICE_10.F0 SLICE_10 +ROUTE 1 e 0.001 SLICE_10.F0 to SLICE_10.DI0 ADSubmitted_r (to PHI2_c) + -------- + 0.434 (53.9% logic, 46.1% route), 2 logic levels. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.351ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr (from RCLK_c +) + Destination: FF Data in CASr2 (to RCLK_c +) + + Delay: 0.332ns (40.1% logic, 59.9% route), 1 logic levels. + + Constraint Details: + + 0.332ns physical path delay SLICE_12 to SLICE_12 meets + -0.019ns M_HLD and + 0.000ns delay constraint requirement (totaling -0.019ns) by 0.351ns + + Physical Path Details: + + Data path SLICE_12 to SLICE_12: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 SLICE_12.CLK to SLICE_12.Q0 SLICE_12 (from RCLK_c) +ROUTE 1 e 0.199 SLICE_12.Q0 to SLICE_12.M1 CASr (to RCLK_c) + -------- + 0.332 (40.1% logic, 59.9% route), 1 logic levels. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference(MIN Delays) | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 687 connections (70.25% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.twr b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.twr new file mode 100644 index 0000000..a09a8d7 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.twr @@ -0,0 +1,2219 @@ + +Loading design for application trce from file lcmxo2_640hc_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application trce from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Setup and Hold Report + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:55:11 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 4 -sphld m -o LCMXO2_640HC_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,4 +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 161.900ns (weighted slack = 323.800ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 10.175ns (30.0% logic, 70.0% route), 6 logic levels. + + Constraint Details: + + 10.175ns physical path delay Din[6]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 161.900ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 1.018 R5C8D.F1 to R4C8D.B0 CmdEnable16 +CTOF_DEL --- 0.495 R4C8D.B0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 10.175 (30.0% logic, 70.0% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.099ns (weighted slack = 324.198ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdValid (to PHI2_c -) + + Delay: 9.976ns (30.6% logic, 69.4% route), 6 logic levels. + + Constraint Details: + + 9.976ns physical path delay Din[6]_MGIOL to SLICE_23 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.099ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_23: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.808 R5C7A.F1 to R5C6D.C0 XOR8MEG18 +CTOF_DEL --- 0.495 R5C6D.C0 to R5C6D.F0 SLICE_23 +ROUTE 1 0.000 R5C6D.F0 to R5C6D.DI0 CmdValid_r (to PHI2_c) + -------- + 9.976 (30.6% logic, 69.4% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_23: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C6D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.113ns (weighted slack = 324.226ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdLEDEN (to PHI2_c -) + + Delay: 9.821ns (26.0% logic, 74.0% route), 5 logic levels. + + Constraint Details: + + 9.821ns physical path delay Din[6]_MGIOL to SLICE_18 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.307ns CE_SET requirement (totaling 171.934ns) by 162.113ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_18: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 1.148 R5C7A.F1 to R4C6C.CE XOR8MEG18 (to PHI2_c) + -------- + 9.821 (26.0% logic, 74.0% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_18: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C6C.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.113ns (weighted slack = 324.226ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in Cmdn8MEGEN (to PHI2_c -) + + Delay: 9.821ns (26.0% logic, 74.0% route), 5 logic levels. + + Constraint Details: + + 9.821ns physical path delay Din[6]_MGIOL to SLICE_25 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.307ns CE_SET requirement (totaling 171.934ns) by 162.113ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_25: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 1.148 R5C7A.F1 to R4C6A.CE XOR8MEG18 (to PHI2_c) + -------- + 9.821 (26.0% logic, 74.0% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_25: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C6A.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.197ns (weighted slack = 324.394ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdValid_fast (to PHI2_c -) + + Delay: 9.878ns (30.9% logic, 69.1% route), 6 logic levels. + + Constraint Details: + + 9.878ns physical path delay Din[6]_MGIOL to SLICE_24 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.197ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_24: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.710 R5C7A.F1 to R5C7A.B0 XOR8MEG18 +CTOF_DEL --- 0.495 R5C7A.B0 to R5C7A.F0 SLICE_24 +ROUTE 1 0.000 R5C7A.F0 to R5C7A.DI0 N_36_fast (to PHI2_c) + -------- + 9.878 (30.9% logic, 69.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_24: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C7A.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.260ns (weighted slack = 324.520ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[5] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 9.815ns (31.1% logic, 68.9% route), 6 logic levels. + + Constraint Details: + + 9.815ns physical path delay Din[5]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.260ns + + Physical Path Details: + + Data path Din[5]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_T6B.CLK to IOL_T6B.IN Din[5]_MGIOL (from PHI2_c) +ROUTE 1 1.753 IOL_T6B.IN to R4C7B.B1 Bank[5] +CTOF_DEL --- 0.495 R4C7B.B1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 1.018 R5C8D.F1 to R4C8D.B0 CmdEnable16 +CTOF_DEL --- 0.495 R4C8D.B0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 9.815 (31.1% logic, 68.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[5]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_T6B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.335ns (weighted slack = 324.670ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[7] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 9.740ns (31.3% logic, 68.7% route), 6 logic levels. + + Constraint Details: + + 9.740ns physical path delay Din[7]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.335ns + + Physical Path Details: + + Data path Din[7]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2A.CLK to IOL_L2A.IN Din[7]_MGIOL (from PHI2_c) +ROUTE 1 1.678 IOL_L2A.IN to R4C7B.D1 Bank[7] +CTOF_DEL --- 0.495 R4C7B.D1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 1.018 R5C8D.F1 to R4C8D.B0 CmdEnable16 +CTOF_DEL --- 0.495 R4C8D.B0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 9.740 (31.3% logic, 68.7% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[7]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2A.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.452ns (weighted slack = 324.904ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 9.623ns (30.5% logic, 69.5% route), 6 logic levels. + + Constraint Details: + + 9.623ns physical path delay Din[6]_MGIOL to SLICE_17 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.452ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_17: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 0.585 R5C8D.F1 to R5C8A.M0 CmdEnable16 +MTOOFX_DEL --- 0.376 R5C8A.M0 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 9.623 (30.5% logic, 69.5% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C8A.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.459ns (weighted slack = 324.918ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[5] (from PHI2_c +) + Destination: FF Data in CmdValid (to PHI2_c -) + + Delay: 9.616ns (31.7% logic, 68.3% route), 6 logic levels. + + Constraint Details: + + 9.616ns physical path delay Din[5]_MGIOL to SLICE_23 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.459ns + + Physical Path Details: + + Data path Din[5]_MGIOL to SLICE_23: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_T6B.CLK to IOL_T6B.IN Din[5]_MGIOL (from PHI2_c) +ROUTE 1 1.753 IOL_T6B.IN to R4C7B.B1 Bank[5] +CTOF_DEL --- 0.495 R4C7B.B1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.808 R5C7A.F1 to R5C6D.C0 XOR8MEG18 +CTOF_DEL --- 0.495 R5C6D.C0 to R5C6D.F0 SLICE_23 +ROUTE 1 0.000 R5C6D.F0 to R5C6D.DI0 CmdValid_r (to PHI2_c) + -------- + 9.616 (31.7% logic, 68.3% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[5]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_T6B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_23: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C6D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.465ns (weighted slack = 324.930ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in C1Submitted (to PHI2_c -) + + Delay: 9.610ns (31.8% logic, 68.2% route), 6 logic levels. + + Constraint Details: + + 9.610ns physical path delay Din[6]_MGIOL to SLICE_11 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.465ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_11: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 0.453 R5C8D.F1 to R5C8D.C0 CmdEnable16 +CTOF_DEL --- 0.495 R5C8D.C0 to R5C8D.F0 SLICE_11 +ROUTE 1 0.000 R5C8D.F0 to R5C8D.DI0 C1Submitted_s (to PHI2_c) + -------- + 9.610 (31.8% logic, 68.2% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + +Report: 47.556MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCCAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCRAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 6.226ns + The internal maximum frequency of the following component is 102.312 MHz + + Logical Details: Cell type Pin name Component name + + Destination: EFB WBCLKI ufmefb/EFBInst_0 + + Delay: 9.774ns -- based on Minimum Pulse Width + + +Passed: The following path meets requirements by 6.966ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.868ns (33.0% logic, 67.0% route), 6 logic levels. + + Constraint Details: + + 8.868ns physical path delay SLICE_2 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 6.966ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5A.CLK to R6C5A.Q0 SLICE_2 (from RCLK_c) +ROUTE 5 1.615 R6C5A.Q0 to R4C5D.C1 FS[15] +CTOF_DEL --- 0.495 R4C5D.C1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.868 (33.0% logic, 67.0% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.141ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[16] (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.693ns (33.7% logic, 66.3% route), 6 logic levels. + + Constraint Details: + + 8.693ns physical path delay SLICE_2 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.141ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5A.CLK to R6C5A.Q1 SLICE_2 (from RCLK_c) +ROUTE 5 1.440 R6C5A.Q1 to R4C5D.B1 FS[16] +CTOF_DEL --- 0.495 R4C5D.B1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.693 (33.7% logic, 66.3% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.241ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.593ns (34.1% logic, 65.9% route), 6 logic levels. + + Constraint Details: + + 8.593ns physical path delay SLICE_1 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.241ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5B.CLK to R6C5B.Q0 SLICE_1 (from RCLK_c) +ROUTE 5 1.340 R6C5B.Q0 to R4C5D.A1 FS[17] +CTOF_DEL --- 0.495 R4C5D.A1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.593 (34.1% logic, 65.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5B.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.305ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q S[0] (from RCLK_c +) + Destination: FF Data in nRCS_0io (to RCLK_c +) + + Delay: 8.715ns (33.6% logic, 66.4% route), 6 logic levels. + + Constraint Details: + + 8.715ns physical path delay SLICE_16 to nRCS_MGIOL meets + 16.000ns delay constraint less + -0.173ns skew and + 0.153ns DO_SET requirement (totaling 16.020ns) by 7.305ns + + Physical Path Details: + + Data path SLICE_16 to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R5C11B.CLK to R5C11B.Q0 SLICE_16 (from RCLK_c) +ROUTE 9 1.105 R5C11B.Q0 to R6C10D.C0 CO0 +CTOF_DEL --- 0.495 R6C10D.C0 to R6C10D.F0 SLICE_45 +ROUTE 4 0.461 R6C10D.F0 to R6C10D.C1 N_41 +CTOF_DEL --- 0.495 R6C10D.C1 to R6C10D.F1 SLICE_45 +ROUTE 2 0.972 R6C10D.F1 to R5C11A.D0 nRRAS_5_u_i_0 +CTOF_DEL --- 0.495 R5C11A.D0 to R5C11A.F0 SLICE_77 +ROUTE 1 0.693 R5C11A.F0 to R5C10C.B1 N_25 +CTOF_DEL --- 0.495 R5C10C.B1 to R5C10C.F1 SLICE_117 +ROUTE 1 0.958 R5C10C.F1 to R6C11A.D1 N_28_i_sn +CTOF_DEL --- 0.495 R6C11A.D1 to R6C11A.F1 SLICE_88 +ROUTE 1 1.599 R6C11A.F1 to IOL_R6D.OPOS N_28_i (to RCLK_c) + -------- + 8.715 (33.6% logic, 66.4% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_16: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R5C11B.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to IOL_R6D.CLK RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.392ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: EFB Port ufmefb/EFBInst_0(ASIC) (from RCLK_c +) + Destination: FF Data in n8MEGEN (to RCLK_c +) + + Delay: 8.269ns (81.9% logic, 18.1% route), 2 logic levels. + + Constraint Details: + + 8.269ns physical path delay ufmefb/EFBInst_0 to SLICE_47 meets + 16.000ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 15.661ns) by 7.392ns + + Physical Path Details: + + Data path ufmefb/EFBInst_0 to SLICE_47: + + Name Fanout Delay (ns) Site Resource +WCLKI2WBDA --- 6.278 EFB.WBCLKI to EFB.WBDATO0 ufmefb/EFBInst_0 (from RCLK_c) +ROUTE 1 1.496 EFB.WBDATO0 to R4C5B.C0 wb_dato[0] +CTOF_DEL --- 0.495 R4C5B.C0 to R4C5B.F0 SLICE_47 +ROUTE 1 0.000 R4C5B.F0 to R4C5B.DI0 n8MEGEN_6 (to RCLK_c) + -------- + 8.269 (81.9% logic, 18.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_47: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R4C5B.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.416ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q InitReady (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.418ns (34.8% logic, 65.2% route), 6 logic levels. + + Constraint Details: + + 8.418ns physical path delay SLICE_31 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.416ns + + Physical Path Details: + + Data path SLICE_31 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R5C4D.CLK to R5C4D.Q0 SLICE_31 (from RCLK_c) +ROUTE 33 1.165 R5C4D.Q0 to R4C5D.D1 InitReady +CTOF_DEL --- 0.495 R4C5D.D1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.418 (34.8% logic, 65.2% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_31: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R5C4D.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.490ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: EFB Port ufmefb/EFBInst_0(ASIC) (from RCLK_c +) + Destination: FF Data in LEDEN (to RCLK_c +) + + Delay: 8.171ns (72.9% logic, 27.1% route), 2 logic levels. + + Constraint Details: + + 8.171ns physical path delay ufmefb/EFBInst_0 to SLICE_32 meets + 16.000ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 15.661ns) by 7.490ns + + Physical Path Details: + + Data path ufmefb/EFBInst_0 to SLICE_32: + + Name Fanout Delay (ns) Site Resource +WCLKI2WBDA --- 5.461 EFB.WBCLKI to EFB.WBDATO1 ufmefb/EFBInst_0 (from RCLK_c) +ROUTE 1 2.215 EFB.WBDATO1 to R4C6D.A0 wb_dato[1] +CTOF_DEL --- 0.495 R4C6D.A0 to R4C6D.F0 SLICE_32 +ROUTE 1 0.000 R4C6D.F0 to R4C6D.DI0 LEDEN_6 (to RCLK_c) + -------- + 8.171 (72.9% logic, 27.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_32: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R4C6D.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.546ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[13] (from RCLK_c +) + Destination: FF Data in wb_adr[1] (to RCLK_c +) + + Delay: 8.288ns (29.3% logic, 70.7% route), 5 logic levels. + + Constraint Details: + + 8.288ns physical path delay SLICE_3 to SLICE_49 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.546ns + + Physical Path Details: + + Data path SLICE_3 to SLICE_49: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C4D.CLK to R6C4D.Q0 SLICE_3 (from RCLK_c) +ROUTE 22 2.071 R6C4D.Q0 to R4C5A.B1 FS[13] +CTOF_DEL --- 0.495 R4C5A.B1 to R4C5A.F1 SLICE_82 +ROUTE 2 0.982 R4C5A.F1 to R4C5C.A0 un1_FS_20_3 +CTOF_DEL --- 0.495 R4C5C.A0 to R4C5C.F0 SLICE_87 +ROUTE 2 0.993 R4C5C.F0 to R4C4B.A0 wb_we95 +CTOF_DEL --- 0.495 R4C4B.A0 to R4C4B.F0 SLICE_84 +ROUTE 1 1.810 R4C4B.F0 to R2C2A.A1 N_181 +CTOF_DEL --- 0.495 R2C2A.A1 to R2C2A.F1 SLICE_49 +ROUTE 1 0.000 R2C2A.F1 to R2C2A.DI1 wb_adr_5[1] (to RCLK_c) + -------- + 8.288 (29.3% logic, 70.7% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C4D.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_49: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R2C2A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.583ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in wb_dati[6] (to RCLK_c +) + + Delay: 8.251ns (35.5% logic, 64.5% route), 6 logic levels. + + Constraint Details: + + 8.251ns physical path delay SLICE_2 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.583ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5A.CLK to R6C5A.Q0 SLICE_2 (from RCLK_c) +ROUTE 5 1.615 R6C5A.Q0 to R4C5D.C1 FS[15] +CTOF_DEL --- 0.495 R4C5D.C1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D1 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D1 to R2C3D.F1 SLICE_109 +ROUTE 2 0.982 R2C3D.F1 to R2C3A.A1 N_246 +CTOF_DEL --- 0.495 R2C3A.A1 to R2C3A.F1 SLICE_74 +ROUTE 1 0.967 R2C3A.F1 to R2C3A.A0 N_98 +CTOF_DEL --- 0.495 R2C3A.A0 to R2C3A.F0 SLICE_74 +ROUTE 1 0.623 R2C3A.F0 to R3C3A.D0 wb_dati_5_1_iv_0_1[6] +CTOF_DEL --- 0.495 R3C3A.D0 to R3C3A.F0 SLICE_57 +ROUTE 1 0.000 R3C3A.F0 to R3C3A.DI0 wb_dati_5[6] (to RCLK_c) + -------- + 8.251 (35.5% logic, 64.5% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.586ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q RASr2 (from RCLK_c +) + Destination: FF Data in nRCS_0io (to RCLK_c +) + + Delay: 8.434ns (28.8% logic, 71.2% route), 5 logic levels. + + Constraint Details: + + 8.434ns physical path delay SLICE_34 to nRCS_MGIOL meets + 16.000ns delay constraint less + -0.173ns skew and + 0.153ns DO_SET requirement (totaling 16.020ns) by 7.586ns + + Physical Path Details: + + Data path SLICE_34 to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C7A.CLK to R6C7A.Q1 SLICE_34 (from RCLK_c) +ROUTE 10 1.972 R6C7A.Q1 to R5C11C.A1 RASr2 +CTOF_DEL --- 0.495 R5C11C.A1 to R5C11C.F1 SLICE_63 +ROUTE 7 0.780 R5C11C.F1 to R5C11A.C0 N_250 +CTOF_DEL --- 0.495 R5C11A.C0 to R5C11A.F0 SLICE_77 +ROUTE 1 0.693 R5C11A.F0 to R5C10C.B1 N_25 +CTOF_DEL --- 0.495 R5C10C.B1 to R5C10C.F1 SLICE_117 +ROUTE 1 0.958 R5C10C.F1 to R6C11A.D1 N_28_i_sn +CTOF_DEL --- 0.495 R6C11A.D1 to R6C11A.F1 SLICE_88 +ROUTE 1 1.599 R6C11A.F1 to IOL_R6D.OPOS N_28_i (to RCLK_c) + -------- + 8.434 (28.8% logic, 71.2% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_34: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C7A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to IOL_R6D.CLK RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + +Report: 102.312MHz is the maximum frequency for this preference. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 47.556 MHz| 6 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 102.312 MHz| 0 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 705 connections (72.09% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:55:11 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 4 -sphld m -o LCMXO2_640HC_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,m +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_10 to SLICE_10 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_10 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R4C8D.CLK to R4C8D.Q0 SLICE_10 (from PHI2_c) +ROUTE 2 0.132 R4C8D.Q0 to R4C8D.A0 ADSubmitted +CTOF_DEL --- 0.101 R4C8D.A0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R4C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R4C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdUFMShift_fast (from PHI2_c -) + Destination: FF Data in CmdUFMShift_fast (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_21 to SLICE_21 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_21 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C6B.CLK to R5C6B.Q0 SLICE_21 (from PHI2_c) +ROUTE 2 0.132 R5C6B.Q0 to R5C6B.A0 CmdUFMShift_fast +CTOF_DEL --- 0.101 R5C6B.A0 to R5C6B.F0 SLICE_21 +ROUTE 1 0.000 R5C6B.F0 to R5C6B.DI0 CmdUFMShift_3_fast (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6B.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6B.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdUFMWrite (from PHI2_c -) + Destination: FF Data in CmdUFMWrite (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_22 to SLICE_22 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_22 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C6A.CLK to R5C6A.Q0 SLICE_22 (from PHI2_c) +ROUTE 2 0.132 R5C6A.Q0 to R5C6A.A0 CmdUFMWrite +CTOF_DEL --- 0.101 R5C6A.A0 to R5C6A.F0 SLICE_22 +ROUTE 1 0.000 R5C6A.F0 to R5C6A.DI0 CmdUFMWrite_3 (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q XOR8MEG (from PHI2_c -) + Destination: FF Data in XOR8MEG (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_46 to SLICE_46 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_46 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C7C.CLK to R5C7C.Q0 SLICE_46 (from PHI2_c) +ROUTE 2 0.132 R5C7C.Q0 to R5C7C.A0 XOR8MEG +CTOF_DEL --- 0.101 R5C7C.A0 to R5C7C.F0 SLICE_46 +ROUTE 1 0.000 R5C7C.F0 to R5C7C.DI0 XOR8MEG_3 (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C7C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C7C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.380ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdUFMShift (from PHI2_c -) + Destination: FF Data in CmdUFMShift (to PHI2_c -) + + Delay: 0.367ns (63.8% logic, 36.2% route), 2 logic levels. + + Constraint Details: + + 0.367ns physical path delay SLICE_20 to SLICE_20 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.380ns + + Physical Path Details: + + Data path SLICE_20 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C6C.CLK to R5C6C.Q0 SLICE_20 (from PHI2_c) +ROUTE 3 0.133 R5C6C.Q0 to R5C6C.A0 CmdUFMShift +CTOF_DEL --- 0.101 R5C6C.A0 to R5C6C.F0 SLICE_20 +ROUTE 1 0.000 R5C6C.F0 to R5C6C.DI0 CmdUFMShift_3 (to PHI2_c) + -------- + 0.367 (63.8% logic, 36.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.435ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.422ns (68.5% logic, 31.5% route), 2 logic levels. + + Constraint Details: + + 0.422ns physical path delay SLICE_17 to SLICE_17 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.435ns + + Physical Path Details: + + Data path SLICE_17 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8A.CLK to R5C8A.Q0 SLICE_17 (from PHI2_c) +ROUTE 4 0.133 R5C8A.Q0 to R5C8A.A0 CmdEnable +CTOOFX_DEL --- 0.156 R5C8A.A0 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.422 (68.5% logic, 31.5% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.471ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q C1Submitted (from PHI2_c -) + Destination: FF Data in C1Submitted (to PHI2_c -) + + Delay: 0.458ns (51.1% logic, 48.9% route), 2 logic levels. + + Constraint Details: + + 0.458ns physical path delay SLICE_11 to SLICE_11 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.471ns + + Physical Path Details: + + Data path SLICE_11 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8D.CLK to R5C8D.Q0 SLICE_11 (from PHI2_c) +ROUTE 2 0.224 R5C8D.Q0 to R5C8D.B0 C1Submitted +CTOF_DEL --- 0.101 R5C8D.B0 to R5C8D.F0 SLICE_11 +ROUTE 1 0.000 R5C8D.F0 to R5C8D.DI0 C1Submitted_s (to PHI2_c) + -------- + 0.458 (51.1% logic, 48.9% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.527ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.514ns (56.2% logic, 43.8% route), 2 logic levels. + + Constraint Details: + + 0.514ns physical path delay SLICE_17 to SLICE_17 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.527ns + + Physical Path Details: + + Data path SLICE_17 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8A.CLK to R5C8A.Q0 SLICE_17 (from PHI2_c) +ROUTE 4 0.225 R5C8A.Q0 to R5C8A.B1 CmdEnable +CTOOFX_DEL --- 0.156 R5C8A.B1 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.514 (56.2% logic, 43.8% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.550ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.537ns (53.8% logic, 46.2% route), 2 logic levels. + + Constraint Details: + + 0.537ns physical path delay SLICE_10 to SLICE_17 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.550ns + + Physical Path Details: + + Data path SLICE_10 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R4C8D.CLK to R4C8D.Q0 SLICE_10 (from PHI2_c) +ROUTE 2 0.248 R4C8D.Q0 to R5C8A.D1 ADSubmitted +CTOOFX_DEL --- 0.156 R5C8A.D1 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.537 (53.8% logic, 46.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R4C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.550ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in XOR8MEG (to PHI2_c -) + + Delay: 0.522ns (44.8% logic, 55.2% route), 2 logic levels. + + Constraint Details: + + 0.522ns physical path delay SLICE_17 to SLICE_46 meets + -0.028ns CE_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.028ns) by 0.550ns + + Physical Path Details: + + Data path SLICE_17 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8A.CLK to R5C8A.Q0 SLICE_17 (from PHI2_c) +ROUTE 4 0.142 R5C8A.Q0 to R5C7A.C1 CmdEnable +CTOF_DEL --- 0.101 R5C7A.C1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.146 R5C7A.F1 to R5C7C.CE XOR8MEG18 (to PHI2_c) + -------- + 0.522 (44.8% logic, 55.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C7C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.304ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr (from RCLK_c +) + Destination: FF Data in CASr2 (to RCLK_c +) + + Delay: 0.285ns (46.7% logic, 53.3% route), 1 logic levels. + + Constraint Details: + + 0.285ns physical path delay SLICE_12 to SLICE_12 meets + -0.019ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.304ns + + Physical Path Details: + + Data path SLICE_12 to SLICE_12: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C9A.CLK to R5C9A.Q0 SLICE_12 (from RCLK_c) +ROUTE 1 0.152 R5C9A.Q0 to R5C9A.M1 CASr (to RCLK_c) + -------- + 0.285 (46.7% logic, 53.3% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_12: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_12: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.306ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr2 (from RCLK_c +) + Destination: FF Data in CASr3 (to RCLK_c +) + + Delay: 0.287ns (46.3% logic, 53.7% route), 1 logic levels. + + Constraint Details: + + 0.287ns physical path delay SLICE_12 to SLICE_106 meets + -0.019ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.306ns + + Physical Path Details: + + Data path SLICE_12 to SLICE_106: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C9A.CLK to R5C9A.Q1 SLICE_12 (from RCLK_c) +ROUTE 4 0.154 R5C9A.Q1 to R5C9D.M0 CASr2 (to RCLK_c) + -------- + 0.287 (46.3% logic, 53.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_12: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_106: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9D.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.306ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q RASr (from RCLK_c +) + Destination: FF Data in RASr2 (to RCLK_c +) + + Delay: 0.287ns (46.3% logic, 53.7% route), 1 logic levels. + + Constraint Details: + + 0.287ns physical path delay SLICE_34 to SLICE_34 meets + -0.019ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.306ns + + Physical Path Details: + + Data path SLICE_34 to SLICE_34: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C7A.CLK to R6C7A.Q0 SLICE_34 (from RCLK_c) +ROUTE 2 0.154 R6C7A.Q0 to R6C7A.M1 RASr (to RCLK_c) + -------- + 0.287 (46.3% logic, 53.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_34: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C7A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_34: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C7A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.313ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[6] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.307ns (43.3% logic, 56.7% route), 1 logic levels. + + Constraint Details: + + 0.307ns physical path delay SLICE_52 to ufmefb/EFBInst_0 meets + -0.060ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.006ns) by 0.313ns + + Physical Path Details: + + Data path SLICE_52 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2C.CLK to R2C2C.Q0 SLICE_52 (from RCLK_c) +ROUTE 2 0.174 R2C2C.Q0 to EFB.WBADRI6 wb_adr[6] (to RCLK_c) + -------- + 0.307 (43.3% logic, 56.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2C.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.318ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[7] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.304ns (43.8% logic, 56.3% route), 1 logic levels. + + Constraint Details: + + 0.304ns physical path delay SLICE_52 to ufmefb/EFBInst_0 meets + -0.068ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.014ns) by 0.318ns + + Physical Path Details: + + Data path SLICE_52 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2C.CLK to R2C2C.Q1 SLICE_52 (from RCLK_c) +ROUTE 1 0.171 R2C2C.Q1 to EFB.WBADRI7 wb_adr[7] (to RCLK_c) + -------- + 0.304 (43.8% logic, 56.3% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2C.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.334ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[2] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.307ns (43.3% logic, 56.7% route), 1 logic levels. + + Constraint Details: + + 0.307ns physical path delay SLICE_50 to ufmefb/EFBInst_0 meets + -0.081ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.027ns) by 0.334ns + + Physical Path Details: + + Data path SLICE_50 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2B.CLK to R2C2B.Q0 SLICE_50 (from RCLK_c) +ROUTE 2 0.174 R2C2B.Q0 to EFB.WBADRI2 wb_adr[2] (to RCLK_c) + -------- + 0.307 (43.3% logic, 56.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_50: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2B.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.355ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[1] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.307ns (43.3% logic, 56.7% route), 1 logic levels. + + Constraint Details: + + 0.307ns physical path delay SLICE_49 to ufmefb/EFBInst_0 meets + -0.102ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.048ns) by 0.355ns + + Physical Path Details: + + Data path SLICE_49 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2A.CLK to R2C2A.Q1 SLICE_49 (from RCLK_c) +ROUTE 2 0.174 R2C2A.Q1 to EFB.WBADRI1 wb_adr[1] (to RCLK_c) + -------- + 0.307 (43.3% logic, 56.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_49: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[0] (from RCLK_c +) + Destination: FF Data in FS[0] (to RCLK_c +) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_0 to SLICE_0 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_0 to SLICE_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C3A.CLK to R6C3A.Q1 SLICE_0 (from RCLK_c) +ROUTE 3 0.132 R6C3A.Q1 to R6C3A.A1 FS[0] +CTOF_DEL --- 0.101 R6C3A.A1 to R6C3A.F1 SLICE_0 +ROUTE 1 0.000 R6C3A.F1 to R6C3A.DI1 FS_s[0] (to RCLK_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C3A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C3A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in FS[17] (to RCLK_c +) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_1 to SLICE_1 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_1: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C5B.CLK to R6C5B.Q0 SLICE_1 (from RCLK_c) +ROUTE 5 0.132 R6C5B.Q0 to R6C5B.A0 FS[17] +CTOF_DEL --- 0.101 R6C5B.A0 to R6C5B.F0 SLICE_1 +ROUTE 1 0.000 R6C5B.F0 to R6C5B.DI0 FS_s[17] (to RCLK_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5B.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5B.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[16] (from RCLK_c +) + Destination: FF Data in FS[16] (to RCLK_c +) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_2 to SLICE_2 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_2: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C5A.CLK to R6C5A.Q1 SLICE_2 (from RCLK_c) +ROUTE 5 0.132 R6C5A.Q1 to R6C5A.A1 FS[16] +CTOF_DEL --- 0.101 R6C5A.A1 to R6C5A.F1 SLICE_2 +ROUTE 1 0.000 R6C5A.F1 to R6C5A.DI1 FS_s[16] (to RCLK_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference(MIN Delays) | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 705 connections (72.09% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_bgn.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_bgn.html index 6dee59f..0f52c2a 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_bgn.html +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_bgn.html @@ -12,10 +12,10 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:58:50 2023 +Sat Aug 19 21:55:24 2023 -Command: bitgen -g RamCfg:Reset -path D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC -w -jedec -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf +Command: bitgen -g RamCfg:Reset -path Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC -w -jedec -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf Loading design for application Bitgen from file LCMXO2_640HC_impl1.ncd. Design name: RAM2GS @@ -91,9 +91,9 @@ UFM Utilization: General Purpose Flash Memory. Available General Purpose Flash Memory: 191 Pages (Page 0 to Page 190). Initialized UFM Pages: 1 Page (Page 190). -Total CPU Time: 1 secs -Total REAL Time: 2 secs -Peak Memory Usage: 246 MB +Total CPU Time: 3 secs +Total REAL Time: 3 secs +Peak Memory Usage: 266 MB diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_cck.rpt b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_cck.rpt index 5aedfac..d15cb52 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_cck.rpt +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_cck.rpt @@ -1,153 +1,153 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 - -# Written on Wed Aug 16 20:59:31 2023 - -##### DESIGN INFO ####################################################### - -Top View: "RAM2GS" -Constraint File(s): "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc" - - - - -##### SUMMARY ############################################################ - -Found 0 issues in 0 out of 4 constraints - - -##### DETAILS ############################################################ - - - -Clock Relationships -******************* - -Starting Ending | rise to rise | fall to fall | rise to fall | fall to rise ------------------------------------------------------------------------------------------------------------------------------------ -System RCLK | 16.000 | No paths | No paths | No paths -RCLK System | 16.000 | No paths | No paths | No paths -RCLK RCLK | 16.000 | No paths | No paths | No paths -RCLK PHI2 | 2.000 | No paths | 1.000 | No paths -RCLK nCRAS | No paths | No paths | 1.000 | No paths -PHI2 RCLK | No paths | No paths | No paths | 1.000 -PHI2 PHI2 | No paths | 350.000 | 175.000 | 175.000 -nCRAS RCLK | No paths | No paths | No paths | 1.000 -=================================================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":2:0:2:0|Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":3:0:3:0|Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - -Unconstrained Start/End Points -****************************** - -p:CROW[0] -p:CROW[1] -p:Din[0] -p:Din[1] -p:Din[2] -p:Din[3] -p:Din[4] -p:Din[5] -p:Din[6] -p:Din[7] -p:Dout[0] -p:Dout[1] -p:Dout[2] -p:Dout[3] -p:Dout[4] -p:Dout[5] -p:Dout[6] -p:Dout[7] -p:MAin[0] -p:MAin[1] -p:MAin[2] -p:MAin[3] -p:MAin[4] -p:MAin[5] -p:MAin[6] -p:MAin[7] -p:MAin[8] -p:MAin[9] -p:RA[0] -p:RA[1] -p:RA[2] -p:RA[3] -p:RA[4] -p:RA[5] -p:RA[6] -p:RA[7] -p:RA[8] -p:RA[9] -p:RA[10] -p:RA[11] -p:RBA[0] -p:RBA[1] -p:RCKE -p:RDQMH -p:RDQML -p:RD[0] (bidir end point) -p:RD[0] (bidir start point) -p:RD[1] (bidir end point) -p:RD[1] (bidir start point) -p:RD[2] (bidir end point) -p:RD[2] (bidir start point) -p:RD[3] (bidir end point) -p:RD[3] (bidir start point) -p:RD[4] (bidir end point) -p:RD[4] (bidir start point) -p:RD[5] (bidir end point) -p:RD[5] (bidir start point) -p:RD[6] (bidir end point) -p:RD[6] (bidir start point) -p:RD[7] (bidir end point) -p:RD[7] (bidir start point) -p:nFWE -p:nRCAS -p:nRCS -p:nRRAS -p:nRWE - - -Inapplicable constraints -************************ - -(none) - - -Applicable constraints with issues -********************************** - -(none) - - -Constraints with matching wildcard expressions -********************************************** - -(none) - - -Library Report -************** - - -# End of Constraint Checker Report + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 + +# Written on Sat Aug 19 21:54:51 2023 + +##### DESIGN INFO ####################################################### + +Top View: "RAM2GS" +Constraint File(s): "Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc" + + + + +##### SUMMARY ############################################################ + +Found 0 issues in 0 out of 4 constraints + + +##### DETAILS ############################################################ + + + +Clock Relationships +******************* + +Starting Ending | rise to rise | fall to fall | rise to fall | fall to rise +----------------------------------------------------------------------------------------------------------------------------------- +System RCLK | 16.000 | No paths | No paths | No paths +RCLK System | 16.000 | No paths | No paths | No paths +RCLK RCLK | 16.000 | No paths | No paths | No paths +RCLK PHI2 | 2.000 | No paths | 1.000 | No paths +RCLK nCRAS | No paths | No paths | 1.000 | No paths +PHI2 RCLK | No paths | No paths | No paths | 1.000 +PHI2 PHI2 | No paths | 350.000 | 175.000 | 175.000 +nCRAS RCLK | No paths | No paths | No paths | 1.000 +=================================================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":3:0:3:0|Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":2:0:2:0|Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + +Unconstrained Start/End Points +****************************** + +p:CROW[0] +p:CROW[1] +p:Din[0] +p:Din[1] +p:Din[2] +p:Din[3] +p:Din[4] +p:Din[5] +p:Din[6] +p:Din[7] +p:Dout[0] +p:Dout[1] +p:Dout[2] +p:Dout[3] +p:Dout[4] +p:Dout[5] +p:Dout[6] +p:Dout[7] +p:MAin[0] +p:MAin[1] +p:MAin[2] +p:MAin[3] +p:MAin[4] +p:MAin[5] +p:MAin[6] +p:MAin[7] +p:MAin[8] +p:MAin[9] +p:RA[0] +p:RA[1] +p:RA[2] +p:RA[3] +p:RA[4] +p:RA[5] +p:RA[6] +p:RA[7] +p:RA[8] +p:RA[9] +p:RA[10] +p:RA[11] +p:RBA[0] +p:RBA[1] +p:RCKE +p:RDQMH +p:RDQML +p:RD[0] (bidir end point) +p:RD[0] (bidir start point) +p:RD[1] (bidir end point) +p:RD[1] (bidir start point) +p:RD[2] (bidir end point) +p:RD[2] (bidir start point) +p:RD[3] (bidir end point) +p:RD[3] (bidir start point) +p:RD[4] (bidir end point) +p:RD[4] (bidir start point) +p:RD[5] (bidir end point) +p:RD[5] (bidir start point) +p:RD[6] (bidir end point) +p:RD[6] (bidir start point) +p:RD[7] (bidir end point) +p:RD[7] (bidir start point) +p:nFWE +p:nRCAS +p:nRCS +p:nRRAS +p:nRWE + + +Inapplicable constraints +************************ + +(none) + + +Applicable constraints with issues +********************************** + +(none) + + +Constraints with matching wildcard expressions +********************************************** + +(none) + + +Library Report +************** + + +# End of Constraint Checker Report diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_cck.rpt.db b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_cck.rpt.db index 68c8b1be4eeab82248bb01d1eddae9b111a88823..ab2dd1ce06d2bcfd6c502589a56da0843bfc2a18 100644 GIT binary patch delta 179 zcmZp0XmHrTCcrb9fj^LMA@3(%XP(I$3mbWa8+BRPdE*;PrJ0l}t@Mjh3-XI6FOZX* zY#^&Wd74bPs8&s*4hu*{F{X+}uq-nc*;ybNT_&t1f01nh>tn>C4`i>w1{Tp delta 264 zcmZp0XmHrTCcvY`z;DA>!MmB~J&)GLLJ1y?MkiJd-bVJuQfVfo6f6DwywsGU%(7Jd zl>Fq<+|<01V*T{Yl8n-%$;)JBYl-}6bYuZ5FD9fsOm-GXxf3&Srf-phn9f9;>8x^K U(;XR!QywPkIeD#oAd|=+0PO8q!2kdN diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_fpga_mapper.htm b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_fpga_mapper.htm new file mode 100644 index 0000000..9b9d704 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_fpga_mapper.htm @@ -0,0 +1,9 @@ + + + syntmp/LCMXO2_640HC_impl1_fpga_mapper_srr.htm log file + + + + + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_iotiming.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_iotiming.html new file mode 100644 index 0000000..a046d86 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_iotiming.html @@ -0,0 +1,200 @@ + +I/O Timing Report + + +
I/O Timing Report
+Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd.
+Design name: RAM2GS
+NCD version: 3.3
+Vendor:      LATTICE
+Device:      LCMXO2-640HC
+Package:     TQFP100
+Performance: 5
+Package Status:                     Final          Version 1.39.
+Performance Hardware Data Status:   Final          Version 34.4.
+Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd.
+Design name: RAM2GS
+NCD version: 3.3
+Vendor:      LATTICE
+Device:      LCMXO2-640HC
+Package:     TQFP100
+Performance: 6
+Package Status:                     Final          Version 1.39.
+Performance Hardware Data Status:   Final          Version 34.4.
+Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd.
+Design name: RAM2GS
+NCD version: 3.3
+Vendor:      LATTICE
+Device:      LCMXO2-640HC
+Package:     TQFP100
+Performance: M
+Package Status:                     Final          Version 1.39.
+Performance Hardware Data Status:   Final          Version 34.4.
+// Design: RAM2GS
+// Package: TQFP100
+// ncd File: lcmxo2_640hc_impl1.ncd
+// Version: Diamond (64-bit) 3.12.1.454
+// Written on Sat Aug 19 21:55:13 2023
+// M: Minimum Performance Grade
+// iotiming LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml
+
+I/O Timing Report (All units are in ns)
+
+Worst Case Results across Performance Grades (M, 6, 5, 4):
+
+// Input Setup and Hold Times
+
+Port    Clock Edge  Setup Performance_Grade  Hold Performance_Grade
+----------------------------------------------------------------------
+CROW[0] nCRAS F     2.553      4      -0.117     M
+CROW[1] nCRAS F     2.019      4       0.001     M
+Din[0]  PHI2  F     4.715      4       3.636     4
+Din[0]  nCCAS F     0.790      4       0.535     4
+Din[1]  PHI2  F     5.021      4       3.516     4
+Din[1]  nCCAS F     1.086      4       0.264     4
+Din[2]  PHI2  F     3.385      4       3.516     4
+Din[2]  nCCAS F     0.282      4       0.948     4
+Din[3]  PHI2  F     4.644      4       3.516     4
+Din[3]  nCCAS F     1.278      4       0.095     4
+Din[4]  PHI2  F     4.335      4       3.516     4
+Din[4]  nCCAS F     2.446      4      -0.199     M
+Din[5]  PHI2  F     3.662      4       3.516     4
+Din[5]  nCCAS F     0.907      4       0.402     4
+Din[6]  PHI2  F     4.869      4       3.636     4
+Din[6]  nCCAS F     1.378      4       0.023     M
+Din[7]  PHI2  F     4.138      4       3.636     4
+Din[7]  nCCAS F     2.072      4      -0.120     M
+MAin[0] PHI2  F     5.613      4       0.006     M
+MAin[0] nCRAS F     0.244      4       1.146     4
+MAin[1] PHI2  F     3.409      4       0.354     6
+MAin[1] nCRAS F     0.244      4       1.146     4
+MAin[2] PHI2  F     5.391      4       0.132     M
+MAin[2] nCRAS F     0.250      4       1.141     4
+MAin[3] PHI2  F     4.627      4       0.087     M
+MAin[3] nCRAS F     0.507      4       0.910     4
+MAin[4] PHI2  F     5.665      4      -0.133     M
+MAin[4] nCRAS F     0.675      4       0.777     4
+MAin[5] PHI2  F     5.569      4       0.129     M
+MAin[5] nCRAS F     0.050      4       1.238     4
+MAin[6] PHI2  F     5.717      4      -0.141     M
+MAin[6] nCRAS F     0.242      4       1.146     4
+MAin[7] PHI2  F     5.943      4      -0.173     M
+MAin[7] nCRAS F     0.170      4       1.228     4
+MAin[8] nCRAS F     0.759      4       0.696     4
+MAin[9] nCRAS F     0.516      4       0.891     4
+PHI2    RCLK  R    -0.312      M       3.167     4
+nCCAS   RCLK  R     2.600      4      -0.176     M
+nCCAS   nCRAS F     3.106      4      -0.235     M
+nCRAS   RCLK  R     1.803      4      -0.055     M
+nFWE    PHI2  F     4.680      4       0.261     M
+nFWE    nCRAS F     2.234      4       1.143     4
+
+
+// Clock to Output Delay
+
+Port   Clock Edge  Max_Delay Performance_Grade  Min_Delay Performance_Grade
+------------------------------------------------------------------------
+LED    RCLK  R     9.922         4        2.878          M
+LED    nCRAS F    10.555         4        3.057          M
+RA[0]  RCLK  R    11.638         4        3.406          M
+RA[0]  nCRAS F    11.771         4        3.430          M
+RA[10] RCLK  R     8.141         4        2.620          M
+RA[11] PHI2  R     8.610         4        2.756          M
+RA[1]  RCLK  R    11.674         4        3.407          M
+RA[1]  nCRAS F    10.635         4        3.155          M
+RA[2]  RCLK  R    12.933         4        3.729          M
+RA[2]  nCRAS F    11.858         4        3.449          M
+RA[3]  RCLK  R    12.587         4        3.664          M
+RA[3]  nCRAS F    11.255         4        3.298          M
+RA[4]  RCLK  R    11.721         4        3.433          M
+RA[4]  nCRAS F    11.153         4        3.297          M
+RA[5]  RCLK  R    12.544         4        3.620          M
+RA[5]  nCRAS F    11.480         4        3.360          M
+RA[6]  RCLK  R    12.984         4        3.775          M
+RA[6]  nCRAS F    11.528         4        3.407          M
+RA[7]  RCLK  R    12.553         4        3.625          M
+RA[7]  nCRAS F    11.610         4        3.368          M
+RA[8]  RCLK  R    11.836         4        3.453          M
+RA[8]  nCRAS F    10.797         4        3.201          M
+RA[9]  RCLK  R    11.182         4        3.271          M
+RA[9]  nCRAS F    11.135         4        3.279          M
+RBA[0] nCRAS F     8.439         4        2.703          M
+RBA[1] nCRAS F     8.439         4        2.703          M
+RCKE   RCLK  R    10.083         4        3.081          M
+RDQMH  RCLK  R    11.381         4        3.325          M
+RDQML  RCLK  R    10.735         4        3.173          M
+RD[0]  nCCAS F     8.223         4        2.594          M
+RD[1]  nCCAS F     8.223         4        2.594          M
+RD[2]  nCCAS F     8.223         4        2.594          M
+RD[3]  nCCAS F     8.223         4        2.594          M
+RD[4]  nCCAS F     8.223         4        2.594          M
+RD[5]  nCCAS F     8.223         4        2.594          M
+RD[6]  nCCAS F     8.223         4        2.594          M
+RD[7]  nCCAS F     8.223         4        2.594          M
+nRCAS  RCLK  R     8.141         4        2.620          M
+nRCS   RCLK  R     8.141         4        2.620          M
+nRRAS  RCLK  R     8.141         4        2.620          M
+nRWE   RCLK  R     8.121         4        2.627          M
+WARNING: you must also run trce with hold speed: 4
+WARNING: you must also run trce with hold speed: 6
+WARNING: you must also run trce with setup speed: M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.asd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.asd index 165a86f..1f334b9 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.asd +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.asd @@ -1,24 +1,24 @@ -[ActiveSupport MAP] -Device = LCMXO2-640HC; -Package = TQFP100; -Performance = 4; -LUTS_avail = 640; -LUTS_used = 230; -FF_avail = 719; -FF_used = 109; -INPUT_LVCMOS33 = 25; -OUTPUT_LVCMOS33 = 30; -BIDI_LVCMOS33 = 8; -IO_avail = 79; -IO_used = 63; -EBR_avail = 2; -EBR_used = 0; -; -; start of EFB statistics -I2C = 0; -SPI = 0; -TimerCounter = 0; -UFM = 1; -PLL = 0; -; end of EFB statistics -; +[ActiveSupport MAP] +Device = LCMXO2-640HC; +Package = TQFP100; +Performance = 4; +LUTS_avail = 640; +LUTS_used = 222; +FF_avail = 719; +FF_used = 111; +INPUT_LVCMOS33 = 25; +OUTPUT_LVCMOS33 = 30; +BIDI_LVCMOS33 = 8; +IO_avail = 79; +IO_used = 63; +EBR_avail = 2; +EBR_used = 0; +; +; start of EFB statistics +I2C = 0; +SPI = 0; +TimerCounter = 0; +UFM = 1; +PLL = 0; +; end of EFB statistics +; diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.cam b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.cam index b49ff9d..7e9e945 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.cam +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.cam @@ -1,145 +1,144 @@ -[ START MERGED ] -RASr2_i RASr2 -XOR8MEG.CN PHI2_c -nCRAS_c_i nCRAS_c -InitReady_i InitReady -[ END MERGED ] -[ START CLIPPED ] -GND -ufmefb/VCC -ufmefb/GND -FS_s_0_S1[17] -FS_s_0_COUT[17] -ufmefb/CFGSTDBY -ufmefb/CFGWAKE -ufmefb/wbc_ufm_irq -ufmefb/TCOC -ufmefb/TCINT -ufmefb/SPIIRQO -ufmefb/SPICSNEN -ufmefb/SPIMCSN7 -ufmefb/SPIMCSN6 -ufmefb/SPIMCSN5 -ufmefb/SPIMCSN4 -ufmefb/SPIMCSN3 -ufmefb/SPIMCSN2 -ufmefb/SPIMCSN1 -ufmefb/SPIMCSN0 -ufmefb/SPIMOSIEN -ufmefb/SPIMOSIO -ufmefb/SPIMISOEN -ufmefb/SPIMISOO -ufmefb/SPISCKEN -ufmefb/SPISCKO -ufmefb/I2C2IRQO -ufmefb/I2C1IRQO -ufmefb/I2C2SDAOEN -ufmefb/I2C2SDAO -ufmefb/I2C2SCLOEN -ufmefb/I2C2SCLO -ufmefb/I2C1SDAOEN -ufmefb/I2C1SDAO -ufmefb/I2C1SCLOEN -ufmefb/I2C1SCLO -ufmefb/PLLDATO0 -ufmefb/PLLDATO1 -ufmefb/PLLDATO2 -ufmefb/PLLDATO3 -ufmefb/PLLDATO4 -ufmefb/PLLDATO5 -ufmefb/PLLDATO6 -ufmefb/PLLDATO7 -ufmefb/PLLADRO0 -ufmefb/PLLADRO1 -ufmefb/PLLADRO2 -ufmefb/PLLADRO3 -ufmefb/PLLADRO4 -ufmefb/PLLWEO -ufmefb/PLL1STBO -ufmefb/PLL0STBO -ufmefb/PLLRSTO -ufmefb/PLLCLKO -ufmefb/wb_ack_o -ufmefb/wb_dat_o_1[2] -ufmefb/wb_dat_o_1[3] -ufmefb/wb_dat_o_1[4] -ufmefb/wb_dat_o_1[5] -ufmefb/wb_dat_o_1[6] -ufmefb/wb_dat_o_1[7] -FS_cry_0_S0[0] -N_1 -[ END CLIPPED ] -[ START DESIGN PREFS ] -SCHEMATIC START ; -# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Wed Aug 16 20:59:37 2023 - -SYSCONFIG SDM_PORT=DISABLE SLAVE_SPI_PORT=DISABLE I2C_PORT=DISABLE MASTER_SPI_PORT=DISABLE COMPRESS_CONFIG=ON CONFIGURATION=CFG MY_ASSP=OFF ONE_TIME_PROGRAM=OFF CONFIG_SECURE=OFF MCCLK_FREQ=2.08 JTAG_PORT=ENABLE ENABLE_TRANSFR=DISABLE SHAREDEBRINIT=DISABLE MUX_CONFIGURATION_PORTS=DISABLE BACKGROUND_RECONFIG=OFF INBUF=ON ; -LOCATE COMP "RD[0]" SITE "36" ; -LOCATE COMP "Dout[0]" SITE "76" ; -LOCATE COMP "PHI2" SITE "8" ; -LOCATE COMP "RDQML" SITE "48" ; -LOCATE COMP "RDQMH" SITE "51" ; -LOCATE COMP "nRCAS" SITE "52" ; -LOCATE COMP "nRRAS" SITE "54" ; -LOCATE COMP "nRWE" SITE "49" ; -LOCATE COMP "RCKE" SITE "53" ; -LOCATE COMP "RCLK" SITE "62" ; -LOCATE COMP "nRCS" SITE "57" ; -LOCATE COMP "RD[7]" SITE "43" ; -LOCATE COMP "RD[6]" SITE "42" ; -LOCATE COMP "RD[5]" SITE "41" ; -LOCATE COMP "RD[4]" SITE "40" ; -LOCATE COMP "RD[3]" SITE "39" ; -LOCATE COMP "RD[2]" SITE "38" ; -LOCATE COMP "RD[1]" SITE "37" ; -LOCATE COMP "RA[11]" SITE "59" ; -LOCATE COMP "RA[10]" SITE "64" ; -LOCATE COMP "RA[9]" SITE "63" ; -LOCATE COMP "RA[8]" SITE "65" ; -LOCATE COMP "RA[7]" SITE "75" ; -LOCATE COMP "RA[6]" SITE "68" ; -LOCATE COMP "RA[5]" SITE "70" ; -LOCATE COMP "RA[4]" SITE "74" ; -LOCATE COMP "RA[3]" SITE "71" ; -LOCATE COMP "RA[2]" SITE "69" ; -LOCATE COMP "RA[1]" SITE "67" ; -LOCATE COMP "RA[0]" SITE "66" ; -LOCATE COMP "RBA[1]" SITE "60" ; -LOCATE COMP "RBA[0]" SITE "58" ; -LOCATE COMP "LED" SITE "34" ; -LOCATE COMP "nFWE" SITE "15" ; -LOCATE COMP "nCRAS" SITE "17" ; -LOCATE COMP "nCCAS" SITE "9" ; -LOCATE COMP "Dout[7]" SITE "82" ; -LOCATE COMP "Dout[6]" SITE "78" ; -LOCATE COMP "Dout[5]" SITE "84" ; -LOCATE COMP "Dout[4]" SITE "83" ; -LOCATE COMP "Dout[3]" SITE "85" ; -LOCATE COMP "Dout[2]" SITE "87" ; -LOCATE COMP "Dout[1]" SITE "86" ; -LOCATE COMP "Din[7]" SITE "1" ; -LOCATE COMP "Din[6]" SITE "2" ; -LOCATE COMP "Din[5]" SITE "98" ; -LOCATE COMP "Din[4]" SITE "99" ; -LOCATE COMP "Din[3]" SITE "97" ; -LOCATE COMP "Din[2]" SITE "88" ; -LOCATE COMP "Din[1]" SITE "96" ; -LOCATE COMP "Din[0]" SITE "3" ; -LOCATE COMP "CROW[1]" SITE "16" ; -LOCATE COMP "CROW[0]" SITE "10" ; -LOCATE COMP "MAin[9]" SITE "32" ; -LOCATE COMP "MAin[8]" SITE "25" ; -LOCATE COMP "MAin[7]" SITE "18" ; -LOCATE COMP "MAin[6]" SITE "24" ; -LOCATE COMP "MAin[5]" SITE "19" ; -LOCATE COMP "MAin[4]" SITE "20" ; -LOCATE COMP "MAin[3]" SITE "21" ; -LOCATE COMP "MAin[2]" SITE "13" ; -LOCATE COMP "MAin[1]" SITE "12" ; -LOCATE COMP "MAin[0]" SITE "14" ; -FREQUENCY PORT "PHI2" 2.900000 MHz ; -FREQUENCY PORT "nCCAS" 2.900000 MHz ; -FREQUENCY PORT "nCRAS" 2.900000 MHz ; -FREQUENCY PORT "RCLK" 62.500000 MHz ; -SCHEMATIC END ; -[ END DESIGN PREFS ] +[ START MERGED ] +RASr2_i RASr2 +XOR8MEG.CN PHI2_c +XOR8MEG_3_u_0_am XOR8MEG +nCRAS_c_i nCRAS_c +[ END MERGED ] +[ START CLIPPED ] +GND +ufmefb/VCC +ufmefb/GND +FS_s_0_S1[17] +FS_s_0_COUT[17] +ufmefb/CFGSTDBY +ufmefb/CFGWAKE +ufmefb/wbc_ufm_irq +ufmefb/TCOC +ufmefb/TCINT +ufmefb/SPIIRQO +ufmefb/SPICSNEN +ufmefb/SPIMCSN7 +ufmefb/SPIMCSN6 +ufmefb/SPIMCSN5 +ufmefb/SPIMCSN4 +ufmefb/SPIMCSN3 +ufmefb/SPIMCSN2 +ufmefb/SPIMCSN1 +ufmefb/SPIMCSN0 +ufmefb/SPIMOSIEN +ufmefb/SPIMOSIO +ufmefb/SPIMISOEN +ufmefb/SPIMISOO +ufmefb/SPISCKEN +ufmefb/SPISCKO +ufmefb/I2C2IRQO +ufmefb/I2C1IRQO +ufmefb/I2C2SDAOEN +ufmefb/I2C2SDAO +ufmefb/I2C2SCLOEN +ufmefb/I2C2SCLO +ufmefb/I2C1SDAOEN +ufmefb/I2C1SDAO +ufmefb/I2C1SCLOEN +ufmefb/I2C1SCLO +ufmefb/PLLDATO0 +ufmefb/PLLDATO1 +ufmefb/PLLDATO2 +ufmefb/PLLDATO3 +ufmefb/PLLDATO4 +ufmefb/PLLDATO5 +ufmefb/PLLDATO6 +ufmefb/PLLDATO7 +ufmefb/PLLADRO0 +ufmefb/PLLADRO1 +ufmefb/PLLADRO2 +ufmefb/PLLADRO3 +ufmefb/PLLADRO4 +ufmefb/PLLWEO +ufmefb/PLL1STBO +ufmefb/PLL0STBO +ufmefb/PLLRSTO +ufmefb/PLLCLKO +ufmefb/wb_dat_o_1[2] +ufmefb/wb_dat_o_1[3] +ufmefb/wb_dat_o_1[4] +ufmefb/wb_dat_o_1[5] +ufmefb/wb_dat_o_1[6] +ufmefb/wb_dat_o_1[7] +FS_cry_0_S0[0] +N_1 +[ END CLIPPED ] +[ START DESIGN PREFS ] +SCHEMATIC START ; +# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Sat Aug 19 21:54:57 2023 + +SYSCONFIG SDM_PORT=DISABLE SLAVE_SPI_PORT=DISABLE I2C_PORT=DISABLE MASTER_SPI_PORT=DISABLE COMPRESS_CONFIG=ON CONFIGURATION=CFG MY_ASSP=OFF ONE_TIME_PROGRAM=OFF CONFIG_SECURE=OFF MCCLK_FREQ=2.08 JTAG_PORT=ENABLE ENABLE_TRANSFR=DISABLE SHAREDEBRINIT=DISABLE MUX_CONFIGURATION_PORTS=DISABLE BACKGROUND_RECONFIG=OFF INBUF=ON ; +LOCATE COMP "RD[0]" SITE "36" ; +LOCATE COMP "Dout[0]" SITE "76" ; +LOCATE COMP "PHI2" SITE "8" ; +LOCATE COMP "RDQML" SITE "48" ; +LOCATE COMP "RDQMH" SITE "51" ; +LOCATE COMP "nRCAS" SITE "52" ; +LOCATE COMP "nRRAS" SITE "54" ; +LOCATE COMP "nRWE" SITE "49" ; +LOCATE COMP "RCKE" SITE "53" ; +LOCATE COMP "RCLK" SITE "62" ; +LOCATE COMP "nRCS" SITE "57" ; +LOCATE COMP "RD[7]" SITE "43" ; +LOCATE COMP "RD[6]" SITE "42" ; +LOCATE COMP "RD[5]" SITE "41" ; +LOCATE COMP "RD[4]" SITE "40" ; +LOCATE COMP "RD[3]" SITE "39" ; +LOCATE COMP "RD[2]" SITE "38" ; +LOCATE COMP "RD[1]" SITE "37" ; +LOCATE COMP "RA[11]" SITE "59" ; +LOCATE COMP "RA[10]" SITE "64" ; +LOCATE COMP "RA[9]" SITE "63" ; +LOCATE COMP "RA[8]" SITE "65" ; +LOCATE COMP "RA[7]" SITE "75" ; +LOCATE COMP "RA[6]" SITE "68" ; +LOCATE COMP "RA[5]" SITE "70" ; +LOCATE COMP "RA[4]" SITE "74" ; +LOCATE COMP "RA[3]" SITE "71" ; +LOCATE COMP "RA[2]" SITE "69" ; +LOCATE COMP "RA[1]" SITE "67" ; +LOCATE COMP "RA[0]" SITE "66" ; +LOCATE COMP "RBA[1]" SITE "60" ; +LOCATE COMP "RBA[0]" SITE "58" ; +LOCATE COMP "LED" SITE "34" ; +LOCATE COMP "nFWE" SITE "15" ; +LOCATE COMP "nCRAS" SITE "17" ; +LOCATE COMP "nCCAS" SITE "9" ; +LOCATE COMP "Dout[7]" SITE "82" ; +LOCATE COMP "Dout[6]" SITE "78" ; +LOCATE COMP "Dout[5]" SITE "84" ; +LOCATE COMP "Dout[4]" SITE "83" ; +LOCATE COMP "Dout[3]" SITE "85" ; +LOCATE COMP "Dout[2]" SITE "87" ; +LOCATE COMP "Dout[1]" SITE "86" ; +LOCATE COMP "Din[7]" SITE "1" ; +LOCATE COMP "Din[6]" SITE "2" ; +LOCATE COMP "Din[5]" SITE "98" ; +LOCATE COMP "Din[4]" SITE "99" ; +LOCATE COMP "Din[3]" SITE "97" ; +LOCATE COMP "Din[2]" SITE "88" ; +LOCATE COMP "Din[1]" SITE "96" ; +LOCATE COMP "Din[0]" SITE "3" ; +LOCATE COMP "CROW[1]" SITE "16" ; +LOCATE COMP "CROW[0]" SITE "10" ; +LOCATE COMP "MAin[9]" SITE "32" ; +LOCATE COMP "MAin[8]" SITE "25" ; +LOCATE COMP "MAin[7]" SITE "18" ; +LOCATE COMP "MAin[6]" SITE "24" ; +LOCATE COMP "MAin[5]" SITE "19" ; +LOCATE COMP "MAin[4]" SITE "20" ; +LOCATE COMP "MAin[3]" SITE "21" ; +LOCATE COMP "MAin[2]" SITE "13" ; +LOCATE COMP "MAin[1]" SITE "12" ; +LOCATE COMP "MAin[0]" SITE "14" ; +FREQUENCY PORT "PHI2" 2.900000 MHz ; +FREQUENCY PORT "nCCAS" 2.900000 MHz ; +FREQUENCY PORT "nCRAS" 2.900000 MHz ; +FREQUENCY PORT "RCLK" 62.500000 MHz ; +SCHEMATIC END ; +[ END DESIGN PREFS ] diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.hrr b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.hrr index b4bdefa..3c4bcec 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.hrr +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.hrr @@ -1,20 +1,22 @@ ---------------------------------------------------- -Report for cell RAM2GS - Instance path: RAM2GS - Cell usage: - cell count Res Usage(%) - SLIC 117.00 100.0 - IOLGC 25.00 100.0 - LUT4 210.00 100.0 - IOREG 25 100.0 - IOBUF 63 100.0 - PFUREG 84 100.0 - RIPPLE 10 100.0 -SUB MODULES - cell count SLC Usage(%) - REFB 1 0.0 ---------------------------------------------------- -Report for cell REFB - Instance path: RAM2GS/ufmefb - Cell usage: - cell count Res Usage(%) +--------------------------------------------------- +Report for cell RAM2GS + Instance path: RAM2GS + Cell usage: + cell count Res Usage(%) + SLIC 113.00 100.0 + IOLGC 25.00 100.0 + LUT4 202.00 100.0 + IOREG 25 100.0 + IOBUF 63 100.0 + PFUREG 86 100.0 + RIPPLE 10 100.0 +SUB MODULES + cell count SLC Usage(%) + REFB 1 0.4 +--------------------------------------------------- +Report for cell REFB + Instance path: RAM2GS/ufmefb + Cell usage: + cell count Res Usage(%) + SLIC 0.50 0.4 + LUT4 1.00 0.5 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.ncd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_map.ncd index 3f6e410165244f7092dee557170e1c7731639d6a..1caa63a1cb9766ac3f2de33740bfe670d549ad2e 100644 GIT binary patch literal 193033 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 T?AcaTGCQCoqS#gP_~ZW{7HTs0 literal 197654 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 Khf40h|NjHH "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity vcc + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity vcc is + port (PWR1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; + + end vcc; + + architecture Structure of vcc is + begin + INST1: VHI + port map (Z=>PWR1); + end Structure; + +-- entity gnd + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity gnd is + port (PWR0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; + + end gnd; + + architecture Structure of gnd is + begin + INST1: VLO + port map (Z=>PWR0); + end Structure; + +-- entity ccu2B0 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ccu2B0 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu2B0 : ENTITY IS TRUE; + + end ccu2B0; + + architecture Structure of ccu2B0 is + begin + inst1: CCU2D + generic map (INIT0 => X"000A", INIT1 => X"300A", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT=>CO1); + end Structure; + +-- entity SLICE_0 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_0 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_0"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; DI1: in Std_logic; CLK: in Std_logic; + F1: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; + + end SLICE_0; + + architecture Structure of SLICE_0 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B0 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_cry_0_0: ccu2B0 + port map (A0=>GNDI, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>GNDI, S0=>open, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, DI1_dly, CLK_dly, F1_out, Q1_out, FCO_out) + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20001 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ccu20001 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; + + end ccu20001; + + architecture Structure of ccu20001 is + begin + inst1: CCU2D + generic map (INIT0 => X"5002", INIT1 => X"300A", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT=>CO1); + end Structure; + +-- entity SLICE_1 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_1 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_1"; + + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; + + end SLICE_1; + + architecture Structure of SLICE_1 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20001 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_17: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_s_0_17: ccu20001 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>GNDI, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>open, + CO1=>open); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A0_ipd, DI0_dly, CLK_dly, FCI_ipd, F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20002 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ccu20002 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20002 : ENTITY IS TRUE; + + end ccu20002; + + architecture Structure of ccu20002 is + begin + inst1: CCU2D + generic map (INIT0 => X"300A", INIT1 => X"300A", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT=>CO1); + end Structure; + +-- entity SLICE_2 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_2 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_2"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; + + end SLICE_2; + + architecture Structure of SLICE_2 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_16: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_15: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_15: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_3 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_3 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_3"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; + + end SLICE_3; + + architecture Structure of SLICE_3 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_14: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_13: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_13: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_4 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_4 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_4"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; + + end SLICE_4; + + architecture Structure of SLICE_4 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_12: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_11: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_11: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_5 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_5 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_5"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; + + end SLICE_5; + + architecture Structure of SLICE_5 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_10: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_9: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_9: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_6 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_6 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_6"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; + + end SLICE_6; + + architecture Structure of SLICE_6 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_8: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_7: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_7: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_7 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_7 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_7"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; + + end SLICE_7; + + architecture Structure of SLICE_7 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_6: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_5: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_5: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_8 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_8 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_8"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; + + end SLICE_8; + + architecture Structure of SLICE_8 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_4: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_3: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_9 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_9 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_9"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; + + end SLICE_9; + + architecture Structure of SLICE_9 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_1: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut4 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut4 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; + + end lut4; + + architecture Structure of lut4 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40003 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40003 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; + + end lut40003; + + architecture Structure of lut40003 is + begin + INST10: ROM16X1A + generic map (initval => X"00F2") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity inverter + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity inverter is + port (I: in Std_logic; Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; + + end inverter; + + architecture Structure of inverter is + begin + INST1: INV + port map (A=>I, Z=>Z); + end Structure; + +-- entity SLICE_10 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_10 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_10"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_10 : ENTITY IS TRUE; + + end SLICE_10; + + architecture Structure of SLICE_10 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40003 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + begin + CmdEnable17: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ADSubmitted_r: lut40003 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + ADSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40004 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40004 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; + + end lut40004; + + architecture Structure of lut40004 is + begin + INST10: ROM16X1A + generic map (initval => X"F2F2") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_11 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_11 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_11"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_11 : ENTITY IS TRUE; + + end SLICE_11; + + architecture Structure of SLICE_11 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40004 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1Submitted_s: lut40004 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1Submitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40005 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40005 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; + + end lut40005; + + architecture Structure of lut40005 is + begin + INST10: ROM16X1A + generic map (initval => X"5555") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_12 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_12 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_12"; + + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_12 : ENTITY IS TRUE; + + end SLICE_12; + + architecture Structure of SLICE_12 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nCCAS_pad_RNISUR8: lut40005 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CASr: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40006 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40006 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; + + end lut40006; + + architecture Structure of lut40006 is + begin + INST10: ROM16X1A + generic map (initval => X"0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40007 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40007 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40007 : ENTITY IS TRUE; + + end lut40007; + + architecture Structure of lut40007 is + begin + INST10: ROM16X1A + generic map (initval => X"DDDD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0008 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity vmuxregsre0008 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0008 : ENTITY IS TRUE; + + end vmuxregsre0008; + + architecture Structure of vmuxregsre0008 is + begin + INST01: FL1P3IY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_16 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_16 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_16"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_16 : ENTITY IS TRUE; + + end SLICE_16; + + architecture Structure of SLICE_16 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40007 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0008 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3_2: lut40006 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_RNO_0: lut40007 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0: vmuxregsre0008 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40009 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40009 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; + + end lut40009; + + architecture Structure of lut40009 is + begin + INST10: ROM16X1A + generic map (initval => X"EEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40010 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40010 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; + + end lut40010; + + architecture Structure of lut40010 is + begin + INST10: ROM16X1A + generic map (initval => X"AC8C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity selmux2 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity selmux2 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; + + end selmux2; + + architecture Structure of selmux2 is + begin + INST1: MUX21 + port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); + end Structure; + +-- entity SLICE_17 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_17 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_17"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_17 : ENTITY IS TRUE; + + end SLICE_17; + + architecture Structure of SLICE_17 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal SLICE_17_SLICE_17_K1_H1: Std_logic; + signal SLICE_17_CmdEnable_s_GATE_H0: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40009 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40010 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + SLICE_17_K1: lut40009 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, + Z=>SLICE_17_SLICE_17_K1_H1); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable_s_GATE: lut40010 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>SLICE_17_CmdEnable_s_GATE_H0); + CmdEnable: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + SLICE_17_K0K1MUX: selmux2 + port map (D0=>SLICE_17_CmdEnable_s_GATE_H0, D1=>SLICE_17_SLICE_17_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + OFX0_zd := OFX0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40011 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40011 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; + + end lut40011; + + architecture Structure of lut40011 is + begin + INST10: ROM16X1A + generic map (initval => X"CACA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40012 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40012 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; + + end lut40012; + + architecture Structure of lut40012 is + begin + INST10: ROM16X1A + generic map (initval => X"ACAC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_18 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_18 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_18"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_18 : ENTITY IS TRUE; + + end SLICE_18; + + architecture Structure of SLICE_18 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdLEDEN_4_0: lut40011 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_4_u: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + CmdLEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40013 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40013 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; + + end lut40013; + + architecture Structure of lut40013 is + begin + INST10: ROM16X1A + generic map (initval => X"030A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_20 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_20 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_20"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; + + end SLICE_20; + + architecture Structure of SLICE_20 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdUFMShift_3_u: lut40013 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMShift: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, CE_dly, + CLK_dly, F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_21 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_21 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_21"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; + + end SLICE_21; + + architecture Structure of SLICE_21 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdUFMShift_3_u_fast: lut40013 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMShift_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, CE_dly, + CLK_dly, F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40014 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40014 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; + + end lut40014; + + architecture Structure of lut40014 is + begin + INST10: ROM16X1A + generic map (initval => X"4444") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40015 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40015 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; + + end lut40015; + + architecture Structure of lut40015 is + begin + INST10: ROM16X1A + generic map (initval => X"0C0A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_22 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_22 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_22"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; + + end SLICE_22; + + architecture Structure of SLICE_22 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40015 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdUFMWrite_2: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMWrite_3_u: lut40015 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMWrite: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40016 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40016 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; + + end lut40016; + + architecture Structure of lut40016 is + begin + INST10: ROM16X1A + generic map (initval => X"0002") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40017 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40017 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; + + end lut40017; + + architecture Structure of lut40017 is + begin + INST10: ROM16X1A + generic map (initval => X"A8A8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_23 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_23 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_23"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_23 : ENTITY IS TRUE; + + end SLICE_23; + + architecture Structure of SLICE_23 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG11: lut40016 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdValid_r: lut40017 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdValid: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40018 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40018 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; + + end lut40018; + + architecture Structure of lut40018 is + begin + INST10: ROM16X1A + generic map (initval => X"8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_24 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_24 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_24"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_24 : ENTITY IS TRUE; + + end SLICE_24; + + architecture Structure of SLICE_24 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG18: lut40018 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdValid_r_fast: lut40017 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + CmdValid_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40019 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40019 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; + + end lut40019; + + architecture Structure of lut40019 is + begin + INST10: ROM16X1A + generic map (initval => X"3A3A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40020 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40020 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; + + end lut40020; + + architecture Structure of lut40020 is + begin + INST10: ROM16X1A + generic map (initval => X"E2E2") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_25 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_25 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_25"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_25 : ENTITY IS TRUE; + + end SLICE_25; + + architecture Structure of SLICE_25 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40019 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_0: lut40019 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Cmdn8MEGEN_4_u: lut40020 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + Cmdn8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40021 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40021 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; + + end lut40021; + + architecture Structure of lut40021 is + begin + INST10: ROM16X1A + generic map (initval => X"EEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_26 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_26 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_26"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; + + end SLICE_26; + + architecture Structure of SLICE_26 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nCCAS_pad_RNI01SJ: lut40021 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nFWE_pad_RNI420B: lut40005 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>GNDI, Z=>F0_out); + FWEr: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, + Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40022 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40022 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; + + end lut40022; + + architecture Structure of lut40022 is + begin + INST10: ROM16X1A + generic map (initval => X"FFF7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40023 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40023 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; + + end lut40023; + + architecture Structure of lut40023 is + begin + INST10: ROM16X1A + generic map (initval => X"A9A9") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_28 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_28 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_28"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_28 : ENTITY IS TRUE; + + end SLICE_28; + + architecture Structure of SLICE_28 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_0io_RNO: lut40022 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_0: lut40023 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40024 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40024 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; + + end lut40024; + + architecture Structure of lut40024 is + begin + INST10: ROM16X1A + generic map (initval => X"7878") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40025 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40025 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; + + end lut40025; + + architecture Structure of lut40025 is + begin + INST10: ROM16X1A + generic map (initval => X"6666") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_29 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_29 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_29"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; + + end SLICE_29; + + architecture Structure of SLICE_29 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40025 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_RNO_2: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_n1_0_x2: lut40025 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + IS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + IS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40026 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40026 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; + + end lut40026; + + architecture Structure of lut40026 is + begin + INST10: ROM16X1A + generic map (initval => X"6AAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_30 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_30 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_30"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; + + end SLICE_30; + + architecture Structure of SLICE_30 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40026 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_2_sqmuxa_0_o2: lut40021 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_RNO_3: lut40026 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + IS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_31 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_31 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_31"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; + + end SLICE_31; + + architecture Structure of SLICE_31 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a3: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady_RNO: lut40021 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40027 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40027 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; + + end lut40027; + + architecture Structure of lut40027 is + begin + INST10: ROM16X1A + generic map (initval => X"B8B8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_32 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_32 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_32"; + + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; + + end SLICE_32; + + architecture Structure of SLICE_32 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LEDEN_6: lut40027 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + LEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C0_ipd, B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, + F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40028 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40028 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; + + end lut40028; + + architecture Structure of lut40028 is + begin + INST10: ROM16X1A + generic map (initval => X"FBFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_34 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_34 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_34"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_34 : ENTITY IS TRUE; + + end SLICE_34; + + architecture Structure of SLICE_34 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LED_pad_RNO: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RASr_RNO: lut40005 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>GNDI, Z=>F0_out); + RASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + RASr: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, A0_ipd, DI0_dly, M1_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40029 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40029 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; + + end lut40029; + + architecture Structure of lut40029 is + begin + INST10: ROM16X1A + generic map (initval => X"1111") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_35 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_35 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_35"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_35 : ENTITY IS TRUE; + + end SLICE_35; + + architecture Structure of SLICE_35 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1: lut40029 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_4: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + PHI2r2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + RASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, M1_dly, + M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40030 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40030 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; + + end lut40030; + + architecture Structure of lut40030 is + begin + INST10: ROM16X1A + generic map (initval => X"5072") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40031 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40031 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; + + end lut40031; + + architecture Structure of lut40031 is + begin + INST10: ROM16X1A + generic map (initval => X"DCCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_36 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_36 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_36"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_36 : ENTITY IS TRUE; + + end SLICE_36; + + architecture Structure of SLICE_36 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40030 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40031 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_RNO: lut40030 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKEEN_8_u: lut40031 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RCKEEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40032 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40032 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; + + end lut40032; + + architecture Structure of lut40032 is + begin + INST10: ROM16X1A + generic map (initval => X"4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40033 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40033 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; + + end lut40033; + + architecture Structure of lut40033 is + begin + INST10: ROM16X1A + generic map (initval => X"FE30") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_37 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_37 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_37"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_37 : ENTITY IS TRUE; + + end SLICE_37; + + architecture Structure of SLICE_37 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_Bank_1_4: lut40032 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKE_2_0: lut40033 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RCKE: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40034 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40034 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; + + end lut40034; + + architecture Structure of lut40034 is + begin + INST10: ROM16X1A + generic map (initval => X"7F7F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40035 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40035 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; + + end lut40035; + + architecture Structure of lut40035 is + begin + INST10: ROM16X1A + generic map (initval => X"AEAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_38 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_38 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_38"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_38 : ENTITY IS TRUE; + + end SLICE_38; + + architecture Structure of SLICE_38 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40035 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_o2: lut40034 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_RNO: lut40035 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Ready: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40036 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40036 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; + + end lut40036; + + architecture Structure of lut40036 is + begin + INST10: ROM16X1A + generic map (initval => X"0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_39 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_39 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_39"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; + + end SLICE_39; + + architecture Structure of SLICE_39 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3: lut40036 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_fast_RNO: lut40021 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40037 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40037 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; + + end lut40037; + + architecture Structure of lut40037 is + begin + INST10: ROM16X1A + generic map (initval => X"8888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_40 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_40 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_40"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_40 : ENTITY IS TRUE; + + end SLICE_40; + + architecture Structure of SLICE_40 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_1: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_0: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_1: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_41 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_41 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_41"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; + + end SLICE_41; + + architecture Structure of SLICE_41 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_3: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_2: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_3: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_2: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40038 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40038 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; + + end lut40038; + + architecture Structure of lut40038 is + begin + INST10: ROM16X1A + generic map (initval => X"BBBB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_42 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_42 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_42"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; + + end SLICE_42; + + architecture Structure of SLICE_42 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_5: lut40038 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_4: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_5: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_4: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_43 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_43 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_43"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; + + end SLICE_43; + + architecture Structure of SLICE_43 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_7: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_6: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_7: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_6: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_44 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_44 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_44"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; + + end SLICE_44; + + architecture Structure of SLICE_44 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_9: lut40038 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_8: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_9: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_8: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40039 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40039 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; + + end lut40039; + + architecture Structure of lut40039 is + begin + INST10: ROM16X1A + generic map (initval => X"5400") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_45 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_45 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_45"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_45 : ENTITY IS TRUE; + + end SLICE_45; + + architecture Structure of SLICE_45 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0008 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40039 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0: lut40039 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_0_i_o2_1: lut40021 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_1: vmuxregsre0008 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40040 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40040 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; + + end lut40040; + + architecture Structure of lut40040 is + begin + INST10: ROM16X1A + generic map (initval => X"40C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_46 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_46 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_46"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_46 : ENTITY IS TRUE; + + end SLICE_46; + + architecture Structure of SLICE_46 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_bm: lut40040 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG_3_u_0_GATE: lut40011 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + XOR8MEG: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40041 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40041 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; + + end lut40041; + + architecture Structure of lut40041 is + begin + INST10: ROM16X1A + generic map (initval => X"0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_47 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_47 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_47"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_47 : ENTITY IS TRUE; + + end SLICE_47; + + architecture Structure of SLICE_47 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_rst10: lut40041 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + n8MEGEN_6: lut40027 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + n8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40042 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40042 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; + + end lut40042; + + architecture Structure of lut40042 is + begin + INST10: ROM16X1A + generic map (initval => X"1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40043 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40043 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; + + end lut40043; + + architecture Structure of lut40043 is + begin + INST10: ROM16X1A + generic map (initval => X"DCEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_48 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_48 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_48"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_48 : ENTITY IS TRUE; + + end SLICE_48; + + architecture Structure of SLICE_48 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0008 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40043 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_0_0_a3_0: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRowColSel_0_0: lut40043 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRowColSel: vmuxregsre0008 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40044 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40044 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40044 : ENTITY IS TRUE; + + end lut40044; + + architecture Structure of lut40044 is + begin + INST10: ROM16X1A + generic map (initval => X"B1A0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40045 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40045 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; + + end lut40045; + + architecture Structure of lut40045 is + begin + INST10: ROM16X1A + generic map (initval => X"E4E4") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_49 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_49 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_49"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_49 : ENTITY IS TRUE; + + end SLICE_49; + + architecture Structure of SLICE_49 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40044 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_1: lut40044 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_adr_5_0: lut40045 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_1: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_50 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_50 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_50"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; + + end SLICE_50; + + architecture Structure of SLICE_50 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_3: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_5_2: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + wb_adr_3: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_2: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, DI0_dly, + CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40046 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40046 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; + + end lut40046; + + architecture Structure of lut40046 is + begin + INST10: ROM16X1A + generic map (initval => X"D8D8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_51 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_51 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_51"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI1: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; + + end SLICE_51; + + architecture Structure of SLICE_51 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_5: lut40046 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_5_4: lut40046 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + wb_adr_5: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_4: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_52 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_52 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_52"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; + + end SLICE_52; + + architecture Structure of SLICE_52 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_7: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_5_6: lut40046 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + wb_adr_7: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_6: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40047 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40047 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; + + end lut40047; + + architecture Structure of lut40047 is + begin + INST10: ROM16X1A + generic map (initval => X"0100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40048 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40048 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; + + end lut40048; + + architecture Structure of lut40048 is + begin + INST10: ROM16X1A + generic map (initval => X"ECCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_53 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_53 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_53"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_53 : ENTITY IS TRUE; + + end SLICE_53; + + architecture Structure of SLICE_53 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0008 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40048 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_a3_2: lut40047 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_wb_cyc_stb_1_sqmuxa_0: lut40048 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_cyc_stb: vmuxregsre0008 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, LSR_dly, CLK_dly, F0_out, Q0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40049 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40049 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; + + end lut40049; + + architecture Structure of lut40049 is + begin + INST10: ROM16X1A + generic map (initval => X"FEFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40050 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40050 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; + + end lut40050; + + architecture Structure of lut40050 is + begin + INST10: ROM16X1A + generic map (initval => X"EAC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_54 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_54 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_54"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_54 : ENTITY IS TRUE; + + end SLICE_54; + + architecture Structure of SLICE_54 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40050 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_1: lut40049 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_0_iv_0_0: lut40050 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_dati_1: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, + F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40051 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40051 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; + + end lut40051; + + architecture Structure of lut40051 is + begin + INST10: ROM16X1A + generic map (initval => X"FFEA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40052 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40052 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; + + end lut40052; + + architecture Structure of lut40052 is + begin + INST10: ROM16X1A + generic map (initval => X"FEFC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_55 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_55 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_55"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; + + end SLICE_55; + + architecture Structure of SLICE_55 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40051 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_3: lut40051 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_2: lut40052 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_dati_3: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_2: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, + F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40053 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40053 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; + + end lut40053; + + architecture Structure of lut40053 is + begin + INST10: ROM16X1A + generic map (initval => X"FFE4") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_56 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_56 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_56"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; + + end SLICE_56; + + architecture Structure of SLICE_56 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_5: lut40052 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_4: lut40053 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_dati_5: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_4: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, + F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40054 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40054 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; + + end lut40054; + + architecture Structure of lut40054 is + begin + INST10: ROM16X1A + generic map (initval => X"ECEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_57 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_57 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_57"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; + + end SLICE_57; + + architecture Structure of SLICE_57 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40054 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_7: lut40049 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_6: lut40054 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_7: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_dati_6: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40055 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40055 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; + + end lut40055; + + architecture Structure of lut40055 is + begin + INST10: ROM16X1A + generic map (initval => X"7250") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_58 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_58 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_58"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; + + end SLICE_58; + + architecture Structure of SLICE_58 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0008 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40055 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + FS_RNIVOOA_14: lut40018 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_reqe: lut40055 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_req: vmuxregsre0008 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40056 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40056 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; + + end lut40056; + + architecture Structure of lut40056 is + begin + INST10: ROM16X1A + generic map (initval => X"3B33") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40057 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40057 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; + + end lut40057; + + architecture Structure of lut40057 is + begin + INST10: ROM16X1A + generic map (initval => X"7430") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_59 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_59 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_59"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; + + end SLICE_59; + + architecture Structure of SLICE_59 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40056 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40057 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNIS5A51: lut40056 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_rste: lut40057 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_rst: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40058 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40058 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; + + end lut40058; + + architecture Structure of lut40058 is + begin + INST10: ROM16X1A + generic map (initval => X"888F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_60 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_60 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_60"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; + + end SLICE_60; + + architecture Structure of SLICE_60 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0008 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_adr_0_sqmuxa_2: lut40021 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_we_0: lut40058 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_we: vmuxregsre0008 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40059 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40059 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40059 : ENTITY IS TRUE; + + end lut40059; + + architecture Structure of lut40059 is + begin + INST10: ROM16X1A + generic map (initval => X"FFDF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40060 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40060 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; + + end lut40060; + + architecture Structure of lut40060 is + begin + INST10: ROM16X1A + generic map (initval => X"FBFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity wb_cyc_stb_RNO_SLICE_61 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity wb_cyc_stb_RNO_SLICE_61 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "wb_cyc_stb_RNO_SLICE_61"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; OFX0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF wb_cyc_stb_RNO_SLICE_61 : ENTITY IS TRUE; + + end wb_cyc_stb_RNO_SLICE_61; + + architecture Structure of wb_cyc_stb_RNO_SLICE_61 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + + signal wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_SLICE_61_K1_H1: Std_logic; + signal GNDI: Std_logic; + signal wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_GATE_H0: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + component lut40059 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_cyc_stb_RNO_SLICE_61_K1: lut40059 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, + Z=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_SLICE_61_K1_H1); + wb_cyc_stb_RNO_GATE: lut40060 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, + Z=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_GATE_H0); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_cyc_stb_RNO_SLICE_61_K0K1MUX: selmux2 + port map (D0=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_GATE_H0, + D1=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_SLICE_61_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, M0_ipd, OFX0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + OFX0_zd := OFX0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 7 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40061 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40061 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; + + end lut40061; + + architecture Structure of lut40061 is + begin + INST10: ROM16X1A + generic map (initval => X"B8F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_62 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_62 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_62"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; + + end SLICE_62; + + architecture Structure of SLICE_62 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdValid_fast_RNITQBM1: lut40061 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ufmefb_EFBInst_0_RNI9PBJ: lut40032 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40062 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40062 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; + + end lut40062; + + architecture Structure of lut40062 is + begin + INST10: ROM16X1A + generic map (initval => X"0BFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_63 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_63 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_63"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; + + end SLICE_63; + + architecture Structure of SLICE_63 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0: lut40022 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_nRCAS_6_sqmuxa_i_0: lut40062 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40063 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40063 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; + + end lut40063; + + architecture Structure of lut40063 is + begin + INST10: ROM16X1A + generic map (initval => X"F1FC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40064 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40064 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; + + end lut40064; + + architecture Structure of lut40064 is + begin + INST10: ROM16X1A + generic map (initval => X"2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_64 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_64 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_64"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; + + end SLICE_64; + + architecture Structure of SLICE_64 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO: lut40063 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_0_sqmuxa_1_0_a3: lut40064 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40065 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40065 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; + + end lut40065; + + architecture Structure of lut40065 is + begin + INST10: ROM16X1A + generic map (initval => X"1108") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40066 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40066 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; + + end lut40066; + + architecture Structure of lut40066 is + begin + INST10: ROM16X1A + generic map (initval => X"2A2B") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_65 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_65 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_65"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_65 : ENTITY IS TRUE; + + end SLICE_65; + + architecture Structure of SLICE_65 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40065 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40066 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_40_1_0: lut40065 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_40_1_0_1: lut40066 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40067 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40067 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; + + end lut40067; + + architecture Structure of lut40067 is + begin + INST10: ROM16X1A + generic map (initval => X"1313") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40068 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40068 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; + + end lut40068; + + architecture Structure of lut40068 is + begin + INST10: ROM16X1A + generic map (initval => X"1303") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_66 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_66 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_66"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; + + end SLICE_66; + + architecture Structure of SLICE_66 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40067 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40068 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_0io_RNO_0: lut40067 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRCAS_0io_RNO: lut40068 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40069 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40069 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; + + end lut40069; + + architecture Structure of lut40069 is + begin + INST10: ROM16X1A + generic map (initval => X"0080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40070 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40070 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; + + end lut40070; + + architecture Structure of lut40070 is + begin + INST10: ROM16X1A + generic map (initval => X"EAEA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_67 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_67 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_67"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; + + end SLICE_67; + + architecture Structure of SLICE_67 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40070 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_1: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_o3_2: lut40070 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40071 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40071 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; + + end lut40071; + + architecture Structure of lut40071 is + begin + INST10: ROM16X1A + generic map (initval => X"5252") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40072 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40072 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; + + end lut40072; + + architecture Structure of lut40072 is + begin + INST10: ROM16X1A + generic map (initval => X"0004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_68 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_68 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_68"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; + + end SLICE_68; + + architecture Structure of SLICE_68 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40071 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO_1: lut40071 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRWE_0io_RNO_4: lut40072 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40073 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40073 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; + + end lut40073; + + architecture Structure of lut40073 is + begin + INST10: ROM16X1A + generic map (initval => X"BFBF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40074 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40074 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; + + end lut40074; + + architecture Structure of lut40074 is + begin + INST10: ROM16X1A + generic map (initval => X"0202") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_69 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_69 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_69"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; + + end SLICE_69; + + architecture Structure of SLICE_69 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO_3: lut40073 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_RNICVV51_0: lut40074 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40075 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40075 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; + + end lut40075; + + architecture Structure of lut40075 is + begin + INST10: ROM16X1A + generic map (initval => X"4040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_70 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_70 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_70"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; + + end SLICE_70; + + architecture Structure of SLICE_70 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_4: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_a3_RNO_4: lut40075 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40076 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40076 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; + + end lut40076; + + architecture Structure of lut40076 is + begin + INST10: ROM16X1A + generic map (initval => X"0090") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_71 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_71 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_71"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; + + end SLICE_71; + + architecture Structure of SLICE_71 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40076 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_we113_i_a2: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_RNO_7: lut40076 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40077 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40077 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; + + end lut40077; + + architecture Structure of lut40077 is + begin + INST10: ROM16X1A + generic map (initval => X"B000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_72 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_72 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_72"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; + + end SLICE_72; + + architecture Structure of SLICE_72 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_2: lut40077 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + FS_RNI3V8E_9: lut40016 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_73 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_73 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_73"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; + + end SLICE_73; + + architecture Structure of SLICE_73 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG14: lut40006 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdUFMData_RNO: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMData: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_74 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_74 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_74"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; + + end SLICE_74; + + architecture Structure of SLICE_74 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_6: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_1_6: lut40052 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40078 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40078 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; + + end lut40078; + + architecture Structure of lut40078 is + begin + INST10: ROM16X1A + generic map (initval => X"0404") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40079 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40079 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; + + end lut40079; + + architecture Structure of lut40079 is + begin + INST10: ROM16X1A + generic map (initval => X"ECA0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_75 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_75 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_75"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; + + end SLICE_75; + + architecture Structure of SLICE_75 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40078 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a2_0_3: lut40078 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_0_3: lut40079 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_76 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_76 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_76"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; + + end SLICE_76; + + architecture Structure of SLICE_76 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_cnst_sn_m2_0_a3: lut40047 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_RNO_4: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40080 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40080 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; + + end lut40080; + + architecture Structure of lut40080 is + begin + INST10: ROM16X1A + generic map (initval => X"FEFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40081 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40081 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; + + end lut40081; + + architecture Structure of lut40081 is + begin + INST10: ROM16X1A + generic map (initval => X"FF32") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_77 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_77 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_77"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; + + end SLICE_77; + + architecture Structure of SLICE_77 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40080 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40081 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_o2: lut40080 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRRAS_5_u_i: lut40081 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40082 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40082 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40082 : ENTITY IS TRUE; + + end lut40082; + + architecture Structure of lut40082 is + begin + INST10: ROM16X1A + generic map (initval => X"D3D3") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_78 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_78 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_78"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; + + end SLICE_78; + + architecture Structure of SLICE_78 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40082 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_m3_7: lut40082 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a3_7: lut40018 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_79 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_79 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_79"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; + + end SLICE_79; + + architecture Structure of SLICE_79 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_2_0_1: lut40018 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_0_1: lut40079 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40083 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40083 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40083 : ENTITY IS TRUE; + + end lut40083; + + architecture Structure of lut40083 is + begin + INST10: ROM16X1A + generic map (initval => X"EEEA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_80 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_80 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_80"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; + + end SLICE_80; + + architecture Structure of SLICE_80 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40083 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_1_1_4: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_1_4: lut40083 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_81 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_81 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_81"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; + + end SLICE_81; + + architecture Structure of SLICE_81 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_3_7: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_1_7: lut40052 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40084 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40084 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40084 : ENTITY IS TRUE; + + end lut40084; + + architecture Structure of lut40084 is + begin + INST10: ROM16X1A + generic map (initval => X"8060") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_82 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_82 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_82"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; + + end SLICE_82; + + architecture Structure of SLICE_82 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40084 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_we95_0_0: lut40029 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_we95_1: lut40084 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40085 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40085 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40085 : ENTITY IS TRUE; + + end lut40085; + + architecture Structure of lut40085 is + begin + INST10: ROM16X1A + generic map (initval => X"0101") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_83 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_83 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_83"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; + + end SLICE_83; + + architecture Structure of SLICE_83 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40085 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a2_7: lut40085 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a3_1_7: lut40077 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40086 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40086 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40086 : ENTITY IS TRUE; + + end lut40086; + + architecture Structure of lut40086 is + begin + INST10: ROM16X1A + generic map (initval => X"1010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_84 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_84 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_84"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; + + end SLICE_84; + + architecture Structure of SLICE_84 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40086 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_29: lut40016 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_adr_cnst_sn_m4_32: lut40086 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40087 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40087 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40087 : ENTITY IS TRUE; + + end lut40087; + + architecture Structure of lut40087 is + begin + INST10: ROM16X1A + generic map (initval => X"9090") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40088 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40088 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40088 : ENTITY IS TRUE; + + end lut40088; + + architecture Structure of lut40088 is + begin + INST10: ROM16X1A + generic map (initval => X"F6F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_85 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_85 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_85"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; + + end SLICE_85; + + architecture Structure of SLICE_85 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40087 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40088 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_cnst_0_0: lut40087 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_FS_40_1_1_1: lut40088 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40089 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40089 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40089 : ENTITY IS TRUE; + + end lut40089; + + architecture Structure of lut40089 is + begin + INST10: ROM16X1A + generic map (initval => X"FFB1") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_86 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_86 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_86"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; + + end SLICE_86; + + architecture Structure of SLICE_86 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40089 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_40_1_o6: lut40089 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_40_1_a6: lut40018 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40090 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40090 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40090 : ENTITY IS TRUE; + + end lut40090; + + architecture Structure of lut40090 is + begin + INST10: ROM16X1A + generic map (initval => X"7777") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40091 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40091 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40091 : ENTITY IS TRUE; + + end lut40091; + + architecture Structure of lut40091 is + begin + INST10: ROM16X1A + generic map (initval => X"8040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_87 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_87 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_87"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; + + end SLICE_87; + + architecture Structure of SLICE_87 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40090 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40091 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_21_1_i: lut40090 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_we95: lut40091 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40092 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40092 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40092 : ENTITY IS TRUE; + + end lut40092; + + architecture Structure of lut40092 is + begin + INST10: ROM16X1A + generic map (initval => X"3AFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40093 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40093 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40093 : ENTITY IS TRUE; + + end lut40093; + + architecture Structure of lut40093 is + begin + INST10: ROM16X1A + generic map (initval => X"200F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_88 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_88 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_88"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; + + end SLICE_88; + + architecture Structure of SLICE_88 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40092 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40093 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_0io_RNO: lut40092 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_r_i_a3_1_1_tz: lut40093 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_89 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_89 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_89"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; + + end SLICE_89; + + architecture Structure of SLICE_89 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40007 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_o3: lut40007 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_cyc_stb_2_sqmuxa_i_a3: lut40032 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40094 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40094 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40094 : ENTITY IS TRUE; + + end lut40094; + + architecture Structure of lut40094 is + begin + INST10: ROM16X1A + generic map (initval => X"CCC8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_90 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_90 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_90"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; + + end SLICE_90; + + architecture Structure of SLICE_90 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40094 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_CMDWR: lut40094 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_7: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40095 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40095 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40095 : ENTITY IS TRUE; + + end lut40095; + + architecture Structure of lut40095 is + begin + INST10: ROM16X1A + generic map (initval => X"E0E0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_91 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_91 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_91"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; + + end SLICE_91; + + architecture Structure of SLICE_91 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40095 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_ADWR: lut40095 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + ADWR_7: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40096 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40096 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40096 : ENTITY IS TRUE; + + end lut40096; + + architecture Structure of lut40096 is + begin + INST10: ROM16X1A + generic map (initval => X"0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_92 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_92 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_92"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; + + end SLICE_92; + + architecture Structure of SLICE_92 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40096 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0: lut40018 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1WR_2: lut40096 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40097 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40097 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40097 : ENTITY IS TRUE; + + end lut40097; + + architecture Structure of lut40097 is + begin + INST10: ROM16X1A + generic map (initval => X"BBBF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_93 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_93 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_93"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; + + end SLICE_93; + + architecture Structure of SLICE_93 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40097 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_adr_0_sqmuxa_3: lut40073 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_we113_i_0: lut40097 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_94 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_94 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_94"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; + + end SLICE_94; + + architecture Structure of SLICE_94 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_Bank_1_3: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_Bank_1: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_95 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_95 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_95"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_95 : ENTITY IS TRUE; + + end SLICE_95; + + architecture Structure of SLICE_95 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_PHI2r3_0: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_cyc_stb_1_sqmuxa_0_a3: lut40032 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_96 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_96 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_96"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_96 : ENTITY IS TRUE; + + end SLICE_96; + + architecture Structure of SLICE_96 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40085 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_a3_1: lut40085 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2: lut40018 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40098 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40098 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40098 : ENTITY IS TRUE; + + end lut40098; + + architecture Structure of lut40098 is + begin + INST10: ROM16X1A + generic map (initval => X"80FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_97 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_97 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_97"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_97 : ENTITY IS TRUE; + + end SLICE_97; + + architecture Structure of SLICE_97 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40098 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNIFT0I: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMShift_fast_RNIG9JD1: lut40098 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_98 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_98 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_98"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_98 : ENTITY IS TRUE; + + end SLICE_98; + + architecture Structure of SLICE_98 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO_2: lut40064 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRWE_0io_RNO_0: lut40075 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40099 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40099 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40099 : ENTITY IS TRUE; + + end lut40099; + + architecture Structure of lut40099 is + begin + INST10: ROM16X1A + generic map (initval => X"8004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_99 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_99 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_99"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_99 : ENTITY IS TRUE; + + end SLICE_99; + + architecture Structure of SLICE_99 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40099 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_0_0_0_1: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_a3_0_0_3: lut40099 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40100 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40100 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40100 : ENTITY IS TRUE; + + end lut40100; + + architecture Structure of lut40100 is + begin + INST10: ROM16X1A + generic map (initval => X"4042") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40101 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40101 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40101 : ENTITY IS TRUE; + + end lut40101; + + architecture Structure of lut40101 is + begin + INST10: ROM16X1A + generic map (initval => X"0810") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_100 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_100 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_100"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_100 : ENTITY IS TRUE; + + end SLICE_100; + + architecture Structure of SLICE_100 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40100 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40101 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_40_1_1_tz: lut40100 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_o3_1: lut40101 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_101 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_101 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_101"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_101 : ENTITY IS TRUE; + + end SLICE_101; + + architecture Structure of SLICE_101 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_5: lut40064 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_Din_2: lut40041 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_102 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_102 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_102"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_102 : ENTITY IS TRUE; + + end SLICE_102; + + architecture Structure of SLICE_102 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a3_2: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_11: lut40074 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40102 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40102 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40102 : ENTITY IS TRUE; + + end lut40102; + + architecture Structure of lut40102 is + begin + INST10: ROM16X1A + generic map (initval => X"8282") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_103 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_103 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_103"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_103 : ENTITY IS TRUE; + + end SLICE_103; + + architecture Structure of SLICE_103 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40102 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_0_0_6: lut40102 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a3_3_0_7: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_104 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_104 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_104"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_104 : ENTITY IS TRUE; + + end SLICE_104; + + architecture Structure of SLICE_104 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40096 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_4: lut40036 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdEnable17_4: lut40096 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40103 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40103 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40103 : ENTITY IS TRUE; + + end lut40103; + + architecture Structure of lut40103 is + begin + INST10: ROM16X1A + generic map (initval => X"0808") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40104 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40104 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40104 : ENTITY IS TRUE; + + end lut40104; + + architecture Structure of lut40104 is + begin + INST10: ROM16X1A + generic map (initval => X"0008") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_105 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_105 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_105"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_105 : ENTITY IS TRUE; + + end SLICE_105; + + architecture Structure of SLICE_105 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40103 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40104 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + ADWR_4: lut40103 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CMDWR_2: lut40104 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CBR_fast: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CBR: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_106 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_106 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_106"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_106 : ENTITY IS TRUE; + + end SLICE_106; + + architecture Structure of SLICE_106 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG9_1: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_5: lut40047 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_107 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_107 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_107"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_107 : ENTITY IS TRUE; + + end SLICE_107; + + architecture Structure of SLICE_107 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQMH: lut40038 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_9: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40105 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40105 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40105 : ENTITY IS TRUE; + + end lut40105; + + architecture Structure of lut40105 is + begin + INST10: ROM16X1A + generic map (initval => X"5051") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_108 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_108 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_108"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_108 : ENTITY IS TRUE; + + end SLICE_108; + + architecture Structure of SLICE_108 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40105 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0_RNILD5I: lut40105 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_0_sqmuxa_0_o2_0_RNIS63D: lut40029 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FWEr_fast: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_109 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_109 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_109"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_109 : ENTITY IS TRUE; + + end SLICE_109; + + architecture Structure of SLICE_109 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a2_4: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a2_0_4: lut40014 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40106 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40106 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40106 : ENTITY IS TRUE; + + end lut40106; + + architecture Structure of lut40106 is + begin + INST10: ROM16X1A + generic map (initval => X"4800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_110 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_110 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_110"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_110 : ENTITY IS TRUE; + + end SLICE_110; + + architecture Structure of SLICE_110 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40090 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40106 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_22_1_i: lut40090 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_0_iv_0_a3_1_0: lut40106 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_111 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_111 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_111"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_111 : ENTITY IS TRUE; + + end SLICE_111; + + architecture Structure of SLICE_111 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_7: lut40012 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + ADWR_5: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_112 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_112 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_112"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_112 : ENTITY IS TRUE; + + end SLICE_112; + + architecture Structure of SLICE_112 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40090 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQML: lut40090 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_0: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_113 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_113 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_113"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_113 : ENTITY IS TRUE; + + end SLICE_113; + + architecture Structure of SLICE_113 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_8: lut40012 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_1: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_114 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_114 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_114"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_114 : ENTITY IS TRUE; + + end SLICE_114; + + architecture Structure of SLICE_114 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_6: lut40012 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_2: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_115 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_115 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_115"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_115 : ENTITY IS TRUE; + + end SLICE_115; + + architecture Structure of SLICE_115 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_5: lut40012 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_3: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40107 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40107 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40107 : ENTITY IS TRUE; + + end lut40107; + + architecture Structure of lut40107 is + begin + INST10: ROM16X1A + generic map (initval => X"C048") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40108 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40108 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40108 : ENTITY IS TRUE; + + end lut40108; + + architecture Structure of lut40108 is + begin + INST10: ROM16X1A + generic map (initval => X"2222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_116 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_116 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_116"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_116 : ENTITY IS TRUE; + + end SLICE_116; + + architecture Structure of SLICE_116 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40107 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40108 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA11d: lut40107 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG14_1: lut40108 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40109 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40109 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40109 : ENTITY IS TRUE; + + end lut40109; + + architecture Structure of lut40109 is + begin + INST10: ROM16X1A + generic map (initval => X"70CF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_117 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_117 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_117"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_117 : ENTITY IS TRUE; + + end SLICE_117; + + architecture Structure of SLICE_117 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40086 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40109 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_0io_RNO_0: lut40086 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN_8_u_1_0: lut40109 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_118 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_118 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_118"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_118 : ENTITY IS TRUE; + + end SLICE_118; + + architecture Structure of SLICE_118 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RBAd_0: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RBAd_1: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + PHI2r3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, M0_dly, CLK_dly, + F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf is + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf : ENTITY IS TRUE; + + end xo2iobuf; + + architecture Structure of xo2iobuf is + begin + INST1: IB + port map (I=>PADI, O=>Z); + INST2: OBW + port map (I=>I, T=>T, O=>PAD); + end Structure; + +-- entity RD_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD0 : VitalDelayType := 0 ns; + tpw_RD0_posedge : VitalDelayType := 0 ns; + tpw_RD0_negedge : VitalDelayType := 0 ns; + tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD0: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; + + end RD_0_B; + + architecture Structure of RD_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD0_ipd : std_logic := 'X'; + signal RD0_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_0: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, + PADI=>RD0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD0_ipd, RD0, tipd_RD0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD0_ipd, RD0_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD0_zd : std_logic := 'X'; + VARIABLE RD0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD0_RD0 : x01 := '0'; + VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD0_ipd, + TestSignalName => "RD0", + Period => tperiod_RD0, + PulseWidthHigh => tpw_RD0_posedge, + PulseWidthLow => tpw_RD0_negedge, + PeriodData => periodcheckinfo_RD0, + Violation => tviol_RD0_RD0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD0_zd := RD0_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD0_ipd'last_event, + PathDelay => tpd_RD0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD0, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD0, + PathCondition => TRUE)), + GlitchData => RD0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mfflsre + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity mfflsre is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mfflsre : ENTITY IS TRUE; + + end mfflsre; + + architecture Structure of mfflsre is + begin + INST01: FD1P3DX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, CK=>CK, CD=>LSR, Q=>Q); + end Structure; + +-- entity RD_0_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_0_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_MGIOL : ENTITY IS TRUE; + + end RD_0_MGIOL; + + architecture Structure of RD_0_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_0: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0110 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0110 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0110 : ENTITY IS TRUE; + + end xo2iobuf0110; + + architecture Structure of xo2iobuf0110 is + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity Dout_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; + + end Dout_0_B; + + architecture Structure of Dout_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout0_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_0: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) + VARIABLE Dout0_zd : std_logic := 'X'; + VARIABLE Dout0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout0_zd := Dout0_out; + + VitalPathDelay01 ( + OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout0, + PathCondition => TRUE)), + GlitchData => Dout0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0111 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0111 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0111 : ENTITY IS TRUE; + + end xo2iobuf0111; + + architecture Structure of xo2iobuf0111 is + begin + INST1: IBPD + port map (I=>PAD, O=>Z); + end Structure; + +-- entity PHI2B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity PHI2B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2B"; + + tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); + tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_PHI2S : VitalDelayType := 0 ns; + tpw_PHI2S_posedge : VitalDelayType := 0 ns; + tpw_PHI2S_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; PHI2S: in Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; + + end PHI2B; + + architecture Structure of PHI2B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PHI2S_ipd : std_logic := 'X'; + + component xo2iobuf0111 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + PHI2_pad: xo2iobuf0111 + port map (Z=>PADDI_out, PAD=>PHI2S_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; + VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => PHI2S_ipd, + TestSignalName => "PHI2S", + Period => tperiod_PHI2S, + PulseWidthHigh => tpw_PHI2S_posedge, + PulseWidthLow => tpw_PHI2S_negedge, + PeriodData => periodcheckinfo_PHI2S, + Violation => tviol_PHI2S_PHI2S, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, + PathDelay => tpd_PHI2S_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity smuxlregsre + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity smuxlregsre is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF smuxlregsre : ENTITY IS TRUE; + + end smuxlregsre; + + architecture Structure of smuxlregsre is + begin + INST01: IFS1P3DX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, SCLK=>CK, CD=>LSR, Q=>Q); + end Structure; + +-- entity PHI2_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity PHI2_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2_MGIOL : ENTITY IS TRUE; + + end PHI2_MGIOL; + + architecture Structure of PHI2_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + PHI2r_0io: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMLB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RDQMLB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMLB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMLS : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; + + end RDQMLB; + + architecture Structure of RDQMLB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMLS_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQML_pad: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RDQMLS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) + VARIABLE RDQMLS_zd : std_logic := 'X'; + VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMLS_zd := RDQMLS_out; + + VitalPathDelay01 ( + OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMLS, + PathCondition => TRUE)), + GlitchData => RDQMLS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMHB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RDQMHB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMHB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMHS : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; + + end RDQMHB; + + architecture Structure of RDQMHB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMHS_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQMH_pad: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RDQMHS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) + VARIABLE RDQMHS_zd : std_logic := 'X'; + VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMHS_zd := RDQMHS_out; + + VitalPathDelay01 ( + OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMHS, + PathCondition => TRUE)), + GlitchData => RDQMHS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCASB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRCASS : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRCASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; + + end nRCASB; + + architecture Structure of nRCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRCASS_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCAS_pad: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>nRCASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRCASS_out) + VARIABLE nRCASS_zd : std_logic := 'X'; + VARIABLE nRCASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCASS_zd := nRCASS_out; + + VitalPathDelay01 ( + OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRCASS, + PathCondition => TRUE)), + GlitchData => nRCASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mfflsre0112 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity mfflsre0112 is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mfflsre0112 : ENTITY IS TRUE; + + end mfflsre0112; + + architecture Structure of mfflsre0112 is + begin + INST01: FD1P3BX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, CK=>CK, PD=>LSR, Q=>Q); + end Structure; + +-- entity nRCAS_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCAS_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCAS_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCAS_MGIOL : ENTITY IS TRUE; + + end nRCAS_MGIOL; + + architecture Structure of nRCAS_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0112 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRCAS_0io: mfflsre0112 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRASB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRRASS : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRRASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; + + end nRRASB; + + architecture Structure of nRRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRRASS_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRRAS_pad: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>nRRASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRRASS_out) + VARIABLE nRRASS_zd : std_logic := 'X'; + VARIABLE nRRASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRRASS_zd := nRRASS_out; + + VitalPathDelay01 ( + OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRRASS, + PathCondition => TRUE)), + GlitchData => nRRASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRAS_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRRAS_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRAS_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRAS_MGIOL : ENTITY IS TRUE; + + end nRRAS_MGIOL; + + architecture Structure of nRRAS_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0112 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRRAS_0io: mfflsre0112 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWEB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWEB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRWES : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRWES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; + + end nRWEB; + + architecture Structure of nRWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRWES_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRWE_pad: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>nRWES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRWES_out) + VARIABLE nRWES_zd : std_logic := 'X'; + VARIABLE nRWES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRWES_zd := nRWES_out; + + VitalPathDelay01 ( + OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRWES, + PathCondition => TRUE)), + GlitchData => nRWES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWE_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRWE_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWE_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWE_MGIOL : ENTITY IS TRUE; + + end nRWE_MGIOL; + + architecture Structure of nRWE_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0112 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRWE_0io: mfflsre0112 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCKEB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RCKEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCKEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RCKES : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RCKES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; + + end RCKEB; + + architecture Structure of RCKEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RCKES_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RCKE_pad: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RCKES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) + VARIABLE RCKES_zd : std_logic := 'X'; + VARIABLE RCKES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RCKES_zd := RCKES_out; + + VitalPathDelay01 ( + OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RCKES, + PathCondition => TRUE)), + GlitchData => RCKES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0113 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0113 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0113 : ENTITY IS TRUE; + + end xo2iobuf0113; + + architecture Structure of xo2iobuf0113 is + begin + INST1: IB + port map (I=>PAD, O=>Z); + end Structure; + +-- entity RCLKB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCLKB"; + + tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); + tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RCLKS : VitalDelayType := 0 ns; + tpw_RCLKS_posedge : VitalDelayType := 0 ns; + tpw_RCLKS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; RCLKS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; + + end RCLKB; + + architecture Structure of RCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal RCLKS_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + RCLK_pad: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>RCLKS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; + VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RCLKS_ipd, + TestSignalName => "RCLKS", + Period => tperiod_RCLKS, + PulseWidthHigh => tpw_RCLKS_posedge, + PulseWidthLow => tpw_RCLKS_negedge, + PeriodData => periodcheckinfo_RCLKS, + Violation => tviol_RCLKS_RCLKS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, + PathDelay => tpd_RCLKS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCSB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCSB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRCSS : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; + + end nRCSB; + + architecture Structure of nRCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRCSS_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCS_pad: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>nRCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRCSS_out) + VARIABLE nRCSS_zd : std_logic := 'X'; + VARIABLE nRCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCSS_zd := nRCSS_out; + + VitalPathDelay01 ( + OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRCSS, + PathCondition => TRUE)), + GlitchData => nRCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCS_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCS_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCS_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCS_MGIOL : ENTITY IS TRUE; + + end nRCS_MGIOL; + + architecture Structure of nRCS_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0112 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRCS_0io: mfflsre0112 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD7 : VitalDelayType := 0 ns; + tpw_RD7_posedge : VitalDelayType := 0 ns; + tpw_RD7_negedge : VitalDelayType := 0 ns; + tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD7: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; + + end RD_7_B; + + architecture Structure of RD_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD7_ipd : std_logic := 'X'; + signal RD7_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_7: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, + PADI=>RD7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD7_ipd, RD7, tipd_RD7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD7_ipd, RD7_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD7_zd : std_logic := 'X'; + VARIABLE RD7_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD7_RD7 : x01 := '0'; + VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD7_ipd, + TestSignalName => "RD7", + Period => tperiod_RD7, + PulseWidthHigh => tpw_RD7_posedge, + PulseWidthLow => tpw_RD7_negedge, + PeriodData => periodcheckinfo_RD7, + Violation => tviol_RD7_RD7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD7_zd := RD7_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD7_ipd'last_event, + PathDelay => tpd_RD7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD7, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD7, + PathCondition => TRUE)), + GlitchData => RD7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_7_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_MGIOL : ENTITY IS TRUE; + + end RD_7_MGIOL; + + architecture Structure of RD_7_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_7: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD6 : VitalDelayType := 0 ns; + tpw_RD6_posedge : VitalDelayType := 0 ns; + tpw_RD6_negedge : VitalDelayType := 0 ns; + tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD6: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; + + end RD_6_B; + + architecture Structure of RD_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD6_ipd : std_logic := 'X'; + signal RD6_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_6: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, + PADI=>RD6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD6_ipd, RD6, tipd_RD6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD6_ipd, RD6_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD6_zd : std_logic := 'X'; + VARIABLE RD6_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD6_RD6 : x01 := '0'; + VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD6_ipd, + TestSignalName => "RD6", + Period => tperiod_RD6, + PulseWidthHigh => tpw_RD6_posedge, + PulseWidthLow => tpw_RD6_negedge, + PeriodData => periodcheckinfo_RD6, + Violation => tviol_RD6_RD6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD6_zd := RD6_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD6_ipd'last_event, + PathDelay => tpd_RD6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD6, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD6, + PathCondition => TRUE)), + GlitchData => RD6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_6_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_MGIOL : ENTITY IS TRUE; + + end RD_6_MGIOL; + + architecture Structure of RD_6_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_6: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD5 : VitalDelayType := 0 ns; + tpw_RD5_posedge : VitalDelayType := 0 ns; + tpw_RD5_negedge : VitalDelayType := 0 ns; + tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD5: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; + + end RD_5_B; + + architecture Structure of RD_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD5_ipd : std_logic := 'X'; + signal RD5_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_5: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, + PADI=>RD5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD5_ipd, RD5, tipd_RD5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD5_ipd, RD5_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD5_zd : std_logic := 'X'; + VARIABLE RD5_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD5_RD5 : x01 := '0'; + VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD5_ipd, + TestSignalName => "RD5", + Period => tperiod_RD5, + PulseWidthHigh => tpw_RD5_posedge, + PulseWidthLow => tpw_RD5_negedge, + PeriodData => periodcheckinfo_RD5, + Violation => tviol_RD5_RD5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD5_zd := RD5_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD5_ipd'last_event, + PathDelay => tpd_RD5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD5, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD5, + PathCondition => TRUE)), + GlitchData => RD5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_5_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_MGIOL : ENTITY IS TRUE; + + end RD_5_MGIOL; + + architecture Structure of RD_5_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_5: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD4 : VitalDelayType := 0 ns; + tpw_RD4_posedge : VitalDelayType := 0 ns; + tpw_RD4_negedge : VitalDelayType := 0 ns; + tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD4: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; + + end RD_4_B; + + architecture Structure of RD_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD4_ipd : std_logic := 'X'; + signal RD4_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_4: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, + PADI=>RD4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD4_ipd, RD4, tipd_RD4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD4_ipd, RD4_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD4_zd : std_logic := 'X'; + VARIABLE RD4_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD4_RD4 : x01 := '0'; + VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD4_ipd, + TestSignalName => "RD4", + Period => tperiod_RD4, + PulseWidthHigh => tpw_RD4_posedge, + PulseWidthLow => tpw_RD4_negedge, + PeriodData => periodcheckinfo_RD4, + Violation => tviol_RD4_RD4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD4_zd := RD4_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD4_ipd'last_event, + PathDelay => tpd_RD4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD4, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD4, + PathCondition => TRUE)), + GlitchData => RD4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_4_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_MGIOL : ENTITY IS TRUE; + + end RD_4_MGIOL; + + architecture Structure of RD_4_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_4: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD3 : VitalDelayType := 0 ns; + tpw_RD3_posedge : VitalDelayType := 0 ns; + tpw_RD3_negedge : VitalDelayType := 0 ns; + tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD3: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; + + end RD_3_B; + + architecture Structure of RD_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD3_ipd : std_logic := 'X'; + signal RD3_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_3: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, + PADI=>RD3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD3_ipd, RD3, tipd_RD3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD3_ipd, RD3_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD3_zd : std_logic := 'X'; + VARIABLE RD3_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD3_RD3 : x01 := '0'; + VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD3_ipd, + TestSignalName => "RD3", + Period => tperiod_RD3, + PulseWidthHigh => tpw_RD3_posedge, + PulseWidthLow => tpw_RD3_negedge, + PeriodData => periodcheckinfo_RD3, + Violation => tviol_RD3_RD3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD3_zd := RD3_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD3_ipd'last_event, + PathDelay => tpd_RD3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD3, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD3, + PathCondition => TRUE)), + GlitchData => RD3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_3_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_MGIOL : ENTITY IS TRUE; + + end RD_3_MGIOL; + + architecture Structure of RD_3_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_3: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD2 : VitalDelayType := 0 ns; + tpw_RD2_posedge : VitalDelayType := 0 ns; + tpw_RD2_negedge : VitalDelayType := 0 ns; + tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD2: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; + + end RD_2_B; + + architecture Structure of RD_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD2_ipd : std_logic := 'X'; + signal RD2_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_2: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, + PADI=>RD2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD2_ipd, RD2, tipd_RD2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD2_ipd, RD2_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD2_zd : std_logic := 'X'; + VARIABLE RD2_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD2_RD2 : x01 := '0'; + VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD2_ipd, + TestSignalName => "RD2", + Period => tperiod_RD2, + PulseWidthHigh => tpw_RD2_posedge, + PulseWidthLow => tpw_RD2_negedge, + PeriodData => periodcheckinfo_RD2, + Violation => tviol_RD2_RD2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD2_zd := RD2_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD2_ipd'last_event, + PathDelay => tpd_RD2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD2, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD2, + PathCondition => TRUE)), + GlitchData => RD2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_2_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_MGIOL : ENTITY IS TRUE; + + end RD_2_MGIOL; + + architecture Structure of RD_2_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_2: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD1 : VitalDelayType := 0 ns; + tpw_RD1_posedge : VitalDelayType := 0 ns; + tpw_RD1_negedge : VitalDelayType := 0 ns; + tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD1: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; + + end RD_1_B; + + architecture Structure of RD_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD1_ipd : std_logic := 'X'; + signal RD1_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_1: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, + PADI=>RD1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD1_ipd, RD1, tipd_RD1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD1_ipd, RD1_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD1_zd : std_logic := 'X'; + VARIABLE RD1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD1_RD1 : x01 := '0'; + VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD1_ipd, + TestSignalName => "RD1", + Period => tperiod_RD1, + PulseWidthHigh => tpw_RD1_posedge, + PulseWidthLow => tpw_RD1_negedge, + PeriodData => periodcheckinfo_RD1, + Violation => tviol_RD1_RD1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD1_zd := RD1_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD1_ipd'last_event, + PathDelay => tpd_RD1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD1, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD1, + PathCondition => TRUE)), + GlitchData => RD1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_1_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_MGIOL : ENTITY IS TRUE; + + end RD_1_MGIOL; + + architecture Structure of RD_1_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_1: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_11_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RA11 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RA11: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; + + end RA_11_B; + + architecture Structure of RA_11_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RA11_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_11: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>RA11_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RA11_out) + VARIABLE RA11_zd : std_logic := 'X'; + VARIABLE RA11_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA11_zd := RA11_out; + + VitalPathDelay01 ( + OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RA11, + PathCondition => TRUE)), + GlitchData => RA11_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_11_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_MGIOL : ENTITY IS TRUE; + + end RA_11_MGIOL; + + architecture Structure of RA_11_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RA11_0io: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_10_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_10_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RA10 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RA10: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; + + end RA_10_B; + + architecture Structure of RA_10_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RA10_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_10: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>RA10_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RA10_out) + VARIABLE RA10_zd : std_logic := 'X'; + VARIABLE RA10_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA10_zd := RA10_out; + + VitalPathDelay01 ( + OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RA10, + PathCondition => TRUE)), + GlitchData => RA10_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mfflsre0114 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity mfflsre0114 is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mfflsre0114 : ENTITY IS TRUE; + + end mfflsre0114; + + architecture Structure of mfflsre0114 is + begin + INST01: FD1P3JX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, CK=>CK, PD=>LSR, Q=>Q); + end Structure; + +-- entity RA_10_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_10_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_MGIOL : ENTITY IS TRUE; + + end RA_10_MGIOL; + + architecture Structure of RA_10_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component mfflsre0114 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RA10_0io: mfflsre0114 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>LSR_dly, + Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, LSR_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_9_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_9_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA9 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA9: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; + + end RA_9_B; + + architecture Structure of RA_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA9_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_9: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA9_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA9_out) + VARIABLE RA9_zd : std_logic := 'X'; + VARIABLE RA9_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA9_zd := RA9_out; + + VitalPathDelay01 ( + OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA9, + PathCondition => TRUE)), + GlitchData => RA9_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_8_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_8_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA8 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA8: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; + + end RA_8_B; + + architecture Structure of RA_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA8_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_8: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA8_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA8_out) + VARIABLE RA8_zd : std_logic := 'X'; + VARIABLE RA8_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA8_zd := RA8_out; + + VitalPathDelay01 ( + OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA8, + PathCondition => TRUE)), + GlitchData => RA8_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA7 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; + + end RA_7_B; + + architecture Structure of RA_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA7_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_7: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA7_out) + VARIABLE RA7_zd : std_logic := 'X'; + VARIABLE RA7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA7_zd := RA7_out; + + VitalPathDelay01 ( + OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA7, + PathCondition => TRUE)), + GlitchData => RA7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA6 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; + + end RA_6_B; + + architecture Structure of RA_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA6_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_6: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA6_out) + VARIABLE RA6_zd : std_logic := 'X'; + VARIABLE RA6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA6_zd := RA6_out; + + VitalPathDelay01 ( + OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA6, + PathCondition => TRUE)), + GlitchData => RA6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA5 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; + + end RA_5_B; + + architecture Structure of RA_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA5_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_5: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA5_out) + VARIABLE RA5_zd : std_logic := 'X'; + VARIABLE RA5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA5_zd := RA5_out; + + VitalPathDelay01 ( + OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA5, + PathCondition => TRUE)), + GlitchData => RA5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA4 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; + + end RA_4_B; + + architecture Structure of RA_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA4_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_4: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA4_out) + VARIABLE RA4_zd : std_logic := 'X'; + VARIABLE RA4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA4_zd := RA4_out; + + VitalPathDelay01 ( + OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA4, + PathCondition => TRUE)), + GlitchData => RA4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA3 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; + + end RA_3_B; + + architecture Structure of RA_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA3_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_3: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA3_out) + VARIABLE RA3_zd : std_logic := 'X'; + VARIABLE RA3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA3_zd := RA3_out; + + VitalPathDelay01 ( + OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA3, + PathCondition => TRUE)), + GlitchData => RA3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA2 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; + + end RA_2_B; + + architecture Structure of RA_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA2_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_2: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA2_out) + VARIABLE RA2_zd : std_logic := 'X'; + VARIABLE RA2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA2_zd := RA2_out; + + VitalPathDelay01 ( + OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA2, + PathCondition => TRUE)), + GlitchData => RA2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA1 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; + + end RA_1_B; + + architecture Structure of RA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA1_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_1: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA1_out) + VARIABLE RA1_zd : std_logic := 'X'; + VARIABLE RA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA1_zd := RA1_out; + + VitalPathDelay01 ( + OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA1, + PathCondition => TRUE)), + GlitchData => RA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; + + end RA_0_B; + + architecture Structure of RA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA0_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_0: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>RA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA0_out) + VARIABLE RA0_zd : std_logic := 'X'; + VARIABLE RA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA0_zd := RA0_out; + + VitalPathDelay01 ( + OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA0, + PathCondition => TRUE)), + GlitchData => RA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RBA1 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RBA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; + + end RBA_1_B; + + architecture Structure of RBA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RBA1_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_1: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>RBA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RBA1_out) + VARIABLE RBA1_zd : std_logic := 'X'; + VARIABLE RBA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA1_zd := RBA1_out; + + VitalPathDelay01 ( + OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RBA1, + PathCondition => TRUE)), + GlitchData => RBA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_1_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_MGIOL : ENTITY IS TRUE; + + end RBA_1_MGIOL; + + architecture Structure of RBA_1_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RBA_0io_1: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RBA0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RBA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; + + end RBA_0_B; + + architecture Structure of RBA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RBA0_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_0: xo2iobuf0110 + port map (I=>IOLDO_ipd, PAD=>RBA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RBA0_out) + VARIABLE RBA0_zd : std_logic := 'X'; + VARIABLE RBA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA0_zd := RBA0_out; + + VitalPathDelay01 ( + OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RBA0, + PathCondition => TRUE)), + GlitchData => RBA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_0_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_MGIOL : ENTITY IS TRUE; + + end RBA_0_MGIOL; + + architecture Structure of RBA_0_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RBA_0io_0: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0115 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0115 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0115 : ENTITY IS TRUE; + + end xo2iobuf0115; + + architecture Structure of xo2iobuf0115 is + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity LEDB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity LEDB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "LEDB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_LEDS : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; LEDS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; + + end LEDB; + + architecture Structure of LEDB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal LEDS_out : std_logic := 'X'; + + component xo2iobuf0115 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + LED_pad: xo2iobuf0115 + port map (I=>PADDO_ipd, PAD=>LEDS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) + VARIABLE LEDS_zd : std_logic := 'X'; + VARIABLE LEDS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + LEDS_zd := LEDS_out; + + VitalPathDelay01 ( + OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_LEDS, + PathCondition => TRUE)), + GlitchData => LEDS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0116 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0116 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0116 : ENTITY IS TRUE; + + end xo2iobuf0116; + + architecture Structure of xo2iobuf0116 is + begin + INST1: IBPU + port map (I=>PAD, O=>Z); + end Structure; + +-- entity nFWEB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nFWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nFWEB"; + + tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); + tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nFWES : VitalDelayType := 0 ns; + tpw_nFWES_posedge : VitalDelayType := 0 ns; + tpw_nFWES_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nFWES: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; + + end nFWEB; + + architecture Structure of nFWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nFWES_ipd : std_logic := 'X'; + + component xo2iobuf0116 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nFWE_pad: xo2iobuf0116 + port map (Z=>PADDI_out, PAD=>nFWES_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nFWES_nFWES : x01 := '0'; + VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nFWES_ipd, + TestSignalName => "nFWES", + Period => tperiod_nFWES, + PulseWidthHigh => tpw_nFWES_posedge, + PulseWidthLow => tpw_nFWES_negedge, + PeriodData => periodcheckinfo_nFWES, + Violation => tviol_nFWES_nFWES, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, + PathDelay => tpd_nFWES_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCRASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nCRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCRASB"; + + tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCRASS : VitalDelayType := 0 ns; + tpw_nCRASS_posedge : VitalDelayType := 0 ns; + tpw_nCRASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCRASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; + + end nCRASB; + + architecture Structure of nCRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCRASS_ipd : std_logic := 'X'; + + component xo2iobuf0116 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCRAS_pad: xo2iobuf0116 + port map (Z=>PADDI_out, PAD=>nCRASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; + VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCRASS_ipd, + TestSignalName => "nCRASS", + Period => tperiod_nCRASS, + PulseWidthHigh => tpw_nCRASS_posedge, + PulseWidthLow => tpw_nCRASS_negedge, + PeriodData => periodcheckinfo_nCRASS, + Violation => tviol_nCRASS_nCRASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, + PathDelay => tpd_nCRASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCCASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nCCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCCASB"; + + tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCCASS : VitalDelayType := 0 ns; + tpw_nCCASS_posedge : VitalDelayType := 0 ns; + tpw_nCCASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCCASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; + + end nCCASB; + + architecture Structure of nCCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCCASS_ipd : std_logic := 'X'; + + component xo2iobuf0116 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCCAS_pad: xo2iobuf0116 + port map (Z=>PADDI_out, PAD=>nCCASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; + VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCCASS_ipd, + TestSignalName => "nCCASS", + Period => tperiod_nCCASS, + PulseWidthHigh => tpw_nCCASS_posedge, + PulseWidthLow => tpw_nCCASS_negedge, + PeriodData => periodcheckinfo_nCCASS, + Violation => tviol_nCCASS_nCCASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, + PathDelay => tpd_nCCASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout7 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; + + end Dout_7_B; + + architecture Structure of Dout_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout7_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_7: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) + VARIABLE Dout7_zd : std_logic := 'X'; + VARIABLE Dout7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout7_zd := Dout7_out; + + VitalPathDelay01 ( + OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout7, + PathCondition => TRUE)), + GlitchData => Dout7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout6 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; + + end Dout_6_B; + + architecture Structure of Dout_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout6_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_6: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) + VARIABLE Dout6_zd : std_logic := 'X'; + VARIABLE Dout6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout6_zd := Dout6_out; + + VitalPathDelay01 ( + OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout6, + PathCondition => TRUE)), + GlitchData => Dout6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout5 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; + + end Dout_5_B; + + architecture Structure of Dout_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout5_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_5: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) + VARIABLE Dout5_zd : std_logic := 'X'; + VARIABLE Dout5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout5_zd := Dout5_out; + + VitalPathDelay01 ( + OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout5, + PathCondition => TRUE)), + GlitchData => Dout5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout4 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; + + end Dout_4_B; + + architecture Structure of Dout_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout4_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_4: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) + VARIABLE Dout4_zd : std_logic := 'X'; + VARIABLE Dout4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout4_zd := Dout4_out; + + VitalPathDelay01 ( + OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout4, + PathCondition => TRUE)), + GlitchData => Dout4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout3 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; + + end Dout_3_B; + + architecture Structure of Dout_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout3_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_3: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) + VARIABLE Dout3_zd : std_logic := 'X'; + VARIABLE Dout3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout3_zd := Dout3_out; + + VitalPathDelay01 ( + OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout3, + PathCondition => TRUE)), + GlitchData => Dout3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout2 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; + + end Dout_2_B; + + architecture Structure of Dout_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout2_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_2: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) + VARIABLE Dout2_zd : std_logic := 'X'; + VARIABLE Dout2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout2_zd := Dout2_out; + + VitalPathDelay01 ( + OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout2, + PathCondition => TRUE)), + GlitchData => Dout2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout1 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; + + end Dout_1_B; + + architecture Structure of Dout_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout1_out : std_logic := 'X'; + + component xo2iobuf0110 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_1: xo2iobuf0110 + port map (I=>PADDO_ipd, PAD=>Dout1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) + VARIABLE Dout1_zd : std_logic := 'X'; + VARIABLE Dout1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout1_zd := Dout1_out; + + VitalPathDelay01 ( + OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout1, + PathCondition => TRUE)), + GlitchData => Dout1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_B"; + + tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din7 : VitalDelayType := 0 ns; + tpw_Din7_posedge : VitalDelayType := 0 ns; + tpw_Din7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; + + end Din_7_B; + + architecture Structure of Din_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din7_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_7: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din7_ipd, Din7, tipd_Din7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din7_Din7 : x01 := '0'; + VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din7_ipd, + TestSignalName => "Din7", + Period => tperiod_Din7, + PulseWidthHigh => tpw_Din7_posedge, + PulseWidthLow => tpw_Din7_negedge, + PeriodData => periodcheckinfo_Din7, + Violation => tviol_Din7_Din7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din7_ipd'last_event, + PathDelay => tpd_Din7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_7_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_MGIOL : ENTITY IS TRUE; + + end Din_7_MGIOL; + + architecture Structure of Din_7_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_7: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_B"; + + tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din6 : VitalDelayType := 0 ns; + tpw_Din6_posedge : VitalDelayType := 0 ns; + tpw_Din6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; + + end Din_6_B; + + architecture Structure of Din_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din6_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_6: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din6_ipd, Din6, tipd_Din6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din6_Din6 : x01 := '0'; + VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din6_ipd, + TestSignalName => "Din6", + Period => tperiod_Din6, + PulseWidthHigh => tpw_Din6_posedge, + PulseWidthLow => tpw_Din6_negedge, + PeriodData => periodcheckinfo_Din6, + Violation => tviol_Din6_Din6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din6_ipd'last_event, + PathDelay => tpd_Din6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_6_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_MGIOL : ENTITY IS TRUE; + + end Din_6_MGIOL; + + architecture Structure of Din_6_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_6: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_B"; + + tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din5 : VitalDelayType := 0 ns; + tpw_Din5_posedge : VitalDelayType := 0 ns; + tpw_Din5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; + + end Din_5_B; + + architecture Structure of Din_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din5_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_5: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din5_ipd, Din5, tipd_Din5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din5_Din5 : x01 := '0'; + VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din5_ipd, + TestSignalName => "Din5", + Period => tperiod_Din5, + PulseWidthHigh => tpw_Din5_posedge, + PulseWidthLow => tpw_Din5_negedge, + PeriodData => periodcheckinfo_Din5, + Violation => tviol_Din5_Din5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din5_ipd'last_event, + PathDelay => tpd_Din5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_5_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_MGIOL : ENTITY IS TRUE; + + end Din_5_MGIOL; + + architecture Structure of Din_5_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_5: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_B"; + + tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din4 : VitalDelayType := 0 ns; + tpw_Din4_posedge : VitalDelayType := 0 ns; + tpw_Din4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; + + end Din_4_B; + + architecture Structure of Din_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din4_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_4: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din4_ipd, Din4, tipd_Din4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din4_Din4 : x01 := '0'; + VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din4_ipd, + TestSignalName => "Din4", + Period => tperiod_Din4, + PulseWidthHigh => tpw_Din4_posedge, + PulseWidthLow => tpw_Din4_negedge, + PeriodData => periodcheckinfo_Din4, + Violation => tviol_Din4_Din4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din4_ipd'last_event, + PathDelay => tpd_Din4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_4_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_MGIOL : ENTITY IS TRUE; + + end Din_4_MGIOL; + + architecture Structure of Din_4_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_4: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_B"; + + tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din3 : VitalDelayType := 0 ns; + tpw_Din3_posedge : VitalDelayType := 0 ns; + tpw_Din3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; + + end Din_3_B; + + architecture Structure of Din_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din3_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_3: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din3_ipd, Din3, tipd_Din3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din3_Din3 : x01 := '0'; + VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din3_ipd, + TestSignalName => "Din3", + Period => tperiod_Din3, + PulseWidthHigh => tpw_Din3_posedge, + PulseWidthLow => tpw_Din3_negedge, + PeriodData => periodcheckinfo_Din3, + Violation => tviol_Din3_Din3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din3_ipd'last_event, + PathDelay => tpd_Din3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_3_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_MGIOL : ENTITY IS TRUE; + + end Din_3_MGIOL; + + architecture Structure of Din_3_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_3: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_B"; + + tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din2 : VitalDelayType := 0 ns; + tpw_Din2_posedge : VitalDelayType := 0 ns; + tpw_Din2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; + + end Din_2_B; + + architecture Structure of Din_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din2_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_2: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din2_ipd, Din2, tipd_Din2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din2_Din2 : x01 := '0'; + VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din2_ipd, + TestSignalName => "Din2", + Period => tperiod_Din2, + PulseWidthHigh => tpw_Din2_posedge, + PulseWidthLow => tpw_Din2_negedge, + PeriodData => periodcheckinfo_Din2, + Violation => tviol_Din2_Din2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din2_ipd'last_event, + PathDelay => tpd_Din2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_2_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_MGIOL : ENTITY IS TRUE; + + end Din_2_MGIOL; + + architecture Structure of Din_2_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_2: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_B"; + + tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din1 : VitalDelayType := 0 ns; + tpw_Din1_posedge : VitalDelayType := 0 ns; + tpw_Din1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; + + end Din_1_B; + + architecture Structure of Din_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din1_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_1: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din1_ipd, Din1, tipd_Din1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din1_Din1 : x01 := '0'; + VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din1_ipd, + TestSignalName => "Din1", + Period => tperiod_Din1, + PulseWidthHigh => tpw_Din1_posedge, + PulseWidthLow => tpw_Din1_negedge, + PeriodData => periodcheckinfo_Din1, + Violation => tviol_Din1_Din1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din1_ipd'last_event, + PathDelay => tpd_Din1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_1_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_MGIOL : ENTITY IS TRUE; + + end Din_1_MGIOL; + + architecture Structure of Din_1_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_1: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_B"; + + tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din0 : VitalDelayType := 0 ns; + tpw_Din0_posedge : VitalDelayType := 0 ns; + tpw_Din0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; + + end Din_0_B; + + architecture Structure of Din_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din0_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_0: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>Din0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din0_ipd, Din0, tipd_Din0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din0_Din0 : x01 := '0'; + VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din0_ipd, + TestSignalName => "Din0", + Period => tperiod_Din0, + PulseWidthHigh => tpw_Din0_posedge, + PulseWidthLow => tpw_Din0_negedge, + PeriodData => periodcheckinfo_Din0, + Violation => tviol_Din0_Din0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din0_ipd'last_event, + PathDelay => tpd_Din0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_0_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_MGIOL : ENTITY IS TRUE; + + end Din_0_MGIOL; + + architecture Structure of Din_0_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_0: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity CROW_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_1_B"; + + tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW1 : VitalDelayType := 0 ns; + tpw_CROW1_posedge : VitalDelayType := 0 ns; + tpw_CROW1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; + + end CROW_1_B; + + architecture Structure of CROW_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW1_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_1: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>CROW1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW1_CROW1 : x01 := '0'; + VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW1_ipd, + TestSignalName => "CROW1", + Period => tperiod_CROW1, + PulseWidthHigh => tpw_CROW1_posedge, + PulseWidthLow => tpw_CROW1_negedge, + PeriodData => periodcheckinfo_CROW1, + Violation => tviol_CROW1_CROW1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, + PathDelay => tpd_CROW1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity CROW_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_0_B"; + + tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW0 : VitalDelayType := 0 ns; + tpw_CROW0_posedge : VitalDelayType := 0 ns; + tpw_CROW0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; + + end CROW_0_B; + + architecture Structure of CROW_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW0_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_0: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>CROW0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW0_CROW0 : x01 := '0'; + VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW0_ipd, + TestSignalName => "CROW0", + Period => tperiod_CROW0, + PulseWidthHigh => tpw_CROW0_posedge, + PulseWidthLow => tpw_CROW0_negedge, + PeriodData => periodcheckinfo_CROW0, + Violation => tviol_CROW0_CROW0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, + PathDelay => tpd_CROW0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_9_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_9_B"; + + tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin9 : VitalDelayType := 0 ns; + tpw_MAin9_posedge : VitalDelayType := 0 ns; + tpw_MAin9_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin9: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; + + end MAin_9_B; + + architecture Structure of MAin_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin9_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_9: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin9_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin9_MAin9 : x01 := '0'; + VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin9_ipd, + TestSignalName => "MAin9", + Period => tperiod_MAin9, + PulseWidthHigh => tpw_MAin9_posedge, + PulseWidthLow => tpw_MAin9_negedge, + PeriodData => periodcheckinfo_MAin9, + Violation => tviol_MAin9_MAin9, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, + PathDelay => tpd_MAin9_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_8_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_8_B"; + + tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin8 : VitalDelayType := 0 ns; + tpw_MAin8_posedge : VitalDelayType := 0 ns; + tpw_MAin8_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin8: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; + + end MAin_8_B; + + architecture Structure of MAin_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin8_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_8: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin8_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin8_MAin8 : x01 := '0'; + VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin8_ipd, + TestSignalName => "MAin8", + Period => tperiod_MAin8, + PulseWidthHigh => tpw_MAin8_posedge, + PulseWidthLow => tpw_MAin8_negedge, + PeriodData => periodcheckinfo_MAin8, + Violation => tviol_MAin8_MAin8, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, + PathDelay => tpd_MAin8_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_7_B"; + + tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin7 : VitalDelayType := 0 ns; + tpw_MAin7_posedge : VitalDelayType := 0 ns; + tpw_MAin7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; + + end MAin_7_B; + + architecture Structure of MAin_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin7_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_7: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin7_MAin7 : x01 := '0'; + VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin7_ipd, + TestSignalName => "MAin7", + Period => tperiod_MAin7, + PulseWidthHigh => tpw_MAin7_posedge, + PulseWidthLow => tpw_MAin7_negedge, + PeriodData => periodcheckinfo_MAin7, + Violation => tviol_MAin7_MAin7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, + PathDelay => tpd_MAin7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_6_B"; + + tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin6 : VitalDelayType := 0 ns; + tpw_MAin6_posedge : VitalDelayType := 0 ns; + tpw_MAin6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; + + end MAin_6_B; + + architecture Structure of MAin_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin6_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_6: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin6_MAin6 : x01 := '0'; + VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin6_ipd, + TestSignalName => "MAin6", + Period => tperiod_MAin6, + PulseWidthHigh => tpw_MAin6_posedge, + PulseWidthLow => tpw_MAin6_negedge, + PeriodData => periodcheckinfo_MAin6, + Violation => tviol_MAin6_MAin6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, + PathDelay => tpd_MAin6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_5_B"; + + tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin5 : VitalDelayType := 0 ns; + tpw_MAin5_posedge : VitalDelayType := 0 ns; + tpw_MAin5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; + + end MAin_5_B; + + architecture Structure of MAin_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin5_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_5: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin5_MAin5 : x01 := '0'; + VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin5_ipd, + TestSignalName => "MAin5", + Period => tperiod_MAin5, + PulseWidthHigh => tpw_MAin5_posedge, + PulseWidthLow => tpw_MAin5_negedge, + PeriodData => periodcheckinfo_MAin5, + Violation => tviol_MAin5_MAin5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, + PathDelay => tpd_MAin5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_4_B"; + + tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin4 : VitalDelayType := 0 ns; + tpw_MAin4_posedge : VitalDelayType := 0 ns; + tpw_MAin4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; + + end MAin_4_B; + + architecture Structure of MAin_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin4_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_4: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin4_MAin4 : x01 := '0'; + VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin4_ipd, + TestSignalName => "MAin4", + Period => tperiod_MAin4, + PulseWidthHigh => tpw_MAin4_posedge, + PulseWidthLow => tpw_MAin4_negedge, + PeriodData => periodcheckinfo_MAin4, + Violation => tviol_MAin4_MAin4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, + PathDelay => tpd_MAin4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_3_B"; + + tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin3 : VitalDelayType := 0 ns; + tpw_MAin3_posedge : VitalDelayType := 0 ns; + tpw_MAin3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; + + end MAin_3_B; + + architecture Structure of MAin_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin3_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_3: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin3_MAin3 : x01 := '0'; + VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin3_ipd, + TestSignalName => "MAin3", + Period => tperiod_MAin3, + PulseWidthHigh => tpw_MAin3_posedge, + PulseWidthLow => tpw_MAin3_negedge, + PeriodData => periodcheckinfo_MAin3, + Violation => tviol_MAin3_MAin3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, + PathDelay => tpd_MAin3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_2_B"; + + tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin2 : VitalDelayType := 0 ns; + tpw_MAin2_posedge : VitalDelayType := 0 ns; + tpw_MAin2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; + + end MAin_2_B; + + architecture Structure of MAin_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin2_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_2: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin2_MAin2 : x01 := '0'; + VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin2_ipd, + TestSignalName => "MAin2", + Period => tperiod_MAin2, + PulseWidthHigh => tpw_MAin2_posedge, + PulseWidthLow => tpw_MAin2_negedge, + PeriodData => periodcheckinfo_MAin2, + Violation => tviol_MAin2_MAin2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, + PathDelay => tpd_MAin2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_1_B"; + + tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin1 : VitalDelayType := 0 ns; + tpw_MAin1_posedge : VitalDelayType := 0 ns; + tpw_MAin1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; + + end MAin_1_B; + + architecture Structure of MAin_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin1_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_1: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin1_MAin1 : x01 := '0'; + VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin1_ipd, + TestSignalName => "MAin1", + Period => tperiod_MAin1, + PulseWidthHigh => tpw_MAin1_posedge, + PulseWidthLow => tpw_MAin1_negedge, + PeriodData => periodcheckinfo_MAin1, + Violation => tviol_MAin1_MAin1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, + PathDelay => tpd_MAin1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_0_B"; + + tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin0 : VitalDelayType := 0 ns; + tpw_MAin0_posedge : VitalDelayType := 0 ns; + tpw_MAin0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; + + end MAin_0_B; + + architecture Structure of MAin_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin0_ipd : std_logic := 'X'; + + component xo2iobuf0113 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_0: xo2iobuf0113 + port map (Z=>PADDI_out, PAD=>MAin0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin0_MAin0 : x01 := '0'; + VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin0_ipd, + TestSignalName => "MAin0", + Period => tperiod_MAin0, + PulseWidthHigh => tpw_MAin0_posedge, + PulseWidthLow => tpw_MAin0_negedge, + PeriodData => periodcheckinfo_MAin0, + Violation => tviol_MAin0_MAin0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, + PathDelay => tpd_MAin0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity EFB_Buffer_Block + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity EFB_Buffer_Block is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "EFB_Buffer_Block"; + + tipd_WBCLKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBRSTIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBCYCIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBSTBIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBWEIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0ACKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1ACKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SCLIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SDAIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SCLIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SDAIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMISOIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMOSIIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCSNin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCCLKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCRSTNin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCICin : VitalDelayType01 := (0 ns, 0 ns); + tipd_UFMSNin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBACKOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLCLKOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLRSTOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0STBOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1STBOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLWEOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SCLOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SCLOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SDAOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SDAOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SCLOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SCLOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SDAOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SDAOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1IRQOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2IRQOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCKOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCKENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMISOOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMISOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMOSIOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMOSIENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPICSNENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIIRQOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCINTin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCOCin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBCUFMIRQin : VitalDelayType01 := (0 ns, 0 ns); + tipd_CFGWAKEin : VitalDelayType01 := (0 ns, 0 ns); + tipd_CFGSTDBYin : VitalDelayType01 := (0 ns, 0 ns); + tpd_WBCLKIin_WBDATO0out : VitalDelayType01 := (0 ns, 0 ns); + tpd_WBCLKIin_WBDATO1out : VitalDelayType01 := (0 ns, 0 ns); + tpd_WBCLKIin_WBACKOout : VitalDelayType01 := (0 ns, 0 ns); + ticd_WBCLKIin : VitalDelayType := 0 ns; + tisd_WBRSTIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBRSTIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBRSTIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBCYCIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBCYCIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBCYCIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBSTBIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBSTBIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBSTBIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBWEIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBWEIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBWEIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI0in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI1in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI2in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI3in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI4in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI5in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI6in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI7in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI0in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI1in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI2in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI3in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI4in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI5in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI6in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI7in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tperiod_WBCLKIin : VitalDelayType := 0 ns; + tpw_WBCLKIin_posedge : VitalDelayType := 0 ns; + tpw_WBCLKIin_negedge : VitalDelayType := 0 ns); + + port (WBCLKIin: in Std_logic; WBCLKIout: out Std_logic; + WBRSTIin: in Std_logic; WBRSTIout: out Std_logic; + WBCYCIin: in Std_logic; WBCYCIout: out Std_logic; + WBSTBIin: in Std_logic; WBSTBIout: out Std_logic; + WBWEIin: in Std_logic; WBWEIout: out Std_logic; + WBADRI7in: in Std_logic; WBADRI7out: out Std_logic; + WBADRI6in: in Std_logic; WBADRI6out: out Std_logic; + WBADRI5in: in Std_logic; WBADRI5out: out Std_logic; + WBADRI4in: in Std_logic; WBADRI4out: out Std_logic; + WBADRI3in: in Std_logic; WBADRI3out: out Std_logic; + WBADRI2in: in Std_logic; WBADRI2out: out Std_logic; + WBADRI1in: in Std_logic; WBADRI1out: out Std_logic; + WBADRI0in: in Std_logic; WBADRI0out: out Std_logic; + WBDATI7in: in Std_logic; WBDATI7out: out Std_logic; + WBDATI6in: in Std_logic; WBDATI6out: out Std_logic; + WBDATI5in: in Std_logic; WBDATI5out: out Std_logic; + WBDATI4in: in Std_logic; WBDATI4out: out Std_logic; + WBDATI3in: in Std_logic; WBDATI3out: out Std_logic; + WBDATI2in: in Std_logic; WBDATI2out: out Std_logic; + WBDATI1in: in Std_logic; WBDATI1out: out Std_logic; + WBDATI0in: in Std_logic; WBDATI0out: out Std_logic; + PLL0DATI7in: in Std_logic; PLL0DATI7out: out Std_logic; + PLL0DATI6in: in Std_logic; PLL0DATI6out: out Std_logic; + PLL0DATI5in: in Std_logic; PLL0DATI5out: out Std_logic; + PLL0DATI4in: in Std_logic; PLL0DATI4out: out Std_logic; + PLL0DATI3in: in Std_logic; PLL0DATI3out: out Std_logic; + PLL0DATI2in: in Std_logic; PLL0DATI2out: out Std_logic; + PLL0DATI1in: in Std_logic; PLL0DATI1out: out Std_logic; + PLL0DATI0in: in Std_logic; PLL0DATI0out: out Std_logic; + PLL0ACKIin: in Std_logic; PLL0ACKIout: out Std_logic; + PLL1DATI7in: in Std_logic; PLL1DATI7out: out Std_logic; + PLL1DATI6in: in Std_logic; PLL1DATI6out: out Std_logic; + PLL1DATI5in: in Std_logic; PLL1DATI5out: out Std_logic; + PLL1DATI4in: in Std_logic; PLL1DATI4out: out Std_logic; + PLL1DATI3in: in Std_logic; PLL1DATI3out: out Std_logic; + PLL1DATI2in: in Std_logic; PLL1DATI2out: out Std_logic; + PLL1DATI1in: in Std_logic; PLL1DATI1out: out Std_logic; + PLL1DATI0in: in Std_logic; PLL1DATI0out: out Std_logic; + PLL1ACKIin: in Std_logic; PLL1ACKIout: out Std_logic; + I2C1SCLIin: in Std_logic; I2C1SCLIout: out Std_logic; + I2C1SDAIin: in Std_logic; I2C1SDAIout: out Std_logic; + I2C2SCLIin: in Std_logic; I2C2SCLIout: out Std_logic; + I2C2SDAIin: in Std_logic; I2C2SDAIout: out Std_logic; + SPISCKIin: in Std_logic; SPISCKIout: out Std_logic; + SPIMISOIin: in Std_logic; SPIMISOIout: out Std_logic; + SPIMOSIIin: in Std_logic; SPIMOSIIout: out Std_logic; + SPISCSNin: in Std_logic; SPISCSNout: out Std_logic; + TCCLKIin: in Std_logic; TCCLKIout: out Std_logic; + TCRSTNin: in Std_logic; TCRSTNout: out Std_logic; + TCICin: in Std_logic; TCICout: out Std_logic; UFMSNin: in Std_logic; + UFMSNout: out Std_logic; WBDATO7out: out Std_logic; + WBDATO7in: in Std_logic; WBDATO6out: out Std_logic; + WBDATO6in: in Std_logic; WBDATO5out: out Std_logic; + WBDATO5in: in Std_logic; WBDATO4out: out Std_logic; + WBDATO4in: in Std_logic; WBDATO3out: out Std_logic; + WBDATO3in: in Std_logic; WBDATO2out: out Std_logic; + WBDATO2in: in Std_logic; WBDATO1out: out Std_logic; + WBDATO1in: in Std_logic; WBDATO0out: out Std_logic; + WBDATO0in: in Std_logic; WBACKOout: out Std_logic; + WBACKOin: in Std_logic; PLLCLKOout: out Std_logic; + PLLCLKOin: in Std_logic; PLLRSTOout: out Std_logic; + PLLRSTOin: in Std_logic; PLL0STBOout: out Std_logic; + PLL0STBOin: in Std_logic; PLL1STBOout: out Std_logic; + PLL1STBOin: in Std_logic; PLLWEOout: out Std_logic; + PLLWEOin: in Std_logic; PLLADRO4out: out Std_logic; + PLLADRO4in: in Std_logic; PLLADRO3out: out Std_logic; + PLLADRO3in: in Std_logic; PLLADRO2out: out Std_logic; + PLLADRO2in: in Std_logic; PLLADRO1out: out Std_logic; + PLLADRO1in: in Std_logic; PLLADRO0out: out Std_logic; + PLLADRO0in: in Std_logic; PLLDATO7out: out Std_logic; + PLLDATO7in: in Std_logic; PLLDATO6out: out Std_logic; + PLLDATO6in: in Std_logic; PLLDATO5out: out Std_logic; + PLLDATO5in: in Std_logic; PLLDATO4out: out Std_logic; + PLLDATO4in: in Std_logic; PLLDATO3out: out Std_logic; + PLLDATO3in: in Std_logic; PLLDATO2out: out Std_logic; + PLLDATO2in: in Std_logic; PLLDATO1out: out Std_logic; + PLLDATO1in: in Std_logic; PLLDATO0out: out Std_logic; + PLLDATO0in: in Std_logic; I2C1SCLOout: out Std_logic; + I2C1SCLOin: in Std_logic; I2C1SCLOENout: out Std_logic; + I2C1SCLOENin: in Std_logic; I2C1SDAOout: out Std_logic; + I2C1SDAOin: in Std_logic; I2C1SDAOENout: out Std_logic; + I2C1SDAOENin: in Std_logic; I2C2SCLOout: out Std_logic; + I2C2SCLOin: in Std_logic; I2C2SCLOENout: out Std_logic; + I2C2SCLOENin: in Std_logic; I2C2SDAOout: out Std_logic; + I2C2SDAOin: in Std_logic; I2C2SDAOENout: out Std_logic; + I2C2SDAOENin: in Std_logic; I2C1IRQOout: out Std_logic; + I2C1IRQOin: in Std_logic; I2C2IRQOout: out Std_logic; + I2C2IRQOin: in Std_logic; SPISCKOout: out Std_logic; + SPISCKOin: in Std_logic; SPISCKENout: out Std_logic; + SPISCKENin: in Std_logic; SPIMISOOout: out Std_logic; + SPIMISOOin: in Std_logic; SPIMISOENout: out Std_logic; + SPIMISOENin: in Std_logic; SPIMOSIOout: out Std_logic; + SPIMOSIOin: in Std_logic; SPIMOSIENout: out Std_logic; + SPIMOSIENin: in Std_logic; SPIMCSN0out: out Std_logic; + SPIMCSN0in: in Std_logic; SPIMCSN1out: out Std_logic; + SPIMCSN1in: in Std_logic; SPIMCSN2out: out Std_logic; + SPIMCSN2in: in Std_logic; SPIMCSN3out: out Std_logic; + SPIMCSN3in: in Std_logic; SPIMCSN4out: out Std_logic; + SPIMCSN4in: in Std_logic; SPIMCSN5out: out Std_logic; + SPIMCSN5in: in Std_logic; SPIMCSN6out: out Std_logic; + SPIMCSN6in: in Std_logic; SPIMCSN7out: out Std_logic; + SPIMCSN7in: in Std_logic; SPICSNENout: out Std_logic; + SPICSNENin: in Std_logic; SPIIRQOout: out Std_logic; + SPIIRQOin: in Std_logic; TCINTout: out Std_logic; + TCINTin: in Std_logic; TCOCout: out Std_logic; TCOCin: in Std_logic; + WBCUFMIRQout: out Std_logic; WBCUFMIRQin: in Std_logic; + CFGWAKEout: out Std_logic; CFGWAKEin: in Std_logic; + CFGSTDBYout: out Std_logic; CFGSTDBYin: in Std_logic); + + ATTRIBUTE Vital_Level0 OF EFB_Buffer_Block : ENTITY IS TRUE; + + end EFB_Buffer_Block; + + architecture Structure of EFB_Buffer_Block is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal WBCLKIin_ipd : std_logic := 'X'; + signal WBCLKIin_dly : std_logic := 'X'; + signal WBCLKIout_out : std_logic := 'X'; + signal WBRSTIin_ipd : std_logic := 'X'; + signal WBRSTIin_dly : std_logic := 'X'; + signal WBRSTIout_out : std_logic := 'X'; + signal WBCYCIin_ipd : std_logic := 'X'; + signal WBCYCIin_dly : std_logic := 'X'; + signal WBCYCIout_out : std_logic := 'X'; + signal WBSTBIin_ipd : std_logic := 'X'; + signal WBSTBIin_dly : std_logic := 'X'; + signal WBSTBIout_out : std_logic := 'X'; + signal WBWEIin_ipd : std_logic := 'X'; + signal WBWEIin_dly : std_logic := 'X'; + signal WBWEIout_out : std_logic := 'X'; + signal WBADRI7in_ipd : std_logic := 'X'; + signal WBADRI7in_dly : std_logic := 'X'; + signal WBADRI7out_out : std_logic := 'X'; + signal WBADRI6in_ipd : std_logic := 'X'; + signal WBADRI6in_dly : std_logic := 'X'; + signal WBADRI6out_out : std_logic := 'X'; + signal WBADRI5in_ipd : std_logic := 'X'; + signal WBADRI5in_dly : std_logic := 'X'; + signal WBADRI5out_out : std_logic := 'X'; + signal WBADRI4in_ipd : std_logic := 'X'; + signal WBADRI4in_dly : std_logic := 'X'; + signal WBADRI4out_out : std_logic := 'X'; + signal WBADRI3in_ipd : std_logic := 'X'; + signal WBADRI3in_dly : std_logic := 'X'; + signal WBADRI3out_out : std_logic := 'X'; + signal WBADRI2in_ipd : std_logic := 'X'; + signal WBADRI2in_dly : std_logic := 'X'; + signal WBADRI2out_out : std_logic := 'X'; + signal WBADRI1in_ipd : std_logic := 'X'; + signal WBADRI1in_dly : std_logic := 'X'; + signal WBADRI1out_out : std_logic := 'X'; + signal WBADRI0in_ipd : std_logic := 'X'; + signal WBADRI0in_dly : std_logic := 'X'; + signal WBADRI0out_out : std_logic := 'X'; + signal WBDATI7in_ipd : std_logic := 'X'; + signal WBDATI7in_dly : std_logic := 'X'; + signal WBDATI7out_out : std_logic := 'X'; + signal WBDATI6in_ipd : std_logic := 'X'; + signal WBDATI6in_dly : std_logic := 'X'; + signal WBDATI6out_out : std_logic := 'X'; + signal WBDATI5in_ipd : std_logic := 'X'; + signal WBDATI5in_dly : std_logic := 'X'; + signal WBDATI5out_out : std_logic := 'X'; + signal WBDATI4in_ipd : std_logic := 'X'; + signal WBDATI4in_dly : std_logic := 'X'; + signal WBDATI4out_out : std_logic := 'X'; + signal WBDATI3in_ipd : std_logic := 'X'; + signal WBDATI3in_dly : std_logic := 'X'; + signal WBDATI3out_out : std_logic := 'X'; + signal WBDATI2in_ipd : std_logic := 'X'; + signal WBDATI2in_dly : std_logic := 'X'; + signal WBDATI2out_out : std_logic := 'X'; + signal WBDATI1in_ipd : std_logic := 'X'; + signal WBDATI1in_dly : std_logic := 'X'; + signal WBDATI1out_out : std_logic := 'X'; + signal WBDATI0in_ipd : std_logic := 'X'; + signal WBDATI0in_dly : std_logic := 'X'; + signal WBDATI0out_out : std_logic := 'X'; + signal PLL0DATI7in_ipd : std_logic := 'X'; + signal PLL0DATI7out_out : std_logic := 'X'; + signal PLL0DATI6in_ipd : std_logic := 'X'; + signal PLL0DATI6out_out : std_logic := 'X'; + signal PLL0DATI5in_ipd : std_logic := 'X'; + signal PLL0DATI5out_out : std_logic := 'X'; + signal PLL0DATI4in_ipd : std_logic := 'X'; + signal PLL0DATI4out_out : std_logic := 'X'; + signal PLL0DATI3in_ipd : std_logic := 'X'; + signal PLL0DATI3out_out : std_logic := 'X'; + signal PLL0DATI2in_ipd : std_logic := 'X'; + signal PLL0DATI2out_out : std_logic := 'X'; + signal PLL0DATI1in_ipd : std_logic := 'X'; + signal PLL0DATI1out_out : std_logic := 'X'; + signal PLL0DATI0in_ipd : std_logic := 'X'; + signal PLL0DATI0out_out : std_logic := 'X'; + signal PLL0ACKIin_ipd : std_logic := 'X'; + signal PLL0ACKIout_out : std_logic := 'X'; + signal PLL1DATI7in_ipd : std_logic := 'X'; + signal PLL1DATI7out_out : std_logic := 'X'; + signal PLL1DATI6in_ipd : std_logic := 'X'; + signal PLL1DATI6out_out : std_logic := 'X'; + signal PLL1DATI5in_ipd : std_logic := 'X'; + signal PLL1DATI5out_out : std_logic := 'X'; + signal PLL1DATI4in_ipd : std_logic := 'X'; + signal PLL1DATI4out_out : std_logic := 'X'; + signal PLL1DATI3in_ipd : std_logic := 'X'; + signal PLL1DATI3out_out : std_logic := 'X'; + signal PLL1DATI2in_ipd : std_logic := 'X'; + signal PLL1DATI2out_out : std_logic := 'X'; + signal PLL1DATI1in_ipd : std_logic := 'X'; + signal PLL1DATI1out_out : std_logic := 'X'; + signal PLL1DATI0in_ipd : std_logic := 'X'; + signal PLL1DATI0out_out : std_logic := 'X'; + signal PLL1ACKIin_ipd : std_logic := 'X'; + signal PLL1ACKIout_out : std_logic := 'X'; + signal I2C1SCLIin_ipd : std_logic := 'X'; + signal I2C1SCLIout_out : std_logic := 'X'; + signal I2C1SDAIin_ipd : std_logic := 'X'; + signal I2C1SDAIout_out : std_logic := 'X'; + signal I2C2SCLIin_ipd : std_logic := 'X'; + signal I2C2SCLIout_out : std_logic := 'X'; + signal I2C2SDAIin_ipd : std_logic := 'X'; + signal I2C2SDAIout_out : std_logic := 'X'; + signal SPISCKIin_ipd : std_logic := 'X'; + signal SPISCKIout_out : std_logic := 'X'; + signal SPIMISOIin_ipd : std_logic := 'X'; + signal SPIMISOIout_out : std_logic := 'X'; + signal SPIMOSIIin_ipd : std_logic := 'X'; + signal SPIMOSIIout_out : std_logic := 'X'; + signal SPISCSNin_ipd : std_logic := 'X'; + signal SPISCSNout_out : std_logic := 'X'; + signal TCCLKIin_ipd : std_logic := 'X'; + signal TCCLKIout_out : std_logic := 'X'; + signal TCRSTNin_ipd : std_logic := 'X'; + signal TCRSTNout_out : std_logic := 'X'; + signal TCICin_ipd : std_logic := 'X'; + signal TCICout_out : std_logic := 'X'; + signal UFMSNin_ipd : std_logic := 'X'; + signal UFMSNout_out : std_logic := 'X'; + signal WBDATO7out_out : std_logic := 'X'; + signal WBDATO7in_ipd : std_logic := 'X'; + signal WBDATO6out_out : std_logic := 'X'; + signal WBDATO6in_ipd : std_logic := 'X'; + signal WBDATO5out_out : std_logic := 'X'; + signal WBDATO5in_ipd : std_logic := 'X'; + signal WBDATO4out_out : std_logic := 'X'; + signal WBDATO4in_ipd : std_logic := 'X'; + signal WBDATO3out_out : std_logic := 'X'; + signal WBDATO3in_ipd : std_logic := 'X'; + signal WBDATO2out_out : std_logic := 'X'; + signal WBDATO2in_ipd : std_logic := 'X'; + signal WBDATO1out_out : std_logic := 'X'; + signal WBDATO1in_ipd : std_logic := 'X'; + signal WBDATO0out_out : std_logic := 'X'; + signal WBDATO0in_ipd : std_logic := 'X'; + signal WBACKOout_out : std_logic := 'X'; + signal WBACKOin_ipd : std_logic := 'X'; + signal PLLCLKOout_out : std_logic := 'X'; + signal PLLCLKOin_ipd : std_logic := 'X'; + signal PLLRSTOout_out : std_logic := 'X'; + signal PLLRSTOin_ipd : std_logic := 'X'; + signal PLL0STBOout_out : std_logic := 'X'; + signal PLL0STBOin_ipd : std_logic := 'X'; + signal PLL1STBOout_out : std_logic := 'X'; + signal PLL1STBOin_ipd : std_logic := 'X'; + signal PLLWEOout_out : std_logic := 'X'; + signal PLLWEOin_ipd : std_logic := 'X'; + signal PLLADRO4out_out : std_logic := 'X'; + signal PLLADRO4in_ipd : std_logic := 'X'; + signal PLLADRO3out_out : std_logic := 'X'; + signal PLLADRO3in_ipd : std_logic := 'X'; + signal PLLADRO2out_out : std_logic := 'X'; + signal PLLADRO2in_ipd : std_logic := 'X'; + signal PLLADRO1out_out : std_logic := 'X'; + signal PLLADRO1in_ipd : std_logic := 'X'; + signal PLLADRO0out_out : std_logic := 'X'; + signal PLLADRO0in_ipd : std_logic := 'X'; + signal PLLDATO7out_out : std_logic := 'X'; + signal PLLDATO7in_ipd : std_logic := 'X'; + signal PLLDATO6out_out : std_logic := 'X'; + signal PLLDATO6in_ipd : std_logic := 'X'; + signal PLLDATO5out_out : std_logic := 'X'; + signal PLLDATO5in_ipd : std_logic := 'X'; + signal PLLDATO4out_out : std_logic := 'X'; + signal PLLDATO4in_ipd : std_logic := 'X'; + signal PLLDATO3out_out : std_logic := 'X'; + signal PLLDATO3in_ipd : std_logic := 'X'; + signal PLLDATO2out_out : std_logic := 'X'; + signal PLLDATO2in_ipd : std_logic := 'X'; + signal PLLDATO1out_out : std_logic := 'X'; + signal PLLDATO1in_ipd : std_logic := 'X'; + signal PLLDATO0out_out : std_logic := 'X'; + signal PLLDATO0in_ipd : std_logic := 'X'; + signal I2C1SCLOout_out : std_logic := 'X'; + signal I2C1SCLOin_ipd : std_logic := 'X'; + signal I2C1SCLOENout_out : std_logic := 'X'; + signal I2C1SCLOENin_ipd : std_logic := 'X'; + signal I2C1SDAOout_out : std_logic := 'X'; + signal I2C1SDAOin_ipd : std_logic := 'X'; + signal I2C1SDAOENout_out : std_logic := 'X'; + signal I2C1SDAOENin_ipd : std_logic := 'X'; + signal I2C2SCLOout_out : std_logic := 'X'; + signal I2C2SCLOin_ipd : std_logic := 'X'; + signal I2C2SCLOENout_out : std_logic := 'X'; + signal I2C2SCLOENin_ipd : std_logic := 'X'; + signal I2C2SDAOout_out : std_logic := 'X'; + signal I2C2SDAOin_ipd : std_logic := 'X'; + signal I2C2SDAOENout_out : std_logic := 'X'; + signal I2C2SDAOENin_ipd : std_logic := 'X'; + signal I2C1IRQOout_out : std_logic := 'X'; + signal I2C1IRQOin_ipd : std_logic := 'X'; + signal I2C2IRQOout_out : std_logic := 'X'; + signal I2C2IRQOin_ipd : std_logic := 'X'; + signal SPISCKOout_out : std_logic := 'X'; + signal SPISCKOin_ipd : std_logic := 'X'; + signal SPISCKENout_out : std_logic := 'X'; + signal SPISCKENin_ipd : std_logic := 'X'; + signal SPIMISOOout_out : std_logic := 'X'; + signal SPIMISOOin_ipd : std_logic := 'X'; + signal SPIMISOENout_out : std_logic := 'X'; + signal SPIMISOENin_ipd : std_logic := 'X'; + signal SPIMOSIOout_out : std_logic := 'X'; + signal SPIMOSIOin_ipd : std_logic := 'X'; + signal SPIMOSIENout_out : std_logic := 'X'; + signal SPIMOSIENin_ipd : std_logic := 'X'; + signal SPIMCSN0out_out : std_logic := 'X'; + signal SPIMCSN0in_ipd : std_logic := 'X'; + signal SPIMCSN1out_out : std_logic := 'X'; + signal SPIMCSN1in_ipd : std_logic := 'X'; + signal SPIMCSN2out_out : std_logic := 'X'; + signal SPIMCSN2in_ipd : std_logic := 'X'; + signal SPIMCSN3out_out : std_logic := 'X'; + signal SPIMCSN3in_ipd : std_logic := 'X'; + signal SPIMCSN4out_out : std_logic := 'X'; + signal SPIMCSN4in_ipd : std_logic := 'X'; + signal SPIMCSN5out_out : std_logic := 'X'; + signal SPIMCSN5in_ipd : std_logic := 'X'; + signal SPIMCSN6out_out : std_logic := 'X'; + signal SPIMCSN6in_ipd : std_logic := 'X'; + signal SPIMCSN7out_out : std_logic := 'X'; + signal SPIMCSN7in_ipd : std_logic := 'X'; + signal SPICSNENout_out : std_logic := 'X'; + signal SPICSNENin_ipd : std_logic := 'X'; + signal SPIIRQOout_out : std_logic := 'X'; + signal SPIIRQOin_ipd : std_logic := 'X'; + signal TCINTout_out : std_logic := 'X'; + signal TCINTin_ipd : std_logic := 'X'; + signal TCOCout_out : std_logic := 'X'; + signal TCOCin_ipd : std_logic := 'X'; + signal WBCUFMIRQout_out : std_logic := 'X'; + signal WBCUFMIRQin_ipd : std_logic := 'X'; + signal CFGWAKEout_out : std_logic := 'X'; + signal CFGWAKEin_ipd : std_logic := 'X'; + signal CFGSTDBYout_out : std_logic := 'X'; + signal CFGSTDBYin_ipd : std_logic := 'X'; + + begin + WBCLKI_buf: BUFBA + port map (A=>WBCLKIin_dly, Z=>WBCLKIout_out); + WBRSTI_buf: BUFBA + port map (A=>WBRSTIin_dly, Z=>WBRSTIout_out); + WBCYCI_buf: BUFBA + port map (A=>WBCYCIin_dly, Z=>WBCYCIout_out); + WBSTBI_buf: BUFBA + port map (A=>WBSTBIin_dly, Z=>WBSTBIout_out); + WBWEI_buf: BUFBA + port map (A=>WBWEIin_dly, Z=>WBWEIout_out); + WBADRI7_buf: BUFBA + port map (A=>WBADRI7in_dly, Z=>WBADRI7out_out); + WBADRI6_buf: BUFBA + port map (A=>WBADRI6in_dly, Z=>WBADRI6out_out); + WBADRI5_buf: BUFBA + port map (A=>WBADRI5in_dly, Z=>WBADRI5out_out); + WBADRI4_buf: BUFBA + port map (A=>WBADRI4in_dly, Z=>WBADRI4out_out); + WBADRI3_buf: BUFBA + port map (A=>WBADRI3in_dly, Z=>WBADRI3out_out); + WBADRI2_buf: BUFBA + port map (A=>WBADRI2in_dly, Z=>WBADRI2out_out); + WBADRI1_buf: BUFBA + port map (A=>WBADRI1in_dly, Z=>WBADRI1out_out); + WBADRI0_buf: BUFBA + port map (A=>WBADRI0in_dly, Z=>WBADRI0out_out); + WBDATI7_buf: BUFBA + port map (A=>WBDATI7in_dly, Z=>WBDATI7out_out); + WBDATI6_buf: BUFBA + port map (A=>WBDATI6in_dly, Z=>WBDATI6out_out); + WBDATI5_buf: BUFBA + port map (A=>WBDATI5in_dly, Z=>WBDATI5out_out); + WBDATI4_buf: BUFBA + port map (A=>WBDATI4in_dly, Z=>WBDATI4out_out); + WBDATI3_buf: BUFBA + port map (A=>WBDATI3in_dly, Z=>WBDATI3out_out); + WBDATI2_buf: BUFBA + port map (A=>WBDATI2in_dly, Z=>WBDATI2out_out); + WBDATI1_buf: BUFBA + port map (A=>WBDATI1in_dly, Z=>WBDATI1out_out); + WBDATI0_buf: BUFBA + port map (A=>WBDATI0in_dly, Z=>WBDATI0out_out); + PLL0DATI7_buf: BUFBA + port map (A=>PLL0DATI7in_ipd, Z=>PLL0DATI7out_out); + PLL0DATI6_buf: BUFBA + port map (A=>PLL0DATI6in_ipd, Z=>PLL0DATI6out_out); + PLL0DATI5_buf: BUFBA + port map (A=>PLL0DATI5in_ipd, Z=>PLL0DATI5out_out); + PLL0DATI4_buf: BUFBA + port map (A=>PLL0DATI4in_ipd, Z=>PLL0DATI4out_out); + PLL0DATI3_buf: BUFBA + port map (A=>PLL0DATI3in_ipd, Z=>PLL0DATI3out_out); + PLL0DATI2_buf: BUFBA + port map (A=>PLL0DATI2in_ipd, Z=>PLL0DATI2out_out); + PLL0DATI1_buf: BUFBA + port map (A=>PLL0DATI1in_ipd, Z=>PLL0DATI1out_out); + PLL0DATI0_buf: BUFBA + port map (A=>PLL0DATI0in_ipd, Z=>PLL0DATI0out_out); + PLL0ACKI_buf: BUFBA + port map (A=>PLL0ACKIin_ipd, Z=>PLL0ACKIout_out); + PLL1DATI7_buf: BUFBA + port map (A=>PLL1DATI7in_ipd, Z=>PLL1DATI7out_out); + PLL1DATI6_buf: BUFBA + port map (A=>PLL1DATI6in_ipd, Z=>PLL1DATI6out_out); + PLL1DATI5_buf: BUFBA + port map (A=>PLL1DATI5in_ipd, Z=>PLL1DATI5out_out); + PLL1DATI4_buf: BUFBA + port map (A=>PLL1DATI4in_ipd, Z=>PLL1DATI4out_out); + PLL1DATI3_buf: BUFBA + port map (A=>PLL1DATI3in_ipd, Z=>PLL1DATI3out_out); + PLL1DATI2_buf: BUFBA + port map (A=>PLL1DATI2in_ipd, Z=>PLL1DATI2out_out); + PLL1DATI1_buf: BUFBA + port map (A=>PLL1DATI1in_ipd, Z=>PLL1DATI1out_out); + PLL1DATI0_buf: BUFBA + port map (A=>PLL1DATI0in_ipd, Z=>PLL1DATI0out_out); + PLL1ACKI_buf: BUFBA + port map (A=>PLL1ACKIin_ipd, Z=>PLL1ACKIout_out); + I2C1SCLI_buf: BUFBA + port map (A=>I2C1SCLIin_ipd, Z=>I2C1SCLIout_out); + I2C1SDAI_buf: BUFBA + port map (A=>I2C1SDAIin_ipd, Z=>I2C1SDAIout_out); + I2C2SCLI_buf: BUFBA + port map (A=>I2C2SCLIin_ipd, Z=>I2C2SCLIout_out); + I2C2SDAI_buf: BUFBA + port map (A=>I2C2SDAIin_ipd, Z=>I2C2SDAIout_out); + SPISCKI_buf: BUFBA + port map (A=>SPISCKIin_ipd, Z=>SPISCKIout_out); + SPIMISOI_buf: BUFBA + port map (A=>SPIMISOIin_ipd, Z=>SPIMISOIout_out); + SPIMOSII_buf: BUFBA + port map (A=>SPIMOSIIin_ipd, Z=>SPIMOSIIout_out); + SPISCSN_buf: BUFBA + port map (A=>SPISCSNin_ipd, Z=>SPISCSNout_out); + TCCLKI_buf: BUFBA + port map (A=>TCCLKIin_ipd, Z=>TCCLKIout_out); + TCRSTN_buf: BUFBA + port map (A=>TCRSTNin_ipd, Z=>TCRSTNout_out); + TCIC_buf: BUFBA + port map (A=>TCICin_ipd, Z=>TCICout_out); + UFMSN_buf: BUFBA + port map (A=>UFMSNin_ipd, Z=>UFMSNout_out); + WBDATO7_buf: BUFBA + port map (A=>WBDATO7in_ipd, Z=>WBDATO7out_out); + WBDATO6_buf: BUFBA + port map (A=>WBDATO6in_ipd, Z=>WBDATO6out_out); + WBDATO5_buf: BUFBA + port map (A=>WBDATO5in_ipd, Z=>WBDATO5out_out); + WBDATO4_buf: BUFBA + port map (A=>WBDATO4in_ipd, Z=>WBDATO4out_out); + WBDATO3_buf: BUFBA + port map (A=>WBDATO3in_ipd, Z=>WBDATO3out_out); + WBDATO2_buf: BUFBA + port map (A=>WBDATO2in_ipd, Z=>WBDATO2out_out); + WBDATO1_buf: BUFBA + port map (A=>WBDATO1in_ipd, Z=>WBDATO1out_out); + WBDATO0_buf: BUFBA + port map (A=>WBDATO0in_ipd, Z=>WBDATO0out_out); + WBACKO_buf: BUFBA + port map (A=>WBACKOin_ipd, Z=>WBACKOout_out); + PLLCLKO_buf: BUFBA + port map (A=>PLLCLKOin_ipd, Z=>PLLCLKOout_out); + PLLRSTO_buf: BUFBA + port map (A=>PLLRSTOin_ipd, Z=>PLLRSTOout_out); + PLL0STBO_buf: BUFBA + port map (A=>PLL0STBOin_ipd, Z=>PLL0STBOout_out); + PLL1STBO_buf: BUFBA + port map (A=>PLL1STBOin_ipd, Z=>PLL1STBOout_out); + PLLWEO_buf: BUFBA + port map (A=>PLLWEOin_ipd, Z=>PLLWEOout_out); + PLLADRO4_buf: BUFBA + port map (A=>PLLADRO4in_ipd, Z=>PLLADRO4out_out); + PLLADRO3_buf: BUFBA + port map (A=>PLLADRO3in_ipd, Z=>PLLADRO3out_out); + PLLADRO2_buf: BUFBA + port map (A=>PLLADRO2in_ipd, Z=>PLLADRO2out_out); + PLLADRO1_buf: BUFBA + port map (A=>PLLADRO1in_ipd, Z=>PLLADRO1out_out); + PLLADRO0_buf: BUFBA + port map (A=>PLLADRO0in_ipd, Z=>PLLADRO0out_out); + PLLDATO7_buf: BUFBA + port map (A=>PLLDATO7in_ipd, Z=>PLLDATO7out_out); + PLLDATO6_buf: BUFBA + port map (A=>PLLDATO6in_ipd, Z=>PLLDATO6out_out); + PLLDATO5_buf: BUFBA + port map (A=>PLLDATO5in_ipd, Z=>PLLDATO5out_out); + PLLDATO4_buf: BUFBA + port map (A=>PLLDATO4in_ipd, Z=>PLLDATO4out_out); + PLLDATO3_buf: BUFBA + port map (A=>PLLDATO3in_ipd, Z=>PLLDATO3out_out); + PLLDATO2_buf: BUFBA + port map (A=>PLLDATO2in_ipd, Z=>PLLDATO2out_out); + PLLDATO1_buf: BUFBA + port map (A=>PLLDATO1in_ipd, Z=>PLLDATO1out_out); + PLLDATO0_buf: BUFBA + port map (A=>PLLDATO0in_ipd, Z=>PLLDATO0out_out); + I2C1SCLO_buf: BUFBA + port map (A=>I2C1SCLOin_ipd, Z=>I2C1SCLOout_out); + I2C1SCLOEN_buf: BUFBA + port map (A=>I2C1SCLOENin_ipd, Z=>I2C1SCLOENout_out); + I2C1SDAO_buf: BUFBA + port map (A=>I2C1SDAOin_ipd, Z=>I2C1SDAOout_out); + I2C1SDAOEN_buf: BUFBA + port map (A=>I2C1SDAOENin_ipd, Z=>I2C1SDAOENout_out); + I2C2SCLO_buf: BUFBA + port map (A=>I2C2SCLOin_ipd, Z=>I2C2SCLOout_out); + I2C2SCLOEN_buf: BUFBA + port map (A=>I2C2SCLOENin_ipd, Z=>I2C2SCLOENout_out); + I2C2SDAO_buf: BUFBA + port map (A=>I2C2SDAOin_ipd, Z=>I2C2SDAOout_out); + I2C2SDAOEN_buf: BUFBA + port map (A=>I2C2SDAOENin_ipd, Z=>I2C2SDAOENout_out); + I2C1IRQO_buf: BUFBA + port map (A=>I2C1IRQOin_ipd, Z=>I2C1IRQOout_out); + I2C2IRQO_buf: BUFBA + port map (A=>I2C2IRQOin_ipd, Z=>I2C2IRQOout_out); + SPISCKO_buf: BUFBA + port map (A=>SPISCKOin_ipd, Z=>SPISCKOout_out); + SPISCKEN_buf: BUFBA + port map (A=>SPISCKENin_ipd, Z=>SPISCKENout_out); + SPIMISOO_buf: BUFBA + port map (A=>SPIMISOOin_ipd, Z=>SPIMISOOout_out); + SPIMISOEN_buf: BUFBA + port map (A=>SPIMISOENin_ipd, Z=>SPIMISOENout_out); + SPIMOSIO_buf: BUFBA + port map (A=>SPIMOSIOin_ipd, Z=>SPIMOSIOout_out); + SPIMOSIEN_buf: BUFBA + port map (A=>SPIMOSIENin_ipd, Z=>SPIMOSIENout_out); + SPIMCSN0_buf: BUFBA + port map (A=>SPIMCSN0in_ipd, Z=>SPIMCSN0out_out); + SPIMCSN1_buf: BUFBA + port map (A=>SPIMCSN1in_ipd, Z=>SPIMCSN1out_out); + SPIMCSN2_buf: BUFBA + port map (A=>SPIMCSN2in_ipd, Z=>SPIMCSN2out_out); + SPIMCSN3_buf: BUFBA + port map (A=>SPIMCSN3in_ipd, Z=>SPIMCSN3out_out); + SPIMCSN4_buf: BUFBA + port map (A=>SPIMCSN4in_ipd, Z=>SPIMCSN4out_out); + SPIMCSN5_buf: BUFBA + port map (A=>SPIMCSN5in_ipd, Z=>SPIMCSN5out_out); + SPIMCSN6_buf: BUFBA + port map (A=>SPIMCSN6in_ipd, Z=>SPIMCSN6out_out); + SPIMCSN7_buf: BUFBA + port map (A=>SPIMCSN7in_ipd, Z=>SPIMCSN7out_out); + SPICSNEN_buf: BUFBA + port map (A=>SPICSNENin_ipd, Z=>SPICSNENout_out); + SPIIRQO_buf: BUFBA + port map (A=>SPIIRQOin_ipd, Z=>SPIIRQOout_out); + TCINT_buf: BUFBA + port map (A=>TCINTin_ipd, Z=>TCINTout_out); + TCOC_buf: BUFBA + port map (A=>TCOCin_ipd, Z=>TCOCout_out); + WBCUFMIRQ_buf: BUFBA + port map (A=>WBCUFMIRQin_ipd, Z=>WBCUFMIRQout_out); + CFGWAKE_buf: BUFBA + port map (A=>CFGWAKEin_ipd, Z=>CFGWAKEout_out); + CFGSTDBY_buf: BUFBA + port map (A=>CFGSTDBYin_ipd, Z=>CFGSTDBYout_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(WBCLKIin_ipd, WBCLKIin, tipd_WBCLKIin); + VitalWireDelay(WBRSTIin_ipd, WBRSTIin, tipd_WBRSTIin); + VitalWireDelay(WBCYCIin_ipd, WBCYCIin, tipd_WBCYCIin); + VitalWireDelay(WBSTBIin_ipd, WBSTBIin, tipd_WBSTBIin); + VitalWireDelay(WBWEIin_ipd, WBWEIin, tipd_WBWEIin); + VitalWireDelay(WBADRI7in_ipd, WBADRI7in, tipd_WBADRI7in); + VitalWireDelay(WBADRI6in_ipd, WBADRI6in, tipd_WBADRI6in); + VitalWireDelay(WBADRI5in_ipd, WBADRI5in, tipd_WBADRI5in); + VitalWireDelay(WBADRI4in_ipd, WBADRI4in, tipd_WBADRI4in); + VitalWireDelay(WBADRI3in_ipd, WBADRI3in, tipd_WBADRI3in); + VitalWireDelay(WBADRI2in_ipd, WBADRI2in, tipd_WBADRI2in); + VitalWireDelay(WBADRI1in_ipd, WBADRI1in, tipd_WBADRI1in); + VitalWireDelay(WBADRI0in_ipd, WBADRI0in, tipd_WBADRI0in); + VitalWireDelay(WBDATI7in_ipd, WBDATI7in, tipd_WBDATI7in); + VitalWireDelay(WBDATI6in_ipd, WBDATI6in, tipd_WBDATI6in); + VitalWireDelay(WBDATI5in_ipd, WBDATI5in, tipd_WBDATI5in); + VitalWireDelay(WBDATI4in_ipd, WBDATI4in, tipd_WBDATI4in); + VitalWireDelay(WBDATI3in_ipd, WBDATI3in, tipd_WBDATI3in); + VitalWireDelay(WBDATI2in_ipd, WBDATI2in, tipd_WBDATI2in); + VitalWireDelay(WBDATI1in_ipd, WBDATI1in, tipd_WBDATI1in); + VitalWireDelay(WBDATI0in_ipd, WBDATI0in, tipd_WBDATI0in); + VitalWireDelay(PLL0DATI7in_ipd, PLL0DATI7in, tipd_PLL0DATI7in); + VitalWireDelay(PLL0DATI6in_ipd, PLL0DATI6in, tipd_PLL0DATI6in); + VitalWireDelay(PLL0DATI5in_ipd, PLL0DATI5in, tipd_PLL0DATI5in); + VitalWireDelay(PLL0DATI4in_ipd, PLL0DATI4in, tipd_PLL0DATI4in); + VitalWireDelay(PLL0DATI3in_ipd, PLL0DATI3in, tipd_PLL0DATI3in); + VitalWireDelay(PLL0DATI2in_ipd, PLL0DATI2in, tipd_PLL0DATI2in); + VitalWireDelay(PLL0DATI1in_ipd, PLL0DATI1in, tipd_PLL0DATI1in); + VitalWireDelay(PLL0DATI0in_ipd, PLL0DATI0in, tipd_PLL0DATI0in); + VitalWireDelay(PLL0ACKIin_ipd, PLL0ACKIin, tipd_PLL0ACKIin); + VitalWireDelay(PLL1DATI7in_ipd, PLL1DATI7in, tipd_PLL1DATI7in); + VitalWireDelay(PLL1DATI6in_ipd, PLL1DATI6in, tipd_PLL1DATI6in); + VitalWireDelay(PLL1DATI5in_ipd, PLL1DATI5in, tipd_PLL1DATI5in); + VitalWireDelay(PLL1DATI4in_ipd, PLL1DATI4in, tipd_PLL1DATI4in); + VitalWireDelay(PLL1DATI3in_ipd, PLL1DATI3in, tipd_PLL1DATI3in); + VitalWireDelay(PLL1DATI2in_ipd, PLL1DATI2in, tipd_PLL1DATI2in); + VitalWireDelay(PLL1DATI1in_ipd, PLL1DATI1in, tipd_PLL1DATI1in); + VitalWireDelay(PLL1DATI0in_ipd, PLL1DATI0in, tipd_PLL1DATI0in); + VitalWireDelay(PLL1ACKIin_ipd, PLL1ACKIin, tipd_PLL1ACKIin); + VitalWireDelay(I2C1SCLIin_ipd, I2C1SCLIin, tipd_I2C1SCLIin); + VitalWireDelay(I2C1SDAIin_ipd, I2C1SDAIin, tipd_I2C1SDAIin); + VitalWireDelay(I2C2SCLIin_ipd, I2C2SCLIin, tipd_I2C2SCLIin); + VitalWireDelay(I2C2SDAIin_ipd, I2C2SDAIin, tipd_I2C2SDAIin); + VitalWireDelay(SPISCKIin_ipd, SPISCKIin, tipd_SPISCKIin); + VitalWireDelay(SPIMISOIin_ipd, SPIMISOIin, tipd_SPIMISOIin); + VitalWireDelay(SPIMOSIIin_ipd, SPIMOSIIin, tipd_SPIMOSIIin); + VitalWireDelay(SPISCSNin_ipd, SPISCSNin, tipd_SPISCSNin); + VitalWireDelay(TCCLKIin_ipd, TCCLKIin, tipd_TCCLKIin); + VitalWireDelay(TCRSTNin_ipd, TCRSTNin, tipd_TCRSTNin); + VitalWireDelay(TCICin_ipd, TCICin, tipd_TCICin); + VitalWireDelay(UFMSNin_ipd, UFMSNin, tipd_UFMSNin); + VitalWireDelay(WBDATO7in_ipd, WBDATO7in, tipd_WBDATO7in); + VitalWireDelay(WBDATO6in_ipd, WBDATO6in, tipd_WBDATO6in); + VitalWireDelay(WBDATO5in_ipd, WBDATO5in, tipd_WBDATO5in); + VitalWireDelay(WBDATO4in_ipd, WBDATO4in, tipd_WBDATO4in); + VitalWireDelay(WBDATO3in_ipd, WBDATO3in, tipd_WBDATO3in); + VitalWireDelay(WBDATO2in_ipd, WBDATO2in, tipd_WBDATO2in); + VitalWireDelay(WBDATO1in_ipd, WBDATO1in, tipd_WBDATO1in); + VitalWireDelay(WBDATO0in_ipd, WBDATO0in, tipd_WBDATO0in); + VitalWireDelay(WBACKOin_ipd, WBACKOin, tipd_WBACKOin); + VitalWireDelay(PLLCLKOin_ipd, PLLCLKOin, tipd_PLLCLKOin); + VitalWireDelay(PLLRSTOin_ipd, PLLRSTOin, tipd_PLLRSTOin); + VitalWireDelay(PLL0STBOin_ipd, PLL0STBOin, tipd_PLL0STBOin); + VitalWireDelay(PLL1STBOin_ipd, PLL1STBOin, tipd_PLL1STBOin); + VitalWireDelay(PLLWEOin_ipd, PLLWEOin, tipd_PLLWEOin); + VitalWireDelay(PLLADRO4in_ipd, PLLADRO4in, tipd_PLLADRO4in); + VitalWireDelay(PLLADRO3in_ipd, PLLADRO3in, tipd_PLLADRO3in); + VitalWireDelay(PLLADRO2in_ipd, PLLADRO2in, tipd_PLLADRO2in); + VitalWireDelay(PLLADRO1in_ipd, PLLADRO1in, tipd_PLLADRO1in); + VitalWireDelay(PLLADRO0in_ipd, PLLADRO0in, tipd_PLLADRO0in); + VitalWireDelay(PLLDATO7in_ipd, PLLDATO7in, tipd_PLLDATO7in); + VitalWireDelay(PLLDATO6in_ipd, PLLDATO6in, tipd_PLLDATO6in); + VitalWireDelay(PLLDATO5in_ipd, PLLDATO5in, tipd_PLLDATO5in); + VitalWireDelay(PLLDATO4in_ipd, PLLDATO4in, tipd_PLLDATO4in); + VitalWireDelay(PLLDATO3in_ipd, PLLDATO3in, tipd_PLLDATO3in); + VitalWireDelay(PLLDATO2in_ipd, PLLDATO2in, tipd_PLLDATO2in); + VitalWireDelay(PLLDATO1in_ipd, PLLDATO1in, tipd_PLLDATO1in); + VitalWireDelay(PLLDATO0in_ipd, PLLDATO0in, tipd_PLLDATO0in); + VitalWireDelay(I2C1SCLOin_ipd, I2C1SCLOin, tipd_I2C1SCLOin); + VitalWireDelay(I2C1SCLOENin_ipd, I2C1SCLOENin, tipd_I2C1SCLOENin); + VitalWireDelay(I2C1SDAOin_ipd, I2C1SDAOin, tipd_I2C1SDAOin); + VitalWireDelay(I2C1SDAOENin_ipd, I2C1SDAOENin, tipd_I2C1SDAOENin); + VitalWireDelay(I2C2SCLOin_ipd, I2C2SCLOin, tipd_I2C2SCLOin); + VitalWireDelay(I2C2SCLOENin_ipd, I2C2SCLOENin, tipd_I2C2SCLOENin); + VitalWireDelay(I2C2SDAOin_ipd, I2C2SDAOin, tipd_I2C2SDAOin); + VitalWireDelay(I2C2SDAOENin_ipd, I2C2SDAOENin, tipd_I2C2SDAOENin); + VitalWireDelay(I2C1IRQOin_ipd, I2C1IRQOin, tipd_I2C1IRQOin); + VitalWireDelay(I2C2IRQOin_ipd, I2C2IRQOin, tipd_I2C2IRQOin); + VitalWireDelay(SPISCKOin_ipd, SPISCKOin, tipd_SPISCKOin); + VitalWireDelay(SPISCKENin_ipd, SPISCKENin, tipd_SPISCKENin); + VitalWireDelay(SPIMISOOin_ipd, SPIMISOOin, tipd_SPIMISOOin); + VitalWireDelay(SPIMISOENin_ipd, SPIMISOENin, tipd_SPIMISOENin); + VitalWireDelay(SPIMOSIOin_ipd, SPIMOSIOin, tipd_SPIMOSIOin); + VitalWireDelay(SPIMOSIENin_ipd, SPIMOSIENin, tipd_SPIMOSIENin); + VitalWireDelay(SPIMCSN0in_ipd, SPIMCSN0in, tipd_SPIMCSN0in); + VitalWireDelay(SPIMCSN1in_ipd, SPIMCSN1in, tipd_SPIMCSN1in); + VitalWireDelay(SPIMCSN2in_ipd, SPIMCSN2in, tipd_SPIMCSN2in); + VitalWireDelay(SPIMCSN3in_ipd, SPIMCSN3in, tipd_SPIMCSN3in); + VitalWireDelay(SPIMCSN4in_ipd, SPIMCSN4in, tipd_SPIMCSN4in); + VitalWireDelay(SPIMCSN5in_ipd, SPIMCSN5in, tipd_SPIMCSN5in); + VitalWireDelay(SPIMCSN6in_ipd, SPIMCSN6in, tipd_SPIMCSN6in); + VitalWireDelay(SPIMCSN7in_ipd, SPIMCSN7in, tipd_SPIMCSN7in); + VitalWireDelay(SPICSNENin_ipd, SPICSNENin, tipd_SPICSNENin); + VitalWireDelay(SPIIRQOin_ipd, SPIIRQOin, tipd_SPIIRQOin); + VitalWireDelay(TCINTin_ipd, TCINTin, tipd_TCINTin); + VitalWireDelay(TCOCin_ipd, TCOCin, tipd_TCOCin); + VitalWireDelay(WBCUFMIRQin_ipd, WBCUFMIRQin, tipd_WBCUFMIRQin); + VitalWireDelay(CFGWAKEin_ipd, CFGWAKEin, tipd_CFGWAKEin); + VitalWireDelay(CFGSTDBYin_ipd, CFGSTDBYin, tipd_CFGSTDBYin); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(WBCLKIin_dly, WBCLKIin_ipd, ticd_WBCLKIin); + VitalSignalDelay(WBRSTIin_dly, WBRSTIin_ipd, tisd_WBRSTIin_WBCLKIin); + VitalSignalDelay(WBCYCIin_dly, WBCYCIin_ipd, tisd_WBCYCIin_WBCLKIin); + VitalSignalDelay(WBSTBIin_dly, WBSTBIin_ipd, tisd_WBSTBIin_WBCLKIin); + VitalSignalDelay(WBWEIin_dly, WBWEIin_ipd, tisd_WBWEIin_WBCLKIin); + VitalSignalDelay(WBADRI7in_dly, WBADRI7in_ipd, tisd_WBADRI7in_WBCLKIin); + VitalSignalDelay(WBADRI6in_dly, WBADRI6in_ipd, tisd_WBADRI6in_WBCLKIin); + VitalSignalDelay(WBADRI5in_dly, WBADRI5in_ipd, tisd_WBADRI5in_WBCLKIin); + VitalSignalDelay(WBADRI4in_dly, WBADRI4in_ipd, tisd_WBADRI4in_WBCLKIin); + VitalSignalDelay(WBADRI3in_dly, WBADRI3in_ipd, tisd_WBADRI3in_WBCLKIin); + VitalSignalDelay(WBADRI2in_dly, WBADRI2in_ipd, tisd_WBADRI2in_WBCLKIin); + VitalSignalDelay(WBADRI1in_dly, WBADRI1in_ipd, tisd_WBADRI1in_WBCLKIin); + VitalSignalDelay(WBADRI0in_dly, WBADRI0in_ipd, tisd_WBADRI0in_WBCLKIin); + VitalSignalDelay(WBDATI7in_dly, WBDATI7in_ipd, tisd_WBDATI7in_WBCLKIin); + VitalSignalDelay(WBDATI6in_dly, WBDATI6in_ipd, tisd_WBDATI6in_WBCLKIin); + VitalSignalDelay(WBDATI5in_dly, WBDATI5in_ipd, tisd_WBDATI5in_WBCLKIin); + VitalSignalDelay(WBDATI4in_dly, WBDATI4in_ipd, tisd_WBDATI4in_WBCLKIin); + VitalSignalDelay(WBDATI3in_dly, WBDATI3in_ipd, tisd_WBDATI3in_WBCLKIin); + VitalSignalDelay(WBDATI2in_dly, WBDATI2in_ipd, tisd_WBDATI2in_WBCLKIin); + VitalSignalDelay(WBDATI1in_dly, WBDATI1in_ipd, tisd_WBDATI1in_WBCLKIin); + VitalSignalDelay(WBDATI0in_dly, WBDATI0in_ipd, tisd_WBDATI0in_WBCLKIin); + END BLOCK; + + VitalBehavior : PROCESS (WBCLKIin_dly, WBCLKIout_out, WBRSTIin_dly, + WBRSTIout_out, WBCYCIin_dly, WBCYCIout_out, WBSTBIin_dly, WBSTBIout_out, + WBWEIin_dly, WBWEIout_out, WBADRI7in_dly, WBADRI7out_out, WBADRI6in_dly, + WBADRI6out_out, WBADRI5in_dly, WBADRI5out_out, WBADRI4in_dly, + WBADRI4out_out, WBADRI3in_dly, WBADRI3out_out, WBADRI2in_dly, + WBADRI2out_out, WBADRI1in_dly, WBADRI1out_out, WBADRI0in_dly, + WBADRI0out_out, WBDATI7in_dly, WBDATI7out_out, WBDATI6in_dly, + WBDATI6out_out, WBDATI5in_dly, WBDATI5out_out, WBDATI4in_dly, + WBDATI4out_out, WBDATI3in_dly, WBDATI3out_out, WBDATI2in_dly, + WBDATI2out_out, WBDATI1in_dly, WBDATI1out_out, WBDATI0in_dly, + WBDATI0out_out, PLL0DATI7in_ipd, PLL0DATI7out_out, PLL0DATI6in_ipd, + PLL0DATI6out_out, PLL0DATI5in_ipd, PLL0DATI5out_out, PLL0DATI4in_ipd, + PLL0DATI4out_out, PLL0DATI3in_ipd, PLL0DATI3out_out, PLL0DATI2in_ipd, + PLL0DATI2out_out, PLL0DATI1in_ipd, PLL0DATI1out_out, PLL0DATI0in_ipd, + PLL0DATI0out_out, PLL0ACKIin_ipd, PLL0ACKIout_out, PLL1DATI7in_ipd, + PLL1DATI7out_out, PLL1DATI6in_ipd, PLL1DATI6out_out, PLL1DATI5in_ipd, + PLL1DATI5out_out, PLL1DATI4in_ipd, PLL1DATI4out_out, PLL1DATI3in_ipd, + PLL1DATI3out_out, PLL1DATI2in_ipd, PLL1DATI2out_out, PLL1DATI1in_ipd, + PLL1DATI1out_out, PLL1DATI0in_ipd, PLL1DATI0out_out, PLL1ACKIin_ipd, + PLL1ACKIout_out, I2C1SCLIin_ipd, I2C1SCLIout_out, I2C1SDAIin_ipd, + I2C1SDAIout_out, I2C2SCLIin_ipd, I2C2SCLIout_out, I2C2SDAIin_ipd, + I2C2SDAIout_out, SPISCKIin_ipd, SPISCKIout_out, SPIMISOIin_ipd, + SPIMISOIout_out, SPIMOSIIin_ipd, SPIMOSIIout_out, SPISCSNin_ipd, + SPISCSNout_out, TCCLKIin_ipd, TCCLKIout_out, TCRSTNin_ipd, TCRSTNout_out, + TCICin_ipd, TCICout_out, UFMSNin_ipd, UFMSNout_out, WBDATO7out_out, + WBDATO7in_ipd, WBDATO6out_out, WBDATO6in_ipd, WBDATO5out_out, + WBDATO5in_ipd, WBDATO4out_out, WBDATO4in_ipd, WBDATO3out_out, + WBDATO3in_ipd, WBDATO2out_out, WBDATO2in_ipd, WBDATO1out_out, + WBDATO1in_ipd, WBDATO0out_out, WBDATO0in_ipd, WBACKOout_out, + WBACKOin_ipd, PLLCLKOout_out, PLLCLKOin_ipd, PLLRSTOout_out, + PLLRSTOin_ipd, PLL0STBOout_out, PLL0STBOin_ipd, PLL1STBOout_out, + PLL1STBOin_ipd, PLLWEOout_out, PLLWEOin_ipd, PLLADRO4out_out, + PLLADRO4in_ipd, PLLADRO3out_out, PLLADRO3in_ipd, PLLADRO2out_out, + PLLADRO2in_ipd, PLLADRO1out_out, PLLADRO1in_ipd, PLLADRO0out_out, + PLLADRO0in_ipd, PLLDATO7out_out, PLLDATO7in_ipd, PLLDATO6out_out, + PLLDATO6in_ipd, PLLDATO5out_out, PLLDATO5in_ipd, PLLDATO4out_out, + PLLDATO4in_ipd, PLLDATO3out_out, PLLDATO3in_ipd, PLLDATO2out_out, + PLLDATO2in_ipd, PLLDATO1out_out, PLLDATO1in_ipd, PLLDATO0out_out, + PLLDATO0in_ipd, I2C1SCLOout_out, I2C1SCLOin_ipd, I2C1SCLOENout_out, + I2C1SCLOENin_ipd, I2C1SDAOout_out, I2C1SDAOin_ipd, I2C1SDAOENout_out, + I2C1SDAOENin_ipd, I2C2SCLOout_out, I2C2SCLOin_ipd, I2C2SCLOENout_out, + I2C2SCLOENin_ipd, I2C2SDAOout_out, I2C2SDAOin_ipd, I2C2SDAOENout_out, + I2C2SDAOENin_ipd, I2C1IRQOout_out, I2C1IRQOin_ipd, I2C2IRQOout_out, + I2C2IRQOin_ipd, SPISCKOout_out, SPISCKOin_ipd, SPISCKENout_out, + SPISCKENin_ipd, SPIMISOOout_out, SPIMISOOin_ipd, SPIMISOENout_out, + SPIMISOENin_ipd, SPIMOSIOout_out, SPIMOSIOin_ipd, SPIMOSIENout_out, + SPIMOSIENin_ipd, SPIMCSN0out_out, SPIMCSN0in_ipd, SPIMCSN1out_out, + SPIMCSN1in_ipd, SPIMCSN2out_out, SPIMCSN2in_ipd, SPIMCSN3out_out, + SPIMCSN3in_ipd, SPIMCSN4out_out, SPIMCSN4in_ipd, SPIMCSN5out_out, + SPIMCSN5in_ipd, SPIMCSN6out_out, SPIMCSN6in_ipd, SPIMCSN7out_out, + SPIMCSN7in_ipd, SPICSNENout_out, SPICSNENin_ipd, SPIIRQOout_out, + SPIIRQOin_ipd, TCINTout_out, TCINTin_ipd, TCOCout_out, TCOCin_ipd, + WBCUFMIRQout_out, WBCUFMIRQin_ipd, CFGWAKEout_out, CFGWAKEin_ipd, + CFGSTDBYout_out, CFGSTDBYin_ipd) + VARIABLE WBDATO1out_zd : std_logic := 'X'; + VARIABLE WBDATO1out_GlitchData : VitalGlitchDataType; + VARIABLE WBDATO0out_zd : std_logic := 'X'; + VARIABLE WBDATO0out_GlitchData : VitalGlitchDataType; + VARIABLE WBACKOout_zd : std_logic := 'X'; + VARIABLE WBACKOout_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_WBRSTIin_WBCLKIin : x01 := '0'; + VARIABLE WBRSTIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBCYCIin_WBCLKIin : x01 := '0'; + VARIABLE WBCYCIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBSTBIin_WBCLKIin : x01 := '0'; + VARIABLE WBSTBIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBWEIin_WBCLKIin : x01 := '0'; + VARIABLE WBWEIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI0in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI0in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI1in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI1in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI2in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI2in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI3in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI3in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI4in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI4in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI5in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI5in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI6in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI6in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI7in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI7in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI0in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI0in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI1in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI1in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI2in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI2in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI3in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI3in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI4in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI4in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI5in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI5in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI6in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI6in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI7in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI7in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBCLKIin_WBCLKIin : x01 := '0'; + VARIABLE periodcheckinfo_WBCLKIin : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => WBRSTIin_dly, + TestSignalName => "WBRSTIin", + TestDelay => tisd_WBRSTIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBRSTIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBRSTIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBRSTIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBRSTIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBRSTIin_WBCLKIin_TimingDatash, + Violation => tviol_WBRSTIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBCYCIin_dly, + TestSignalName => "WBCYCIin", + TestDelay => tisd_WBCYCIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBCYCIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBCYCIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBCYCIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBCYCIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBCYCIin_WBCLKIin_TimingDatash, + Violation => tviol_WBCYCIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBSTBIin_dly, + TestSignalName => "WBSTBIin", + TestDelay => tisd_WBSTBIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBSTBIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBSTBIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBSTBIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBSTBIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBSTBIin_WBCLKIin_TimingDatash, + Violation => tviol_WBSTBIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBWEIin_dly, + TestSignalName => "WBWEIin", + TestDelay => tisd_WBWEIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBWEIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBWEIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBWEIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBWEIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBWEIin_WBCLKIin_TimingDatash, + Violation => tviol_WBWEIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI0in_dly, + TestSignalName => "WBADRI0in", + TestDelay => tisd_WBADRI0in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI0in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI0in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI0in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI0in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI0in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI0in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI1in_dly, + TestSignalName => "WBADRI1in", + TestDelay => tisd_WBADRI1in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI1in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI1in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI1in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI1in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI1in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI1in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI2in_dly, + TestSignalName => "WBADRI2in", + TestDelay => tisd_WBADRI2in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI2in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI2in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI2in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI2in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI2in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI2in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI3in_dly, + TestSignalName => "WBADRI3in", + TestDelay => tisd_WBADRI3in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI3in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI3in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI3in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI3in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI3in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI3in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI4in_dly, + TestSignalName => "WBADRI4in", + TestDelay => tisd_WBADRI4in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI4in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI4in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI4in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI4in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI4in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI4in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI5in_dly, + TestSignalName => "WBADRI5in", + TestDelay => tisd_WBADRI5in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI5in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI5in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI5in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI5in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI5in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI5in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI6in_dly, + TestSignalName => "WBADRI6in", + TestDelay => tisd_WBADRI6in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI6in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI6in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI6in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI6in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI6in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI6in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI7in_dly, + TestSignalName => "WBADRI7in", + TestDelay => tisd_WBADRI7in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI7in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI7in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI7in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI7in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI7in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI7in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI0in_dly, + TestSignalName => "WBDATI0in", + TestDelay => tisd_WBDATI0in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI0in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI0in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI0in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI0in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI0in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI0in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI1in_dly, + TestSignalName => "WBDATI1in", + TestDelay => tisd_WBDATI1in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI1in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI1in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI1in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI1in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI1in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI1in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI2in_dly, + TestSignalName => "WBDATI2in", + TestDelay => tisd_WBDATI2in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI2in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI2in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI2in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI2in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI2in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI2in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI3in_dly, + TestSignalName => "WBDATI3in", + TestDelay => tisd_WBDATI3in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI3in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI3in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI3in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI3in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI3in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI3in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI4in_dly, + TestSignalName => "WBDATI4in", + TestDelay => tisd_WBDATI4in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI4in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI4in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI4in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI4in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI4in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI4in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI5in_dly, + TestSignalName => "WBDATI5in", + TestDelay => tisd_WBDATI5in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI5in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI5in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI5in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI5in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI5in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI5in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI6in_dly, + TestSignalName => "WBDATI6in", + TestDelay => tisd_WBDATI6in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI6in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI6in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI6in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI6in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI6in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI6in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI7in_dly, + TestSignalName => "WBDATI7in", + TestDelay => tisd_WBDATI7in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI7in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI7in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI7in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI7in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI7in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI7in_WBCLKIin, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => WBCLKIin_ipd, + TestSignalName => "WBCLKIin", + Period => tperiod_WBCLKIin, + PulseWidthHigh => tpw_WBCLKIin_posedge, + PulseWidthLow => tpw_WBCLKIin_negedge, + PeriodData => periodcheckinfo_WBCLKIin, + Violation => tviol_WBCLKIin_WBCLKIin, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + WBCLKIout <= WBCLKIout_out; + WBRSTIout <= WBRSTIout_out; + WBCYCIout <= WBCYCIout_out; + WBSTBIout <= WBSTBIout_out; + WBWEIout <= WBWEIout_out; + WBADRI7out <= WBADRI7out_out; + WBADRI6out <= WBADRI6out_out; + WBADRI5out <= WBADRI5out_out; + WBADRI4out <= WBADRI4out_out; + WBADRI3out <= WBADRI3out_out; + WBADRI2out <= WBADRI2out_out; + WBADRI1out <= WBADRI1out_out; + WBADRI0out <= WBADRI0out_out; + WBDATI7out <= WBDATI7out_out; + WBDATI6out <= WBDATI6out_out; + WBDATI5out <= WBDATI5out_out; + WBDATI4out <= WBDATI4out_out; + WBDATI3out <= WBDATI3out_out; + WBDATI2out <= WBDATI2out_out; + WBDATI1out <= WBDATI1out_out; + WBDATI0out <= WBDATI0out_out; + PLL0DATI7out <= PLL0DATI7out_out; + PLL0DATI6out <= PLL0DATI6out_out; + PLL0DATI5out <= PLL0DATI5out_out; + PLL0DATI4out <= PLL0DATI4out_out; + PLL0DATI3out <= PLL0DATI3out_out; + PLL0DATI2out <= PLL0DATI2out_out; + PLL0DATI1out <= PLL0DATI1out_out; + PLL0DATI0out <= PLL0DATI0out_out; + PLL0ACKIout <= PLL0ACKIout_out; + PLL1DATI7out <= PLL1DATI7out_out; + PLL1DATI6out <= PLL1DATI6out_out; + PLL1DATI5out <= PLL1DATI5out_out; + PLL1DATI4out <= PLL1DATI4out_out; + PLL1DATI3out <= PLL1DATI3out_out; + PLL1DATI2out <= PLL1DATI2out_out; + PLL1DATI1out <= PLL1DATI1out_out; + PLL1DATI0out <= PLL1DATI0out_out; + PLL1ACKIout <= PLL1ACKIout_out; + I2C1SCLIout <= I2C1SCLIout_out; + I2C1SDAIout <= I2C1SDAIout_out; + I2C2SCLIout <= I2C2SCLIout_out; + I2C2SDAIout <= I2C2SDAIout_out; + SPISCKIout <= SPISCKIout_out; + SPIMISOIout <= SPIMISOIout_out; + SPIMOSIIout <= SPIMOSIIout_out; + SPISCSNout <= SPISCSNout_out; + TCCLKIout <= TCCLKIout_out; + TCRSTNout <= TCRSTNout_out; + TCICout <= TCICout_out; + UFMSNout <= UFMSNout_out; + WBDATO7out <= WBDATO7out_out; + WBDATO6out <= WBDATO6out_out; + WBDATO5out <= WBDATO5out_out; + WBDATO4out <= WBDATO4out_out; + WBDATO3out <= WBDATO3out_out; + WBDATO2out <= WBDATO2out_out; + WBDATO1out_zd := WBDATO1out_out; + WBDATO0out_zd := WBDATO0out_out; + WBACKOout_zd := WBACKOout_out; + PLLCLKOout <= PLLCLKOout_out; + PLLRSTOout <= PLLRSTOout_out; + PLL0STBOout <= PLL0STBOout_out; + PLL1STBOout <= PLL1STBOout_out; + PLLWEOout <= PLLWEOout_out; + PLLADRO4out <= PLLADRO4out_out; + PLLADRO3out <= PLLADRO3out_out; + PLLADRO2out <= PLLADRO2out_out; + PLLADRO1out <= PLLADRO1out_out; + PLLADRO0out <= PLLADRO0out_out; + PLLDATO7out <= PLLDATO7out_out; + PLLDATO6out <= PLLDATO6out_out; + PLLDATO5out <= PLLDATO5out_out; + PLLDATO4out <= PLLDATO4out_out; + PLLDATO3out <= PLLDATO3out_out; + PLLDATO2out <= PLLDATO2out_out; + PLLDATO1out <= PLLDATO1out_out; + PLLDATO0out <= PLLDATO0out_out; + I2C1SCLOout <= I2C1SCLOout_out; + I2C1SCLOENout <= I2C1SCLOENout_out; + I2C1SDAOout <= I2C1SDAOout_out; + I2C1SDAOENout <= I2C1SDAOENout_out; + I2C2SCLOout <= I2C2SCLOout_out; + I2C2SCLOENout <= I2C2SCLOENout_out; + I2C2SDAOout <= I2C2SDAOout_out; + I2C2SDAOENout <= I2C2SDAOENout_out; + I2C1IRQOout <= I2C1IRQOout_out; + I2C2IRQOout <= I2C2IRQOout_out; + SPISCKOout <= SPISCKOout_out; + SPISCKENout <= SPISCKENout_out; + SPIMISOOout <= SPIMISOOout_out; + SPIMISOENout <= SPIMISOENout_out; + SPIMOSIOout <= SPIMOSIOout_out; + SPIMOSIENout <= SPIMOSIENout_out; + SPIMCSN0out <= SPIMCSN0out_out; + SPIMCSN1out <= SPIMCSN1out_out; + SPIMCSN2out <= SPIMCSN2out_out; + SPIMCSN3out <= SPIMCSN3out_out; + SPIMCSN4out <= SPIMCSN4out_out; + SPIMCSN5out <= SPIMCSN5out_out; + SPIMCSN6out <= SPIMCSN6out_out; + SPIMCSN7out <= SPIMCSN7out_out; + SPICSNENout <= SPICSNENout_out; + SPIIRQOout <= SPIIRQOout_out; + TCINTout <= TCINTout_out; + TCOCout <= TCOCout_out; + WBCUFMIRQout <= WBCUFMIRQout_out; + CFGWAKEout <= CFGWAKEout_out; + CFGSTDBYout <= CFGSTDBYout_out; + + VitalPathDelay01 ( + + OutSignal => WBDATO0out, OutSignalName => "WBDATO0out", OutTemp => WBDATO0out_zd, + Paths => (0 => (InputChangeTime => WBCLKIin_dly'last_event, + PathDelay => tpd_WBCLKIin_WBDATO0out, + PathCondition => TRUE)), + GlitchData => WBDATO0out_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + + OutSignal => WBDATO1out, OutSignalName => "WBDATO1out", OutTemp => WBDATO1out_zd, + Paths => (0 => (InputChangeTime => WBCLKIin_dly'last_event, + PathDelay => tpd_WBCLKIin_WBDATO1out, + PathCondition => TRUE)), + GlitchData => WBDATO1out_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => WBACKOout, OutSignalName => "WBACKOout", OutTemp => WBACKOout_zd, + Paths => (0 => (InputChangeTime => WBCLKIin_dly'last_event, + PathDelay => tpd_WBCLKIin_WBACKOout, + PathCondition => TRUE)), + GlitchData => WBACKOout_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity EFBB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity EFBB is + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; WBADRI3: in Std_logic; + WBADRI4: in Std_logic; WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; WBDATI1: in Std_logic; + WBDATI2: in Std_logic; WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; WBDATI7: in Std_logic; + WBDATO0: out Std_logic; WBDATO1: out Std_logic; + WBDATO2: out Std_logic; WBDATO3: out Std_logic; + WBDATO4: out Std_logic; WBDATO5: out Std_logic; + WBDATO6: out Std_logic; WBDATO7: out Std_logic; + WBACKO: out Std_logic; WBCUFMIRQ: out Std_logic; UFMSN: in Std_logic; + CFGWAKE: out Std_logic; CFGSTDBY: out Std_logic; + I2C1SCLI: in Std_logic; I2C1SCLO: out Std_logic; + I2C1SCLOEN: out Std_logic; I2C1SDAI: in Std_logic; + I2C1SDAO: out Std_logic; I2C1SDAOEN: out Std_logic; + I2C2SCLI: in Std_logic; I2C2SCLO: out Std_logic; + I2C2SCLOEN: out Std_logic; I2C2SDAI: in Std_logic; + I2C2SDAO: out Std_logic; I2C2SDAOEN: out Std_logic; + I2C1IRQO: out Std_logic; I2C2IRQO: out Std_logic; + SPISCKI: in Std_logic; SPISCKO: out Std_logic; + SPISCKEN: out Std_logic; SPIMISOI: in Std_logic; + SPIMISOO: out Std_logic; SPIMISOEN: out Std_logic; + SPIMOSII: in Std_logic; SPIMOSIO: out Std_logic; + SPIMOSIEN: out Std_logic; SPIMCSN0: out Std_logic; + SPIMCSN1: out Std_logic; SPIMCSN2: out Std_logic; + SPIMCSN3: out Std_logic; SPIMCSN4: out Std_logic; + SPIMCSN5: out Std_logic; SPIMCSN6: out Std_logic; + SPIMCSN7: out Std_logic; SPICSNEN: out Std_logic; + SPISCSN: in Std_logic; SPIIRQO: out Std_logic; TCCLKI: in Std_logic; + TCRSTN: in Std_logic; TCIC: in Std_logic; TCINT: out Std_logic; + TCOC: out Std_logic; PLLCLKO: out Std_logic; PLLRSTO: out Std_logic; + PLL0STBO: out Std_logic; PLL1STBO: out Std_logic; + PLLWEO: out Std_logic; PLLADRO0: out Std_logic; + PLLADRO1: out Std_logic; PLLADRO2: out Std_logic; + PLLADRO3: out Std_logic; PLLADRO4: out Std_logic; + PLLDATO0: out Std_logic; PLLDATO1: out Std_logic; + PLLDATO2: out Std_logic; PLLDATO3: out Std_logic; + PLLDATO4: out Std_logic; PLLDATO5: out Std_logic; + PLLDATO6: out Std_logic; PLLDATO7: out Std_logic; + PLL0DATI0: in Std_logic; PLL0DATI1: in Std_logic; + PLL0DATI2: in Std_logic; PLL0DATI3: in Std_logic; + PLL0DATI4: in Std_logic; PLL0DATI5: in Std_logic; + PLL0DATI6: in Std_logic; PLL0DATI7: in Std_logic; + PLL0ACKI: in Std_logic; PLL1DATI0: in Std_logic; + PLL1DATI1: in Std_logic; PLL1DATI2: in Std_logic; + PLL1DATI3: in Std_logic; PLL1DATI4: in Std_logic; + PLL1DATI5: in Std_logic; PLL1DATI6: in Std_logic; + PLL1DATI7: in Std_logic; PLL1ACKI: in Std_logic); + + + + end EFBB; + + architecture Structure of EFBB is + signal WBCLKI_buf: Std_logic; + signal WBRSTI_buf: Std_logic; + signal WBCYCI_buf: Std_logic; + signal WBSTBI_buf: Std_logic; + signal WBWEI_buf: Std_logic; + signal WBADRI7_buf: Std_logic; + signal WBADRI6_buf: Std_logic; + signal WBADRI5_buf: Std_logic; + signal WBADRI4_buf: Std_logic; + signal WBADRI3_buf: Std_logic; + signal WBADRI2_buf: Std_logic; + signal WBADRI1_buf: Std_logic; + signal WBADRI0_buf: Std_logic; + signal WBDATI7_buf: Std_logic; + signal WBDATI6_buf: Std_logic; + signal WBDATI5_buf: Std_logic; + signal WBDATI4_buf: Std_logic; + signal WBDATI3_buf: Std_logic; + signal WBDATI2_buf: Std_logic; + signal WBDATI1_buf: Std_logic; + signal WBDATI0_buf: Std_logic; + signal PLL0DATI7_buf: Std_logic; + signal PLL0DATI6_buf: Std_logic; + signal PLL0DATI5_buf: Std_logic; + signal PLL0DATI4_buf: Std_logic; + signal PLL0DATI3_buf: Std_logic; + signal PLL0DATI2_buf: Std_logic; + signal PLL0DATI1_buf: Std_logic; + signal PLL0DATI0_buf: Std_logic; + signal PLL0ACKI_buf: Std_logic; + signal PLL1DATI7_buf: Std_logic; + signal PLL1DATI6_buf: Std_logic; + signal PLL1DATI5_buf: Std_logic; + signal PLL1DATI4_buf: Std_logic; + signal PLL1DATI3_buf: Std_logic; + signal PLL1DATI2_buf: Std_logic; + signal PLL1DATI1_buf: Std_logic; + signal PLL1DATI0_buf: Std_logic; + signal PLL1ACKI_buf: Std_logic; + signal I2C1SCLI_buf: Std_logic; + signal I2C1SDAI_buf: Std_logic; + signal I2C2SCLI_buf: Std_logic; + signal I2C2SDAI_buf: Std_logic; + signal SPISCKI_buf: Std_logic; + signal SPIMISOI_buf: Std_logic; + signal SPIMOSII_buf: Std_logic; + signal SPISCSN_buf: Std_logic; + signal TCCLKI_buf: Std_logic; + signal TCRSTN_buf: Std_logic; + signal TCIC_buf: Std_logic; + signal UFMSN_buf: Std_logic; + signal WBDATO7_buf: Std_logic; + signal WBDATO6_buf: Std_logic; + signal WBDATO5_buf: Std_logic; + signal WBDATO4_buf: Std_logic; + signal WBDATO3_buf: Std_logic; + signal WBDATO2_buf: Std_logic; + signal WBDATO1_buf: Std_logic; + signal WBDATO0_buf: Std_logic; + signal WBACKO_buf: Std_logic; + signal PLLCLKO_buf: Std_logic; + signal PLLRSTO_buf: Std_logic; + signal PLL0STBO_buf: Std_logic; + signal PLL1STBO_buf: Std_logic; + signal PLLWEO_buf: Std_logic; + signal PLLADRO4_buf: Std_logic; + signal PLLADRO3_buf: Std_logic; + signal PLLADRO2_buf: Std_logic; + signal PLLADRO1_buf: Std_logic; + signal PLLADRO0_buf: Std_logic; + signal PLLDATO7_buf: Std_logic; + signal PLLDATO6_buf: Std_logic; + signal PLLDATO5_buf: Std_logic; + signal PLLDATO4_buf: Std_logic; + signal PLLDATO3_buf: Std_logic; + signal PLLDATO2_buf: Std_logic; + signal PLLDATO1_buf: Std_logic; + signal PLLDATO0_buf: Std_logic; + signal I2C1SCLO_buf: Std_logic; + signal I2C1SCLOEN_buf: Std_logic; + signal I2C1SDAO_buf: Std_logic; + signal I2C1SDAOEN_buf: Std_logic; + signal I2C2SCLO_buf: Std_logic; + signal I2C2SCLOEN_buf: Std_logic; + signal I2C2SDAO_buf: Std_logic; + signal I2C2SDAOEN_buf: Std_logic; + signal I2C1IRQO_buf: Std_logic; + signal I2C2IRQO_buf: Std_logic; + signal SPISCKO_buf: Std_logic; + signal SPISCKEN_buf: Std_logic; + signal SPIMISOO_buf: Std_logic; + signal SPIMISOEN_buf: Std_logic; + signal SPIMOSIO_buf: Std_logic; + signal SPIMOSIEN_buf: Std_logic; + signal SPIMCSN0_buf: Std_logic; + signal SPIMCSN1_buf: Std_logic; + signal SPIMCSN2_buf: Std_logic; + signal SPIMCSN3_buf: Std_logic; + signal SPIMCSN4_buf: Std_logic; + signal SPIMCSN5_buf: Std_logic; + signal SPIMCSN6_buf: Std_logic; + signal SPIMCSN7_buf: Std_logic; + signal SPICSNEN_buf: Std_logic; + signal SPIIRQO_buf: Std_logic; + signal TCINT_buf: Std_logic; + signal TCOC_buf: Std_logic; + signal WBCUFMIRQ_buf: Std_logic; + signal CFGWAKE_buf: Std_logic; + signal CFGSTDBY_buf: Std_logic; + component EFB_Buffer_Block + port (WBCLKIin: in Std_logic; WBCLKIout: out Std_logic; + WBRSTIin: in Std_logic; WBRSTIout: out Std_logic; + WBCYCIin: in Std_logic; WBCYCIout: out Std_logic; + WBSTBIin: in Std_logic; WBSTBIout: out Std_logic; + WBWEIin: in Std_logic; WBWEIout: out Std_logic; + WBADRI7in: in Std_logic; WBADRI7out: out Std_logic; + WBADRI6in: in Std_logic; WBADRI6out: out Std_logic; + WBADRI5in: in Std_logic; WBADRI5out: out Std_logic; + WBADRI4in: in Std_logic; WBADRI4out: out Std_logic; + WBADRI3in: in Std_logic; WBADRI3out: out Std_logic; + WBADRI2in: in Std_logic; WBADRI2out: out Std_logic; + WBADRI1in: in Std_logic; WBADRI1out: out Std_logic; + WBADRI0in: in Std_logic; WBADRI0out: out Std_logic; + WBDATI7in: in Std_logic; WBDATI7out: out Std_logic; + WBDATI6in: in Std_logic; WBDATI6out: out Std_logic; + WBDATI5in: in Std_logic; WBDATI5out: out Std_logic; + WBDATI4in: in Std_logic; WBDATI4out: out Std_logic; + WBDATI3in: in Std_logic; WBDATI3out: out Std_logic; + WBDATI2in: in Std_logic; WBDATI2out: out Std_logic; + WBDATI1in: in Std_logic; WBDATI1out: out Std_logic; + WBDATI0in: in Std_logic; WBDATI0out: out Std_logic; + PLL0DATI7in: in Std_logic; PLL0DATI7out: out Std_logic; + PLL0DATI6in: in Std_logic; PLL0DATI6out: out Std_logic; + PLL0DATI5in: in Std_logic; PLL0DATI5out: out Std_logic; + PLL0DATI4in: in Std_logic; PLL0DATI4out: out Std_logic; + PLL0DATI3in: in Std_logic; PLL0DATI3out: out Std_logic; + PLL0DATI2in: in Std_logic; PLL0DATI2out: out Std_logic; + PLL0DATI1in: in Std_logic; PLL0DATI1out: out Std_logic; + PLL0DATI0in: in Std_logic; PLL0DATI0out: out Std_logic; + PLL0ACKIin: in Std_logic; PLL0ACKIout: out Std_logic; + PLL1DATI7in: in Std_logic; PLL1DATI7out: out Std_logic; + PLL1DATI6in: in Std_logic; PLL1DATI6out: out Std_logic; + PLL1DATI5in: in Std_logic; PLL1DATI5out: out Std_logic; + PLL1DATI4in: in Std_logic; PLL1DATI4out: out Std_logic; + PLL1DATI3in: in Std_logic; PLL1DATI3out: out Std_logic; + PLL1DATI2in: in Std_logic; PLL1DATI2out: out Std_logic; + PLL1DATI1in: in Std_logic; PLL1DATI1out: out Std_logic; + PLL1DATI0in: in Std_logic; PLL1DATI0out: out Std_logic; + PLL1ACKIin: in Std_logic; PLL1ACKIout: out Std_logic; + I2C1SCLIin: in Std_logic; I2C1SCLIout: out Std_logic; + I2C1SDAIin: in Std_logic; I2C1SDAIout: out Std_logic; + I2C2SCLIin: in Std_logic; I2C2SCLIout: out Std_logic; + I2C2SDAIin: in Std_logic; I2C2SDAIout: out Std_logic; + SPISCKIin: in Std_logic; SPISCKIout: out Std_logic; + SPIMISOIin: in Std_logic; SPIMISOIout: out Std_logic; + SPIMOSIIin: in Std_logic; SPIMOSIIout: out Std_logic; + SPISCSNin: in Std_logic; SPISCSNout: out Std_logic; + TCCLKIin: in Std_logic; TCCLKIout: out Std_logic; + TCRSTNin: in Std_logic; TCRSTNout: out Std_logic; + TCICin: in Std_logic; TCICout: out Std_logic; + UFMSNin: in Std_logic; UFMSNout: out Std_logic; + WBDATO7out: out Std_logic; WBDATO7in: in Std_logic; + WBDATO6out: out Std_logic; WBDATO6in: in Std_logic; + WBDATO5out: out Std_logic; WBDATO5in: in Std_logic; + WBDATO4out: out Std_logic; WBDATO4in: in Std_logic; + WBDATO3out: out Std_logic; WBDATO3in: in Std_logic; + WBDATO2out: out Std_logic; WBDATO2in: in Std_logic; + WBDATO1out: out Std_logic; WBDATO1in: in Std_logic; + WBDATO0out: out Std_logic; WBDATO0in: in Std_logic; + WBACKOout: out Std_logic; WBACKOin: in Std_logic; + PLLCLKOout: out Std_logic; PLLCLKOin: in Std_logic; + PLLRSTOout: out Std_logic; PLLRSTOin: in Std_logic; + PLL0STBOout: out Std_logic; PLL0STBOin: in Std_logic; + PLL1STBOout: out Std_logic; PLL1STBOin: in Std_logic; + PLLWEOout: out Std_logic; PLLWEOin: in Std_logic; + PLLADRO4out: out Std_logic; PLLADRO4in: in Std_logic; + PLLADRO3out: out Std_logic; PLLADRO3in: in Std_logic; + PLLADRO2out: out Std_logic; PLLADRO2in: in Std_logic; + PLLADRO1out: out Std_logic; PLLADRO1in: in Std_logic; + PLLADRO0out: out Std_logic; PLLADRO0in: in Std_logic; + PLLDATO7out: out Std_logic; PLLDATO7in: in Std_logic; + PLLDATO6out: out Std_logic; PLLDATO6in: in Std_logic; + PLLDATO5out: out Std_logic; PLLDATO5in: in Std_logic; + PLLDATO4out: out Std_logic; PLLDATO4in: in Std_logic; + PLLDATO3out: out Std_logic; PLLDATO3in: in Std_logic; + PLLDATO2out: out Std_logic; PLLDATO2in: in Std_logic; + PLLDATO1out: out Std_logic; PLLDATO1in: in Std_logic; + PLLDATO0out: out Std_logic; PLLDATO0in: in Std_logic; + I2C1SCLOout: out Std_logic; I2C1SCLOin: in Std_logic; + I2C1SCLOENout: out Std_logic; I2C1SCLOENin: in Std_logic; + I2C1SDAOout: out Std_logic; I2C1SDAOin: in Std_logic; + I2C1SDAOENout: out Std_logic; I2C1SDAOENin: in Std_logic; + I2C2SCLOout: out Std_logic; I2C2SCLOin: in Std_logic; + I2C2SCLOENout: out Std_logic; I2C2SCLOENin: in Std_logic; + I2C2SDAOout: out Std_logic; I2C2SDAOin: in Std_logic; + I2C2SDAOENout: out Std_logic; I2C2SDAOENin: in Std_logic; + I2C1IRQOout: out Std_logic; I2C1IRQOin: in Std_logic; + I2C2IRQOout: out Std_logic; I2C2IRQOin: in Std_logic; + SPISCKOout: out Std_logic; SPISCKOin: in Std_logic; + SPISCKENout: out Std_logic; SPISCKENin: in Std_logic; + SPIMISOOout: out Std_logic; SPIMISOOin: in Std_logic; + SPIMISOENout: out Std_logic; SPIMISOENin: in Std_logic; + SPIMOSIOout: out Std_logic; SPIMOSIOin: in Std_logic; + SPIMOSIENout: out Std_logic; SPIMOSIENin: in Std_logic; + SPIMCSN0out: out Std_logic; SPIMCSN0in: in Std_logic; + SPIMCSN1out: out Std_logic; SPIMCSN1in: in Std_logic; + SPIMCSN2out: out Std_logic; SPIMCSN2in: in Std_logic; + SPIMCSN3out: out Std_logic; SPIMCSN3in: in Std_logic; + SPIMCSN4out: out Std_logic; SPIMCSN4in: in Std_logic; + SPIMCSN5out: out Std_logic; SPIMCSN5in: in Std_logic; + SPIMCSN6out: out Std_logic; SPIMCSN6in: in Std_logic; + SPIMCSN7out: out Std_logic; SPIMCSN7in: in Std_logic; + SPICSNENout: out Std_logic; SPICSNENin: in Std_logic; + SPIIRQOout: out Std_logic; SPIIRQOin: in Std_logic; + TCINTout: out Std_logic; TCINTin: in Std_logic; + TCOCout: out Std_logic; TCOCin: in Std_logic; + WBCUFMIRQout: out Std_logic; WBCUFMIRQin: in Std_logic; + CFGWAKEout: out Std_logic; CFGWAKEin: in Std_logic; + CFGSTDBYout: out Std_logic; CFGSTDBYin: in Std_logic); + end component; + begin + INST10: EFB + generic map (DEV_DENSITY => "640L", EFB_I2C1 => "DISABLED", + EFB_I2C2 => "DISABLED", EFB_SPI => "DISABLED", + EFB_TC => "DISABLED", EFB_TC_PORTMODE => "WB", + EFB_UFM => "ENABLED", EFB_WB_CLK_FREQ => "66.7", + GSR => "ENABLED", I2C1_ADDRESSING => "7BIT", + I2C1_BUS_PERF => "100kHz", I2C1_CLK_DIVIDER => 1, + I2C1_GEN_CALL => "DISABLED", I2C1_SLAVE_ADDR => "0b1000001", + I2C1_WAKEUP => "DISABLED", I2C2_ADDRESSING => "7BIT", + I2C2_BUS_PERF => "100kHz", I2C2_CLK_DIVIDER => 1, + I2C2_GEN_CALL => "DISABLED", I2C2_SLAVE_ADDR => "0b1000010", + I2C2_WAKEUP => "DISABLED", SPI_CLK_DIVIDER => 1, + SPI_CLK_INV => "DISABLED", SPI_INTR_RXOVR => "DISABLED", + SPI_INTR_RXRDY => "DISABLED", SPI_INTR_TXOVR => "DISABLED", + SPI_INTR_TXRDY => "DISABLED", SPI_LSB_FIRST => "DISABLED", + SPI_MODE => "MASTER", SPI_PHASE_ADJ => "DISABLED", + SPI_SLAVE_HANDSHAKE => "DISABLED", SPI_WAKEUP => "DISABLED", + TC_CCLK_SEL => 1, TC_ICAPTURE => "DISABLED", + TC_ICR_INT => "OFF", TC_MODE => "CTCM", TC_OCR_INT => "OFF", + TC_OCR_SET => 32767, TC_OC_MODE => "TOGGLE", + TC_OVERFLOW => "DISABLED", TC_OV_INT => "OFF", + TC_RESETN => "ENABLED", TC_SCLK_SEL => "PCLOCK", + TC_TOP_SEL => "OFF", TC_TOP_SET => 65535, + UFM_INIT_ALL_ZEROS => "DISABLED", + UFM_INIT_FILE_FORMAT => "HEX", + UFM_INIT_FILE_NAME => "../RAM2GS-LCMXO2.mem", + UFM_INIT_PAGES => 1, UFM_INIT_START_PAGE => 190) + port map (WBCLKI=>WBCLKI_buf, WBRSTI=>WBRSTI_buf, WBCYCI=>WBCYCI_buf, + WBSTBI=>WBSTBI_buf, WBWEI=>WBWEI_buf, WBADRI7=>WBADRI7_buf, + WBADRI6=>WBADRI6_buf, WBADRI5=>WBADRI5_buf, + WBADRI4=>WBADRI4_buf, WBADRI3=>WBADRI3_buf, + WBADRI2=>WBADRI2_buf, WBADRI1=>WBADRI1_buf, + WBADRI0=>WBADRI0_buf, WBDATI7=>WBDATI7_buf, + WBDATI6=>WBDATI6_buf, WBDATI5=>WBDATI5_buf, + WBDATI4=>WBDATI4_buf, WBDATI3=>WBDATI3_buf, + WBDATI2=>WBDATI2_buf, WBDATI1=>WBDATI1_buf, + WBDATI0=>WBDATI0_buf, PLL0DATI7=>PLL0DATI7_buf, + PLL0DATI6=>PLL0DATI6_buf, PLL0DATI5=>PLL0DATI5_buf, + PLL0DATI4=>PLL0DATI4_buf, PLL0DATI3=>PLL0DATI3_buf, + PLL0DATI2=>PLL0DATI2_buf, PLL0DATI1=>PLL0DATI1_buf, + PLL0DATI0=>PLL0DATI0_buf, PLL0ACKI=>PLL0ACKI_buf, + PLL1DATI7=>PLL1DATI7_buf, PLL1DATI6=>PLL1DATI6_buf, + PLL1DATI5=>PLL1DATI5_buf, PLL1DATI4=>PLL1DATI4_buf, + PLL1DATI3=>PLL1DATI3_buf, PLL1DATI2=>PLL1DATI2_buf, + PLL1DATI1=>PLL1DATI1_buf, PLL1DATI0=>PLL1DATI0_buf, + PLL1ACKI=>PLL1ACKI_buf, I2C1SCLI=>I2C1SCLI_buf, + I2C1SDAI=>I2C1SDAI_buf, I2C2SCLI=>I2C2SCLI_buf, + I2C2SDAI=>I2C2SDAI_buf, SPISCKI=>SPISCKI_buf, + SPIMISOI=>SPIMISOI_buf, SPIMOSII=>SPIMOSII_buf, + SPISCSN=>SPISCSN_buf, TCCLKI=>TCCLKI_buf, TCRSTN=>TCRSTN_buf, + TCIC=>TCIC_buf, UFMSN=>UFMSN_buf, WBDATO7=>WBDATO7_buf, + WBDATO6=>WBDATO6_buf, WBDATO5=>WBDATO5_buf, + WBDATO4=>WBDATO4_buf, WBDATO3=>WBDATO3_buf, + WBDATO2=>WBDATO2_buf, WBDATO1=>WBDATO1_buf, + WBDATO0=>WBDATO0_buf, WBACKO=>WBACKO_buf, PLLCLKO=>PLLCLKO_buf, + PLLRSTO=>PLLRSTO_buf, PLL0STBO=>PLL0STBO_buf, + PLL1STBO=>PLL1STBO_buf, PLLWEO=>PLLWEO_buf, + PLLADRO4=>PLLADRO4_buf, PLLADRO3=>PLLADRO3_buf, + PLLADRO2=>PLLADRO2_buf, PLLADRO1=>PLLADRO1_buf, + PLLADRO0=>PLLADRO0_buf, PLLDATO7=>PLLDATO7_buf, + PLLDATO6=>PLLDATO6_buf, PLLDATO5=>PLLDATO5_buf, + PLLDATO4=>PLLDATO4_buf, PLLDATO3=>PLLDATO3_buf, + PLLDATO2=>PLLDATO2_buf, PLLDATO1=>PLLDATO1_buf, + PLLDATO0=>PLLDATO0_buf, I2C1SCLO=>I2C1SCLO_buf, + I2C1SCLOEN=>I2C1SCLOEN_buf, I2C1SDAO=>I2C1SDAO_buf, + I2C1SDAOEN=>I2C1SDAOEN_buf, I2C2SCLO=>I2C2SCLO_buf, + I2C2SCLOEN=>I2C2SCLOEN_buf, I2C2SDAO=>I2C2SDAO_buf, + I2C2SDAOEN=>I2C2SDAOEN_buf, I2C1IRQO=>I2C1IRQO_buf, + I2C2IRQO=>I2C2IRQO_buf, SPISCKO=>SPISCKO_buf, + SPISCKEN=>SPISCKEN_buf, SPIMISOO=>SPIMISOO_buf, + SPIMISOEN=>SPIMISOEN_buf, SPIMOSIO=>SPIMOSIO_buf, + SPIMOSIEN=>SPIMOSIEN_buf, SPIMCSN0=>SPIMCSN0_buf, + SPIMCSN1=>SPIMCSN1_buf, SPIMCSN2=>SPIMCSN2_buf, + SPIMCSN3=>SPIMCSN3_buf, SPIMCSN4=>SPIMCSN4_buf, + SPIMCSN5=>SPIMCSN5_buf, SPIMCSN6=>SPIMCSN6_buf, + SPIMCSN7=>SPIMCSN7_buf, SPICSNEN=>SPICSNEN_buf, + SPIIRQO=>SPIIRQO_buf, TCINT=>TCINT_buf, TCOC=>TCOC_buf, + WBCUFMIRQ=>WBCUFMIRQ_buf, CFGWAKE=>CFGWAKE_buf, + CFGSTDBY=>CFGSTDBY_buf); + INST20: EFB_Buffer_Block + port map (WBCLKIin=>WBCLKI, WBCLKIout=>WBCLKI_buf, WBRSTIin=>WBRSTI, + WBRSTIout=>WBRSTI_buf, WBCYCIin=>WBCYCI, WBCYCIout=>WBCYCI_buf, + WBSTBIin=>WBSTBI, WBSTBIout=>WBSTBI_buf, WBWEIin=>WBWEI, + WBWEIout=>WBWEI_buf, WBADRI7in=>WBADRI7, + WBADRI7out=>WBADRI7_buf, WBADRI6in=>WBADRI6, + WBADRI6out=>WBADRI6_buf, WBADRI5in=>WBADRI5, + WBADRI5out=>WBADRI5_buf, WBADRI4in=>WBADRI4, + WBADRI4out=>WBADRI4_buf, WBADRI3in=>WBADRI3, + WBADRI3out=>WBADRI3_buf, WBADRI2in=>WBADRI2, + WBADRI2out=>WBADRI2_buf, WBADRI1in=>WBADRI1, + WBADRI1out=>WBADRI1_buf, WBADRI0in=>WBADRI0, + WBADRI0out=>WBADRI0_buf, WBDATI7in=>WBDATI7, + WBDATI7out=>WBDATI7_buf, WBDATI6in=>WBDATI6, + WBDATI6out=>WBDATI6_buf, WBDATI5in=>WBDATI5, + WBDATI5out=>WBDATI5_buf, WBDATI4in=>WBDATI4, + WBDATI4out=>WBDATI4_buf, WBDATI3in=>WBDATI3, + WBDATI3out=>WBDATI3_buf, WBDATI2in=>WBDATI2, + WBDATI2out=>WBDATI2_buf, WBDATI1in=>WBDATI1, + WBDATI1out=>WBDATI1_buf, WBDATI0in=>WBDATI0, + WBDATI0out=>WBDATI0_buf, PLL0DATI7in=>PLL0DATI7, + PLL0DATI7out=>PLL0DATI7_buf, PLL0DATI6in=>PLL0DATI6, + PLL0DATI6out=>PLL0DATI6_buf, PLL0DATI5in=>PLL0DATI5, + PLL0DATI5out=>PLL0DATI5_buf, PLL0DATI4in=>PLL0DATI4, + PLL0DATI4out=>PLL0DATI4_buf, PLL0DATI3in=>PLL0DATI3, + PLL0DATI3out=>PLL0DATI3_buf, PLL0DATI2in=>PLL0DATI2, + PLL0DATI2out=>PLL0DATI2_buf, PLL0DATI1in=>PLL0DATI1, + PLL0DATI1out=>PLL0DATI1_buf, PLL0DATI0in=>PLL0DATI0, + PLL0DATI0out=>PLL0DATI0_buf, PLL0ACKIin=>PLL0ACKI, + PLL0ACKIout=>PLL0ACKI_buf, PLL1DATI7in=>PLL1DATI7, + PLL1DATI7out=>PLL1DATI7_buf, PLL1DATI6in=>PLL1DATI6, + PLL1DATI6out=>PLL1DATI6_buf, PLL1DATI5in=>PLL1DATI5, + PLL1DATI5out=>PLL1DATI5_buf, PLL1DATI4in=>PLL1DATI4, + PLL1DATI4out=>PLL1DATI4_buf, PLL1DATI3in=>PLL1DATI3, + PLL1DATI3out=>PLL1DATI3_buf, PLL1DATI2in=>PLL1DATI2, + PLL1DATI2out=>PLL1DATI2_buf, PLL1DATI1in=>PLL1DATI1, + PLL1DATI1out=>PLL1DATI1_buf, PLL1DATI0in=>PLL1DATI0, + PLL1DATI0out=>PLL1DATI0_buf, PLL1ACKIin=>PLL1ACKI, + PLL1ACKIout=>PLL1ACKI_buf, I2C1SCLIin=>I2C1SCLI, + I2C1SCLIout=>I2C1SCLI_buf, I2C1SDAIin=>I2C1SDAI, + I2C1SDAIout=>I2C1SDAI_buf, I2C2SCLIin=>I2C2SCLI, + I2C2SCLIout=>I2C2SCLI_buf, I2C2SDAIin=>I2C2SDAI, + I2C2SDAIout=>I2C2SDAI_buf, SPISCKIin=>SPISCKI, + SPISCKIout=>SPISCKI_buf, SPIMISOIin=>SPIMISOI, + SPIMISOIout=>SPIMISOI_buf, SPIMOSIIin=>SPIMOSII, + SPIMOSIIout=>SPIMOSII_buf, SPISCSNin=>SPISCSN, + SPISCSNout=>SPISCSN_buf, TCCLKIin=>TCCLKI, + TCCLKIout=>TCCLKI_buf, TCRSTNin=>TCRSTN, TCRSTNout=>TCRSTN_buf, + TCICin=>TCIC, TCICout=>TCIC_buf, UFMSNin=>UFMSN, + UFMSNout=>UFMSN_buf, WBDATO7out=>WBDATO7, + WBDATO7in=>WBDATO7_buf, WBDATO6out=>WBDATO6, + WBDATO6in=>WBDATO6_buf, WBDATO5out=>WBDATO5, + WBDATO5in=>WBDATO5_buf, WBDATO4out=>WBDATO4, + WBDATO4in=>WBDATO4_buf, WBDATO3out=>WBDATO3, + WBDATO3in=>WBDATO3_buf, WBDATO2out=>WBDATO2, + WBDATO2in=>WBDATO2_buf, WBDATO1out=>WBDATO1, + WBDATO1in=>WBDATO1_buf, WBDATO0out=>WBDATO0, + WBDATO0in=>WBDATO0_buf, WBACKOout=>WBACKO, + WBACKOin=>WBACKO_buf, PLLCLKOout=>PLLCLKO, + PLLCLKOin=>PLLCLKO_buf, PLLRSTOout=>PLLRSTO, + PLLRSTOin=>PLLRSTO_buf, PLL0STBOout=>PLL0STBO, + PLL0STBOin=>PLL0STBO_buf, PLL1STBOout=>PLL1STBO, + PLL1STBOin=>PLL1STBO_buf, PLLWEOout=>PLLWEO, + PLLWEOin=>PLLWEO_buf, PLLADRO4out=>PLLADRO4, + PLLADRO4in=>PLLADRO4_buf, PLLADRO3out=>PLLADRO3, + PLLADRO3in=>PLLADRO3_buf, PLLADRO2out=>PLLADRO2, + PLLADRO2in=>PLLADRO2_buf, PLLADRO1out=>PLLADRO1, + PLLADRO1in=>PLLADRO1_buf, PLLADRO0out=>PLLADRO0, + PLLADRO0in=>PLLADRO0_buf, PLLDATO7out=>PLLDATO7, + PLLDATO7in=>PLLDATO7_buf, PLLDATO6out=>PLLDATO6, + PLLDATO6in=>PLLDATO6_buf, PLLDATO5out=>PLLDATO5, + PLLDATO5in=>PLLDATO5_buf, PLLDATO4out=>PLLDATO4, + PLLDATO4in=>PLLDATO4_buf, PLLDATO3out=>PLLDATO3, + PLLDATO3in=>PLLDATO3_buf, PLLDATO2out=>PLLDATO2, + PLLDATO2in=>PLLDATO2_buf, PLLDATO1out=>PLLDATO1, + PLLDATO1in=>PLLDATO1_buf, PLLDATO0out=>PLLDATO0, + PLLDATO0in=>PLLDATO0_buf, I2C1SCLOout=>I2C1SCLO, + I2C1SCLOin=>I2C1SCLO_buf, I2C1SCLOENout=>I2C1SCLOEN, + I2C1SCLOENin=>I2C1SCLOEN_buf, I2C1SDAOout=>I2C1SDAO, + I2C1SDAOin=>I2C1SDAO_buf, I2C1SDAOENout=>I2C1SDAOEN, + I2C1SDAOENin=>I2C1SDAOEN_buf, I2C2SCLOout=>I2C2SCLO, + I2C2SCLOin=>I2C2SCLO_buf, I2C2SCLOENout=>I2C2SCLOEN, + I2C2SCLOENin=>I2C2SCLOEN_buf, I2C2SDAOout=>I2C2SDAO, + I2C2SDAOin=>I2C2SDAO_buf, I2C2SDAOENout=>I2C2SDAOEN, + I2C2SDAOENin=>I2C2SDAOEN_buf, I2C1IRQOout=>I2C1IRQO, + I2C1IRQOin=>I2C1IRQO_buf, I2C2IRQOout=>I2C2IRQO, + I2C2IRQOin=>I2C2IRQO_buf, SPISCKOout=>SPISCKO, + SPISCKOin=>SPISCKO_buf, SPISCKENout=>SPISCKEN, + SPISCKENin=>SPISCKEN_buf, SPIMISOOout=>SPIMISOO, + SPIMISOOin=>SPIMISOO_buf, SPIMISOENout=>SPIMISOEN, + SPIMISOENin=>SPIMISOEN_buf, SPIMOSIOout=>SPIMOSIO, + SPIMOSIOin=>SPIMOSIO_buf, SPIMOSIENout=>SPIMOSIEN, + SPIMOSIENin=>SPIMOSIEN_buf, SPIMCSN0out=>SPIMCSN0, + SPIMCSN0in=>SPIMCSN0_buf, SPIMCSN1out=>SPIMCSN1, + SPIMCSN1in=>SPIMCSN1_buf, SPIMCSN2out=>SPIMCSN2, + SPIMCSN2in=>SPIMCSN2_buf, SPIMCSN3out=>SPIMCSN3, + SPIMCSN3in=>SPIMCSN3_buf, SPIMCSN4out=>SPIMCSN4, + SPIMCSN4in=>SPIMCSN4_buf, SPIMCSN5out=>SPIMCSN5, + SPIMCSN5in=>SPIMCSN5_buf, SPIMCSN6out=>SPIMCSN6, + SPIMCSN6in=>SPIMCSN6_buf, SPIMCSN7out=>SPIMCSN7, + SPIMCSN7in=>SPIMCSN7_buf, SPICSNENout=>SPICSNEN, + SPICSNENin=>SPICSNEN_buf, SPIIRQOout=>SPIIRQO, + SPIIRQOin=>SPIIRQO_buf, TCINTout=>TCINT, TCINTin=>TCINT_buf, + TCOCout=>TCOC, TCOCin=>TCOC_buf, WBCUFMIRQout=>WBCUFMIRQ, + WBCUFMIRQin=>WBCUFMIRQ_buf, CFGWAKEout=>CFGWAKE, + CFGWAKEin=>CFGWAKE_buf, CFGSTDBYout=>CFGSTDBY, + CFGSTDBYin=>CFGSTDBY_buf); + end Structure; + +-- entity ufmefb_EFBInst_0 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ufmefb_EFBInst_0 is + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; WBADRI3: in Std_logic; + WBADRI4: in Std_logic; WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; WBDATI1: in Std_logic; + WBDATI2: in Std_logic; WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; WBDATI7: in Std_logic; + WBDATO0: out Std_logic; WBDATO1: out Std_logic; + WBACKO: out Std_logic); + + + + end ufmefb_EFBInst_0; + + architecture Structure of ufmefb_EFBInst_0 is + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component EFBB + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; + WBADRI3: in Std_logic; WBADRI4: in Std_logic; + WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; + WBDATI1: in Std_logic; WBDATI2: in Std_logic; + WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; + WBDATI7: in Std_logic; WBDATO0: out Std_logic; + WBDATO1: out Std_logic; WBDATO2: out Std_logic; + WBDATO3: out Std_logic; WBDATO4: out Std_logic; + WBDATO5: out Std_logic; WBDATO6: out Std_logic; + WBDATO7: out Std_logic; WBACKO: out Std_logic; + WBCUFMIRQ: out Std_logic; UFMSN: in Std_logic; + CFGWAKE: out Std_logic; CFGSTDBY: out Std_logic; + I2C1SCLI: in Std_logic; I2C1SCLO: out Std_logic; + I2C1SCLOEN: out Std_logic; I2C1SDAI: in Std_logic; + I2C1SDAO: out Std_logic; I2C1SDAOEN: out Std_logic; + I2C2SCLI: in Std_logic; I2C2SCLO: out Std_logic; + I2C2SCLOEN: out Std_logic; I2C2SDAI: in Std_logic; + I2C2SDAO: out Std_logic; I2C2SDAOEN: out Std_logic; + I2C1IRQO: out Std_logic; I2C2IRQO: out Std_logic; + SPISCKI: in Std_logic; SPISCKO: out Std_logic; + SPISCKEN: out Std_logic; SPIMISOI: in Std_logic; + SPIMISOO: out Std_logic; SPIMISOEN: out Std_logic; + SPIMOSII: in Std_logic; SPIMOSIO: out Std_logic; + SPIMOSIEN: out Std_logic; SPIMCSN0: out Std_logic; + SPIMCSN1: out Std_logic; SPIMCSN2: out Std_logic; + SPIMCSN3: out Std_logic; SPIMCSN4: out Std_logic; + SPIMCSN5: out Std_logic; SPIMCSN6: out Std_logic; + SPIMCSN7: out Std_logic; SPICSNEN: out Std_logic; + SPISCSN: in Std_logic; SPIIRQO: out Std_logic; + TCCLKI: in Std_logic; TCRSTN: in Std_logic; TCIC: in Std_logic; + TCINT: out Std_logic; TCOC: out Std_logic; PLLCLKO: out Std_logic; + PLLRSTO: out Std_logic; PLL0STBO: out Std_logic; + PLL1STBO: out Std_logic; PLLWEO: out Std_logic; + PLLADRO0: out Std_logic; PLLADRO1: out Std_logic; + PLLADRO2: out Std_logic; PLLADRO3: out Std_logic; + PLLADRO4: out Std_logic; PLLDATO0: out Std_logic; + PLLDATO1: out Std_logic; PLLDATO2: out Std_logic; + PLLDATO3: out Std_logic; PLLDATO4: out Std_logic; + PLLDATO5: out Std_logic; PLLDATO6: out Std_logic; + PLLDATO7: out Std_logic; PLL0DATI0: in Std_logic; + PLL0DATI1: in Std_logic; PLL0DATI2: in Std_logic; + PLL0DATI3: in Std_logic; PLL0DATI4: in Std_logic; + PLL0DATI5: in Std_logic; PLL0DATI6: in Std_logic; + PLL0DATI7: in Std_logic; PLL0ACKI: in Std_logic; + PLL1DATI0: in Std_logic; PLL1DATI1: in Std_logic; + PLL1DATI2: in Std_logic; PLL1DATI3: in Std_logic; + PLL1DATI4: in Std_logic; PLL1DATI5: in Std_logic; + PLL1DATI6: in Std_logic; PLL1DATI7: in Std_logic; + PLL1ACKI: in Std_logic); + end component; + begin + ufmefb_EFBInst_0_EFB: EFBB + port map (WBCLKI=>WBCLKI, WBRSTI=>WBRSTI, WBCYCI=>WBCYCI, WBSTBI=>WBSTBI, + WBWEI=>WBWEI, WBADRI0=>WBADRI0, WBADRI1=>WBADRI1, + WBADRI2=>WBADRI2, WBADRI3=>WBADRI3, WBADRI4=>WBADRI4, + WBADRI5=>WBADRI5, WBADRI6=>WBADRI6, WBADRI7=>WBADRI7, + WBDATI0=>WBDATI0, WBDATI1=>WBDATI1, WBDATI2=>WBDATI2, + WBDATI3=>WBDATI3, WBDATI4=>WBDATI4, WBDATI5=>WBDATI5, + WBDATI6=>WBDATI6, WBDATI7=>WBDATI7, WBDATO0=>WBDATO0, + WBDATO1=>WBDATO1, WBDATO2=>open, WBDATO3=>open, WBDATO4=>open, + WBDATO5=>open, WBDATO6=>open, WBDATO7=>open, WBACKO=>WBACKO, + WBCUFMIRQ=>open, UFMSN=>VCCI, CFGWAKE=>open, CFGSTDBY=>open, + I2C1SCLI=>GNDI, I2C1SCLO=>open, I2C1SCLOEN=>open, + I2C1SDAI=>GNDI, I2C1SDAO=>open, I2C1SDAOEN=>open, + I2C2SCLI=>GNDI, I2C2SCLO=>open, I2C2SCLOEN=>open, + I2C2SDAI=>GNDI, I2C2SDAO=>open, I2C2SDAOEN=>open, + I2C1IRQO=>open, I2C2IRQO=>open, SPISCKI=>GNDI, SPISCKO=>open, + SPISCKEN=>open, SPIMISOI=>GNDI, SPIMISOO=>open, + SPIMISOEN=>open, SPIMOSII=>GNDI, SPIMOSIO=>open, + SPIMOSIEN=>open, SPIMCSN0=>open, SPIMCSN1=>open, + SPIMCSN2=>open, SPIMCSN3=>open, SPIMCSN4=>open, SPIMCSN5=>open, + SPIMCSN6=>open, SPIMCSN7=>open, SPICSNEN=>open, SPISCSN=>GNDI, + SPIIRQO=>open, TCCLKI=>GNDI, TCRSTN=>GNDI, TCIC=>GNDI, + TCINT=>open, TCOC=>open, PLLCLKO=>open, PLLRSTO=>open, + PLL0STBO=>open, PLL1STBO=>open, PLLWEO=>open, PLLADRO0=>open, + PLLADRO1=>open, PLLADRO2=>open, PLLADRO3=>open, PLLADRO4=>open, + PLLDATO0=>open, PLLDATO1=>open, PLLDATO2=>open, PLLDATO3=>open, + PLLDATO4=>open, PLLDATO5=>open, PLLDATO6=>open, PLLDATO7=>open, + PLL0DATI0=>GNDI, PLL0DATI1=>GNDI, PLL0DATI2=>GNDI, + PLL0DATI3=>GNDI, PLL0DATI4=>GNDI, PLL0DATI5=>GNDI, + PLL0DATI6=>GNDI, PLL0DATI7=>GNDI, PLL0ACKI=>GNDI, + PLL1DATI0=>GNDI, PLL1DATI1=>GNDI, PLL1DATI2=>GNDI, + PLL1DATI3=>GNDI, PLL1DATI4=>GNDI, PLL1DATI5=>GNDI, + PLL1DATI6=>GNDI, PLL1DATI7=>GNDI, PLL1ACKI=>GNDI); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + end Structure; + +-- entity RAM2GS + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RAM2GS is + port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); + CROW: in Std_logic_vector (1 downto 0); + Din: in Std_logic_vector (7 downto 0); + Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; + nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; + RBA: out Std_logic_vector (1 downto 0); + RA: out Std_logic_vector (11 downto 0); + RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; + RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; + nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; + RDQML: out Std_logic); + + + + end RAM2GS; + + architecture Structure of RAM2GS is + signal FS_0: Std_logic; + signal FS_s_0: Std_logic; + signal RCLK_c: Std_logic; + signal FS_cry_0: Std_logic; + signal FS_17: Std_logic; + signal FS_s_17: Std_logic; + signal FS_cry_16: Std_logic; + signal FS_16: Std_logic; + signal FS_15: Std_logic; + signal FS_s_16: Std_logic; + signal FS_s_15: Std_logic; + signal FS_cry_14: Std_logic; + signal FS_14: Std_logic; + signal FS_13: Std_logic; + signal FS_s_14: Std_logic; + signal FS_s_13: Std_logic; + signal FS_cry_12: Std_logic; + signal FS_12: Std_logic; + signal FS_11: Std_logic; + signal FS_s_12: Std_logic; + signal FS_s_11: Std_logic; + signal FS_cry_10: Std_logic; + signal FS_10: Std_logic; + signal FS_9: Std_logic; + signal FS_s_10: Std_logic; + signal FS_s_9: Std_logic; + signal FS_cry_8: Std_logic; + signal FS_8: Std_logic; + signal FS_7: Std_logic; + signal FS_s_8: Std_logic; + signal FS_s_7: Std_logic; + signal FS_cry_6: Std_logic; + signal FS_6: Std_logic; + signal FS_5: Std_logic; + signal FS_s_6: Std_logic; + signal FS_s_5: Std_logic; + signal FS_cry_4: Std_logic; + signal FS_4: Std_logic; + signal FS_3: Std_logic; + signal FS_s_4: Std_logic; + signal FS_s_3: Std_logic; + signal FS_cry_2: Std_logic; + signal FS_2: Std_logic; + signal FS_1: Std_logic; + signal FS_s_2: Std_logic; + signal FS_s_1: Std_logic; + signal N_304: Std_logic; + signal CmdEnable17_5: Std_logic; + signal CmdEnable17_4: Std_logic; + signal ADWR_7: Std_logic; + signal CmdEnable16: Std_logic; + signal CmdEnable17: Std_logic; + signal un1_ADWR: Std_logic; + signal ADSubmitted: Std_logic; + signal ADSubmitted_r: Std_logic; + signal PHI2_c: Std_logic; + signal CmdEnable16_5: Std_logic; + signal CmdEnable16_4: Std_logic; + signal C1WR_7: Std_logic; + signal C1WR_2: Std_logic; + signal C1Submitted: Std_logic; + signal C1Submitted_s: Std_logic; + signal nCCAS_c: Std_logic; + signal nCCAS_c_i: Std_logic; + signal CASr: Std_logic; + signal CASr2: Std_logic; + signal S_1: Std_logic; + signal RASr2: Std_logic; + signal IS_3: Std_logic; + signal CO0: Std_logic; + signal N_79_i: Std_logic; + signal Ready_0_sqmuxa_0_a3_2: Std_logic; + signal CmdEnable: Std_logic; + signal un1_CMDWR: Std_logic; + signal CmdEnable_s: Std_logic; + signal XOR8MEG11: Std_logic; + signal Din_c_1: Std_logic; + signal CmdLEDEN: Std_logic; + signal XOR8MEG14: Std_logic; + signal N_75: Std_logic; + signal LEDEN: Std_logic; + signal CmdLEDEN_4: Std_logic; + signal XOR8MEG18: Std_logic; + signal CmdUFMShift: Std_logic; + signal CmdUFMShift_3: Std_logic; + signal CmdUFMShift_fast: Std_logic; + signal CmdUFMShift_3_fast: Std_logic; + signal Din_c_0: Std_logic; + signal CmdUFMWrite_2: Std_logic; + signal CmdUFMWrite: Std_logic; + signal CmdUFMWrite_3: Std_logic; + signal Din_c_7: Std_logic; + signal Din_c_6: Std_logic; + signal Din_c_5: Std_logic; + signal Din_c_4: Std_logic; + signal CmdValid_r: Std_logic; + signal CmdValid: Std_logic; + signal CMDWR_2: Std_logic; + signal N_36_fast: Std_logic; + signal CmdValid_fast: Std_logic; + signal Cmdn8MEGEN: Std_logic; + signal n8MEGEN: Std_logic; + signal N_93: Std_logic; + signal Cmdn8MEGEN_4: Std_logic; + signal nFWE_c: Std_logic; + signal nFWE_c_i: Std_logic; + signal nCRAS_c: Std_logic; + signal FWEr: Std_logic; + signal RD_1_i: Std_logic; + signal Ready: Std_logic; + signal N_250: Std_logic; + signal IS_0: Std_logic; + signal N_60_i_i: Std_logic; + signal RA10s_i: Std_logic; + signal IS_2: Std_logic; + signal IS_1: Std_logic; + signal N_57_i_i: Std_logic; + signal IS_n1_0_x2: Std_logic; + signal N_253_i: Std_logic; + signal N_58_i_i: Std_logic; + signal N_45: Std_logic; + signal N_116: Std_logic; + signal InitReady3_0_a3_2: Std_logic; + signal InitReady: Std_logic; + signal InitReady3: Std_logic; + signal N_487_0: Std_logic; + signal wb_dato_1: Std_logic; + signal LEDEN_6: Std_logic; + signal un1_FS_38_i: Std_logic; + signal CBR: Std_logic; + signal nCRAS_c_i_0: Std_logic; + signal RASr: Std_logic; + signal LED_c: Std_logic; + signal nRowColSel: Std_logic; + signal RowA_4: Std_logic; + signal MAin_c_4: Std_logic; + signal PHI2r: Std_logic; + signal RA_c_4: Std_logic; + signal RASr3: Std_logic; + signal un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1: Std_logic; + signal PHI2r2: Std_logic; + signal N_41: Std_logic; + signal RCKEEN_8_u_1_0: Std_logic; + signal RCKEEN_8_u_0_0: Std_logic; + signal RCKEEN_8: Std_logic; + signal RCKEEN: Std_logic; + signal Bank_7: Std_logic; + signal Bank_6: Std_logic; + signal Bank_5: Std_logic; + signal Bank_2: Std_logic; + signal RCKE_2: Std_logic; + signal RCKE_c: Std_logic; + signal un1_Bank_1_4: Std_logic; + signal N_258: Std_logic; + signal N_486_0: Std_logic; + signal Ready_fast: Std_logic; + signal Ready_0_sqmuxa: Std_logic; + signal N_489_0: Std_logic; + signal MAin_c_1: Std_logic; + signal MAin_c_0: Std_logic; + signal RowAd_0_1: Std_logic; + signal RowAd_0_0: Std_logic; + signal RowA_0: Std_logic; + signal RowA_1: Std_logic; + signal MAin_c_3: Std_logic; + signal MAin_c_2: Std_logic; + signal RowAd_0_3: Std_logic; + signal RowAd_0_2: Std_logic; + signal RowA_2: Std_logic; + signal RowA_3: Std_logic; + signal MAin_c_5: Std_logic; + signal RowAd_0_5: Std_logic; + signal RowAd_0_4: Std_logic; + signal RowA_5: Std_logic; + signal MAin_c_7: Std_logic; + signal MAin_c_6: Std_logic; + signal RowAd_0_7: Std_logic; + signal RowAd_0_6: Std_logic; + signal RowA_6: Std_logic; + signal RowA_7: Std_logic; + signal MAin_c_9: Std_logic; + signal MAin_c_8: Std_logic; + signal RowAd_0_9: Std_logic; + signal RowAd_0_8: Std_logic; + signal RowA_8: Std_logic; + signal RowA_9: Std_logic; + signal nRRAS_5_u_i_0: Std_logic; + signal XOR8MEG9_1: Std_logic; + signal un1_Din_2: Std_logic; + signal XOR8MEG_3_u_0_bm: Std_logic; + signal XOR8MEG: Std_logic; + signal XOR8MEG_3: Std_logic; + signal wb_dato_0: Std_logic; + signal n8MEGEN_6: Std_logic; + signal wb_rst10: Std_logic; + signal CASr3: Std_logic; + signal N_265: Std_logic; + signal nRowColSel_0_0: Std_logic; + signal nRRAS_0_sqmuxa: Std_logic; + signal wb_rst11: Std_logic; + signal wb_adr_0: Std_logic; + signal N_181: Std_logic; + signal wb_dati_7: Std_logic; + signal wb_adr_cnst_m2_0: Std_logic; + signal wb_adr_5_1: Std_logic; + signal wb_adr_5_0: Std_logic; + signal un1_wb_rst14_i: Std_logic; + signal wb_adr_1: Std_logic; + signal wb_adr_2: Std_logic; + signal wb_adr_5_3: Std_logic; + signal wb_adr_5_2: Std_logic; + signal wb_adr_3: Std_logic; + signal wb_adr_4: Std_logic; + signal wb_adr_5_5: Std_logic; + signal wb_adr_5_4: Std_logic; + signal wb_adr_5: Std_logic; + signal wb_adr_6: Std_logic; + signal wb_adr_5_7: Std_logic; + signal wb_adr_5_6: Std_logic; + signal wb_adr_7: Std_logic; + signal un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1: Std_logic; + signal N_245: Std_logic; + signal N_102_2: Std_logic; + signal un1_wb_cyc_stb_1_sqmuxa_0: Std_logic; + signal un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i: Std_logic; + signal wb_cyc_stb: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_0_1: Std_logic; + signal wb_dati_5_1_iv_0_0_1: Std_logic; + signal N_128: Std_logic; + signal N_94: Std_logic; + signal wb_we: Std_logic; + signal wb_dati_5_0_iv_0_a3_1_0: Std_logic; + signal N_119: Std_logic; + signal wb_dati_5_1: Std_logic; + signal wb_dati_5_0: Std_logic; + signal wb_dati_0: Std_logic; + signal wb_dati_1: Std_logic; + signal un1_wb_we95_1: Std_logic; + signal wb_dati_5_1_iv_0_0_3: Std_logic; + signal N_240: Std_logic; + signal N_49: Std_logic; + signal wb_dati_5_3: Std_logic; + signal wb_dati_5_2: Std_logic; + signal wb_dati_2: Std_logic; + signal wb_dati_3: Std_logic; + signal wb_dati_4: Std_logic; + signal wb_dati_5_1_iv_0_1_4: Std_logic; + signal un1_wb_rst11_1_s6_1: Std_logic; + signal wb_dati_5_5: Std_logic; + signal wb_dati_5_4: Std_logic; + signal wb_dati_5: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_0_7: Std_logic; + signal wb_dati_5_1_iv_0_1_7: Std_logic; + signal N_89: Std_logic; + signal wb_dati_5_1_iv_0_1_6: Std_logic; + signal wb_dati_5_7: Std_logic; + signal wb_dati_5_6: Std_logic; + signal wb_dati_6: Std_logic; + signal wb_req: Std_logic; + signal un1_FS_37_i_0: Std_logic; + signal N_78_i: Std_logic; + signal wb_reqe_0: Std_logic; + signal PHI2r3: Std_logic; + signal wb_rst: Std_logic; + signal wb_rste_0: Std_logic; + signal wb_we95: Std_logic; + signal un1_FS_29: Std_logic; + signal un1_wb_adr_0_sqmuxa_3: Std_logic; + signal un1_wb_adr_0_sqmuxa_2: Std_logic; + signal CmdUFMData: Std_logic; + signal wb_we_0: Std_logic; + signal un1_PHI2r3_0: Std_logic; + signal N_102: Std_logic; + signal un1_FS_11: Std_logic; + signal wb_ack: Std_logic; + signal d_N_5_mux: Std_logic; + signal N_254: Std_logic; + signal N_39: Std_logic; + signal nRCAS_0_sqmuxa_1: Std_logic; + signal nRWE_0io_RNO_1: Std_logic; + signal N_37_i_1: Std_logic; + signal CBR_fast: Std_logic; + signal N_37_i: Std_logic; + signal un1_FS_40_1_0_1: Std_logic; + signal un1_FS_40_1_0: Std_logic; + signal nRCAS_0io_RNO_0: Std_logic; + signal N_28_i_1: Std_logic; + signal N_249_i: Std_logic; + signal N_230: Std_logic; + signal nRWE_0io_RNO_4: Std_logic; + signal nRWE_0io_RNO_3: Std_logic; + signal N_131: Std_logic; + signal N_85: Std_logic; + signal N_248: Std_logic; + signal XOR8MEG14_1: Std_logic; + signal Din_c_3: Std_logic; + signal CmdUFMData_1_sqmuxa: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_6: Std_logic; + signal N_246: Std_logic; + signal N_98: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_3: Std_logic; + signal N_25: Std_logic; + signal N_59: Std_logic; + signal wb_dati_5_1_iv_0_a3_2_0_1: Std_logic; + signal wb_dati_5_1_iv_0_a3_1_1_4: Std_logic; + signal wb_dati_5_1_iv_0_a3_3_0_7: Std_logic; + signal N_242: Std_logic; + signal N_91: Std_logic; + signal wb_we95_0_tz_tz_tz: Std_logic; + signal un1_FS_20_3: Std_logic; + signal N_120: Std_logic; + signal N_228: Std_logic; + signal wb_we113_i: Std_logic; + signal un1_FS_40_1_1_1: Std_logic; + signal un1_FS_40_1_1_tz: Std_logic; + signal N_139: Std_logic; + signal N_136: Std_logic; + signal N_28_i_sn: Std_logic; + signal N_25_i: Std_logic; + signal FWEr_fast: Std_logic; + signal N_28_i: Std_logic; + signal N_233: Std_logic; + signal N_102_1: Std_logic; + signal ADWR_5: Std_logic; + signal ADWR_4: Std_logic; + signal C1WR_0: Std_logic; + signal Bank_1: Std_logic; + signal Bank_0: Std_logic; + signal un1_Bank_1_3: Std_logic; + signal Bank_4: Std_logic; + signal Bank_3: Std_logic; + signal G_8_0_a3_0_0: Std_logic; + signal nRWE_0io_RNO_2: Std_logic; + signal Din_c_2: Std_logic; + signal RA_c_9: Std_logic; + signal RDQMH_c: Std_logic; + signal RA_c_7: Std_logic; + signal RA_c_0: Std_logic; + signal RDQML_c: Std_logic; + signal RA_c_1: Std_logic; + signal RA_c_8: Std_logic; + signal RA_c_2: Std_logic; + signal RA_c_6: Std_logic; + signal RA_c_3: Std_logic; + signal RA_c_5: Std_logic; + signal RA11d_0: Std_logic; + signal CROW_c_0: Std_logic; + signal CROW_c_1: Std_logic; + signal RBAd_0_1: Std_logic; + signal RBAd_0_0: Std_logic; + signal RD_in_0: Std_logic; + signal WRD_0: Std_logic; + signal nRCAS_c: Std_logic; + signal nRRAS_c: Std_logic; + signal nRWE_c: Std_logic; + signal nRCS_c: Std_logic; + signal RD_in_7: Std_logic; + signal WRD_7: Std_logic; + signal RD_in_6: Std_logic; + signal WRD_6: Std_logic; + signal RD_in_5: Std_logic; + signal WRD_5: Std_logic; + signal RD_in_4: Std_logic; + signal WRD_4: Std_logic; + signal RD_in_3: Std_logic; + signal WRD_3: Std_logic; + signal RD_in_2: Std_logic; + signal WRD_2: Std_logic; + signal RD_in_1: Std_logic; + signal WRD_1: Std_logic; + signal RA_c_11: Std_logic; + signal RA_c_10: Std_logic; + signal RBA_c_1: Std_logic; + signal RBA_c_0: Std_logic; + signal VCCI: Std_logic; + component SLICE_0 + port (A1: in Std_logic; DI1: in Std_logic; CLK: in Std_logic; + F1: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_1 + port (A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_2 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_3 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_4 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_5 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_6 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_7 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_8 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_9 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_10 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_11 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_12 + port (A0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_16 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_17 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_18 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_20 + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_21 + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_22 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_23 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_24 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_25 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_26 + port (B1: in Std_logic; A1: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_28 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_29 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_30 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_31 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_32 + port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_34 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_35 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_36 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_37 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_38 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_39 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_40 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_41 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_42 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_43 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_44 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_45 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_46 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_47 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_48 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_49 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_50 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_51 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI1: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_52 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_53 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_54 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_55 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_56 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_57 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_58 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_59 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_60 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component wb_cyc_stb_RNO_SLICE_61 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; OFX0: out Std_logic); + end component; + component SLICE_62 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_63 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_64 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_65 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_66 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_67 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_68 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_69 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_70 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_71 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_72 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_73 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_74 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_75 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_76 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_77 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_78 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_79 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_80 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_81 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_82 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_83 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_84 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_85 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_86 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_87 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_88 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_89 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_90 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_91 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_92 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_93 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_94 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_95 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_96 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_97 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_98 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_99 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_100 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_101 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_102 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_103 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_104 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_105 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_106 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_107 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_108 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_109 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_110 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_111 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_112 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_113 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_114 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_115 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_116 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_117 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_118 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component RD_0_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD0: inout Std_logic); + end component; + component RD_0_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component Dout_0_B + port (PADDO: in Std_logic; Dout0: out Std_logic); + end component; + component PHI2B + port (PADDI: out Std_logic; PHI2S: in Std_logic); + end component; + component PHI2_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component RDQMLB + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + end component; + component RDQMHB + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + end component; + component nRCASB + port (IOLDO: in Std_logic; nRCASS: out Std_logic); + end component; + component nRCAS_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component nRRASB + port (IOLDO: in Std_logic; nRRASS: out Std_logic); + end component; + component nRRAS_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component nRWEB + port (IOLDO: in Std_logic; nRWES: out Std_logic); + end component; + component nRWE_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RCKEB + port (PADDO: in Std_logic; RCKES: out Std_logic); + end component; + component RCLKB + port (PADDI: out Std_logic; RCLKS: in Std_logic); + end component; + component nRCSB + port (IOLDO: in Std_logic; nRCSS: out Std_logic); + end component; + component nRCS_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_7_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD7: inout Std_logic); + end component; + component RD_7_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_6_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD6: inout Std_logic); + end component; + component RD_6_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_5_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD5: inout Std_logic); + end component; + component RD_5_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_4_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD4: inout Std_logic); + end component; + component RD_4_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_3_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD3: inout Std_logic); + end component; + component RD_3_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_2_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD2: inout Std_logic); + end component; + component RD_2_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_1_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD1: inout Std_logic); + end component; + component RD_1_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RA_11_B + port (IOLDO: in Std_logic; RA11: out Std_logic); + end component; + component RA_11_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RA_10_B + port (IOLDO: in Std_logic; RA10: out Std_logic); + end component; + component RA_10_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic); + end component; + component RA_9_B + port (PADDO: in Std_logic; RA9: out Std_logic); + end component; + component RA_8_B + port (PADDO: in Std_logic; RA8: out Std_logic); + end component; + component RA_7_B + port (PADDO: in Std_logic; RA7: out Std_logic); + end component; + component RA_6_B + port (PADDO: in Std_logic; RA6: out Std_logic); + end component; + component RA_5_B + port (PADDO: in Std_logic; RA5: out Std_logic); + end component; + component RA_4_B + port (PADDO: in Std_logic; RA4: out Std_logic); + end component; + component RA_3_B + port (PADDO: in Std_logic; RA3: out Std_logic); + end component; + component RA_2_B + port (PADDO: in Std_logic; RA2: out Std_logic); + end component; + component RA_1_B + port (PADDO: in Std_logic; RA1: out Std_logic); + end component; + component RA_0_B + port (PADDO: in Std_logic; RA0: out Std_logic); + end component; + component RBA_1_B + port (IOLDO: in Std_logic; RBA1: out Std_logic); + end component; + component RBA_1_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RBA_0_B + port (IOLDO: in Std_logic; RBA0: out Std_logic); + end component; + component RBA_0_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component LEDB + port (PADDO: in Std_logic; LEDS: out Std_logic); + end component; + component nFWEB + port (PADDI: out Std_logic; nFWES: in Std_logic); + end component; + component nCRASB + port (PADDI: out Std_logic; nCRASS: in Std_logic); + end component; + component nCCASB + port (PADDI: out Std_logic; nCCASS: in Std_logic); + end component; + component Dout_7_B + port (PADDO: in Std_logic; Dout7: out Std_logic); + end component; + component Dout_6_B + port (PADDO: in Std_logic; Dout6: out Std_logic); + end component; + component Dout_5_B + port (PADDO: in Std_logic; Dout5: out Std_logic); + end component; + component Dout_4_B + port (PADDO: in Std_logic; Dout4: out Std_logic); + end component; + component Dout_3_B + port (PADDO: in Std_logic; Dout3: out Std_logic); + end component; + component Dout_2_B + port (PADDO: in Std_logic; Dout2: out Std_logic); + end component; + component Dout_1_B + port (PADDO: in Std_logic; Dout1: out Std_logic); + end component; + component Din_7_B + port (PADDI: out Std_logic; Din7: in Std_logic); + end component; + component Din_7_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_6_B + port (PADDI: out Std_logic; Din6: in Std_logic); + end component; + component Din_6_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_5_B + port (PADDI: out Std_logic; Din5: in Std_logic); + end component; + component Din_5_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_4_B + port (PADDI: out Std_logic; Din4: in Std_logic); + end component; + component Din_4_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_3_B + port (PADDI: out Std_logic; Din3: in Std_logic); + end component; + component Din_3_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_2_B + port (PADDI: out Std_logic; Din2: in Std_logic); + end component; + component Din_2_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_1_B + port (PADDI: out Std_logic; Din1: in Std_logic); + end component; + component Din_1_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_0_B + port (PADDI: out Std_logic; Din0: in Std_logic); + end component; + component Din_0_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component CROW_1_B + port (PADDI: out Std_logic; CROW1: in Std_logic); + end component; + component CROW_0_B + port (PADDI: out Std_logic; CROW0: in Std_logic); + end component; + component MAin_9_B + port (PADDI: out Std_logic; MAin9: in Std_logic); + end component; + component MAin_8_B + port (PADDI: out Std_logic; MAin8: in Std_logic); + end component; + component MAin_7_B + port (PADDI: out Std_logic; MAin7: in Std_logic); + end component; + component MAin_6_B + port (PADDI: out Std_logic; MAin6: in Std_logic); + end component; + component MAin_5_B + port (PADDI: out Std_logic; MAin5: in Std_logic); + end component; + component MAin_4_B + port (PADDI: out Std_logic; MAin4: in Std_logic); + end component; + component MAin_3_B + port (PADDI: out Std_logic; MAin3: in Std_logic); + end component; + component MAin_2_B + port (PADDI: out Std_logic; MAin2: in Std_logic); + end component; + component MAin_1_B + port (PADDI: out Std_logic; MAin1: in Std_logic); + end component; + component MAin_0_B + port (PADDI: out Std_logic; MAin0: in Std_logic); + end component; + component ufmefb_EFBInst_0 + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; + WBADRI3: in Std_logic; WBADRI4: in Std_logic; + WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; + WBDATI1: in Std_logic; WBDATI2: in Std_logic; + WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; + WBDATI7: in Std_logic; WBDATO0: out Std_logic; + WBDATO1: out Std_logic; WBACKO: out Std_logic); + end component; + begin + SLICE_0I: SLICE_0 + port map (A1=>FS_0, DI1=>FS_s_0, CLK=>RCLK_c, F1=>FS_s_0, Q1=>FS_0, + FCO=>FS_cry_0); + SLICE_1I: SLICE_1 + port map (A0=>FS_17, DI0=>FS_s_17, CLK=>RCLK_c, FCI=>FS_cry_16, + F0=>FS_s_17, Q0=>FS_17); + SLICE_2I: SLICE_2 + port map (A1=>FS_16, A0=>FS_15, DI1=>FS_s_16, DI0=>FS_s_15, CLK=>RCLK_c, + FCI=>FS_cry_14, F0=>FS_s_15, Q0=>FS_15, F1=>FS_s_16, Q1=>FS_16, + FCO=>FS_cry_16); + SLICE_3I: SLICE_3 + port map (A1=>FS_14, A0=>FS_13, DI1=>FS_s_14, DI0=>FS_s_13, CLK=>RCLK_c, + FCI=>FS_cry_12, F0=>FS_s_13, Q0=>FS_13, F1=>FS_s_14, Q1=>FS_14, + FCO=>FS_cry_14); + SLICE_4I: SLICE_4 + port map (A1=>FS_12, A0=>FS_11, DI1=>FS_s_12, DI0=>FS_s_11, CLK=>RCLK_c, + FCI=>FS_cry_10, F0=>FS_s_11, Q0=>FS_11, F1=>FS_s_12, Q1=>FS_12, + FCO=>FS_cry_12); + SLICE_5I: SLICE_5 + port map (A1=>FS_10, A0=>FS_9, DI1=>FS_s_10, DI0=>FS_s_9, CLK=>RCLK_c, + FCI=>FS_cry_8, F0=>FS_s_9, Q0=>FS_9, F1=>FS_s_10, Q1=>FS_10, + FCO=>FS_cry_10); + SLICE_6I: SLICE_6 + port map (A1=>FS_8, A0=>FS_7, DI1=>FS_s_8, DI0=>FS_s_7, CLK=>RCLK_c, + FCI=>FS_cry_6, F0=>FS_s_7, Q0=>FS_7, F1=>FS_s_8, Q1=>FS_8, + FCO=>FS_cry_8); + SLICE_7I: SLICE_7 + port map (A1=>FS_6, A0=>FS_5, DI1=>FS_s_6, DI0=>FS_s_5, CLK=>RCLK_c, + FCI=>FS_cry_4, F0=>FS_s_5, Q0=>FS_5, F1=>FS_s_6, Q1=>FS_6, + FCO=>FS_cry_6); + SLICE_8I: SLICE_8 + port map (A1=>FS_4, A0=>FS_3, DI1=>FS_s_4, DI0=>FS_s_3, CLK=>RCLK_c, + FCI=>FS_cry_2, F0=>FS_s_3, Q0=>FS_3, F1=>FS_s_4, Q1=>FS_4, + FCO=>FS_cry_4); + SLICE_9I: SLICE_9 + port map (A1=>FS_2, A0=>FS_1, DI1=>FS_s_2, DI0=>FS_s_1, CLK=>RCLK_c, + FCI=>FS_cry_0, F0=>FS_s_1, Q0=>FS_1, F1=>FS_s_2, Q1=>FS_2, + FCO=>FS_cry_2); + SLICE_10I: SLICE_10 + port map (D1=>N_304, C1=>CmdEnable17_5, B1=>CmdEnable17_4, A1=>ADWR_7, + D0=>CmdEnable16, C0=>CmdEnable17, B0=>un1_ADWR, + A0=>ADSubmitted, DI0=>ADSubmitted_r, CLK=>PHI2_c, + F0=>ADSubmitted_r, Q0=>ADSubmitted, F1=>CmdEnable17); + SLICE_11I: SLICE_11 + port map (D1=>CmdEnable16_5, C1=>CmdEnable16_4, B1=>C1WR_7, A1=>C1WR_2, + C0=>CmdEnable16, B0=>un1_ADWR, A0=>C1Submitted, + DI0=>C1Submitted_s, CLK=>PHI2_c, F0=>C1Submitted_s, + Q0=>C1Submitted, F1=>CmdEnable16); + SLICE_12I: SLICE_12 + port map (A0=>nCCAS_c, DI0=>nCCAS_c_i, M1=>CASr, CLK=>RCLK_c, + F0=>nCCAS_c_i, Q0=>CASr, Q1=>CASr2); + SLICE_16I: SLICE_16 + port map (D1=>S_1, C1=>RASr2, B1=>IS_3, A1=>CO0, B0=>S_1, A0=>CO0, + DI0=>N_79_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_79_i, Q0=>CO0, + F1=>Ready_0_sqmuxa_0_a3_2); + SLICE_17I: SLICE_17 + port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>C1Submitted, C0=>un1_CMDWR, + B0=>CmdEnable, A0=>CmdEnable17, DI0=>CmdEnable_s, + M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); + SLICE_18I: SLICE_18 + port map (C1=>XOR8MEG11, B1=>Din_c_1, A1=>CmdLEDEN, C0=>XOR8MEG14, + B0=>N_75, A0=>LEDEN, DI0=>CmdLEDEN_4, CE=>XOR8MEG18, + CLK=>PHI2_c, F0=>CmdLEDEN_4, Q0=>CmdLEDEN, F1=>N_75); + SLICE_20I: SLICE_20 + port map (D0=>XOR8MEG14, C0=>XOR8MEG11, B0=>Din_c_1, A0=>CmdUFMShift, + DI0=>CmdUFMShift_3, CE=>XOR8MEG18, CLK=>PHI2_c, + F0=>CmdUFMShift_3, Q0=>CmdUFMShift); + SLICE_21I: SLICE_21 + port map (D0=>XOR8MEG14, C0=>XOR8MEG11, B0=>Din_c_1, + A0=>CmdUFMShift_fast, DI0=>CmdUFMShift_3_fast, CE=>XOR8MEG18, + CLK=>PHI2_c, F0=>CmdUFMShift_3_fast, Q0=>CmdUFMShift_fast); + SLICE_22I: SLICE_22 + port map (B1=>Din_c_1, A1=>Din_c_0, D0=>XOR8MEG14, C0=>XOR8MEG11, + B0=>CmdUFMWrite_2, A0=>CmdUFMWrite, DI0=>CmdUFMWrite_3, + CE=>XOR8MEG18, CLK=>PHI2_c, F0=>CmdUFMWrite_3, Q0=>CmdUFMWrite, + F1=>CmdUFMWrite_2); + SLICE_23I: SLICE_23 + port map (D1=>Din_c_7, C1=>Din_c_6, B1=>Din_c_5, A1=>Din_c_4, + C0=>XOR8MEG14, B0=>XOR8MEG11, A0=>XOR8MEG18, DI0=>CmdValid_r, + CLK=>PHI2_c, F0=>CmdValid_r, Q0=>CmdValid, F1=>XOR8MEG11); + SLICE_24I: SLICE_24 + port map (C1=>CmdEnable, B1=>CMDWR_2, A1=>C1WR_7, C0=>XOR8MEG14, + B0=>XOR8MEG11, A0=>XOR8MEG18, DI0=>N_36_fast, CLK=>PHI2_c, + F0=>N_36_fast, Q0=>CmdValid_fast, F1=>XOR8MEG18); + SLICE_25I: SLICE_25 + port map (C1=>XOR8MEG11, B1=>Din_c_0, A1=>Cmdn8MEGEN, C0=>n8MEGEN, + B0=>XOR8MEG14, A0=>N_93, DI0=>Cmdn8MEGEN_4, CE=>XOR8MEG18, + CLK=>PHI2_c, F0=>Cmdn8MEGEN_4, Q0=>Cmdn8MEGEN, F1=>N_93); + SLICE_26I: SLICE_26 + port map (B1=>nFWE_c, A1=>nCCAS_c, A0=>nFWE_c, DI0=>nFWE_c_i, + CLK=>nCRAS_c, F0=>nFWE_c_i, Q0=>FWEr, F1=>RD_1_i); + SLICE_28I: SLICE_28 + port map (D1=>Ready, C1=>N_250, B1=>IS_3, A1=>IS_0, C0=>Ready, B0=>N_250, + A0=>IS_0, DI0=>N_60_i_i, CLK=>RCLK_c, F0=>N_60_i_i, Q0=>IS_0, + F1=>RA10s_i); + SLICE_29I: SLICE_29 + port map (C1=>IS_2, B1=>IS_1, A1=>IS_0, B0=>IS_1, A0=>IS_0, + DI1=>N_57_i_i, DI0=>IS_n1_0_x2, CE=>N_253_i, CLK=>RCLK_c, + F0=>IS_n1_0_x2, Q0=>IS_1, F1=>N_57_i_i, Q1=>IS_2); + SLICE_30I: SLICE_30 + port map (B1=>IS_2, A1=>IS_1, D0=>IS_0, C0=>IS_1, B0=>IS_2, A0=>IS_3, + DI0=>N_58_i_i, CE=>N_253_i, CLK=>RCLK_c, F0=>N_58_i_i, + Q0=>IS_3, F1=>N_45); + SLICE_31I: SLICE_31 + port map (D1=>N_116, C1=>InitReady3_0_a3_2, B1=>FS_14, A1=>FS_13, + B0=>InitReady, A0=>InitReady3, DI0=>N_487_0, CLK=>RCLK_c, + F0=>N_487_0, Q0=>InitReady, F1=>InitReady3); + SLICE_32I: SLICE_32 + port map (C0=>wb_dato_1, B0=>InitReady, A0=>CmdLEDEN, DI0=>LEDEN_6, + CE=>un1_FS_38_i, CLK=>RCLK_c, F0=>LEDEN_6, Q0=>LEDEN); + SLICE_34I: SLICE_34 + port map (C1=>nCRAS_c, B1=>LEDEN, A1=>CBR, A0=>nCRAS_c, DI0=>nCRAS_c_i_0, + M1=>RASr, CLK=>RCLK_c, F0=>nCRAS_c_i_0, Q0=>RASr, F1=>LED_c, + Q1=>RASr2); + SLICE_35I: SLICE_35 + port map (B1=>FS_7, A1=>FS_3, C0=>nRowColSel, B0=>RowA_4, A0=>MAin_c_4, + M1=>PHI2r, M0=>RASr2, CLK=>RCLK_c, F0=>RA_c_4, Q0=>RASr3, + F1=>un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1, Q1=>PHI2r2); + SLICE_36I: SLICE_36 + port map (D1=>N_41, C1=>InitReady, B1=>RASr2, A1=>Ready, D0=>Ready, + C0=>RCKEEN_8_u_1_0, B0=>RCKEEN_8_u_0_0, A0=>CBR, DI0=>RCKEEN_8, + CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, F1=>RCKEEN_8_u_0_0); + SLICE_37I: SLICE_37 + port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, D0=>RCKEEN, + C0=>RASr3, B0=>RASr2, A0=>RASr, DI0=>RCKE_2, CLK=>RCLK_c, + F0=>RCKE_2, Q0=>RCKE_c, F1=>un1_Bank_1_4); + SLICE_38I: SLICE_38 + port map (C1=>IS_2, B1=>IS_1, A1=>IS_0, D0=>InitReady, C0=>N_258, + B0=>Ready_0_sqmuxa_0_a3_2, A0=>Ready, DI0=>N_486_0, + CLK=>RCLK_c, F0=>N_486_0, Q0=>Ready, F1=>N_258); + SLICE_39I: SLICE_39 + port map (D1=>Ready_0_sqmuxa_0_a3_2, C1=>Ready, B1=>N_258, A1=>InitReady, + B0=>Ready_fast, A0=>Ready_0_sqmuxa, DI0=>N_489_0, CLK=>RCLK_c, + F0=>N_489_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa); + SLICE_40I: SLICE_40 + port map (B1=>Ready_fast, A1=>MAin_c_1, B0=>Ready_fast, A0=>MAin_c_0, + DI1=>RowAd_0_1, DI0=>RowAd_0_0, CLK=>nCRAS_c, F0=>RowAd_0_0, + Q0=>RowA_0, F1=>RowAd_0_1, Q1=>RowA_1); + SLICE_41I: SLICE_41 + port map (B1=>Ready_fast, A1=>MAin_c_3, B0=>Ready_fast, A0=>MAin_c_2, + DI1=>RowAd_0_3, DI0=>RowAd_0_2, CLK=>nCRAS_c, F0=>RowAd_0_2, + Q0=>RowA_2, F1=>RowAd_0_3, Q1=>RowA_3); + SLICE_42I: SLICE_42 + port map (B1=>Ready_fast, A1=>MAin_c_5, B0=>Ready_fast, A0=>MAin_c_4, + DI1=>RowAd_0_5, DI0=>RowAd_0_4, CLK=>nCRAS_c, F0=>RowAd_0_4, + Q0=>RowA_4, F1=>RowAd_0_5, Q1=>RowA_5); + SLICE_43I: SLICE_43 + port map (B1=>Ready_fast, A1=>MAin_c_7, B0=>Ready_fast, A0=>MAin_c_6, + DI1=>RowAd_0_7, DI0=>RowAd_0_6, CLK=>nCRAS_c, F0=>RowAd_0_6, + Q0=>RowA_6, F1=>RowAd_0_7, Q1=>RowA_7); + SLICE_44I: SLICE_44 + port map (B1=>Ready_fast, A1=>MAin_c_9, B0=>Ready_fast, A0=>MAin_c_8, + DI1=>RowAd_0_9, DI0=>RowAd_0_8, CLK=>nCRAS_c, F0=>RowAd_0_8, + Q0=>RowA_8, F1=>RowAd_0_9, Q1=>RowA_9); + SLICE_45I: SLICE_45 + port map (D1=>Ready, C1=>RCKE_c, B1=>RASr2, A1=>N_41, B0=>S_1, A0=>CO0, + DI0=>N_41, LSR=>RASr2, CLK=>RCLK_c, F0=>N_41, Q0=>S_1, + F1=>nRRAS_5_u_i_0); + SLICE_46I: SLICE_46 + port map (D1=>Din_c_1, C1=>Din_c_0, B1=>XOR8MEG9_1, A1=>LEDEN, + C0=>un1_Din_2, B0=>XOR8MEG_3_u_0_bm, A0=>XOR8MEG, + DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, + Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_bm); + SLICE_47I: SLICE_47 + port map (D1=>InitReady, C1=>FS_17, B1=>FS_16, A1=>FS_15, C0=>wb_dato_0, + B0=>InitReady, A0=>Cmdn8MEGEN, DI0=>n8MEGEN_6, CE=>un1_FS_38_i, + CLK=>RCLK_c, F0=>n8MEGEN_6, Q0=>n8MEGEN, F1=>wb_rst10); + SLICE_48I: SLICE_48 + port map (D1=>Ready, C1=>FWEr, B1=>CBR, A1=>CASr3, D0=>S_1, C0=>Ready, + B0=>N_265, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, + CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_265); + SLICE_49I: SLICE_49 + port map (D1=>wb_rst11, C1=>wb_adr_0, B1=>N_181, A1=>InitReady, + C0=>wb_dati_7, B0=>wb_adr_cnst_m2_0, A0=>InitReady, + DI1=>wb_adr_5_1, DI0=>wb_adr_5_0, CE=>un1_wb_rst14_i, + CLK=>RCLK_c, F0=>wb_adr_5_0, Q0=>wb_adr_0, F1=>wb_adr_5_1, + Q1=>wb_adr_1); + SLICE_50I: SLICE_50 + port map (B1=>wb_adr_2, A1=>InitReady, B0=>wb_adr_1, A0=>InitReady, + DI1=>wb_adr_5_3, DI0=>wb_adr_5_2, CE=>un1_wb_rst14_i, + CLK=>RCLK_c, F0=>wb_adr_5_2, Q0=>wb_adr_2, F1=>wb_adr_5_3, + Q1=>wb_adr_3); + SLICE_51I: SLICE_51 + port map (C1=>wb_rst11, B1=>wb_adr_4, A1=>InitReady, C0=>wb_rst11, + B0=>wb_adr_3, A0=>InitReady, DI1=>wb_adr_5_5, DI0=>wb_adr_5_4, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_adr_5_4, Q0=>wb_adr_4, + F1=>wb_adr_5_5, Q1=>wb_adr_5); + SLICE_52I: SLICE_52 + port map (B1=>wb_adr_6, A1=>InitReady, C0=>wb_rst11, B0=>wb_adr_5, + A0=>InitReady, DI1=>wb_adr_5_7, DI0=>wb_adr_5_6, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_adr_5_6, Q0=>wb_adr_6, + F1=>wb_adr_5_7, Q1=>wb_adr_7); + SLICE_53I: SLICE_53 + port map (D1=>un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1, C1=>FS_5, B1=>FS_4, + A1=>FS_2, D0=>wb_rst11, C0=>un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1, + B0=>N_245, A0=>N_102_2, DI0=>un1_wb_cyc_stb_1_sqmuxa_0, + CE=>un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i, LSR=>wb_rst10, + CLK=>RCLK_c, F0=>un1_wb_cyc_stb_1_sqmuxa_0, Q0=>wb_cyc_stb, + F1=>N_102_2); + SLICE_54I: SLICE_54 + port map (D1=>wb_dati_5_1_iv_0_a3_0_0_1, C1=>wb_dati_5_1_iv_0_0_1, + B1=>N_128, A1=>N_94, D0=>wb_we, C0=>wb_dati_5_0_iv_0_a3_1_0, + B0=>N_119, A0=>InitReady, DI1=>wb_dati_5_1, DI0=>wb_dati_5_0, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_dati_5_0, + Q0=>wb_dati_0, F1=>wb_dati_5_1, Q1=>wb_dati_1); + SLICE_55I: SLICE_55 + port map (D1=>N_94, C1=>wb_rst11, B1=>un1_wb_we95_1, + A1=>wb_dati_5_1_iv_0_0_3, D0=>wb_dati_1, C0=>N_240, B0=>N_49, + A0=>InitReady, DI1=>wb_dati_5_3, DI0=>wb_dati_5_2, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_dati_5_2, + Q0=>wb_dati_2, F1=>wb_dati_5_3, Q1=>wb_dati_3); + SLICE_56I: SLICE_56 + port map (D1=>wb_dati_4, C1=>N_240, B1=>N_49, A1=>InitReady, + D0=>wb_dati_5_1_iv_0_1_4, C0=>wb_dati_3, + B0=>un1_wb_rst11_1_s6_1, A0=>InitReady, DI1=>wb_dati_5_5, + DI0=>wb_dati_5_4, CE=>un1_wb_rst14_i, CLK=>RCLK_c, + F0=>wb_dati_5_4, Q0=>wb_dati_4, F1=>wb_dati_5_5, Q1=>wb_dati_5); + SLICE_57I: SLICE_57 + port map (D1=>wb_dati_5_1_iv_0_a3_0_0_7, C1=>wb_dati_5_1_iv_0_1_7, + B1=>N_119, A1=>N_89, C0=>wb_dati_5_1_iv_0_a3_0_0_1, + B0=>wb_dati_5_1_iv_0_1_6, A0=>N_128, DI1=>wb_dati_5_7, + DI0=>wb_dati_5_6, CE=>un1_wb_rst14_i, CLK=>RCLK_c, + F0=>wb_dati_5_6, Q0=>wb_dati_6, F1=>wb_dati_5_7, Q1=>wb_dati_7); + SLICE_58I: SLICE_58 + port map (C1=>FS_14, B1=>FS_13, A1=>FS_12, D0=>wb_rst11, C0=>wb_req, + B0=>un1_FS_37_i_0, A0=>N_78_i, DI0=>wb_reqe_0, LSR=>wb_rst10, + CLK=>RCLK_c, F0=>wb_reqe_0, Q0=>wb_req, F1=>un1_FS_37_i_0); + SLICE_59I: SLICE_59 + port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdValid, + D0=>wb_rst10, C0=>wb_rst, B0=>N_78_i, A0=>FS_14, + DI0=>wb_rste_0, CLK=>RCLK_c, F0=>wb_rste_0, Q0=>wb_rst, + F1=>N_78_i); + SLICE_60I: SLICE_60 + port map (B1=>wb_we95, A1=>un1_FS_29, D0=>un1_wb_adr_0_sqmuxa_3, + C0=>un1_wb_adr_0_sqmuxa_2, B0=>InitReady, A0=>CmdUFMData, + DI0=>wb_we_0, CE=>un1_wb_rst14_i, LSR=>wb_rst10, CLK=>RCLK_c, + F0=>wb_we_0, Q0=>wb_we, F1=>un1_wb_adr_0_sqmuxa_2); + wb_cyc_stb_RNO_SLICE_61I: wb_cyc_stb_RNO_SLICE_61 + port map (D1=>CmdUFMWrite, C1=>un1_PHI2r3_0, B1=>CmdUFMShift, + A1=>CmdValid, C0=>N_102, B0=>un1_FS_11, A0=>wb_ack, + M0=>InitReady, OFX0=>un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i); + SLICE_62I: SLICE_62 + port map (D1=>un1_PHI2r3_0, C1=>d_N_5_mux, B1=>InitReady, + A1=>CmdValid_fast, D0=>wb_ack, C0=>un1_FS_29, B0=>un1_FS_11, + A0=>InitReady, F0=>d_N_5_mux, F1=>un1_FS_38_i); + SLICE_63I: SLICE_63 + port map (D1=>CO0, C1=>S_1, B1=>InitReady, A1=>RASr2, D0=>S_1, C0=>Ready, + B0=>N_254, A0=>N_250, F0=>N_39, F1=>N_250); + SLICE_64I: SLICE_64 + port map (D1=>Ready, C1=>nRCAS_0_sqmuxa_1, B1=>nRWE_0io_RNO_1, + A1=>N_37_i_1, D0=>Ready, C0=>RASr2, B0=>N_41, A0=>CBR_fast, + F0=>nRCAS_0_sqmuxa_1, F1=>N_37_i); + SLICE_65I: SLICE_65 + port map (D1=>un1_FS_40_1_0_1, C1=>FS_13, B1=>FS_10, A1=>FS_9, D0=>FS_14, + C0=>FS_12, B0=>FS_11, A0=>FS_9, F0=>un1_FS_40_1_0_1, + F1=>un1_FS_40_1_0); + SLICE_66I: SLICE_66 + port map (C1=>S_1, B1=>N_39, A1=>CBR, D0=>S_1, C0=>nRCAS_0io_RNO_0, + B0=>nRCAS_0_sqmuxa_1, A0=>N_28_i_1, F0=>N_249_i, + F1=>nRCAS_0io_RNO_0); + SLICE_67I: SLICE_67 + port map (D1=>FS_9, C1=>wb_rst11, B1=>FS_13, A1=>N_230, + C0=>un1_wb_we95_1, B0=>wb_rst11, A0=>N_94, F0=>N_49, F1=>N_94); + SLICE_68I: SLICE_68 + port map (C1=>Ready, B1=>nRWE_0io_RNO_4, A1=>nRWE_0io_RNO_3, D0=>IS_1, + C0=>IS_2, B0=>IS_0, A0=>N_250, F0=>nRWE_0io_RNO_4, + F1=>nRWE_0io_RNO_1); + SLICE_69I: SLICE_69 + port map (C1=>nRRAS_0_sqmuxa, B1=>RCKE_c, A1=>RASr2, C0=>CO0, B0=>S_1, + A0=>Ready, F0=>nRRAS_0_sqmuxa, F1=>nRWE_0io_RNO_3); + SLICE_70I: SLICE_70 + port map (D1=>N_131, C1=>N_119, B1=>FS_14, A1=>FS_13, C0=>FS_10, + B0=>FS_11, A0=>FS_12, F0=>N_131, F1=>N_85); + SLICE_71I: SLICE_71 + port map (B1=>FS_11, A1=>FS_10, D0=>FS_12, C0=>N_116, B0=>FS_13, + A0=>FS_14, F0=>wb_dati_5_1_iv_0_a3_0_0_7, F1=>N_116); + SLICE_72I: SLICE_72 + port map (D1=>wb_rst11, C1=>N_248, B1=>FS_14, A1=>FS_13, D0=>FS_10, + C0=>FS_11, B0=>FS_12, A0=>FS_9, F0=>N_248, F1=>N_240); + SLICE_73I: SLICE_73 + port map (D1=>XOR8MEG14_1, C1=>Din_c_7, B1=>Din_c_5, A1=>Din_c_3, + D0=>C1WR_7, C0=>CMDWR_2, B0=>CmdEnable, A0=>XOR8MEG14, + M0=>Din_c_0, CE=>CmdUFMData_1_sqmuxa, CLK=>PHI2_c, + F0=>CmdUFMData_1_sqmuxa, Q0=>CmdUFMData, F1=>XOR8MEG14); + SLICE_74I: SLICE_74 + port map (D1=>wb_dati_5_1_iv_0_a3_0_6, C1=>N_246, B1=>FS_12, A1=>FS_10, + D0=>wb_dati_5, C0=>N_98, B0=>N_85, A0=>InitReady, + F0=>wb_dati_5_1_iv_0_1_6, F1=>N_98); + SLICE_75I: SLICE_75 + port map (C1=>FS_14, B1=>wb_rst11, A1=>FS_11, + D0=>wb_dati_5_1_iv_0_a3_0_3, C0=>wb_dati_2, B0=>N_128, + A0=>InitReady, F0=>wb_dati_5_1_iv_0_0_3, F1=>N_128); + SLICE_76I: SLICE_76 + port map (D1=>FS_15, C1=>FS_16, B1=>FS_17, A1=>InitReady, B0=>wb_rst11, + A0=>un1_wb_we95_1, F0=>un1_wb_rst11_1_s6_1, F1=>wb_rst11); + SLICE_77I: SLICE_77 + port map (C1=>IS_1, B1=>IS_2, A1=>IS_3, D0=>nRRAS_5_u_i_0, C0=>N_254, + B0=>N_250, A0=>IS_0, F0=>N_25, F1=>N_254); + SLICE_78I: SLICE_78 + port map (C1=>FS_12, B1=>FS_10, A1=>FS_9, C0=>N_128, B0=>N_59, A0=>FS_13, + F0=>N_89, F1=>N_59); + SLICE_79I: SLICE_79 + port map (C1=>wb_rst11, B1=>FS_14, A1=>FS_13, + D0=>wb_dati_5_1_iv_0_a3_2_0_1, C0=>wb_dati_0, B0=>N_248, + A0=>InitReady, F0=>wb_dati_5_1_iv_0_0_1, + F1=>wb_dati_5_1_iv_0_a3_2_0_1); + SLICE_80I: SLICE_80 + port map (D1=>FS_13, C1=>FS_12, B1=>FS_10, A1=>FS_9, + D0=>wb_dati_5_1_iv_0_a3_1_1_4, C0=>N_248, B0=>N_246, A0=>N_85, + F0=>wb_dati_5_1_iv_0_1_4, F1=>wb_dati_5_1_iv_0_a3_1_1_4); + SLICE_81I: SLICE_81 + port map (D1=>wb_rst11, C1=>wb_dati_5_1_iv_0_a3_3_0_7, B1=>FS_12, + A1=>FS_10, D0=>wb_dati_6, C0=>N_242, B0=>N_91, A0=>InitReady, + F0=>wb_dati_5_1_iv_0_1_7, F1=>N_242); + SLICE_82I: SLICE_82 + port map (B1=>FS_14, A1=>FS_13, D0=>wb_we95_0_tz_tz_tz, C0=>un1_FS_20_3, + B0=>FS_12, A0=>FS_11, F0=>un1_wb_we95_1, F1=>un1_FS_20_3); + SLICE_83I: SLICE_83 + port map (C1=>FS_12, B1=>FS_11, A1=>FS_10, D0=>N_120, C0=>N_119, + B0=>FS_14, A0=>FS_13, F0=>N_91, F1=>N_120); + SLICE_84I: SLICE_84 + port map (D1=>wb_we95_0_tz_tz_tz, C1=>N_228, B1=>FS_14, A1=>FS_13, + C0=>wb_we113_i, B0=>wb_we95, A0=>un1_FS_29, F0=>N_181, + F1=>un1_FS_29); + SLICE_85I: SLICE_85 + port map (C1=>wb_rst11, B1=>un1_FS_40_1_1_1, A1=>un1_FS_40_1_0, + D0=>un1_FS_40_1_1_tz, C0=>N_139, B0=>FS_10, A0=>FS_9, + F0=>un1_FS_40_1_1_1, F1=>wb_adr_cnst_m2_0); + SLICE_86I: SLICE_86 + port map (D1=>FS_12, C1=>FS_11, B1=>FS_10, A1=>FS_9, C0=>N_136, + B0=>FS_14, A0=>FS_13, F0=>N_139, F1=>N_136); + SLICE_87I: SLICE_87 + port map (B1=>FS_10, A1=>FS_9, D0=>wb_we95_0_tz_tz_tz, C0=>un1_FS_20_3, + B0=>FS_12, A0=>FS_11, F0=>wb_we95, F1=>wb_we95_0_tz_tz_tz); + SLICE_88I: SLICE_88 + port map (D1=>Ready, C1=>N_28_i_sn, B1=>N_28_i_1, A1=>N_25_i, + D0=>FWEr_fast, C0=>CO0, B0=>CASr3, A0=>CASr2, F0=>N_28_i_1, + F1=>N_28_i); + SLICE_89I: SLICE_89 + port map (B1=>wb_req, A1=>FS_0, D0=>N_233, C0=>N_102_2, B0=>N_102_1, + A0=>InitReady, F0=>N_102, F1=>N_233); + SLICE_90I: SLICE_90 + port map (D1=>ADWR_7, C1=>C1WR_2, B1=>C1WR_7, A1=>CMDWR_2, D0=>N_304, + C0=>MAin_c_7, B0=>MAin_c_6, A0=>MAin_c_5, F0=>C1WR_7, + F1=>un1_CMDWR); + SLICE_91I: SLICE_91 + port map (C1=>C1WR_7, B1=>C1WR_2, A1=>ADWR_7, D0=>MAin_c_3, C0=>MAin_c_1, + B0=>ADWR_5, A0=>ADWR_4, F0=>ADWR_7, F1=>un1_ADWR); + SLICE_92I: SLICE_92 + port map (C1=>MAin_c_4, B1=>MAin_c_3, A1=>MAin_c_2, D0=>nFWE_c, + C0=>MAin_c_1, B0=>MAin_c_0, A0=>C1WR_0, F0=>C1WR_2, F1=>C1WR_0); + SLICE_93I: SLICE_93 + port map (C1=>wb_we113_i, B1=>wb_rst11, A1=>un1_FS_37_i_0, + D0=>wb_we95_0_tz_tz_tz, C0=>N_228, B0=>FS_14, A0=>FS_13, + F0=>wb_we113_i, F1=>un1_wb_adr_0_sqmuxa_3); + SLICE_94I: SLICE_94 + port map (B1=>Bank_1, A1=>Bank_0, D0=>un1_Bank_1_4, C0=>un1_Bank_1_3, + B0=>Bank_4, A0=>Bank_3, F0=>N_304, F1=>un1_Bank_1_3); + SLICE_95I: SLICE_95 + port map (B1=>PHI2r3, A1=>PHI2r2, D0=>un1_PHI2r3_0, C0=>InitReady, + B0=>CmdValid, A0=>CmdUFMShift, F0=>N_245, F1=>un1_PHI2r3_0); + SLICE_96I: SLICE_96 + port map (C1=>FS_8, B1=>FS_6, A1=>FS_1, C0=>wb_req, B0=>N_102_1, + A0=>FS_0, F0=>un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1, F1=>N_102_1); + SLICE_97I: SLICE_97 + port map (B1=>PHI2r3, A1=>PHI2r2, D0=>InitReady, C0=>G_8_0_a3_0_0, + B0=>CmdValid_fast, A0=>CmdUFMShift_fast, F0=>un1_wb_rst14_i, + F1=>G_8_0_a3_0_0); + SLICE_98I: SLICE_98 + port map (D1=>S_1, C1=>CO0, B1=>CASr3, A1=>CASr2, C0=>nRWE_0io_RNO_2, + B0=>FWEr, A0=>CBR_fast, F0=>N_37_i_1, F1=>nRWE_0io_RNO_2); + SLICE_99I: SLICE_99 + port map (D1=>FS_13, C1=>FS_12, B1=>FS_10, A1=>FS_9, D0=>FS_13, + C0=>FS_12, B0=>FS_10, A0=>FS_9, F0=>wb_dati_5_1_iv_0_a3_0_3, + F1=>wb_dati_5_1_iv_0_a3_0_0_1); + SLICE_100I: SLICE_100 + port map (D1=>FS_14, C1=>FS_13, B1=>FS_12, A1=>FS_11, D0=>FS_14, + C0=>FS_12, B0=>FS_11, A0=>FS_10, F0=>N_230, + F1=>un1_FS_40_1_1_tz); + SLICE_101I: SLICE_101 + port map (D1=>Din_c_7, C1=>Din_c_5, B1=>Din_c_4, A1=>Din_c_3, + D0=>Din_c_7, C0=>Din_c_6, B0=>Din_c_5, A0=>Din_c_4, + F0=>un1_Din_2, F1=>CmdEnable17_5); + SLICE_102I: SLICE_102 + port map (D1=>FS_17, C1=>FS_16, B1=>FS_15, A1=>FS_12, C0=>FS_17, + B0=>FS_16, A0=>FS_15, F0=>un1_FS_11, F1=>InitReady3_0_a3_2); + SLICE_103I: SLICE_103 + port map (C1=>FS_13, B1=>FS_11, A1=>FS_9, D0=>FS_14, C0=>FS_13, + B0=>FS_11, A0=>FS_9, F0=>wb_dati_5_1_iv_0_a3_3_0_7, + F1=>wb_dati_5_1_iv_0_a3_0_6); + SLICE_104I: SLICE_104 + port map (D1=>Din_c_6, C1=>Din_c_5, B1=>Din_c_1, A1=>Din_c_0, + D0=>Din_c_6, C0=>Din_c_2, B0=>Din_c_1, A0=>Din_c_0, + F0=>CmdEnable17_4, F1=>CmdEnable16_4); + SLICE_105I: SLICE_105 + port map (C1=>nFWE_c, B1=>MAin_c_6, A1=>MAin_c_0, D0=>nFWE_c, + C0=>MAin_c_1, B0=>MAin_c_0, A0=>C1WR_0, M1=>nCCAS_c_i, + M0=>nCCAS_c_i, CLK=>nCRAS_c, F0=>CMDWR_2, Q0=>CBR, F1=>ADWR_4, + Q1=>CBR_fast); + SLICE_106I: SLICE_106 + port map (B1=>Din_c_3, A1=>Din_c_2, D0=>Din_c_7, C0=>Din_c_4, + B0=>Din_c_3, A0=>Din_c_2, M0=>CASr2, CLK=>RCLK_c, + F0=>CmdEnable16_5, Q0=>CASr3, F1=>XOR8MEG9_1); + SLICE_107I: SLICE_107 + port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_9, + A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQMH_c); + SLICE_108I: SLICE_108 + port map (D1=>IS_0, C1=>N_250, B1=>N_254, A1=>nRRAS_5_u_i_0, B0=>Ready, + A0=>N_250, M0=>nFWE_c_i, CLK=>nCRAS_c, F0=>N_253_i, + Q0=>FWEr_fast, F1=>N_25_i); + SLICE_109I: SLICE_109 + port map (B1=>wb_rst11, A1=>FS_14, B0=>wb_rst11, A0=>FS_9, F0=>N_119, + F1=>N_246); + SLICE_110I: SLICE_110 + port map (B1=>FS_12, A1=>FS_11, D0=>N_116, C0=>FS_14, B0=>FS_13, + A0=>FS_12, F0=>wb_dati_5_0_iv_0_a3_1_0, F1=>N_228); + SLICE_111I: SLICE_111 + port map (C1=>nRowColSel, B1=>RowA_7, A1=>MAin_c_7, D0=>MAin_c_7, + C0=>MAin_c_5, B0=>MAin_c_4, A0=>MAin_c_2, F0=>ADWR_5, + F1=>RA_c_7); + SLICE_112I: SLICE_112 + port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_0, + A0=>MAin_c_0, F0=>RA_c_0, F1=>RDQML_c); + SLICE_113I: SLICE_113 + port map (C1=>nRowColSel, B1=>RowA_8, A1=>MAin_c_8, C0=>nRowColSel, + B0=>RowA_1, A0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_8); + SLICE_114I: SLICE_114 + port map (C1=>nRowColSel, B1=>RowA_6, A1=>MAin_c_6, C0=>nRowColSel, + B0=>RowA_2, A0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); + SLICE_115I: SLICE_115 + port map (C1=>nRowColSel, B1=>RowA_5, A1=>MAin_c_5, C0=>nRowColSel, + B0=>RowA_3, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); + SLICE_116I: SLICE_116 + port map (D1=>n8MEGEN, C1=>XOR8MEG, B1=>Ready_fast, A1=>Din_c_6, + B0=>Din_c_6, A0=>Din_c_4, F0=>XOR8MEG14_1, F1=>RA11d_0); + SLICE_117I: SLICE_117 + port map (C1=>S_1, B1=>N_25, A1=>CBR_fast, D0=>S_1, C0=>FWEr, B0=>CO0, + A0=>CASr2, F0=>RCKEEN_8_u_1_0, F1=>N_28_i_sn); + SLICE_118I: SLICE_118 + port map (B1=>Ready_fast, A1=>CROW_c_0, B0=>Ready_fast, A0=>CROW_c_1, + M0=>PHI2r2, CLK=>RCLK_c, F0=>RBAd_0_1, Q0=>PHI2r3, + F1=>RBAd_0_0); + RD_0_I: RD_0_B + port map (PADDI=>RD_in_0, IOLDO=>WRD_0, PADDT=>RD_1_i, RD0=>RD(0)); + RD_0_MGIOLI: RD_0_MGIOL + port map (IOLDO=>WRD_0, OPOS=>Din_c_0, CLK=>nCCAS_c); + Dout_0_I: Dout_0_B + port map (PADDO=>RD_in_0, Dout0=>Dout(0)); + PHI2I: PHI2B + port map (PADDI=>PHI2_c, PHI2S=>PHI2); + PHI2_MGIOLI: PHI2_MGIOL + port map (DI=>PHI2_c, CLK=>RCLK_c, INP=>PHI2r); + RDQMLI: RDQMLB + port map (PADDO=>RDQML_c, RDQMLS=>RDQML); + RDQMHI: RDQMHB + port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); + nRCASI: nRCASB + port map (IOLDO=>nRCAS_c, nRCASS=>nRCAS); + nRCAS_MGIOLI: nRCAS_MGIOL + port map (IOLDO=>nRCAS_c, OPOS=>N_249_i, CLK=>RCLK_c); + nRRASI: nRRASB + port map (IOLDO=>nRRAS_c, nRRASS=>nRRAS); + nRRAS_MGIOLI: nRRAS_MGIOL + port map (IOLDO=>nRRAS_c, OPOS=>N_25_i, CLK=>RCLK_c); + nRWEI: nRWEB + port map (IOLDO=>nRWE_c, nRWES=>nRWE); + nRWE_MGIOLI: nRWE_MGIOL + port map (IOLDO=>nRWE_c, OPOS=>N_37_i, CLK=>RCLK_c); + RCKEI: RCKEB + port map (PADDO=>RCKE_c, RCKES=>RCKE); + RCLKI: RCLKB + port map (PADDI=>RCLK_c, RCLKS=>RCLK); + nRCSI: nRCSB + port map (IOLDO=>nRCS_c, nRCSS=>nRCS); + nRCS_MGIOLI: nRCS_MGIOL + port map (IOLDO=>nRCS_c, OPOS=>N_28_i, CLK=>RCLK_c); + RD_7_I: RD_7_B + port map (PADDI=>RD_in_7, IOLDO=>WRD_7, PADDT=>RD_1_i, RD7=>RD(7)); + RD_7_MGIOLI: RD_7_MGIOL + port map (IOLDO=>WRD_7, OPOS=>Din_c_7, CLK=>nCCAS_c); + RD_6_I: RD_6_B + port map (PADDI=>RD_in_6, IOLDO=>WRD_6, PADDT=>RD_1_i, RD6=>RD(6)); + RD_6_MGIOLI: RD_6_MGIOL + port map (IOLDO=>WRD_6, OPOS=>Din_c_6, CLK=>nCCAS_c); + RD_5_I: RD_5_B + port map (PADDI=>RD_in_5, IOLDO=>WRD_5, PADDT=>RD_1_i, RD5=>RD(5)); + RD_5_MGIOLI: RD_5_MGIOL + port map (IOLDO=>WRD_5, OPOS=>Din_c_5, CLK=>nCCAS_c); + RD_4_I: RD_4_B + port map (PADDI=>RD_in_4, IOLDO=>WRD_4, PADDT=>RD_1_i, RD4=>RD(4)); + RD_4_MGIOLI: RD_4_MGIOL + port map (IOLDO=>WRD_4, OPOS=>Din_c_4, CLK=>nCCAS_c); + RD_3_I: RD_3_B + port map (PADDI=>RD_in_3, IOLDO=>WRD_3, PADDT=>RD_1_i, RD3=>RD(3)); + RD_3_MGIOLI: RD_3_MGIOL + port map (IOLDO=>WRD_3, OPOS=>Din_c_3, CLK=>nCCAS_c); + RD_2_I: RD_2_B + port map (PADDI=>RD_in_2, IOLDO=>WRD_2, PADDT=>RD_1_i, RD2=>RD(2)); + RD_2_MGIOLI: RD_2_MGIOL + port map (IOLDO=>WRD_2, OPOS=>Din_c_2, CLK=>nCCAS_c); + RD_1_I0: RD_1_B + port map (PADDI=>RD_in_1, IOLDO=>WRD_1, PADDT=>RD_1_i, RD1=>RD(1)); + RD_1_MGIOLI: RD_1_MGIOL + port map (IOLDO=>WRD_1, OPOS=>Din_c_1, CLK=>nCCAS_c); + RA_11_I: RA_11_B + port map (IOLDO=>RA_c_11, RA11=>RA(11)); + RA_11_MGIOLI: RA_11_MGIOL + port map (IOLDO=>RA_c_11, OPOS=>RA11d_0, CLK=>PHI2_c); + RA_10_I: RA_10_B + port map (IOLDO=>RA_c_10, RA10=>RA(10)); + RA_10_MGIOLI: RA_10_MGIOL + port map (IOLDO=>RA_c_10, OPOS=>N_45, LSR=>RA10s_i, CLK=>RCLK_c); + RA_9_I: RA_9_B + port map (PADDO=>RA_c_9, RA9=>RA(9)); + RA_8_I: RA_8_B + port map (PADDO=>RA_c_8, RA8=>RA(8)); + RA_7_I: RA_7_B + port map (PADDO=>RA_c_7, RA7=>RA(7)); + RA_6_I: RA_6_B + port map (PADDO=>RA_c_6, RA6=>RA(6)); + RA_5_I: RA_5_B + port map (PADDO=>RA_c_5, RA5=>RA(5)); + RA_4_I: RA_4_B + port map (PADDO=>RA_c_4, RA4=>RA(4)); + RA_3_I: RA_3_B + port map (PADDO=>RA_c_3, RA3=>RA(3)); + RA_2_I: RA_2_B + port map (PADDO=>RA_c_2, RA2=>RA(2)); + RA_1_I: RA_1_B + port map (PADDO=>RA_c_1, RA1=>RA(1)); + RA_0_I: RA_0_B + port map (PADDO=>RA_c_0, RA0=>RA(0)); + RBA_1_I: RBA_1_B + port map (IOLDO=>RBA_c_1, RBA1=>RBA(1)); + RBA_1_MGIOLI: RBA_1_MGIOL + port map (IOLDO=>RBA_c_1, OPOS=>RBAd_0_1, CLK=>nCRAS_c); + RBA_0_I: RBA_0_B + port map (IOLDO=>RBA_c_0, RBA0=>RBA(0)); + RBA_0_MGIOLI: RBA_0_MGIOL + port map (IOLDO=>RBA_c_0, OPOS=>RBAd_0_0, CLK=>nCRAS_c); + LEDI: LEDB + port map (PADDO=>LED_c, LEDS=>LED); + nFWEI: nFWEB + port map (PADDI=>nFWE_c, nFWES=>nFWE); + nCRASI: nCRASB + port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); + nCCASI: nCCASB + port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); + Dout_7_I: Dout_7_B + port map (PADDO=>RD_in_7, Dout7=>Dout(7)); + Dout_6_I: Dout_6_B + port map (PADDO=>RD_in_6, Dout6=>Dout(6)); + Dout_5_I: Dout_5_B + port map (PADDO=>RD_in_5, Dout5=>Dout(5)); + Dout_4_I: Dout_4_B + port map (PADDO=>RD_in_4, Dout4=>Dout(4)); + Dout_3_I: Dout_3_B + port map (PADDO=>RD_in_3, Dout3=>Dout(3)); + Dout_2_I: Dout_2_B + port map (PADDO=>RD_in_2, Dout2=>Dout(2)); + Dout_1_I: Dout_1_B + port map (PADDO=>RD_in_1, Dout1=>Dout(1)); + Din_7_I: Din_7_B + port map (PADDI=>Din_c_7, Din7=>Din(7)); + Din_7_MGIOLI: Din_7_MGIOL + port map (DI=>Din_c_7, CLK=>PHI2_c, INP=>Bank_7); + Din_6_I: Din_6_B + port map (PADDI=>Din_c_6, Din6=>Din(6)); + Din_6_MGIOLI: Din_6_MGIOL + port map (DI=>Din_c_6, CLK=>PHI2_c, INP=>Bank_6); + Din_5_I: Din_5_B + port map (PADDI=>Din_c_5, Din5=>Din(5)); + Din_5_MGIOLI: Din_5_MGIOL + port map (DI=>Din_c_5, CLK=>PHI2_c, INP=>Bank_5); + Din_4_I: Din_4_B + port map (PADDI=>Din_c_4, Din4=>Din(4)); + Din_4_MGIOLI: Din_4_MGIOL + port map (DI=>Din_c_4, CLK=>PHI2_c, INP=>Bank_4); + Din_3_I: Din_3_B + port map (PADDI=>Din_c_3, Din3=>Din(3)); + Din_3_MGIOLI: Din_3_MGIOL + port map (DI=>Din_c_3, CLK=>PHI2_c, INP=>Bank_3); + Din_2_I: Din_2_B + port map (PADDI=>Din_c_2, Din2=>Din(2)); + Din_2_MGIOLI: Din_2_MGIOL + port map (DI=>Din_c_2, CLK=>PHI2_c, INP=>Bank_2); + Din_1_I: Din_1_B + port map (PADDI=>Din_c_1, Din1=>Din(1)); + Din_1_MGIOLI: Din_1_MGIOL + port map (DI=>Din_c_1, CLK=>PHI2_c, INP=>Bank_1); + Din_0_I: Din_0_B + port map (PADDI=>Din_c_0, Din0=>Din(0)); + Din_0_MGIOLI: Din_0_MGIOL + port map (DI=>Din_c_0, CLK=>PHI2_c, INP=>Bank_0); + CROW_1_I: CROW_1_B + port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); + CROW_0_I: CROW_0_B + port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); + MAin_9_I: MAin_9_B + port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); + MAin_8_I: MAin_8_B + port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); + MAin_7_I: MAin_7_B + port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); + MAin_6_I: MAin_6_B + port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); + MAin_5_I: MAin_5_B + port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); + MAin_4_I: MAin_4_B + port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); + MAin_3_I: MAin_3_B + port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); + MAin_2_I: MAin_2_B + port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); + MAin_1_I: MAin_1_B + port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); + MAin_0_I: MAin_0_B + port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); + ufmefb_EFBInst_0I: ufmefb_EFBInst_0 + port map (WBCLKI=>RCLK_c, WBRSTI=>wb_rst, WBCYCI=>wb_cyc_stb, + WBSTBI=>wb_cyc_stb, WBWEI=>wb_we, WBADRI0=>wb_adr_0, + WBADRI1=>wb_adr_1, WBADRI2=>wb_adr_2, WBADRI3=>wb_adr_3, + WBADRI4=>wb_adr_4, WBADRI5=>wb_adr_5, WBADRI6=>wb_adr_6, + WBADRI7=>wb_adr_7, WBDATI0=>wb_dati_0, WBDATI1=>wb_dati_1, + WBDATI2=>wb_dati_2, WBDATI3=>wb_dati_3, WBDATI4=>wb_dati_4, + WBDATI5=>wb_dati_5, WBDATI6=>wb_dati_6, WBDATI7=>wb_dati_7, + WBDATO0=>wb_dato_0, WBDATO1=>wb_dato_1, WBACKO=>wb_ack); + VHI_INST: VHI + port map (Z=>VCCI); + PUR_INST: PUR + port map (PUR=>VCCI); + GSR_INST: GSR + port map (GSR=>VCCI); + end Structure; + + + + library IEEE, vital2000, MACHXO2; + configuration Structure_CON of RAM2GS is + for Structure + end for; + end Structure_CON; + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.sdf b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.sdf new file mode 100644 index 0000000..24faea0 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.sdf @@ -0,0 +1,4384 @@ +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 21:54:59 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1) + (DELAY + (ABSOLUTE + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_10") + (INSTANCE SLICE_10) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_11") + (INSTANCE SLICE_11) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_12") + (INSTANCE SLICE_12) + (DELAY + (ABSOLUTE + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_16") + (INSTANCE SLICE_16) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_17") + (INSTANCE SLICE_17) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (457:589:721)(457:589:721)) + (IOPATH A1 OFX0 (457:589:721)(457:589:721)) + (IOPATH D0 OFX0 (457:589:721)(457:589:721)) + (IOPATH C0 OFX0 (457:589:721)(457:589:721)) + (IOPATH B0 OFX0 (457:589:721)(457:589:721)) + (IOPATH A0 OFX0 (457:589:721)(457:589:721)) + (IOPATH M0 OFX0 (322:349:376)(322:349:376)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_18") + (INSTANCE SLICE_18) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_23") + (INSTANCE SLICE_23) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_24") + (INSTANCE SLICE_24) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_25") + (INSTANCE SLICE_25) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_28") + (INSTANCE SLICE_28) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32) + (DELAY + (ABSOLUTE + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_34") + (INSTANCE SLICE_34) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_35") + (INSTANCE SLICE_35) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_36") + (INSTANCE SLICE_36) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_37") + (INSTANCE SLICE_37) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_38") + (INSTANCE SLICE_38) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_40") + (INSTANCE SLICE_40) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_45") + (INSTANCE SLICE_45) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_46") + (INSTANCE SLICE_46) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_47") + (INSTANCE SLICE_47) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_48") + (INSTANCE SLICE_48) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_49") + (INSTANCE SLICE_49) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_53") + (INSTANCE SLICE_53) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_54") + (INSTANCE SLICE_54) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "wb_cyc_stb_RNO_SLICE_61") + (INSTANCE wb_cyc_stb_RNO\/SLICE_61) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (457:589:721)(457:589:721)) + (IOPATH C1 OFX0 (457:589:721)(457:589:721)) + (IOPATH B1 OFX0 (457:589:721)(457:589:721)) + (IOPATH A1 OFX0 (457:589:721)(457:589:721)) + (IOPATH C0 OFX0 (457:589:721)(457:589:721)) + (IOPATH B0 OFX0 (457:589:721)(457:589:721)) + (IOPATH A0 OFX0 (457:589:721)(457:589:721)) + (IOPATH M0 OFX0 (322:349:376)(322:349:376)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_65") + (INSTANCE SLICE_65) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_95") + (INSTANCE SLICE_95) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_96") + (INSTANCE SLICE_96) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_97") + (INSTANCE SLICE_97) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_98") + (INSTANCE SLICE_98) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_99") + (INSTANCE SLICE_99) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_100") + (INSTANCE SLICE_100) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_101") + (INSTANCE SLICE_101) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_102") + (INSTANCE SLICE_102) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_103") + (INSTANCE SLICE_103) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_104") + (INSTANCE SLICE_104) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_105") + (INSTANCE SLICE_105) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + ) + ) + (CELL + (CELLTYPE "SLICE_106") + (INSTANCE SLICE_106) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_107") + (INSTANCE SLICE_107) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_108") + (INSTANCE SLICE_108) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + ) + ) + (CELL + (CELLTYPE "SLICE_109") + (INSTANCE SLICE_109) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_110") + (INSTANCE SLICE_110) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_111") + (INSTANCE SLICE_111) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_112") + (INSTANCE SLICE_112) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_113") + (INSTANCE SLICE_113) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_114") + (INSTANCE SLICE_114) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_115") + (INSTANCE SLICE_115) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_116") + (INSTANCE SLICE_116) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_117") + (INSTANCE SLICE_117) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_118") + (INSTANCE SLICE_118) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_0_") + (INSTANCE RD\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD0 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD0 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (3330:3330:3330)) + (WIDTH (negedge RD0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_0__MGIOL") + (INSTANCE RD\[0\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "Dout_0_") + (INSTANCE Dout\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2") + (INSTANCE PHI2_I) + (DELAY + (ABSOLUTE + (IOPATH PHI2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2) (3330:3330:3330)) + (WIDTH (negedge PHI2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "PHI2_MGIOL") + (INSTANCE PHI2_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RDQML") + (INSTANCE RDQML_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQML (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMH") + (INSTANCE RDQMH_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMH (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS") + (INSTANCE nRCAS_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRCAS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS_MGIOL") + (INSTANCE nRCAS_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "nRRAS") + (INSTANCE nRRAS_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRRAS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS_MGIOL") + (INSTANCE nRRAS_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "nRWE") + (INSTANCE nRWE_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRWE (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE_MGIOL") + (INSTANCE nRWE_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RCKE") + (INSTANCE RCKE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKE (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RCLK") + (INSTANCE RCLK_I) + (DELAY + (ABSOLUTE + (IOPATH RCLK PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLK) (3330:3330:3330)) + (WIDTH (negedge RCLK) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nRCS") + (INSTANCE nRCS_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRCS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCS_MGIOL") + (INSTANCE nRCS_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RD_7_") + (INSTANCE RD\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD7 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD7 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (3330:3330:3330)) + (WIDTH (negedge RD7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_7__MGIOL") + (INSTANCE RD\[7\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_6_") + (INSTANCE RD\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD6 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD6 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (3330:3330:3330)) + (WIDTH (negedge RD6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_6__MGIOL") + (INSTANCE RD\[6\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_5_") + (INSTANCE RD\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD5 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD5 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (3330:3330:3330)) + (WIDTH (negedge RD5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_5__MGIOL") + (INSTANCE RD\[5\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_4_") + (INSTANCE RD\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD4 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD4 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (3330:3330:3330)) + (WIDTH (negedge RD4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_4__MGIOL") + (INSTANCE RD\[4\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_3_") + (INSTANCE RD\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD3 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD3 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (3330:3330:3330)) + (WIDTH (negedge RD3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_3__MGIOL") + (INSTANCE RD\[3\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_2_") + (INSTANCE RD\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD2 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD2 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (3330:3330:3330)) + (WIDTH (negedge RD2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_2__MGIOL") + (INSTANCE RD\[2\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_1_") + (INSTANCE RD\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD1 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD1 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (3330:3330:3330)) + (WIDTH (negedge RD1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_1__MGIOL") + (INSTANCE RD\[1\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RA_11_") + (INSTANCE RA\[11\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RA11 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_11__MGIOL") + (INSTANCE RA\[11\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RA_10_") + (INSTANCE RA\[10\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RA10 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10__MGIOL") + (INSTANCE RA\[10\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + (SETUPHOLD LSR (posedge CLK) (100:100:100)(-90:-90:-90)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RA_9_") + (INSTANCE RA\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_") + (INSTANCE RA\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_") + (INSTANCE RA\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_") + (INSTANCE RA\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_") + (INSTANCE RA\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_") + (INSTANCE RA\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_") + (INSTANCE RA\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_") + (INSTANCE RA\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_") + (INSTANCE RA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_") + (INSTANCE RA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_") + (INSTANCE RBA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RBA1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1__MGIOL") + (INSTANCE RBA\[1\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RBA_0_") + (INSTANCE RBA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RBA0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0__MGIOL") + (INSTANCE RBA\[0\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "LED") + (INSTANCE LED_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO LED (2371:2455:2540)(2371:2455:2540)) + ) + ) + ) + (CELL + (CELLTYPE "nFWE") + (INSTANCE nFWE_I) + (DELAY + (ABSOLUTE + (IOPATH nFWE PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWE) (3330:3330:3330)) + (WIDTH (negedge nFWE) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nCRAS") + (INSTANCE nCRAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCRAS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRAS) (3330:3330:3330)) + (WIDTH (negedge nCRAS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nCCAS") + (INSTANCE nCCAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCCAS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCAS) (3330:3330:3330)) + (WIDTH (negedge nCCAS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Dout_7_") + (INSTANCE Dout\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_") + (INSTANCE Dout\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_") + (INSTANCE Dout\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_") + (INSTANCE Dout\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_") + (INSTANCE Dout\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_") + (INSTANCE Dout\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_") + (INSTANCE Dout\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_") + (INSTANCE Din\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (3330:3330:3330)) + (WIDTH (negedge Din7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_7__MGIOL") + (INSTANCE Din\[7\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_6_") + (INSTANCE Din\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (3330:3330:3330)) + (WIDTH (negedge Din6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_6__MGIOL") + (INSTANCE Din\[6\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_5_") + (INSTANCE Din\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (3330:3330:3330)) + (WIDTH (negedge Din5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_5__MGIOL") + (INSTANCE Din\[5\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_4_") + (INSTANCE Din\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (3330:3330:3330)) + (WIDTH (negedge Din4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_4__MGIOL") + (INSTANCE Din\[4\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_3_") + (INSTANCE Din\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (3330:3330:3330)) + (WIDTH (negedge Din3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_3__MGIOL") + (INSTANCE Din\[3\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_2_") + (INSTANCE Din\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (3330:3330:3330)) + (WIDTH (negedge Din2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_2__MGIOL") + (INSTANCE Din\[2\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_1_") + (INSTANCE Din\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (3330:3330:3330)) + (WIDTH (negedge Din1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_1__MGIOL") + (INSTANCE Din\[1\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_0_") + (INSTANCE Din\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (3330:3330:3330)) + (WIDTH (negedge Din0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_0__MGIOL") + (INSTANCE Din\[0\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "CROW_1_") + (INSTANCE CROW\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (3330:3330:3330)) + (WIDTH (negedge CROW1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "CROW_0_") + (INSTANCE CROW\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (3330:3330:3330)) + (WIDTH (negedge CROW0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_9_") + (INSTANCE MAin\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (3330:3330:3330)) + (WIDTH (negedge MAin9) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_8_") + (INSTANCE MAin\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (3330:3330:3330)) + (WIDTH (negedge MAin8) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_7_") + (INSTANCE MAin\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (3330:3330:3330)) + (WIDTH (negedge MAin7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_6_") + (INSTANCE MAin\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (3330:3330:3330)) + (WIDTH (negedge MAin6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_5_") + (INSTANCE MAin\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (3330:3330:3330)) + (WIDTH (negedge MAin5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_4_") + (INSTANCE MAin\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (3330:3330:3330)) + (WIDTH (negedge MAin4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_3_") + (INSTANCE MAin\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (3330:3330:3330)) + (WIDTH (negedge MAin3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_2_") + (INSTANCE MAin\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (3330:3330:3330)) + (WIDTH (negedge MAin2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_1_") + (INSTANCE MAin\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (3330:3330:3330)) + (WIDTH (negedge MAin1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_0_") + (INSTANCE MAin\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (3330:3330:3330)) + (WIDTH (negedge MAin0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "EFB_Buffer_Block") + (INSTANCE ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20) + (DELAY + (ABSOLUTE + (IOPATH WBCLKIin WBDATO0out (978:3628:6278)(978:3628:6278)) + (IOPATH WBCLKIin WBDATO1out (947:3204:5461)(947:3204:5461)) + (IOPATH WBCLKIin WBACKOout (903:1623:2343)(903:1623:2343)) + ) + ) + (TIMINGCHECK + (SETUPHOLD WBRSTIin (posedge WBCLKIin) (3138:3170:3203)(-3138:-1966:-794)) + (SETUPHOLD WBCYCIin (posedge WBCLKIin) (2616:2649:2682)(-2616:-1558:-501)) + (SETUPHOLD WBSTBIin (posedge WBCLKIin) (2605:2637:2670)(-2605:-1494:-384)) + (SETUPHOLD WBWEIin (posedge WBCLKIin) (1409:1442:1475)(-1409:-837:-266)) + (SETUPHOLD WBADRI0in (posedge WBCLKIin) (2058:2123:2188)(-2058:-1191:-324)) + (SETUPHOLD WBADRI1in (posedge WBCLKIin) (2068:2104:2140)(-2068:-1234:-401)) + (SETUPHOLD WBADRI2in (posedge WBCLKIin) (1928:1993:2058)(-1928:-1110:-292)) + (SETUPHOLD WBADRI3in (posedge WBCLKIin) (2167:2196:2226)(-2167:-1264:-361)) + (SETUPHOLD WBADRI4in (posedge WBCLKIin) (2072:2101:2130)(-2072:-1198:-324)) + (SETUPHOLD WBADRI5in (posedge WBCLKIin) (1611:1640:1670)(-1611:-950:-289)) + (SETUPHOLD WBADRI6in (posedge WBCLKIin) (2532:2564:2597)(-2532:-1380:-229)) + (SETUPHOLD WBADRI7in (posedge WBCLKIin) (2519:2551:2584)(-2519:-1377:-235)) + (SETUPHOLD WBDATI0in (posedge WBCLKIin) (1057:1262:1467)(-1037:-712:-388)) + (SETUPHOLD WBDATI1in (posedge WBCLKIin) (1114:1338:1563)(-1108:-785:-462)) + (SETUPHOLD WBDATI2in (posedge WBCLKIin) (916:1076:1237)(-912:-636:-360)) + (SETUPHOLD WBDATI3in (posedge WBCLKIin) (1145:1359:1573)(-1115:-782:-449)) + (SETUPHOLD WBDATI4in (posedge WBCLKIin) (1192:1400:1609)(-1176:-820:-464)) + (SETUPHOLD WBDATI5in (posedge WBCLKIin) (1027:1222:1418)(-1000:-706:-413)) + (SETUPHOLD WBDATI6in (posedge WBCLKIin) (1034:1248:1463)(-1034:-756:-479)) + (SETUPHOLD WBDATI7in (posedge WBCLKIin) (528:614:701)(-528:-398:-268)) + ) + (TIMINGCHECK + (WIDTH (posedge WBCLKIin) (4887:4887:4887)) + (WIDTH (negedge WBCLKIin) (4887:4887:4887)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q1 SLICE_89/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q1 SLICE_96/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/F1 SLICE_0/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_9/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_12/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_16/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_28/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_34/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_35/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_36/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_37/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_38/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_39/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_45/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_47/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_48/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_49/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_53/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_54/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_55/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_56/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_57/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_106/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_118/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI PHI2_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI nRCAS_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI nRRAS_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI nRWE_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI nRCS_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI RA\[10\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBCLKIin (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/FCO SLICE_9/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_47/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_76/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_102/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_102/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/F0 SLICE_1/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_47/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_76/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_102/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_102/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_47/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_76/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_102/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_102/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/F1 SLICE_2/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/F0 SLICE_2/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_31/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_58/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_59/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_65/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_70/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_71/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_72/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_75/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_79/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_82/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_83/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_84/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_86/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_93/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_100/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_100/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_103/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_109/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_110/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_31/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_58/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_65/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_67/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_70/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_71/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_78/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_79/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_80/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_82/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_83/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_84/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_86/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_93/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_99/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_99/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_100/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_103/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_103/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_110/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/F1 SLICE_3/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/F0 SLICE_3/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_58/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_65/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_70/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_71/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_72/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_74/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_78/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_80/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_81/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_82/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_83/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_86/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_87/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_99/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_99/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_100/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_100/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_102/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_110/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_110/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_65/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_70/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_71/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_72/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_75/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_82/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_83/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_86/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_87/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_100/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_100/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_103/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_103/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_110/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/F1 SLICE_4/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/F0 SLICE_4/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_65/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_70/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_71/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_72/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_74/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_78/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_80/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_81/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_83/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_85/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_86/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_87/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_99/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_99/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_100/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_65/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_65/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_67/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_72/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_78/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_80/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_85/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_86/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_87/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_99/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_99/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_103/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_103/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_109/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/F1 SLICE_5/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/F0 SLICE_5/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_96/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_35/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/F1 SLICE_6/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/F0 SLICE_6/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_96/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_53/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/F1 SLICE_7/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/F0 SLICE_7/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_53/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_35/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/F1 SLICE_8/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/F0 SLICE_8/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/FCO SLICE_8/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q1 SLICE_9/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q1 SLICE_53/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q0 SLICE_9/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q0 SLICE_96/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F1 SLICE_9/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F0 SLICE_10/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F0 SLICE_90/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_101/F1 SLICE_10/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_104/F0 SLICE_10/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F0 SLICE_10/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F0 SLICE_90/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F0 SLICE_91/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_11/F1 SLICE_10/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_11/F1 SLICE_11/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_11/F1 SLICE_17/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_10/F1 SLICE_10/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_10/F1 SLICE_17/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F1 SLICE_10/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F1 SLICE_11/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_10/Q0 SLICE_10/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_10/Q0 SLICE_17/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_10/F0 SLICE_10/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_10/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_11/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_17/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_18/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_23/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_24/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_25/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_46/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI PHI2_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI RA\[11\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[7\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[6\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[5\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[4\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[3\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[2\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[1\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI Din\[0\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_106/F0 SLICE_11/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_104/F1 SLICE_11/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 SLICE_11/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 SLICE_24/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 SLICE_73/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 SLICE_90/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 SLICE_91/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F0 SLICE_11/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F0 SLICE_90/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F0 SLICE_91/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_11/Q0 SLICE_11/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_11/Q0 SLICE_17/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_11/F0 SLICE_11/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_12/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_26/A1 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[0\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[7\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[6\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[5\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[4\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[3\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[2\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI RD\[1\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/F0 SLICE_12/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/F0 SLICE_105/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/F0 SLICE_105/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/Q0 SLICE_12/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/Q1 SLICE_88/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/Q1 SLICE_98/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/Q1 SLICE_106/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_12/Q1 SLICE_117/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_16/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_16/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_45/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_48/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_63/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_63/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_66/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_66/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_69/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_98/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_117/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/Q0 SLICE_117/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_16/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_16/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_35/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_36/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_37/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_45/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_45/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_63/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_64/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q1 SLICE_69/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_16/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_28/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_77/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_16/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_16/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_45/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_48/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_63/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_69/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_88/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_98/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/Q0 SLICE_117/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/F0 SLICE_16/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/F1 SLICE_38/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/F1 SLICE_39/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_17/Q0 SLICE_17/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_17/Q0 SLICE_17/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_17/Q0 SLICE_24/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_17/Q0 SLICE_73/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F1 SLICE_17/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_17/OFX0 SLICE_17/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_18/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_20/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_21/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_22/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_23/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_24/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_25/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_18/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_20/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_21/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_22/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_46/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_104/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_104/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI RD\[1\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI Din\[1\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_18/Q0 SLICE_18/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_18/Q0 SLICE_32/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_18/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_20/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_21/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_22/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_23/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_24/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_25/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_73/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_18/F1 SLICE_18/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_18/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_34/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_46/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_18/F0 SLICE_18/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_18/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_20/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_21/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_22/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_23/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_24/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_25/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_46/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 wb_cyc_stb_RNO\/SLICE_61/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_95/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/F0 SLICE_20/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_21/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_97/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_22/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_25/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_46/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_73/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_104/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_104/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI RD\[0\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI Din\[0\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_22/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 wb_cyc_stb_RNO\/SLICE_61/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_23/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_73/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_101/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_101/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_106/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI RD\[7\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI Din\[7\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_23/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_101/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_104/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_104/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_116/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_116/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI RD\[6\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI Din\[6\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_23/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_73/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_101/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_101/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_104/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI RD\[5\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI Din\[5\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_23/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_101/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_101/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_106/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_116/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI RD\[4\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI Din\[4\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F0 SLICE_23/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/Q0 SLICE_59/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/Q0 wb_cyc_stb_RNO\/SLICE_61/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/Q0 SLICE_95/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/F0 SLICE_24/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/F0 SLICE_73/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/F0 SLICE_90/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F0 SLICE_24/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/Q0 SLICE_62/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/Q0 SLICE_97/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_25/Q0 SLICE_25/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_25/Q0 SLICE_47/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/Q0 SLICE_25/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/Q0 SLICE_116/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_25/F1 SLICE_25/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_25/F0 SLICE_25/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_26/B1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_26/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_92/D0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_105/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_105/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F0 SLICE_108/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_26/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_34/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_34/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_40/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_41/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_42/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_43/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_105/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_108/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI RBA\[1\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI RBA\[0\]_MGIOL/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_48/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_98/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_117/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[0\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[7\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[6\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[5\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[4\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[3\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[2\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 RD\[1\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_28/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_28/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_36/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_36/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_38/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_39/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_45/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_48/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_48/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_63/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_64/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_64/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_68/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_69/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_88/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/Q0 SLICE_108/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_28/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_28/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_63/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_68/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_77/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_108/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_108/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_28/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_28/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_29/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_29/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_30/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_38/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_68/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_77/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/Q0 SLICE_108/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/F0 SLICE_28/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/F1 RA\[10\]_MGIOL/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q1 SLICE_29/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q1 SLICE_30/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q1 SLICE_30/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q1 SLICE_38/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q1 SLICE_68/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q1 SLICE_77/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_38/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_68/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_77/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F1 SLICE_29/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108/F0 SLICE_29/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108/F0 SLICE_30/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F1 RA\[10\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F1 SLICE_31/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F1 SLICE_71/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F1 SLICE_110/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_102/F1 SLICE_31/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_32/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_36/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_38/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_39/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_47/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_47/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_49/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_49/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_50/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_50/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_51/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_51/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_52/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_52/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_54/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_55/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_56/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_56/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_59/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_60/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 wb_cyc_stb_RNO\/SLICE_61/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_62/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_62/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_63/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_74/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_75/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_76/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_79/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_81/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_89/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_95/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_97/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F1 SLICE_31/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb\/EFBInst_0/WBDATO1 SLICE_32/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_32/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_47/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q0 SLICE_34/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q0 SLICE_36/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q0 SLICE_48/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q0 SLICE_66/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/F0 SLICE_34/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q0 SLICE_34/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q0 SLICE_37/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/F1 LED_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_35/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_107/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_107/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_111/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_112/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_112/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_113/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_113/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_114/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_114/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_115/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/Q0 SLICE_115/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 SLICE_35/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_35/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_42/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_92/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_111/B0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_MGIOL/IN SLICE_35/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/F0 RA\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/Q0 SLICE_37/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/F1 SLICE_53/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/Q1 SLICE_59/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/Q1 SLICE_95/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/Q1 SLICE_97/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_35/Q1 SLICE_118/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/F0 SLICE_36/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/F0 SLICE_45/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/F0 SLICE_45/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/F0 SLICE_64/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_117/F0 SLICE_36/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_36/F1 SLICE_36/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_36/F0 SLICE_36/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_36/Q0 SLICE_37/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_MGIOL/IN SLICE_37/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_MGIOL/IN SLICE_37/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_MGIOL/IN SLICE_37/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_MGIOL/IN SLICE_37/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37/F0 SLICE_37/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37/Q0 SLICE_45/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37/Q0 SLICE_69/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37/Q0 RCKE_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37/F1 SLICE_94/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/F1 SLICE_38/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/F1 SLICE_39/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_38/F0 SLICE_38/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_39/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_40/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_40/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_41/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_41/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_42/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_42/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_43/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_43/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_44/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_44/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_116/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_118/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 SLICE_118/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F1 SLICE_39/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_40/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_92/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_105/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_113/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_40/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_92/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_105/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_105/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_112/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40/F1 SLICE_40/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40/F0 SLICE_40/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40/Q0 SLICE_112/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40/Q1 SLICE_113/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_41/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_91/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_92/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_115/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_41/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_111/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_114/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F1 SLICE_41/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q0 SLICE_114/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_115/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_42/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_90/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_111/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_115/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F1 SLICE_42/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q1 SLICE_115/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_43/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_90/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_111/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_111/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_43/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_90/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_105/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_114/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F1 SLICE_43/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_114/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q1 SLICE_111/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_44/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_107/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_107/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_112/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_44/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_113/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F1 SLICE_44/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_113/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q1 SLICE_107/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/F1 SLICE_77/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_45/F1 SLICE_108/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_106/F1 SLICE_46/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_101/F0 SLICE_46/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_46/F1 SLICE_46/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_46/Q0 SLICE_46/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_46/Q0 SLICE_116/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_46/F0 SLICE_46/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb\/EFBInst_0/WBDATO0 SLICE_47/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/F0 SLICE_47/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/F1 SLICE_53/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/F1 SLICE_58/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/F1 SLICE_59/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/F1 SLICE_60/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_106/Q0 SLICE_48/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_106/Q0 SLICE_88/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_106/Q0 SLICE_98/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/F1 SLICE_48/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_48/F0 SLICE_48/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_48/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_69/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_49/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_51/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_51/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_52/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_53/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_55/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_58/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_67/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_67/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_72/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_75/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_76/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_79/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_81/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_85/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_93/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_109/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_109/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/Q0 SLICE_49/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI0in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F0 SLICE_49/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q1 SLICE_49/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI7in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F1 SLICE_49/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/F1 SLICE_49/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/F0 SLICE_49/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_49/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_50/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_51/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_52/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_54/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_55/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_56/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_57/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_60/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/Q1 SLICE_50/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI1in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI2in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F1 SLICE_50/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q1 SLICE_51/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI3in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q0 SLICE_51/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI4in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F1 SLICE_51/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_52/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI5in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q0 SLICE_52/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI6in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_52/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI7in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_96/F0 SLICE_53/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_95/F0 SLICE_53/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_53/F1 SLICE_53/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_53/F1 SLICE_89/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_53/F0 SLICE_53/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT wb_cyc_stb_RNO\/SLICE_61/OFX0 SLICE_53/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_53/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBCYCIin + (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_53/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBSTBIin + (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_99/F1 SLICE_54/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_99/F1 SLICE_57/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/F0 SLICE_54/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_54/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_57/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_75/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_78/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_54/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_55/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_67/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/Q0 SLICE_54/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBWEIin + (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_110/F0 SLICE_54/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_109/F0 SLICE_54/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_109/F0 SLICE_57/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_109/F0 SLICE_70/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_109/F0 SLICE_83/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/F1 SLICE_54/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/F0 SLICE_54/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/Q0 SLICE_79/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI0in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/Q1 SLICE_55/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI1in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F0 SLICE_55/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F0 SLICE_67/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F0 SLICE_76/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F0 SLICE_55/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_55/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_56/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_55/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_56/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/F1 SLICE_55/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/F0 SLICE_55/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q0 SLICE_75/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI2in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q1 SLICE_56/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI3in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q0 SLICE_56/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI4in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/F0 SLICE_56/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F0 SLICE_56/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F1 SLICE_56/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F0 SLICE_56/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q1 SLICE_74/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI5in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F0 SLICE_57/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F0 SLICE_57/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F0 SLICE_57/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F0 SLICE_57/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F1 SLICE_57/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 SLICE_81/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI6in (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_58/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_89/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_96/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F1 SLICE_58/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F1 SLICE_93/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F1 SLICE_58/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F1 SLICE_59/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118/Q0 SLICE_59/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118/Q0 SLICE_95/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118/Q0 SLICE_97/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/Q0 SLICE_59/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBRSTIin + (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F0 SLICE_60/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F0 SLICE_84/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F1 SLICE_60/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F1 SLICE_62/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F1 SLICE_84/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F1 SLICE_60/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q0 SLICE_60/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_95/F1 wb_cyc_stb_RNO\/SLICE_61/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_95/F1 SLICE_62/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_95/F1 SLICE_95/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89/F0 wb_cyc_stb_RNO\/SLICE_61/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_102/F0 wb_cyc_stb_RNO\/SLICE_61/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_102/F0 SLICE_62/B0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb\/EFBInst_0/WBACKO wb_cyc_stb_RNO\/SLICE_61/A0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb\/EFBInst_0/WBACKO SLICE_62/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F0 SLICE_62/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F1 SLICE_63/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F1 SLICE_77/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F1 SLICE_108/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F0 SLICE_66/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F0 SLICE_64/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F0 SLICE_66/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F1 SLICE_64/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_98/F0 SLICE_64/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q1 SLICE_64/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q1 SLICE_98/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/Q1 SLICE_117/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 nRWE_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_65/F0 SLICE_65/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_65/F1 SLICE_85/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F1 SLICE_66/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 SLICE_66/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 SLICE_88/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F0 nRCAS_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_100/F0 SLICE_67/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F0 SLICE_68/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F1 SLICE_68/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F0 SLICE_70/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_74/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_80/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F0 SLICE_72/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F0 SLICE_79/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F0 SLICE_80/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_116/F0 SLICE_73/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_73/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_101/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_106/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_106/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI RD\[3\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI Din\[3\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F0 SLICE_73/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_103/F1 SLICE_74/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_109/F1 SLICE_74/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_109/F1 SLICE_80/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_99/F0 SLICE_75/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F0 SLICE_117/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F1 SLICE_78/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/F1 SLICE_79/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/F1 SLICE_80/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_103/F0 SLICE_81/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F1 SLICE_81/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F0 SLICE_81/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_82/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_84/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_87/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_93/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F1 SLICE_82/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F1 SLICE_87/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_83/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_110/F1 SLICE_84/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_110/F1 SLICE_93/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F0 SLICE_84/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F0 SLICE_93/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F0 SLICE_85/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_100/F1 SLICE_85/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86/F0 SLICE_85/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86/F1 SLICE_86/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_117/F1 SLICE_88/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108/F1 SLICE_88/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108/F1 nRRAS_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108/Q0 SLICE_88/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F1 nRCS_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89/F1 SLICE_89/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_96/F1 SLICE_89/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_96/F1 SLICE_96/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_111/F0 SLICE_91/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_105/F1 SLICE_91/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F1 SLICE_92/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F1 SLICE_105/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_MGIOL/IN SLICE_94/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_MGIOL/IN SLICE_94/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_94/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_MGIOL/IN SLICE_94/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_MGIOL/IN SLICE_94/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F1 SLICE_97/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_98/F1 SLICE_98/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_104/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_106/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_106/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI RD\[2\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI Din\[2\]_MGIOL/DI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_107/F0 RA\[9\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_107/F1 RDQMH_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_111/F1 RA\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_112/F0 RA\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_112/F1 RDQML_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_113/F0 RA\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_113/F1 RA\[8\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_114/F0 RA\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_114/F1 RA\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_115/F0 RA\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_115/F1 RA\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_116/F1 RA\[11\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT CROW\[0\]_I/PADDI SLICE_118/A1 (0:0:0)(0:0:0)) + (INTERCONNECT CROW\[1\]_I/PADDI SLICE_118/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118/F0 RBA\[1\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118/F1 RBA\[0\]_MGIOL/OPOS (0:0:0)(0:0:0)) + (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[0\]_MGIOL/IOLDO RD\[0\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT nRCAS_MGIOL/IOLDO nRCAS_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT nRRAS_MGIOL/IOLDO nRRAS_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT nRWE_MGIOL/IOLDO nRWE_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT nRCS_MGIOL/IOLDO nRCS_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[7\]_MGIOL/IOLDO RD\[7\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[6\]_MGIOL/IOLDO RD\[6\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[5\]_MGIOL/IOLDO RD\[5\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[4\]_MGIOL/IOLDO RD\[4\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[3\]_MGIOL/IOLDO RD\[3\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[2\]_MGIOL/IOLDO RD\[2\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[1\]_MGIOL/IOLDO RD\[1\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RA\[11\]_MGIOL/IOLDO RA\[11\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RA\[10\]_MGIOL/IOLDO RA\[10\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RBA\[1\]_MGIOL/IOLDO RBA\[1\]_I/IOLDO (0:0:0)(0:0:0)) + (INTERCONNECT RBA\[0\]_MGIOL/IOLDO RBA\[0\]_I/IOLDO (0:0:0)(0:0:0)) + ) + ) + ) +) diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.vo b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.vo new file mode 100644 index 0000000..c04e627 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mapvo.vo @@ -0,0 +1,5552 @@ + +// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +// ldbanno -n Verilog -o LCMXO2_640HC_impl1_mapvo.vo -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd +// Netlist created on Sat Aug 19 21:54:57 2023 +// Netlist written on Sat Aug 19 21:54:59 2023 +// Design is for device LCMXO2-640HC +// Design is for package TQFP100 +// Design is for performance grade 4 + +`timescale 1 ns / 1 ps + +module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, + RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML ); + input PHI2; + input [9:0] MAin; + input [1:0] CROW; + input [7:0] Din; + input nCCAS, nCRAS, nFWE, RCLK; + output [7:0] Dout; + output LED; + output [1:0] RBA; + output [11:0] RA; + output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML; + inout [7:0] RD; + wire \FS[0] , \FS_s[0] , RCLK_c, \FS_cry[0] , \FS[17] , \FS_s[17] , + \FS_cry[16] , \FS[16] , \FS[15] , \FS_s[16] , \FS_s[15] , + \FS_cry[14] , \FS[14] , \FS[13] , \FS_s[14] , \FS_s[13] , + \FS_cry[12] , \FS[12] , \FS[11] , \FS_s[12] , \FS_s[11] , + \FS_cry[10] , \FS[10] , \FS[9] , \FS_s[10] , \FS_s[9] , \FS_cry[8] , + \FS[8] , \FS[7] , \FS_s[8] , \FS_s[7] , \FS_cry[6] , \FS[6] , \FS[5] , + \FS_s[6] , \FS_s[5] , \FS_cry[4] , \FS[4] , \FS[3] , \FS_s[4] , + \FS_s[3] , \FS_cry[2] , \FS[2] , \FS[1] , \FS_s[2] , \FS_s[1] , N_304, + CmdEnable17_5, CmdEnable17_4, ADWR_7, CmdEnable16, CmdEnable17, + un1_ADWR, ADSubmitted, ADSubmitted_r, PHI2_c, CmdEnable16_5, + CmdEnable16_4, C1WR_7, C1WR_2, C1Submitted, C1Submitted_s, nCCAS_c, + nCCAS_c_i, CASr, CASr2, \S[1] , RASr2, \IS[3] , CO0, N_79_i, + Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, CmdEnable_s, XOR8MEG11, + \Din_c[1] , CmdLEDEN, XOR8MEG14, N_75, LEDEN, CmdLEDEN_4, XOR8MEG18, + CmdUFMShift, CmdUFMShift_3, CmdUFMShift_fast, CmdUFMShift_3_fast, + \Din_c[0] , CmdUFMWrite_2, CmdUFMWrite, CmdUFMWrite_3, \Din_c[7] , + \Din_c[6] , \Din_c[5] , \Din_c[4] , CmdValid_r, CmdValid, CMDWR_2, + N_36_fast, CmdValid_fast, Cmdn8MEGEN, n8MEGEN, N_93, Cmdn8MEGEN_4, + nFWE_c, nFWE_c_i, nCRAS_c, FWEr, RD_1_i, Ready, N_250, \IS[0] , + N_60_i_i, RA10s_i, \IS[2] , \IS[1] , N_57_i_i, IS_n1_0_x2, N_253_i, + N_58_i_i, N_45, N_116, InitReady3_0_a3_2, InitReady, InitReady3, + N_487_0, \wb_dato[1] , LEDEN_6, un1_FS_38_i, CBR, nCRAS_c_i_0, RASr, + LED_c, nRowColSel, \RowA[4] , \MAin_c[4] , PHI2r, \RA_c[4] , RASr3, + un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1, PHI2r2, N_41, RCKEEN_8_u_1_0, + RCKEEN_8_u_0_0, RCKEEN_8, RCKEEN, \Bank[7] , \Bank[6] , \Bank[5] , + \Bank[2] , RCKE_2, RCKE_c, un1_Bank_1_4, N_258, N_486_0, Ready_fast, + Ready_0_sqmuxa, N_489_0, \MAin_c[1] , \MAin_c[0] , \RowAd_0[1] , + \RowAd_0[0] , \RowA[0] , \RowA[1] , \MAin_c[3] , \MAin_c[2] , + \RowAd_0[3] , \RowAd_0[2] , \RowA[2] , \RowA[3] , \MAin_c[5] , + \RowAd_0[5] , \RowAd_0[4] , \RowA[5] , \MAin_c[7] , \MAin_c[6] , + \RowAd_0[7] , \RowAd_0[6] , \RowA[6] , \RowA[7] , \MAin_c[9] , + \MAin_c[8] , \RowAd_0[9] , \RowAd_0[8] , \RowA[8] , \RowA[9] , + nRRAS_5_u_i_0, XOR8MEG9_1, un1_Din_2, XOR8MEG_3_u_0_bm, XOR8MEG, + XOR8MEG_3, \wb_dato[0] , n8MEGEN_6, wb_rst10, CASr3, N_265, + nRowColSel_0_0, nRRAS_0_sqmuxa, wb_rst11, \wb_adr[0] , N_181, + \wb_dati[7] , \wb_adr_cnst_m2[0] , \wb_adr_5[1] , \wb_adr_5[0] , + un1_wb_rst14_i, \wb_adr[1] , \wb_adr[2] , \wb_adr_5[3] , + \wb_adr_5[2] , \wb_adr[3] , \wb_adr[4] , \wb_adr_5[5] , \wb_adr_5[4] , + \wb_adr[5] , \wb_adr[6] , \wb_adr_5[7] , \wb_adr_5[6] , \wb_adr[7] , + un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1, N_245, N_102_2, + un1_wb_cyc_stb_1_sqmuxa_0, un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i, + wb_cyc_stb, \wb_dati_5_1_iv_0_a3_0_0[1] , \wb_dati_5_1_iv_0_0[1] , + N_128, N_94, wb_we, \wb_dati_5_0_iv_0_a3_1[0] , N_119, \wb_dati_5[1] , + \wb_dati_5[0] , \wb_dati[0] , \wb_dati[1] , un1_wb_we95_1, + \wb_dati_5_1_iv_0_0[3] , N_240, N_49, \wb_dati_5[3] , \wb_dati_5[2] , + \wb_dati[2] , \wb_dati[3] , \wb_dati[4] , \wb_dati_5_1_iv_0_1[4] , + un1_wb_rst11_1_s6_1, \wb_dati_5[5] , \wb_dati_5[4] , \wb_dati[5] , + \wb_dati_5_1_iv_0_a3_0_0[7] , \wb_dati_5_1_iv_0_1[7] , N_89, + \wb_dati_5_1_iv_0_1[6] , \wb_dati_5[7] , \wb_dati_5[6] , \wb_dati[6] , + wb_req, un1_FS_37_i_0, N_78_i, wb_reqe_0, PHI2r3, wb_rst, wb_rste_0, + wb_we95, un1_FS_29, un1_wb_adr_0_sqmuxa_3, un1_wb_adr_0_sqmuxa_2, + CmdUFMData, wb_we_0, un1_PHI2r3_0, N_102, un1_FS_11, wb_ack, + d_N_5_mux, N_254, N_39, nRCAS_0_sqmuxa_1, nRWE_0io_RNO_1, N_37_i_1, + CBR_fast, N_37_i, un1_FS_40_1_0_1, un1_FS_40_1_0, nRCAS_0io_RNO_0, + N_28_i_1, N_249_i, N_230, nRWE_0io_RNO_4, nRWE_0io_RNO_3, N_131, N_85, + N_248, XOR8MEG14_1, \Din_c[3] , CmdUFMData_1_sqmuxa, + \wb_dati_5_1_iv_0_a3_0[6] , N_246, N_98, \wb_dati_5_1_iv_0_a3_0[3] , + N_25, N_59, \wb_dati_5_1_iv_0_a3_2_0[1] , + \wb_dati_5_1_iv_0_a3_1_1[4] , \wb_dati_5_1_iv_0_a3_3_0[7] , N_242, + N_91, wb_we95_0_tz_tz_tz, un1_FS_20_3, N_120, N_228, wb_we113_i, + un1_FS_40_1_1_1, un1_FS_40_1_1_tz, N_139, N_136, N_28_i_sn, N_25_i, + FWEr_fast, N_28_i, N_233, N_102_1, ADWR_5, ADWR_4, C1WR_0, \Bank[1] , + \Bank[0] , un1_Bank_1_3, \Bank[4] , \Bank[3] , G_8_0_a3_0_0, + nRWE_0io_RNO_2, \Din_c[2] , \RA_c[9] , RDQMH_c, \RA_c[7] , \RA_c[0] , + RDQML_c, \RA_c[1] , \RA_c[8] , \RA_c[2] , \RA_c[6] , \RA_c[3] , + \RA_c[5] , RA11d_0, \CROW_c[0] , \CROW_c[1] , \RBAd_0[1] , + \RBAd_0[0] , \RD_in[0] , \WRD[0] , nRCAS_c, nRRAS_c, nRWE_c, nRCS_c, + \RD_in[7] , \WRD[7] , \RD_in[6] , \WRD[6] , \RD_in[5] , \WRD[5] , + \RD_in[4] , \WRD[4] , \RD_in[3] , \WRD[3] , \RD_in[2] , \WRD[2] , + \RD_in[1] , \WRD[1] , \RA_c[11] , \RA_c[10] , \RBA_c[1] , \RBA_c[0] , + VCCI; + + SLICE_0 SLICE_0( .A1(\FS[0] ), .DI1(\FS_s[0] ), .CLK(RCLK_c), .F1(\FS_s[0] ), + .Q1(\FS[0] ), .FCO(\FS_cry[0] )); + SLICE_1 SLICE_1( .A0(\FS[17] ), .DI0(\FS_s[17] ), .CLK(RCLK_c), + .FCI(\FS_cry[16] ), .F0(\FS_s[17] ), .Q0(\FS[17] )); + SLICE_2 SLICE_2( .A1(\FS[16] ), .A0(\FS[15] ), .DI1(\FS_s[16] ), + .DI0(\FS_s[15] ), .CLK(RCLK_c), .FCI(\FS_cry[14] ), .F0(\FS_s[15] ), + .Q0(\FS[15] ), .F1(\FS_s[16] ), .Q1(\FS[16] ), .FCO(\FS_cry[16] )); + SLICE_3 SLICE_3( .A1(\FS[14] ), .A0(\FS[13] ), .DI1(\FS_s[14] ), + .DI0(\FS_s[13] ), .CLK(RCLK_c), .FCI(\FS_cry[12] ), .F0(\FS_s[13] ), + .Q0(\FS[13] ), .F1(\FS_s[14] ), .Q1(\FS[14] ), .FCO(\FS_cry[14] )); + SLICE_4 SLICE_4( .A1(\FS[12] ), .A0(\FS[11] ), .DI1(\FS_s[12] ), + .DI0(\FS_s[11] ), .CLK(RCLK_c), .FCI(\FS_cry[10] ), .F0(\FS_s[11] ), + .Q0(\FS[11] ), .F1(\FS_s[12] ), .Q1(\FS[12] ), .FCO(\FS_cry[12] )); + SLICE_5 SLICE_5( .A1(\FS[10] ), .A0(\FS[9] ), .DI1(\FS_s[10] ), + .DI0(\FS_s[9] ), .CLK(RCLK_c), .FCI(\FS_cry[8] ), .F0(\FS_s[9] ), + .Q0(\FS[9] ), .F1(\FS_s[10] ), .Q1(\FS[10] ), .FCO(\FS_cry[10] )); + SLICE_6 SLICE_6( .A1(\FS[8] ), .A0(\FS[7] ), .DI1(\FS_s[8] ), + .DI0(\FS_s[7] ), .CLK(RCLK_c), .FCI(\FS_cry[6] ), .F0(\FS_s[7] ), + .Q0(\FS[7] ), .F1(\FS_s[8] ), .Q1(\FS[8] ), .FCO(\FS_cry[8] )); + SLICE_7 SLICE_7( .A1(\FS[6] ), .A0(\FS[5] ), .DI1(\FS_s[6] ), + .DI0(\FS_s[5] ), .CLK(RCLK_c), .FCI(\FS_cry[4] ), .F0(\FS_s[5] ), + .Q0(\FS[5] ), .F1(\FS_s[6] ), .Q1(\FS[6] ), .FCO(\FS_cry[6] )); + SLICE_8 SLICE_8( .A1(\FS[4] ), .A0(\FS[3] ), .DI1(\FS_s[4] ), + .DI0(\FS_s[3] ), .CLK(RCLK_c), .FCI(\FS_cry[2] ), .F0(\FS_s[3] ), + .Q0(\FS[3] ), .F1(\FS_s[4] ), .Q1(\FS[4] ), .FCO(\FS_cry[4] )); + SLICE_9 SLICE_9( .A1(\FS[2] ), .A0(\FS[1] ), .DI1(\FS_s[2] ), + .DI0(\FS_s[1] ), .CLK(RCLK_c), .FCI(\FS_cry[0] ), .F0(\FS_s[1] ), + .Q0(\FS[1] ), .F1(\FS_s[2] ), .Q1(\FS[2] ), .FCO(\FS_cry[2] )); + SLICE_10 SLICE_10( .D1(N_304), .C1(CmdEnable17_5), .B1(CmdEnable17_4), + .A1(ADWR_7), .D0(CmdEnable16), .C0(CmdEnable17), .B0(un1_ADWR), + .A0(ADSubmitted), .DI0(ADSubmitted_r), .CLK(PHI2_c), .F0(ADSubmitted_r), + .Q0(ADSubmitted), .F1(CmdEnable17)); + SLICE_11 SLICE_11( .D1(CmdEnable16_5), .C1(CmdEnable16_4), .B1(C1WR_7), + .A1(C1WR_2), .C0(CmdEnable16), .B0(un1_ADWR), .A0(C1Submitted), + .DI0(C1Submitted_s), .CLK(PHI2_c), .F0(C1Submitted_s), .Q0(C1Submitted), + .F1(CmdEnable16)); + SLICE_12 SLICE_12( .A0(nCCAS_c), .DI0(nCCAS_c_i), .M1(CASr), .CLK(RCLK_c), + .F0(nCCAS_c_i), .Q0(CASr), .Q1(CASr2)); + SLICE_16 SLICE_16( .D1(\S[1] ), .C1(RASr2), .B1(\IS[3] ), .A1(CO0), + .B0(\S[1] ), .A0(CO0), .DI0(N_79_i), .LSR(RASr2), .CLK(RCLK_c), + .F0(N_79_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); + SLICE_17 SLICE_17( .B1(ADSubmitted), .A1(CmdEnable), .D0(C1Submitted), + .C0(un1_CMDWR), .B0(CmdEnable), .A0(CmdEnable17), .DI0(CmdEnable_s), + .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); + SLICE_18 SLICE_18( .C1(XOR8MEG11), .B1(\Din_c[1] ), .A1(CmdLEDEN), + .C0(XOR8MEG14), .B0(N_75), .A0(LEDEN), .DI0(CmdLEDEN_4), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(CmdLEDEN_4), .Q0(CmdLEDEN), .F1(N_75)); + SLICE_20 SLICE_20( .D0(XOR8MEG14), .C0(XOR8MEG11), .B0(\Din_c[1] ), + .A0(CmdUFMShift), .DI0(CmdUFMShift_3), .CE(XOR8MEG18), .CLK(PHI2_c), + .F0(CmdUFMShift_3), .Q0(CmdUFMShift)); + SLICE_21 SLICE_21( .D0(XOR8MEG14), .C0(XOR8MEG11), .B0(\Din_c[1] ), + .A0(CmdUFMShift_fast), .DI0(CmdUFMShift_3_fast), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(CmdUFMShift_3_fast), .Q0(CmdUFMShift_fast)); + SLICE_22 SLICE_22( .B1(\Din_c[1] ), .A1(\Din_c[0] ), .D0(XOR8MEG14), + .C0(XOR8MEG11), .B0(CmdUFMWrite_2), .A0(CmdUFMWrite), .DI0(CmdUFMWrite_3), + .CE(XOR8MEG18), .CLK(PHI2_c), .F0(CmdUFMWrite_3), .Q0(CmdUFMWrite), + .F1(CmdUFMWrite_2)); + SLICE_23 SLICE_23( .D1(\Din_c[7] ), .C1(\Din_c[6] ), .B1(\Din_c[5] ), + .A1(\Din_c[4] ), .C0(XOR8MEG14), .B0(XOR8MEG11), .A0(XOR8MEG18), + .DI0(CmdValid_r), .CLK(PHI2_c), .F0(CmdValid_r), .Q0(CmdValid), + .F1(XOR8MEG11)); + SLICE_24 SLICE_24( .C1(CmdEnable), .B1(CMDWR_2), .A1(C1WR_7), .C0(XOR8MEG14), + .B0(XOR8MEG11), .A0(XOR8MEG18), .DI0(N_36_fast), .CLK(PHI2_c), + .F0(N_36_fast), .Q0(CmdValid_fast), .F1(XOR8MEG18)); + SLICE_25 SLICE_25( .C1(XOR8MEG11), .B1(\Din_c[0] ), .A1(Cmdn8MEGEN), + .C0(n8MEGEN), .B0(XOR8MEG14), .A0(N_93), .DI0(Cmdn8MEGEN_4), + .CE(XOR8MEG18), .CLK(PHI2_c), .F0(Cmdn8MEGEN_4), .Q0(Cmdn8MEGEN), + .F1(N_93)); + SLICE_26 SLICE_26( .B1(nFWE_c), .A1(nCCAS_c), .A0(nFWE_c), .DI0(nFWE_c_i), + .CLK(nCRAS_c), .F0(nFWE_c_i), .Q0(FWEr), .F1(RD_1_i)); + SLICE_28 SLICE_28( .D1(Ready), .C1(N_250), .B1(\IS[3] ), .A1(\IS[0] ), + .C0(Ready), .B0(N_250), .A0(\IS[0] ), .DI0(N_60_i_i), .CLK(RCLK_c), + .F0(N_60_i_i), .Q0(\IS[0] ), .F1(RA10s_i)); + SLICE_29 SLICE_29( .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), .B0(\IS[1] ), + .A0(\IS[0] ), .DI1(N_57_i_i), .DI0(IS_n1_0_x2), .CE(N_253_i), .CLK(RCLK_c), + .F0(IS_n1_0_x2), .Q0(\IS[1] ), .F1(N_57_i_i), .Q1(\IS[2] )); + SLICE_30 SLICE_30( .B1(\IS[2] ), .A1(\IS[1] ), .D0(\IS[0] ), .C0(\IS[1] ), + .B0(\IS[2] ), .A0(\IS[3] ), .DI0(N_58_i_i), .CE(N_253_i), .CLK(RCLK_c), + .F0(N_58_i_i), .Q0(\IS[3] ), .F1(N_45)); + SLICE_31 SLICE_31( .D1(N_116), .C1(InitReady3_0_a3_2), .B1(\FS[14] ), + .A1(\FS[13] ), .B0(InitReady), .A0(InitReady3), .DI0(N_487_0), + .CLK(RCLK_c), .F0(N_487_0), .Q0(InitReady), .F1(InitReady3)); + SLICE_32 SLICE_32( .C0(\wb_dato[1] ), .B0(InitReady), .A0(CmdLEDEN), + .DI0(LEDEN_6), .CE(un1_FS_38_i), .CLK(RCLK_c), .F0(LEDEN_6), .Q0(LEDEN)); + SLICE_34 SLICE_34( .C1(nCRAS_c), .B1(LEDEN), .A1(CBR), .A0(nCRAS_c), + .DI0(nCRAS_c_i_0), .M1(RASr), .CLK(RCLK_c), .F0(nCRAS_c_i_0), .Q0(RASr), + .F1(LED_c), .Q1(RASr2)); + SLICE_35 SLICE_35( .B1(\FS[7] ), .A1(\FS[3] ), .C0(nRowColSel), + .B0(\RowA[4] ), .A0(\MAin_c[4] ), .M1(PHI2r), .M0(RASr2), .CLK(RCLK_c), + .F0(\RA_c[4] ), .Q0(RASr3), .F1(un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1), + .Q1(PHI2r2)); + SLICE_36 SLICE_36( .D1(N_41), .C1(InitReady), .B1(RASr2), .A1(Ready), + .D0(Ready), .C0(RCKEEN_8_u_1_0), .B0(RCKEEN_8_u_0_0), .A0(CBR), + .DI0(RCKEEN_8), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), + .F1(RCKEEN_8_u_0_0)); + SLICE_37 SLICE_37( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), + .A1(\Bank[2] ), .D0(RCKEEN), .C0(RASr3), .B0(RASr2), .A0(RASr), + .DI0(RCKE_2), .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(un1_Bank_1_4)); + SLICE_38 SLICE_38( .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), .D0(InitReady), + .C0(N_258), .B0(Ready_0_sqmuxa_0_a3_2), .A0(Ready), .DI0(N_486_0), + .CLK(RCLK_c), .F0(N_486_0), .Q0(Ready), .F1(N_258)); + SLICE_39 SLICE_39( .D1(Ready_0_sqmuxa_0_a3_2), .C1(Ready), .B1(N_258), + .A1(InitReady), .B0(Ready_fast), .A0(Ready_0_sqmuxa), .DI0(N_489_0), + .CLK(RCLK_c), .F0(N_489_0), .Q0(Ready_fast), .F1(Ready_0_sqmuxa)); + SLICE_40 SLICE_40( .B1(Ready_fast), .A1(\MAin_c[1] ), .B0(Ready_fast), + .A0(\MAin_c[0] ), .DI1(\RowAd_0[1] ), .DI0(\RowAd_0[0] ), .CLK(nCRAS_c), + .F0(\RowAd_0[0] ), .Q0(\RowA[0] ), .F1(\RowAd_0[1] ), .Q1(\RowA[1] )); + SLICE_41 SLICE_41( .B1(Ready_fast), .A1(\MAin_c[3] ), .B0(Ready_fast), + .A0(\MAin_c[2] ), .DI1(\RowAd_0[3] ), .DI0(\RowAd_0[2] ), .CLK(nCRAS_c), + .F0(\RowAd_0[2] ), .Q0(\RowA[2] ), .F1(\RowAd_0[3] ), .Q1(\RowA[3] )); + SLICE_42 SLICE_42( .B1(Ready_fast), .A1(\MAin_c[5] ), .B0(Ready_fast), + .A0(\MAin_c[4] ), .DI1(\RowAd_0[5] ), .DI0(\RowAd_0[4] ), .CLK(nCRAS_c), + .F0(\RowAd_0[4] ), .Q0(\RowA[4] ), .F1(\RowAd_0[5] ), .Q1(\RowA[5] )); + SLICE_43 SLICE_43( .B1(Ready_fast), .A1(\MAin_c[7] ), .B0(Ready_fast), + .A0(\MAin_c[6] ), .DI1(\RowAd_0[7] ), .DI0(\RowAd_0[6] ), .CLK(nCRAS_c), + .F0(\RowAd_0[6] ), .Q0(\RowA[6] ), .F1(\RowAd_0[7] ), .Q1(\RowA[7] )); + SLICE_44 SLICE_44( .B1(Ready_fast), .A1(\MAin_c[9] ), .B0(Ready_fast), + .A0(\MAin_c[8] ), .DI1(\RowAd_0[9] ), .DI0(\RowAd_0[8] ), .CLK(nCRAS_c), + .F0(\RowAd_0[8] ), .Q0(\RowA[8] ), .F1(\RowAd_0[9] ), .Q1(\RowA[9] )); + SLICE_45 SLICE_45( .D1(Ready), .C1(RCKE_c), .B1(RASr2), .A1(N_41), + .B0(\S[1] ), .A0(CO0), .DI0(N_41), .LSR(RASr2), .CLK(RCLK_c), .F0(N_41), + .Q0(\S[1] ), .F1(nRRAS_5_u_i_0)); + SLICE_46 SLICE_46( .D1(\Din_c[1] ), .C1(\Din_c[0] ), .B1(XOR8MEG9_1), + .A1(LEDEN), .C0(un1_Din_2), .B0(XOR8MEG_3_u_0_bm), .A0(XOR8MEG), + .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(XOR8MEG_3), + .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_bm)); + SLICE_47 SLICE_47( .D1(InitReady), .C1(\FS[17] ), .B1(\FS[16] ), + .A1(\FS[15] ), .C0(\wb_dato[0] ), .B0(InitReady), .A0(Cmdn8MEGEN), + .DI0(n8MEGEN_6), .CE(un1_FS_38_i), .CLK(RCLK_c), .F0(n8MEGEN_6), + .Q0(n8MEGEN), .F1(wb_rst10)); + SLICE_48 SLICE_48( .D1(Ready), .C1(FWEr), .B1(CBR), .A1(CASr3), .D0(\S[1] ), + .C0(Ready), .B0(N_265), .A0(CO0), .DI0(nRowColSel_0_0), + .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), + .F1(N_265)); + SLICE_49 SLICE_49( .D1(wb_rst11), .C1(\wb_adr[0] ), .B1(N_181), + .A1(InitReady), .C0(\wb_dati[7] ), .B0(\wb_adr_cnst_m2[0] ), + .A0(InitReady), .DI1(\wb_adr_5[1] ), .DI0(\wb_adr_5[0] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[0] ), .Q0(\wb_adr[0] ), + .F1(\wb_adr_5[1] ), .Q1(\wb_adr[1] )); + SLICE_50 SLICE_50( .B1(\wb_adr[2] ), .A1(InitReady), .B0(\wb_adr[1] ), + .A0(InitReady), .DI1(\wb_adr_5[3] ), .DI0(\wb_adr_5[2] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[2] ), .Q0(\wb_adr[2] ), + .F1(\wb_adr_5[3] ), .Q1(\wb_adr[3] )); + SLICE_51 SLICE_51( .C1(wb_rst11), .B1(\wb_adr[4] ), .A1(InitReady), + .C0(wb_rst11), .B0(\wb_adr[3] ), .A0(InitReady), .DI1(\wb_adr_5[5] ), + .DI0(\wb_adr_5[4] ), .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[4] ), + .Q0(\wb_adr[4] ), .F1(\wb_adr_5[5] ), .Q1(\wb_adr[5] )); + SLICE_52 SLICE_52( .B1(\wb_adr[6] ), .A1(InitReady), .C0(wb_rst11), + .B0(\wb_adr[5] ), .A0(InitReady), .DI1(\wb_adr_5[7] ), .DI0(\wb_adr_5[6] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[6] ), .Q0(\wb_adr[6] ), + .F1(\wb_adr_5[7] ), .Q1(\wb_adr[7] )); + SLICE_53 SLICE_53( .D1(un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1), .C1(\FS[5] ), + .B1(\FS[4] ), .A1(\FS[2] ), .D0(wb_rst11), + .C0(un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1), .B0(N_245), .A0(N_102_2), + .DI0(un1_wb_cyc_stb_1_sqmuxa_0), .CE(un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i), + .LSR(wb_rst10), .CLK(RCLK_c), .F0(un1_wb_cyc_stb_1_sqmuxa_0), + .Q0(wb_cyc_stb), .F1(N_102_2)); + SLICE_54 SLICE_54( .D1(\wb_dati_5_1_iv_0_a3_0_0[1] ), + .C1(\wb_dati_5_1_iv_0_0[1] ), .B1(N_128), .A1(N_94), .D0(wb_we), + .C0(\wb_dati_5_0_iv_0_a3_1[0] ), .B0(N_119), .A0(InitReady), + .DI1(\wb_dati_5[1] ), .DI0(\wb_dati_5[0] ), .CE(un1_wb_rst14_i), + .CLK(RCLK_c), .F0(\wb_dati_5[0] ), .Q0(\wb_dati[0] ), .F1(\wb_dati_5[1] ), + .Q1(\wb_dati[1] )); + SLICE_55 SLICE_55( .D1(N_94), .C1(wb_rst11), .B1(un1_wb_we95_1), + .A1(\wb_dati_5_1_iv_0_0[3] ), .D0(\wb_dati[1] ), .C0(N_240), .B0(N_49), + .A0(InitReady), .DI1(\wb_dati_5[3] ), .DI0(\wb_dati_5[2] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_dati_5[2] ), .Q0(\wb_dati[2] ), + .F1(\wb_dati_5[3] ), .Q1(\wb_dati[3] )); + SLICE_56 SLICE_56( .D1(\wb_dati[4] ), .C1(N_240), .B1(N_49), .A1(InitReady), + .D0(\wb_dati_5_1_iv_0_1[4] ), .C0(\wb_dati[3] ), .B0(un1_wb_rst11_1_s6_1), + .A0(InitReady), .DI1(\wb_dati_5[5] ), .DI0(\wb_dati_5[4] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_dati_5[4] ), .Q0(\wb_dati[4] ), + .F1(\wb_dati_5[5] ), .Q1(\wb_dati[5] )); + SLICE_57 SLICE_57( .D1(\wb_dati_5_1_iv_0_a3_0_0[7] ), + .C1(\wb_dati_5_1_iv_0_1[7] ), .B1(N_119), .A1(N_89), + .C0(\wb_dati_5_1_iv_0_a3_0_0[1] ), .B0(\wb_dati_5_1_iv_0_1[6] ), + .A0(N_128), .DI1(\wb_dati_5[7] ), .DI0(\wb_dati_5[6] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_dati_5[6] ), .Q0(\wb_dati[6] ), + .F1(\wb_dati_5[7] ), .Q1(\wb_dati[7] )); + SLICE_58 SLICE_58( .C1(\FS[14] ), .B1(\FS[13] ), .A1(\FS[12] ), + .D0(wb_rst11), .C0(wb_req), .B0(un1_FS_37_i_0), .A0(N_78_i), + .DI0(wb_reqe_0), .LSR(wb_rst10), .CLK(RCLK_c), .F0(wb_reqe_0), .Q0(wb_req), + .F1(un1_FS_37_i_0)); + SLICE_59 SLICE_59( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), .A1(CmdValid), + .D0(wb_rst10), .C0(wb_rst), .B0(N_78_i), .A0(\FS[14] ), .DI0(wb_rste_0), + .CLK(RCLK_c), .F0(wb_rste_0), .Q0(wb_rst), .F1(N_78_i)); + SLICE_60 SLICE_60( .B1(wb_we95), .A1(un1_FS_29), .D0(un1_wb_adr_0_sqmuxa_3), + .C0(un1_wb_adr_0_sqmuxa_2), .B0(InitReady), .A0(CmdUFMData), .DI0(wb_we_0), + .CE(un1_wb_rst14_i), .LSR(wb_rst10), .CLK(RCLK_c), .F0(wb_we_0), + .Q0(wb_we), .F1(un1_wb_adr_0_sqmuxa_2)); + wb_cyc_stb_RNO_SLICE_61 \wb_cyc_stb_RNO/SLICE_61 ( .D1(CmdUFMWrite), + .C1(un1_PHI2r3_0), .B1(CmdUFMShift), .A1(CmdValid), .C0(N_102), + .B0(un1_FS_11), .A0(wb_ack), .M0(InitReady), + .OFX0(un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i)); + SLICE_62 SLICE_62( .D1(un1_PHI2r3_0), .C1(d_N_5_mux), .B1(InitReady), + .A1(CmdValid_fast), .D0(wb_ack), .C0(un1_FS_29), .B0(un1_FS_11), + .A0(InitReady), .F0(d_N_5_mux), .F1(un1_FS_38_i)); + SLICE_63 SLICE_63( .D1(CO0), .C1(\S[1] ), .B1(InitReady), .A1(RASr2), + .D0(\S[1] ), .C0(Ready), .B0(N_254), .A0(N_250), .F0(N_39), .F1(N_250)); + SLICE_64 SLICE_64( .D1(Ready), .C1(nRCAS_0_sqmuxa_1), .B1(nRWE_0io_RNO_1), + .A1(N_37_i_1), .D0(Ready), .C0(RASr2), .B0(N_41), .A0(CBR_fast), + .F0(nRCAS_0_sqmuxa_1), .F1(N_37_i)); + SLICE_65 SLICE_65( .D1(un1_FS_40_1_0_1), .C1(\FS[13] ), .B1(\FS[10] ), + .A1(\FS[9] ), .D0(\FS[14] ), .C0(\FS[12] ), .B0(\FS[11] ), .A0(\FS[9] ), + .F0(un1_FS_40_1_0_1), .F1(un1_FS_40_1_0)); + SLICE_66 SLICE_66( .C1(\S[1] ), .B1(N_39), .A1(CBR), .D0(\S[1] ), + .C0(nRCAS_0io_RNO_0), .B0(nRCAS_0_sqmuxa_1), .A0(N_28_i_1), .F0(N_249_i), + .F1(nRCAS_0io_RNO_0)); + SLICE_67 SLICE_67( .D1(\FS[9] ), .C1(wb_rst11), .B1(\FS[13] ), .A1(N_230), + .C0(un1_wb_we95_1), .B0(wb_rst11), .A0(N_94), .F0(N_49), .F1(N_94)); + SLICE_68 SLICE_68( .C1(Ready), .B1(nRWE_0io_RNO_4), .A1(nRWE_0io_RNO_3), + .D0(\IS[1] ), .C0(\IS[2] ), .B0(\IS[0] ), .A0(N_250), .F0(nRWE_0io_RNO_4), + .F1(nRWE_0io_RNO_1)); + SLICE_69 SLICE_69( .C1(nRRAS_0_sqmuxa), .B1(RCKE_c), .A1(RASr2), .C0(CO0), + .B0(\S[1] ), .A0(Ready), .F0(nRRAS_0_sqmuxa), .F1(nRWE_0io_RNO_3)); + SLICE_70 SLICE_70( .D1(N_131), .C1(N_119), .B1(\FS[14] ), .A1(\FS[13] ), + .C0(\FS[10] ), .B0(\FS[11] ), .A0(\FS[12] ), .F0(N_131), .F1(N_85)); + SLICE_71 SLICE_71( .B1(\FS[11] ), .A1(\FS[10] ), .D0(\FS[12] ), .C0(N_116), + .B0(\FS[13] ), .A0(\FS[14] ), .F0(\wb_dati_5_1_iv_0_a3_0_0[7] ), + .F1(N_116)); + SLICE_72 SLICE_72( .D1(wb_rst11), .C1(N_248), .B1(\FS[14] ), .A1(\FS[13] ), + .D0(\FS[10] ), .C0(\FS[11] ), .B0(\FS[12] ), .A0(\FS[9] ), .F0(N_248), + .F1(N_240)); + SLICE_73 SLICE_73( .D1(XOR8MEG14_1), .C1(\Din_c[7] ), .B1(\Din_c[5] ), + .A1(\Din_c[3] ), .D0(C1WR_7), .C0(CMDWR_2), .B0(CmdEnable), .A0(XOR8MEG14), + .M0(\Din_c[0] ), .CE(CmdUFMData_1_sqmuxa), .CLK(PHI2_c), + .F0(CmdUFMData_1_sqmuxa), .Q0(CmdUFMData), .F1(XOR8MEG14)); + SLICE_74 SLICE_74( .D1(\wb_dati_5_1_iv_0_a3_0[6] ), .C1(N_246), + .B1(\FS[12] ), .A1(\FS[10] ), .D0(\wb_dati[5] ), .C0(N_98), .B0(N_85), + .A0(InitReady), .F0(\wb_dati_5_1_iv_0_1[6] ), .F1(N_98)); + SLICE_75 SLICE_75( .C1(\FS[14] ), .B1(wb_rst11), .A1(\FS[11] ), + .D0(\wb_dati_5_1_iv_0_a3_0[3] ), .C0(\wb_dati[2] ), .B0(N_128), + .A0(InitReady), .F0(\wb_dati_5_1_iv_0_0[3] ), .F1(N_128)); + SLICE_76 SLICE_76( .D1(\FS[15] ), .C1(\FS[16] ), .B1(\FS[17] ), + .A1(InitReady), .B0(wb_rst11), .A0(un1_wb_we95_1), + .F0(un1_wb_rst11_1_s6_1), .F1(wb_rst11)); + SLICE_77 SLICE_77( .C1(\IS[1] ), .B1(\IS[2] ), .A1(\IS[3] ), + .D0(nRRAS_5_u_i_0), .C0(N_254), .B0(N_250), .A0(\IS[0] ), .F0(N_25), + .F1(N_254)); + SLICE_78 SLICE_78( .C1(\FS[12] ), .B1(\FS[10] ), .A1(\FS[9] ), .C0(N_128), + .B0(N_59), .A0(\FS[13] ), .F0(N_89), .F1(N_59)); + SLICE_79 SLICE_79( .C1(wb_rst11), .B1(\FS[14] ), .A1(\FS[13] ), + .D0(\wb_dati_5_1_iv_0_a3_2_0[1] ), .C0(\wb_dati[0] ), .B0(N_248), + .A0(InitReady), .F0(\wb_dati_5_1_iv_0_0[1] ), + .F1(\wb_dati_5_1_iv_0_a3_2_0[1] )); + SLICE_80 SLICE_80( .D1(\FS[13] ), .C1(\FS[12] ), .B1(\FS[10] ), .A1(\FS[9] ), + .D0(\wb_dati_5_1_iv_0_a3_1_1[4] ), .C0(N_248), .B0(N_246), .A0(N_85), + .F0(\wb_dati_5_1_iv_0_1[4] ), .F1(\wb_dati_5_1_iv_0_a3_1_1[4] )); + SLICE_81 SLICE_81( .D1(wb_rst11), .C1(\wb_dati_5_1_iv_0_a3_3_0[7] ), + .B1(\FS[12] ), .A1(\FS[10] ), .D0(\wb_dati[6] ), .C0(N_242), .B0(N_91), + .A0(InitReady), .F0(\wb_dati_5_1_iv_0_1[7] ), .F1(N_242)); + SLICE_82 SLICE_82( .B1(\FS[14] ), .A1(\FS[13] ), .D0(wb_we95_0_tz_tz_tz), + .C0(un1_FS_20_3), .B0(\FS[12] ), .A0(\FS[11] ), .F0(un1_wb_we95_1), + .F1(un1_FS_20_3)); + SLICE_83 SLICE_83( .C1(\FS[12] ), .B1(\FS[11] ), .A1(\FS[10] ), .D0(N_120), + .C0(N_119), .B0(\FS[14] ), .A0(\FS[13] ), .F0(N_91), .F1(N_120)); + SLICE_84 SLICE_84( .D1(wb_we95_0_tz_tz_tz), .C1(N_228), .B1(\FS[14] ), + .A1(\FS[13] ), .C0(wb_we113_i), .B0(wb_we95), .A0(un1_FS_29), .F0(N_181), + .F1(un1_FS_29)); + SLICE_85 SLICE_85( .C1(wb_rst11), .B1(un1_FS_40_1_1_1), .A1(un1_FS_40_1_0), + .D0(un1_FS_40_1_1_tz), .C0(N_139), .B0(\FS[10] ), .A0(\FS[9] ), + .F0(un1_FS_40_1_1_1), .F1(\wb_adr_cnst_m2[0] )); + SLICE_86 SLICE_86( .D1(\FS[12] ), .C1(\FS[11] ), .B1(\FS[10] ), .A1(\FS[9] ), + .C0(N_136), .B0(\FS[14] ), .A0(\FS[13] ), .F0(N_139), .F1(N_136)); + SLICE_87 SLICE_87( .B1(\FS[10] ), .A1(\FS[9] ), .D0(wb_we95_0_tz_tz_tz), + .C0(un1_FS_20_3), .B0(\FS[12] ), .A0(\FS[11] ), .F0(wb_we95), + .F1(wb_we95_0_tz_tz_tz)); + SLICE_88 SLICE_88( .D1(Ready), .C1(N_28_i_sn), .B1(N_28_i_1), .A1(N_25_i), + .D0(FWEr_fast), .C0(CO0), .B0(CASr3), .A0(CASr2), .F0(N_28_i_1), + .F1(N_28_i)); + SLICE_89 SLICE_89( .B1(wb_req), .A1(\FS[0] ), .D0(N_233), .C0(N_102_2), + .B0(N_102_1), .A0(InitReady), .F0(N_102), .F1(N_233)); + SLICE_90 SLICE_90( .D1(ADWR_7), .C1(C1WR_2), .B1(C1WR_7), .A1(CMDWR_2), + .D0(N_304), .C0(\MAin_c[7] ), .B0(\MAin_c[6] ), .A0(\MAin_c[5] ), + .F0(C1WR_7), .F1(un1_CMDWR)); + SLICE_91 SLICE_91( .C1(C1WR_7), .B1(C1WR_2), .A1(ADWR_7), .D0(\MAin_c[3] ), + .C0(\MAin_c[1] ), .B0(ADWR_5), .A0(ADWR_4), .F0(ADWR_7), .F1(un1_ADWR)); + SLICE_92 SLICE_92( .C1(\MAin_c[4] ), .B1(\MAin_c[3] ), .A1(\MAin_c[2] ), + .D0(nFWE_c), .C0(\MAin_c[1] ), .B0(\MAin_c[0] ), .A0(C1WR_0), .F0(C1WR_2), + .F1(C1WR_0)); + SLICE_93 SLICE_93( .C1(wb_we113_i), .B1(wb_rst11), .A1(un1_FS_37_i_0), + .D0(wb_we95_0_tz_tz_tz), .C0(N_228), .B0(\FS[14] ), .A0(\FS[13] ), + .F0(wb_we113_i), .F1(un1_wb_adr_0_sqmuxa_3)); + SLICE_94 SLICE_94( .B1(\Bank[1] ), .A1(\Bank[0] ), .D0(un1_Bank_1_4), + .C0(un1_Bank_1_3), .B0(\Bank[4] ), .A0(\Bank[3] ), .F0(N_304), + .F1(un1_Bank_1_3)); + SLICE_95 SLICE_95( .B1(PHI2r3), .A1(PHI2r2), .D0(un1_PHI2r3_0), + .C0(InitReady), .B0(CmdValid), .A0(CmdUFMShift), .F0(N_245), + .F1(un1_PHI2r3_0)); + SLICE_96 SLICE_96( .C1(\FS[8] ), .B1(\FS[6] ), .A1(\FS[1] ), .C0(wb_req), + .B0(N_102_1), .A0(\FS[0] ), .F0(un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1), + .F1(N_102_1)); + SLICE_97 SLICE_97( .B1(PHI2r3), .A1(PHI2r2), .D0(InitReady), + .C0(G_8_0_a3_0_0), .B0(CmdValid_fast), .A0(CmdUFMShift_fast), + .F0(un1_wb_rst14_i), .F1(G_8_0_a3_0_0)); + SLICE_98 SLICE_98( .D1(\S[1] ), .C1(CO0), .B1(CASr3), .A1(CASr2), + .C0(nRWE_0io_RNO_2), .B0(FWEr), .A0(CBR_fast), .F0(N_37_i_1), + .F1(nRWE_0io_RNO_2)); + SLICE_99 SLICE_99( .D1(\FS[13] ), .C1(\FS[12] ), .B1(\FS[10] ), .A1(\FS[9] ), + .D0(\FS[13] ), .C0(\FS[12] ), .B0(\FS[10] ), .A0(\FS[9] ), + .F0(\wb_dati_5_1_iv_0_a3_0[3] ), .F1(\wb_dati_5_1_iv_0_a3_0_0[1] )); + SLICE_100 SLICE_100( .D1(\FS[14] ), .C1(\FS[13] ), .B1(\FS[12] ), + .A1(\FS[11] ), .D0(\FS[14] ), .C0(\FS[12] ), .B0(\FS[11] ), .A0(\FS[10] ), + .F0(N_230), .F1(un1_FS_40_1_1_tz)); + SLICE_101 SLICE_101( .D1(\Din_c[7] ), .C1(\Din_c[5] ), .B1(\Din_c[4] ), + .A1(\Din_c[3] ), .D0(\Din_c[7] ), .C0(\Din_c[6] ), .B0(\Din_c[5] ), + .A0(\Din_c[4] ), .F0(un1_Din_2), .F1(CmdEnable17_5)); + SLICE_102 SLICE_102( .D1(\FS[17] ), .C1(\FS[16] ), .B1(\FS[15] ), + .A1(\FS[12] ), .C0(\FS[17] ), .B0(\FS[16] ), .A0(\FS[15] ), .F0(un1_FS_11), + .F1(InitReady3_0_a3_2)); + SLICE_103 SLICE_103( .C1(\FS[13] ), .B1(\FS[11] ), .A1(\FS[9] ), + .D0(\FS[14] ), .C0(\FS[13] ), .B0(\FS[11] ), .A0(\FS[9] ), + .F0(\wb_dati_5_1_iv_0_a3_3_0[7] ), .F1(\wb_dati_5_1_iv_0_a3_0[6] )); + SLICE_104 SLICE_104( .D1(\Din_c[6] ), .C1(\Din_c[5] ), .B1(\Din_c[1] ), + .A1(\Din_c[0] ), .D0(\Din_c[6] ), .C0(\Din_c[2] ), .B0(\Din_c[1] ), + .A0(\Din_c[0] ), .F0(CmdEnable17_4), .F1(CmdEnable16_4)); + SLICE_105 SLICE_105( .C1(nFWE_c), .B1(\MAin_c[6] ), .A1(\MAin_c[0] ), + .D0(nFWE_c), .C0(\MAin_c[1] ), .B0(\MAin_c[0] ), .A0(C1WR_0), + .M1(nCCAS_c_i), .M0(nCCAS_c_i), .CLK(nCRAS_c), .F0(CMDWR_2), .Q0(CBR), + .F1(ADWR_4), .Q1(CBR_fast)); + SLICE_106 SLICE_106( .B1(\Din_c[3] ), .A1(\Din_c[2] ), .D0(\Din_c[7] ), + .C0(\Din_c[4] ), .B0(\Din_c[3] ), .A0(\Din_c[2] ), .M0(CASr2), + .CLK(RCLK_c), .F0(CmdEnable16_5), .Q0(CASr3), .F1(XOR8MEG9_1)); + SLICE_107 SLICE_107( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQMH_c)); + SLICE_108 SLICE_108( .D1(\IS[0] ), .C1(N_250), .B1(N_254), + .A1(nRRAS_5_u_i_0), .B0(Ready), .A0(N_250), .M0(nFWE_c_i), .CLK(nCRAS_c), + .F0(N_253_i), .Q0(FWEr_fast), .F1(N_25_i)); + SLICE_109 SLICE_109( .B1(wb_rst11), .A1(\FS[14] ), .B0(wb_rst11), + .A0(\FS[9] ), .F0(N_119), .F1(N_246)); + SLICE_110 SLICE_110( .B1(\FS[12] ), .A1(\FS[11] ), .D0(N_116), .C0(\FS[14] ), + .B0(\FS[13] ), .A0(\FS[12] ), .F0(\wb_dati_5_0_iv_0_a3_1[0] ), .F1(N_228)); + SLICE_111 SLICE_111( .C1(nRowColSel), .B1(\RowA[7] ), .A1(\MAin_c[7] ), + .D0(\MAin_c[7] ), .C0(\MAin_c[5] ), .B0(\MAin_c[4] ), .A0(\MAin_c[2] ), + .F0(ADWR_5), .F1(\RA_c[7] )); + SLICE_112 SLICE_112( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\RowA[0] ), .A0(\MAin_c[0] ), .F0(\RA_c[0] ), .F1(RDQML_c)); + SLICE_113 SLICE_113( .C1(nRowColSel), .B1(\RowA[8] ), .A1(\MAin_c[8] ), + .C0(nRowColSel), .B0(\RowA[1] ), .A0(\MAin_c[1] ), .F0(\RA_c[1] ), + .F1(\RA_c[8] )); + SLICE_114 SLICE_114( .C1(nRowColSel), .B1(\RowA[6] ), .A1(\MAin_c[6] ), + .C0(nRowColSel), .B0(\RowA[2] ), .A0(\MAin_c[2] ), .F0(\RA_c[2] ), + .F1(\RA_c[6] )); + SLICE_115 SLICE_115( .C1(nRowColSel), .B1(\RowA[5] ), .A1(\MAin_c[5] ), + .C0(nRowColSel), .B0(\RowA[3] ), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), + .F1(\RA_c[5] )); + SLICE_116 SLICE_116( .D1(n8MEGEN), .C1(XOR8MEG), .B1(Ready_fast), + .A1(\Din_c[6] ), .B0(\Din_c[6] ), .A0(\Din_c[4] ), .F0(XOR8MEG14_1), + .F1(RA11d_0)); + SLICE_117 SLICE_117( .C1(\S[1] ), .B1(N_25), .A1(CBR_fast), .D0(\S[1] ), + .C0(FWEr), .B0(CO0), .A0(CASr2), .F0(RCKEEN_8_u_1_0), .F1(N_28_i_sn)); + SLICE_118 SLICE_118( .B1(Ready_fast), .A1(\CROW_c[0] ), .B0(Ready_fast), + .A0(\CROW_c[1] ), .M0(PHI2r2), .CLK(RCLK_c), .F0(\RBAd_0[1] ), .Q0(PHI2r3), + .F1(\RBAd_0[0] )); + RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .IOLDO(\WRD[0] ), .PADDT(RD_1_i), + .RD0(RD[0])); + RD_0__MGIOL \RD[0]_MGIOL ( .IOLDO(\WRD[0] ), .OPOS(\Din_c[0] ), + .CLK(nCCAS_c)); + Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); + PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); + PHI2_MGIOL PHI2_MGIOL( .DI(PHI2_c), .CLK(RCLK_c), .IN(PHI2r)); + RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); + RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); + nRCAS nRCAS_I( .IOLDO(nRCAS_c), .nRCAS(nRCAS)); + nRCAS_MGIOL nRCAS_MGIOL( .IOLDO(nRCAS_c), .OPOS(N_249_i), .CLK(RCLK_c)); + nRRAS nRRAS_I( .IOLDO(nRRAS_c), .nRRAS(nRRAS)); + nRRAS_MGIOL nRRAS_MGIOL( .IOLDO(nRRAS_c), .OPOS(N_25_i), .CLK(RCLK_c)); + nRWE nRWE_I( .IOLDO(nRWE_c), .nRWE(nRWE)); + nRWE_MGIOL nRWE_MGIOL( .IOLDO(nRWE_c), .OPOS(N_37_i), .CLK(RCLK_c)); + RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); + RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); + nRCS nRCS_I( .IOLDO(nRCS_c), .nRCS(nRCS)); + nRCS_MGIOL nRCS_MGIOL( .IOLDO(nRCS_c), .OPOS(N_28_i), .CLK(RCLK_c)); + RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .IOLDO(\WRD[7] ), .PADDT(RD_1_i), + .RD7(RD[7])); + RD_7__MGIOL \RD[7]_MGIOL ( .IOLDO(\WRD[7] ), .OPOS(\Din_c[7] ), + .CLK(nCCAS_c)); + RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .IOLDO(\WRD[6] ), .PADDT(RD_1_i), + .RD6(RD[6])); + RD_6__MGIOL \RD[6]_MGIOL ( .IOLDO(\WRD[6] ), .OPOS(\Din_c[6] ), + .CLK(nCCAS_c)); + RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .IOLDO(\WRD[5] ), .PADDT(RD_1_i), + .RD5(RD[5])); + RD_5__MGIOL \RD[5]_MGIOL ( .IOLDO(\WRD[5] ), .OPOS(\Din_c[5] ), + .CLK(nCCAS_c)); + RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .IOLDO(\WRD[4] ), .PADDT(RD_1_i), + .RD4(RD[4])); + RD_4__MGIOL \RD[4]_MGIOL ( .IOLDO(\WRD[4] ), .OPOS(\Din_c[4] ), + .CLK(nCCAS_c)); + RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .IOLDO(\WRD[3] ), .PADDT(RD_1_i), + .RD3(RD[3])); + RD_3__MGIOL \RD[3]_MGIOL ( .IOLDO(\WRD[3] ), .OPOS(\Din_c[3] ), + .CLK(nCCAS_c)); + RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .IOLDO(\WRD[2] ), .PADDT(RD_1_i), + .RD2(RD[2])); + RD_2__MGIOL \RD[2]_MGIOL ( .IOLDO(\WRD[2] ), .OPOS(\Din_c[2] ), + .CLK(nCCAS_c)); + RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .IOLDO(\WRD[1] ), .PADDT(RD_1_i), + .RD1(RD[1])); + RD_1__MGIOL \RD[1]_MGIOL ( .IOLDO(\WRD[1] ), .OPOS(\Din_c[1] ), + .CLK(nCCAS_c)); + RA_11_ \RA[11]_I ( .IOLDO(\RA_c[11] ), .RA11(RA[11])); + RA_11__MGIOL \RA[11]_MGIOL ( .IOLDO(\RA_c[11] ), .OPOS(RA11d_0), + .CLK(PHI2_c)); + RA_10_ \RA[10]_I ( .IOLDO(\RA_c[10] ), .RA10(RA[10])); + RA_10__MGIOL \RA[10]_MGIOL ( .IOLDO(\RA_c[10] ), .OPOS(N_45), .LSR(RA10s_i), + .CLK(RCLK_c)); + RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); + RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); + RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); + RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); + RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); + RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); + RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); + RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); + RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); + RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); + RBA_1_ \RBA[1]_I ( .IOLDO(\RBA_c[1] ), .RBA1(RBA[1])); + RBA_1__MGIOL \RBA[1]_MGIOL ( .IOLDO(\RBA_c[1] ), .OPOS(\RBAd_0[1] ), + .CLK(nCRAS_c)); + RBA_0_ \RBA[0]_I ( .IOLDO(\RBA_c[0] ), .RBA0(RBA[0])); + RBA_0__MGIOL \RBA[0]_MGIOL ( .IOLDO(\RBA_c[0] ), .OPOS(\RBAd_0[0] ), + .CLK(nCRAS_c)); + LED LED_I( .PADDO(LED_c), .LED(LED)); + nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); + nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); + nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); + Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); + Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); + Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); + Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); + Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); + Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); + Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); + Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); + Din_7__MGIOL \Din[7]_MGIOL ( .DI(\Din_c[7] ), .CLK(PHI2_c), .IN(\Bank[7] )); + Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); + Din_6__MGIOL \Din[6]_MGIOL ( .DI(\Din_c[6] ), .CLK(PHI2_c), .IN(\Bank[6] )); + Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); + Din_5__MGIOL \Din[5]_MGIOL ( .DI(\Din_c[5] ), .CLK(PHI2_c), .IN(\Bank[5] )); + Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); + Din_4__MGIOL \Din[4]_MGIOL ( .DI(\Din_c[4] ), .CLK(PHI2_c), .IN(\Bank[4] )); + Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); + Din_3__MGIOL \Din[3]_MGIOL ( .DI(\Din_c[3] ), .CLK(PHI2_c), .IN(\Bank[3] )); + Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); + Din_2__MGIOL \Din[2]_MGIOL ( .DI(\Din_c[2] ), .CLK(PHI2_c), .IN(\Bank[2] )); + Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); + Din_1__MGIOL \Din[1]_MGIOL ( .DI(\Din_c[1] ), .CLK(PHI2_c), .IN(\Bank[1] )); + Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); + Din_0__MGIOL \Din[0]_MGIOL ( .DI(\Din_c[0] ), .CLK(PHI2_c), .IN(\Bank[0] )); + CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); + CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); + MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); + MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); + MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); + MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); + MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); + MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); + MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); + MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); + MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); + MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); + ufmefb_EFBInst_0 \ufmefb/EFBInst_0 ( .WBCLKI(RCLK_c), .WBRSTI(wb_rst), + .WBCYCI(wb_cyc_stb), .WBSTBI(wb_cyc_stb), .WBWEI(wb_we), + .WBADRI0(\wb_adr[0] ), .WBADRI1(\wb_adr[1] ), .WBADRI2(\wb_adr[2] ), + .WBADRI3(\wb_adr[3] ), .WBADRI4(\wb_adr[4] ), .WBADRI5(\wb_adr[5] ), + .WBADRI6(\wb_adr[6] ), .WBADRI7(\wb_adr[7] ), .WBDATI0(\wb_dati[0] ), + .WBDATI1(\wb_dati[1] ), .WBDATI2(\wb_dati[2] ), .WBDATI3(\wb_dati[3] ), + .WBDATI4(\wb_dati[4] ), .WBDATI5(\wb_dati[5] ), .WBDATI6(\wb_dati[6] ), + .WBDATI7(\wb_dati[7] ), .WBDATO0(\wb_dato[0] ), .WBDATO1(\wb_dato[1] ), + .WBACKO(wb_ack)); + VHI VHI_INST( .Z(VCCI)); + PUR PUR_INST( .PUR(VCCI)); + GSR GSR_INST( .GSR(VCCI)); +endmodule + +module SLICE_0 ( input A1, DI1, CLK, output F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly; + + vmuxregsre \FS[0] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + ccu2 \FS_cry_0[0] ( .A0(GNDI), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(GNDI), .S0(), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module vcc ( output PWR1 ); + + VHI INST1( .Z(PWR1)); +endmodule + +module gnd ( output PWR0 ); + + VLO INST1( .Z(PWR0)); +endmodule + +module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO1 ); + + CCU2D inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT(CO1)); + defparam inst1.INIT0 = 16'h000A; + defparam inst1.INIT1 = 16'h300A; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_1 ( input A0, DI0, CLK, FCI, output F0, Q0 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + vmuxregsre \FS[17] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + ccu20001 \FS_s_0[17] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(GNDI), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(), .CO1()); + + specify + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO1 ); + + CCU2D inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT(CO1)); + defparam inst1.INIT0 = 16'h5002; + defparam inst1.INIT1 = 16'h300A; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_2 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[16] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[15] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[15] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module ccu20002 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO1 ); + + CCU2D inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT(CO1)); + defparam inst1.INIT0 = 16'h300A; + defparam inst1.INIT1 = 16'h300A; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_3 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[14] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[13] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[13] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_4 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[12] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[11] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[11] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_5 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[10] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[9] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[9] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_6 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[8] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[7] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[7] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_7 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[6] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[5] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[5] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_8 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[4] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[3] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_9 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[1] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_10 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; + + lut4 CmdEnable17( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40003 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut4 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40003 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h00F2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module inverter ( input I, output Z ); + + INV INST1( .A(I), .Z(Z)); +endmodule + +module SLICE_11 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut4 CmdEnable16( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40004 C1Submitted_s( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40004 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF2F2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_12 ( input A0, DI0, M1, CLK, output F0, Q0, Q1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40005 nCCAS_pad_RNISUR8( .A(A0), .B(GNDI), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre CASr( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40005 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5555) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_16 ( input D1, C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40006 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40007 \S_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0008 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40006 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40007 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hDDDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0008 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_17 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); + wire GNDI, \SLICE_17/SLICE_17_K1_H1 , \SLICE_17/CmdEnable_s/GATE_H0 , VCCI, + CLK_NOTIN, DI0_dly, CLK_dly; + + lut40009 SLICE_17_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(\SLICE_17/SLICE_17_K1_H1 )); + gnd DRIVEGND( .PWR0(GNDI)); + lut40010 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\SLICE_17/CmdEnable_s/GATE_H0 )); + vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + selmux2 SLICE_17_K0K1MUX( .D0(\SLICE_17/CmdEnable_s/GATE_H0 ), + .D1(\SLICE_17/SLICE_17_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40009 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40010 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAC8C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module selmux2 ( input D0, D1, SD, output Z ); + + MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); +endmodule + +module SLICE_18 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40011 CmdLEDEN_4_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 CmdLEDEN_4_u( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40011 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCACA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40012 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hACAC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_20 ( input D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40013 CmdUFMShift_3_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMShift( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40013 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h030A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_21 ( input D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40013 CmdUFMShift_3_u_fast( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMShift_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module SLICE_22 ( input B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40014 CmdUFMWrite_2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40015 CmdUFMWrite_3_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMWrite( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40014 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40015 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0C0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_23 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40016 XOR8MEG11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40017 CmdValid_r( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdValid( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40016 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40017 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hA8A8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_24 ( input C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40018 XOR8MEG18( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40017 CmdValid_r_fast( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre CmdValid_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40018 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_25 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40019 Cmdn8MEGEN_4_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40020 Cmdn8MEGEN_4_u( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40019 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3A3A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40020 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hE2E2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_26 ( input B1, A1, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40021 nCCAS_pad_RNI01SJ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40005 nFWE_pad_RNI420B( .A(A0), .B(GNDI), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre FWEr( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40021 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_28 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40022 RA10_0io_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40023 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40022 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFF7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40023 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_29 ( input C1, B1, A1, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40024 \IS_RNO[2] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40025 IS_n1_0_x2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40024 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7878) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40025 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h6666) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_30 ( input B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40021 RA10_2_sqmuxa_0_o2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40026 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40026 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_31 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut4 InitReady3_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40021 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_32 ( input C0, B0, A0, DI0, CE, CLK, output F0, Q0 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40027 LEDEN_6( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40027 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hB8B8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_34 ( input C1, B1, A1, A0, DI0, M1, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40028 LED_pad_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40005 RASr_RNO( .A(A0), .B(GNDI), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre RASr( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40028 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFBFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_35 ( input B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40029 un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1( .A(A1), .B(B1), .C(GNDI), + .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \un9_RA[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre RASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40029 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_36 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40030 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40031 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40030 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5072) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40031 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hDCCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_37 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40032 un1_Bank_1_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40033 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40032 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40033 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFE30) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_38 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40034 Ready_0_sqmuxa_0_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40035 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40034 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40035 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAEAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_39 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40036 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40021 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40036 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_40 ( input B1, A1, B0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40037 \RowAd[1] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \RowAd[0] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[1] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40037 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_41 ( input B1, A1, B0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40037 \RowAd[3] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \RowAd[2] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[3] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[2] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module SLICE_42 ( input B1, A1, B0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40038 \RowAd[5] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \RowAd[4] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[5] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[4] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40038 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hBBBB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_43 ( input B1, A1, B0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40037 \RowAd[7] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \RowAd[6] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[7] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[6] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module SLICE_44 ( input B1, A1, B0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40038 \RowAd[9] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \RowAd[8] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[9] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[8] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module SLICE_45 ( input D1, C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40039 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40021 \S_0_i_o2[1] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0008 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40039 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_46 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40040 XOR8MEG_3_u_0_bm( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40011 \XOR8MEG_3_u_0/GATE ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40040 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h40C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_47 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40041 wb_rst10( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40027 n8MEGEN_6( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40041 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_48 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output + F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40042 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40043 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0008 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40042 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40043 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hDCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_49 ( input D1, C1, B1, A1, C0, B0, A0, DI1, DI0, CE, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40044 \wb_adr_5[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40045 \wb_adr_5[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_adr[1] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40044 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hB1A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40045 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hE4E4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_50 ( input B1, A1, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40037 \wb_adr_5[3] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \wb_adr_5[2] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \wb_adr[3] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[2] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_51 ( input C1, B1, A1, C0, B0, A0, DI1, DI0, CE, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40046 \wb_adr_5[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40046 \wb_adr_5[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \wb_adr[5] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[4] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40046 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hD8D8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_52 ( input B1, A1, C0, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40037 \wb_adr_5[7] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40046 \wb_adr_5[6] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \wb_adr[7] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[6] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_53 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, LSR, CLK, + output F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, CE_dly, LSR_dly; + + lut40047 un1_wb_cyc_stb_2_sqmuxa_i_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(F1)); + lut40048 un1_wb_cyc_stb_1_sqmuxa_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0008 wb_cyc_stb( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40047 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40048 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hECCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_54 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI1, DI0, CE, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40049 \wb_dati_5_1_iv_0[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40050 \wb_dati_5_0_iv_0[0] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_dati[1] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40049 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFEFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40050 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEAC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_55 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI1, DI0, CE, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40051 \wb_dati_5_1_iv_0[3] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40052 \wb_dati_5_1_iv_0[2] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_dati[3] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[2] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40051 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40052 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFEFC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_56 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI1, DI0, CE, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40052 \wb_dati_5_1_iv_0[5] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40053 \wb_dati_5_1_iv_0[4] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_dati[5] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[4] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40053 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFE4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_57 ( input D1, C1, B1, A1, C0, B0, A0, DI1, DI0, CE, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40049 \wb_dati_5_1_iv_0[7] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40054 \wb_dati_5_1_iv_0[6] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[7] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_dati[6] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40054 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hECEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_58 ( input C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40018 \FS_RNIVOOA[14] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40055 wb_reqe( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0008 wb_req( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40055 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7250) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40056 PHI2r3_RNIS5A51( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40057 wb_rste( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre wb_rst( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40056 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3B33) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40057 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7430) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_60 ( input B1, A1, D0, C0, B0, A0, DI0, CE, LSR, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly, LSR_dly; + + lut40021 un1_wb_adr_0_sqmuxa_2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40058 wb_we_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0008 wb_we( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40058 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h888F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module wb_cyc_stb_RNO_SLICE_61 ( input D1, C1, B1, A1, C0, B0, A0, M0, output + OFX0 ); + wire \wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/SLICE_61_K1_H1 , GNDI, + \wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/GATE_H0 ; + + lut40059 \wb_cyc_stb_RNO/SLICE_61_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/SLICE_61_K1_H1 )); + lut40060 \wb_cyc_stb_RNO/GATE ( .A(A0), .B(B0), .C(C0), .D(GNDI), + .Z(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/GATE_H0 )); + gnd DRIVEGND( .PWR0(GNDI)); + selmux2 \wb_cyc_stb_RNO/SLICE_61_K0K1MUX ( + .D0(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/GATE_H0 ), + .D1(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/SLICE_61_K1_H1 ), .SD(M0), + .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (C1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40059 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFDF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40060 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFBFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40061 CmdValid_fast_RNITQBM1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40032 \ufmefb/EFBInst_0_RNI9PBJ ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40061 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hB8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40022 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40062 un1_nRCAS_6_sqmuxa_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40062 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0BFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40063 nRWE_0io_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40064 nRCAS_0_sqmuxa_1_0_a3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40063 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF1FC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40064 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40065 un1_FS_40_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40066 un1_FS_40_1_0_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40065 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1108) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40066 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2A2B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40067 nRCAS_0io_RNO_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40068 nRCAS_0io_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40067 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1313) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40068 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1303) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_67 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40069 \wb_dati_5_1_iv_0_a3[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40070 \wb_dati_5_1_iv_0_o3[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40069 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40070 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEAEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_68 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40071 nRWE_0io_RNO_1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40072 nRWE_0io_RNO_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40071 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5252) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40072 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_69 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40073 nRWE_0io_RNO_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40074 \S_RNICVV51[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40073 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hBFBF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40074 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0202) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_70 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut4 \wb_dati_5_1_iv_0_a3[4] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40075 \wb_dati_5_1_iv_0_a3_RNO[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), + .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40075 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_71 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 wb_we113_i_a2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40076 \wb_dati_5_1_iv_0_RNO[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40076 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0090) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_72 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40077 \wb_dati_5_1_iv_0_a3[2] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40016 \FS_RNI3V8E[9] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40077 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hB000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_73 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; + + lut40006 XOR8MEG14( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut4 CmdUFMData_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMData( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module SLICE_74 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40042 \wb_dati_5_1_iv_0_a3[6] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40052 \wb_dati_5_1_iv_0_1[6] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_75 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40078 \wb_dati_5_1_iv_0_a2_0[3] ( .A(A1), .B(B1), .C(C1), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40079 \wb_dati_5_1_iv_0_0[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40078 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40079 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hECA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_76 ( input D1, C1, B1, A1, B0, A0, output F0, F1 ); + wire GNDI; + + lut40047 \wb_adr_cnst_sn.m2_0_a3 ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40037 \wb_dati_5_1_iv_0_RNO[4] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), + .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_77 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40080 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40081 nRRAS_5_u_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40080 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40081 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFF32) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_78 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40082 \wb_dati_5_1_iv_0_m3[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40018 \wb_dati_5_1_iv_0_a3[7] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40082 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hD3D3) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_79 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40018 \wb_dati_5_1_iv_0_a3_2_0[1] ( .A(A1), .B(B1), .C(C1), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40079 \wb_dati_5_1_iv_0_0[1] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_80 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40042 \wb_dati_5_1_iv_0_a3_1_1[4] ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(F1)); + lut40083 \wb_dati_5_1_iv_0_1[4] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40083 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEEEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40042 \wb_dati_5_1_iv_0_a3_3[7] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40052 \wb_dati_5_1_iv_0_1[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_82 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40029 wb_we95_0_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40084 un1_wb_we95_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40084 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8060) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_83 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40085 \wb_dati_5_1_iv_0_a2[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40077 \wb_dati_5_1_iv_0_a3_1[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40085 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_84 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40016 un1_FS_29( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40086 \wb_adr_cnst_sn.m4_32 ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40086 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_85 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40087 \wb_adr_cnst_0[0] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40088 un1_FS_40_1_1_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40087 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h9090) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40088 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF6F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_86 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40089 un1_FS_40_1_o6( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40018 un1_FS_40_1_a6( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40089 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFB1) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_87 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40090 un1_FS_21_1_i( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40091 wb_we95( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40090 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7777) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40091 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_88 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40092 nRCS_0io_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40093 nRCAS_r_i_a3_1_1_tz( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40092 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3AFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40093 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h200F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_89 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40007 un1_wb_cyc_stb_2_sqmuxa_i_o3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40032 un1_wb_cyc_stb_2_sqmuxa_i_a3( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_90 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40094 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut4 C1WR_7( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40094 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCCC8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_91 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40095 un1_ADWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut4 ADWR_7( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40095 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hE0E0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_92 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40018 C1WR_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40096 C1WR_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40096 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_93 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40073 un1_wb_adr_0_sqmuxa_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40097 wb_we113_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40097 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hBBBF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_94 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 un1_Bank_1_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut4 un1_Bank_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_95 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40014 un1_PHI2r3_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40032 un1_wb_cyc_stb_1_sqmuxa_0_a3( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_96 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40085 un1_wb_cyc_stb_2_sqmuxa_i_a3_1( .A(A1), .B(B1), .C(C1), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40018 un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2( .A(A0), .B(B0), .C(C0), .D(GNDI), + .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_97 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40014 PHI2r3_RNIFT0I( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40098 CmdUFMShift_fast_RNIG9JD1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40098 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h80FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_98 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40064 nRWE_0io_RNO_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40075 nRWE_0io_RNO_0( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_99 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut4 \wb_dati_5_1_iv_0_a3_0_0_0[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40099 \wb_dati_5_1_iv_0_a3_0_0[3] ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40099 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_100 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40100 un1_FS_40_1_1_tz( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40101 \wb_dati_5_1_iv_0_o3[1] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40100 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4042) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40101 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0810) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_101 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40064 CmdEnable17_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40041 un1_Din_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_102 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut4 InitReady3_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40074 un1_FS_11( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_103 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40102 \wb_dati_5_1_iv_0_a3_0_0[6] ( .A(A1), .B(B1), .C(C1), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut4 \wb_dati_5_1_iv_0_a3_3_0[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40102 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8282) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_104 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40036 CmdEnable16_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40096 CmdEnable17_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_105 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40103 ADWR_4( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40104 CMDWR_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CBR_fast( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CBR( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_NOTIN), + .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40103 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40104 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_106 ( input B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, M0_dly, CLK_dly; + + lut40014 XOR8MEG9_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40047 CmdEnable16_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_107 ( input B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40038 RDQMH( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_108 ( input D1, C1, B1, A1, B0, A0, M0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly; + + lut40105 nRRAS_5_u_i_0_RNILD5I( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40029 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A0), .B(B0), .C(GNDI), .D(GNDI), + .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre FWEr_fast( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40105 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5051) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_109 ( input B1, A1, B0, A0, output F0, F1 ); + wire GNDI; + + lut40014 \wb_dati_5_1_iv_0_a2[4] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40014 \wb_dati_5_1_iv_0_a2_0[4] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), + .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_110 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40090 un1_FS_22_1_i( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40106 \wb_dati_5_0_iv_0_a3_1[0] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40106 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_111 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40012 \un9_RA[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut4 ADWR_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_112 ( input B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40090 RDQML( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \un9_RA[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_113 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40012 \un9_RA[8] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \un9_RA[1] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_114 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40012 \un9_RA[6] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \un9_RA[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_115 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40012 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \un9_RA[3] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_116 ( input D1, C1, B1, A1, B0, A0, output F0, F1 ); + wire GNDI; + + lut40107 RA11d( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40108 XOR8MEG14_1( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40107 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC048) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40108 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_117 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40086 nRCS_0io_RNO_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40109 RCKEEN_8_u_1_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40109 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h70CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_118 ( input B1, A1, B0, A0, M0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, M0_dly, CLK_dly; + + lut40037 \RBAd[0] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \RBAd[1] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre PHI2r3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RD_0_ ( output PADDI, input IOLDO, PADDT, inout RD0 ); + + xo2iobuf \RD_pad[0] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); + + specify + (IOLDO => RD0) = (0:0:0,0:0:0); + (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD0 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD0, 0:0:0); + $width (negedge RD0, 0:0:0); + endspecify + +endmodule + +module xo2iobuf ( input I, T, output Z, PAD, input PADI ); + + IB INST1( .I(PADI), .O(Z)); + OBW INST2( .I(I), .T(T), .O(PAD)); +endmodule + +module RD_0__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[0] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module mfflsre ( input D0, SP, CK, LSR, output Q ); + + FD1P3DX INST01( .D(D0), .SP(SP), .CK(CK), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module Dout_0_ ( input PADDO, output Dout0 ); + + xo2iobuf0110 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); + + specify + (PADDO => Dout0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module xo2iobuf0110 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module PHI2 ( output PADDI, input PHI2 ); + + xo2iobuf0111 PHI2_pad( .Z(PADDI), .PAD(PHI2)); + + specify + (PHI2 => PADDI) = (0:0:0,0:0:0); + $width (posedge PHI2, 0:0:0); + $width (negedge PHI2, 0:0:0); + endspecify + +endmodule + +module xo2iobuf0111 ( output Z, input PAD ); + + IBPD INST1( .I(PAD), .O(Z)); +endmodule + +module PHI2_MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre PHI2r_0io( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module smuxlregsre ( input D0, SP, CK, LSR, output Q ); + + IFS1P3DX INST01( .D(D0), .SP(SP), .SCLK(CK), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module RDQML ( input PADDO, output RDQML ); + + xo2iobuf0110 RDQML_pad( .I(PADDO), .PAD(RDQML)); + + specify + (PADDO => RDQML) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQMH ( input PADDO, output RDQMH ); + + xo2iobuf0110 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); + + specify + (PADDO => RDQMH) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS ( input IOLDO, output nRCAS ); + + xo2iobuf0110 nRCAS_pad( .I(IOLDO), .PAD(nRCAS)); + + specify + (IOLDO => nRCAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0112 nRCAS_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module mfflsre0112 ( input D0, SP, CK, LSR, output Q ); + + FD1P3BX INST01( .D(D0), .SP(SP), .CK(CK), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module nRRAS ( input IOLDO, output nRRAS ); + + xo2iobuf0110 nRRAS_pad( .I(IOLDO), .PAD(nRRAS)); + + specify + (IOLDO => nRRAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRRAS_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0112 nRRAS_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module nRWE ( input IOLDO, output nRWE ); + + xo2iobuf0110 nRWE_pad( .I(IOLDO), .PAD(nRWE)); + + specify + (IOLDO => nRWE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRWE_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0112 nRWE_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RCKE ( input PADDO, output RCKE ); + + xo2iobuf0110 RCKE_pad( .I(PADDO), .PAD(RCKE)); + + specify + (PADDO => RCKE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCLK ( output PADDI, input RCLK ); + + xo2iobuf0113 RCLK_pad( .Z(PADDI), .PAD(RCLK)); + + specify + (RCLK => PADDI) = (0:0:0,0:0:0); + $width (posedge RCLK, 0:0:0); + $width (negedge RCLK, 0:0:0); + endspecify + +endmodule + +module xo2iobuf0113 ( output Z, input PAD ); + + IB INST1( .I(PAD), .O(Z)); +endmodule + +module nRCS ( input IOLDO, output nRCS ); + + xo2iobuf0110 nRCS_pad( .I(IOLDO), .PAD(nRCS)); + + specify + (IOLDO => nRCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCS_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0112 nRCS_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RD_7_ ( output PADDI, input IOLDO, PADDT, inout RD7 ); + + xo2iobuf \RD_pad[7] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); + + specify + (IOLDO => RD7) = (0:0:0,0:0:0); + (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD7 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD7, 0:0:0); + $width (negedge RD7, 0:0:0); + endspecify + +endmodule + +module RD_7__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[7] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_6_ ( output PADDI, input IOLDO, PADDT, inout RD6 ); + + xo2iobuf \RD_pad[6] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); + + specify + (IOLDO => RD6) = (0:0:0,0:0:0); + (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD6 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD6, 0:0:0); + $width (negedge RD6, 0:0:0); + endspecify + +endmodule + +module RD_6__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[6] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_5_ ( output PADDI, input IOLDO, PADDT, inout RD5 ); + + xo2iobuf \RD_pad[5] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); + + specify + (IOLDO => RD5) = (0:0:0,0:0:0); + (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD5 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD5, 0:0:0); + $width (negedge RD5, 0:0:0); + endspecify + +endmodule + +module RD_5__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[5] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_4_ ( output PADDI, input IOLDO, PADDT, inout RD4 ); + + xo2iobuf \RD_pad[4] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); + + specify + (IOLDO => RD4) = (0:0:0,0:0:0); + (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD4 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD4, 0:0:0); + $width (negedge RD4, 0:0:0); + endspecify + +endmodule + +module RD_4__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[4] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_3_ ( output PADDI, input IOLDO, PADDT, inout RD3 ); + + xo2iobuf \RD_pad[3] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); + + specify + (IOLDO => RD3) = (0:0:0,0:0:0); + (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD3 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD3, 0:0:0); + $width (negedge RD3, 0:0:0); + endspecify + +endmodule + +module RD_3__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[3] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_2_ ( output PADDI, input IOLDO, PADDT, inout RD2 ); + + xo2iobuf \RD_pad[2] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); + + specify + (IOLDO => RD2) = (0:0:0,0:0:0); + (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD2 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD2, 0:0:0); + $width (negedge RD2, 0:0:0); + endspecify + +endmodule + +module RD_2__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[2] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_1_ ( output PADDI, input IOLDO, PADDT, inout RD1 ); + + xo2iobuf \RD_pad[1] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); + + specify + (IOLDO => RD1) = (0:0:0,0:0:0); + (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD1 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD1, 0:0:0); + $width (negedge RD1, 0:0:0); + endspecify + +endmodule + +module RD_1__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[1] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RA_11_ ( input IOLDO, output RA11 ); + + xo2iobuf0110 \RA_pad[11] ( .I(IOLDO), .PAD(RA11)); + + specify + (IOLDO => RA11) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_11__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre RA11_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RA_10_ ( input IOLDO, output RA10 ); + + xo2iobuf0110 \RA_pad[10] ( .I(IOLDO), .PAD(RA10)); + + specify + (IOLDO => RA10) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_10__MGIOL ( output IOLDO, input OPOS, LSR, CLK ); + wire VCCI, OPOS_dly, CLK_dly, LSR_dly; + + mfflsre0114 RA10_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(LSR_dly), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module mfflsre0114 ( input D0, SP, CK, LSR, output Q ); + + FD1P3JX INST01( .D(D0), .SP(SP), .CK(CK), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module RA_9_ ( input PADDO, output RA9 ); + + xo2iobuf0110 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); + + specify + (PADDO => RA9) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_8_ ( input PADDO, output RA8 ); + + xo2iobuf0110 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); + + specify + (PADDO => RA8) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_7_ ( input PADDO, output RA7 ); + + xo2iobuf0110 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); + + specify + (PADDO => RA7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_6_ ( input PADDO, output RA6 ); + + xo2iobuf0110 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); + + specify + (PADDO => RA6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_5_ ( input PADDO, output RA5 ); + + xo2iobuf0110 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); + + specify + (PADDO => RA5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_4_ ( input PADDO, output RA4 ); + + xo2iobuf0110 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); + + specify + (PADDO => RA4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_3_ ( input PADDO, output RA3 ); + + xo2iobuf0110 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); + + specify + (PADDO => RA3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_2_ ( input PADDO, output RA2 ); + + xo2iobuf0110 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); + + specify + (PADDO => RA2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_1_ ( input PADDO, output RA1 ); + + xo2iobuf0110 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); + + specify + (PADDO => RA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_0_ ( input PADDO, output RA0 ); + + xo2iobuf0110 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); + + specify + (PADDO => RA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1_ ( input IOLDO, output RBA1 ); + + xo2iobuf0110 \RBA_pad[1] ( .I(IOLDO), .PAD(RBA1)); + + specify + (IOLDO => RBA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \RBA_0io[1] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RBA_0_ ( input IOLDO, output RBA0 ); + + xo2iobuf0110 \RBA_pad[0] ( .I(IOLDO), .PAD(RBA0)); + + specify + (IOLDO => RBA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_0__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \RBA_0io[0] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module LED ( input PADDO, output LED ); + + xo2iobuf0115 LED_pad( .I(PADDO), .PAD(LED)); + + specify + (PADDO => LED) = (0:0:0,0:0:0); + endspecify + +endmodule + +module xo2iobuf0115 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module nFWE ( output PADDI, input nFWE ); + + xo2iobuf0116 nFWE_pad( .Z(PADDI), .PAD(nFWE)); + + specify + (nFWE => PADDI) = (0:0:0,0:0:0); + $width (posedge nFWE, 0:0:0); + $width (negedge nFWE, 0:0:0); + endspecify + +endmodule + +module xo2iobuf0116 ( output Z, input PAD ); + + IBPU INST1( .I(PAD), .O(Z)); +endmodule + +module nCRAS ( output PADDI, input nCRAS ); + + xo2iobuf0116 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); + + specify + (nCRAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCRAS, 0:0:0); + $width (negedge nCRAS, 0:0:0); + endspecify + +endmodule + +module nCCAS ( output PADDI, input nCCAS ); + + xo2iobuf0116 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); + + specify + (nCCAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCCAS, 0:0:0); + $width (negedge nCCAS, 0:0:0); + endspecify + +endmodule + +module Dout_7_ ( input PADDO, output Dout7 ); + + xo2iobuf0110 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); + + specify + (PADDO => Dout7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_6_ ( input PADDO, output Dout6 ); + + xo2iobuf0110 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); + + specify + (PADDO => Dout6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_5_ ( input PADDO, output Dout5 ); + + xo2iobuf0110 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); + + specify + (PADDO => Dout5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_4_ ( input PADDO, output Dout4 ); + + xo2iobuf0110 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); + + specify + (PADDO => Dout4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_3_ ( input PADDO, output Dout3 ); + + xo2iobuf0110 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); + + specify + (PADDO => Dout3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_2_ ( input PADDO, output Dout2 ); + + xo2iobuf0110 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); + + specify + (PADDO => Dout2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_1_ ( input PADDO, output Dout1 ); + + xo2iobuf0110 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); + + specify + (PADDO => Dout1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Din_7_ ( output PADDI, input Din7 ); + + xo2iobuf0113 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); + + specify + (Din7 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din7, 0:0:0); + $width (negedge Din7, 0:0:0); + endspecify + +endmodule + +module Din_7__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[7] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_6_ ( output PADDI, input Din6 ); + + xo2iobuf0113 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); + + specify + (Din6 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din6, 0:0:0); + $width (negedge Din6, 0:0:0); + endspecify + +endmodule + +module Din_6__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[6] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_5_ ( output PADDI, input Din5 ); + + xo2iobuf0113 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); + + specify + (Din5 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din5, 0:0:0); + $width (negedge Din5, 0:0:0); + endspecify + +endmodule + +module Din_5__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[5] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_4_ ( output PADDI, input Din4 ); + + xo2iobuf0113 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); + + specify + (Din4 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din4, 0:0:0); + $width (negedge Din4, 0:0:0); + endspecify + +endmodule + +module Din_4__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[4] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_3_ ( output PADDI, input Din3 ); + + xo2iobuf0113 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); + + specify + (Din3 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din3, 0:0:0); + $width (negedge Din3, 0:0:0); + endspecify + +endmodule + +module Din_3__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[3] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_2_ ( output PADDI, input Din2 ); + + xo2iobuf0113 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); + + specify + (Din2 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din2, 0:0:0); + $width (negedge Din2, 0:0:0); + endspecify + +endmodule + +module Din_2__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[2] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_1_ ( output PADDI, input Din1 ); + + xo2iobuf0113 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); + + specify + (Din1 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din1, 0:0:0); + $width (negedge Din1, 0:0:0); + endspecify + +endmodule + +module Din_1__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[1] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_0_ ( output PADDI, input Din0 ); + + xo2iobuf0113 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); + + specify + (Din0 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din0, 0:0:0); + $width (negedge Din0, 0:0:0); + endspecify + +endmodule + +module Din_0__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[0] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module CROW_1_ ( output PADDI, input CROW1 ); + + xo2iobuf0113 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); + + specify + (CROW1 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW1, 0:0:0); + $width (negedge CROW1, 0:0:0); + endspecify + +endmodule + +module CROW_0_ ( output PADDI, input CROW0 ); + + xo2iobuf0113 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); + + specify + (CROW0 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW0, 0:0:0); + $width (negedge CROW0, 0:0:0); + endspecify + +endmodule + +module MAin_9_ ( output PADDI, input MAin9 ); + + xo2iobuf0113 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); + + specify + (MAin9 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin9, 0:0:0); + $width (negedge MAin9, 0:0:0); + endspecify + +endmodule + +module MAin_8_ ( output PADDI, input MAin8 ); + + xo2iobuf0113 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); + + specify + (MAin8 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin8, 0:0:0); + $width (negedge MAin8, 0:0:0); + endspecify + +endmodule + +module MAin_7_ ( output PADDI, input MAin7 ); + + xo2iobuf0113 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); + + specify + (MAin7 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin7, 0:0:0); + $width (negedge MAin7, 0:0:0); + endspecify + +endmodule + +module MAin_6_ ( output PADDI, input MAin6 ); + + xo2iobuf0113 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); + + specify + (MAin6 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin6, 0:0:0); + $width (negedge MAin6, 0:0:0); + endspecify + +endmodule + +module MAin_5_ ( output PADDI, input MAin5 ); + + xo2iobuf0113 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); + + specify + (MAin5 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin5, 0:0:0); + $width (negedge MAin5, 0:0:0); + endspecify + +endmodule + +module MAin_4_ ( output PADDI, input MAin4 ); + + xo2iobuf0113 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); + + specify + (MAin4 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin4, 0:0:0); + $width (negedge MAin4, 0:0:0); + endspecify + +endmodule + +module MAin_3_ ( output PADDI, input MAin3 ); + + xo2iobuf0113 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); + + specify + (MAin3 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin3, 0:0:0); + $width (negedge MAin3, 0:0:0); + endspecify + +endmodule + +module MAin_2_ ( output PADDI, input MAin2 ); + + xo2iobuf0113 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); + + specify + (MAin2 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin2, 0:0:0); + $width (negedge MAin2, 0:0:0); + endspecify + +endmodule + +module MAin_1_ ( output PADDI, input MAin1 ); + + xo2iobuf0113 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); + + specify + (MAin1 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin1, 0:0:0); + $width (negedge MAin1, 0:0:0); + endspecify + +endmodule + +module MAin_0_ ( output PADDI, input MAin0 ); + + xo2iobuf0113 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); + + specify + (MAin0 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin0, 0:0:0); + $width (negedge MAin0, 0:0:0); + endspecify + +endmodule + +module ufmefb_EFBInst_0 ( input WBCLKI, WBRSTI, WBCYCI, WBSTBI, WBWEI, WBADRI0, + WBADRI1, WBADRI2, WBADRI3, WBADRI4, WBADRI5, WBADRI6, WBADRI7, WBDATI0, + WBDATI1, WBDATI2, WBDATI3, WBDATI4, WBDATI5, WBDATI6, WBDATI7, output + WBDATO0, WBDATO1, WBACKO ); + wire VCCI, GNDI; + + EFB_B \ufmefb/EFBInst_0_EFB ( .WBCLKI(WBCLKI), .WBRSTI(WBRSTI), + .WBCYCI(WBCYCI), .WBSTBI(WBSTBI), .WBWEI(WBWEI), .WBADRI0(WBADRI0), + .WBADRI1(WBADRI1), .WBADRI2(WBADRI2), .WBADRI3(WBADRI3), .WBADRI4(WBADRI4), + .WBADRI5(WBADRI5), .WBADRI6(WBADRI6), .WBADRI7(WBADRI7), .WBDATI0(WBDATI0), + .WBDATI1(WBDATI1), .WBDATI2(WBDATI2), .WBDATI3(WBDATI3), .WBDATI4(WBDATI4), + .WBDATI5(WBDATI5), .WBDATI6(WBDATI6), .WBDATI7(WBDATI7), .WBDATO0(WBDATO0), + .WBDATO1(WBDATO1), .WBDATO2(), .WBDATO3(), .WBDATO4(), .WBDATO5(), + .WBDATO6(), .WBDATO7(), .WBACKO(WBACKO), .WBCUFMIRQ(), .UFMSN(VCCI), + .CFGWAKE(), .CFGSTDBY(), .I2C1SCLI(GNDI), .I2C1SCLO(), .I2C1SCLOEN(), + .I2C1SDAI(GNDI), .I2C1SDAO(), .I2C1SDAOEN(), .I2C2SCLI(GNDI), .I2C2SCLO(), + .I2C2SCLOEN(), .I2C2SDAI(GNDI), .I2C2SDAO(), .I2C2SDAOEN(), .I2C1IRQO(), + .I2C2IRQO(), .SPISCKI(GNDI), .SPISCKO(), .SPISCKEN(), .SPIMISOI(GNDI), + .SPIMISOO(), .SPIMISOEN(), .SPIMOSII(GNDI), .SPIMOSIO(), .SPIMOSIEN(), + .SPIMCSN0(), .SPIMCSN1(), .SPIMCSN2(), .SPIMCSN3(), .SPIMCSN4(), + .SPIMCSN5(), .SPIMCSN6(), .SPIMCSN7(), .SPICSNEN(), .SPISCSN(GNDI), + .SPIIRQO(), .TCCLKI(GNDI), .TCRSTN(GNDI), .TCIC(GNDI), .TCINT(), .TCOC(), + .PLLCLKO(), .PLLRSTO(), .PLL0STBO(), .PLL1STBO(), .PLLWEO(), .PLLADRO0(), + .PLLADRO1(), .PLLADRO2(), .PLLADRO3(), .PLLADRO4(), .PLLDATO0(), + .PLLDATO1(), .PLLDATO2(), .PLLDATO3(), .PLLDATO4(), .PLLDATO5(), + .PLLDATO6(), .PLLDATO7(), .PLL0DATI0(GNDI), .PLL0DATI1(GNDI), + .PLL0DATI2(GNDI), .PLL0DATI3(GNDI), .PLL0DATI4(GNDI), .PLL0DATI5(GNDI), + .PLL0DATI6(GNDI), .PLL0DATI7(GNDI), .PLL0ACKI(GNDI), .PLL1DATI0(GNDI), + .PLL1DATI1(GNDI), .PLL1DATI2(GNDI), .PLL1DATI3(GNDI), .PLL1DATI4(GNDI), + .PLL1DATI5(GNDI), .PLL1DATI6(GNDI), .PLL1DATI7(GNDI), .PLL1ACKI(GNDI)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); +endmodule + +module EFB_B ( input WBCLKI, WBRSTI, WBCYCI, WBSTBI, WBWEI, WBADRI0, WBADRI1, + WBADRI2, WBADRI3, WBADRI4, WBADRI5, WBADRI6, WBADRI7, WBDATI0, WBDATI1, + WBDATI2, WBDATI3, WBDATI4, WBDATI5, WBDATI6, WBDATI7, output WBDATO0, + WBDATO1, WBDATO2, WBDATO3, WBDATO4, WBDATO5, WBDATO6, WBDATO7, WBACKO, + WBCUFMIRQ, input UFMSN, output CFGWAKE, CFGSTDBY, input I2C1SCLI, output + I2C1SCLO, I2C1SCLOEN, input I2C1SDAI, output I2C1SDAO, I2C1SDAOEN, input + I2C2SCLI, output I2C2SCLO, I2C2SCLOEN, input I2C2SDAI, output I2C2SDAO, + I2C2SDAOEN, I2C1IRQO, I2C2IRQO, input SPISCKI, output SPISCKO, SPISCKEN, + input SPIMISOI, output SPIMISOO, SPIMISOEN, input SPIMOSII, output + SPIMOSIO, SPIMOSIEN, SPIMCSN0, SPIMCSN1, SPIMCSN2, SPIMCSN3, SPIMCSN4, + SPIMCSN5, SPIMCSN6, SPIMCSN7, SPICSNEN, input SPISCSN, output SPIIRQO, + input TCCLKI, TCRSTN, TCIC, output TCINT, TCOC, PLLCLKO, PLLRSTO, PLL0STBO, + PLL1STBO, PLLWEO, PLLADRO0, PLLADRO1, PLLADRO2, PLLADRO3, PLLADRO4, + PLLDATO0, PLLDATO1, PLLDATO2, PLLDATO3, PLLDATO4, PLLDATO5, PLLDATO6, + PLLDATO7, input PLL0DATI0, PLL0DATI1, PLL0DATI2, PLL0DATI3, PLL0DATI4, + PLL0DATI5, PLL0DATI6, PLL0DATI7, PLL0ACKI, PLL1DATI0, PLL1DATI1, PLL1DATI2, + PLL1DATI3, PLL1DATI4, PLL1DATI5, PLL1DATI6, PLL1DATI7, PLL1ACKI ); + wire WBCLKI_buf, WBRSTI_buf, WBCYCI_buf, WBSTBI_buf, WBWEI_buf, + WBADRI7_buf, WBADRI6_buf, WBADRI5_buf, WBADRI4_buf, WBADRI3_buf, + WBADRI2_buf, WBADRI1_buf, WBADRI0_buf, WBDATI7_buf, WBDATI6_buf, + WBDATI5_buf, WBDATI4_buf, WBDATI3_buf, WBDATI2_buf, WBDATI1_buf, + WBDATI0_buf, PLL0DATI7_buf, PLL0DATI6_buf, PLL0DATI5_buf, + PLL0DATI4_buf, PLL0DATI3_buf, PLL0DATI2_buf, PLL0DATI1_buf, + PLL0DATI0_buf, PLL0ACKI_buf, PLL1DATI7_buf, PLL1DATI6_buf, + PLL1DATI5_buf, PLL1DATI4_buf, PLL1DATI3_buf, PLL1DATI2_buf, + PLL1DATI1_buf, PLL1DATI0_buf, PLL1ACKI_buf, I2C1SCLI_buf, + I2C1SDAI_buf, I2C2SCLI_buf, I2C2SDAI_buf, SPISCKI_buf, SPIMISOI_buf, + SPIMOSII_buf, SPISCSN_buf, TCCLKI_buf, TCRSTN_buf, TCIC_buf, + UFMSN_buf, WBDATO7_buf, WBDATO6_buf, WBDATO5_buf, WBDATO4_buf, + WBDATO3_buf, WBDATO2_buf, WBDATO1_buf, WBDATO0_buf, WBACKO_buf, + PLLCLKO_buf, PLLRSTO_buf, PLL0STBO_buf, PLL1STBO_buf, PLLWEO_buf, + PLLADRO4_buf, PLLADRO3_buf, PLLADRO2_buf, PLLADRO1_buf, PLLADRO0_buf, + PLLDATO7_buf, PLLDATO6_buf, PLLDATO5_buf, PLLDATO4_buf, PLLDATO3_buf, + PLLDATO2_buf, PLLDATO1_buf, PLLDATO0_buf, I2C1SCLO_buf, + I2C1SCLOEN_buf, I2C1SDAO_buf, I2C1SDAOEN_buf, I2C2SCLO_buf, + I2C2SCLOEN_buf, I2C2SDAO_buf, I2C2SDAOEN_buf, I2C1IRQO_buf, + I2C2IRQO_buf, SPISCKO_buf, SPISCKEN_buf, SPIMISOO_buf, SPIMISOEN_buf, + SPIMOSIO_buf, SPIMOSIEN_buf, SPIMCSN0_buf, SPIMCSN1_buf, SPIMCSN2_buf, + SPIMCSN3_buf, SPIMCSN4_buf, SPIMCSN5_buf, SPIMCSN6_buf, SPIMCSN7_buf, + SPICSNEN_buf, SPIIRQO_buf, TCINT_buf, TCOC_buf, WBCUFMIRQ_buf, + CFGWAKE_buf, CFGSTDBY_buf; + + EFB INST10( .WBCLKI(WBCLKI_buf), .WBRSTI(WBRSTI_buf), .WBCYCI(WBCYCI_buf), + .WBSTBI(WBSTBI_buf), .WBWEI(WBWEI_buf), .WBADRI7(WBADRI7_buf), + .WBADRI6(WBADRI6_buf), .WBADRI5(WBADRI5_buf), .WBADRI4(WBADRI4_buf), + .WBADRI3(WBADRI3_buf), .WBADRI2(WBADRI2_buf), .WBADRI1(WBADRI1_buf), + .WBADRI0(WBADRI0_buf), .WBDATI7(WBDATI7_buf), .WBDATI6(WBDATI6_buf), + .WBDATI5(WBDATI5_buf), .WBDATI4(WBDATI4_buf), .WBDATI3(WBDATI3_buf), + .WBDATI2(WBDATI2_buf), .WBDATI1(WBDATI1_buf), .WBDATI0(WBDATI0_buf), + .PLL0DATI7(PLL0DATI7_buf), .PLL0DATI6(PLL0DATI6_buf), + .PLL0DATI5(PLL0DATI5_buf), .PLL0DATI4(PLL0DATI4_buf), + .PLL0DATI3(PLL0DATI3_buf), .PLL0DATI2(PLL0DATI2_buf), + .PLL0DATI1(PLL0DATI1_buf), .PLL0DATI0(PLL0DATI0_buf), + .PLL0ACKI(PLL0ACKI_buf), .PLL1DATI7(PLL1DATI7_buf), + .PLL1DATI6(PLL1DATI6_buf), .PLL1DATI5(PLL1DATI5_buf), + .PLL1DATI4(PLL1DATI4_buf), .PLL1DATI3(PLL1DATI3_buf), + .PLL1DATI2(PLL1DATI2_buf), .PLL1DATI1(PLL1DATI1_buf), + .PLL1DATI0(PLL1DATI0_buf), .PLL1ACKI(PLL1ACKI_buf), + .I2C1SCLI(I2C1SCLI_buf), .I2C1SDAI(I2C1SDAI_buf), .I2C2SCLI(I2C2SCLI_buf), + .I2C2SDAI(I2C2SDAI_buf), .SPISCKI(SPISCKI_buf), .SPIMISOI(SPIMISOI_buf), + .SPIMOSII(SPIMOSII_buf), .SPISCSN(SPISCSN_buf), .TCCLKI(TCCLKI_buf), + .TCRSTN(TCRSTN_buf), .TCIC(TCIC_buf), .UFMSN(UFMSN_buf), + .WBDATO7(WBDATO7_buf), .WBDATO6(WBDATO6_buf), .WBDATO5(WBDATO5_buf), + .WBDATO4(WBDATO4_buf), .WBDATO3(WBDATO3_buf), .WBDATO2(WBDATO2_buf), + .WBDATO1(WBDATO1_buf), .WBDATO0(WBDATO0_buf), .WBACKO(WBACKO_buf), + .PLLCLKO(PLLCLKO_buf), .PLLRSTO(PLLRSTO_buf), .PLL0STBO(PLL0STBO_buf), + .PLL1STBO(PLL1STBO_buf), .PLLWEO(PLLWEO_buf), .PLLADRO4(PLLADRO4_buf), + .PLLADRO3(PLLADRO3_buf), .PLLADRO2(PLLADRO2_buf), .PLLADRO1(PLLADRO1_buf), + .PLLADRO0(PLLADRO0_buf), .PLLDATO7(PLLDATO7_buf), .PLLDATO6(PLLDATO6_buf), + .PLLDATO5(PLLDATO5_buf), .PLLDATO4(PLLDATO4_buf), .PLLDATO3(PLLDATO3_buf), + .PLLDATO2(PLLDATO2_buf), .PLLDATO1(PLLDATO1_buf), .PLLDATO0(PLLDATO0_buf), + .I2C1SCLO(I2C1SCLO_buf), .I2C1SCLOEN(I2C1SCLOEN_buf), + .I2C1SDAO(I2C1SDAO_buf), .I2C1SDAOEN(I2C1SDAOEN_buf), + .I2C2SCLO(I2C2SCLO_buf), .I2C2SCLOEN(I2C2SCLOEN_buf), + .I2C2SDAO(I2C2SDAO_buf), .I2C2SDAOEN(I2C2SDAOEN_buf), + .I2C1IRQO(I2C1IRQO_buf), .I2C2IRQO(I2C2IRQO_buf), .SPISCKO(SPISCKO_buf), + .SPISCKEN(SPISCKEN_buf), .SPIMISOO(SPIMISOO_buf), + .SPIMISOEN(SPIMISOEN_buf), .SPIMOSIO(SPIMOSIO_buf), + .SPIMOSIEN(SPIMOSIEN_buf), .SPIMCSN0(SPIMCSN0_buf), + .SPIMCSN1(SPIMCSN1_buf), .SPIMCSN2(SPIMCSN2_buf), .SPIMCSN3(SPIMCSN3_buf), + .SPIMCSN4(SPIMCSN4_buf), .SPIMCSN5(SPIMCSN5_buf), .SPIMCSN6(SPIMCSN6_buf), + .SPIMCSN7(SPIMCSN7_buf), .SPICSNEN(SPICSNEN_buf), .SPIIRQO(SPIIRQO_buf), + .TCINT(TCINT_buf), .TCOC(TCOC_buf), .WBCUFMIRQ(WBCUFMIRQ_buf), + .CFGWAKE(CFGWAKE_buf), .CFGSTDBY(CFGSTDBY_buf)); + defparam INST10.DEV_DENSITY = "640L"; + defparam INST10.EFB_I2C1 = "DISABLED"; + defparam INST10.EFB_I2C2 = "DISABLED"; + defparam INST10.EFB_SPI = "DISABLED"; + defparam INST10.EFB_TC = "DISABLED"; + defparam INST10.EFB_TC_PORTMODE = "WB"; + defparam INST10.EFB_UFM = "ENABLED"; + defparam INST10.EFB_WB_CLK_FREQ = "66.7"; + defparam INST10.GSR = "ENABLED"; + defparam INST10.I2C1_ADDRESSING = "7BIT"; + defparam INST10.I2C1_BUS_PERF = "100kHz"; + defparam INST10.I2C1_CLK_DIVIDER = 1; + defparam INST10.I2C1_GEN_CALL = "DISABLED"; + defparam INST10.I2C1_SLAVE_ADDR = "0b1000001"; + defparam INST10.I2C1_WAKEUP = "DISABLED"; + defparam INST10.I2C2_ADDRESSING = "7BIT"; + defparam INST10.I2C2_BUS_PERF = "100kHz"; + defparam INST10.I2C2_CLK_DIVIDER = 1; + defparam INST10.I2C2_GEN_CALL = "DISABLED"; + defparam INST10.I2C2_SLAVE_ADDR = "0b1000010"; + defparam INST10.I2C2_WAKEUP = "DISABLED"; + defparam INST10.SPI_CLK_DIVIDER = 1; + defparam INST10.SPI_CLK_INV = "DISABLED"; + defparam INST10.SPI_INTR_RXOVR = "DISABLED"; + defparam INST10.SPI_INTR_RXRDY = "DISABLED"; + defparam INST10.SPI_INTR_TXOVR = "DISABLED"; + defparam INST10.SPI_INTR_TXRDY = "DISABLED"; + defparam INST10.SPI_LSB_FIRST = "DISABLED"; + defparam INST10.SPI_MODE = "MASTER"; + defparam INST10.SPI_PHASE_ADJ = "DISABLED"; + defparam INST10.SPI_SLAVE_HANDSHAKE = "DISABLED"; + defparam INST10.SPI_WAKEUP = "DISABLED"; + defparam INST10.TC_CCLK_SEL = 1; + defparam INST10.TC_ICAPTURE = "DISABLED"; + defparam INST10.TC_ICR_INT = "OFF"; + defparam INST10.TC_MODE = "CTCM"; + defparam INST10.TC_OCR_INT = "OFF"; + defparam INST10.TC_OCR_SET = 32767; + defparam INST10.TC_OC_MODE = "TOGGLE"; + defparam INST10.TC_OVERFLOW = "DISABLED"; + defparam INST10.TC_OV_INT = "OFF"; + defparam INST10.TC_RESETN = "ENABLED"; + defparam INST10.TC_SCLK_SEL = "PCLOCK"; + defparam INST10.TC_TOP_SEL = "OFF"; + defparam INST10.TC_TOP_SET = 65535; + defparam INST10.UFM_INIT_ALL_ZEROS = "DISABLED"; + defparam INST10.UFM_INIT_FILE_FORMAT = "HEX"; + defparam INST10.UFM_INIT_FILE_NAME = "../RAM2GS-LCMXO2.mem"; + defparam INST10.UFM_INIT_PAGES = 1; + defparam INST10.UFM_INIT_START_PAGE = 190; + EFB_Buffer_Block INST20( .WBCLKIin(WBCLKI), .WBCLKIout(WBCLKI_buf), + .WBRSTIin(WBRSTI), .WBRSTIout(WBRSTI_buf), .WBCYCIin(WBCYCI), + .WBCYCIout(WBCYCI_buf), .WBSTBIin(WBSTBI), .WBSTBIout(WBSTBI_buf), + .WBWEIin(WBWEI), .WBWEIout(WBWEI_buf), .WBADRI7in(WBADRI7), + .WBADRI7out(WBADRI7_buf), .WBADRI6in(WBADRI6), .WBADRI6out(WBADRI6_buf), + .WBADRI5in(WBADRI5), .WBADRI5out(WBADRI5_buf), .WBADRI4in(WBADRI4), + .WBADRI4out(WBADRI4_buf), .WBADRI3in(WBADRI3), .WBADRI3out(WBADRI3_buf), + .WBADRI2in(WBADRI2), .WBADRI2out(WBADRI2_buf), .WBADRI1in(WBADRI1), + .WBADRI1out(WBADRI1_buf), .WBADRI0in(WBADRI0), .WBADRI0out(WBADRI0_buf), + .WBDATI7in(WBDATI7), .WBDATI7out(WBDATI7_buf), .WBDATI6in(WBDATI6), + .WBDATI6out(WBDATI6_buf), .WBDATI5in(WBDATI5), .WBDATI5out(WBDATI5_buf), + .WBDATI4in(WBDATI4), .WBDATI4out(WBDATI4_buf), .WBDATI3in(WBDATI3), + .WBDATI3out(WBDATI3_buf), .WBDATI2in(WBDATI2), .WBDATI2out(WBDATI2_buf), + .WBDATI1in(WBDATI1), .WBDATI1out(WBDATI1_buf), .WBDATI0in(WBDATI0), + .WBDATI0out(WBDATI0_buf), .PLL0DATI7in(PLL0DATI7), + .PLL0DATI7out(PLL0DATI7_buf), .PLL0DATI6in(PLL0DATI6), + .PLL0DATI6out(PLL0DATI6_buf), .PLL0DATI5in(PLL0DATI5), + .PLL0DATI5out(PLL0DATI5_buf), .PLL0DATI4in(PLL0DATI4), + .PLL0DATI4out(PLL0DATI4_buf), .PLL0DATI3in(PLL0DATI3), + .PLL0DATI3out(PLL0DATI3_buf), .PLL0DATI2in(PLL0DATI2), + .PLL0DATI2out(PLL0DATI2_buf), .PLL0DATI1in(PLL0DATI1), + .PLL0DATI1out(PLL0DATI1_buf), .PLL0DATI0in(PLL0DATI0), + .PLL0DATI0out(PLL0DATI0_buf), .PLL0ACKIin(PLL0ACKI), + .PLL0ACKIout(PLL0ACKI_buf), .PLL1DATI7in(PLL1DATI7), + .PLL1DATI7out(PLL1DATI7_buf), .PLL1DATI6in(PLL1DATI6), + .PLL1DATI6out(PLL1DATI6_buf), .PLL1DATI5in(PLL1DATI5), + .PLL1DATI5out(PLL1DATI5_buf), .PLL1DATI4in(PLL1DATI4), + .PLL1DATI4out(PLL1DATI4_buf), .PLL1DATI3in(PLL1DATI3), + .PLL1DATI3out(PLL1DATI3_buf), .PLL1DATI2in(PLL1DATI2), + .PLL1DATI2out(PLL1DATI2_buf), .PLL1DATI1in(PLL1DATI1), + .PLL1DATI1out(PLL1DATI1_buf), .PLL1DATI0in(PLL1DATI0), + .PLL1DATI0out(PLL1DATI0_buf), .PLL1ACKIin(PLL1ACKI), + .PLL1ACKIout(PLL1ACKI_buf), .I2C1SCLIin(I2C1SCLI), + .I2C1SCLIout(I2C1SCLI_buf), .I2C1SDAIin(I2C1SDAI), + .I2C1SDAIout(I2C1SDAI_buf), .I2C2SCLIin(I2C2SCLI), + .I2C2SCLIout(I2C2SCLI_buf), .I2C2SDAIin(I2C2SDAI), + .I2C2SDAIout(I2C2SDAI_buf), .SPISCKIin(SPISCKI), .SPISCKIout(SPISCKI_buf), + .SPIMISOIin(SPIMISOI), .SPIMISOIout(SPIMISOI_buf), .SPIMOSIIin(SPIMOSII), + .SPIMOSIIout(SPIMOSII_buf), .SPISCSNin(SPISCSN), .SPISCSNout(SPISCSN_buf), + .TCCLKIin(TCCLKI), .TCCLKIout(TCCLKI_buf), .TCRSTNin(TCRSTN), + .TCRSTNout(TCRSTN_buf), .TCICin(TCIC), .TCICout(TCIC_buf), .UFMSNin(UFMSN), + .UFMSNout(UFMSN_buf), .WBDATO7out(WBDATO7), .WBDATO7in(WBDATO7_buf), + .WBDATO6out(WBDATO6), .WBDATO6in(WBDATO6_buf), .WBDATO5out(WBDATO5), + .WBDATO5in(WBDATO5_buf), .WBDATO4out(WBDATO4), .WBDATO4in(WBDATO4_buf), + .WBDATO3out(WBDATO3), .WBDATO3in(WBDATO3_buf), .WBDATO2out(WBDATO2), + .WBDATO2in(WBDATO2_buf), .WBDATO1out(WBDATO1), .WBDATO1in(WBDATO1_buf), + .WBDATO0out(WBDATO0), .WBDATO0in(WBDATO0_buf), .WBACKOout(WBACKO), + .WBACKOin(WBACKO_buf), .PLLCLKOout(PLLCLKO), .PLLCLKOin(PLLCLKO_buf), + .PLLRSTOout(PLLRSTO), .PLLRSTOin(PLLRSTO_buf), .PLL0STBOout(PLL0STBO), + .PLL0STBOin(PLL0STBO_buf), .PLL1STBOout(PLL1STBO), + .PLL1STBOin(PLL1STBO_buf), .PLLWEOout(PLLWEO), .PLLWEOin(PLLWEO_buf), + .PLLADRO4out(PLLADRO4), .PLLADRO4in(PLLADRO4_buf), .PLLADRO3out(PLLADRO3), + .PLLADRO3in(PLLADRO3_buf), .PLLADRO2out(PLLADRO2), + .PLLADRO2in(PLLADRO2_buf), .PLLADRO1out(PLLADRO1), + .PLLADRO1in(PLLADRO1_buf), .PLLADRO0out(PLLADRO0), + .PLLADRO0in(PLLADRO0_buf), .PLLDATO7out(PLLDATO7), + .PLLDATO7in(PLLDATO7_buf), .PLLDATO6out(PLLDATO6), + .PLLDATO6in(PLLDATO6_buf), .PLLDATO5out(PLLDATO5), + .PLLDATO5in(PLLDATO5_buf), .PLLDATO4out(PLLDATO4), + .PLLDATO4in(PLLDATO4_buf), .PLLDATO3out(PLLDATO3), + .PLLDATO3in(PLLDATO3_buf), .PLLDATO2out(PLLDATO2), + .PLLDATO2in(PLLDATO2_buf), .PLLDATO1out(PLLDATO1), + .PLLDATO1in(PLLDATO1_buf), .PLLDATO0out(PLLDATO0), + .PLLDATO0in(PLLDATO0_buf), .I2C1SCLOout(I2C1SCLO), + .I2C1SCLOin(I2C1SCLO_buf), .I2C1SCLOENout(I2C1SCLOEN), + .I2C1SCLOENin(I2C1SCLOEN_buf), .I2C1SDAOout(I2C1SDAO), + .I2C1SDAOin(I2C1SDAO_buf), .I2C1SDAOENout(I2C1SDAOEN), + .I2C1SDAOENin(I2C1SDAOEN_buf), .I2C2SCLOout(I2C2SCLO), + .I2C2SCLOin(I2C2SCLO_buf), .I2C2SCLOENout(I2C2SCLOEN), + .I2C2SCLOENin(I2C2SCLOEN_buf), .I2C2SDAOout(I2C2SDAO), + .I2C2SDAOin(I2C2SDAO_buf), .I2C2SDAOENout(I2C2SDAOEN), + .I2C2SDAOENin(I2C2SDAOEN_buf), .I2C1IRQOout(I2C1IRQO), + .I2C1IRQOin(I2C1IRQO_buf), .I2C2IRQOout(I2C2IRQO), + .I2C2IRQOin(I2C2IRQO_buf), .SPISCKOout(SPISCKO), .SPISCKOin(SPISCKO_buf), + .SPISCKENout(SPISCKEN), .SPISCKENin(SPISCKEN_buf), .SPIMISOOout(SPIMISOO), + .SPIMISOOin(SPIMISOO_buf), .SPIMISOENout(SPIMISOEN), + .SPIMISOENin(SPIMISOEN_buf), .SPIMOSIOout(SPIMOSIO), + .SPIMOSIOin(SPIMOSIO_buf), .SPIMOSIENout(SPIMOSIEN), + .SPIMOSIENin(SPIMOSIEN_buf), .SPIMCSN0out(SPIMCSN0), + .SPIMCSN0in(SPIMCSN0_buf), .SPIMCSN1out(SPIMCSN1), + .SPIMCSN1in(SPIMCSN1_buf), .SPIMCSN2out(SPIMCSN2), + .SPIMCSN2in(SPIMCSN2_buf), .SPIMCSN3out(SPIMCSN3), + .SPIMCSN3in(SPIMCSN3_buf), .SPIMCSN4out(SPIMCSN4), + .SPIMCSN4in(SPIMCSN4_buf), .SPIMCSN5out(SPIMCSN5), + .SPIMCSN5in(SPIMCSN5_buf), .SPIMCSN6out(SPIMCSN6), + .SPIMCSN6in(SPIMCSN6_buf), .SPIMCSN7out(SPIMCSN7), + .SPIMCSN7in(SPIMCSN7_buf), .SPICSNENout(SPICSNEN), + .SPICSNENin(SPICSNEN_buf), .SPIIRQOout(SPIIRQO), .SPIIRQOin(SPIIRQO_buf), + .TCINTout(TCINT), .TCINTin(TCINT_buf), .TCOCout(TCOC), .TCOCin(TCOC_buf), + .WBCUFMIRQout(WBCUFMIRQ), .WBCUFMIRQin(WBCUFMIRQ_buf), + .CFGWAKEout(CFGWAKE), .CFGWAKEin(CFGWAKE_buf), .CFGSTDBYout(CFGSTDBY), + .CFGSTDBYin(CFGSTDBY_buf)); +endmodule + +module EFB_Buffer_Block ( input WBCLKIin, output WBCLKIout, input WBRSTIin, + output WBRSTIout, input WBCYCIin, output WBCYCIout, input WBSTBIin, + output WBSTBIout, input WBWEIin, output WBWEIout, input WBADRI7in, output + WBADRI7out, input WBADRI6in, output WBADRI6out, input WBADRI5in, output + WBADRI5out, input WBADRI4in, output WBADRI4out, input WBADRI3in, output + WBADRI3out, input WBADRI2in, output WBADRI2out, input WBADRI1in, output + WBADRI1out, input WBADRI0in, output WBADRI0out, input WBDATI7in, output + WBDATI7out, input WBDATI6in, output WBDATI6out, input WBDATI5in, output + WBDATI5out, input WBDATI4in, output WBDATI4out, input WBDATI3in, output + WBDATI3out, input WBDATI2in, output WBDATI2out, input WBDATI1in, output + WBDATI1out, input WBDATI0in, output WBDATI0out, input PLL0DATI7in, output + PLL0DATI7out, input PLL0DATI6in, output PLL0DATI6out, input PLL0DATI5in, + output PLL0DATI5out, input PLL0DATI4in, output PLL0DATI4out, input + PLL0DATI3in, output PLL0DATI3out, input PLL0DATI2in, output PLL0DATI2out, + input PLL0DATI1in, output PLL0DATI1out, input PLL0DATI0in, output + PLL0DATI0out, input PLL0ACKIin, output PLL0ACKIout, input PLL1DATI7in, + output PLL1DATI7out, input PLL1DATI6in, output PLL1DATI6out, input + PLL1DATI5in, output PLL1DATI5out, input PLL1DATI4in, output PLL1DATI4out, + input PLL1DATI3in, output PLL1DATI3out, input PLL1DATI2in, output + PLL1DATI2out, input PLL1DATI1in, output PLL1DATI1out, input PLL1DATI0in, + output PLL1DATI0out, input PLL1ACKIin, output PLL1ACKIout, input + I2C1SCLIin, output I2C1SCLIout, input I2C1SDAIin, output I2C1SDAIout, + input I2C2SCLIin, output I2C2SCLIout, input I2C2SDAIin, output I2C2SDAIout, + input SPISCKIin, output SPISCKIout, input SPIMISOIin, output SPIMISOIout, + input SPIMOSIIin, output SPIMOSIIout, input SPISCSNin, output SPISCSNout, + input TCCLKIin, output TCCLKIout, input TCRSTNin, output TCRSTNout, input + TCICin, output TCICout, input UFMSNin, output UFMSNout, WBDATO7out, input + WBDATO7in, output WBDATO6out, input WBDATO6in, output WBDATO5out, input + WBDATO5in, output WBDATO4out, input WBDATO4in, output WBDATO3out, input + WBDATO3in, output WBDATO2out, input WBDATO2in, output WBDATO1out, input + WBDATO1in, output WBDATO0out, input WBDATO0in, output WBACKOout, input + WBACKOin, output PLLCLKOout, input PLLCLKOin, output PLLRSTOout, input + PLLRSTOin, output PLL0STBOout, input PLL0STBOin, output PLL1STBOout, + input PLL1STBOin, output PLLWEOout, input PLLWEOin, output PLLADRO4out, + input PLLADRO4in, output PLLADRO3out, input PLLADRO3in, output PLLADRO2out, + input PLLADRO2in, output PLLADRO1out, input PLLADRO1in, output PLLADRO0out, + input PLLADRO0in, output PLLDATO7out, input PLLDATO7in, output PLLDATO6out, + input PLLDATO6in, output PLLDATO5out, input PLLDATO5in, output PLLDATO4out, + input PLLDATO4in, output PLLDATO3out, input PLLDATO3in, output PLLDATO2out, + input PLLDATO2in, output PLLDATO1out, input PLLDATO1in, output PLLDATO0out, + input PLLDATO0in, output I2C1SCLOout, input I2C1SCLOin, output + I2C1SCLOENout, input I2C1SCLOENin, output I2C1SDAOout, input I2C1SDAOin, + output I2C1SDAOENout, input I2C1SDAOENin, output I2C2SCLOout, input + I2C2SCLOin, output I2C2SCLOENout, input I2C2SCLOENin, output I2C2SDAOout, + input I2C2SDAOin, output I2C2SDAOENout, input I2C2SDAOENin, output + I2C1IRQOout, input I2C1IRQOin, output I2C2IRQOout, input I2C2IRQOin, + output SPISCKOout, input SPISCKOin, output SPISCKENout, input SPISCKENin, + output SPIMISOOout, input SPIMISOOin, output SPIMISOENout, input + SPIMISOENin, output SPIMOSIOout, input SPIMOSIOin, output SPIMOSIENout, + input SPIMOSIENin, output SPIMCSN0out, input SPIMCSN0in, output + SPIMCSN1out, input SPIMCSN1in, output SPIMCSN2out, input SPIMCSN2in, + output SPIMCSN3out, input SPIMCSN3in, output SPIMCSN4out, input SPIMCSN4in, + output SPIMCSN5out, input SPIMCSN5in, output SPIMCSN6out, input SPIMCSN6in, + output SPIMCSN7out, input SPIMCSN7in, output SPICSNENout, input SPICSNENin, + output SPIIRQOout, input SPIIRQOin, output TCINTout, input TCINTin, + output TCOCout, input TCOCin, output WBCUFMIRQout, input WBCUFMIRQin, + output CFGWAKEout, input CFGWAKEin, output CFGSTDBYout, input CFGSTDBYin ); + wire WBRSTIin_dly, WBCLKIin_dly, WBCYCIin_dly, WBSTBIin_dly, WBWEIin_dly, + WBADRI0in_dly, WBADRI1in_dly, WBADRI2in_dly, WBADRI3in_dly, + WBADRI4in_dly, WBADRI5in_dly, WBADRI6in_dly, WBADRI7in_dly, + WBDATI0in_dly, WBDATI1in_dly, WBDATI2in_dly, WBDATI3in_dly, + WBDATI4in_dly, WBDATI5in_dly, WBDATI6in_dly, WBDATI7in_dly; + + BUFBA WBCLKI_buf( .A(WBCLKIin_dly), .Z(WBCLKIout)); + BUFBA WBRSTI_buf( .A(WBRSTIin_dly), .Z(WBRSTIout)); + BUFBA WBCYCI_buf( .A(WBCYCIin_dly), .Z(WBCYCIout)); + BUFBA WBSTBI_buf( .A(WBSTBIin_dly), .Z(WBSTBIout)); + BUFBA WBWEI_buf( .A(WBWEIin_dly), .Z(WBWEIout)); + BUFBA WBADRI7_buf( .A(WBADRI7in_dly), .Z(WBADRI7out)); + BUFBA WBADRI6_buf( .A(WBADRI6in_dly), .Z(WBADRI6out)); + BUFBA WBADRI5_buf( .A(WBADRI5in_dly), .Z(WBADRI5out)); + BUFBA WBADRI4_buf( .A(WBADRI4in_dly), .Z(WBADRI4out)); + BUFBA WBADRI3_buf( .A(WBADRI3in_dly), .Z(WBADRI3out)); + BUFBA WBADRI2_buf( .A(WBADRI2in_dly), .Z(WBADRI2out)); + BUFBA WBADRI1_buf( .A(WBADRI1in_dly), .Z(WBADRI1out)); + BUFBA WBADRI0_buf( .A(WBADRI0in_dly), .Z(WBADRI0out)); + BUFBA WBDATI7_buf( .A(WBDATI7in_dly), .Z(WBDATI7out)); + BUFBA WBDATI6_buf( .A(WBDATI6in_dly), .Z(WBDATI6out)); + BUFBA WBDATI5_buf( .A(WBDATI5in_dly), .Z(WBDATI5out)); + BUFBA WBDATI4_buf( .A(WBDATI4in_dly), .Z(WBDATI4out)); + BUFBA WBDATI3_buf( .A(WBDATI3in_dly), .Z(WBDATI3out)); + BUFBA WBDATI2_buf( .A(WBDATI2in_dly), .Z(WBDATI2out)); + BUFBA WBDATI1_buf( .A(WBDATI1in_dly), .Z(WBDATI1out)); + BUFBA WBDATI0_buf( .A(WBDATI0in_dly), .Z(WBDATI0out)); + BUFBA PLL0DATI7_buf( .A(PLL0DATI7in), .Z(PLL0DATI7out)); + BUFBA PLL0DATI6_buf( .A(PLL0DATI6in), .Z(PLL0DATI6out)); + BUFBA PLL0DATI5_buf( .A(PLL0DATI5in), .Z(PLL0DATI5out)); + BUFBA PLL0DATI4_buf( .A(PLL0DATI4in), .Z(PLL0DATI4out)); + BUFBA PLL0DATI3_buf( .A(PLL0DATI3in), .Z(PLL0DATI3out)); + BUFBA PLL0DATI2_buf( .A(PLL0DATI2in), .Z(PLL0DATI2out)); + BUFBA PLL0DATI1_buf( .A(PLL0DATI1in), .Z(PLL0DATI1out)); + BUFBA PLL0DATI0_buf( .A(PLL0DATI0in), .Z(PLL0DATI0out)); + BUFBA PLL0ACKI_buf( .A(PLL0ACKIin), .Z(PLL0ACKIout)); + BUFBA PLL1DATI7_buf( .A(PLL1DATI7in), .Z(PLL1DATI7out)); + BUFBA PLL1DATI6_buf( .A(PLL1DATI6in), .Z(PLL1DATI6out)); + BUFBA PLL1DATI5_buf( .A(PLL1DATI5in), .Z(PLL1DATI5out)); + BUFBA PLL1DATI4_buf( .A(PLL1DATI4in), .Z(PLL1DATI4out)); + BUFBA PLL1DATI3_buf( .A(PLL1DATI3in), .Z(PLL1DATI3out)); + BUFBA PLL1DATI2_buf( .A(PLL1DATI2in), .Z(PLL1DATI2out)); + BUFBA PLL1DATI1_buf( .A(PLL1DATI1in), .Z(PLL1DATI1out)); + BUFBA PLL1DATI0_buf( .A(PLL1DATI0in), .Z(PLL1DATI0out)); + BUFBA PLL1ACKI_buf( .A(PLL1ACKIin), .Z(PLL1ACKIout)); + BUFBA I2C1SCLI_buf( .A(I2C1SCLIin), .Z(I2C1SCLIout)); + BUFBA I2C1SDAI_buf( .A(I2C1SDAIin), .Z(I2C1SDAIout)); + BUFBA I2C2SCLI_buf( .A(I2C2SCLIin), .Z(I2C2SCLIout)); + BUFBA I2C2SDAI_buf( .A(I2C2SDAIin), .Z(I2C2SDAIout)); + BUFBA SPISCKI_buf( .A(SPISCKIin), .Z(SPISCKIout)); + BUFBA SPIMISOI_buf( .A(SPIMISOIin), .Z(SPIMISOIout)); + BUFBA SPIMOSII_buf( .A(SPIMOSIIin), .Z(SPIMOSIIout)); + BUFBA SPISCSN_buf( .A(SPISCSNin), .Z(SPISCSNout)); + BUFBA TCCLKI_buf( .A(TCCLKIin), .Z(TCCLKIout)); + BUFBA TCRSTN_buf( .A(TCRSTNin), .Z(TCRSTNout)); + BUFBA TCIC_buf( .A(TCICin), .Z(TCICout)); + BUFBA UFMSN_buf( .A(UFMSNin), .Z(UFMSNout)); + BUFBA WBDATO7_buf( .A(WBDATO7in), .Z(WBDATO7out)); + BUFBA WBDATO6_buf( .A(WBDATO6in), .Z(WBDATO6out)); + BUFBA WBDATO5_buf( .A(WBDATO5in), .Z(WBDATO5out)); + BUFBA WBDATO4_buf( .A(WBDATO4in), .Z(WBDATO4out)); + BUFBA WBDATO3_buf( .A(WBDATO3in), .Z(WBDATO3out)); + BUFBA WBDATO2_buf( .A(WBDATO2in), .Z(WBDATO2out)); + BUFBA WBDATO1_buf( .A(WBDATO1in), .Z(WBDATO1out)); + BUFBA WBDATO0_buf( .A(WBDATO0in), .Z(WBDATO0out)); + BUFBA WBACKO_buf( .A(WBACKOin), .Z(WBACKOout)); + BUFBA PLLCLKO_buf( .A(PLLCLKOin), .Z(PLLCLKOout)); + BUFBA PLLRSTO_buf( .A(PLLRSTOin), .Z(PLLRSTOout)); + BUFBA PLL0STBO_buf( .A(PLL0STBOin), .Z(PLL0STBOout)); + BUFBA PLL1STBO_buf( .A(PLL1STBOin), .Z(PLL1STBOout)); + BUFBA PLLWEO_buf( .A(PLLWEOin), .Z(PLLWEOout)); + BUFBA PLLADRO4_buf( .A(PLLADRO4in), .Z(PLLADRO4out)); + BUFBA PLLADRO3_buf( .A(PLLADRO3in), .Z(PLLADRO3out)); + BUFBA PLLADRO2_buf( .A(PLLADRO2in), .Z(PLLADRO2out)); + BUFBA PLLADRO1_buf( .A(PLLADRO1in), .Z(PLLADRO1out)); + BUFBA PLLADRO0_buf( .A(PLLADRO0in), .Z(PLLADRO0out)); + BUFBA PLLDATO7_buf( .A(PLLDATO7in), .Z(PLLDATO7out)); + BUFBA PLLDATO6_buf( .A(PLLDATO6in), .Z(PLLDATO6out)); + BUFBA PLLDATO5_buf( .A(PLLDATO5in), .Z(PLLDATO5out)); + BUFBA PLLDATO4_buf( .A(PLLDATO4in), .Z(PLLDATO4out)); + BUFBA PLLDATO3_buf( .A(PLLDATO3in), .Z(PLLDATO3out)); + BUFBA PLLDATO2_buf( .A(PLLDATO2in), .Z(PLLDATO2out)); + BUFBA PLLDATO1_buf( .A(PLLDATO1in), .Z(PLLDATO1out)); + BUFBA PLLDATO0_buf( .A(PLLDATO0in), .Z(PLLDATO0out)); + BUFBA I2C1SCLO_buf( .A(I2C1SCLOin), .Z(I2C1SCLOout)); + BUFBA I2C1SCLOEN_buf( .A(I2C1SCLOENin), .Z(I2C1SCLOENout)); + BUFBA I2C1SDAO_buf( .A(I2C1SDAOin), .Z(I2C1SDAOout)); + BUFBA I2C1SDAOEN_buf( .A(I2C1SDAOENin), .Z(I2C1SDAOENout)); + BUFBA I2C2SCLO_buf( .A(I2C2SCLOin), .Z(I2C2SCLOout)); + BUFBA I2C2SCLOEN_buf( .A(I2C2SCLOENin), .Z(I2C2SCLOENout)); + BUFBA I2C2SDAO_buf( .A(I2C2SDAOin), .Z(I2C2SDAOout)); + BUFBA I2C2SDAOEN_buf( .A(I2C2SDAOENin), .Z(I2C2SDAOENout)); + BUFBA I2C1IRQO_buf( .A(I2C1IRQOin), .Z(I2C1IRQOout)); + BUFBA I2C2IRQO_buf( .A(I2C2IRQOin), .Z(I2C2IRQOout)); + BUFBA SPISCKO_buf( .A(SPISCKOin), .Z(SPISCKOout)); + BUFBA SPISCKEN_buf( .A(SPISCKENin), .Z(SPISCKENout)); + BUFBA SPIMISOO_buf( .A(SPIMISOOin), .Z(SPIMISOOout)); + BUFBA SPIMISOEN_buf( .A(SPIMISOENin), .Z(SPIMISOENout)); + BUFBA SPIMOSIO_buf( .A(SPIMOSIOin), .Z(SPIMOSIOout)); + BUFBA SPIMOSIEN_buf( .A(SPIMOSIENin), .Z(SPIMOSIENout)); + BUFBA SPIMCSN0_buf( .A(SPIMCSN0in), .Z(SPIMCSN0out)); + BUFBA SPIMCSN1_buf( .A(SPIMCSN1in), .Z(SPIMCSN1out)); + BUFBA SPIMCSN2_buf( .A(SPIMCSN2in), .Z(SPIMCSN2out)); + BUFBA SPIMCSN3_buf( .A(SPIMCSN3in), .Z(SPIMCSN3out)); + BUFBA SPIMCSN4_buf( .A(SPIMCSN4in), .Z(SPIMCSN4out)); + BUFBA SPIMCSN5_buf( .A(SPIMCSN5in), .Z(SPIMCSN5out)); + BUFBA SPIMCSN6_buf( .A(SPIMCSN6in), .Z(SPIMCSN6out)); + BUFBA SPIMCSN7_buf( .A(SPIMCSN7in), .Z(SPIMCSN7out)); + BUFBA SPICSNEN_buf( .A(SPICSNENin), .Z(SPICSNENout)); + BUFBA SPIIRQO_buf( .A(SPIIRQOin), .Z(SPIIRQOout)); + BUFBA TCINT_buf( .A(TCINTin), .Z(TCINTout)); + BUFBA TCOC_buf( .A(TCOCin), .Z(TCOCout)); + BUFBA WBCUFMIRQ_buf( .A(WBCUFMIRQin), .Z(WBCUFMIRQout)); + BUFBA CFGWAKE_buf( .A(CFGWAKEin), .Z(CFGWAKEout)); + BUFBA CFGSTDBY_buf( .A(CFGSTDBYin), .Z(CFGSTDBYout)); + + specify + (WBCLKIin => WBDATO0out) = (0:0:0,0:0:0); + (WBCLKIin => WBDATO1out) = (0:0:0,0:0:0); + (WBCLKIin => WBACKOout) = (0:0:0,0:0:0); + $setuphold + (posedge WBCLKIin, WBRSTIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBRSTIin_dly); + $setuphold + (posedge WBCLKIin, WBCYCIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBCYCIin_dly); + $setuphold + (posedge WBCLKIin, WBSTBIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBSTBIin_dly); + $setuphold + (posedge WBCLKIin, WBWEIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBWEIin_dly); + $setuphold + (posedge WBCLKIin, WBADRI0in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI0in_dly); + $setuphold + (posedge WBCLKIin, WBADRI1in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI1in_dly); + $setuphold + (posedge WBCLKIin, WBADRI2in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI2in_dly); + $setuphold + (posedge WBCLKIin, WBADRI3in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI3in_dly); + $setuphold + (posedge WBCLKIin, WBADRI4in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI4in_dly); + $setuphold + (posedge WBCLKIin, WBADRI5in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI5in_dly); + $setuphold + (posedge WBCLKIin, WBADRI6in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI6in_dly); + $setuphold + (posedge WBCLKIin, WBADRI7in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI7in_dly); + $setuphold + (posedge WBCLKIin, WBDATI0in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI0in_dly); + $setuphold + (posedge WBCLKIin, WBDATI1in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI1in_dly); + $setuphold + (posedge WBCLKIin, WBDATI2in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI2in_dly); + $setuphold + (posedge WBCLKIin, WBDATI3in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI3in_dly); + $setuphold + (posedge WBCLKIin, WBDATI4in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI4in_dly); + $setuphold + (posedge WBCLKIin, WBDATI5in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI5in_dly); + $setuphold + (posedge WBCLKIin, WBDATI6in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI6in_dly); + $setuphold + (posedge WBCLKIin, WBDATI7in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI7in_dly); + $width (posedge WBCLKIin, 0:0:0); + $width (negedge WBCLKIin, 0:0:0); + endspecify + +endmodule diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mrp.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mrp.html index 08af2f2..18e481b 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mrp.html +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_mrp.html @@ -15,27 +15,27 @@ Command line: map -a MachXO2 -p LCMXO2-640HC -t TQFP100 -s 4 -oc Commercial LCMXO2_640HC_impl1.ngd -o LCMXO2_640HC_impl1_map.ncd -pr - LCMXO2_640HC_impl1.prf -mp LCMXO2_640HC_impl1.mrp -lpf D:/OneDrive/Document - s/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf - -lpf D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf -c 0 -gui - -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml + LCMXO2_640HC_impl1.prf -mp LCMXO2_640HC_impl1.mrp -lpf + Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf + -lpf Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf -c 0 -gui -msgset + Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml Target Vendor: LATTICE Target Device: LCMXO2-640HCTQFP100 Target Performance: 4 Mapper: xo2c00, version: Diamond (64-bit) 3.12.1.454 -Mapped on: 08/16/23 20:59:36 +Mapped on: 08/19/23 21:54:57 Design Summary - Number of registers: 109 out of 877 (12%) - PFU registers: 84 out of 640 (13%) + Number of registers: 111 out of 877 (13%) + PFU registers: 86 out of 640 (13%) PIO registers: 25 out of 237 (11%) - Number of SLICEs: 117 out of 320 (37%) - SLICEs as Logic/ROM: 117 out of 320 (37%) + Number of SLICEs: 113 out of 320 (35%) + SLICEs as Logic/ROM: 113 out of 320 (35%) SLICEs as RAM: 0 out of 240 (0%) SLICEs as Carry: 10 out of 320 (3%) - Number of LUT4s: 230 out of 640 (36%) - Number used as logic LUTs: 210 + Number of LUT4s: 222 out of 640 (35%) + Number used as logic LUTs: 202 Number used as distributed RAM: 0 Number used as ripple logic: 20 Number used as shift registers: 0 @@ -58,39 +58,37 @@ Mapped on: 08/16/23 20:59:36 distributed RAMs) + 2*(Number of ripple logic) 2. Number of logic LUT4s does not include count of distributed RAM and ripple logic. - Number of clocks: 5 - Net PHI2_c: 19 loads, 9 rising, 10 falling (Driver: PIO PHI2 ) - Net RCLK_c: 46 loads, 46 rising, 0 falling (Driver: PIO RCLK ) - Net wb_clk: 1 loads, 1 rising, 0 falling (Driver: wb_clk ) + Number of clocks: 4 + Net PHI2_c: 21 loads, 9 rising, 12 falling (Driver: PIO PHI2 ) + Net RCLK_c: 47 loads, 47 rising, 0 falling (Driver: PIO RCLK ) Net nCRAS_c: 10 loads, 0 rising, 10 falling (Driver: PIO nCRAS ) Net nCCAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 7 - Net N_245_i: 1 loads, 1 LSLICEs - Net CMDUFMWrite_1_sqmuxa: 2 loads, 2 LSLICEs + Number of Clock Enables: 6 + Net un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i: 1 loads, 1 LSLICEs + Net XOR8MEG18: 6 loads, 6 LSLICEs + Net CmdUFMData_1_sqmuxa: 1 loads, 1 LSLICEs - Net InitReady: 1 loads, 1 LSLICEs - Net un1_wb_clk32_i: 10 loads, 10 LSLICEs - Net N_18: 2 loads, 2 LSLICEs - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_193_i: 2 loads, 2 LSLICEs + Net un1_wb_rst14_i: 9 loads, 9 LSLICEs + Net un1_FS_38_i: 2 loads, 2 LSLICEs + Net N_253_i: 2 loads, 2 LSLICEs Number of LSRs: 5 Net RA10s_i: 1 loads, 0 LSLICEs - Net wb_clk23: 3 loads, 3 LSLICEs + Net wb_rst10: 3 loads, 3 LSLICEs Net wb_rst: 1 loads, 0 LSLICEs Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs Net RASr2: 2 loads, 2 LSLICEs Number of nets driven by tri-state buffers: 0 Top 10 highest fanout non-clock nets: - Net InitReady: 42 loads - Net FS[12]: 27 loads - Net FS[10]: 25 loads - Net FS[11]: 22 loads - Net FS[7]: 17 loads - Net FS[6]: 16 loads - Net Ready: 15 loads + Net InitReady: 33 loads + Net FS[13]: 22 loads + Net FS[12]: 21 loads + Net FS[14]: 20 loads + Net wb_rst11: 18 loads + Net FS[10]: 16 loads + Net Ready: 16 loads + Net FS[11]: 15 loads + Net FS[9]: 15 loads Net Ready_fast: 14 loads - Net nRowColSel: 12 loads - Net S[1]: 12 loads @@ -127,9 +125,9 @@ WARNING - map: UFM was enabled in EFB: Enabling the configuration interface will +---------------------+-----------+-----------+------------+ | RDQML | OUTPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ - | RDQMH | OUTPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ + | nRCAS | OUTPUT | LVCMOS33 | OUT | +---------------------+-----------+-----------+------------+ | nRRAS | OUTPUT | LVCMOS33 | OUT | @@ -184,9 +182,9 @@ WARNING - map: UFM was enabled in EFB: Enabling the configuration interface will +---------------------+-----------+-----------+------------+ | RBA[0] | OUTPUT | LVCMOS33 | OUT | +---------------------+-----------+-----------+------------+ - | LED | OUTPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ + | nFWE | INPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ | nCRAS | INPUT | LVCMOS33 | | @@ -241,9 +239,9 @@ WARNING - map: UFM was enabled in EFB: Enabling the configuration interface will +---------------------+-----------+-----------+------------+ | MAin[3] | INPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ - | MAin[2] | INPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ + | MAin[1] | INPUT | LVCMOS33 | | +---------------------+-----------+-----------+------------+ | MAin[0] | INPUT | LVCMOS33 | | @@ -256,8 +254,8 @@ WARNING - map: UFM was enabled in EFB: Enabling the configuration interface will Block GSR_INST undriven or does not drive anything - clipped. Signal nCRAS_c_i was merged into signal nCRAS_c Signal RASr2_i was merged into signal RASr2 -Signal InitReady_i was merged into signal InitReady Signal XOR8MEG.CN was merged into signal PHI2_c +Signal XOR8MEG_3_u_0_am was merged into signal XOR8MEG Signal GND undriven or does not drive anything - clipped. Signal ufmefb/VCC undriven or does not drive anything - clipped. Signal ufmefb/GND undriven or does not drive anything - clipped. @@ -299,9 +297,9 @@ Signal ufmefb/PLLDATO1 undriven or does not drive anything - clipped. Signal ufmefb/PLLDATO2 undriven or does not drive anything - clipped. Signal ufmefb/PLLDATO3 undriven or does not drive anything - clipped. Signal ufmefb/PLLDATO4 undriven or does not drive anything - clipped. - Signal ufmefb/PLLDATO5 undriven or does not drive anything - clipped. Signal ufmefb/PLLDATO6 undriven or does not drive anything - clipped. + Signal ufmefb/PLLDATO7 undriven or does not drive anything - clipped. Signal ufmefb/PLLADRO0 undriven or does not drive anything - clipped. Signal ufmefb/PLLADRO1 undriven or does not drive anything - clipped. @@ -313,7 +311,6 @@ Signal ufmefb/PLL1STBO undriven or does not drive anything - clipped. Signal ufmefb/PLL0STBO undriven or does not drive anything - clipped. Signal ufmefb/PLLRSTO undriven or does not drive anything - clipped. Signal ufmefb/PLLCLKO undriven or does not drive anything - clipped. -Signal ufmefb/wb_ack_o undriven or does not drive anything - clipped. Signal ufmefb/wb_dat_o_1[2] undriven or does not drive anything - clipped. Signal ufmefb/wb_dat_o_1[3] undriven or does not drive anything - clipped. Signal ufmefb/wb_dat_o_1[4] undriven or does not drive anything - clipped. @@ -324,8 +321,8 @@ Signal FS_cry_0_S0[0] undriven or does not drive anything - clipped. Signal N_1 undriven or does not drive anything - clipped. Block nCRAS_pad_RNIBPVB was optimized away. Block RASr2_RNIAFR1 was optimized away. -Block wb_rst_RNO_0 was optimized away. Block XOR8MEG.CN was optimized away. +Block XOR8MEG_3_u_0_am was optimized away. Block GND was optimized away. Block ufmefb/VCC was optimized away. Block ufmefb/GND was optimized away. @@ -336,8 +333,8 @@ Block ufmefb/GND was optimized away. Embedded Functional Block Connection Summary - Desired WISHBONE clock frequency: 62.5 MHz - Clock source: wb_clk + Desired WISHBONE clock frequency: 66.7 MHz + Clock source: RCLK_c Reset source: wb_rst Functions mode: I2C #1 (Primary) Function: DISABLED @@ -357,10 +354,10 @@ Block ufmefb/GND was optimized away. Timer/Counter Function Summary: ------------------------------ None - UFM Function Summary: -------------------- UFM Utilization: General Purpose Flash Memory + Initialized UFM Pages: 1 Pages (1*128 Bits) Available General Purpose Flash Memory: 191 Pages (191*128 Bits) @@ -387,7 +384,7 @@ Instance Name: ufmefb/EFBInst_0 Total CPU Time: 0 secs Total REAL Time: 0 secs - Peak Memory Usage: 37 MB + Peak Memory Usage: 57 MB @@ -417,6 +414,9 @@ Instance Name: ufmefb/EFBInst_0 + + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_multi_srs_gen.htm b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_multi_srs_gen.htm index f3bf63b..69bd562 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_multi_srs_gen.htm +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_multi_srs_gen.htm @@ -1,9 +1,9 @@ - - - syntmp/LCMXO2_640HC_impl1_multi_srs_gen_srr.htm log file - - - - - - + + + syntmp/LCMXO2_640HC_impl1_multi_srs_gen_srr.htm log file + + + + + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_ngd.asd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_ngd.asd index c265c78..8440a7e 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_ngd.asd +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_ngd.asd @@ -1 +1 @@ -[ActiveSupport NGD] +[ActiveSupport NGD] diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_pad.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_pad.html index 0371599..7eb325b 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_pad.html +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_pad.html @@ -14,7 +14,7 @@ Performance Grade: 4 PACKAGE: TQFP100 Package Status: Final Version 1.39 -Wed Aug 16 20:59:41 2023 +Sat Aug 19 21:55:06 2023 Pinout by Port Name: +-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ @@ -278,7 +278,7 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:42 2023 +Sat Aug 19 21:55:09 2023 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_par.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_par.html index 954f131..07b2afc 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_par.html +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_par.html @@ -12,11 +12,11 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:37 2023 +Sat Aug 19 21:55:01 2023 C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f LCMXO2_640HC_impl1.p2t LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir LCMXO2_640HC_impl1.prf -gui --msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml +-msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml Preference file: LCMXO2_640HC_impl1.prf. @@ -25,22 +25,22 @@ Preference file: LCMXO2_640HC_impl1.prf. Level/ Number Worst Timing Worst Timing Run NCD Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ---------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 4.922 0 0.088 0 07 Completed +5_1 * 0 6.966 0 0.304 0 10 Completed * : Design saved. -Total (real) run time for 1-seed: 7 secs +Total (real) run time for 1-seed: 10 secs par done! Note: user must run 'Trace' for timing closure signoff. Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" -Wed Aug 16 20:59:37 2023 +Sat Aug 19 21:55:01 2023 Best Par Run PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf Preference file: LCMXO2_640HC_impl1.prf. Placement level-cost: 5-1. Routing Iterations: 6 @@ -66,45 +66,44 @@ Ignore Preference Error(s): True 63+4(JTAG)/79 85% bonded IOLOGIC 25/80 31% used - SLICE 117/320 36% used + SLICE 113/320 35% used EFB 1/1 100% used -Number of Signals: 380 -Number of Connections: 1008 +Number of Signals: 374 +Number of Connections: 978 Pin Constraint Summary: 63 out of 63 pins locked (100% locked). The following 3 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 46) - PHI2_c (driver: PHI2, clk load #: 19) + RCLK_c (driver: RCLK, clk load #: 47) + PHI2_c (driver: PHI2, clk load #: 21) nCRAS_c (driver: nCRAS, clk load #: 10) WARNING - par: Signal "RCLK_c" is selected to use Primary clock resources. However, its driver comp "RCLK" is located at "62", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. WARNING - par: Signal "PHI2_c" is selected to use Primary clock resources. However, its driver comp "PHI2" is located at "8", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. WARNING - par: Signal "nCRAS_c" is selected to use Primary clock resources. However, its driver comp "nCRAS" is located at "17", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -The following 2 signals are selected to use the secondary clock routing resources: +The following 1 signal is selected to use the secondary clock routing resources: nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) - un1_wb_clk32_i (driver: SLICE_103, clk load #: 0, sr load #: 0, ce load #: 10) WARNING - par: Signal "nCCAS_c" is selected to use Secondary clock resources. However, its driver comp "nCCAS" is located at "9", which is not a dedicated pin for connecting to Secondary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. No signal is selected as Global Set/Reset. Starting Placer Phase 0. -.............. +............ Finished Placer Phase 0. REAL time: 0 secs Starting Placer Phase 1. -................... -Placer score = 55012. -Finished Placer Phase 1. REAL time: 4 secs +.................... +Placer score = 53481. +Finished Placer Phase 1. REAL time: 5 secs Starting Placer Phase 2. . -Placer score = 54994 -Finished Placer Phase 2. REAL time: 4 secs +Placer score = 53406 +Finished Placer Phase 2. REAL time: 5 secs @@ -117,14 +116,13 @@ Global Clock Resources: DCC : 0 out of 8 (0%) Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 46 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 19 + PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 47 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 21 PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 - SECONDARY "un1_wb_clk32_i" from F0 on comp "SLICE_103" on site "R6C8B", clk load = 0, ce load = 10, sr load = 0 PRIMARY : 3 out of 8 (37%) - SECONDARY: 2 out of 8 (25%) + SECONDARY: 1 out of 8 (12%) @@ -145,21 +143,18 @@ I/O Bank Usage Summary: | 3 | 18 / 20 ( 90%) | 3.3V | - | +----------+----------------+------------+-----------+ -Total placer CPU time: 3 secs +Total placer CPU time: 5 secs Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. -0 connections routed; 1008 unrouted. +0 connections routed; 978 unrouted. Starting router resource preassignment WARNING - par: The driver of primary clock net RCLK_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. WARNING - par: The driver of primary clock net nCRAS_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=wb_clk loads=1 clock_loads=1 +Completed router resource preassignment. Real time: 8 secs -Completed router resource preassignment. Real time: 5 secs - -Start NBR router at 20:59:43 08/16/23 +Start NBR router at 21:55:09 08/19/23 ***************************************************************** Info: NBR allows conflicts(one node used by more than one signal) @@ -174,54 +169,41 @@ Note: NBR uses a different method to calculate timing slacks. The your design. ***************************************************************** -Start NBR special constraint process at 20:59:43 08/16/23 +Start NBR special constraint process at 21:55:09 08/19/23 -Start NBR section for initial routing at 20:59:43 08/16/23 +Start NBR section for initial routing at 21:55:10 08/19/23 Level 1, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +0(0.00%) conflict; 776(79.35%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack<setup>: 7.085ns/0.000ns; real time: 9 secs Level 2, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +0(0.00%) conflict; 771(78.83%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack<setup>: 7.138ns/0.000ns; real time: 9 secs Level 3, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +0(0.00%) conflict; 765(78.22%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack<setup>: 7.276ns/0.000ns; real time: 9 secs Level 4, iteration 1 -7(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +10(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack<setup>: 6.966ns/0.000ns; real time: 9 secs Info: Initial congestion level at 75% usage is 0 Info: Initial congestion area at 75% usage is 0 (0.00%) -Start NBR section for normal routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 11(1.09%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +Start NBR section for normal routing at 21:55:10 08/19/23 Level 4, iteration 1 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +3(0.01%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack<setup>: 6.966ns/0.000ns; real time: 9 secs Level 4, iteration 2 0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 6.966ns/0.000ns; real time: 9 secs -Start NBR section for setup/hold timing optimization with effort level 3 at 20:59:43 08/16/23 -Level 4, iteration 0 +Start NBR section for setup/hold timing optimization with effort level 3 at 21:55:10 08/19/23 + +Start NBR section for re-routing at 21:55:10 08/19/23 Level 4, iteration 1 0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<hold >: 0.083ns/0.000ns; real time: 6 secs -Level 4, iteration 0 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.902ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.902ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 6.966ns/0.000ns; real time: 9 secs -Start NBR section for re-routing at 20:59:44 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 4.922ns/0.000ns; real time: 7 secs - -Start NBR section for post-routing at 20:59:44 08/16/23 +Start NBR section for post-routing at 21:55:10 08/19/23 End NBR router with 0 unrouted connection @@ -229,20 +211,17 @@ NBR Summary ----------- Number of unrouted connections : 0 (0.00%) Number of connections with timing violations : 0 (0.00%) - Estimated worst slack<setup> : 4.922ns + Estimated worst slack<setup> : 6.966ns Timing score<setup> : 0 ----------- Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=wb_clk loads=1 clock_loads=1 - -Total CPU time 6 secs -Total REAL time: 7 secs +Total CPU time 9 secs +Total REAL time: 9 secs Completely routed. -End of route. 1008 routed (100.00%); 0 unrouted. +End of route. 978 routed (100.00%); 0 unrouted. Hold time timing score: 0, hold timing errors: 0 @@ -256,14 +235,14 @@ All signals are completely routed. PAR_SUMMARY::Run status = Completed PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack<setup/<ns>> = 4.922 +PAR_SUMMARY::Worst slack<setup/<ns>> = 6.966 PAR_SUMMARY::Timing score<setup/<ns>> = 0.000 -PAR_SUMMARY::Worst slack<hold /<ns>> = 0.088 +PAR_SUMMARY::Worst slack<hold /<ns>> = 0.304 PAR_SUMMARY::Timing score<hold /<ns>> = 0.000 PAR_SUMMARY::Number of errors = 0 -Total CPU time to completion: 6 secs -Total REAL time to completion: 7 secs +Total CPU time to completion: 9 secs +Total REAL time to completion: 10 secs par done! diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_premap.htm b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_premap.htm new file mode 100644 index 0000000..0b22b53 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_premap.htm @@ -0,0 +1,9 @@ + + + syntmp/LCMXO2_640HC_impl1_premap_srr.htm log file + + + + + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_scck.rpt b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_scck.rpt index 3aad37a..b292f34 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_scck.rpt +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_scck.rpt @@ -1,63 +1,63 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 - -# Written on Wed Aug 16 20:59:30 2023 - -##### FILES SYNTAX CHECKED ############################################## -Constraint File(s): "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc" - -#Run constraint checker to find more issues with constraints. -######################################################################### - - - -No issues found in constraint syntax. - - - -Clock Summary -************* - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ----------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 65 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 18 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 - -0 - System 100.0 MHz 10.000 system system_clkgroup 0 -======================================================================================== - - -Clock Load Summary -****************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ------------------------------------------------------------------------------------------ -RCLK 65 RCLK(port) CASr2.C - - - -PHI2 18 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) - -System 0 - - - - -========================================================================================= + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 + +# Written on Sat Aug 19 21:54:50 2023 + +##### FILES SYNTAX CHECKED ############################################## +Constraint File(s): "Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc" + +#Run constraint checker to find more issues with constraints. +######################################################################### + + + +No issues found in constraint syntax. + + + +Clock Summary +************* + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +---------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 65 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 + +0 - System 100.0 MHz 10.000 system system_clkgroup 0 +======================================================================================== + + +Clock Load Summary +****************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +----------------------------------------------------------------------------------------- +RCLK 65 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) + +System 0 - - - - +========================================================================================= diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_summary.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_summary.html index d9a4e22..ed721b6 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_summary.html +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_summary.html @@ -24,9 +24,9 @@ Last Process: -JEDEC File + State: -Passed + Target Device: @@ -62,15 +62,15 @@ Updated: -2023/08/16 20:59:46 +2023/08/20 05:55:58 Implementation Location: -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1 +Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1 Project File: -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf +Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/LCMXO2_640HC.ldf
diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.html index eccc49c..e2a2943 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.html +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.html @@ -10,9 +10,9 @@ #Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 #install: C:\lscc\diamond\3.12\synpbase #OS: Windows 8 6.2 -#Hostname: ZANEPC +#Hostname: ZANEMACWIN11 -# Wed Aug 16 20:59:29 2023 +# Sat Aug 19 21:54:48 2023 #Implementation: impl1 @@ -27,7 +27,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -45,7 +45,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -57,8 +57,8 @@ Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 202 @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work) +@I::"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work) Verilog syntax check successful! Compiler output is up to date. No re-compile necessary @@ -66,41 +66,41 @@ Compiler output is up to date. No re-compile necessary Selecting top level module RAM2GS @N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work. Running optimization stage 1 on VHI ....... -Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) +Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) @N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work. Running optimization stage 1 on VLO ....... -Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) +Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) @N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work. Running optimization stage 1 on EFB ....... -Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work. +Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work. Running optimization stage 1 on REFB ....... -Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work. Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 94MB peak: 94MB) +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 101MB peak: 101MB) Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) Running optimization stage 2 on REFB ....... -Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) +Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) Running optimization stage 2 on EFB ....... -Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) +Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) Running optimization stage 2 on VLO ....... -Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) +Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) Running optimization stage 2 on VHI ....... -Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) +Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) For a summary of runtime and memory usage per design unit, please see file: ========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 96MB peak: 97MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 20:59:29 2023 +# Sat Aug 19 21:54:48 2023 ###########################################################] ###########################################################[ @@ -115,48 +115,65 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @N|Running in 64-bit mode -Linker output is up to date. No re-linking necessary - - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 87MB peak: 87MB) +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 20:59:29 2023 +# Sat Aug 19 21:54:48 2023 ###########################################################] For a summary of runtime and memory usage for all design units, please see file: ========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.rt.csv +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.rt.csv @END -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 20:59:29 2023 +# Sat Aug 19 21:54:48 2023 ###########################################################] +###########################################################[ -@A: multi_srs_gen output is up to date. No run necessary. -To force a re-synthesis, select [Resynthesize All] in menu [Run]. -Click link to view previous log file. -Multi-srs Generator Report -@R:"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr" -Premap Report +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 -# Wed Aug 16 20:59:30 2023 +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 99MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 21:54:50 2023 + +###########################################################] +# Sat Aug 19 21:54:50 2023 Copyright (C) 1994-2021 Synopsys, Inc. @@ -169,69 +186,70 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB) +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 139MB) -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt" +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt" @N: MF916 |Option synthesis_strategy=base is enabled. @N: MF248 |Running in 64-bit mode. @N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB) +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB) -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB) +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB) -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 139MB) +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 141MB) +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 150MB peak: 151MB) @N: FX493 |Applying initial value "0" on instance InitReady. @W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. @N: FX493 |Applying initial value "0" on instance Ready. @N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. @N: FX493 |Applying initial value "0" on instance LEDEN. @N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance CmdUFMShift. +@N: FX493 |Applying initial value "0" on instance CmdUFMWrite. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "0" on instance CmdValid. +@N: FX493 |Applying initial value "1" on instance nRCS. @N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CMDUFMWrite. @N: FX493 |Applying initial value "0" on instance CmdUFMData. @N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. @N: FX493 |Applying initial value "0" on instance ADSubmitted. @N: FX493 |Applying initial value "0" on instance XOR8MEG. @N: FX493 |Applying initial value "0" on instance CmdEnable. @N: FX493 |Applying initial value "1" on instance nRWE. -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB) +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Starting clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB) +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB) -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB) @N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB) @@ -243,7 +261,7 @@ Level Clock Frequency Period Type Group ---------------------------------------------------------------------------------------- 0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 65 -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 18 +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 @@ -262,7 +280,7 @@ Clock Load Pin Seq Example Seq Example Comb Exam ----------------------------------------------------------------------------------------- RCLK 65 RCLK(port) CASr2.C - - -PHI2 18 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) @@ -283,7 +301,7 @@ For details review file gcc_ICG_report.rpt #### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ -4 non-gated/non-generated clock tree(s) driving 105 clock pin(s) of sequential element(s) +4 non-gated/non-generated clock tree(s) driving 106 clock pin(s) of sequential element(s) 0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) 0 instances converted, 0 sequential instances remain driven by gated/generated clocks @@ -291,7 +309,7 @@ For details review file gcc_ICG_report.rpt Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance --------------------------------------------------------------------------------------- @KP:ckid0_0 RCLK port 65 nRWE -@KP:ckid0_1 PHI2 port 18 RA11 +@KP:ckid0_1 PHI2 port 19 RA11 @KP:ckid0_2 nCCAS port 8 WRD[7:0] @KP:ckid0_3 nCRAS port 14 RowA[9:0] ======================================================================================= @@ -302,25 +320,23 @@ Clock Tree ID Driving Element Drive Element Type Fanout Sample I @N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. Finished Pre Mapping Phase. -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 173MB) +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB) +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB) Pre-mapping successful! -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 89MB peak: 175MB) +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 103MB peak: 184MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 20:59:32 2023 +# Sat Aug 19 21:54:51 2023 ###########################################################] -Map & Optimize Report - -# Wed Aug 16 20:59:32 2023 +# Sat Aug 19 21:54:51 2023 Copyright (C) 1994-2021 Synopsys, Inc. @@ -333,117 +349,118 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB) +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) @N: MF916 |Option synthesis_strategy=base is enabled. @N: MF248 |Running in 64-bit mode. @N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 134MB peak: 136MB) +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 179MB peak: 179MB) -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB) -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":161:4:161:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":148:4:148:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":162:4:162:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":149:4:149:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] @N: FX493 |Applying initial value "0" on instance IS[0]. @W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. @N: FX493 |Applying initial value "0" on instance IS[1]. @N: FX493 |Applying initial value "0" on instance IS[2]. @N: FX493 |Applying initial value "0" on instance IS[3]. -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 185MB peak: 185MB) -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) Available hyper_sources - for debug and ip models None Found -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 187MB peak: 187MB) -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) +Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB) +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB) +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB) +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 185MB peak: 185MB) +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 195MB peak: 195MB) Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------ - 1 0h:00m:01s -2.34ns 199 / 105 - 2 0h:00m:01s -2.34ns 208 / 105 - 3 0h:00m:01s -2.34ns 208 / 105 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":302:4:302:9|Replicating instance CmdSubmitted (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":161:4:161:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":119:4:119:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":119:4:119:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. + 1 0h:00m:01s -2.36ns 191 / 106 + 2 0h:00m:01s -2.36ns 206 / 106 + 3 0h:00m:01s -2.36ns 202 / 106 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":303:4:303:9|Replicating instance CmdValid (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":303:4:303:9|Replicating instance CmdUFMShift (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":162:4:162:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":120:4:120:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":120:4:120:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. Timing driven replication report -Added 4 Registers via timing driven replication -Added 1 LUTs via timing driven replication +Added 5 Registers via timing driven replication +Added 3 LUTs via timing driven replication - 4 0h:00m:01s -1.83ns 210 / 109 + 4 0h:00m:01s -1.83ns 206 / 111 - 5 0h:00m:01s -1.83ns 211 / 109 - 6 0h:00m:01s -1.83ns 212 / 109 - 7 0h:00m:01s -1.83ns 212 / 109 + 5 0h:00m:02s -1.83ns 207 / 111 + 6 0h:00m:02s -1.83ns 208 / 111 + 7 0h:00m:02s -1.83ns 208 / 111 -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 186MB peak: 186MB) +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) @N: FX164 |The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute. -Finished restoring hierarchy (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 186MB peak: 186MB) +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) -Start Writing Netlists (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:02s; Memory used current: 149MB peak: 186MB) +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 160MB peak: 196MB) -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 187MB peak: 187MB) +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 197MB peak: 197MB) Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi @N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB) +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 202MB peak: 202MB) -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 193MB) +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 202MB peak: 202MB) -Start final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 193MB) +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 200MB peak: 202MB) -@W: MT246 :"d:\onedrive\documents\github\ram2gs\cpld\lcmxo2-640hc\refb.v":78:8:78:16|Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results) +@W: MT246 :"y:\repos\ram2gs\cpld\lcmxo2-640hc\refb.v":78:8:78:16|Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results) @N: MT615 |Found clock RCLK with period 16.00ns @N: MT615 |Found clock PHI2 with period 350.00ns @N: MT615 |Found clock nCRAS with period 350.00ns @@ -451,7 +468,7 @@ Start final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:0 ##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 20:59:35 2023 +# Timing report written on Sat Aug 19 21:54:55 2023 # @@ -459,7 +476,7 @@ Top view: RAM2GS Requested Frequency: 2.9 MHz Wire load mode: top Paths requested: 5 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc @N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. @@ -471,23 +488,23 @@ Performance Summary ******************* -Worst slack in design: -1.832 +Worst slack in design: -1.828 Requested Estimated Requested Estimated Clock Clock Starting Clock Frequency Frequency Period Period Slack Type Group ------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 1.0 MHz 350.000 991.270 -1.832 declared default_clkgroup -RCLK 62.5 MHz 22.1 MHz 16.000 45.315 -0.784 declared default_clkgroup +PHI2 2.9 MHz 1.0 MHz 350.000 989.870 -1.828 declared default_clkgroup +RCLK 62.5 MHz 22.1 MHz 16.000 45.251 -0.876 declared default_clkgroup nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup nCRAS 2.9 MHz 1.0 MHz 350.000 953.610 -1.725 declared default_clkgroup -System 100.0 MHz NA 10.000 NA 15.472 system system_clkgroup +System 100.0 MHz NA 10.000 NA 13.991 system system_clkgroup =================================================================================================================== Estimated period and frequency reported as NA means no slack depends directly on the clock waveform @W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. @W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. @W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. @W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. @@ -500,13 +517,13 @@ Clocks | rise to rise | fall to fall | rise to --------------------------------------------------------------------------------------------------------------- Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack --------------------------------------------------------------------------------------------------------------- -System RCLK | 16.000 15.472 | No paths - | No paths - | No paths - -RCLK System | 16.000 14.892 | No paths - | No paths - | No paths - -RCLK RCLK | 16.000 8.605 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 0.216 | No paths - | 1.000 -0.636 | No paths - +System RCLK | 16.000 13.991 | No paths - | No paths - | No paths - +RCLK System | 16.000 14.956 | No paths - | No paths - | No paths - +RCLK RCLK | 16.000 9.535 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 0.216 | No paths - | 1.000 -0.876 | No paths - RCLK nCRAS | No paths - | No paths - | 1.000 -0.784 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -1.832 -PHI2 PHI2 | No paths - | 350.000 346.115 | 175.000 168.921 | 175.000 173.428 +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -1.828 +PHI2 PHI2 | No paths - | 350.000 347.059 | 175.000 168.905 | 175.000 173.428 nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -1.725 =============================================================================================================== Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. @@ -530,21 +547,21 @@ Detailed Report for Clock: PHI2 Starting Points with Worst Slack ******************************** - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------------- -CMDUFMWrite PHI2 FD1P3AX Q CMDUFMWrite 1.044 -1.832 -CmdSubmitted_fast PHI2 FD1S3AX Q CmdSubmitted_fast 1.044 -1.832 -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.148 -1.708 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.044 -0.572 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.044 -0.572 -CmdUFMData PHI2 FD1P3AX Q CmdUFMData 0.972 -0.500 -Bank_0io[0] PHI2 IFS1P3DX Q Bank[0] 0.972 168.921 -Bank_0io[1] PHI2 IFS1P3DX Q Bank[1] 0.972 168.921 -Bank_0io[2] PHI2 IFS1P3DX Q Bank[2] 0.972 168.921 -Bank_0io[3] PHI2 IFS1P3DX Q Bank[3] 0.972 168.921 -================================================================================================== + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +------------------------------------------------------------------------------------------------ +CmdUFMShift_fast PHI2 FD1P3AX Q CmdUFMShift_fast 1.044 -1.828 +CmdValid_fast PHI2 FD1S3AX Q CmdValid_fast 1.044 -1.828 +CmdUFMShift PHI2 FD1P3AX Q CmdUFMShift 1.108 -1.810 +CmdValid PHI2 FD1S3AX Q CmdValid 1.108 -1.810 +CmdUFMWrite PHI2 FD1P3AX Q CmdUFMWrite 1.044 -1.746 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.044 -0.572 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.044 -0.572 +CmdUFMData PHI2 FD1P3AX Q CmdUFMData 0.972 -0.500 +Bank_0io[0] PHI2 IFS1P3DX Q Bank[0] 0.972 168.905 +Bank_0io[1] PHI2 IFS1P3DX Q Bank[1] 0.972 168.905 +================================================================================================ Ending Points with Worst Slack @@ -554,16 +571,16 @@ Ending Points with Worst Slack Instance Reference Type Pin Net Time Slack Clock --------------------------------------------------------------------------------------- -wb_adr[0] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[1] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[2] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[3] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[4] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[5] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[6] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[7] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_cyc_stb PHI2 FD1P3IX SP un1_wb_clk32_i 0.528 -1.832 -wb_dati[0] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 +wb_adr[0] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[1] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[2] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[3] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[4] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[5] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[6] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[7] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_dati[0] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_dati[1] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 ======================================================================================= @@ -578,26 +595,26 @@ Path information for path number 1: + Clock delay at ending point: 0.000 (ideal) = Required time: 0.528 - - Propagation time: 2.361 + - Propagation time: 2.357 - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 + = Slack (critical) : -1.828 Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q + Starting point: CmdUFMShift_fast / Q Ending point: wb_adr[0] / SP The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[0] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[0] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ Path information for path number 2: @@ -606,26 +623,26 @@ Path information for path number 2: + Clock delay at ending point: 0.000 (ideal) = Required time: 0.528 - - Propagation time: 2.361 + - Propagation time: 2.357 - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 + = Slack (critical) : -1.828 Number of logic level(s): 1 - Starting point: CmdSubmitted_fast / Q + Starting point: CmdValid_fast / Q Ending point: wb_adr[0] / SP The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CmdSubmitted_fast FD1S3AX Q Out 1.044 1.044 r - -CmdSubmitted_fast Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 B In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 r - -un1_wb_clk32_i Net - - - - 18 -wb_adr[0] FD1P3AX SP In 0.000 2.361 r - -======================================================================================= +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdValid_fast FD1S3AX Q Out 1.044 1.044 r - +CmdValid_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 B In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[0] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ Path information for path number 3: @@ -634,26 +651,26 @@ Path information for path number 3: + Clock delay at ending point: 0.000 (ideal) = Required time: 0.528 - - Propagation time: 2.361 + - Propagation time: 2.357 - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 + = Slack (critical) : -1.828 Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q + Starting point: CmdUFMShift_fast / Q Ending point: wb_adr[7] / SP The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[7] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[7] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ Path information for path number 4: @@ -662,26 +679,26 @@ Path information for path number 4: + Clock delay at ending point: 0.000 (ideal) = Required time: 0.528 - - Propagation time: 2.361 + - Propagation time: 2.357 - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 + = Slack (critical) : -1.828 Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q + Starting point: CmdUFMShift_fast / Q Ending point: wb_adr[6] / SP The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[6] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[6] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ Path information for path number 5: @@ -690,26 +707,26 @@ Path information for path number 5: + Clock delay at ending point: 0.000 (ideal) = Required time: 0.528 - - Propagation time: 2.361 + - Propagation time: 2.357 - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 + = Slack (critical) : -1.828 Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q + Starting point: CmdUFMShift_fast / Q Ending point: wb_adr[5] / SP The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[5] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[5] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ @@ -727,16 +744,16 @@ Starting Points with Worst Slack Instance Reference Type Pin Net Time Slack Clock ---------------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.108 -0.876 Ready_fast RCLK FD1S3AX Q Ready_fast 1.256 -0.784 -LEDEN RCLK FD1P3AX Q LEDEN 1.108 -0.636 n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.044 -0.572 -FS[14] RCLK FD1S3AX Q FS[14] 1.108 8.605 -FS[15] RCLK FD1S3AX Q FS[15] 1.108 8.605 -FS[16] RCLK FD1S3AX Q FS[16] 1.108 8.605 -FS[6] RCLK FD1S3AX Q FS[6] 1.268 8.872 -FS[5] RCLK FD1S3AX Q FS[5] 1.228 8.912 -FS[12] RCLK FD1S3AX Q FS[12] 1.302 9.679 -FS[10] RCLK FD1S3AX Q FS[10] 1.299 9.682 +InitReady RCLK FD1S3AX Q InitReady 1.321 9.535 +FS[15] RCLK FD1S3AX Q FS[15] 1.180 9.677 +FS[16] RCLK FD1S3AX Q FS[16] 1.180 9.677 +FS[17] RCLK FD1S3AX Q FS[17] 1.180 9.677 +S[1] RCLK FD1S3IX Q S[1] 1.244 9.913 +S[0] RCLK FD1S3IX Q CO0 1.228 9.929 +FS[12] RCLK FD1S3AX Q FS[12] 1.284 10.121 ================================================================================== @@ -747,6 +764,7 @@ Ending Points with Worst Slack Instance Reference Type Pin Net Time Slack Clock ------------------------------------------------------------------------------------ +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 1.462 -0.876 RBA_0io[0] RCLK OFS1P3DX D RBAd_0[0] 1.089 -0.784 RBA_0io[1] RCLK OFS1P3DX D RBAd_0[1] 1.089 -0.784 RowA[0] RCLK FD1S3AX D RowAd_0[0] 1.089 -0.784 @@ -756,7 +774,6 @@ RowA[3] RCLK FD1S3AX D RowAd_0[3] 1.089 -0 RowA[4] RCLK FD1S3AX D RowAd_0[4] 1.089 -0.784 RowA[5] RCLK FD1S3AX D RowAd_0[5] 1.089 -0.784 RowA[6] RCLK FD1S3AX D RowAd_0[6] 1.089 -0.784 -RowA[7] RCLK FD1S3AX D RowAd_0[7] 1.089 -0.784 ==================================================================================== @@ -767,6 +784,37 @@ Worst Path Information Path information for path number 1: Requested Period: 1.000 + - Setup time: -0.462 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.462 + + - Propagation time: 2.339 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -0.876 + + Number of logic level(s): 2 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.108 1.108 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_bm ORCALUT4 A In 0.000 1.108 r - +XOR8MEG_3_u_0_bm ORCALUT4 Z Out 1.017 2.125 f - +XOR8MEG_3_u_0_bm Net - - - - 1 +XOR8MEG_3_u_0 PFUMX ALUT In 0.000 2.125 f - +XOR8MEG_3_u_0 PFUMX Z Out 0.214 2.339 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.339 f - +=================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 - Setup time: -0.089 + Clock delay at ending point: 0.000 (ideal) = Required time: 1.089 @@ -793,7 +841,7 @@ RBA_0io[0] OFS1P3DX D In 0.000 1.873 r - ================================================================================= -Path information for path number 2: +Path information for path number 3: Requested Period: 1.000 - Setup time: -0.089 + Clock delay at ending point: 0.000 (ideal) @@ -821,7 +869,7 @@ RowA[9] FD1S3AX D In 0.000 1.873 f - ================================================================================= -Path information for path number 3: +Path information for path number 4: Requested Period: 1.000 - Setup time: -0.089 + Clock delay at ending point: 0.000 (ideal) @@ -849,7 +897,7 @@ RowA[8] FD1S3AX D In 0.000 1.873 r - ================================================================================= -Path information for path number 4: +Path information for path number 5: Requested Period: 1.000 - Setup time: -0.089 + Clock delay at ending point: 0.000 (ideal) @@ -877,34 +925,6 @@ RBA_0io[1] OFS1P3DX D In 0.000 1.873 r - ================================================================================= -Path information for path number 5: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 1.873 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -0.784 - - Number of logic level(s): 1 - Starting point: Ready_fast / Q - Ending point: RowA[6] / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -Ready_fast FD1S3AX Q Out 1.256 1.256 r - -Ready_fast Net - - - - 14 -RowAd[6] ORCALUT4 B In 0.000 1.256 r - -RowAd[6] ORCALUT4 Z Out 0.617 1.873 r - -RowAd_0[6] Net - - - - 1 -RowA[6] FD1S3AX D In 0.000 1.873 r - -================================================================================= - - ==================================== @@ -934,11 +954,11 @@ Ending Points with Worst Slack Instance Reference Type Pin Net Time Slack Clock ---------------------------------------------------------------------------------------- -nRCAS_0io nCRAS OFS1P3BX D N_186_i 1.089 -1.725 -nRWE_0io nCRAS OFS1P3BX D N_44_i 1.089 -1.725 +nRCAS_0io nCRAS OFS1P3BX D N_249_i 1.089 -1.725 +nRWE_0io nCRAS OFS1P3BX D N_37_i 1.089 -1.725 nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 1.089 -1.693 RCKEEN nCRAS FD1S3AX D RCKEEN_8 1.089 -1.653 -nRCS_0io nCRAS OFS1P3BX D N_32_i 1.089 -1.653 +nRCS_0io nCRAS OFS1P3BX D N_28_i 1.089 -1.653 ======================================================================================== @@ -973,7 +993,7 @@ nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.089 2.197 r - nRCAS_0_sqmuxa_1 Net - - - - 2 nRCAS_0io_RNO ORCALUT4 B In 0.000 2.197 r - nRCAS_0io_RNO ORCALUT4 Z Out 0.617 2.813 f - -N_186_i Net - - - - 1 +N_249_i Net - - - - 1 nRCAS_0io OFS1P3BX D In 0.000 2.813 f - ======================================================================================== @@ -1004,7 +1024,7 @@ nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.089 2.197 r - nRCAS_0_sqmuxa_1 Net - - - - 2 nRWE_0io_RNO ORCALUT4 C In 0.000 2.197 r - nRWE_0io_RNO ORCALUT4 Z Out 0.617 2.813 r - -N_44_i Net - - - - 1 +N_37_i Net - - - - 1 nRWE_0io OFS1P3BX D In 0.000 2.813 r - ======================================================================================== @@ -1035,7 +1055,7 @@ nRCAS_0io_RNO_0 ORCALUT4 Z Out 1.017 2.165 f - nRCAS_0io_RNO_0 Net - - - - 1 nRCAS_0io_RNO ORCALUT4 C In 0.000 2.165 f - nRCAS_0io_RNO ORCALUT4 Z Out 0.617 2.781 r - -N_186_i Net - - - - 1 +N_249_i Net - - - - 1 nRCAS_0io OFS1P3BX D In 0.000 2.781 r - ================================================================================== @@ -1063,7 +1083,7 @@ CBR FD1S3AX Q Out 1.148 1.148 r - CBR Net - - - - 4 nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.148 r - nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.017 2.165 f - -N_97 Net - - - - 1 +N_265 Net - - - - 1 nRowColSel_0_0 ORCALUT4 B In 0.000 2.165 f - nRowColSel_0_0 ORCALUT4 Z Out 0.617 2.781 f - nRowColSel_0_0 Net - - - - 1 @@ -1117,6 +1137,7 @@ Starting Points with Worst Slack Instance Reference Type Pin Net Time Slack Clock ----------------------------------------------------------------------------------------- +ufmefb.EFBInst_0 System EFB WBACKO wb_ack 0.000 13.991 ufmefb.EFBInst_0 System EFB WBDATO0 wb_dato[0] 0.000 15.472 ufmefb.EFBInst_0 System EFB WBDATO1 wb_dato[1] 0.000 15.472 ========================================================================================= @@ -1125,13 +1146,16 @@ ufmefb.EFBInst_0 System EFB WBDATO1 wb_dato[1] 0.000 Ending Points with Worst Slack ****************************** - Starting Required -Instance Reference Type Pin Net Time Slack - Clock -------------------------------------------------------------------------------------- -LEDEN System FD1P3AX D LEDEN_6_i_m2 16.089 15.472 -n8MEGEN System FD1P3AX D n8MEGEN_6_i_m2 16.089 15.472 -===================================================================================== + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +---------------------------------------------------------------------------------------------------------- +LEDEN System FD1P3AX SP un1_FS_38_i 15.528 13.991 +n8MEGEN System FD1P3AX SP un1_FS_38_i 15.528 13.991 +wb_cyc_stb System FD1P3IX SP un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i 15.528 14.297 +LEDEN System FD1P3AX D LEDEN_6 16.089 15.472 +n8MEGEN System FD1P3AX D n8MEGEN_6 16.089 15.472 +========================================================================================================== @@ -1141,31 +1165,34 @@ Worst Path Information Path information for path number 1: Requested Period: 16.000 - - Setup time: -0.089 + - Setup time: 0.472 + Clock delay at ending point: 0.000 (ideal) - = Required time: 16.089 + = Required time: 15.528 - - Propagation time: 0.617 + - Propagation time: 1.538 - Clock delay at starting point: 0.000 (ideal) - Estimated clock delay at start point: -0.000 - = Slack (non-critical) : 15.472 + = Slack (non-critical) : 13.991 - Number of logic level(s): 1 - Starting point: ufmefb.EFBInst_0 / WBDATO0 - Ending point: n8MEGEN / D + Number of logic level(s): 2 + Starting point: ufmefb.EFBInst_0 / WBACKO + Ending point: LEDEN / SP The start point is clocked by System [rising] The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -ufmefb.EFBInst_0 EFB WBDATO0 Out 0.000 0.000 r - -wb_dato[0] Net - - - - 1 -n8MEGEN_6_i_m2 ORCALUT4 C In 0.000 0.000 r - -n8MEGEN_6_i_m2 ORCALUT4 Z Out 0.617 0.617 r - -n8MEGEN_6_i_m2 Net - - - - 1 -n8MEGEN FD1P3AX D In 0.000 0.617 r - -====================================================================================== +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------------------- +ufmefb.EFBInst_0 EFB WBACKO Out 0.000 0.000 r - +wb_ack Net - - - - 2 +ufmefb.EFBInst_0_RNI9PBJ ORCALUT4 D In 0.000 0.000 r - +ufmefb.EFBInst_0_RNI9PBJ ORCALUT4 Z Out 0.449 0.449 r - +d_N_5_mux Net - - - - 1 +CmdValid_fast_RNITQBM1 ORCALUT4 C In 0.000 0.449 r - +CmdValid_fast_RNITQBM1 ORCALUT4 Z Out 1.089 1.538 r - +un1_FS_38_i Net - - - - 2 +LEDEN FD1P3AX SP In 0.000 1.538 r - +============================================================================================= @@ -1173,16 +1200,16 @@ n8MEGEN FD1P3AX D In 0.000 0.617 r - Timing exceptions that could not be applied -Finished final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 193MB) +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 201MB peak: 202MB) -Finished timing report (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:03s; Memory used current: 191MB peak: 193MB) +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 201MB peak: 202MB) --------------------------------------- Resource Usage Report Part: lcmxo2_640hc-4 -Register bits: 109 of 640 (17%) +Register bits: 111 of 640 (17%) PIC Latch: 0 I/O cells: 63 @@ -1191,29 +1218,29 @@ Details: BB: 8 CCU2D: 10 EFB: 1 -FD1P3AX: 27 -FD1P3IX: 3 -FD1S3AX: 51 -FD1S3IX: 3 +FD1P3AX: 28 +FD1P3IX: 2 +FD1S3AX: 52 +FD1S3IX: 4 GSR: 1 IB: 25 IFS1P3DX: 9 -INV: 8 +INV: 6 OB: 30 OFS1P3BX: 4 OFS1P3DX: 11 OFS1P3JX: 1 -ORCALUT4: 206 -PFUMX: 1 +ORCALUT4: 199 +PFUMX: 3 PUR: 1 VHI: 2 VLO: 2 Mapper successful! -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 193MB) +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 202MB) Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 20:59:35 2023 +# Sat Aug 19 21:54:55 2023 ###########################################################] diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf index 2b0f89b..ca24d6c 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf @@ -1,24 +1,24 @@ -# -# Logical Preferences generated for Lattice by Synplify map202103lat, Build 070R. -# - -# Period Constraints -FREQUENCY PORT "PHI2" 2.9 MHz; -FREQUENCY PORT "nCCAS" 2.9 MHz; -FREQUENCY PORT "nCRAS" 2.9 MHz; -FREQUENCY PORT "RCLK" 62.5 MHz; - - -# Output Constraints - -# Input Constraints - -# Point-to-point Delay Constraints - - - -# Block Path Constraints - -BLOCK ASYNCPATHS; - -# End of generated Logical Preferences. +# +# Logical Preferences generated for Lattice by Synplify map202103lat, Build 070R. +# + +# Period Constraints +FREQUENCY PORT "PHI2" 2.9 MHz; +FREQUENCY PORT "nCCAS" 2.9 MHz; +FREQUENCY PORT "nCRAS" 2.9 MHz; +FREQUENCY PORT "RCLK" 62.5 MHz; + + +# Output Constraints + +# Input Constraints + +# Point-to-point Delay Constraints + + + +# Block Path Constraints + +BLOCK ASYNCPATHS; + +# End of generated Logical Preferences. diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.tcl b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.tcl index daed2e3..9818542 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.tcl +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.tcl @@ -1,66 +1,66 @@ -#-- Lattice Semiconductor Corporation Ltd. -#-- Synplify OEM project file - -#device options -set_option -technology MACHXO2 -set_option -part LCMXO2_640HC -set_option -package TG100C -set_option -speed_grade -4 - -#compilation/mapping options -set_option -symbolic_fsm_compiler true -set_option -resource_sharing true - -#use verilog 2001 standard option -set_option -vlog_std v2001 - -#map options -set_option -frequency 100 -set_option -maxfan 1000 -set_option -auto_constrain_io 0 -set_option -disable_io_insertion false -set_option -retiming false; set_option -pipe true -set_option -force_gsr false -set_option -compiler_compatible 0 -set_option -dup false - -add_file -constraint {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc} -set_option -default_enum_encoding default - -#simulation options - - -#timing analysis options - - - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#synplifyPro options -set_option -fix_gated_and_generated_clocks 1 -set_option -update_models_cp 0 -set_option -resolve_multiple_driver 0 - - -set_option -seqshift_no_replicate 0 - -#-- add_file options -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC} -add_file -verilog -vlog_std v2001 {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.v} -add_file -verilog -vlog_std v2001 {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/REFB.v} - -#-- top module name -set_option -top_module RAM2GS - -#-- set result format/file last -project -result_file {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi} - -#-- error message log file -project -log_file {LCMXO2_640HC_impl1.srf} - -#-- set any command lines input by customer - - -#-- run Synplify with 'arrange HDL file' -project -run +#-- Lattice Semiconductor Corporation Ltd. +#-- Synplify OEM project file + +#device options +set_option -technology MACHXO2 +set_option -part LCMXO2_640HC +set_option -package TG100C +set_option -speed_grade -4 + +#compilation/mapping options +set_option -symbolic_fsm_compiler true +set_option -resource_sharing true + +#use verilog 2001 standard option +set_option -vlog_std v2001 + +#map options +set_option -frequency 100 +set_option -maxfan 1000 +set_option -auto_constrain_io 0 +set_option -disable_io_insertion false +set_option -retiming false; set_option -pipe true +set_option -force_gsr false +set_option -compiler_compatible 0 +set_option -dup false + +add_file -constraint {Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc} +set_option -default_enum_encoding default + +#simulation options + + +#timing analysis options + + + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#synplifyPro options +set_option -fix_gated_and_generated_clocks 1 +set_option -update_models_cp 0 +set_option -resolve_multiple_driver 0 + + +set_option -seqshift_no_replicate 0 + +#-- add_file options +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC} +add_file -verilog -vlog_std v2001 {Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.v} +add_file -verilog -vlog_std v2001 {Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/REFB.v} + +#-- top module name +set_option -top_module RAM2GS + +#-- set result format/file last +project -result_file {Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi} + +#-- error message log file +project -log_file {LCMXO2_640HC_impl1.srf} + +#-- set any command lines input by customer + + +#-- run Synplify with 'arrange HDL file' +project -run -clean diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_tw1.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_tw1.html new file mode 100644 index 0000000..ea2704d --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_tw1.html @@ -0,0 +1,512 @@ + +Lattice Map TRACE Report + + +
Map TRACE Report
+
+Loading design for application trce from file lcmxo2_640hc_impl1_map.ncd.
+Design name: RAM2GS
+NCD version: 3.3
+Vendor:      LATTICE
+Device:      LCMXO2-640HC
+Package:     TQFP100
+Performance: 4
+Loading device for application trce from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga.
+Package Status:                     Final          Version 1.39.
+Performance Hardware Data Status:   Final          Version 34.4.
+Setup and Hold Report
+
+--------------------------------------------------------------------------------
+Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454
+Sat Aug 19 21:54:58 2023
+
+Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved.
+Copyright (c) 1995 AT&T Corp.   All rights reserved.
+Copyright (c) 1995-2001 Lucent Technologies Inc.  All rights reserved.
+Copyright (c) 2001 Agere Systems   All rights reserved.
+Copyright (c) 2002-2020 Lattice Semiconductor Corporation,  All rights reserved.
+
+Report Information
+------------------
+Command line:    trce -v 1 -gt -mapchkpnt 0 -sethld -o LCMXO2_640HC_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.prf 
+Design file:     lcmxo2_640hc_impl1_map.ncd
+Preference file: lcmxo2_640hc_impl1.prf
+Device,speed:    LCMXO2-640HC,4
+Report level:    verbose report, limited to 1 item per preference
+--------------------------------------------------------------------------------
+
+Preference Summary
+
+
  • FREQUENCY PORT "PHI2" 2.900000 MHz (0 errors)
  • 158 items scored, 0 timing errors detected. +Report: 53.254MHz is the maximum frequency for this preference. + +
  • FREQUENCY PORT "nCCAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. +Report: 150.150MHz is the maximum frequency for this preference. + +
  • FREQUENCY PORT "nCRAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. +Report: 150.150MHz is the maximum frequency for this preference. + +
  • FREQUENCY PORT "RCLK" 62.500000 MHz (0 errors)
  • 844 items scored, 0 timing errors detected. +Report: 102.312MHz is the maximum frequency for this preference. + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 163.025ns (weighted slack = 326.050ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[2] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 9.223ns (33.1% logic, 66.9% route), 6 logic levels. + + Constraint Details: + + 9.223ns physical path delay Din[2]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.166ns DIN_SET requirement (totaling 172.248ns) by 163.025ns + + Physical Path Details: + + Data path Din[2]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 *[2]_MGIOL.CLK to *n[2]_MGIOL.IN Din[2]_MGIOL (from PHI2_c) +ROUTE 1 e 1.234 *n[2]_MGIOL.IN to SLICE_37.A1 Bank[2] +CTOF_DEL --- 0.495 SLICE_37.A1 to SLICE_37.F1 SLICE_37 +ROUTE 1 e 1.234 SLICE_37.F1 to SLICE_94.D0 un1_Bank_1_4 +CTOF_DEL --- 0.495 SLICE_94.D0 to SLICE_94.F0 SLICE_94 +ROUTE 2 e 1.234 SLICE_94.F0 to SLICE_90.D0 N_304 +CTOF_DEL --- 0.495 SLICE_90.D0 to SLICE_90.F0 SLICE_90 +ROUTE 5 e 1.234 SLICE_90.F0 to SLICE_91.C1 C1WR_7 +CTOF_DEL --- 0.495 SLICE_91.C1 to SLICE_91.F1 SLICE_91 +ROUTE 2 e 1.234 SLICE_91.F1 to SLICE_10.B0 un1_ADWR +CTOF_DEL --- 0.495 SLICE_10.B0 to SLICE_10.F0 SLICE_10 +ROUTE 1 e 0.001 SLICE_10.F0 to SLICE_10.DI0 ADSubmitted_r (to PHI2_c) + -------- + 9.223 (33.1% logic, 66.9% route), 6 logic levels. + +Report: 53.254MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCCAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCRAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 6.226ns + The internal maximum frequency of the following component is 102.312 MHz + + Logical Details: Cell type Pin name Component name + + Destination: EFB WBCLKI ufmefb/EFBInst_0 + + Delay: 9.774ns -- based on Minimum Pulse Width + + +Passed: The following path meets requirements by 6.270ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q S[0] (from RCLK_c +) + Destination: FF Data in nRCS_0io (to RCLK_c +) + + Delay: 9.577ns (30.6% logic, 69.4% route), 6 logic levels. + + Constraint Details: + + 9.577ns physical path delay SLICE_16 to nRCS_MGIOL meets + 16.000ns delay constraint less + 0.153ns DO_SET requirement (totaling 15.847ns) by 6.270ns + + Physical Path Details: + + Data path SLICE_16 to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 SLICE_16.CLK to SLICE_16.Q0 SLICE_16 (from RCLK_c) +ROUTE 9 e 1.234 SLICE_16.Q0 to SLICE_45.A0 CO0 +CTOF_DEL --- 0.495 SLICE_45.A0 to SLICE_45.F0 SLICE_45 +ROUTE 4 e 0.480 SLICE_45.F0 to SLICE_45.A1 N_41 +CTOF_DEL --- 0.495 SLICE_45.A1 to SLICE_45.F1 SLICE_45 +ROUTE 2 e 1.234 SLICE_45.F1 to SLICE_77.D0 nRRAS_5_u_i_0 +CTOF_DEL --- 0.495 SLICE_77.D0 to SLICE_77.F0 SLICE_77 +ROUTE 1 e 1.234 SLICE_77.F0 to SLICE_117.B1 N_25 +CTOF_DEL --- 0.495 SLICE_117.B1 to SLICE_117.F1 SLICE_117 +ROUTE 1 e 1.234 SLICE_117.F1 to SLICE_88.C1 N_28_i_sn +CTOF_DEL --- 0.495 SLICE_88.C1 to SLICE_88.F1 SLICE_88 +ROUTE 1 e 1.234 SLICE_88.F1 to *CS_MGIOL.OPOS N_28_i (to RCLK_c) + -------- + 9.577 (30.6% logic, 69.4% route), 6 logic levels. + +Report: 102.312MHz is the maximum frequency for this preference. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 53.254 MHz| 6 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 102.312 MHz| 0 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 687 connections (70.25% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:54:58 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o LCMXO2_640HC_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1_map.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,M +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +Preference Summary + +
  • FREQUENCY PORT "PHI2" 2.900000 MHz (0 errors)
  • 158 items scored, 0 timing errors detected. + +
  • FREQUENCY PORT "nCCAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. + +
  • FREQUENCY PORT "nCRAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. + +
  • FREQUENCY PORT "RCLK" 62.500000 MHz (0 errors)
  • 844 items scored, 0 timing errors detected. + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.447ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 0.434ns (53.9% logic, 46.1% route), 2 logic levels. + + Constraint Details: + + 0.434ns physical path delay SLICE_10 to SLICE_10 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint requirement (totaling -0.013ns) by 0.447ns + + Physical Path Details: + + Data path SLICE_10 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 SLICE_10.CLK to SLICE_10.Q0 SLICE_10 (from PHI2_c) +ROUTE 2 e 0.199 SLICE_10.Q0 to SLICE_10.A0 ADSubmitted +CTOF_DEL --- 0.101 SLICE_10.A0 to SLICE_10.F0 SLICE_10 +ROUTE 1 e 0.001 SLICE_10.F0 to SLICE_10.DI0 ADSubmitted_r (to PHI2_c) + -------- + 0.434 (53.9% logic, 46.1% route), 2 logic levels. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.351ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr (from RCLK_c +) + Destination: FF Data in CASr2 (to RCLK_c +) + + Delay: 0.332ns (40.1% logic, 59.9% route), 1 logic levels. + + Constraint Details: + + 0.332ns physical path delay SLICE_12 to SLICE_12 meets + -0.019ns M_HLD and + 0.000ns delay constraint requirement (totaling -0.019ns) by 0.351ns + + Physical Path Details: + + Data path SLICE_12 to SLICE_12: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 SLICE_12.CLK to SLICE_12.Q0 SLICE_12 (from RCLK_c) +ROUTE 1 e 0.199 SLICE_12.Q0 to SLICE_12.M1 CASr (to RCLK_c) + -------- + 0.332 (40.1% logic, 59.9% route), 1 logic levels. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference(MIN Delays) | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 687 connections (70.25% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_twr.html b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_twr.html new file mode 100644 index 0000000..afe4a72 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_twr.html @@ -0,0 +1,2308 @@ + +Lattice TRACE Report + + +
    Place & Route TRACE Report
    +
    +Loading design for application trce from file lcmxo2_640hc_impl1.ncd.
    +Design name: RAM2GS
    +NCD version: 3.3
    +Vendor:      LATTICE
    +Device:      LCMXO2-640HC
    +Package:     TQFP100
    +Performance: 4
    +Loading device for application trce from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga.
    +Package Status:                     Final          Version 1.39.
    +Performance Hardware Data Status:   Final          Version 34.4.
    +Setup and Hold Report
    +
    +--------------------------------------------------------------------------------
    +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454
    +Sat Aug 19 21:55:11 2023
    +
    +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved.
    +Copyright (c) 1995 AT&T Corp.   All rights reserved.
    +Copyright (c) 1995-2001 Lucent Technologies Inc.  All rights reserved.
    +Copyright (c) 2001 Agere Systems   All rights reserved.
    +Copyright (c) 2002-2020 Lattice Semiconductor Corporation,  All rights reserved.
    +
    +Report Information
    +------------------
    +Command line:    trce -v 10 -gt -sethld -sp 4 -sphld m -o LCMXO2_640HC_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf 
    +Design file:     lcmxo2_640hc_impl1.ncd
    +Preference file: lcmxo2_640hc_impl1.prf
    +Device,speed:    LCMXO2-640HC,4
    +Report level:    verbose report, limited to 10 items per preference
    +--------------------------------------------------------------------------------
    +
    +Preference Summary
    +
    +
  • FREQUENCY PORT "PHI2" 2.900000 MHz (0 errors)
  • 158 items scored, 0 timing errors detected. +Report: 47.556MHz is the maximum frequency for this preference. + +
  • FREQUENCY PORT "nCCAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. +Report: 150.150MHz is the maximum frequency for this preference. + +
  • FREQUENCY PORT "nCRAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. +Report: 150.150MHz is the maximum frequency for this preference. + +
  • FREQUENCY PORT "RCLK" 62.500000 MHz (0 errors)
  • 844 items scored, 0 timing errors detected. +Report: 102.312MHz is the maximum frequency for this preference. + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 161.900ns (weighted slack = 323.800ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 10.175ns (30.0% logic, 70.0% route), 6 logic levels. + + Constraint Details: + + 10.175ns physical path delay Din[6]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 161.900ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 1.018 R5C8D.F1 to R4C8D.B0 CmdEnable16 +CTOF_DEL --- 0.495 R4C8D.B0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 10.175 (30.0% logic, 70.0% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.099ns (weighted slack = 324.198ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdValid (to PHI2_c -) + + Delay: 9.976ns (30.6% logic, 69.4% route), 6 logic levels. + + Constraint Details: + + 9.976ns physical path delay Din[6]_MGIOL to SLICE_23 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.099ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_23: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.808 R5C7A.F1 to R5C6D.C0 XOR8MEG18 +CTOF_DEL --- 0.495 R5C6D.C0 to R5C6D.F0 SLICE_23 +ROUTE 1 0.000 R5C6D.F0 to R5C6D.DI0 CmdValid_r (to PHI2_c) + -------- + 9.976 (30.6% logic, 69.4% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_23: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C6D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.113ns (weighted slack = 324.226ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdLEDEN (to PHI2_c -) + + Delay: 9.821ns (26.0% logic, 74.0% route), 5 logic levels. + + Constraint Details: + + 9.821ns physical path delay Din[6]_MGIOL to SLICE_18 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.307ns CE_SET requirement (totaling 171.934ns) by 162.113ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_18: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 1.148 R5C7A.F1 to R4C6C.CE XOR8MEG18 (to PHI2_c) + -------- + 9.821 (26.0% logic, 74.0% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_18: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C6C.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.113ns (weighted slack = 324.226ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in Cmdn8MEGEN (to PHI2_c -) + + Delay: 9.821ns (26.0% logic, 74.0% route), 5 logic levels. + + Constraint Details: + + 9.821ns physical path delay Din[6]_MGIOL to SLICE_25 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.307ns CE_SET requirement (totaling 171.934ns) by 162.113ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_25: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 1.148 R5C7A.F1 to R4C6A.CE XOR8MEG18 (to PHI2_c) + -------- + 9.821 (26.0% logic, 74.0% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_25: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C6A.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.197ns (weighted slack = 324.394ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdValid_fast (to PHI2_c -) + + Delay: 9.878ns (30.9% logic, 69.1% route), 6 logic levels. + + Constraint Details: + + 9.878ns physical path delay Din[6]_MGIOL to SLICE_24 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.197ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_24: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.710 R5C7A.F1 to R5C7A.B0 XOR8MEG18 +CTOF_DEL --- 0.495 R5C7A.B0 to R5C7A.F0 SLICE_24 +ROUTE 1 0.000 R5C7A.F0 to R5C7A.DI0 N_36_fast (to PHI2_c) + -------- + 9.878 (30.9% logic, 69.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_24: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C7A.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.260ns (weighted slack = 324.520ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[5] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 9.815ns (31.1% logic, 68.9% route), 6 logic levels. + + Constraint Details: + + 9.815ns physical path delay Din[5]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.260ns + + Physical Path Details: + + Data path Din[5]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_T6B.CLK to IOL_T6B.IN Din[5]_MGIOL (from PHI2_c) +ROUTE 1 1.753 IOL_T6B.IN to R4C7B.B1 Bank[5] +CTOF_DEL --- 0.495 R4C7B.B1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 1.018 R5C8D.F1 to R4C8D.B0 CmdEnable16 +CTOF_DEL --- 0.495 R4C8D.B0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 9.815 (31.1% logic, 68.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[5]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_T6B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.335ns (weighted slack = 324.670ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[7] (from PHI2_c +) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 9.740ns (31.3% logic, 68.7% route), 6 logic levels. + + Constraint Details: + + 9.740ns physical path delay Din[7]_MGIOL to SLICE_10 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.335ns + + Physical Path Details: + + Data path Din[7]_MGIOL to SLICE_10: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2A.CLK to IOL_L2A.IN Din[7]_MGIOL (from PHI2_c) +ROUTE 1 1.678 IOL_L2A.IN to R4C7B.D1 Bank[7] +CTOF_DEL --- 0.495 R4C7B.D1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 1.018 R5C8D.F1 to R4C8D.B0 CmdEnable16 +CTOF_DEL --- 0.495 R4C8D.B0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 9.740 (31.3% logic, 68.7% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[7]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2A.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R4C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.452ns (weighted slack = 324.904ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 9.623ns (30.5% logic, 69.5% route), 6 logic levels. + + Constraint Details: + + 9.623ns physical path delay Din[6]_MGIOL to SLICE_17 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.452ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_17: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 0.585 R5C8D.F1 to R5C8A.M0 CmdEnable16 +MTOOFX_DEL --- 0.376 R5C8A.M0 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 9.623 (30.5% logic, 69.5% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C8A.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.459ns (weighted slack = 324.918ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[5] (from PHI2_c +) + Destination: FF Data in CmdValid (to PHI2_c -) + + Delay: 9.616ns (31.7% logic, 68.3% route), 6 logic levels. + + Constraint Details: + + 9.616ns physical path delay Din[5]_MGIOL to SLICE_23 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.459ns + + Physical Path Details: + + Data path Din[5]_MGIOL to SLICE_23: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_T6B.CLK to IOL_T6B.IN Din[5]_MGIOL (from PHI2_c) +ROUTE 1 1.753 IOL_T6B.IN to R4C7B.B1 Bank[5] +CTOF_DEL --- 0.495 R4C7B.B1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.040 R5C8B.F0 to R5C7A.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C7A.B1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.808 R5C7A.F1 to R5C6D.C0 XOR8MEG18 +CTOF_DEL --- 0.495 R5C6D.C0 to R5C6D.F0 SLICE_23 +ROUTE 1 0.000 R5C6D.F0 to R5C6D.DI0 CmdValid_r (to PHI2_c) + -------- + 9.616 (31.7% logic, 68.3% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[5]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_T6B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_23: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C6D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.465ns (weighted slack = 324.930ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank_0io[6] (from PHI2_c +) + Destination: FF Data in C1Submitted (to PHI2_c -) + + Delay: 9.610ns (31.8% logic, 68.2% route), 6 logic levels. + + Constraint Details: + + 9.610ns physical path delay Din[6]_MGIOL to SLICE_11 meets + 172.414ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 172.075ns) by 162.465ns + + Physical Path Details: + + Data path Din[6]_MGIOL to SLICE_11: + + Name Fanout Delay (ns) Site Resource +C2INP_DEL --- 0.577 IOL_L2B.CLK to IOL_L2B.IN Din[6]_MGIOL (from PHI2_c) +ROUTE 1 2.113 IOL_L2B.IN to R4C7B.A1 Bank[6] +CTOF_DEL --- 0.495 R4C7B.A1 to R4C7B.F1 SLICE_37 +ROUTE 1 1.336 R4C7B.F1 to R2C6D.B0 un1_Bank_1_4 +CTOF_DEL --- 0.495 R2C6D.B0 to R2C6D.F0 SLICE_94 +ROUTE 2 1.627 R2C6D.F0 to R5C8B.C0 N_304 +CTOF_DEL --- 0.495 R5C8B.C0 to R5C8B.F0 SLICE_90 +ROUTE 5 1.029 R5C8B.F0 to R5C8D.B1 C1WR_7 +CTOF_DEL --- 0.495 R5C8D.B1 to R5C8D.F1 SLICE_11 +ROUTE 3 0.453 R5C8D.F1 to R5C8D.C0 CmdEnable16 +CTOF_DEL --- 0.495 R5C8D.C0 to R5C8D.F0 SLICE_11 +ROUTE 1 0.000 R5C8D.F0 to R5C8D.DI0 C1Submitted_s (to PHI2_c) + -------- + 9.610 (31.8% logic, 68.2% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to Din[6]_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.712 8.PADDI to IOL_L2B.CLK PHI2_c + -------- + 3.712 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 3.539 8.PADDI to R5C8D.CLK PHI2_c + -------- + 3.539 (0.0% logic, 100.0% route), 0 logic levels. + +Report: 47.556MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCCAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 338.168ns + The internal maximum frequency of the following component is 150.150 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCRAS + + Delay: 6.660ns -- based on Minimum Pulse Width + +Report: 150.150MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 6.226ns + The internal maximum frequency of the following component is 102.312 MHz + + Logical Details: Cell type Pin name Component name + + Destination: EFB WBCLKI ufmefb/EFBInst_0 + + Delay: 9.774ns -- based on Minimum Pulse Width + + +Passed: The following path meets requirements by 6.966ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.868ns (33.0% logic, 67.0% route), 6 logic levels. + + Constraint Details: + + 8.868ns physical path delay SLICE_2 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 6.966ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5A.CLK to R6C5A.Q0 SLICE_2 (from RCLK_c) +ROUTE 5 1.615 R6C5A.Q0 to R4C5D.C1 FS[15] +CTOF_DEL --- 0.495 R4C5D.C1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.868 (33.0% logic, 67.0% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.141ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[16] (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.693ns (33.7% logic, 66.3% route), 6 logic levels. + + Constraint Details: + + 8.693ns physical path delay SLICE_2 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.141ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5A.CLK to R6C5A.Q1 SLICE_2 (from RCLK_c) +ROUTE 5 1.440 R6C5A.Q1 to R4C5D.B1 FS[16] +CTOF_DEL --- 0.495 R4C5D.B1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.693 (33.7% logic, 66.3% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.241ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.593ns (34.1% logic, 65.9% route), 6 logic levels. + + Constraint Details: + + 8.593ns physical path delay SLICE_1 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.241ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5B.CLK to R6C5B.Q0 SLICE_1 (from RCLK_c) +ROUTE 5 1.340 R6C5B.Q0 to R4C5D.A1 FS[17] +CTOF_DEL --- 0.495 R4C5D.A1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.593 (34.1% logic, 65.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5B.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.305ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q S[0] (from RCLK_c +) + Destination: FF Data in nRCS_0io (to RCLK_c +) + + Delay: 8.715ns (33.6% logic, 66.4% route), 6 logic levels. + + Constraint Details: + + 8.715ns physical path delay SLICE_16 to nRCS_MGIOL meets + 16.000ns delay constraint less + -0.173ns skew and + 0.153ns DO_SET requirement (totaling 16.020ns) by 7.305ns + + Physical Path Details: + + Data path SLICE_16 to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R5C11B.CLK to R5C11B.Q0 SLICE_16 (from RCLK_c) +ROUTE 9 1.105 R5C11B.Q0 to R6C10D.C0 CO0 +CTOF_DEL --- 0.495 R6C10D.C0 to R6C10D.F0 SLICE_45 +ROUTE 4 0.461 R6C10D.F0 to R6C10D.C1 N_41 +CTOF_DEL --- 0.495 R6C10D.C1 to R6C10D.F1 SLICE_45 +ROUTE 2 0.972 R6C10D.F1 to R5C11A.D0 nRRAS_5_u_i_0 +CTOF_DEL --- 0.495 R5C11A.D0 to R5C11A.F0 SLICE_77 +ROUTE 1 0.693 R5C11A.F0 to R5C10C.B1 N_25 +CTOF_DEL --- 0.495 R5C10C.B1 to R5C10C.F1 SLICE_117 +ROUTE 1 0.958 R5C10C.F1 to R6C11A.D1 N_28_i_sn +CTOF_DEL --- 0.495 R6C11A.D1 to R6C11A.F1 SLICE_88 +ROUTE 1 1.599 R6C11A.F1 to IOL_R6D.OPOS N_28_i (to RCLK_c) + -------- + 8.715 (33.6% logic, 66.4% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_16: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R5C11B.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to IOL_R6D.CLK RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.392ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: EFB Port ufmefb/EFBInst_0(ASIC) (from RCLK_c +) + Destination: FF Data in n8MEGEN (to RCLK_c +) + + Delay: 8.269ns (81.9% logic, 18.1% route), 2 logic levels. + + Constraint Details: + + 8.269ns physical path delay ufmefb/EFBInst_0 to SLICE_47 meets + 16.000ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 15.661ns) by 7.392ns + + Physical Path Details: + + Data path ufmefb/EFBInst_0 to SLICE_47: + + Name Fanout Delay (ns) Site Resource +WCLKI2WBDA --- 6.278 EFB.WBCLKI to EFB.WBDATO0 ufmefb/EFBInst_0 (from RCLK_c) +ROUTE 1 1.496 EFB.WBDATO0 to R4C5B.C0 wb_dato[0] +CTOF_DEL --- 0.495 R4C5B.C0 to R4C5B.F0 SLICE_47 +ROUTE 1 0.000 R4C5B.F0 to R4C5B.DI0 n8MEGEN_6 (to RCLK_c) + -------- + 8.269 (81.9% logic, 18.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_47: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R4C5B.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.416ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q InitReady (from RCLK_c +) + Destination: FF Data in wb_dati[7] (to RCLK_c +) + + Delay: 8.418ns (34.8% logic, 65.2% route), 6 logic levels. + + Constraint Details: + + 8.418ns physical path delay SLICE_31 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.416ns + + Physical Path Details: + + Data path SLICE_31 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R5C4D.CLK to R5C4D.Q0 SLICE_31 (from RCLK_c) +ROUTE 33 1.165 R5C4D.Q0 to R4C5D.D1 InitReady +CTOF_DEL --- 0.495 R4C5D.D1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D0 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D0 to R2C3D.F0 SLICE_109 +ROUTE 4 1.749 R2C3D.F0 to R3C3D.A0 N_119 +CTOF_DEL --- 0.495 R3C3D.A0 to R3C3D.F0 SLICE_83 +ROUTE 1 0.747 R3C3D.F0 to R3C3B.C0 N_91 +CTOF_DEL --- 0.495 R3C3B.C0 to R3C3B.F0 SLICE_81 +ROUTE 1 0.693 R3C3B.F0 to R3C3A.B1 wb_dati_5_1_iv_0_1[7] +CTOF_DEL --- 0.495 R3C3A.B1 to R3C3A.F1 SLICE_57 +ROUTE 1 0.000 R3C3A.F1 to R3C3A.DI1 wb_dati_5[7] (to RCLK_c) + -------- + 8.418 (34.8% logic, 65.2% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_31: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R5C4D.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.490ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: EFB Port ufmefb/EFBInst_0(ASIC) (from RCLK_c +) + Destination: FF Data in LEDEN (to RCLK_c +) + + Delay: 8.171ns (72.9% logic, 27.1% route), 2 logic levels. + + Constraint Details: + + 8.171ns physical path delay ufmefb/EFBInst_0 to SLICE_32 meets + 16.000ns delay constraint less + 0.173ns skew and + 0.166ns DIN_SET requirement (totaling 15.661ns) by 7.490ns + + Physical Path Details: + + Data path ufmefb/EFBInst_0 to SLICE_32: + + Name Fanout Delay (ns) Site Resource +WCLKI2WBDA --- 5.461 EFB.WBCLKI to EFB.WBDATO1 ufmefb/EFBInst_0 (from RCLK_c) +ROUTE 1 2.215 EFB.WBDATO1 to R4C6D.A0 wb_dato[1] +CTOF_DEL --- 0.495 R4C6D.A0 to R4C6D.F0 SLICE_32 +ROUTE 1 0.000 R4C6D.F0 to R4C6D.DI0 LEDEN_6 (to RCLK_c) + -------- + 8.171 (72.9% logic, 27.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_32: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R4C6D.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.546ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[13] (from RCLK_c +) + Destination: FF Data in wb_adr[1] (to RCLK_c +) + + Delay: 8.288ns (29.3% logic, 70.7% route), 5 logic levels. + + Constraint Details: + + 8.288ns physical path delay SLICE_3 to SLICE_49 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.546ns + + Physical Path Details: + + Data path SLICE_3 to SLICE_49: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C4D.CLK to R6C4D.Q0 SLICE_3 (from RCLK_c) +ROUTE 22 2.071 R6C4D.Q0 to R4C5A.B1 FS[13] +CTOF_DEL --- 0.495 R4C5A.B1 to R4C5A.F1 SLICE_82 +ROUTE 2 0.982 R4C5A.F1 to R4C5C.A0 un1_FS_20_3 +CTOF_DEL --- 0.495 R4C5C.A0 to R4C5C.F0 SLICE_87 +ROUTE 2 0.993 R4C5C.F0 to R4C4B.A0 wb_we95 +CTOF_DEL --- 0.495 R4C4B.A0 to R4C4B.F0 SLICE_84 +ROUTE 1 1.810 R4C4B.F0 to R2C2A.A1 N_181 +CTOF_DEL --- 0.495 R2C2A.A1 to R2C2A.F1 SLICE_49 +ROUTE 1 0.000 R2C2A.F1 to R2C2A.DI1 wb_adr_5[1] (to RCLK_c) + -------- + 8.288 (29.3% logic, 70.7% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C4D.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_49: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R2C2A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.583ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in wb_dati[6] (to RCLK_c +) + + Delay: 8.251ns (35.5% logic, 64.5% route), 6 logic levels. + + Constraint Details: + + 8.251ns physical path delay SLICE_2 to SLICE_57 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.166ns DIN_SET requirement (totaling 15.834ns) by 7.583ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_57: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C5A.CLK to R6C5A.Q0 SLICE_2 (from RCLK_c) +ROUTE 5 1.615 R6C5A.Q0 to R4C5D.C1 FS[15] +CTOF_DEL --- 0.495 R4C5D.C1 to R4C5D.F1 SLICE_76 +ROUTE 18 1.137 R4C5D.F1 to R2C3D.D1 wb_rst11 +CTOF_DEL --- 0.495 R2C3D.D1 to R2C3D.F1 SLICE_109 +ROUTE 2 0.982 R2C3D.F1 to R2C3A.A1 N_246 +CTOF_DEL --- 0.495 R2C3A.A1 to R2C3A.F1 SLICE_74 +ROUTE 1 0.967 R2C3A.F1 to R2C3A.A0 N_98 +CTOF_DEL --- 0.495 R2C3A.A0 to R2C3A.F0 SLICE_74 +ROUTE 1 0.623 R2C3A.F0 to R3C3A.D0 wb_dati_5_1_iv_0_1[6] +CTOF_DEL --- 0.495 R3C3A.D0 to R3C3A.F0 SLICE_57 +ROUTE 1 0.000 R3C3A.F0 to R3C3A.DI0 wb_dati_5[6] (to RCLK_c) + -------- + 8.251 (35.5% logic, 64.5% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C5A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_57: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R3C3A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.586ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q RASr2 (from RCLK_c +) + Destination: FF Data in nRCS_0io (to RCLK_c +) + + Delay: 8.434ns (28.8% logic, 71.2% route), 5 logic levels. + + Constraint Details: + + 8.434ns physical path delay SLICE_34 to nRCS_MGIOL meets + 16.000ns delay constraint less + -0.173ns skew and + 0.153ns DO_SET requirement (totaling 16.020ns) by 7.586ns + + Physical Path Details: + + Data path SLICE_34 to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.452 R6C7A.CLK to R6C7A.Q1 SLICE_34 (from RCLK_c) +ROUTE 10 1.972 R6C7A.Q1 to R5C11C.A1 RASr2 +CTOF_DEL --- 0.495 R5C11C.A1 to R5C11C.F1 SLICE_63 +ROUTE 7 0.780 R5C11C.F1 to R5C11A.C0 N_250 +CTOF_DEL --- 0.495 R5C11A.C0 to R5C11A.F0 SLICE_77 +ROUTE 1 0.693 R5C11A.F0 to R5C10C.B1 N_25 +CTOF_DEL --- 0.495 R5C10C.B1 to R5C10C.F1 SLICE_117 +ROUTE 1 0.958 R5C10C.F1 to R6C11A.D1 N_28_i_sn +CTOF_DEL --- 0.495 R6C11A.D1 to R6C11A.F1 SLICE_88 +ROUTE 1 1.599 R6C11A.F1 to IOL_R6D.OPOS N_28_i (to RCLK_c) + -------- + 8.434 (28.8% logic, 71.2% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_34: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.070 62.PADDI to R6C7A.CLK RCLK_c + -------- + 3.070 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to nRCS_MGIOL: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 3.243 62.PADDI to IOL_R6D.CLK RCLK_c + -------- + 3.243 (0.0% logic, 100.0% route), 0 logic levels. + +Report: 102.312MHz is the maximum frequency for this preference. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 47.556 MHz| 6 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 150.150 MHz| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 102.312 MHz| 0 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 705 connections (72.09% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:55:11 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 4 -sphld m -o LCMXO2_640HC_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,m +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +Preference Summary + +
  • FREQUENCY PORT "PHI2" 2.900000 MHz (0 errors)
  • 158 items scored, 0 timing errors detected. + +
  • FREQUENCY PORT "nCCAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. + +
  • FREQUENCY PORT "nCRAS" 2.900000 MHz (0 errors)
  • 0 items scored, 0 timing errors detected. + +
  • FREQUENCY PORT "RCLK" 62.500000 MHz (0 errors)
  • 844 items scored, 0 timing errors detected. + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 158 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_10 to SLICE_10 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_10 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R4C8D.CLK to R4C8D.Q0 SLICE_10 (from PHI2_c) +ROUTE 2 0.132 R4C8D.Q0 to R4C8D.A0 ADSubmitted +CTOF_DEL --- 0.101 R4C8D.A0 to R4C8D.F0 SLICE_10 +ROUTE 1 0.000 R4C8D.F0 to R4C8D.DI0 ADSubmitted_r (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R4C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R4C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdUFMShift_fast (from PHI2_c -) + Destination: FF Data in CmdUFMShift_fast (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_21 to SLICE_21 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_21 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C6B.CLK to R5C6B.Q0 SLICE_21 (from PHI2_c) +ROUTE 2 0.132 R5C6B.Q0 to R5C6B.A0 CmdUFMShift_fast +CTOF_DEL --- 0.101 R5C6B.A0 to R5C6B.F0 SLICE_21 +ROUTE 1 0.000 R5C6B.F0 to R5C6B.DI0 CmdUFMShift_3_fast (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6B.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6B.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdUFMWrite (from PHI2_c -) + Destination: FF Data in CmdUFMWrite (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_22 to SLICE_22 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_22 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C6A.CLK to R5C6A.Q0 SLICE_22 (from PHI2_c) +ROUTE 2 0.132 R5C6A.Q0 to R5C6A.A0 CmdUFMWrite +CTOF_DEL --- 0.101 R5C6A.A0 to R5C6A.F0 SLICE_22 +ROUTE 1 0.000 R5C6A.F0 to R5C6A.DI0 CmdUFMWrite_3 (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q XOR8MEG (from PHI2_c -) + Destination: FF Data in XOR8MEG (to PHI2_c -) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_46 to SLICE_46 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_46 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C7C.CLK to R5C7C.Q0 SLICE_46 (from PHI2_c) +ROUTE 2 0.132 R5C7C.Q0 to R5C7C.A0 XOR8MEG +CTOF_DEL --- 0.101 R5C7C.A0 to R5C7C.F0 SLICE_46 +ROUTE 1 0.000 R5C7C.F0 to R5C7C.DI0 XOR8MEG_3 (to PHI2_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C7C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C7C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.380ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdUFMShift (from PHI2_c -) + Destination: FF Data in CmdUFMShift (to PHI2_c -) + + Delay: 0.367ns (63.8% logic, 36.2% route), 2 logic levels. + + Constraint Details: + + 0.367ns physical path delay SLICE_20 to SLICE_20 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.380ns + + Physical Path Details: + + Data path SLICE_20 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C6C.CLK to R5C6C.Q0 SLICE_20 (from PHI2_c) +ROUTE 3 0.133 R5C6C.Q0 to R5C6C.A0 CmdUFMShift +CTOF_DEL --- 0.101 R5C6C.A0 to R5C6C.F0 SLICE_20 +ROUTE 1 0.000 R5C6C.F0 to R5C6C.DI0 CmdUFMShift_3 (to PHI2_c) + -------- + 0.367 (63.8% logic, 36.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C6C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.435ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.422ns (68.5% logic, 31.5% route), 2 logic levels. + + Constraint Details: + + 0.422ns physical path delay SLICE_17 to SLICE_17 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.435ns + + Physical Path Details: + + Data path SLICE_17 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8A.CLK to R5C8A.Q0 SLICE_17 (from PHI2_c) +ROUTE 4 0.133 R5C8A.Q0 to R5C8A.A0 CmdEnable +CTOOFX_DEL --- 0.156 R5C8A.A0 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.422 (68.5% logic, 31.5% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.471ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q C1Submitted (from PHI2_c -) + Destination: FF Data in C1Submitted (to PHI2_c -) + + Delay: 0.458ns (51.1% logic, 48.9% route), 2 logic levels. + + Constraint Details: + + 0.458ns physical path delay SLICE_11 to SLICE_11 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.471ns + + Physical Path Details: + + Data path SLICE_11 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8D.CLK to R5C8D.Q0 SLICE_11 (from PHI2_c) +ROUTE 2 0.224 R5C8D.Q0 to R5C8D.B0 C1Submitted +CTOF_DEL --- 0.101 R5C8D.B0 to R5C8D.F0 SLICE_11 +ROUTE 1 0.000 R5C8D.F0 to R5C8D.DI0 C1Submitted_s (to PHI2_c) + -------- + 0.458 (51.1% logic, 48.9% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_11: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.527ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.514ns (56.2% logic, 43.8% route), 2 logic levels. + + Constraint Details: + + 0.514ns physical path delay SLICE_17 to SLICE_17 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.527ns + + Physical Path Details: + + Data path SLICE_17 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8A.CLK to R5C8A.Q0 SLICE_17 (from PHI2_c) +ROUTE 4 0.225 R5C8A.Q0 to R5C8A.B1 CmdEnable +CTOOFX_DEL --- 0.156 R5C8A.B1 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.514 (56.2% logic, 43.8% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.550ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.537ns (53.8% logic, 46.2% route), 2 logic levels. + + Constraint Details: + + 0.537ns physical path delay SLICE_10 to SLICE_17 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.550ns + + Physical Path Details: + + Data path SLICE_10 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R4C8D.CLK to R4C8D.Q0 SLICE_10 (from PHI2_c) +ROUTE 2 0.248 R4C8D.Q0 to R5C8A.D1 ADSubmitted +CTOOFX_DEL --- 0.156 R5C8A.D1 to R5C8A.OFX0 SLICE_17 +ROUTE 1 0.000 R5C8A.OFX0 to R5C8A.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.537 (53.8% logic, 46.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_10: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R4C8D.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.550ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in XOR8MEG (to PHI2_c -) + + Delay: 0.522ns (44.8% logic, 55.2% route), 2 logic levels. + + Constraint Details: + + 0.522ns physical path delay SLICE_17 to SLICE_46 meets + -0.028ns CE_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.028ns) by 0.550ns + + Physical Path Details: + + Data path SLICE_17 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C8A.CLK to R5C8A.Q0 SLICE_17 (from PHI2_c) +ROUTE 4 0.142 R5C8A.Q0 to R5C7A.C1 CmdEnable +CTOF_DEL --- 0.101 R5C7A.C1 to R5C7A.F1 SLICE_24 +ROUTE 8 0.146 R5C7A.F1 to R5C7C.CE XOR8MEG18 (to PHI2_c) + -------- + 0.522 (44.8% logic, 55.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_17: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C8A.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_46: + + Name Fanout Delay (ns) Site Resource +ROUTE 22 1.240 8.PADDI to R5C7C.CLK PHI2_c + -------- + 1.240 (0.0% logic, 100.0% route), 0 logic levels. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 844 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.304ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr (from RCLK_c +) + Destination: FF Data in CASr2 (to RCLK_c +) + + Delay: 0.285ns (46.7% logic, 53.3% route), 1 logic levels. + + Constraint Details: + + 0.285ns physical path delay SLICE_12 to SLICE_12 meets + -0.019ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.304ns + + Physical Path Details: + + Data path SLICE_12 to SLICE_12: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C9A.CLK to R5C9A.Q0 SLICE_12 (from RCLK_c) +ROUTE 1 0.152 R5C9A.Q0 to R5C9A.M1 CASr (to RCLK_c) + -------- + 0.285 (46.7% logic, 53.3% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_12: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_12: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.306ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr2 (from RCLK_c +) + Destination: FF Data in CASr3 (to RCLK_c +) + + Delay: 0.287ns (46.3% logic, 53.7% route), 1 logic levels. + + Constraint Details: + + 0.287ns physical path delay SLICE_12 to SLICE_106 meets + -0.019ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.306ns + + Physical Path Details: + + Data path SLICE_12 to SLICE_106: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R5C9A.CLK to R5C9A.Q1 SLICE_12 (from RCLK_c) +ROUTE 4 0.154 R5C9A.Q1 to R5C9D.M0 CASr2 (to RCLK_c) + -------- + 0.287 (46.3% logic, 53.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_12: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_106: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R5C9D.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.306ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q RASr (from RCLK_c +) + Destination: FF Data in RASr2 (to RCLK_c +) + + Delay: 0.287ns (46.3% logic, 53.7% route), 1 logic levels. + + Constraint Details: + + 0.287ns physical path delay SLICE_34 to SLICE_34 meets + -0.019ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.306ns + + Physical Path Details: + + Data path SLICE_34 to SLICE_34: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C7A.CLK to R6C7A.Q0 SLICE_34 (from RCLK_c) +ROUTE 2 0.154 R6C7A.Q0 to R6C7A.M1 RASr (to RCLK_c) + -------- + 0.287 (46.3% logic, 53.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_34: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C7A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_34: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C7A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.313ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[6] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.307ns (43.3% logic, 56.7% route), 1 logic levels. + + Constraint Details: + + 0.307ns physical path delay SLICE_52 to ufmefb/EFBInst_0 meets + -0.060ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.006ns) by 0.313ns + + Physical Path Details: + + Data path SLICE_52 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2C.CLK to R2C2C.Q0 SLICE_52 (from RCLK_c) +ROUTE 2 0.174 R2C2C.Q0 to EFB.WBADRI6 wb_adr[6] (to RCLK_c) + -------- + 0.307 (43.3% logic, 56.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2C.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.318ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[7] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.304ns (43.8% logic, 56.3% route), 1 logic levels. + + Constraint Details: + + 0.304ns physical path delay SLICE_52 to ufmefb/EFBInst_0 meets + -0.068ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.014ns) by 0.318ns + + Physical Path Details: + + Data path SLICE_52 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2C.CLK to R2C2C.Q1 SLICE_52 (from RCLK_c) +ROUTE 1 0.171 R2C2C.Q1 to EFB.WBADRI7 wb_adr[7] (to RCLK_c) + -------- + 0.304 (43.8% logic, 56.3% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2C.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.334ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[2] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.307ns (43.3% logic, 56.7% route), 1 logic levels. + + Constraint Details: + + 0.307ns physical path delay SLICE_50 to ufmefb/EFBInst_0 meets + -0.081ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.027ns) by 0.334ns + + Physical Path Details: + + Data path SLICE_50 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2B.CLK to R2C2B.Q0 SLICE_50 (from RCLK_c) +ROUTE 2 0.174 R2C2B.Q0 to EFB.WBADRI2 wb_adr[2] (to RCLK_c) + -------- + 0.307 (43.3% logic, 56.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_50: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2B.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.355ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q wb_adr[1] (from RCLK_c +) + Destination: EFB Port ufmefb/EFBInst_0(ASIC) (to RCLK_c +) + + Delay: 0.307ns (43.3% logic, 56.7% route), 1 logic levels. + + Constraint Details: + + 0.307ns physical path delay SLICE_49 to ufmefb/EFBInst_0 meets + -0.102ns WBADRI_HLD and + 0.000ns delay constraint less + -0.054ns skew requirement (totaling -0.048ns) by 0.355ns + + Physical Path Details: + + Data path SLICE_49 to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R2C2A.CLK to R2C2A.Q1 SLICE_49 (from RCLK_c) +ROUTE 2 0.174 R2C2A.Q1 to EFB.WBADRI1 wb_adr[1] (to RCLK_c) + -------- + 0.307 (43.3% logic, 56.7% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_49: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R2C2A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to ufmefb/EFBInst_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.113 62.PADDI to EFB.WBCLKI RCLK_c + -------- + 1.113 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[0] (from RCLK_c +) + Destination: FF Data in FS[0] (to RCLK_c +) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_0 to SLICE_0 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_0 to SLICE_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C3A.CLK to R6C3A.Q1 SLICE_0 (from RCLK_c) +ROUTE 3 0.132 R6C3A.Q1 to R6C3A.A1 FS[0] +CTOF_DEL --- 0.101 R6C3A.A1 to R6C3A.F1 SLICE_0 +ROUTE 1 0.000 R6C3A.F1 to R6C3A.DI1 FS_s[0] (to RCLK_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C3A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C3A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in FS[17] (to RCLK_c +) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_1 to SLICE_1 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_1: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C5B.CLK to R6C5B.Q0 SLICE_1 (from RCLK_c) +ROUTE 5 0.132 R6C5B.Q0 to R6C5B.A0 FS[17] +CTOF_DEL --- 0.101 R6C5B.A0 to R6C5B.F0 SLICE_1 +ROUTE 1 0.000 R6C5B.F0 to R6C5B.DI0 FS_s[17] (to RCLK_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5B.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5B.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.379ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[16] (from RCLK_c +) + Destination: FF Data in FS[16] (to RCLK_c +) + + Delay: 0.366ns (63.9% logic, 36.1% route), 2 logic levels. + + Constraint Details: + + 0.366ns physical path delay SLICE_2 to SLICE_2 meets + -0.013ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.013ns) by 0.379ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_2: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.133 R6C5A.CLK to R6C5A.Q1 SLICE_2 (from RCLK_c) +ROUTE 5 0.132 R6C5A.Q1 to R6C5A.A1 FS[16] +CTOF_DEL --- 0.101 R6C5A.A1 to R6C5A.F1 SLICE_2 +ROUTE 1 0.000 R6C5A.F1 to R6C5A.DI1 FS_s[16] (to RCLK_c) + -------- + 0.366 (63.9% logic, 36.1% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 47 1.059 62.PADDI to R6C5A.CLK RCLK_c + -------- + 1.059 (0.0% logic, 100.0% route), 0 logic levels. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference(MIN Delays) | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 12 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 10 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 47 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 22 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 705 connections (72.09% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.sdf b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.sdf new file mode 100644 index 0000000..bf6abc0 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.sdf @@ -0,0 +1,4442 @@ +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 21:55:20 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1I) + (DELAY + (ABSOLUTE + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9I) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_10") + (INSTANCE SLICE_10I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_11") + (INSTANCE SLICE_11I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_12") + (INSTANCE SLICE_12I) + (DELAY + (ABSOLUTE + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_16") + (INSTANCE SLICE_16I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_17") + (INSTANCE SLICE_17I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (457:589:721)(457:589:721)) + (IOPATH B1 OFX0 (457:589:721)(457:589:721)) + (IOPATH D0 OFX0 (457:589:721)(457:589:721)) + (IOPATH C0 OFX0 (457:589:721)(457:589:721)) + (IOPATH B0 OFX0 (457:589:721)(457:589:721)) + (IOPATH A0 OFX0 (457:589:721)(457:589:721)) + (IOPATH M0 OFX0 (322:349:376)(322:349:376)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_18") + (INSTANCE SLICE_18I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20I) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21I) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_23") + (INSTANCE SLICE_23I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_24") + (INSTANCE SLICE_24I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_25") + (INSTANCE SLICE_25I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_28") + (INSTANCE SLICE_28I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32I) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_34") + (INSTANCE SLICE_34I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_35") + (INSTANCE SLICE_35I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_36") + (INSTANCE SLICE_36I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_37") + (INSTANCE SLICE_37I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_38") + (INSTANCE SLICE_38I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_40") + (INSTANCE SLICE_40I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_45") + (INSTANCE SLICE_45I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_46") + (INSTANCE SLICE_46I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_47") + (INSTANCE SLICE_47I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_48") + (INSTANCE SLICE_48I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_49") + (INSTANCE SLICE_49I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_53") + (INSTANCE SLICE_53I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_54") + (INSTANCE SLICE_54I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "wb_cyc_stb_RNO_SLICE_61") + (INSTANCE wb_cyc_stb_RNO_SLICE_61I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (457:589:721)(457:589:721)) + (IOPATH C1 OFX0 (457:589:721)(457:589:721)) + (IOPATH B1 OFX0 (457:589:721)(457:589:721)) + (IOPATH A1 OFX0 (457:589:721)(457:589:721)) + (IOPATH D0 OFX0 (457:589:721)(457:589:721)) + (IOPATH C0 OFX0 (457:589:721)(457:589:721)) + (IOPATH A0 OFX0 (457:589:721)(457:589:721)) + (IOPATH M0 OFX0 (322:349:376)(322:349:376)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_65") + (INSTANCE SLICE_65I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_95") + (INSTANCE SLICE_95I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_96") + (INSTANCE SLICE_96I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_97") + (INSTANCE SLICE_97I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_98") + (INSTANCE SLICE_98I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_99") + (INSTANCE SLICE_99I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_100") + (INSTANCE SLICE_100I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_101") + (INSTANCE SLICE_101I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_102") + (INSTANCE SLICE_102I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_103") + (INSTANCE SLICE_103I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_104") + (INSTANCE SLICE_104I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_105") + (INSTANCE SLICE_105I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + ) + ) + (CELL + (CELLTYPE "SLICE_106") + (INSTANCE SLICE_106I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_107") + (INSTANCE SLICE_107I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_108") + (INSTANCE SLICE_108I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + ) + ) + (CELL + (CELLTYPE "SLICE_109") + (INSTANCE SLICE_109I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_110") + (INSTANCE SLICE_110I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_111") + (INSTANCE SLICE_111I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_112") + (INSTANCE SLICE_112I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_113") + (INSTANCE SLICE_113I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_114") + (INSTANCE SLICE_114I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_115") + (INSTANCE SLICE_115I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_116") + (INSTANCE SLICE_116I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_117") + (INSTANCE SLICE_117I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_118") + (INSTANCE SLICE_118I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_0_B") + (INSTANCE RD_0_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD0 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD0 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (3330:3330:3330)) + (WIDTH (negedge RD0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_0_MGIOL") + (INSTANCE RD_0_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "Dout_0_B") + (INSTANCE Dout_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2B") + (INSTANCE PHI2I) + (DELAY + (ABSOLUTE + (IOPATH PHI2S PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2S) (3330:3330:3330)) + (WIDTH (negedge PHI2S) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "PHI2_MGIOL") + (INSTANCE PHI2_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RDQMLB") + (INSTANCE RDQMLI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMLS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMHB") + (INSTANCE RDQMHI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMHS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCASB") + (INSTANCE nRCASI) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRCASS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS_MGIOL") + (INSTANCE nRCAS_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "nRRASB") + (INSTANCE nRRASI) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRRASS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS_MGIOL") + (INSTANCE nRRAS_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "nRWEB") + (INSTANCE nRWEI) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRWES (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE_MGIOL") + (INSTANCE nRWE_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RCKEB") + (INSTANCE RCKEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKES (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RCLKB") + (INSTANCE RCLKI) + (DELAY + (ABSOLUTE + (IOPATH RCLKS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLKS) (3330:3330:3330)) + (WIDTH (negedge RCLKS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nRCSB") + (INSTANCE nRCSI) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRCSS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCS_MGIOL") + (INSTANCE nRCS_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RD_7_B") + (INSTANCE RD_7_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD7 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD7 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (3330:3330:3330)) + (WIDTH (negedge RD7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_7_MGIOL") + (INSTANCE RD_7_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_6_B") + (INSTANCE RD_6_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD6 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD6 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (3330:3330:3330)) + (WIDTH (negedge RD6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_6_MGIOL") + (INSTANCE RD_6_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_5_B") + (INSTANCE RD_5_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD5 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD5 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (3330:3330:3330)) + (WIDTH (negedge RD5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_5_MGIOL") + (INSTANCE RD_5_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_4_B") + (INSTANCE RD_4_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD4 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD4 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (3330:3330:3330)) + (WIDTH (negedge RD4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_4_MGIOL") + (INSTANCE RD_4_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_3_B") + (INSTANCE RD_3_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD3 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD3 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (3330:3330:3330)) + (WIDTH (negedge RD3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_3_MGIOL") + (INSTANCE RD_3_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_2_B") + (INSTANCE RD_2_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD2 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD2 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (3330:3330:3330)) + (WIDTH (negedge RD2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_2_MGIOL") + (INSTANCE RD_2_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_1_B") + (INSTANCE RD_1_I0) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD1 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD1 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (3330:3330:3330)) + (WIDTH (negedge RD1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_1_MGIOL") + (INSTANCE RD_1_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RA_11_B") + (INSTANCE RA_11_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RA11 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_11_MGIOL") + (INSTANCE RA_11_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RA_10_B") + (INSTANCE RA_10_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RA10 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_MGIOL") + (INSTANCE RA_10_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + (SETUPHOLD LSR (posedge CLK) (100:100:100)(-90:-90:-90)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RA_9_B") + (INSTANCE RA_9_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_B") + (INSTANCE RA_8_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_B") + (INSTANCE RA_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_B") + (INSTANCE RA_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_B") + (INSTANCE RA_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_B") + (INSTANCE RA_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_B") + (INSTANCE RA_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_B") + (INSTANCE RA_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_B") + (INSTANCE RA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_B") + (INSTANCE RA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_B") + (INSTANCE RBA_1_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RBA1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_MGIOL") + (INSTANCE RBA_1_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RBA_0_B") + (INSTANCE RBA_0_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RBA0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_MGIOL") + (INSTANCE RBA_0_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "LEDB") + (INSTANCE LEDI) + (DELAY + (ABSOLUTE + (IOPATH PADDO LEDS (2371:2455:2540)(2371:2455:2540)) + ) + ) + ) + (CELL + (CELLTYPE "nFWEB") + (INSTANCE nFWEI) + (DELAY + (ABSOLUTE + (IOPATH nFWES PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWES) (3330:3330:3330)) + (WIDTH (negedge nFWES) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nCRASB") + (INSTANCE nCRASI) + (DELAY + (ABSOLUTE + (IOPATH nCRASS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRASS) (3330:3330:3330)) + (WIDTH (negedge nCRASS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nCCASB") + (INSTANCE nCCASI) + (DELAY + (ABSOLUTE + (IOPATH nCCASS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCASS) (3330:3330:3330)) + (WIDTH (negedge nCCASS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Dout_7_B") + (INSTANCE Dout_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_B") + (INSTANCE Dout_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_B") + (INSTANCE Dout_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_B") + (INSTANCE Dout_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_B") + (INSTANCE Dout_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_B") + (INSTANCE Dout_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_B") + (INSTANCE Dout_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_B") + (INSTANCE Din_7_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (3330:3330:3330)) + (WIDTH (negedge Din7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_7_MGIOL") + (INSTANCE Din_7_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_6_B") + (INSTANCE Din_6_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (3330:3330:3330)) + (WIDTH (negedge Din6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_6_MGIOL") + (INSTANCE Din_6_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_5_B") + (INSTANCE Din_5_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (3330:3330:3330)) + (WIDTH (negedge Din5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_5_MGIOL") + (INSTANCE Din_5_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_4_B") + (INSTANCE Din_4_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (3330:3330:3330)) + (WIDTH (negedge Din4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_4_MGIOL") + (INSTANCE Din_4_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_3_B") + (INSTANCE Din_3_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (3330:3330:3330)) + (WIDTH (negedge Din3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_3_MGIOL") + (INSTANCE Din_3_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_2_B") + (INSTANCE Din_2_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (3330:3330:3330)) + (WIDTH (negedge Din2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_2_MGIOL") + (INSTANCE Din_2_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_1_B") + (INSTANCE Din_1_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (3330:3330:3330)) + (WIDTH (negedge Din1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_1_MGIOL") + (INSTANCE Din_1_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_0_B") + (INSTANCE Din_0_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (3330:3330:3330)) + (WIDTH (negedge Din0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_0_MGIOL") + (INSTANCE Din_0_MGIOLI) + (DELAY + (ABSOLUTE + (IOPATH CLK INP (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "CROW_1_B") + (INSTANCE CROW_1_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (3330:3330:3330)) + (WIDTH (negedge CROW1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "CROW_0_B") + (INSTANCE CROW_0_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (3330:3330:3330)) + (WIDTH (negedge CROW0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_9_B") + (INSTANCE MAin_9_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (3330:3330:3330)) + (WIDTH (negedge MAin9) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_8_B") + (INSTANCE MAin_8_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (3330:3330:3330)) + (WIDTH (negedge MAin8) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_7_B") + (INSTANCE MAin_7_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (3330:3330:3330)) + (WIDTH (negedge MAin7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_6_B") + (INSTANCE MAin_6_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (3330:3330:3330)) + (WIDTH (negedge MAin6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_5_B") + (INSTANCE MAin_5_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (3330:3330:3330)) + (WIDTH (negedge MAin5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_4_B") + (INSTANCE MAin_4_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (3330:3330:3330)) + (WIDTH (negedge MAin4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_3_B") + (INSTANCE MAin_3_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (3330:3330:3330)) + (WIDTH (negedge MAin3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_2_B") + (INSTANCE MAin_2_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (3330:3330:3330)) + (WIDTH (negedge MAin2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_1_B") + (INSTANCE MAin_1_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (3330:3330:3330)) + (WIDTH (negedge MAin1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_0_B") + (INSTANCE MAin_0_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (3330:3330:3330)) + (WIDTH (negedge MAin0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "EFB_Buffer_Block") + (INSTANCE ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20) + (DELAY + (ABSOLUTE + (IOPATH WBCLKIin WBDATO0out (978:3628:6278)(978:3628:6278)) + (IOPATH WBCLKIin WBDATO1out (947:3204:5461)(947:3204:5461)) + (IOPATH WBCLKIin WBACKOout (903:1623:2343)(903:1623:2343)) + ) + ) + (TIMINGCHECK + (SETUPHOLD WBRSTIin (posedge WBCLKIin) (3138:3170:3203)(-3138:-1966:-794)) + (SETUPHOLD WBCYCIin (posedge WBCLKIin) (2616:2649:2682)(-2616:-1558:-501)) + (SETUPHOLD WBSTBIin (posedge WBCLKIin) (2605:2637:2670)(-2605:-1494:-384)) + (SETUPHOLD WBWEIin (posedge WBCLKIin) (1409:1442:1475)(-1409:-837:-266)) + (SETUPHOLD WBADRI0in (posedge WBCLKIin) (2058:2123:2188)(-2058:-1191:-324)) + (SETUPHOLD WBADRI1in (posedge WBCLKIin) (2068:2104:2140)(-2068:-1234:-401)) + (SETUPHOLD WBADRI2in (posedge WBCLKIin) (1928:1993:2058)(-1928:-1110:-292)) + (SETUPHOLD WBADRI3in (posedge WBCLKIin) (2167:2196:2226)(-2167:-1264:-361)) + (SETUPHOLD WBADRI4in (posedge WBCLKIin) (2072:2101:2130)(-2072:-1198:-324)) + (SETUPHOLD WBADRI5in (posedge WBCLKIin) (1611:1640:1670)(-1611:-950:-289)) + (SETUPHOLD WBADRI6in (posedge WBCLKIin) (2532:2564:2597)(-2532:-1380:-229)) + (SETUPHOLD WBADRI7in (posedge WBCLKIin) (2519:2551:2584)(-2519:-1377:-235)) + (SETUPHOLD WBDATI0in (posedge WBCLKIin) (1057:1262:1467)(-1037:-712:-388)) + (SETUPHOLD WBDATI1in (posedge WBCLKIin) (1114:1338:1563)(-1108:-785:-462)) + (SETUPHOLD WBDATI2in (posedge WBCLKIin) (916:1076:1237)(-912:-636:-360)) + (SETUPHOLD WBDATI3in (posedge WBCLKIin) (1145:1359:1573)(-1115:-782:-449)) + (SETUPHOLD WBDATI4in (posedge WBCLKIin) (1192:1400:1609)(-1176:-820:-464)) + (SETUPHOLD WBDATI5in (posedge WBCLKIin) (1027:1222:1418)(-1000:-706:-413)) + (SETUPHOLD WBDATI6in (posedge WBCLKIin) (1034:1248:1463)(-1034:-756:-479)) + (SETUPHOLD WBDATI7in (posedge WBCLKIin) (528:614:701)(-528:-398:-268)) + ) + (TIMINGCHECK + (WIDTH (posedge WBCLKIin) (4887:4887:4887)) + (WIDTH (negedge WBCLKIin) (4887:4887:4887)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_0I/Q1 SLICE_89I/B1 (781:909:1037)(781:909:1037)) + (INTERCONNECT SLICE_0I/Q1 SLICE_96I/A0 (749:874:1000)(749:874:1000)) + (INTERCONNECT SLICE_0I/F1 SLICE_0I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_9I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_9I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_12I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_12I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_16I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_28I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_34I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_34I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_35I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_35I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_36I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_37I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_38I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_39I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_45I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_47I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_48I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_49I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_49I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_53I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_54I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_54I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_55I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_55I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_56I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_56I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_57I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_57I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_106I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI SLICE_118I/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLKI/PADDI PHI2_MGIOLI/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLKI/PADDI nRCAS_MGIOLI/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLKI/PADDI nRRAS_MGIOLI/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLKI/PADDI nRWE_MGIOLI/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLKI/PADDI nRCS_MGIOLI/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLKI/PADDI RA_10_MGIOLI/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLKI/PADDI ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBCLKIin + (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT SLICE_0I/FCO SLICE_9I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_1I/Q0 SLICE_47I/C1 (812:966:1120)(812:966:1120)) + (INTERCONNECT SLICE_1I/Q0 SLICE_76I/A1 (1011:1175:1340)(1011:1175:1340)) + (INTERCONNECT SLICE_1I/Q0 SLICE_102I/B1 (771:903:1035)(771:903:1035)) + (INTERCONNECT SLICE_1I/Q0 SLICE_102I/B0 (771:903:1035)(771:903:1035)) + (INTERCONNECT SLICE_1I/F0 SLICE_1I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_2I/Q1 SLICE_47I/B1 (786:914:1043)(786:914:1043)) + (INTERCONNECT SLICE_2I/Q1 SLICE_76I/B1 (1113:1276:1440)(1113:1276:1440)) + (INTERCONNECT SLICE_2I/Q1 SLICE_102I/D1 (882:979:1077)(882:979:1077)) + (INTERCONNECT SLICE_2I/Q1 SLICE_102I/D0 (882:979:1077)(882:979:1077)) + (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_2I/Q0 SLICE_47I/A1 (1446:1640:1835)(1446:1640:1835)) + (INTERCONNECT SLICE_2I/Q0 SLICE_76I/C1 (1247:1431:1615)(1247:1431:1615)) + (INTERCONNECT SLICE_2I/Q0 SLICE_102I/A1 (2137:2398:2659)(2137:2398:2659)) + (INTERCONNECT SLICE_2I/Q0 SLICE_102I/C0 (539:652:765)(539:652:765)) + (INTERCONNECT SLICE_2I/F1 SLICE_2I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/F0 SLICE_2I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_3I/Q1 SLICE_31I/C1 (543:680:817)(543:680:817)) + (INTERCONNECT SLICE_3I/Q1 SLICE_58I/C1 (543:680:817)(543:680:817)) + (INTERCONNECT SLICE_3I/Q1 SLICE_59I/A0 (742:889:1037)(742:889:1037)) + (INTERCONNECT SLICE_3I/Q1 SLICE_65I/D0 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3I/Q1 SLICE_70I/D1 (1244:1399:1555)(1244:1399:1555)) + (INTERCONNECT SLICE_3I/Q1 SLICE_71I/D0 (1619:1807:1995)(1619:1807:1995)) + (INTERCONNECT SLICE_3I/Q1 SLICE_72I/C1 (1256:1465:1675)(1256:1465:1675)) + (INTERCONNECT SLICE_3I/Q1 SLICE_75I/B1 (1814:2071:2329)(1814:2071:2329)) + (INTERCONNECT SLICE_3I/Q1 SLICE_79I/C1 (1256:1465:1675)(1256:1465:1675)) + (INTERCONNECT SLICE_3I/Q1 SLICE_82I/A1 (1444:1663:1882)(1444:1663:1882)) + (INTERCONNECT SLICE_3I/Q1 SLICE_83I/C0 (1630:1873:2116)(1630:1873:2116)) + (INTERCONNECT SLICE_3I/Q1 SLICE_84I/B1 (1384:1606:1828)(1384:1606:1828)) + (INTERCONNECT SLICE_3I/Q1 SLICE_86I/D0 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3I/Q1 SLICE_93I/C0 (815:987:1159)(815:987:1159)) + (INTERCONNECT SLICE_3I/Q1 SLICE_100I/D1 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3I/Q1 SLICE_100I/D0 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3I/Q1 SLICE_103I/A0 (1829:2082:2336)(1829:2082:2336)) + (INTERCONNECT SLICE_3I/Q1 SLICE_109I/A1 (1448:1668:1889)(1448:1668:1889)) + (INTERCONNECT SLICE_3I/Q1 SLICE_110I/A0 (1352:1571:1791)(1352:1571:1791)) + (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_3I/Q0 SLICE_31I/A1 (1101:1264:1427)(1101:1264:1427)) + (INTERCONNECT SLICE_3I/Q0 SLICE_58I/A1 (774:902:1030)(774:902:1030)) + (INTERCONNECT SLICE_3I/Q0 SLICE_65I/B1 (1981:2222:2464)(1981:2222:2464)) + (INTERCONNECT SLICE_3I/Q0 SLICE_67I/B1 (1518:1717:1916)(1518:1717:1916)) + (INTERCONNECT SLICE_3I/Q0 SLICE_70I/B1 (1986:2228:2470)(1986:2228:2470)) + (INTERCONNECT SLICE_3I/Q0 SLICE_71I/C0 (2483:2784:3085)(2483:2784:3085)) + (INTERCONNECT SLICE_3I/Q0 SLICE_72I/B1 (1191:1355:1519)(1191:1355:1519)) + (INTERCONNECT SLICE_3I/Q0 SLICE_78I/B0 (2366:2641:2916)(2366:2641:2916)) + (INTERCONNECT SLICE_3I/Q0 SLICE_79I/B1 (1191:1355:1519)(1191:1355:1519)) + (INTERCONNECT SLICE_3I/Q0 SLICE_80I/A1 (2281:2555:2830)(2281:2555:2830)) + (INTERCONNECT SLICE_3I/Q0 SLICE_82I/B1 (1657:1864:2071)(1657:1864:2071)) + (INTERCONNECT SLICE_3I/Q0 SLICE_83I/B0 (2693:3003:3313)(2693:3003:3313)) + (INTERCONNECT SLICE_3I/Q0 SLICE_84I/C1 (902:1054:1207)(902:1054:1207)) + (INTERCONNECT SLICE_3I/Q0 SLICE_86I/B0 (1981:2222:2464)(1981:2222:2464)) + (INTERCONNECT SLICE_3I/Q0 SLICE_93I/B0 (2730:3036:3343)(2730:3036:3343)) + (INTERCONNECT SLICE_3I/Q0 SLICE_99I/B1 (1529:1730:1931)(1529:1730:1931)) + (INTERCONNECT SLICE_3I/Q0 SLICE_99I/B0 (1529:1730:1931)(1529:1730:1931)) + (INTERCONNECT SLICE_3I/Q0 SLICE_100I/C1 (1667:1879:2091)(1667:1879:2091)) + (INTERCONNECT SLICE_3I/Q0 SLICE_103I/D1 (2472:2718:2964)(2472:2718:2964)) + (INTERCONNECT SLICE_3I/Q0 SLICE_103I/D0 (2472:2718:2964)(2472:2718:2964)) + (INTERCONNECT SLICE_3I/Q0 SLICE_110I/D0 (564:626:689)(564:626:689)) + (INTERCONNECT SLICE_3I/F1 SLICE_3I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/F0 SLICE_3I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_4I/Q1 SLICE_58I/B1 (771:903:1035)(771:903:1035)) + (INTERCONNECT SLICE_4I/Q1 SLICE_65I/B0 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4I/Q1 SLICE_70I/B0 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4I/Q1 SLICE_71I/B0 (1859:2096:2333)(1859:2096:2333)) + (INTERCONNECT SLICE_4I/Q1 SLICE_72I/D0 (1180:1312:1444)(1180:1312:1444)) + (INTERCONNECT SLICE_4I/Q1 SLICE_74I/B1 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4I/Q1 SLICE_78I/C1 (1976:2239:2502)(1976:2239:2502)) + (INTERCONNECT SLICE_4I/Q1 SLICE_80I/D1 (1574:1746:1918)(1574:1746:1918)) + (INTERCONNECT SLICE_4I/Q1 SLICE_81I/D1 (1965:2173:2381)(1965:2173:2381)) + (INTERCONNECT SLICE_4I/Q1 SLICE_82I/B0 (1433:1634:1835)(1433:1634:1835)) + (INTERCONNECT SLICE_4I/Q1 SLICE_83I/B1 (2207:2483:2759)(2207:2483:2759)) + (INTERCONNECT SLICE_4I/Q1 SLICE_86I/A1 (1784:2021:2259)(1784:2021:2259)) + (INTERCONNECT SLICE_4I/Q1 SLICE_87I/B0 (1433:1634:1835)(1433:1634:1835)) + (INTERCONNECT SLICE_4I/Q1 SLICE_99I/C1 (1165:1357:1550)(1165:1357:1550)) + (INTERCONNECT SLICE_4I/Q1 SLICE_99I/C0 (1165:1357:1550)(1165:1357:1550)) + (INTERCONNECT SLICE_4I/Q1 SLICE_100I/B1 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4I/Q1 SLICE_100I/B0 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4I/Q1 SLICE_102I/C1 (1566:1785:2005)(1566:1785:2005)) + (INTERCONNECT SLICE_4I/Q1 SLICE_110I/B1 (1058:1226:1395)(1058:1226:1395)) + (INTERCONNECT SLICE_4I/Q1 SLICE_110I/B0 (1058:1226:1395)(1058:1226:1395)) + (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_4I/Q0 SLICE_65I/A0 (1567:1770:1973)(1567:1770:1973)) + (INTERCONNECT SLICE_4I/Q0 SLICE_70I/C0 (1445:1632:1819)(1445:1632:1819)) + (INTERCONNECT SLICE_4I/Q0 SLICE_71I/A1 (2024:2254:2485)(2024:2254:2485)) + (INTERCONNECT SLICE_4I/Q0 SLICE_72I/C0 (1004:1165:1326)(1004:1165:1326)) + (INTERCONNECT SLICE_4I/Q0 SLICE_75I/D1 (993:1099:1205)(993:1099:1205)) + (INTERCONNECT SLICE_4I/Q0 SLICE_82I/D0 (1721:1890:2059)(1721:1890:2059)) + (INTERCONNECT SLICE_4I/Q0 SLICE_83I/A1 (2351:2616:2882)(2351:2616:2882)) + (INTERCONNECT SLICE_4I/Q0 SLICE_86I/D1 (1357:1494:1632)(1357:1494:1632)) + (INTERCONNECT SLICE_4I/Q0 SLICE_87I/D0 (1428:1559:1691)(1428:1559:1691)) + (INTERCONNECT SLICE_4I/Q0 SLICE_100I/A1 (1573:1776:1980)(1573:1776:1980)) + (INTERCONNECT SLICE_4I/Q0 SLICE_100I/A0 (1573:1776:1980)(1573:1776:1980)) + (INTERCONNECT SLICE_4I/Q0 SLICE_103I/B1 (2056:2289:2522)(2056:2289:2522)) + (INTERCONNECT SLICE_4I/Q0 SLICE_103I/B0 (2056:2289:2522)(2056:2289:2522)) + (INTERCONNECT SLICE_4I/Q0 SLICE_110I/C1 (546:662:779)(546:662:779)) + (INTERCONNECT SLICE_4I/F1 SLICE_4I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/F0 SLICE_4I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_5I/Q1 SLICE_65I/C1 (1364:1555:1746)(1364:1555:1746)) + (INTERCONNECT SLICE_5I/Q1 SLICE_70I/A0 (1665:1863:2062)(1665:1863:2062)) + (INTERCONNECT SLICE_5I/Q1 SLICE_71I/C1 (1830:2049:2269)(1830:2049:2269)) + (INTERCONNECT SLICE_5I/Q1 SLICE_72I/A0 (1199:1369:1539)(1199:1369:1539)) + (INTERCONNECT SLICE_5I/Q1 SLICE_74I/C1 (1466:1654:1842)(1466:1654:1842)) + (INTERCONNECT SLICE_5I/Q1 SLICE_78I/A1 (1665:1863:2062)(1665:1863:2062)) + (INTERCONNECT SLICE_5I/Q1 SLICE_80I/B1 (1697:1898:2099)(1697:1898:2099)) + (INTERCONNECT SLICE_5I/Q1 SLICE_81I/B1 (1697:1898:2099)(1697:1898:2099)) + (INTERCONNECT SLICE_5I/Q1 SLICE_83I/D1 (1455:1588:1721)(1455:1588:1721)) + (INTERCONNECT SLICE_5I/Q1 SLICE_85I/D0 (1353:1489:1625)(1353:1489:1625)) + (INTERCONNECT SLICE_5I/Q1 SLICE_86I/B1 (1595:1799:2003)(1595:1799:2003)) + (INTERCONNECT SLICE_5I/Q1 SLICE_87I/B1 (1042:1199:1356)(1042:1199:1356)) + (INTERCONNECT SLICE_5I/Q1 SLICE_99I/D1 (989:1093:1198)(989:1093:1198)) + (INTERCONNECT SLICE_5I/Q1 SLICE_99I/D0 (989:1093:1198)(989:1093:1198)) + (INTERCONNECT SLICE_5I/Q1 SLICE_100I/C0 (1175:1350:1526)(1175:1350:1526)) + (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_5I/Q0 SLICE_65I/A1 (1885:2121:2357)(1885:2121:2357)) + (INTERCONNECT SLICE_5I/Q0 SLICE_65I/C0 (1359:1549:1740)(1359:1549:1740)) + (INTERCONNECT SLICE_5I/Q0 SLICE_67I/C1 (1005:1165:1325)(1005:1165:1325)) + (INTERCONNECT SLICE_5I/Q0 SLICE_72I/B0 (1563:1771:1979)(1563:1771:1979)) + (INTERCONNECT SLICE_5I/Q0 SLICE_78I/B1 (1226:1398:1570)(1226:1398:1570)) + (INTERCONNECT SLICE_5I/Q0 SLICE_80I/C1 (1375:1567:1759)(1375:1567:1759)) + (INTERCONNECT SLICE_5I/Q0 SLICE_85I/A0 (1901:2138:2376)(1901:2138:2376)) + (INTERCONNECT SLICE_5I/Q0 SLICE_86I/C1 (1375:1567:1759)(1375:1567:1759)) + (INTERCONNECT SLICE_5I/Q0 SLICE_87I/D1 (796:890:985)(796:890:985)) + (INTERCONNECT SLICE_5I/Q0 SLICE_99I/A1 (1443:1639:1835)(1443:1639:1835)) + (INTERCONNECT SLICE_5I/Q0 SLICE_99I/A0 (1443:1639:1835)(1443:1639:1835)) + (INTERCONNECT SLICE_5I/Q0 SLICE_103I/C1 (1365:1556:1747)(1365:1556:1747)) + (INTERCONNECT SLICE_5I/Q0 SLICE_103I/C0 (1365:1556:1747)(1365:1556:1747)) + (INTERCONNECT SLICE_5I/Q0 SLICE_109I/C0 (1375:1567:1759)(1375:1567:1759)) + (INTERCONNECT SLICE_5I/F1 SLICE_5I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/F0 SLICE_5I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_6I/Q1 SLICE_96I/C1 (803:944:1086)(803:944:1086)) + (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_6I/Q0 SLICE_35I/A1 (1177:1341:1505)(1177:1341:1505)) + (INTERCONNECT SLICE_6I/F1 SLICE_6I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/F0 SLICE_6I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_7I/Q1 SLICE_96I/D1 (526:578:630)(526:578:630)) + (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_7I/Q0 SLICE_53I/C1 (871:1020:1170)(871:1020:1170)) + (INTERCONNECT SLICE_7I/F1 SLICE_7I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/F0 SLICE_7I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_8I/Q1 SLICE_53I/A1 (743:868:993)(743:868:993)) + (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_8I/Q0 SLICE_35I/D1 (1223:1345:1467)(1223:1345:1467)) + (INTERCONNECT SLICE_8I/F1 SLICE_8I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/F0 SLICE_8I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/Q1 SLICE_9I/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_9I/Q1 SLICE_53I/B1 (1102:1264:1427)(1102:1264:1427)) + (INTERCONNECT SLICE_9I/Q0 SLICE_9I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_9I/Q0 SLICE_96I/A1 (736:853:971)(736:853:971)) + (INTERCONNECT SLICE_9I/F1 SLICE_9I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_101I/F1 SLICE_10I/D1 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_94I/F0 SLICE_10I/C1 (911:1055:1200)(911:1055:1200)) + (INTERCONNECT SLICE_94I/F0 SLICE_90I/C0 (1275:1451:1627)(1275:1451:1627)) + (INTERCONNECT SLICE_91I/F0 SLICE_10I/B1 (777:908:1040)(777:908:1040)) + (INTERCONNECT SLICE_91I/F0 SLICE_90I/B1 (767:894:1021)(767:894:1021)) + (INTERCONNECT SLICE_91I/F0 SLICE_91I/C1 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_104I/F0 SLICE_10I/A1 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_10I/F1 SLICE_10I/D0 (523:579:635)(523:579:635)) + (INTERCONNECT SLICE_10I/F1 SLICE_17I/B0 (775:903:1032)(775:903:1032)) + (INTERCONNECT SLICE_91I/F1 SLICE_10I/C0 (537:645:753)(537:645:753)) + (INTERCONNECT SLICE_91I/F1 SLICE_11I/A0 (479:572:665)(479:572:665)) + (INTERCONNECT SLICE_11I/F1 SLICE_10I/B0 (770:894:1018)(770:894:1018)) + (INTERCONNECT SLICE_11I/F1 SLICE_11I/C0 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_11I/F1 SLICE_17I/M0 (490:537:585)(490:537:585)) + (INTERCONNECT SLICE_10I/Q0 SLICE_10I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_10I/Q0 SLICE_17I/D1 (860:954:1049)(860:954:1049)) + (INTERCONNECT SLICE_10I/F0 SLICE_10I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_10I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_11I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_17I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_18I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_23I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_24I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_25I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_46I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2I/PADDI PHI2_MGIOLI/DI (424:441:459)(424:441:459)) + (INTERCONNECT PHI2I/PADDI RA_11_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_7_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_6_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_5_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_4_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_3_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_2_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_1_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2I/PADDI Din_0_MGIOLI/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT SLICE_92I/F0 SLICE_11I/D1 (269:296:324)(269:296:324)) + (INTERCONNECT SLICE_92I/F0 SLICE_90I/A1 (1081:1244:1407)(1081:1244:1407)) + (INTERCONNECT SLICE_92I/F0 SLICE_91I/A1 (1081:1244:1407)(1081:1244:1407)) + (INTERCONNECT SLICE_104I/F1 SLICE_11I/C1 (975:1126:1278)(975:1126:1278)) + (INTERCONNECT SLICE_90I/F0 SLICE_11I/B1 (769:899:1029)(769:899:1029)) + (INTERCONNECT SLICE_90I/F0 SLICE_24I/B1 (774:907:1040)(774:907:1040)) + (INTERCONNECT SLICE_90I/F0 SLICE_73I/D0 (532:597:662)(532:597:662)) + (INTERCONNECT SLICE_90I/F0 SLICE_90I/C1 (284:372:461)(284:372:461)) + (INTERCONNECT SLICE_90I/F0 SLICE_91I/B1 (515:616:718)(515:616:718)) + (INTERCONNECT SLICE_106I/F0 SLICE_11I/A1 (733:848:964)(733:848:964)) + (INTERCONNECT SLICE_11I/Q0 SLICE_11I/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_11I/Q0 SLICE_17I/C0 (1234:1411:1588)(1234:1411:1588)) + (INTERCONNECT SLICE_11I/F0 SLICE_11I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_12I/A0 (3665:4068:4471)(3665:4068:4471)) + (INTERCONNECT nCCASI/PADDI SLICE_26I/C1 (3200:3558:3916)(3200:3558:3916)) + (INTERCONNECT nCCASI/PADDI RD_0_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_7_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_6_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_5_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_4_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_3_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_2_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCASI/PADDI RD_1_MGIOLI/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT SLICE_12I/F0 SLICE_12I/DI0 (3:6:9)(3:6:9)) + (INTERCONNECT SLICE_12I/F0 SLICE_105I/M0 (499:545:592)(499:545:592)) + (INTERCONNECT SLICE_12I/F0 SLICE_105I/M1 (499:545:592)(499:545:592)) + (INTERCONNECT SLICE_12I/Q0 SLICE_12I/M1 (485:526:568)(485:526:568)) + (INTERCONNECT SLICE_12I/Q1 SLICE_88I/C0 (919:1066:1213)(919:1066:1213)) + (INTERCONNECT SLICE_12I/Q1 SLICE_98I/A1 (1445:1637:1830)(1445:1637:1830)) + (INTERCONNECT SLICE_12I/Q1 SLICE_106I/M0 (488:531:575)(488:531:575)) + (INTERCONNECT SLICE_12I/Q1 SLICE_117I/A0 (1482:1671:1860)(1482:1671:1860)) + (INTERCONNECT SLICE_16I/Q0 SLICE_16I/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_16I/Q0 SLICE_16I/D0 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_16I/Q0 SLICE_45I/C0 (813:959:1105)(813:959:1105)) + (INTERCONNECT SLICE_16I/Q0 SLICE_48I/A0 (743:876:1010)(743:876:1010)) + (INTERCONNECT SLICE_16I/Q0 SLICE_63I/C1 (559:677:795)(559:677:795)) + (INTERCONNECT SLICE_16I/Q0 SLICE_69I/A0 (743:876:1010)(743:876:1010)) + (INTERCONNECT SLICE_16I/Q0 SLICE_88I/D0 (537:600:664)(537:600:664)) + (INTERCONNECT SLICE_16I/Q0 SLICE_98I/B1 (1371:1565:1759)(1371:1565:1759)) + (INTERCONNECT SLICE_16I/Q0 SLICE_117I/C0 (544:667:790)(544:667:790)) + (INTERCONNECT SLICE_30I/Q0 SLICE_16I/C1 (550:665:780)(550:665:780)) + (INTERCONNECT SLICE_30I/Q0 SLICE_28I/B1 (1215:1382:1549)(1215:1382:1549)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/D0 (973:1072:1171)(973:1072:1171)) + (INTERCONNECT SLICE_30I/Q0 SLICE_77I/C1 (550:665:780)(550:665:780)) + (INTERCONNECT SLICE_34I/Q1 SLICE_16I/B1 (1602:1805:2009)(1602:1805:2009)) + (INTERCONNECT SLICE_34I/Q1 SLICE_16I/LSR (1706:1880:2055)(1706:1880:2055)) + (INTERCONNECT SLICE_34I/Q1 SLICE_35I/M0 (1097:1211:1325)(1097:1211:1325)) + (INTERCONNECT SLICE_34I/Q1 SLICE_36I/C1 (1735:1957:2179)(1735:1957:2179)) + (INTERCONNECT SLICE_34I/Q1 SLICE_37I/D0 (1132:1257:1383)(1132:1257:1383)) + (INTERCONNECT SLICE_34I/Q1 SLICE_45I/A1 (1010:1164:1319)(1010:1164:1319)) + (INTERCONNECT SLICE_34I/Q1 SLICE_45I/LSR (1146:1274:1402)(1146:1274:1402)) + (INTERCONNECT SLICE_34I/Q1 SLICE_63I/A1 (1570:1771:1972)(1570:1771:1972)) + (INTERCONNECT SLICE_34I/Q1 SLICE_64I/C0 (991:1148:1306)(991:1148:1306)) + (INTERCONNECT SLICE_34I/Q1 SLICE_69I/A1 (1184:1351:1519)(1184:1351:1519)) + (INTERCONNECT SLICE_45I/Q0 SLICE_16I/A1 (1028:1196:1364)(1028:1196:1364)) + (INTERCONNECT SLICE_45I/Q0 SLICE_16I/A0 (1028:1196:1364)(1028:1196:1364)) + (INTERCONNECT SLICE_45I/Q0 SLICE_45I/D0 (536:595:654)(536:595:654)) + (INTERCONNECT SLICE_45I/Q0 SLICE_48I/D0 (1193:1328:1463)(1193:1328:1463)) + (INTERCONNECT SLICE_45I/Q0 SLICE_63I/D1 (818:920:1023)(818:920:1023)) + (INTERCONNECT SLICE_45I/Q0 SLICE_63I/D0 (818:920:1023)(818:920:1023)) + (INTERCONNECT SLICE_45I/Q0 SLICE_66I/D1 (531:597:663)(531:597:663)) + (INTERCONNECT SLICE_45I/Q0 SLICE_66I/D0 (531:597:663)(531:597:663)) + (INTERCONNECT SLICE_45I/Q0 SLICE_69I/B0 (770:892:1014)(770:892:1014)) + (INTERCONNECT SLICE_45I/Q0 SLICE_98I/D1 (536:595:654)(536:595:654)) + (INTERCONNECT SLICE_45I/Q0 SLICE_117I/D1 (1193:1328:1463)(1193:1328:1463)) + (INTERCONNECT SLICE_45I/Q0 SLICE_117I/D0 (1193:1328:1463)(1193:1328:1463)) + (INTERCONNECT SLICE_16I/F0 SLICE_16I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16I/F1 SLICE_38I/B0 (768:889:1010)(768:889:1010)) + (INTERCONNECT SLICE_16I/F1 SLICE_39I/B1 (775:903:1032)(775:903:1032)) + (INTERCONNECT SLICE_17I/Q0 SLICE_17I/B1 (767:892:1017)(767:892:1017)) + (INTERCONNECT SLICE_17I/Q0 SLICE_17I/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_17I/Q0 SLICE_24I/C1 (541:656:771)(541:656:771)) + (INTERCONNECT SLICE_17I/Q0 SLICE_73I/A0 (740:865:991)(740:865:991)) + (INTERCONNECT SLICE_90I/F1 SLICE_17I/D0 (266:290:315)(266:290:315)) + (INTERCONNECT SLICE_17I/OFX0 SLICE_17I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23I/F1 SLICE_18I/D1 (532:597:662)(532:597:662)) + (INTERCONNECT SLICE_23I/F1 SLICE_20I/B0 (515:616:718)(515:616:718)) + (INTERCONNECT SLICE_23I/F1 SLICE_21I/B0 (790:924:1058)(790:924:1058)) + (INTERCONNECT SLICE_23I/F1 SLICE_22I/B0 (790:924:1058)(790:924:1058)) + (INTERCONNECT SLICE_23I/F1 SLICE_23I/B0 (790:924:1058)(790:924:1058)) + (INTERCONNECT SLICE_23I/F1 SLICE_24I/A0 (483:582:681)(483:582:681)) + (INTERCONNECT SLICE_23I/F1 SLICE_25I/D1 (532:597:662)(532:597:662)) + (INTERCONNECT Din_1_I/PADDI SLICE_18I/C1 (1536:1702:1869)(1536:1702:1869)) + (INTERCONNECT Din_1_I/PADDI SLICE_20I/C0 (1916:2115:2315)(1916:2115:2315)) + (INTERCONNECT Din_1_I/PADDI SLICE_21I/D0 (1905:2049:2194)(1905:2049:2194)) + (INTERCONNECT Din_1_I/PADDI SLICE_22I/A1 (2115:2325:2535)(2115:2325:2535)) + (INTERCONNECT Din_1_I/PADDI SLICE_46I/C1 (2656:2919:3183)(2656:2919:3183)) + (INTERCONNECT Din_1_I/PADDI SLICE_104I/C1 (3353:3683:4014)(3353:3683:4014)) + (INTERCONNECT Din_1_I/PADDI SLICE_104I/A0 (3225:3531:3837)(3225:3531:3837)) + (INTERCONNECT Din_1_I/PADDI RD_1_MGIOLI/OPOS (3120:3370:3621)(3120:3370:3621)) + (INTERCONNECT Din_1_I/PADDI Din_1_MGIOLI/DI (544:554:565)(544:554:565)) + (INTERCONNECT SLICE_18I/Q0 SLICE_18I/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_18I/Q0 SLICE_32I/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_18I/F1 SLICE_18I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_73I/F1 SLICE_18I/B0 (1044:1206:1368)(1044:1206:1368)) + (INTERCONNECT SLICE_73I/F1 SLICE_20I/D0 (891:997:1103)(891:997:1103)) + (INTERCONNECT SLICE_73I/F1 SLICE_21I/C0 (881:1038:1195)(881:1038:1195)) + (INTERCONNECT SLICE_73I/F1 SLICE_22I/D0 (891:997:1103)(891:997:1103)) + (INTERCONNECT SLICE_73I/F1 SLICE_23I/D0 (891:997:1103)(891:997:1103)) + (INTERCONNECT SLICE_73I/F1 SLICE_24I/D0 (273:306:340)(273:306:340)) + (INTERCONNECT SLICE_73I/F1 SLICE_25I/D0 (1129:1258:1387)(1129:1258:1387)) + (INTERCONNECT SLICE_73I/F1 SLICE_73I/B0 (769:899:1029)(769:899:1029)) + (INTERCONNECT SLICE_32I/Q0 SLICE_18I/A0 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_32I/Q0 SLICE_34I/C1 (809:951:1093)(809:951:1093)) + (INTERCONNECT SLICE_32I/Q0 SLICE_46I/A1 (1008:1160:1313)(1008:1160:1313)) + (INTERCONNECT SLICE_18I/F0 SLICE_18I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24I/F1 SLICE_18I/CE (945:1046:1148)(945:1046:1148)) + (INTERCONNECT SLICE_24I/F1 SLICE_20I/CE (575:644:714)(575:644:714)) + (INTERCONNECT SLICE_24I/F1 SLICE_21I/CE (575:644:714)(575:644:714)) + (INTERCONNECT SLICE_24I/F1 SLICE_22I/CE (575:644:714)(575:644:714)) + (INTERCONNECT SLICE_24I/F1 SLICE_23I/C0 (567:687:808)(567:687:808)) + (INTERCONNECT SLICE_24I/F1 SLICE_24I/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_24I/F1 SLICE_25I/CE (945:1046:1148)(945:1046:1148)) + (INTERCONNECT SLICE_24I/F1 SLICE_46I/CE (544:607:670)(544:607:670)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_20I/Q0 wb_cyc_stb_RNO_SLICE_61I/B1 (770:892:1014) + (770:892:1014)) + (INTERCONNECT SLICE_20I/Q0 SLICE_95I/C0 (539:648:757)(539:648:757)) + (INTERCONNECT SLICE_20I/F0 SLICE_20I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/Q0 SLICE_21I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_21I/Q0 SLICE_97I/B0 (775:902:1030)(775:902:1030)) + (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_22I/C1 (2041:2255:2470)(2041:2255:2470)) + (INTERCONNECT Din_0_I/PADDI SLICE_25I/C1 (1590:1776:1963)(1590:1776:1963)) + (INTERCONNECT Din_0_I/PADDI SLICE_46I/B1 (2653:2913:3174)(2653:2913:3174)) + (INTERCONNECT Din_0_I/PADDI SLICE_73I/M0 (2703:2919:3135)(2703:2919:3135)) + (INTERCONNECT Din_0_I/PADDI SLICE_104I/D1 (3164:3436:3708)(3164:3436:3708)) + (INTERCONNECT Din_0_I/PADDI SLICE_104I/C0 (2848:3140:3432)(2848:3140:3432)) + (INTERCONNECT Din_0_I/PADDI RD_0_MGIOLI/OPOS (2849:3087:3325)(2849:3087:3325)) + (INTERCONNECT Din_0_I/PADDI Din_0_MGIOLI/DI (424:441:459)(424:441:459)) + (INTERCONNECT SLICE_22I/F1 SLICE_22I/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_22I/Q0 wb_cyc_stb_RNO_SLICE_61I/C1 (544:658:773)(544:658:773)) + (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_23I/D1 (1994:2141:2289)(1994:2141:2289)) + (INTERCONNECT Din_4_I/PADDI SLICE_101I/C1 (2349:2589:2829)(2349:2589:2829)) + (INTERCONNECT Din_4_I/PADDI SLICE_101I/C0 (2349:2589:2829)(2349:2589:2829)) + (INTERCONNECT Din_4_I/PADDI SLICE_106I/A0 (2950:3227:3505)(2950:3227:3505)) + (INTERCONNECT Din_4_I/PADDI SLICE_116I/B0 (2612:2860:3108)(2612:2860:3108)) + (INTERCONNECT Din_4_I/PADDI RD_4_MGIOLI/OPOS (4276:4628:4981)(4276:4628:4981)) + (INTERCONNECT Din_4_I/PADDI Din_4_MGIOLI/DI (544:554:565)(544:554:565)) + (INTERCONNECT Din_7_I/PADDI SLICE_23I/C1 (2329:2578:2828)(2329:2578:2828)) + (INTERCONNECT Din_7_I/PADDI SLICE_73I/D1 (2645:2874:3104)(2645:2874:3104)) + (INTERCONNECT Din_7_I/PADDI SLICE_101I/D1 (3020:3283:3546)(3020:3283:3546)) + (INTERCONNECT Din_7_I/PADDI SLICE_101I/D0 (3020:3283:3546)(3020:3283:3546)) + (INTERCONNECT Din_7_I/PADDI SLICE_106I/C0 (2699:2980:3262)(2699:2980:3262)) + (INTERCONNECT Din_7_I/PADDI RD_7_MGIOLI/OPOS (3911:4259:4607)(3911:4259:4607)) + (INTERCONNECT Din_7_I/PADDI Din_7_MGIOLI/DI (424:441:459)(424:441:459)) + (INTERCONNECT Din_5_I/PADDI SLICE_23I/B1 (1882:2067:2252)(1882:2067:2252)) + (INTERCONNECT Din_5_I/PADDI SLICE_73I/A1 (2214:2428:2642)(2214:2428:2642)) + (INTERCONNECT Din_5_I/PADDI SLICE_101I/A1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT Din_5_I/PADDI SLICE_101I/A0 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT Din_5_I/PADDI SLICE_104I/A1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT Din_5_I/PADDI RD_5_MGIOLI/OPOS (2982:3212:3442)(2982:3212:3442)) + (INTERCONNECT Din_5_I/PADDI Din_5_MGIOLI/DI (544:554:565)(544:554:565)) + (INTERCONNECT Din_6_I/PADDI SLICE_23I/A1 (2235:2458:2682)(2235:2458:2682)) + (INTERCONNECT Din_6_I/PADDI SLICE_101I/B0 (2734:2989:3245)(2734:2989:3245)) + (INTERCONNECT Din_6_I/PADDI SLICE_104I/B1 (2734:2989:3245)(2734:2989:3245)) + (INTERCONNECT Din_6_I/PADDI SLICE_104I/B0 (2734:2989:3245)(2734:2989:3245)) + (INTERCONNECT Din_6_I/PADDI SLICE_116I/D1 (3641:3936:4231)(3641:3936:4231)) + (INTERCONNECT Din_6_I/PADDI SLICE_116I/A0 (3072:3357:3642)(3072:3357:3642)) + (INTERCONNECT Din_6_I/PADDI RD_6_MGIOLI/OPOS (3403:3658:3913)(3403:3658:3913)) + (INTERCONNECT Din_6_I/PADDI Din_6_MGIOLI/DI (424:441:459)(424:441:459)) + (INTERCONNECT SLICE_23I/F0 SLICE_23I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23I/Q0 SLICE_59I/B1 (1110:1271:1433)(1110:1271:1433)) + (INTERCONNECT SLICE_23I/Q0 wb_cyc_stb_RNO_SLICE_61I/D1 (541:599:658)(541:599:658)) + (INTERCONNECT SLICE_23I/Q0 SLICE_95I/D0 (541:599:658)(541:599:658)) + (INTERCONNECT SLICE_105I/F0 SLICE_24I/A1 (751:875:999)(751:875:999)) + (INTERCONNECT SLICE_105I/F0 SLICE_73I/C0 (879:1027:1176)(879:1027:1176)) + (INTERCONNECT SLICE_105I/F0 SLICE_90I/D1 (868:961:1055)(868:961:1055)) + (INTERCONNECT SLICE_24I/F0 SLICE_24I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24I/Q0 SLICE_62I/B1 (1105:1266:1427)(1105:1266:1427)) + (INTERCONNECT SLICE_24I/Q0 SLICE_97I/D0 (1227:1351:1476)(1227:1351:1476)) + (INTERCONNECT SLICE_25I/Q0 SLICE_25I/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_25I/Q0 SLICE_47I/A0 (736:853:971)(736:853:971)) + (INTERCONNECT SLICE_47I/Q0 SLICE_25I/C0 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_47I/Q0 SLICE_116I/C1 (1233:1414:1595)(1233:1414:1595)) + (INTERCONNECT SLICE_25I/F1 SLICE_25I/B0 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_25I/F0 SLICE_25I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_26I/D1 (2286:2472:2659)(2286:2472:2659)) + (INTERCONNECT nFWEI/PADDI SLICE_26I/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT nFWEI/PADDI SLICE_92I/D0 (1851:2013:2175)(1851:2013:2175)) + (INTERCONNECT nFWEI/PADDI SLICE_105I/D1 (1851:2013:2175)(1851:2013:2175)) + (INTERCONNECT nFWEI/PADDI SLICE_105I/B0 (2082:2310:2538)(2082:2310:2538)) + (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (3:6:9)(3:6:9)) + (INTERCONNECT SLICE_26I/F0 SLICE_108I/M0 (1515:1661:1808)(1515:1661:1808)) + (INTERCONNECT nCRASI/PADDI SLICE_26I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_34I/D1 (3175:3429:3683)(3175:3429:3683)) + (INTERCONNECT nCRASI/PADDI SLICE_34I/D0 (3175:3429:3683)(3175:3429:3683)) + (INTERCONNECT nCRASI/PADDI SLICE_40I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_40I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_41I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_41I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_42I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_42I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_43I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_43I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_44I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_44I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_105I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_105I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI SLICE_108I/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRASI/PADDI RBA_1_MGIOLI/CLK (3072:3306:3541)(3072:3306:3541)) + (INTERCONNECT nCRASI/PADDI RBA_0_MGIOLI/CLK (3072:3306:3541)(3072:3306:3541)) + (INTERCONNECT SLICE_26I/Q0 SLICE_48I/C1 (984:1138:1292)(984:1138:1292)) + (INTERCONNECT SLICE_26I/Q0 SLICE_98I/D0 (523:578:633)(523:578:633)) + (INTERCONNECT SLICE_26I/Q0 SLICE_117I/B0 (1215:1382:1549)(1215:1382:1549)) + (INTERCONNECT SLICE_26I/F1 RD_0_I/PADDT (950:1056:1162)(950:1056:1162)) + (INTERCONNECT SLICE_26I/F1 RD_7_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26I/F1 RD_6_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26I/F1 RD_5_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26I/F1 RD_4_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26I/F1 RD_3_I/PADDT (675:751:828)(675:751:828)) + (INTERCONNECT SLICE_26I/F1 RD_2_I/PADDT (675:751:828)(675:751:828)) + (INTERCONNECT SLICE_26I/F1 RD_1_I0/PADDT (950:1056:1162)(950:1056:1162)) + (INTERCONNECT SLICE_28I/Q0 SLICE_28I/D1 (538:599:660)(538:599:660)) + (INTERCONNECT SLICE_28I/Q0 SLICE_28I/D0 (538:599:660)(538:599:660)) + (INTERCONNECT SLICE_28I/Q0 SLICE_29I/C1 (543:660:777)(543:660:777)) + (INTERCONNECT SLICE_28I/Q0 SLICE_29I/C0 (543:660:777)(543:660:777)) + (INTERCONNECT SLICE_28I/Q0 SLICE_30I/C0 (886:1040:1195)(886:1040:1195)) + (INTERCONNECT SLICE_28I/Q0 SLICE_38I/C1 (559:678:798)(559:678:798)) + (INTERCONNECT SLICE_28I/Q0 SLICE_68I/B0 (1524:1720:1916)(1524:1720:1916)) + (INTERCONNECT SLICE_28I/Q0 SLICE_77I/A0 (1492:1685:1879)(1492:1685:1879)) + (INTERCONNECT SLICE_28I/Q0 SLICE_108I/B1 (772:896:1020)(772:896:1020)) + (INTERCONNECT SLICE_38I/Q0 SLICE_28I/C1 (559:678:798)(559:678:798)) + (INTERCONNECT SLICE_38I/Q0 SLICE_28I/C0 (559:678:798)(559:678:798)) + (INTERCONNECT SLICE_38I/Q0 SLICE_36I/D1 (906:1009:1113)(906:1009:1113)) + (INTERCONNECT SLICE_38I/Q0 SLICE_36I/A0 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38I/Q0 SLICE_38I/A0 (483:579:675)(483:579:675)) + (INTERCONNECT SLICE_38I/Q0 SLICE_39I/A1 (737:861:986)(737:861:986)) + (INTERCONNECT SLICE_38I/Q0 SLICE_45I/B1 (1174:1340:1506)(1174:1340:1506)) + (INTERCONNECT SLICE_38I/Q0 SLICE_48I/A1 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38I/Q0 SLICE_48I/C0 (906:1062:1219)(906:1062:1219)) + (INTERCONNECT SLICE_38I/Q0 SLICE_63I/A0 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38I/Q0 SLICE_64I/D1 (1266:1401:1537)(1266:1401:1537)) + (INTERCONNECT SLICE_38I/Q0 SLICE_64I/D0 (1266:1401:1537)(1266:1401:1537)) + (INTERCONNECT SLICE_38I/Q0 SLICE_68I/A1 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38I/Q0 SLICE_69I/D0 (906:1009:1113)(906:1009:1113)) + (INTERCONNECT SLICE_38I/Q0 SLICE_88I/A1 (1128:1290:1452)(1128:1290:1452)) + (INTERCONNECT SLICE_38I/Q0 SLICE_108I/D0 (1266:1401:1537)(1266:1401:1537)) + (INTERCONNECT SLICE_63I/F1 SLICE_28I/A1 (1014:1176:1339)(1014:1176:1339)) + (INTERCONNECT SLICE_63I/F1 SLICE_28I/A0 (1014:1176:1339)(1014:1176:1339)) + (INTERCONNECT SLICE_63I/F1 SLICE_63I/C0 (286:377:469)(286:377:469)) + (INTERCONNECT SLICE_63I/F1 SLICE_68I/A0 (485:587:689)(485:587:689)) + (INTERCONNECT SLICE_63I/F1 SLICE_77I/C0 (540:660:780)(540:660:780)) + (INTERCONNECT SLICE_63I/F1 SLICE_108I/D1 (872:977:1082)(872:977:1082)) + (INTERCONNECT SLICE_63I/F1 SLICE_108I/C0 (556:681:806)(556:681:806)) + (INTERCONNECT SLICE_28I/F0 SLICE_28I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28I/F1 RA_10_MGIOLI/LSR (1427:1573:1720)(1427:1573:1720)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (483:579:675)(483:579:675)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/B0 (769:896:1023)(769:896:1023)) + (INTERCONNECT SLICE_29I/Q0 SLICE_38I/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_29I/Q0 SLICE_68I/C0 (881:1035:1189)(881:1035:1189)) + (INTERCONNECT SLICE_29I/Q0 SLICE_77I/D1 (543:607:671)(543:607:671)) + (INTERCONNECT SLICE_29I/Q1 SLICE_29I/A1 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_29I/Q1 SLICE_30I/A1 (756:882:1009)(756:882:1009)) + (INTERCONNECT SLICE_29I/Q1 SLICE_30I/A0 (756:882:1009)(756:882:1009)) + (INTERCONNECT SLICE_29I/Q1 SLICE_38I/A1 (756:882:1009)(756:882:1009)) + (INTERCONNECT SLICE_29I/Q1 SLICE_68I/D0 (530:590:650)(530:590:650)) + (INTERCONNECT SLICE_29I/Q1 SLICE_77I/B1 (772:900:1028)(772:900:1028)) + (INTERCONNECT SLICE_29I/F1 SLICE_29I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108I/F0 SLICE_29I/CE (1146:1271:1397)(1146:1271:1397)) + (INTERCONNECT SLICE_108I/F0 SLICE_29I/CE (1146:1271:1397)(1146:1271:1397)) + (INTERCONNECT SLICE_108I/F0 SLICE_30I/CE (1146:1271:1397)(1146:1271:1397)) + (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F1 RA_10_MGIOLI/OPOS (1408:1550:1693)(1408:1550:1693)) + (INTERCONNECT SLICE_71I/F1 SLICE_31I/D1 (794:887:981)(794:887:981)) + (INTERCONNECT SLICE_71I/F1 SLICE_71I/A0 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_71I/F1 SLICE_110I/C0 (539:653:767)(539:653:767)) + (INTERCONNECT SLICE_102I/F1 SLICE_31I/B1 (772:897:1023)(772:897:1023)) + (INTERCONNECT SLICE_31I/F1 SLICE_31I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (489:591:693)(489:591:693)) + (INTERCONNECT SLICE_31I/Q0 SLICE_32I/D0 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31I/Q0 SLICE_36I/B1 (1481:1681:1882)(1481:1681:1882)) + (INTERCONNECT SLICE_31I/Q0 SLICE_38I/D0 (1609:1773:1938)(1609:1773:1938)) + (INTERCONNECT SLICE_31I/Q0 SLICE_39I/D1 (1609:1773:1938)(1609:1773:1938)) + (INTERCONNECT SLICE_31I/Q0 SLICE_47I/D1 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31I/Q0 SLICE_47I/D0 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31I/Q0 SLICE_49I/B1 (1591:1799:2007)(1591:1799:2007)) + (INTERCONNECT SLICE_31I/Q0 SLICE_49I/B0 (1591:1799:2007)(1591:1799:2007)) + (INTERCONNECT SLICE_31I/Q0 SLICE_50I/A1 (1559:1764:1970)(1559:1764:1970)) + (INTERCONNECT SLICE_31I/Q0 SLICE_50I/A0 (1559:1764:1970)(1559:1764:1970)) + (INTERCONNECT SLICE_31I/Q0 SLICE_51I/C1 (1360:1555:1750)(1360:1555:1750)) + (INTERCONNECT SLICE_31I/Q0 SLICE_51I/C0 (1360:1555:1750)(1360:1555:1750)) + (INTERCONNECT SLICE_31I/Q0 SLICE_52I/D1 (1349:1489:1629)(1349:1489:1629)) + (INTERCONNECT SLICE_31I/Q0 SLICE_52I/D0 (1349:1489:1629)(1349:1489:1629)) + (INTERCONNECT SLICE_31I/Q0 SLICE_54I/B0 (816:956:1097)(816:956:1097)) + (INTERCONNECT SLICE_31I/Q0 SLICE_55I/A0 (1159:1329:1500)(1159:1329:1500)) + (INTERCONNECT SLICE_31I/Q0 SLICE_56I/C1 (960:1120:1280)(960:1120:1280)) + (INTERCONNECT SLICE_31I/Q0 SLICE_56I/C0 (960:1120:1280)(960:1120:1280)) + (INTERCONNECT SLICE_31I/Q0 SLICE_59I/C1 (555:677:799)(555:677:799)) + (INTERCONNECT SLICE_31I/Q0 SLICE_60I/B0 (816:956:1097)(816:956:1097)) + (INTERCONNECT SLICE_31I/Q0 wb_cyc_stb_RNO_SLICE_61I/M0 (866:965:1064) + (866:965:1064)) + (INTERCONNECT SLICE_31I/Q0 SLICE_62I/A1 (1111:1287:1463)(1111:1287:1463)) + (INTERCONNECT SLICE_31I/Q0 SLICE_62I/A0 (1111:1287:1463)(1111:1287:1463)) + (INTERCONNECT SLICE_31I/Q0 SLICE_63I/B1 (1546:1757:1969)(1546:1757:1969)) + (INTERCONNECT SLICE_31I/Q0 SLICE_74I/B0 (1555:1759:1964)(1555:1759:1964)) + (INTERCONNECT SLICE_31I/Q0 SLICE_75I/A0 (784:922:1060)(784:922:1060)) + (INTERCONNECT SLICE_31I/Q0 SLICE_76I/D1 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31I/Q0 SLICE_79I/D0 (574:646:719)(574:646:719)) + (INTERCONNECT SLICE_31I/Q0 SLICE_81I/D0 (949:1054:1159)(949:1054:1159)) + (INTERCONNECT SLICE_31I/Q0 SLICE_89I/D0 (536:598:660)(536:598:660)) + (INTERCONNECT SLICE_31I/Q0 SLICE_95I/A0 (1111:1287:1463)(1111:1287:1463)) + (INTERCONNECT SLICE_31I/Q0 SLICE_97I/C0 (555:677:799)(555:677:799)) + (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb_EFBInst_0I/WBDATO1 SLICE_32I/A0 (1806:2010:2215) + (1806:2010:2215)) + (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F1 SLICE_32I/CE (1138:1264:1391)(1138:1264:1391)) + (INTERCONNECT SLICE_62I/F1 SLICE_47I/CE (879:978:1078)(879:978:1078)) + (INTERCONNECT SLICE_105I/Q0 SLICE_34I/A1 (1113:1270:1427)(1113:1270:1427)) + (INTERCONNECT SLICE_105I/Q0 SLICE_36I/D0 (866:961:1056)(866:961:1056)) + (INTERCONNECT SLICE_105I/Q0 SLICE_48I/B1 (1108:1271:1434)(1108:1271:1434)) + (INTERCONNECT SLICE_105I/Q0 SLICE_66I/A1 (1113:1270:1427)(1113:1270:1427)) + (INTERCONNECT SLICE_34I/F0 SLICE_34I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34I/Q0 SLICE_34I/M1 (488:531:575)(488:531:575)) + (INTERCONNECT SLICE_34I/Q0 SLICE_37I/B0 (775:902:1030)(775:902:1030)) + (INTERCONNECT SLICE_34I/F1 LEDI/PADDO (936:1038:1140)(936:1038:1140)) + (INTERCONNECT SLICE_42I/Q0 SLICE_35I/D0 (530:587:645)(530:587:645)) + (INTERCONNECT MAin_4_I/PADDI SLICE_35I/C0 (1975:2181:2387)(1975:2181:2387)) + (INTERCONNECT MAin_4_I/PADDI SLICE_42I/C0 (2339:2576:2814)(2339:2576:2814)) + (INTERCONNECT MAin_4_I/PADDI SLICE_92I/D1 (2692:2906:3120)(2692:2906:3120)) + (INTERCONNECT MAin_4_I/PADDI SLICE_111I/D0 (2291:2477:2663)(2291:2477:2663)) + (INTERCONNECT SLICE_48I/Q0 SLICE_35I/A0 (1183:1347:1512)(1183:1347:1512)) + (INTERCONNECT SLICE_48I/Q0 SLICE_107I/C1 (999:1154:1310)(999:1154:1310)) + (INTERCONNECT SLICE_48I/Q0 SLICE_107I/C0 (999:1154:1310)(999:1154:1310)) + (INTERCONNECT SLICE_48I/Q0 SLICE_111I/B1 (1590:1789:1989)(1590:1789:1989)) + (INTERCONNECT SLICE_48I/Q0 SLICE_112I/C1 (999:1154:1310)(999:1154:1310)) + (INTERCONNECT SLICE_48I/Q0 SLICE_112I/D0 (1315:1450:1586)(1315:1450:1586)) + (INTERCONNECT SLICE_48I/Q0 SLICE_113I/A1 (1568:1766:1964)(1568:1766:1964)) + (INTERCONNECT SLICE_48I/Q0 SLICE_113I/A0 (1568:1766:1964)(1568:1766:1964)) + (INTERCONNECT SLICE_48I/Q0 SLICE_114I/A1 (1906:2142:2378)(1906:2142:2378)) + (INTERCONNECT SLICE_48I/Q0 SLICE_114I/A0 (1906:2142:2378)(1906:2142:2378)) + (INTERCONNECT SLICE_48I/Q0 SLICE_115I/B1 (1590:1789:1989)(1590:1789:1989)) + (INTERCONNECT SLICE_48I/Q0 SLICE_115I/A0 (1906:2142:2378)(1906:2142:2378)) + (INTERCONNECT PHI2_MGIOLI/INP SLICE_35I/M1 (1442:1578:1714)(1442:1578:1714)) + (INTERCONNECT SLICE_35I/F0 RA_4_I/PADDO (1552:1738:1924)(1552:1738:1924)) + (INTERCONNECT SLICE_35I/Q0 SLICE_37I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_35I/F1 SLICE_53I/D1 (1220:1340:1460)(1220:1340:1460)) + (INTERCONNECT SLICE_35I/Q1 SLICE_59I/A1 (1188:1353:1518)(1188:1353:1518)) + (INTERCONNECT SLICE_35I/Q1 SLICE_95I/A1 (1552:1748:1945)(1552:1748:1945)) + (INTERCONNECT SLICE_35I/Q1 SLICE_97I/C1 (989:1143:1298)(989:1143:1298)) + (INTERCONNECT SLICE_35I/Q1 SLICE_118I/M0 (825:908:991)(825:908:991)) + (INTERCONNECT SLICE_45I/F0 SLICE_36I/A1 (740:864:989)(740:864:989)) + (INTERCONNECT SLICE_45I/F0 SLICE_45I/C1 (284:372:461)(284:372:461)) + (INTERCONNECT SLICE_45I/F0 SLICE_45I/DI0 (7:16:25)(7:16:25)) + (INTERCONNECT SLICE_45I/F0 SLICE_64I/A0 (483:582:681)(483:582:681)) + (INTERCONNECT SLICE_117I/F0 SLICE_36I/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_36I/F1 SLICE_36I/B0 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_36I/F0 SLICE_36I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_36I/Q0 SLICE_37I/C0 (975:1126:1278)(975:1126:1278)) + (INTERCONNECT Din_7_MGIOLI/INP SLICE_37I/D1 (1406:1542:1678)(1406:1542:1678)) + (INTERCONNECT Din_2_MGIOLI/INP SLICE_37I/C1 (1161:1328:1496)(1161:1328:1496)) + (INTERCONNECT Din_5_MGIOLI/INP SLICE_37I/B1 (1392:1572:1753)(1392:1572:1753)) + (INTERCONNECT Din_6_MGIOLI/INP SLICE_37I/A1 (1687:1900:2113)(1687:1900:2113)) + (INTERCONNECT SLICE_37I/F0 SLICE_37I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37I/Q0 SLICE_45I/D1 (975:1073:1172)(975:1073:1172)) + (INTERCONNECT SLICE_37I/Q0 SLICE_69I/D1 (975:1073:1172)(975:1073:1172)) + (INTERCONNECT SLICE_37I/Q0 RCKEI/PADDO (1905:2099:2293)(1905:2099:2293)) + (INTERCONNECT SLICE_37I/F1 SLICE_94I/B0 (1031:1183:1336)(1031:1183:1336)) + (INTERCONNECT SLICE_38I/F1 SLICE_38I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_38I/F1 SLICE_39I/C1 (534:645:756)(534:645:756)) + (INTERCONNECT SLICE_38I/F0 SLICE_38I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/F1 SLICE_39I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_39I/Q0 SLICE_39I/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_39I/Q0 SLICE_40I/B1 (774:914:1054)(774:914:1054)) + (INTERCONNECT SLICE_39I/Q0 SLICE_40I/B0 (774:914:1054)(774:914:1054)) + (INTERCONNECT SLICE_39I/Q0 SLICE_41I/D1 (995:1099:1203)(995:1099:1203)) + (INTERCONNECT SLICE_39I/Q0 SLICE_41I/D0 (995:1099:1203)(995:1099:1203)) + (INTERCONNECT SLICE_39I/Q0 SLICE_42I/A1 (1205:1374:1544)(1205:1374:1544)) + (INTERCONNECT SLICE_39I/Q0 SLICE_42I/A0 (1205:1374:1544)(1205:1374:1544)) + (INTERCONNECT SLICE_39I/Q0 SLICE_43I/B1 (1607:1811:2015)(1607:1811:2015)) + (INTERCONNECT SLICE_39I/Q0 SLICE_43I/B0 (1607:1811:2015)(1607:1811:2015)) + (INTERCONNECT SLICE_39I/Q0 SLICE_44I/D1 (532:604:676)(532:604:676)) + (INTERCONNECT SLICE_39I/Q0 SLICE_44I/D0 (532:604:676)(532:604:676)) + (INTERCONNECT SLICE_39I/Q0 SLICE_116I/B1 (1222:1392:1563)(1222:1392:1563)) + (INTERCONNECT SLICE_39I/Q0 SLICE_118I/C1 (1361:1550:1740)(1361:1550:1740)) + (INTERCONNECT SLICE_39I/Q0 SLICE_118I/C0 (1361:1550:1740)(1361:1550:1740)) + (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_40I/C1 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT MAin_1_I/PADDI SLICE_91I/C0 (1524:1704:1884)(1524:1704:1884)) + (INTERCONNECT MAin_1_I/PADDI SLICE_92I/A0 (2093:2315:2538)(2093:2315:2538)) + (INTERCONNECT MAin_1_I/PADDI SLICE_105I/D0 (2210:2402:2594)(2210:2402:2594)) + (INTERCONNECT MAin_1_I/PADDI SLICE_113I/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT MAin_0_I/PADDI SLICE_40I/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT MAin_0_I/PADDI SLICE_92I/B0 (2652:2898:3145)(2652:2898:3145)) + (INTERCONNECT MAin_0_I/PADDI SLICE_105I/A1 (2620:2864:3108)(2620:2864:3108)) + (INTERCONNECT MAin_0_I/PADDI SLICE_105I/A0 (2620:2864:3108)(2620:2864:3108)) + (INTERCONNECT MAin_0_I/PADDI SLICE_112I/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT SLICE_40I/F1 SLICE_40I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40I/F0 SLICE_40I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40I/Q0 SLICE_112I/B0 (1099:1259:1420)(1099:1259:1420)) + (INTERCONNECT SLICE_40I/Q1 SLICE_113I/D0 (520:573:626)(520:573:626)) + (INTERCONNECT MAin_3_I/PADDI SLICE_41I/B1 (2206:2426:2646)(2206:2426:2646)) + (INTERCONNECT MAin_3_I/PADDI SLICE_91I/D0 (2198:2389:2580)(2198:2389:2580)) + (INTERCONNECT MAin_3_I/PADDI SLICE_92I/C1 (2339:2577:2816)(2339:2577:2816)) + (INTERCONNECT MAin_3_I/PADDI SLICE_115I/B0 (2206:2426:2646)(2206:2426:2646)) + (INTERCONNECT MAin_2_I/PADDI SLICE_41I/C0 (1975:2182:2389)(1975:2182:2389)) + (INTERCONNECT MAin_2_I/PADDI SLICE_92I/B1 (1749:1941:2134)(1749:1941:2134)) + (INTERCONNECT MAin_2_I/PADDI SLICE_111I/C0 (1975:2182:2389)(1975:2182:2389)) + (INTERCONNECT MAin_2_I/PADDI SLICE_114I/C0 (1975:2182:2389)(1975:2182:2389)) + (INTERCONNECT SLICE_41I/F1 SLICE_41I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q0 SLICE_114I/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_41I/Q1 SLICE_115I/C0 (531:639:747)(531:639:747)) + (INTERCONNECT MAin_5_I/PADDI SLICE_42I/D1 (1878:2033:2189)(1878:2033:2189)) + (INTERCONNECT MAin_5_I/PADDI SLICE_90I/B0 (2120:2343:2567)(2120:2343:2567)) + (INTERCONNECT MAin_5_I/PADDI SLICE_111I/B0 (2120:2343:2567)(2120:2343:2567)) + (INTERCONNECT MAin_5_I/PADDI SLICE_115I/A1 (2088:2309:2530)(2088:2309:2530)) + (INTERCONNECT SLICE_42I/F1 SLICE_42I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q1 SLICE_115I/D1 (520:573:626)(520:573:626)) + (INTERCONNECT MAin_7_I/PADDI SLICE_43I/C1 (1888:2098:2309)(1888:2098:2309)) + (INTERCONNECT MAin_7_I/PADDI SLICE_90I/A0 (3179:3494:3810)(3179:3494:3810)) + (INTERCONNECT MAin_7_I/PADDI SLICE_111I/A1 (2425:2683:2941)(2425:2683:2941)) + (INTERCONNECT MAin_7_I/PADDI SLICE_111I/A0 (2425:2683:2941)(2425:2683:2941)) + (INTERCONNECT MAin_6_I/PADDI SLICE_43I/C0 (1970:2175:2381)(1970:2175:2381)) + (INTERCONNECT MAin_6_I/PADDI SLICE_90I/D0 (3020:3269:3518)(3020:3269:3518)) + (INTERCONNECT MAin_6_I/PADDI SLICE_105I/C1 (2667:2939:3212)(2667:2939:3212)) + (INTERCONNECT MAin_6_I/PADDI SLICE_114I/C1 (1970:2175:2381)(1970:2175:2381)) + (INTERCONNECT SLICE_43I/F1 SLICE_43I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_114I/D1 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_43I/Q1 SLICE_111I/C1 (531:639:747)(531:639:747)) + (INTERCONNECT MAin_9_I/PADDI SLICE_44I/B1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin_9_I/PADDI SLICE_107I/B1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin_9_I/PADDI SLICE_107I/B0 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin_9_I/PADDI SLICE_112I/B1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin_8_I/PADDI SLICE_44I/A0 (2420:2659:2898)(2420:2659:2898)) + (INTERCONNECT MAin_8_I/PADDI SLICE_113I/C1 (2221:2449:2678)(2221:2449:2678)) + (INTERCONNECT SLICE_44I/F1 SLICE_44I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_113I/D1 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_44I/Q1 SLICE_107I/A0 (733:848:964)(733:848:964)) + (INTERCONNECT SLICE_45I/F1 SLICE_77I/D0 (791:881:972)(791:881:972)) + (INTERCONNECT SLICE_45I/F1 SLICE_108I/C1 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_106I/F1 SLICE_46I/D1 (530:587:645)(530:587:645)) + (INTERCONNECT SLICE_46I/F1 SLICE_46I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_101I/F0 SLICE_46I/B0 (1206:1370:1535)(1206:1370:1535)) + (INTERCONNECT SLICE_46I/Q0 SLICE_46I/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_46I/Q0 SLICE_116I/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_46I/F0 SLICE_46I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb_EFBInst_0I/WBDATO0 SLICE_47I/C0 (1161:1328:1496) + (1161:1328:1496)) + (INTERCONNECT SLICE_47I/F0 SLICE_47I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47I/F1 SLICE_53I/LSR (1319:1458:1597)(1319:1458:1597)) + (INTERCONNECT SLICE_47I/F1 SLICE_58I/LSR (1330:1471:1612)(1330:1471:1612)) + (INTERCONNECT SLICE_47I/F1 SLICE_59I/D0 (1311:1448:1585)(1311:1448:1585)) + (INTERCONNECT SLICE_47I/F1 SLICE_60I/LSR (879:978:1078)(879:978:1078)) + (INTERCONNECT SLICE_106I/Q0 SLICE_48I/D1 (528:586:644)(528:586:644)) + (INTERCONNECT SLICE_106I/Q0 SLICE_88I/B0 (1139:1298:1457)(1139:1298:1457)) + (INTERCONNECT SLICE_106I/Q0 SLICE_98I/C1 (1236:1419:1602)(1236:1419:1602)) + (INTERCONNECT SLICE_48I/F1 SLICE_48I/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_48I/F0 SLICE_48I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F0 SLICE_48I/LSR (542:602:662)(542:602:662)) + (INTERCONNECT SLICE_69I/F0 SLICE_69I/C1 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_76I/F1 SLICE_49I/D1 (1324:1453:1583)(1324:1453:1583)) + (INTERCONNECT SLICE_76I/F1 SLICE_51I/D1 (1324:1453:1583)(1324:1453:1583)) + (INTERCONNECT SLICE_76I/F1 SLICE_51I/D0 (1324:1453:1583)(1324:1453:1583)) + (INTERCONNECT SLICE_76I/F1 SLICE_52I/C0 (1662:1881:2101)(1662:1881:2101)) + (INTERCONNECT SLICE_76I/F1 SLICE_53I/D0 (1334:1472:1610)(1334:1472:1610)) + (INTERCONNECT SLICE_76I/F1 SLICE_55I/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76I/F1 SLICE_58I/D0 (1334:1472:1610)(1334:1472:1610)) + (INTERCONNECT SLICE_76I/F1 SLICE_67I/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76I/F1 SLICE_67I/D0 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76I/F1 SLICE_72I/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76I/F1 SLICE_75I/A1 (1472:1669:1866)(1472:1669:1866)) + (INTERCONNECT SLICE_76I/F1 SLICE_76I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_76I/F1 SLICE_79I/A1 (1472:1669:1866)(1472:1669:1866)) + (INTERCONNECT SLICE_76I/F1 SLICE_81I/A1 (1461:1656:1851)(1461:1656:1851)) + (INTERCONNECT SLICE_76I/F1 SLICE_85I/B1 (791:921:1051)(791:921:1051)) + (INTERCONNECT SLICE_76I/F1 SLICE_93I/C1 (1299:1480:1661)(1299:1480:1661)) + (INTERCONNECT SLICE_76I/F1 SLICE_109I/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76I/F1 SLICE_109I/D0 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_49I/Q0 SLICE_49I/C1 (534:644:754)(534:644:754)) + (INTERCONNECT SLICE_49I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI0in (1378:1511:1645) + (1378:1511:1645)) + (INTERCONNECT SLICE_84I/F0 SLICE_49I/A1 (1431:1620:1810)(1431:1620:1810)) + (INTERCONNECT SLICE_85I/F1 SLICE_49I/D0 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_57I/Q1 SLICE_49I/A0 (1002:1154:1306)(1002:1154:1306)) + (INTERCONNECT SLICE_57I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI7in (909:1006:1104) + (909:1006:1104)) + (INTERCONNECT SLICE_49I/F1 SLICE_49I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49I/F0 SLICE_49I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97I/F0 SLICE_49I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_49I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_50I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_50I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_51I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_51I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_52I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_52I/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97I/F0 SLICE_54I/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97I/F0 SLICE_54I/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97I/F0 SLICE_55I/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97I/F0 SLICE_55I/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97I/F0 SLICE_56I/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97I/F0 SLICE_56I/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97I/F0 SLICE_57I/CE (1197:1322:1447)(1197:1322:1447)) + (INTERCONNECT SLICE_97I/F0 SLICE_57I/CE (1197:1322:1447)(1197:1322:1447)) + (INTERCONNECT SLICE_97I/F0 SLICE_60I/CE (879:978:1078)(879:978:1078)) + (INTERCONNECT SLICE_49I/Q1 SLICE_50I/C0 (534:644:754)(534:644:754)) + (INTERCONNECT SLICE_49I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI1in (650:720:791) + (650:720:791)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_50I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI2in (650:720:791) + (650:720:791)) + (INTERCONNECT SLICE_50I/F1 SLICE_50I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q1 SLICE_51I/A0 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_50I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI3in (909:1006:1104) + (909:1006:1104)) + (INTERCONNECT SLICE_51I/Q0 SLICE_51I/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_51I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI4in (977:1082:1188) + (977:1082:1188)) + (INTERCONNECT SLICE_51I/F1 SLICE_51I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_52I/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_51I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI5in (977:1082:1188) + (977:1082:1188)) + (INTERCONNECT SLICE_52I/Q0 SLICE_52I/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_52I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI6in (650:720:791) + (650:720:791)) + (INTERCONNECT SLICE_52I/F1 SLICE_52I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBADRI7in (640:701:762) + (640:701:762)) + (INTERCONNECT SLICE_95I/F0 SLICE_53I/C0 (541:653:766)(541:653:766)) + (INTERCONNECT SLICE_53I/F1 SLICE_53I/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_53I/F1 SLICE_89I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_96I/F0 SLICE_53I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_53I/F0 SLICE_53I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT wb_cyc_stb_RNO_SLICE_61I/OFX0 SLICE_53I/CE (808:896:985) + (808:896:985)) + (INTERCONNECT SLICE_53I/Q0 ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBCYCIin + (1343:1474:1606)(1343:1474:1606)) + (INTERCONNECT SLICE_53I/Q0 ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBSTBIin + (1689:1859:2030)(1689:1859:2030)) + (INTERCONNECT SLICE_79I/F0 SLICE_54I/D1 (266:290:315)(266:290:315)) + (INTERCONNECT SLICE_67I/F1 SLICE_54I/C1 (546:664:783)(546:664:783)) + (INTERCONNECT SLICE_67I/F1 SLICE_55I/A1 (735:859:984)(735:859:984)) + (INTERCONNECT SLICE_67I/F1 SLICE_67I/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_75I/F1 SLICE_54I/B1 (769:899:1029)(769:899:1029)) + (INTERCONNECT SLICE_75I/F1 SLICE_57I/B0 (772:899:1026)(772:899:1026)) + (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (284:372:461)(284:372:461)) + (INTERCONNECT SLICE_75I/F1 SLICE_78I/C0 (541:655:769)(541:655:769)) + (INTERCONNECT SLICE_99I/F1 SLICE_54I/A1 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_99I/F1 SLICE_57I/C0 (871:1021:1172)(871:1021:1172)) + (INTERCONNECT SLICE_110I/F0 SLICE_54I/D0 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_60I/Q0 SLICE_54I/C0 (981:1133:1285)(981:1133:1285)) + (INTERCONNECT SLICE_60I/Q0 ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBWEIin + (2142:2348:2554)(2142:2348:2554)) + (INTERCONNECT SLICE_109I/F0 SLICE_54I/A0 (1008:1161:1315)(1008:1161:1315)) + (INTERCONNECT SLICE_109I/F0 SLICE_57I/A1 (1378:1563:1749)(1378:1563:1749)) + (INTERCONNECT SLICE_109I/F0 SLICE_70I/C1 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_109I/F0 SLICE_83I/A0 (1378:1563:1749)(1378:1563:1749)) + (INTERCONNECT SLICE_54I/F1 SLICE_54I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54I/F0 SLICE_54I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54I/Q0 SLICE_79I/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_54I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI0in (1411:1555:1700) + (1411:1555:1700)) + (INTERCONNECT SLICE_54I/Q1 SLICE_55I/C0 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_54I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI1in (1339:1476:1613) + (1339:1476:1613)) + (INTERCONNECT SLICE_75I/F0 SLICE_55I/C1 (541:653:766)(541:653:766)) + (INTERCONNECT SLICE_82I/F0 SLICE_55I/B1 (1472:1667:1863)(1472:1667:1863)) + (INTERCONNECT SLICE_82I/F0 SLICE_67I/C0 (914:1061:1209)(914:1061:1209)) + (INTERCONNECT SLICE_82I/F0 SLICE_76I/A0 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_67I/F0 SLICE_55I/D0 (269:296:324)(269:296:324)) + (INTERCONNECT SLICE_67I/F0 SLICE_56I/D1 (523:579:635)(523:579:635)) + (INTERCONNECT SLICE_72I/F1 SLICE_55I/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_72I/F1 SLICE_56I/B1 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_55I/F1 SLICE_55I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/F0 SLICE_55I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/Q0 SLICE_75I/B0 (767:891:1015)(767:891:1015)) + (INTERCONNECT SLICE_55I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI2in (1339:1476:1613) + (1339:1476:1613)) + (INTERCONNECT SLICE_55I/Q1 SLICE_56I/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_55I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI3in (1084:1193:1303) + (1084:1193:1303)) + (INTERCONNECT SLICE_56I/Q0 SLICE_56I/A1 (1110:1265:1420)(1110:1265:1420)) + (INTERCONNECT SLICE_56I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI4in (1344:1479:1615) + (1344:1479:1615)) + (INTERCONNECT SLICE_76I/F0 SLICE_56I/D0 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_80I/F0 SLICE_56I/A0 (733:848:964)(733:848:964)) + (INTERCONNECT SLICE_56I/F1 SLICE_56I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/F0 SLICE_56I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/Q1 SLICE_74I/C0 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_56I/Q1 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI5in (908:1009:1111) + (908:1009:1111)) + (INTERCONNECT SLICE_78I/F0 SLICE_57I/D1 (266:290:315)(266:290:315)) + (INTERCONNECT SLICE_71I/F0 SLICE_57I/C1 (1231:1406:1581)(1231:1406:1581)) + (INTERCONNECT SLICE_81I/F0 SLICE_57I/B1 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_74I/F0 SLICE_57I/D0 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_57I/F1 SLICE_57I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/Q0 SLICE_81I/A0 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_57I/Q0 + ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBDATI6in (977:1082:1188) + (977:1082:1188)) + (INTERCONNECT SLICE_58I/F1 SLICE_58I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_58I/F1 SLICE_93I/A1 (1177:1342:1507)(1177:1342:1507)) + (INTERCONNECT SLICE_59I/F1 SLICE_58I/B0 (765:889:1013)(765:889:1013)) + (INTERCONNECT SLICE_59I/F1 SLICE_59I/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_58I/Q0 SLICE_58I/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_58I/Q0 SLICE_89I/A1 (738:857:977)(738:857:977)) + (INTERCONNECT SLICE_58I/Q0 SLICE_96I/B0 (777:906:1036)(777:906:1036)) + (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118I/Q0 SLICE_59I/D1 (975:1072:1170)(975:1072:1170)) + (INTERCONNECT SLICE_118I/Q0 SLICE_95I/B1 (1581:1778:1975)(1581:1778:1975)) + (INTERCONNECT SLICE_118I/Q0 SLICE_97I/B1 (1217:1382:1548)(1217:1382:1548)) + (INTERCONNECT SLICE_59I/Q0 SLICE_59I/C0 (1426:1605:1785)(1426:1605:1785)) + (INTERCONNECT SLICE_59I/Q0 ufmefb_EFBInst_0I/ufmefb_EFBInst_0_EFB/INST20/WBRSTIin + (1616:1766:1917)(1616:1766:1917)) + (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F1 SLICE_60I/C1 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_84I/F1 SLICE_62I/D0 (794:884:975)(794:884:975)) + (INTERCONNECT SLICE_84I/F1 SLICE_84I/C0 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_87I/F0 SLICE_60I/A1 (746:869:993)(746:869:993)) + (INTERCONNECT SLICE_87I/F0 SLICE_84I/A0 (746:869:993)(746:869:993)) + (INTERCONNECT SLICE_73I/Q0 SLICE_60I/D0 (1153:1269:1385)(1153:1269:1385)) + (INTERCONNECT SLICE_93I/F1 SLICE_60I/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_60I/F1 SLICE_60I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_95I/F1 wb_cyc_stb_RNO_SLICE_61I/A1 (481:577:673)(481:577:673)) + (INTERCONNECT SLICE_95I/F1 SLICE_62I/D1 (525:584:643)(525:584:643)) + (INTERCONNECT SLICE_95I/F1 SLICE_95I/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_89I/F0 wb_cyc_stb_RNO_SLICE_61I/D0 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_102I/F0 wb_cyc_stb_RNO_SLICE_61I/C0 (534:645:756)(534:645:756)) + (INTERCONNECT SLICE_102I/F0 SLICE_62I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT ufmefb_EFBInst_0I/WBACKO wb_cyc_stb_RNO_SLICE_61I/A0 + (1729:1940:2151)(1729:1940:2151)) + (INTERCONNECT ufmefb_EFBInst_0I/WBACKO SLICE_62I/B0 (1761:1974:2188) + (1761:1974:2188)) + (INTERCONNECT SLICE_62I/F0 SLICE_62I/C1 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_77I/F1 SLICE_63I/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_77I/F1 SLICE_77I/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_77I/F1 SLICE_108I/A1 (745:874:1003)(745:874:1003)) + (INTERCONNECT SLICE_63I/F0 SLICE_66I/B1 (772:897:1023)(772:897:1023)) + (INTERCONNECT SLICE_64I/F0 SLICE_64I/C1 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_64I/F0 SLICE_66I/B0 (765:889:1013)(765:889:1013)) + (INTERCONNECT SLICE_98I/F0 SLICE_64I/B1 (1099:1259:1420)(1099:1259:1420)) + (INTERCONNECT SLICE_68I/F1 SLICE_64I/A1 (740:863:986)(740:863:986)) + (INTERCONNECT SLICE_105I/Q1 SLICE_64I/B0 (1472:1666:1861)(1472:1666:1861)) + (INTERCONNECT SLICE_105I/Q1 SLICE_98I/A0 (1113:1270:1427)(1113:1270:1427)) + (INTERCONNECT SLICE_105I/Q1 SLICE_117I/C1 (537:644:751)(537:644:751)) + (INTERCONNECT SLICE_64I/F1 nRWE_MGIOLI/OPOS (1408:1550:1693)(1408:1550:1693)) + (INTERCONNECT SLICE_65I/F0 SLICE_65I/D1 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_65I/F1 SLICE_85I/C1 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_66I/F1 SLICE_66I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_88I/F0 SLICE_66I/A0 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_88I/F0 SLICE_88I/B1 (765:889:1013)(765:889:1013)) + (INTERCONNECT SLICE_66I/F0 nRCAS_MGIOLI/OPOS (1445:1584:1723)(1445:1584:1723)) + (INTERCONNECT SLICE_100I/F0 SLICE_67I/A1 (1067:1225:1383)(1067:1225:1383)) + (INTERCONNECT SLICE_69I/F1 SLICE_68I/D1 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_68I/F0 SLICE_68I/C1 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_70I/F0 SLICE_70I/A1 (1104:1258:1413)(1104:1258:1413)) + (INTERCONNECT SLICE_70I/F1 SLICE_74I/D0 (523:579:635)(523:579:635)) + (INTERCONNECT SLICE_70I/F1 SLICE_80I/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_72I/F0 SLICE_72I/A1 (735:859:984)(735:859:984)) + (INTERCONNECT SLICE_72I/F0 SLICE_79I/A0 (738:859:981)(738:859:981)) + (INTERCONNECT SLICE_72I/F0 SLICE_80I/D0 (528:584:640)(528:584:640)) + (INTERCONNECT Din_3_I/PADDI SLICE_73I/C1 (2075:2285:2495)(2075:2285:2495)) + (INTERCONNECT Din_3_I/PADDI SLICE_101I/B1 (3414:3733:4052)(3414:3733:4052)) + (INTERCONNECT Din_3_I/PADDI SLICE_106I/B1 (2686:2942:3198)(2686:2942:3198)) + (INTERCONNECT Din_3_I/PADDI SLICE_106I/B0 (2686:2942:3198)(2686:2942:3198)) + (INTERCONNECT Din_3_I/PADDI RD_3_MGIOLI/OPOS (3289:3551:3813)(3289:3551:3813)) + (INTERCONNECT Din_3_I/PADDI Din_3_MGIOLI/DI (544:554:565)(544:554:565)) + (INTERCONNECT SLICE_116I/F0 SLICE_73I/B1 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_73I/F0 SLICE_73I/CE (539:596:653)(539:596:653)) + (INTERCONNECT SLICE_103I/F1 SLICE_74I/D1 (530:587:645)(530:587:645)) + (INTERCONNECT SLICE_109I/F1 SLICE_74I/A1 (741:861:982)(741:861:982)) + (INTERCONNECT SLICE_109I/F1 SLICE_80I/A0 (741:861:982)(741:861:982)) + (INTERCONNECT SLICE_74I/F1 SLICE_74I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_99I/F0 SLICE_75I/D0 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_77I/F0 SLICE_117I/B1 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_78I/F1 SLICE_78I/D0 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_79I/F1 SLICE_79I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_80I/F1 SLICE_80I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_103I/F0 SLICE_81I/C1 (534:639:744)(534:639:744)) + (INTERCONNECT SLICE_83I/F0 SLICE_81I/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_81I/F1 SLICE_81I/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_82I/F1 SLICE_82I/C0 (542:652:762)(542:652:762)) + (INTERCONNECT SLICE_82I/F1 SLICE_87I/A0 (741:861:982)(741:861:982)) + (INTERCONNECT SLICE_87I/F1 SLICE_82I/A0 (735:859:984)(735:859:984)) + (INTERCONNECT SLICE_87I/F1 SLICE_84I/D1 (530:592:654)(530:592:654)) + (INTERCONNECT SLICE_87I/F1 SLICE_87I/C0 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_87I/F1 SLICE_93I/D0 (530:592:654)(530:592:654)) + (INTERCONNECT SLICE_83I/F1 SLICE_83I/D0 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_110I/F1 SLICE_84I/A1 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_110I/F1 SLICE_93I/A0 (479:572:665)(479:572:665)) + (INTERCONNECT SLICE_93I/F0 SLICE_84I/D0 (531:586:641)(531:586:641)) + (INTERCONNECT SLICE_93I/F0 SLICE_93I/D1 (531:586:641)(531:586:641)) + (INTERCONNECT SLICE_85I/F0 SLICE_85I/A1 (476:566:656)(476:566:656)) + (INTERCONNECT SLICE_86I/F0 SLICE_85I/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_100I/F1 SLICE_85I/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_86I/F1 SLICE_86I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_117I/F1 SLICE_88I/D1 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_108I/F1 SLICE_88I/C1 (534:645:756)(534:645:756)) + (INTERCONNECT SLICE_108I/F1 nRRAS_MGIOLI/OPOS (1448:1590:1732)(1448:1590:1732)) + (INTERCONNECT SLICE_108I/Q0 SLICE_88I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_88I/F1 nRCS_MGIOLI/OPOS (1337:1468:1599)(1337:1468:1599)) + (INTERCONNECT SLICE_96I/F1 SLICE_89I/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_96I/F1 SLICE_96I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_89I/F1 SLICE_89I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_105I/F1 SLICE_91I/B0 (765:883:1001)(765:883:1001)) + (INTERCONNECT SLICE_111I/F0 SLICE_91I/A0 (1174:1336:1498)(1174:1336:1498)) + (INTERCONNECT SLICE_92I/F1 SLICE_92I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_92I/F1 SLICE_105I/C0 (280:362:445)(280:362:445)) + (INTERCONNECT Din_0_MGIOLI/INP SLICE_94I/B1 (1392:1572:1753)(1392:1572:1753)) + (INTERCONNECT Din_1_MGIOLI/INP SLICE_94I/A1 (926:1065:1204)(926:1065:1204)) + (INTERCONNECT Din_4_MGIOLI/INP SLICE_94I/D0 (716:789:863)(716:789:863)) + (INTERCONNECT SLICE_94I/F1 SLICE_94I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT Din_3_MGIOLI/INP SLICE_94I/A0 (926:1065:1204)(926:1065:1204)) + (INTERCONNECT SLICE_97I/F1 SLICE_97I/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_98I/F1 SLICE_98I/C0 (277:356:436)(277:356:436)) + (INTERCONNECT Din_2_I/PADDI SLICE_104I/D0 (1961:2109:2258)(1961:2109:2258)) + (INTERCONNECT Din_2_I/PADDI SLICE_106I/D1 (2331:2511:2692)(2331:2511:2692)) + (INTERCONNECT Din_2_I/PADDI SLICE_106I/D0 (2331:2511:2692)(2331:2511:2692)) + (INTERCONNECT Din_2_I/PADDI RD_2_MGIOLI/OPOS (2436:2626:2817)(2436:2626:2817)) + (INTERCONNECT Din_2_I/PADDI Din_2_MGIOLI/DI (544:554:565)(544:554:565)) + (INTERCONNECT SLICE_107I/F0 RA_9_I/PADDO (1279:1433:1587)(1279:1433:1587)) + (INTERCONNECT SLICE_107I/F1 RDQMHI/PADDO (1454:1620:1786)(1454:1620:1786)) + (INTERCONNECT SLICE_111I/F1 RA_7_I/PADDO (1834:2056:2279)(1834:2056:2279)) + (INTERCONNECT SLICE_112I/F0 RA_0_I/PADDO (1400:1583:1767)(1400:1583:1767)) + (INTERCONNECT SLICE_112I/F1 RDQMLI/PADDO (936:1038:1140)(936:1038:1140)) + (INTERCONNECT SLICE_113I/F0 RA_1_I/PADDO (1106:1265:1425)(1106:1265:1425)) + (INTERCONNECT SLICE_113I/F1 RA_8_I/PADDO (1279:1433:1587)(1279:1433:1587)) + (INTERCONNECT SLICE_114I/F0 RA_2_I/PADDO (1815:2042:2270)(1815:2042:2270)) + (INTERCONNECT SLICE_114I/F1 RA_6_I/PADDO (1879:2100:2321)(1879:2100:2321)) + (INTERCONNECT SLICE_115I/F0 RA_3_I/PADDO (1552:1738:1924)(1552:1738:1924)) + (INTERCONNECT SLICE_115I/F1 RA_5_I/PADDO (1815:2042:2270)(1815:2042:2270)) + (INTERCONNECT SLICE_116I/F1 RA_11_MGIOLI/OPOS (1527:1661:1795)(1527:1661:1795)) + (INTERCONNECT CROW_0_I/PADDI SLICE_118I/B1 (2262:2486:2711)(2262:2486:2711)) + (INTERCONNECT CROW_1_I/PADDI SLICE_118I/B0 (1744:1935:2126)(1744:1935:2126)) + (INTERCONNECT SLICE_118I/F0 RBA_1_MGIOLI/OPOS (1854:2023:2192)(1854:2023:2192)) + (INTERCONNECT SLICE_118I/F1 RBA_0_MGIOLI/OPOS (1790:1965:2141)(1790:1965:2141)) + (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (2098:2261:2425)(2098:2261:2425)) + (INTERCONNECT RD_0_MGIOLI/IOLDO RD_0_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT nRCAS_MGIOLI/IOLDO nRCASI/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT nRRAS_MGIOLI/IOLDO nRRASI/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT nRWE_MGIOLI/IOLDO nRWEI/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT nRCS_MGIOLI/IOLDO nRCSI/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (2632:2848:3064)(2632:2848:3064)) + (INTERCONNECT RD_7_MGIOLI/IOLDO RD_7_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD_6_MGIOLI/IOLDO RD_6_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (2098:2261:2425)(2098:2261:2425)) + (INTERCONNECT RD_5_MGIOLI/IOLDO RD_5_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD_4_MGIOLI/IOLDO RD_4_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (2632:2848:3064)(2632:2848:3064)) + (INTERCONNECT RD_3_MGIOLI/IOLDO RD_3_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD_2_MGIOLI/IOLDO RD_2_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD_1_MGIOLI/IOLDO RD_1_I0/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RA_11_MGIOLI/IOLDO RA_11_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RA_10_MGIOLI/IOLDO RA_10_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RBA_1_MGIOLI/IOLDO RBA_1_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RBA_0_MGIOLI/IOLDO RBA_0_I/IOLDO (9:36:63)(9:36:63)) + ) + ) + ) +) diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.vho b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.vho new file mode 100644 index 0000000..420b323 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vho.vho @@ -0,0 +1,38189 @@ + +-- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +-- ldbanno -n VHDL -o LCMXO2_640HC_impl1_vho.vho -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd +-- Netlist created on Sat Aug 19 21:54:57 2023 +-- Netlist written on Sat Aug 19 21:55:20 2023 +-- Design is for device LCMXO2-640HC +-- Design is for package TQFP100 +-- Design is for performance grade 4 + +-- entity vmuxregsre + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity vmuxregsre is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; + + end vmuxregsre; + + architecture Structure of vmuxregsre is + begin + INST01: FL1P3DX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity vcc + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity vcc is + port (PWR1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; + + end vcc; + + architecture Structure of vcc is + begin + INST1: VHI + port map (Z=>PWR1); + end Structure; + +-- entity gnd + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity gnd is + port (PWR0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; + + end gnd; + + architecture Structure of gnd is + begin + INST1: VLO + port map (Z=>PWR0); + end Structure; + +-- entity ccu2B0 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ccu2B0 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu2B0 : ENTITY IS TRUE; + + end ccu2B0; + + architecture Structure of ccu2B0 is + begin + inst1: CCU2D + generic map (INIT0 => X"000A", INIT1 => X"300A", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT=>CO1); + end Structure; + +-- entity SLICE_0 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_0 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_0"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; DI1: in Std_logic; CLK: in Std_logic; + F1: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; + + end SLICE_0; + + architecture Structure of SLICE_0 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B0 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_cry_0_0: ccu2B0 + port map (A0=>GNDI, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>GNDI, S0=>open, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, DI1_dly, CLK_dly, F1_out, Q1_out, FCO_out) + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20001 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ccu20001 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; + + end ccu20001; + + architecture Structure of ccu20001 is + begin + inst1: CCU2D + generic map (INIT0 => X"5002", INIT1 => X"300A", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT=>CO1); + end Structure; + +-- entity SLICE_1 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_1 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_1"; + + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; + + end SLICE_1; + + architecture Structure of SLICE_1 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20001 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_17: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_s_0_17: ccu20001 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>GNDI, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>open, + CO1=>open); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A0_ipd, DI0_dly, CLK_dly, FCI_ipd, F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20002 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ccu20002 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20002 : ENTITY IS TRUE; + + end ccu20002; + + architecture Structure of ccu20002 is + begin + inst1: CCU2D + generic map (INIT0 => X"300A", INIT1 => X"300A", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT=>CO1); + end Structure; + +-- entity SLICE_2 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_2 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_2"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; + + end SLICE_2; + + architecture Structure of SLICE_2 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_16: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_15: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_15: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_3 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_3 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_3"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; + + end SLICE_3; + + architecture Structure of SLICE_3 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_14: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_13: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_13: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_4 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_4 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_4"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; + + end SLICE_4; + + architecture Structure of SLICE_4 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_12: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_11: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_11: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_5 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_5 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_5"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; + + end SLICE_5; + + architecture Structure of SLICE_5 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_10: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_9: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_9: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_6 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_6 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_6"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; + + end SLICE_6; + + architecture Structure of SLICE_6 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_8: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_7: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_7: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_7 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_7 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_7"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; + + end SLICE_7; + + architecture Structure of SLICE_7 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_6: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_5: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_5: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_8 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_8 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_8"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; + + end SLICE_8; + + architecture Structure of SLICE_8 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_4: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_3: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_9 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_9 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_9"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; + + end SLICE_9; + + architecture Structure of SLICE_9 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20002 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO1: out Std_logic); + end component; + begin + FS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + FS_cry_0_1: ccu20002 + port map (A0=>A0_ipd, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_ipd, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_ipd, S0=>F0_out, S1=>F1_out, + CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_ipd, A0_ipd, DI1_dly, DI0_dly, CLK_dly, + FCI_ipd, F0_out, Q0_out, F1_out, Q1_out, FCO_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_ipd'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut4 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut4 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; + + end lut4; + + architecture Structure of lut4 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40003 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40003 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; + + end lut40003; + + architecture Structure of lut40003 is + begin + INST10: ROM16X1A + generic map (initval => X"3302") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity inverter + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity inverter is + port (I: in Std_logic; Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; + + end inverter; + + architecture Structure of inverter is + begin + INST1: INV + port map (A=>I, Z=>Z); + end Structure; + +-- entity SLICE_10 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_10 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_10"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_10 : ENTITY IS TRUE; + + end SLICE_10; + + architecture Structure of SLICE_10 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40003 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + begin + CmdEnable17: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ADSubmitted_r: lut40003 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + ADSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40004 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40004 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; + + end lut40004; + + architecture Structure of lut40004 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40005 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40005 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; + + end lut40005; + + architecture Structure of lut40005 is + begin + INST10: ROM16X1A + generic map (initval => X"F4F4") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_11 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_11 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_11"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_11 : ENTITY IS TRUE; + + end SLICE_11; + + architecture Structure of SLICE_11 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40004 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16: lut40004 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1Submitted_s: lut40005 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1Submitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40006 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40006 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; + + end lut40006; + + architecture Structure of lut40006 is + begin + INST10: ROM16X1A + generic map (initval => X"5555") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_12 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_12 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_12"; + + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (A0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_12 : ENTITY IS TRUE; + + end SLICE_12; + + architecture Structure of SLICE_12 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nCCAS_pad_RNISUR8: lut40006 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CASr: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40007 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40007 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40007 : ENTITY IS TRUE; + + end lut40007; + + architecture Structure of lut40007 is + begin + INST10: ROM16X1A + generic map (initval => X"2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40008 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40008 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; + + end lut40008; + + architecture Structure of lut40008 is + begin + INST10: ROM16X1A + generic map (initval => X"AAFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0009 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity vmuxregsre0009 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0009 : ENTITY IS TRUE; + + end vmuxregsre0009; + + architecture Structure of vmuxregsre0009 is + begin + INST01: FL1P3IY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_16 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_16 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_16"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_16 : ENTITY IS TRUE; + + end SLICE_16; + + architecture Structure of SLICE_16 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40007 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40008 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0009 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3_2: lut40007 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_RNO_0: lut40008 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0: vmuxregsre0009 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40010 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40010 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; + + end lut40010; + + architecture Structure of lut40010 is + begin + INST10: ROM16X1A + generic map (initval => X"FFCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40011 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40011 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; + + end lut40011; + + architecture Structure of lut40011 is + begin + INST10: ROM16X1A + generic map (initval => X"C8AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity selmux2 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity selmux2 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; + + end selmux2; + + architecture Structure of selmux2 is + begin + INST1: MUX21 + port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); + end Structure; + +-- entity SLICE_17 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_17 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_17"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_17 : ENTITY IS TRUE; + + end SLICE_17; + + architecture Structure of SLICE_17 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal SLICE_17_SLICE_17_K1_H1: Std_logic; + signal SLICE_17_CmdEnable_s_GATE_H0: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40010 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + SLICE_17_K1: lut40010 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, + Z=>SLICE_17_SLICE_17_K1_H1); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable_s_GATE: lut40011 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>SLICE_17_CmdEnable_s_GATE_H0); + CmdEnable: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + SLICE_17_K0K1MUX: selmux2 + port map (D0=>SLICE_17_CmdEnable_s_GATE_H0, D1=>SLICE_17_SLICE_17_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + OFX0_zd := OFX0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40012 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40012 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; + + end lut40012; + + architecture Structure of lut40012 is + begin + INST10: ROM16X1A + generic map (initval => X"F0AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40013 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40013 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; + + end lut40013; + + architecture Structure of lut40013 is + begin + INST10: ROM16X1A + generic map (initval => X"B8B8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_18 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_18 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_18"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_18 : ENTITY IS TRUE; + + end SLICE_18; + + architecture Structure of SLICE_18 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdLEDEN_4_0: lut40012 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_4_u: lut40013 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + CmdLEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40014 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40014 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; + + end lut40014; + + architecture Structure of lut40014 is + begin + INST10: ROM16X1A + generic map (initval => X"0322") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_20 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_20 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_20"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; + + end SLICE_20; + + architecture Structure of SLICE_20 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdUFMShift_3_u: lut40014 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMShift: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, CE_dly, + CLK_dly, F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40015 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40015 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; + + end lut40015; + + architecture Structure of lut40015 is + begin + INST10: ROM16X1A + generic map (initval => X"0232") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_21 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_21 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_21"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; + + end SLICE_21; + + architecture Structure of SLICE_21 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40015 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdUFMShift_3_u_fast: lut40015 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMShift_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, CE_dly, + CLK_dly, F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40016 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40016 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; + + end lut40016; + + architecture Structure of lut40016 is + begin + INST10: ROM16X1A + generic map (initval => X"0A0A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40017 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40017 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; + + end lut40017; + + architecture Structure of lut40017 is + begin + INST10: ROM16X1A + generic map (initval => X"3022") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_22 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_22 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_22"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; + + end SLICE_22; + + architecture Structure of SLICE_22 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdUFMWrite_2: lut40016 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMWrite_3_u: lut40017 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMWrite: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40018 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40018 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; + + end lut40018; + + architecture Structure of lut40018 is + begin + INST10: ROM16X1A + generic map (initval => X"0100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40019 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40019 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; + + end lut40019; + + architecture Structure of lut40019 is + begin + INST10: ROM16X1A + generic map (initval => X"F0C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_23 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_23 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_23"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_23 : ENTITY IS TRUE; + + end SLICE_23; + + architecture Structure of SLICE_23 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40019 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG11: lut40018 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdValid_r: lut40019 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdValid: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40020 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40020 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; + + end lut40020; + + architecture Structure of lut40020 is + begin + INST10: ROM16X1A + generic map (initval => X"8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40021 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40021 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; + + end lut40021; + + architecture Structure of lut40021 is + begin + INST10: ROM16X1A + generic map (initval => X"CC88") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_24 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_24 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_24"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_24 : ENTITY IS TRUE; + + end SLICE_24; + + architecture Structure of SLICE_24 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG18: lut40020 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdValid_r_fast: lut40021 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + CmdValid_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40022 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40022 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; + + end lut40022; + + architecture Structure of lut40022 is + begin + INST10: ROM16X1A + generic map (initval => X"0FAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40023 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40023 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; + + end lut40023; + + architecture Structure of lut40023 is + begin + INST10: ROM16X1A + generic map (initval => X"F0CC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_25 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_25 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_25"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_25 : ENTITY IS TRUE; + + end SLICE_25; + + architecture Structure of SLICE_25 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_0: lut40022 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Cmdn8MEGEN_4_u: lut40023 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Cmdn8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40024 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40024 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; + + end lut40024; + + architecture Structure of lut40024 is + begin + INST10: ROM16X1A + generic map (initval => X"FFF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40025 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40025 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; + + end lut40025; + + architecture Structure of lut40025 is + begin + INST10: ROM16X1A + generic map (initval => X"0F0F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_26 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_26 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_26"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; C0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; + + end SLICE_26; + + architecture Structure of SLICE_26 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40025 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nCCAS_pad_RNI01SJ: lut40024 + port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nFWE_pad_RNI420B: lut40025 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + FWEr: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, C0_ipd, DI0_dly, CLK_dly, F0_out, + Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40026 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40026 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; + + end lut40026; + + architecture Structure of lut40026 is + begin + INST10: ROM16X1A + generic map (initval => X"FBFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40027 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40027 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; + + end lut40027; + + architecture Structure of lut40027 is + begin + INST10: ROM16X1A + generic map (initval => X"FA05") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_28 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_28 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_28"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_28 : ENTITY IS TRUE; + + end SLICE_28; + + architecture Structure of SLICE_28 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40026 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_0io_RNO: lut40026 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_0: lut40027 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40028 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40028 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; + + end lut40028; + + architecture Structure of lut40028 is + begin + INST10: ROM16X1A + generic map (initval => X"5AAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40029 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40029 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; + + end lut40029; + + architecture Structure of lut40029 is + begin + INST10: ROM16X1A + generic map (initval => X"5A5A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_29 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_29 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_29"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; + + end SLICE_29; + + architecture Structure of SLICE_29 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_RNO_2: lut40028 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_n1_0_x2: lut40029 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + IS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + IS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, C0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40030 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40030 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; + + end lut40030; + + architecture Structure of lut40030 is + begin + INST10: ROM16X1A + generic map (initval => X"FFAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40031 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40031 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; + + end lut40031; + + architecture Structure of lut40031 is + begin + INST10: ROM16X1A + generic map (initval => X"7F80") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_30 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_30 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_30"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; + + end SLICE_30; + + architecture Structure of SLICE_30 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40030 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40031 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_2_sqmuxa_0_o2: lut40030 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_RNO_3: lut40031 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + IS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40032 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40032 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; + + end lut40032; + + architecture Structure of lut40032 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40033 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40033 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; + + end lut40033; + + architecture Structure of lut40033 is + begin + INST10: ROM16X1A + generic map (initval => X"FAFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_31 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_31 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_31"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; + + end SLICE_31; + + architecture Structure of SLICE_31 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a3: lut40032 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady_RNO: lut40033 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40034 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40034 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; + + end lut40034; + + architecture Structure of lut40034 is + begin + INST10: ROM16X1A + generic map (initval => X"CCAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_32 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_32 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_32"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; + + end SLICE_32; + + architecture Structure of SLICE_32 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LEDEN_6: lut40034 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + LEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, + F0_out, Q0_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40035 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40035 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; + + end lut40035; + + architecture Structure of lut40035 is + begin + INST10: ROM16X1A + generic map (initval => X"FFAF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40036 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40036 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; + + end lut40036; + + architecture Structure of lut40036 is + begin + INST10: ROM16X1A + generic map (initval => X"00FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_34 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_34 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_34"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_34 : ENTITY IS TRUE; + + end SLICE_34; + + architecture Structure of SLICE_34 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40035 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LED_pad_RNO: lut40035 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RASr_RNO: lut40036 + port map (A=>GNDI, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + RASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + RASr: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, DI0_dly, M1_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40037 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40037 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; + + end lut40037; + + architecture Structure of lut40037 is + begin + INST10: ROM16X1A + generic map (initval => X"0055") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40038 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40038 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; + + end lut40038; + + architecture Structure of lut40038 is + begin + INST10: ROM16X1A + generic map (initval => X"F5A0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_35 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_35 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_35"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_35 : ENTITY IS TRUE; + + end SLICE_35; + + architecture Structure of SLICE_35 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1: lut40037 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_4: lut40038 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + RASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, M1_dly, + M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40039 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40039 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; + + end lut40039; + + architecture Structure of lut40039 is + begin + INST10: ROM16X1A + generic map (initval => X"05CC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40040 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40040 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; + + end lut40040; + + architecture Structure of lut40040 is + begin + INST10: ROM16X1A + generic map (initval => X"CCEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_36 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_36 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_36"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_36 : ENTITY IS TRUE; + + end SLICE_36; + + architecture Structure of SLICE_36 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40039 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_RNO: lut40039 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKEEN_8_u: lut40040 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RCKEEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40041 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40041 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; + + end lut40041; + + architecture Structure of lut40041 is + begin + INST10: ROM16X1A + generic map (initval => X"0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40042 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40042 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; + + end lut40042; + + architecture Structure of lut40042 is + begin + INST10: ROM16X1A + generic map (initval => X"F0EA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_37 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_37 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_37"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_37 : ENTITY IS TRUE; + + end SLICE_37; + + architecture Structure of SLICE_37 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_Bank_1_4: lut40041 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKE_2_0: lut40042 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RCKE: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40043 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40043 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; + + end lut40043; + + architecture Structure of lut40043 is + begin + INST10: ROM16X1A + generic map (initval => X"5FFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40044 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40044 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40044 : ENTITY IS TRUE; + + end lut40044; + + architecture Structure of lut40044 is + begin + INST10: ROM16X1A + generic map (initval => X"AEAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_38 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_38 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_38"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_38 : ENTITY IS TRUE; + + end SLICE_38; + + architecture Structure of SLICE_38 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40043 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40044 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_o2: lut40043 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_RNO: lut40044 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Ready: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40045 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40045 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; + + end lut40045; + + architecture Structure of lut40045 is + begin + INST10: ROM16X1A + generic map (initval => X"0400") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_39 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_39 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_39"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; + + end SLICE_39; + + architecture Structure of SLICE_39 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3: lut40045 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_fast_RNO: lut40033 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40046 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40046 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; + + end lut40046; + + architecture Structure of lut40046 is + begin + INST10: ROM16X1A + generic map (initval => X"C0C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_40 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_40 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_40"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_40 : ENTITY IS TRUE; + + end SLICE_40; + + architecture Structure of SLICE_40 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_1: lut40046 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_0: lut40046 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RowA_1: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, C0_ipd, B0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40047 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40047 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; + + end lut40047; + + architecture Structure of lut40047 is + begin + INST10: ROM16X1A + generic map (initval => X"CC00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40048 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40048 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; + + end lut40048; + + architecture Structure of lut40048 is + begin + INST10: ROM16X1A + generic map (initval => X"F000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_41 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_41 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_41"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; + + end SLICE_41; + + architecture Structure of SLICE_41 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40048 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_3: lut40047 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_2: lut40048 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_3: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_2: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40049 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40049 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; + + end lut40049; + + architecture Structure of lut40049 is + begin + INST10: ROM16X1A + generic map (initval => X"FF55") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40050 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40050 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; + + end lut40050; + + architecture Structure of lut40050 is + begin + INST10: ROM16X1A + generic map (initval => X"A0A0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_42 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_42 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_42"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; + + end SLICE_42; + + architecture Structure of SLICE_42 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40050 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_5: lut40049 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_4: lut40050 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RowA_5: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_4: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, C0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_43 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_43 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_43"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; + + end SLICE_43; + + architecture Structure of SLICE_43 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_7: lut40046 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_6: lut40046 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RowA_7: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_6: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, C0_ipd, B0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40051 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40051 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; + + end lut40051; + + architecture Structure of lut40051 is + begin + INST10: ROM16X1A + generic map (initval => X"CCFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40052 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40052 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; + + end lut40052; + + architecture Structure of lut40052 is + begin + INST10: ROM16X1A + generic map (initval => X"AA00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_44 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_44 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_44"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; + + end SLICE_44; + + architecture Structure of SLICE_44 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40051 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RowAd_9: lut40051 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RowAd_8: lut40052 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + RowA_9: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + RowA_8: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, A0_ipd, DI1_dly, DI0_dly, + CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_negedge, + SetupLow => tsetup_DI1_CLK_noedge_negedge, + HoldHigh => thold_DI1_CLK_noedge_negedge, + HoldLow => thold_DI1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40053 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40053 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; + + end lut40053; + + architecture Structure of lut40053 is + begin + INST10: ROM16X1A + generic map (initval => X"0C08") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_45 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_45 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_45"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_45 : ENTITY IS TRUE; + + end SLICE_45; + + architecture Structure of SLICE_45 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0009 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0: lut40053 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_0_i_o2_1: lut40024 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_1: vmuxregsre0009 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40054 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40054 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; + + end lut40054; + + architecture Structure of lut40054 is + begin + INST10: ROM16X1A + generic map (initval => X"4C00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40055 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40055 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; + + end lut40055; + + architecture Structure of lut40055 is + begin + INST10: ROM16X1A + generic map (initval => X"E2E2") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_46 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_46 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_46"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_46 : ENTITY IS TRUE; + + end SLICE_46; + + architecture Structure of SLICE_46 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40054 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40055 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_bm: lut40054 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG_3_u_0_GATE: lut40055 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + XOR8MEG: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40056 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40056 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; + + end lut40056; + + architecture Structure of lut40056 is + begin + INST10: ROM16X1A + generic map (initval => X"0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40057 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40057 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; + + end lut40057; + + architecture Structure of lut40057 is + begin + INST10: ROM16X1A + generic map (initval => X"AAF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_47 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_47 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_47"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_47 : ENTITY IS TRUE; + + end SLICE_47; + + architecture Structure of SLICE_47 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40056 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40057 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_rst10: lut40056 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + n8MEGEN_6: lut40057 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + n8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40058 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40058 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; + + end lut40058; + + architecture Structure of lut40058 is + begin + INST10: ROM16X1A + generic map (initval => X"0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40059 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40059 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40059 : ENTITY IS TRUE; + + end lut40059; + + architecture Structure of lut40059 is + begin + INST10: ROM16X1A + generic map (initval => X"DCEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_48 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_48 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_48"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_48 : ENTITY IS TRUE; + + end SLICE_48; + + architecture Structure of SLICE_48 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0009 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40059 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_0_0_a3_0: lut40058 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRowColSel_0_0: lut40059 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRowColSel: vmuxregsre0009 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40060 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40060 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; + + end lut40060; + + architecture Structure of lut40060 is + begin + INST10: ROM16X1A + generic map (initval => X"D1C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40061 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40061 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; + + end lut40061; + + architecture Structure of lut40061 is + begin + INST10: ROM16X1A + generic map (initval => X"BB88") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_49 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_49 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_49"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_49 : ENTITY IS TRUE; + + end SLICE_49; + + architecture Structure of SLICE_49 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_1: lut40060 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_adr_5_0: lut40061 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_1: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, + A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40062 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40062 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; + + end lut40062; + + architecture Structure of lut40062 is + begin + INST10: ROM16X1A + generic map (initval => X"8888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40063 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40063 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; + + end lut40063; + + architecture Structure of lut40063 is + begin + INST10: ROM16X1A + generic map (initval => X"A0A0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_50 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_50 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_50"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; + + end SLICE_50; + + architecture Structure of SLICE_50 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_3: lut40062 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_5_2: lut40063 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + wb_adr_3: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_2: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, A0_ipd, DI1_dly, DI0_dly, + CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40064 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40064 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; + + end lut40064; + + architecture Structure of lut40064 is + begin + INST10: ROM16X1A + generic map (initval => X"AFA0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_51 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_51 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_51"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI1: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; + + end SLICE_51; + + architecture Structure of SLICE_51 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_5: lut40064 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_5_4: lut40064 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_adr_5: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_4: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, + DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40065 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40065 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; + + end lut40065; + + architecture Structure of lut40065 is + begin + INST10: ROM16X1A + generic map (initval => X"AA00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40066 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40066 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; + + end lut40066; + + architecture Structure of lut40066 is + begin + INST10: ROM16X1A + generic map (initval => X"CCF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_52 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_52 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_52"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; + + end SLICE_52; + + architecture Structure of SLICE_52 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40065 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40066 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_5_7: lut40065 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_adr_5_6: lut40066 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_adr_7: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_adr_6: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40067 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40067 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; + + end lut40067; + + architecture Structure of lut40067 is + begin + INST10: ROM16X1A + generic map (initval => X"0100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40068 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40068 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; + + end lut40068; + + architecture Structure of lut40068 is + begin + INST10: ROM16X1A + generic map (initval => X"F8F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_53 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_53 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_53"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_53 : ENTITY IS TRUE; + + end SLICE_53; + + architecture Structure of SLICE_53 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0009 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40067 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40068 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_a3_2: lut40067 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_wb_cyc_stb_1_sqmuxa_0: lut40068 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_cyc_stb: vmuxregsre0009 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, LSR_dly, CLK_dly, F0_out, Q0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40069 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40069 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; + + end lut40069; + + architecture Structure of lut40069 is + begin + INST10: ROM16X1A + generic map (initval => X"FFF8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40070 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40070 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; + + end lut40070; + + architecture Structure of lut40070 is + begin + INST10: ROM16X1A + generic map (initval => X"EAC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_54 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_54 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_54"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_54 : ENTITY IS TRUE; + + end SLICE_54; + + architecture Structure of SLICE_54 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40070 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_1: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_0_iv_0_0: lut40070 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_dati_1: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, + F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40071 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40071 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; + + end lut40071; + + architecture Structure of lut40071 is + begin + INST10: ROM16X1A + generic map (initval => X"FEFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40072 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40072 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; + + end lut40072; + + architecture Structure of lut40072 is + begin + INST10: ROM16X1A + generic map (initval => X"FFEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_55 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_55 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_55"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; + + end SLICE_55; + + architecture Structure of SLICE_55 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40071 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_3: lut40071 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_2: lut40072 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_dati_3: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_2: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, + F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40073 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40073 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; + + end lut40073; + + architecture Structure of lut40073 is + begin + INST10: ROM16X1A + generic map (initval => X"FFEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40074 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40074 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; + + end lut40074; + + architecture Structure of lut40074 is + begin + INST10: ROM16X1A + generic map (initval => X"EFEA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_56 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_56 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_56"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; + + end SLICE_56; + + architecture Structure of SLICE_56 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_5: lut40073 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_4: lut40074 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_dati_5: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_4: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, + F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40075 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40075 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; + + end lut40075; + + architecture Structure of lut40075 is + begin + INST10: ROM16X1A + generic map (initval => X"FFEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40076 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40076 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; + + end lut40076; + + architecture Structure of lut40076 is + begin + INST10: ROM16X1A + generic map (initval => X"FFC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_57 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_57 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_57"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; + + end SLICE_57; + + architecture Structure of SLICE_57 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40076 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_7: lut40075 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_6: lut40076 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_7: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + wb_dati_6: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, DI1_dly, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40077 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40077 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; + + end lut40077; + + architecture Structure of lut40077 is + begin + INST10: ROM16X1A + generic map (initval => X"2E22") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_58 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_58 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_58"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; + + end SLICE_58; + + architecture Structure of SLICE_58 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0009 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + FS_RNIVOOA_14: lut40020 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_reqe: lut40077 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_req: vmuxregsre0009 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40078 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40078 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; + + end lut40078; + + architecture Structure of lut40078 is + begin + INST10: ROM16X1A + generic map (initval => X"4F0F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40079 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40079 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; + + end lut40079; + + architecture Structure of lut40079 is + begin + INST10: ROM16X1A + generic map (initval => X"7430") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_59 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_59 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_59"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; + + end SLICE_59; + + architecture Structure of SLICE_59 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40078 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNIS5A51: lut40078 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_rste: lut40079 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_rst: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40080 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40080 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; + + end lut40080; + + architecture Structure of lut40080 is + begin + INST10: ROM16X1A + generic map (initval => X"CD05") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_60 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_60 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_60"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_LSR : VitalDelayType := 0 ns; + tpw_LSR_posedge : VitalDelayType := 0 ns; + tpw_LSR_negedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; + + end SLICE_60; + + architecture Structure of SLICE_60 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0009 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40080 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_adr_0_sqmuxa_2: lut40033 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_we_0: lut40080 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + wb_we: vmuxregsre0009 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_LSR : x01 := '0'; + VARIABLE periodcheckinfo_LSR : VitalPeriodDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => LSR_ipd, + TestSignalName => "LSR", + Period => tperiod_LSR, + PulseWidthHigh => tpw_LSR_posedge, + PulseWidthLow => tpw_LSR_negedge, + PeriodData => periodcheckinfo_LSR, + Violation => tviol_LSR_LSR, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40081 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40081 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; + + end lut40081; + + architecture Structure of lut40081 is + begin + INST10: ROM16X1A + generic map (initval => X"FDFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40082 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40082 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40082 : ENTITY IS TRUE; + + end lut40082; + + architecture Structure of lut40082 is + begin + INST10: ROM16X1A + generic map (initval => X"FFAF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity wb_cyc_stb_RNO_SLICE_61 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity wb_cyc_stb_RNO_SLICE_61 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "wb_cyc_stb_RNO_SLICE_61"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; OFX0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF wb_cyc_stb_RNO_SLICE_61 : ENTITY IS TRUE; + + end wb_cyc_stb_RNO_SLICE_61; + + architecture Structure of wb_cyc_stb_RNO_SLICE_61 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + + signal wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_SLICE_61_K1_H1: Std_logic; + signal GNDI: Std_logic; + signal wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_GATE_H0: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + component lut40081 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40082 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_cyc_stb_RNO_SLICE_61_K1: lut40081 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, + Z=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_SLICE_61_K1_H1); + wb_cyc_stb_RNO_GATE: lut40082 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, + Z=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_GATE_H0); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_cyc_stb_RNO_SLICE_61_K0K1MUX: selmux2 + port map (D0=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_GATE_H0, + D1=>wb_cyc_stb_RNO_SLICE_61_wb_cyc_stb_RNO_SLICE_61_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, M0_ipd, OFX0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + OFX0_zd := OFX0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 7 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40083 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40083 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40083 : ENTITY IS TRUE; + + end lut40083; + + architecture Structure of lut40083 is + begin + INST10: ROM16X1A + generic map (initval => X"D8F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40084 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40084 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40084 : ENTITY IS TRUE; + + end lut40084; + + architecture Structure of lut40084 is + begin + INST10: ROM16X1A + generic map (initval => X"4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_62 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_62 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_62"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; + + end SLICE_62; + + architecture Structure of SLICE_62 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40083 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40084 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdValid_fast_RNITQBM1: lut40083 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ufmefb_EFBInst_0_RNI9PBJ: lut40084 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40085 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40085 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40085 : ENTITY IS TRUE; + + end lut40085; + + architecture Structure of lut40085 is + begin + INST10: ROM16X1A + generic map (initval => X"FFF7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40086 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40086 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40086 : ENTITY IS TRUE; + + end lut40086; + + architecture Structure of lut40086 is + begin + INST10: ROM16X1A + generic map (initval => X"51FB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_63 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_63 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_63"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; + + end SLICE_63; + + architecture Structure of SLICE_63 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40085 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40086 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0: lut40085 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_nRCAS_6_sqmuxa_i_0: lut40086 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40087 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40087 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40087 : ENTITY IS TRUE; + + end lut40087; + + architecture Structure of lut40087 is + begin + INST10: ROM16X1A + generic map (initval => X"F1FA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40088 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40088 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40088 : ENTITY IS TRUE; + + end lut40088; + + architecture Structure of lut40088 is + begin + INST10: ROM16X1A + generic map (initval => X"4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_64 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_64 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_64"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; + + end SLICE_64; + + architecture Structure of SLICE_64 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40087 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40088 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO: lut40087 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_0_sqmuxa_1_0_a3: lut40088 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40089 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40089 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40089 : ENTITY IS TRUE; + + end lut40089; + + architecture Structure of lut40089 is + begin + INST10: ROM16X1A + generic map (initval => X"0520") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40090 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40090 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40090 : ENTITY IS TRUE; + + end lut40090; + + architecture Structure of lut40090 is + begin + INST10: ROM16X1A + generic map (initval => X"7071") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_65 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_65 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_65"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_65 : ENTITY IS TRUE; + + end SLICE_65; + + architecture Structure of SLICE_65 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40089 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40090 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_40_1_0: lut40089 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_40_1_0_1: lut40090 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40091 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40091 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40091 : ENTITY IS TRUE; + + end lut40091; + + architecture Structure of lut40091 is + begin + INST10: ROM16X1A + generic map (initval => X"1133") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40092 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40092 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40092 : ENTITY IS TRUE; + + end lut40092; + + architecture Structure of lut40092 is + begin + INST10: ROM16X1A + generic map (initval => X"1303") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_66 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_66 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_66"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; + + end SLICE_66; + + architecture Structure of SLICE_66 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40091 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40092 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_0io_RNO_0: lut40091 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRCAS_0io_RNO: lut40092 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40093 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40093 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40093 : ENTITY IS TRUE; + + end lut40093; + + architecture Structure of lut40093 is + begin + INST10: ROM16X1A + generic map (initval => X"0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40094 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40094 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40094 : ENTITY IS TRUE; + + end lut40094; + + architecture Structure of lut40094 is + begin + INST10: ROM16X1A + generic map (initval => X"FCCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_67 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_67 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_67"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; + + end SLICE_67; + + architecture Structure of SLICE_67 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40093 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40094 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_1: lut40093 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_o3_2: lut40094 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40095 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40095 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40095 : ENTITY IS TRUE; + + end lut40095; + + architecture Structure of lut40095 is + begin + INST10: ROM16X1A + generic map (initval => X"05AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40096 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40096 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40096 : ENTITY IS TRUE; + + end lut40096; + + architecture Structure of lut40096 is + begin + INST10: ROM16X1A + generic map (initval => X"0004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_68 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_68 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_68"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; + + end SLICE_68; + + architecture Structure of SLICE_68 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40095 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40096 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO_1: lut40095 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRWE_0io_RNO_4: lut40096 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40097 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40097 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40097 : ENTITY IS TRUE; + + end lut40097; + + architecture Structure of lut40097 is + begin + INST10: ROM16X1A + generic map (initval => X"AFFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40098 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40098 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40098 : ENTITY IS TRUE; + + end lut40098; + + architecture Structure of lut40098 is + begin + INST10: ROM16X1A + generic map (initval => X"1100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_69 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_69 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_69"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; + + end SLICE_69; + + architecture Structure of SLICE_69 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40097 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40098 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO_3: lut40097 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_RNICVV51_0: lut40098 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40099 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40099 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40099 : ENTITY IS TRUE; + + end lut40099; + + architecture Structure of lut40099 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40100 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40100 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40100 : ENTITY IS TRUE; + + end lut40100; + + architecture Structure of lut40100 is + begin + INST10: ROM16X1A + generic map (initval => X"2020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_70 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_70 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_70"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; + + end SLICE_70; + + architecture Structure of SLICE_70 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40099 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40100 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_4: lut40099 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_a3_RNO_4: lut40100 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40101 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40101 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40101 : ENTITY IS TRUE; + + end lut40101; + + architecture Structure of lut40101 is + begin + INST10: ROM16X1A + generic map (initval => X"2002") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_71 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_71 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_71"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; + + end SLICE_71; + + architecture Structure of SLICE_71 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40050 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40101 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_we113_i_a2: lut40050 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_RNO_7: lut40101 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40102 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40102 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40102 : ENTITY IS TRUE; + + end lut40102; + + architecture Structure of lut40102 is + begin + INST10: ROM16X1A + generic map (initval => X"8A00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40103 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40103 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40103 : ENTITY IS TRUE; + + end lut40103; + + architecture Structure of lut40103 is + begin + INST10: ROM16X1A + generic map (initval => X"0004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_72 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_72 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_72"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; + + end SLICE_72; + + architecture Structure of SLICE_72 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40102 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40103 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_2: lut40102 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + FS_RNI3V8E_9: lut40103 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40104 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40104 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40104 : ENTITY IS TRUE; + + end lut40104; + + architecture Structure of lut40104 is + begin + INST10: ROM16X1A + generic map (initval => X"0080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40105 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40105 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40105 : ENTITY IS TRUE; + + end lut40105; + + architecture Structure of lut40105 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_73 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_73 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_73"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; + + end SLICE_73; + + architecture Structure of SLICE_73 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40104 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40105 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG14: lut40104 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdUFMData_RNO: lut40105 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMData: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40106 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40106 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40106 : ENTITY IS TRUE; + + end lut40106; + + architecture Structure of lut40106 is + begin + INST10: ROM16X1A + generic map (initval => X"0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40107 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40107 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40107 : ENTITY IS TRUE; + + end lut40107; + + architecture Structure of lut40107 is + begin + INST10: ROM16X1A + generic map (initval => X"FFEA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_74 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_74 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_74"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; + + end SLICE_74; + + architecture Structure of SLICE_74 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40106 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40107 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_6: lut40106 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_1_6: lut40107 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40108 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40108 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40108 : ENTITY IS TRUE; + + end lut40108; + + architecture Structure of lut40108 is + begin + INST10: ROM16X1A + generic map (initval => X"0022") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40109 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40109 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40109 : ENTITY IS TRUE; + + end lut40109; + + architecture Structure of lut40109 is + begin + INST10: ROM16X1A + generic map (initval => X"F888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_75 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_75 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_75"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; + + end SLICE_75; + + architecture Structure of SLICE_75 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40108 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40109 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a2_0_3: lut40108 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_0_3: lut40109 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40110 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40110 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40110 : ENTITY IS TRUE; + + end lut40110; + + architecture Structure of lut40110 is + begin + INST10: ROM16X1A + generic map (initval => X"0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_76 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_76 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_76"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; + + end SLICE_76; + + architecture Structure of SLICE_76 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40110 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_cnst_sn_m2_0_a3: lut40110 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_RNO_4: lut40063 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40111 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40111 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40111 : ENTITY IS TRUE; + + end lut40111; + + architecture Structure of lut40111 is + begin + INST10: ROM16X1A + generic map (initval => X"FFFC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40112 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40112 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40112 : ENTITY IS TRUE; + + end lut40112; + + architecture Structure of lut40112 is + begin + INST10: ROM16X1A + generic map (initval => X"FF0E") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_77 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_77 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_77"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; + + end SLICE_77; + + architecture Structure of SLICE_77 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40111 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40112 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_o2: lut40111 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRRAS_5_u_i: lut40112 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40113 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40113 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40113 : ENTITY IS TRUE; + + end lut40113; + + architecture Structure of lut40113 is + begin + INST10: ROM16X1A + generic map (initval => X"B5B5") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40114 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40114 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40114 : ENTITY IS TRUE; + + end lut40114; + + architecture Structure of lut40114 is + begin + INST10: ROM16X1A + generic map (initval => X"C000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_78 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_78 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_78"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; + + end SLICE_78; + + architecture Structure of SLICE_78 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40113 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40114 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_m3_7: lut40113 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a3_7: lut40114 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40115 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40115 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40115 : ENTITY IS TRUE; + + end lut40115; + + architecture Structure of lut40115 is + begin + INST10: ROM16X1A + generic map (initval => X"8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40116 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40116 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40116 : ENTITY IS TRUE; + + end lut40116; + + architecture Structure of lut40116 is + begin + INST10: ROM16X1A + generic map (initval => X"ECA0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_79 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_79 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_79"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; + + end SLICE_79; + + architecture Structure of SLICE_79 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40115 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40116 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_2_0_1: lut40115 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_0_1: lut40116 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40117 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40117 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40117 : ENTITY IS TRUE; + + end lut40117; + + architecture Structure of lut40117 is + begin + INST10: ROM16X1A + generic map (initval => X"0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40118 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40118 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40118 : ENTITY IS TRUE; + + end lut40118; + + architecture Structure of lut40118 is + begin + INST10: ROM16X1A + generic map (initval => X"EEEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_80 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_80 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_80"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; + + end SLICE_80; + + architecture Structure of SLICE_80 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40117 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40118 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_1_1_4: lut40117 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_1_4: lut40118 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40119 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40119 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40119 : ENTITY IS TRUE; + + end lut40119; + + architecture Structure of lut40119 is + begin + INST10: ROM16X1A + generic map (initval => X"0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40120 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40120 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40120 : ENTITY IS TRUE; + + end lut40120; + + architecture Structure of lut40120 is + begin + INST10: ROM16X1A + generic map (initval => X"FEFC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_81 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_81 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_81"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; + + end SLICE_81; + + architecture Structure of SLICE_81 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40119 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40120 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_3_7: lut40119 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_1_7: lut40120 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40121 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40121 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40121 : ENTITY IS TRUE; + + end lut40121; + + architecture Structure of lut40121 is + begin + INST10: ROM16X1A + generic map (initval => X"1111") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40122 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40122 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40122 : ENTITY IS TRUE; + + end lut40122; + + architecture Structure of lut40122 is + begin + INST10: ROM16X1A + generic map (initval => X"9040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_82 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_82 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_82"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; + + end SLICE_82; + + architecture Structure of SLICE_82 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40121 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40122 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_we95_0_0: lut40121 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_we95_1: lut40122 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40123 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40123 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40123 : ENTITY IS TRUE; + + end lut40123; + + architecture Structure of lut40123 is + begin + INST10: ROM16X1A + generic map (initval => X"0011") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_83 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_83 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_83"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; + + end SLICE_83; + + architecture Structure of SLICE_83 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40102 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40123 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a2_7: lut40123 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a3_1_7: lut40102 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40124 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40124 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40124 : ENTITY IS TRUE; + + end lut40124; + + architecture Structure of lut40124 is + begin + INST10: ROM16X1A + generic map (initval => X"0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40125 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40125 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40125 : ENTITY IS TRUE; + + end lut40125; + + architecture Structure of lut40125 is + begin + INST10: ROM16X1A + generic map (initval => X"0500") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_84 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_84 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_84"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; + + end SLICE_84; + + architecture Structure of SLICE_84 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40124 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40125 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_29: lut40124 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_adr_cnst_sn_m4_32: lut40125 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40126 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40126 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40126 : ENTITY IS TRUE; + + end lut40126; + + architecture Structure of lut40126 is + begin + INST10: ROM16X1A + generic map (initval => X"8484") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40127 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40127 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40127 : ENTITY IS TRUE; + + end lut40127; + + architecture Structure of lut40127 is + begin + INST10: ROM16X1A + generic map (initval => X"F4F8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_85 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_85 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_85"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; + + end SLICE_85; + + architecture Structure of SLICE_85 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40126 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40127 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_adr_cnst_0_0: lut40126 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_FS_40_1_1_1: lut40127 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40128 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40128 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40128 : ENTITY IS TRUE; + + end lut40128; + + architecture Structure of lut40128 is + begin + INST10: ROM16X1A + generic map (initval => X"FBAB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_86 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_86 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_86"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; + + end SLICE_86; + + architecture Structure of SLICE_86 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40114 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40128 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_40_1_o6: lut40128 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_40_1_a6: lut40114 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40129 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40129 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40129 : ENTITY IS TRUE; + + end lut40129; + + architecture Structure of lut40129 is + begin + INST10: ROM16X1A + generic map (initval => X"33FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40130 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40130 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40130 : ENTITY IS TRUE; + + end lut40130; + + architecture Structure of lut40130 is + begin + INST10: ROM16X1A + generic map (initval => X"8008") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_87 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_87 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_87"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; + + end SLICE_87; + + architecture Structure of SLICE_87 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40129 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40130 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_21_1_i: lut40129 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_we95: lut40130 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40131 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40131 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40131 : ENTITY IS TRUE; + + end lut40131; + + architecture Structure of lut40131 is + begin + INST10: ROM16X1A + generic map (initval => X"77F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40132 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40132 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40132 : ENTITY IS TRUE; + + end lut40132; + + architecture Structure of lut40132 is + begin + INST10: ROM16X1A + generic map (initval => X"2055") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_88 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_88 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_88"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; + + end SLICE_88; + + architecture Structure of SLICE_88 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40131 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40132 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_0io_RNO: lut40131 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_r_i_a3_1_1_tz: lut40132 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40133 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40133 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40133 : ENTITY IS TRUE; + + end lut40133; + + architecture Structure of lut40133 is + begin + INST10: ROM16X1A + generic map (initval => X"BBBB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40134 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40134 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40134 : ENTITY IS TRUE; + + end lut40134; + + architecture Structure of lut40134 is + begin + INST10: ROM16X1A + generic map (initval => X"0080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_89 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_89 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_89"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; + + end SLICE_89; + + architecture Structure of SLICE_89 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40133 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40134 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_o3: lut40133 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_cyc_stb_2_sqmuxa_i_a3: lut40134 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40135 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40135 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40135 : ENTITY IS TRUE; + + end lut40135; + + architecture Structure of lut40135 is + begin + INST10: ROM16X1A + generic map (initval => X"F0E0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40136 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40136 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40136 : ENTITY IS TRUE; + + end lut40136; + + architecture Structure of lut40136 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_90 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_90 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_90"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; + + end SLICE_90; + + architecture Structure of SLICE_90 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40135 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40136 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_CMDWR: lut40135 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_7: lut40136 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40137 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40137 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40137 : ENTITY IS TRUE; + + end lut40137; + + architecture Structure of lut40137 is + begin + INST10: ROM16X1A + generic map (initval => X"C8C8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_91 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_91 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_91"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; + + end SLICE_91; + + architecture Structure of SLICE_91 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40105 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40137 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_ADWR: lut40137 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + ADWR_7: lut40105 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40138 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40138 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40138 : ENTITY IS TRUE; + + end lut40138; + + architecture Structure of lut40138 is + begin + INST10: ROM16X1A + generic map (initval => X"C000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40139 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40139 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40139 : ENTITY IS TRUE; + + end lut40139; + + architecture Structure of lut40139 is + begin + INST10: ROM16X1A + generic map (initval => X"0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_92 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_92 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_92"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; + + end SLICE_92; + + architecture Structure of SLICE_92 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40138 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40139 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0: lut40138 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1WR_2: lut40139 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40140 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40140 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40140 : ENTITY IS TRUE; + + end lut40140; + + architecture Structure of lut40140 is + begin + INST10: ROM16X1A + generic map (initval => X"AFFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40141 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40141 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40141 : ENTITY IS TRUE; + + end lut40141; + + architecture Structure of lut40141 is + begin + INST10: ROM16X1A + generic map (initval => X"CFDF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_93 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_93 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_93"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; + + end SLICE_93; + + architecture Structure of SLICE_93 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40140 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40141 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_adr_0_sqmuxa_3: lut40140 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_we113_i_0: lut40141 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40142 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40142 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40142 : ENTITY IS TRUE; + + end lut40142; + + architecture Structure of lut40142 is + begin + INST10: ROM16X1A + generic map (initval => X"8888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40143 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40143 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40143 : ENTITY IS TRUE; + + end lut40143; + + architecture Structure of lut40143 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_94 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_94 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_94"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; + + end SLICE_94; + + architecture Structure of SLICE_94 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40142 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40143 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_Bank_1_3: lut40142 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_Bank_1: lut40143 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40144 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40144 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40144 : ENTITY IS TRUE; + + end lut40144; + + architecture Structure of lut40144 is + begin + INST10: ROM16X1A + generic map (initval => X"4444") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40145 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40145 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40145 : ENTITY IS TRUE; + + end lut40145; + + architecture Structure of lut40145 is + begin + INST10: ROM16X1A + generic map (initval => X"0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_95 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_95 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_95"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_95 : ENTITY IS TRUE; + + end SLICE_95; + + architecture Structure of SLICE_95 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40144 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40145 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_PHI2r3_0: lut40144 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_cyc_stb_1_sqmuxa_0_a3: lut40145 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40146 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40146 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40146 : ENTITY IS TRUE; + + end lut40146; + + architecture Structure of lut40146 is + begin + INST10: ROM16X1A + generic map (initval => X"0005") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40147 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40147 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40147 : ENTITY IS TRUE; + + end lut40147; + + architecture Structure of lut40147 is + begin + INST10: ROM16X1A + generic map (initval => X"8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_96 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_96 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_96"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_96 : ENTITY IS TRUE; + + end SLICE_96; + + architecture Structure of SLICE_96 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40146 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40147 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_wb_cyc_stb_2_sqmuxa_i_a3_1: lut40146 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2: lut40147 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40148 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40148 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40148 : ENTITY IS TRUE; + + end lut40148; + + architecture Structure of lut40148 is + begin + INST10: ROM16X1A + generic map (initval => X"0C0C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40149 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40149 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40149 : ENTITY IS TRUE; + + end lut40149; + + architecture Structure of lut40149 is + begin + INST10: ROM16X1A + generic map (initval => X"8F0F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_97 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_97 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_97"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_97 : ENTITY IS TRUE; + + end SLICE_97; + + architecture Structure of SLICE_97 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40148 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40149 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNIFT0I: lut40148 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMShift_fast_RNIG9JD1: lut40149 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40150 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40150 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40150 : ENTITY IS TRUE; + + end lut40150; + + architecture Structure of lut40150 is + begin + INST10: ROM16X1A + generic map (initval => X"0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40151 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40151 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40151 : ENTITY IS TRUE; + + end lut40151; + + architecture Structure of lut40151 is + begin + INST10: ROM16X1A + generic map (initval => X"5000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_98 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_98 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_98"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_98 : ENTITY IS TRUE; + + end SLICE_98; + + architecture Structure of SLICE_98 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40150 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40151 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_0io_RNO_2: lut40150 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRWE_0io_RNO_0: lut40151 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40152 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40152 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40152 : ENTITY IS TRUE; + + end lut40152; + + architecture Structure of lut40152 is + begin + INST10: ROM16X1A + generic map (initval => X"8100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_99 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_99 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_99"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_99 : ENTITY IS TRUE; + + end SLICE_99; + + architecture Structure of SLICE_99 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40143 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40152 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_0_0_0_1: lut40143 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_a3_0_0_3: lut40152 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40153 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40153 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40153 : ENTITY IS TRUE; + + end lut40153; + + architecture Structure of lut40153 is + begin + INST10: ROM16X1A + generic map (initval => X"4042") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40154 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40154 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40154 : ENTITY IS TRUE; + + end lut40154; + + architecture Structure of lut40154 is + begin + INST10: ROM16X1A + generic map (initval => X"2004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_100 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_100 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_100"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_100 : ENTITY IS TRUE; + + end SLICE_100; + + architecture Structure of SLICE_100 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40153 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40154 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_40_1_1_tz: lut40153 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + wb_dati_5_1_iv_0_o3_1: lut40154 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40155 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40155 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40155 : ENTITY IS TRUE; + + end lut40155; + + architecture Structure of lut40155 is + begin + INST10: ROM16X1A + generic map (initval => X"0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40156 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40156 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40156 : ENTITY IS TRUE; + + end lut40156; + + architecture Structure of lut40156 is + begin + INST10: ROM16X1A + generic map (initval => X"0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_101 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_101 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_101"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_101 : ENTITY IS TRUE; + + end SLICE_101; + + architecture Structure of SLICE_101 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40155 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40156 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_5: lut40155 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_Din_2: lut40156 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40157 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40157 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40157 : ENTITY IS TRUE; + + end lut40157; + + architecture Structure of lut40157 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40158 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40158 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40158 : ENTITY IS TRUE; + + end lut40158; + + architecture Structure of lut40158 is + begin + INST10: ROM16X1A + generic map (initval => X"0030") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_102 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_102 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_102"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_102 : ENTITY IS TRUE; + + end SLICE_102; + + architecture Structure of SLICE_102 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40157 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40158 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a3_2: lut40157 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_11: lut40158 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40159 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40159 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40159 : ENTITY IS TRUE; + + end lut40159; + + architecture Structure of lut40159 is + begin + INST10: ROM16X1A + generic map (initval => X"C030") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40160 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40160 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40160 : ENTITY IS TRUE; + + end lut40160; + + architecture Structure of lut40160 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_103 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_103 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_103"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_103 : ENTITY IS TRUE; + + end SLICE_103; + + architecture Structure of SLICE_103 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40159 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40160 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a3_0_0_6: lut40159 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a3_3_0_7: lut40160 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40161 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40161 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40161 : ENTITY IS TRUE; + + end lut40161; + + architecture Structure of lut40161 is + begin + INST10: ROM16X1A + generic map (initval => X"1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_104 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_104 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_104"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_104 : ENTITY IS TRUE; + + end SLICE_104; + + architecture Structure of SLICE_104 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40161 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_4: lut40045 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdEnable17_4: lut40161 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40162 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40162 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40162 : ENTITY IS TRUE; + + end lut40162; + + architecture Structure of lut40162 is + begin + INST10: ROM16X1A + generic map (initval => X"00A0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40163 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40163 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40163 : ENTITY IS TRUE; + + end lut40163; + + architecture Structure of lut40163 is + begin + INST10: ROM16X1A + generic map (initval => X"0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_105 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_105 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_105"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_105 : ENTITY IS TRUE; + + end SLICE_105; + + architecture Structure of SLICE_105 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40162 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40163 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + ADWR_4: lut40162 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CMDWR_2: lut40163 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CBR_fast: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CBR: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40164 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40164 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40164 : ENTITY IS TRUE; + + end lut40164; + + architecture Structure of lut40164 is + begin + INST10: ROM16X1A + generic map (initval => X"00CC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40165 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40165 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40165 : ENTITY IS TRUE; + + end lut40165; + + architecture Structure of lut40165 is + begin + INST10: ROM16X1A + generic map (initval => X"0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_106 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_106 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_106"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_106 : ENTITY IS TRUE; + + end SLICE_106; + + architecture Structure of SLICE_106 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40164 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40165 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG9_1: lut40164 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_5: lut40165 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40166 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40166 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40166 : ENTITY IS TRUE; + + end lut40166; + + architecture Structure of lut40166 is + begin + INST10: ROM16X1A + generic map (initval => X"CFCF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40167 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40167 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40167 : ENTITY IS TRUE; + + end lut40167; + + architecture Structure of lut40167 is + begin + INST10: ROM16X1A + generic map (initval => X"CACA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_107 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_107 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_107"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_107 : ENTITY IS TRUE; + + end SLICE_107; + + architecture Structure of SLICE_107 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40166 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40167 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQMH: lut40166 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_9: lut40167 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40168 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40168 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40168 : ENTITY IS TRUE; + + end lut40168; + + architecture Structure of lut40168 is + begin + INST10: ROM16X1A + generic map (initval => X"0F01") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40169 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40169 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40169 : ENTITY IS TRUE; + + end lut40169; + + architecture Structure of lut40169 is + begin + INST10: ROM16X1A + generic map (initval => X"000F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_108 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_108 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_108"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_108 : ENTITY IS TRUE; + + end SLICE_108; + + architecture Structure of SLICE_108 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40168 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40169 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0_RNILD5I: lut40168 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_0_sqmuxa_0_o2_0_RNIS63D: lut40169 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FWEr_fast: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40170 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40170 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40170 : ENTITY IS TRUE; + + end lut40170; + + architecture Structure of lut40170 is + begin + INST10: ROM16X1A + generic map (initval => X"5500") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40171 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40171 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40171 : ENTITY IS TRUE; + + end lut40171; + + architecture Structure of lut40171 is + begin + INST10: ROM16X1A + generic map (initval => X"0F00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_109 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_109 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_109"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_109 : ENTITY IS TRUE; + + end SLICE_109; + + architecture Structure of SLICE_109 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40170 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40171 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + wb_dati_5_1_iv_0_a2_4: lut40170 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_1_iv_0_a2_0_4: lut40171 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40172 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40172 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40172 : ENTITY IS TRUE; + + end lut40172; + + architecture Structure of lut40172 is + begin + INST10: ROM16X1A + generic map (initval => X"3F3F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40173 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40173 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40173 : ENTITY IS TRUE; + + end lut40173; + + architecture Structure of lut40173 is + begin + INST10: ROM16X1A + generic map (initval => X"6000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_110 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_110 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_110"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_110 : ENTITY IS TRUE; + + end SLICE_110; + + architecture Structure of SLICE_110 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40172 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40173 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_22_1_i: lut40172 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + wb_dati_5_0_iv_0_a3_1_0: lut40173 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40174 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40174 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40174 : ENTITY IS TRUE; + + end lut40174; + + architecture Structure of lut40174 is + begin + INST10: ROM16X1A + generic map (initval => X"8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_111 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_111 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_111"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_111 : ENTITY IS TRUE; + + end SLICE_111; + + architecture Structure of SLICE_111 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40174 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_7: lut40013 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + ADWR_5: lut40174 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40175 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40175 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40175 : ENTITY IS TRUE; + + end lut40175; + + architecture Structure of lut40175 is + begin + INST10: ROM16X1A + generic map (initval => X"3F3F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40176 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40176 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40176 : ENTITY IS TRUE; + + end lut40176; + + architecture Structure of lut40176 is + begin + INST10: ROM16X1A + generic map (initval => X"F0CC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_112 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_112 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_112"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_112 : ENTITY IS TRUE; + + end SLICE_112; + + architecture Structure of SLICE_112 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40175 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40176 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQML: lut40175 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_0: lut40176 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_113 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_113 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_113"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_113 : ENTITY IS TRUE; + + end SLICE_113; + + architecture Structure of SLICE_113 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_8: lut40038 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_1: lut40038 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40177 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40177 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40177 : ENTITY IS TRUE; + + end lut40177; + + architecture Structure of lut40177 is + begin + INST10: ROM16X1A + generic map (initval => X"E4E4") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_114 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_114 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_114"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_114 : ENTITY IS TRUE; + + end SLICE_114; + + architecture Structure of SLICE_114 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40177 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_6: lut40038 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_2: lut40177 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40178 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40178 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40178 : ENTITY IS TRUE; + + end lut40178; + + architecture Structure of lut40178 is + begin + INST10: ROM16X1A + generic map (initval => X"BB88") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40179 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40179 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40179 : ENTITY IS TRUE; + + end lut40179; + + architecture Structure of lut40179 is + begin + INST10: ROM16X1A + generic map (initval => X"D8D8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_115 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_115 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_115"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_115 : ENTITY IS TRUE; + + end SLICE_115; + + architecture Structure of SLICE_115 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40178 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40179 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_5: lut40178 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_3: lut40179 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40180 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40180 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40180 : ENTITY IS TRUE; + + end lut40180; + + architecture Structure of lut40180 is + begin + INST10: ROM16X1A + generic map (initval => X"8488") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40181 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40181 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40181 : ENTITY IS TRUE; + + end lut40181; + + architecture Structure of lut40181 is + begin + INST10: ROM16X1A + generic map (initval => X"4444") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_116 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_116 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_116"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_116 : ENTITY IS TRUE; + + end SLICE_116; + + architecture Structure of SLICE_116 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40180 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40181 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA11d: lut40180 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG14_1: lut40181 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40182 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40182 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40182 : ENTITY IS TRUE; + + end lut40182; + + architecture Structure of lut40182 is + begin + INST10: ROM16X1A + generic map (initval => X"0300") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40183 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40183 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40183 : ENTITY IS TRUE; + + end lut40183; + + architecture Structure of lut40183 is + begin + INST10: ROM16X1A + generic map (initval => X"4CF3") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_117 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_117 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_117"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_117 : ENTITY IS TRUE; + + end SLICE_117; + + architecture Structure of SLICE_117 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40182 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40183 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_0io_RNO_0: lut40182 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN_8_u_1_0: lut40183 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40184 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity lut40184 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40184 : ENTITY IS TRUE; + + end lut40184; + + architecture Structure of lut40184 is + begin + INST10: ROM16X1A + generic map (initval => X"C0C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_118 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity SLICE_118 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_118"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_118 : ENTITY IS TRUE; + + end SLICE_118; + + architecture Structure of SLICE_118 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40184 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RBAd_0: lut40184 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RBAd_1: lut40184 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + PHI2r3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, C0_ipd, B0_ipd, M0_dly, CLK_dly, + F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf is + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf : ENTITY IS TRUE; + + end xo2iobuf; + + architecture Structure of xo2iobuf is + begin + INST1: IB + port map (I=>PADI, O=>Z); + INST2: OBW + port map (I=>I, T=>T, O=>PAD); + end Structure; + +-- entity RD_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD0 : VitalDelayType := 0 ns; + tpw_RD0_posedge : VitalDelayType := 0 ns; + tpw_RD0_negedge : VitalDelayType := 0 ns; + tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD0: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; + + end RD_0_B; + + architecture Structure of RD_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD0_ipd : std_logic := 'X'; + signal RD0_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_0: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, + PADI=>RD0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD0_ipd, RD0, tipd_RD0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD0_ipd, RD0_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD0_zd : std_logic := 'X'; + VARIABLE RD0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD0_RD0 : x01 := '0'; + VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD0_ipd, + TestSignalName => "RD0", + Period => tperiod_RD0, + PulseWidthHigh => tpw_RD0_posedge, + PulseWidthLow => tpw_RD0_negedge, + PeriodData => periodcheckinfo_RD0, + Violation => tviol_RD0_RD0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD0_zd := RD0_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD0_ipd'last_event, + PathDelay => tpd_RD0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD0, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD0, + PathCondition => TRUE)), + GlitchData => RD0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mfflsre + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity mfflsre is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mfflsre : ENTITY IS TRUE; + + end mfflsre; + + architecture Structure of mfflsre is + begin + INST01: FD1P3DX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, CK=>CK, CD=>LSR, Q=>Q); + end Structure; + +-- entity RD_0_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_0_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_MGIOL : ENTITY IS TRUE; + + end RD_0_MGIOL; + + architecture Structure of RD_0_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_0: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0185 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0185 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0185 : ENTITY IS TRUE; + + end xo2iobuf0185; + + architecture Structure of xo2iobuf0185 is + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity Dout_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; + + end Dout_0_B; + + architecture Structure of Dout_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout0_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_0: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) + VARIABLE Dout0_zd : std_logic := 'X'; + VARIABLE Dout0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout0_zd := Dout0_out; + + VitalPathDelay01 ( + OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout0, + PathCondition => TRUE)), + GlitchData => Dout0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0186 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0186 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0186 : ENTITY IS TRUE; + + end xo2iobuf0186; + + architecture Structure of xo2iobuf0186 is + begin + INST1: IBPD + port map (I=>PAD, O=>Z); + end Structure; + +-- entity PHI2B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity PHI2B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2B"; + + tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); + tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_PHI2S : VitalDelayType := 0 ns; + tpw_PHI2S_posedge : VitalDelayType := 0 ns; + tpw_PHI2S_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; PHI2S: in Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; + + end PHI2B; + + architecture Structure of PHI2B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PHI2S_ipd : std_logic := 'X'; + + component xo2iobuf0186 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + PHI2_pad: xo2iobuf0186 + port map (Z=>PADDI_out, PAD=>PHI2S_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; + VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => PHI2S_ipd, + TestSignalName => "PHI2S", + Period => tperiod_PHI2S, + PulseWidthHigh => tpw_PHI2S_posedge, + PulseWidthLow => tpw_PHI2S_negedge, + PeriodData => periodcheckinfo_PHI2S, + Violation => tviol_PHI2S_PHI2S, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, + PathDelay => tpd_PHI2S_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity smuxlregsre + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity smuxlregsre is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF smuxlregsre : ENTITY IS TRUE; + + end smuxlregsre; + + architecture Structure of smuxlregsre is + begin + INST01: IFS1P3DX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, SCLK=>CK, CD=>LSR, Q=>Q); + end Structure; + +-- entity PHI2_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity PHI2_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2_MGIOL : ENTITY IS TRUE; + + end PHI2_MGIOL; + + architecture Structure of PHI2_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + PHI2r_0io: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMLB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RDQMLB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMLB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMLS : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; + + end RDQMLB; + + architecture Structure of RDQMLB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMLS_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQML_pad: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RDQMLS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) + VARIABLE RDQMLS_zd : std_logic := 'X'; + VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMLS_zd := RDQMLS_out; + + VitalPathDelay01 ( + OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMLS, + PathCondition => TRUE)), + GlitchData => RDQMLS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMHB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RDQMHB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMHB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMHS : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; + + end RDQMHB; + + architecture Structure of RDQMHB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMHS_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQMH_pad: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RDQMHS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) + VARIABLE RDQMHS_zd : std_logic := 'X'; + VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMHS_zd := RDQMHS_out; + + VitalPathDelay01 ( + OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMHS, + PathCondition => TRUE)), + GlitchData => RDQMHS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCASB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRCASS : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRCASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; + + end nRCASB; + + architecture Structure of nRCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRCASS_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCAS_pad: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>nRCASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRCASS_out) + VARIABLE nRCASS_zd : std_logic := 'X'; + VARIABLE nRCASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCASS_zd := nRCASS_out; + + VitalPathDelay01 ( + OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRCASS, + PathCondition => TRUE)), + GlitchData => nRCASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mfflsre0187 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity mfflsre0187 is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mfflsre0187 : ENTITY IS TRUE; + + end mfflsre0187; + + architecture Structure of mfflsre0187 is + begin + INST01: FD1P3BX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, CK=>CK, PD=>LSR, Q=>Q); + end Structure; + +-- entity nRCAS_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCAS_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCAS_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCAS_MGIOL : ENTITY IS TRUE; + + end nRCAS_MGIOL; + + architecture Structure of nRCAS_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0187 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRCAS_0io: mfflsre0187 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRASB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRRASS : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRRASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; + + end nRRASB; + + architecture Structure of nRRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRRASS_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRRAS_pad: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>nRRASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRRASS_out) + VARIABLE nRRASS_zd : std_logic := 'X'; + VARIABLE nRRASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRRASS_zd := nRRASS_out; + + VitalPathDelay01 ( + OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRRASS, + PathCondition => TRUE)), + GlitchData => nRRASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRAS_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRRAS_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRAS_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRAS_MGIOL : ENTITY IS TRUE; + + end nRRAS_MGIOL; + + architecture Structure of nRRAS_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0187 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRRAS_0io: mfflsre0187 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWEB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWEB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRWES : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRWES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; + + end nRWEB; + + architecture Structure of nRWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRWES_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRWE_pad: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>nRWES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRWES_out) + VARIABLE nRWES_zd : std_logic := 'X'; + VARIABLE nRWES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRWES_zd := nRWES_out; + + VitalPathDelay01 ( + OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRWES, + PathCondition => TRUE)), + GlitchData => nRWES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWE_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRWE_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWE_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWE_MGIOL : ENTITY IS TRUE; + + end nRWE_MGIOL; + + architecture Structure of nRWE_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0187 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRWE_0io: mfflsre0187 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCKEB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RCKEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCKEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RCKES : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RCKES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; + + end RCKEB; + + architecture Structure of RCKEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RCKES_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RCKE_pad: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RCKES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) + VARIABLE RCKES_zd : std_logic := 'X'; + VARIABLE RCKES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RCKES_zd := RCKES_out; + + VitalPathDelay01 ( + OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RCKES, + PathCondition => TRUE)), + GlitchData => RCKES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0188 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0188 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0188 : ENTITY IS TRUE; + + end xo2iobuf0188; + + architecture Structure of xo2iobuf0188 is + begin + INST1: IB + port map (I=>PAD, O=>Z); + end Structure; + +-- entity RCLKB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCLKB"; + + tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); + tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RCLKS : VitalDelayType := 0 ns; + tpw_RCLKS_posedge : VitalDelayType := 0 ns; + tpw_RCLKS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; RCLKS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; + + end RCLKB; + + architecture Structure of RCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal RCLKS_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + RCLK_pad: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>RCLKS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; + VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RCLKS_ipd, + TestSignalName => "RCLKS", + Period => tperiod_RCLKS, + PulseWidthHigh => tpw_RCLKS_posedge, + PulseWidthLow => tpw_RCLKS_negedge, + PeriodData => periodcheckinfo_RCLKS, + Violation => tviol_RCLKS_RCLKS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, + PathDelay => tpd_RCLKS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCSB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCSB"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_nRCSS : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; nRCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; + + end nRCSB; + + architecture Structure of nRCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal nRCSS_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCS_pad: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>nRCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, nRCSS_out) + VARIABLE nRCSS_zd : std_logic := 'X'; + VARIABLE nRCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCSS_zd := nRCSS_out; + + VitalPathDelay01 ( + OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_nRCSS, + PathCondition => TRUE)), + GlitchData => nRCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCS_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nRCS_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCS_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCS_MGIOL : ENTITY IS TRUE; + + end nRCS_MGIOL; + + architecture Structure of nRCS_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre0187 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + nRCS_0io: mfflsre0187 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD7 : VitalDelayType := 0 ns; + tpw_RD7_posedge : VitalDelayType := 0 ns; + tpw_RD7_negedge : VitalDelayType := 0 ns; + tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD7: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; + + end RD_7_B; + + architecture Structure of RD_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD7_ipd : std_logic := 'X'; + signal RD7_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_7: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, + PADI=>RD7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD7_ipd, RD7, tipd_RD7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD7_ipd, RD7_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD7_zd : std_logic := 'X'; + VARIABLE RD7_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD7_RD7 : x01 := '0'; + VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD7_ipd, + TestSignalName => "RD7", + Period => tperiod_RD7, + PulseWidthHigh => tpw_RD7_posedge, + PulseWidthLow => tpw_RD7_negedge, + PeriodData => periodcheckinfo_RD7, + Violation => tviol_RD7_RD7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD7_zd := RD7_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD7_ipd'last_event, + PathDelay => tpd_RD7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD7, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD7, + PathCondition => TRUE)), + GlitchData => RD7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_7_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_MGIOL : ENTITY IS TRUE; + + end RD_7_MGIOL; + + architecture Structure of RD_7_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_7: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD6 : VitalDelayType := 0 ns; + tpw_RD6_posedge : VitalDelayType := 0 ns; + tpw_RD6_negedge : VitalDelayType := 0 ns; + tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD6: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; + + end RD_6_B; + + architecture Structure of RD_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD6_ipd : std_logic := 'X'; + signal RD6_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_6: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, + PADI=>RD6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD6_ipd, RD6, tipd_RD6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD6_ipd, RD6_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD6_zd : std_logic := 'X'; + VARIABLE RD6_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD6_RD6 : x01 := '0'; + VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD6_ipd, + TestSignalName => "RD6", + Period => tperiod_RD6, + PulseWidthHigh => tpw_RD6_posedge, + PulseWidthLow => tpw_RD6_negedge, + PeriodData => periodcheckinfo_RD6, + Violation => tviol_RD6_RD6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD6_zd := RD6_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD6_ipd'last_event, + PathDelay => tpd_RD6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD6, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD6, + PathCondition => TRUE)), + GlitchData => RD6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_6_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_MGIOL : ENTITY IS TRUE; + + end RD_6_MGIOL; + + architecture Structure of RD_6_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_6: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD5 : VitalDelayType := 0 ns; + tpw_RD5_posedge : VitalDelayType := 0 ns; + tpw_RD5_negedge : VitalDelayType := 0 ns; + tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD5: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; + + end RD_5_B; + + architecture Structure of RD_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD5_ipd : std_logic := 'X'; + signal RD5_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_5: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, + PADI=>RD5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD5_ipd, RD5, tipd_RD5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD5_ipd, RD5_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD5_zd : std_logic := 'X'; + VARIABLE RD5_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD5_RD5 : x01 := '0'; + VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD5_ipd, + TestSignalName => "RD5", + Period => tperiod_RD5, + PulseWidthHigh => tpw_RD5_posedge, + PulseWidthLow => tpw_RD5_negedge, + PeriodData => periodcheckinfo_RD5, + Violation => tviol_RD5_RD5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD5_zd := RD5_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD5_ipd'last_event, + PathDelay => tpd_RD5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD5, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD5, + PathCondition => TRUE)), + GlitchData => RD5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_5_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_MGIOL : ENTITY IS TRUE; + + end RD_5_MGIOL; + + architecture Structure of RD_5_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_5: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD4 : VitalDelayType := 0 ns; + tpw_RD4_posedge : VitalDelayType := 0 ns; + tpw_RD4_negedge : VitalDelayType := 0 ns; + tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD4: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; + + end RD_4_B; + + architecture Structure of RD_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD4_ipd : std_logic := 'X'; + signal RD4_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_4: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, + PADI=>RD4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD4_ipd, RD4, tipd_RD4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD4_ipd, RD4_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD4_zd : std_logic := 'X'; + VARIABLE RD4_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD4_RD4 : x01 := '0'; + VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD4_ipd, + TestSignalName => "RD4", + Period => tperiod_RD4, + PulseWidthHigh => tpw_RD4_posedge, + PulseWidthLow => tpw_RD4_negedge, + PeriodData => periodcheckinfo_RD4, + Violation => tviol_RD4_RD4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD4_zd := RD4_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD4_ipd'last_event, + PathDelay => tpd_RD4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD4, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD4, + PathCondition => TRUE)), + GlitchData => RD4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_4_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_MGIOL : ENTITY IS TRUE; + + end RD_4_MGIOL; + + architecture Structure of RD_4_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_4: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD3 : VitalDelayType := 0 ns; + tpw_RD3_posedge : VitalDelayType := 0 ns; + tpw_RD3_negedge : VitalDelayType := 0 ns; + tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD3: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; + + end RD_3_B; + + architecture Structure of RD_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD3_ipd : std_logic := 'X'; + signal RD3_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_3: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, + PADI=>RD3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD3_ipd, RD3, tipd_RD3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD3_ipd, RD3_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD3_zd : std_logic := 'X'; + VARIABLE RD3_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD3_RD3 : x01 := '0'; + VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD3_ipd, + TestSignalName => "RD3", + Period => tperiod_RD3, + PulseWidthHigh => tpw_RD3_posedge, + PulseWidthLow => tpw_RD3_negedge, + PeriodData => periodcheckinfo_RD3, + Violation => tviol_RD3_RD3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD3_zd := RD3_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD3_ipd'last_event, + PathDelay => tpd_RD3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD3, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD3, + PathCondition => TRUE)), + GlitchData => RD3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_3_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_MGIOL : ENTITY IS TRUE; + + end RD_3_MGIOL; + + architecture Structure of RD_3_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_3: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD2 : VitalDelayType := 0 ns; + tpw_RD2_posedge : VitalDelayType := 0 ns; + tpw_RD2_negedge : VitalDelayType := 0 ns; + tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD2: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; + + end RD_2_B; + + architecture Structure of RD_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD2_ipd : std_logic := 'X'; + signal RD2_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_2: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, + PADI=>RD2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD2_ipd, RD2, tipd_RD2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD2_ipd, RD2_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD2_zd : std_logic := 'X'; + VARIABLE RD2_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD2_RD2 : x01 := '0'; + VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD2_ipd, + TestSignalName => "RD2", + Period => tperiod_RD2, + PulseWidthHigh => tpw_RD2_posedge, + PulseWidthLow => tpw_RD2_negedge, + PeriodData => periodcheckinfo_RD2, + Violation => tviol_RD2_RD2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD2_zd := RD2_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD2_ipd'last_event, + PathDelay => tpd_RD2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD2, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD2, + PathCondition => TRUE)), + GlitchData => RD2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_2_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_MGIOL : ENTITY IS TRUE; + + end RD_2_MGIOL; + + architecture Structure of RD_2_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_2: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD1 : VitalDelayType := 0 ns; + tpw_RD1_posedge : VitalDelayType := 0 ns; + tpw_RD1_negedge : VitalDelayType := 0 ns; + tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD1: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; + + end RD_1_B; + + architecture Structure of RD_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal IOLDO_ipd : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal RD1_ipd : std_logic := 'X'; + signal RD1_out : std_logic := 'Z'; + + component xo2iobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_1: xo2iobuf + port map (I=>IOLDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, + PADI=>RD1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(RD1_ipd, RD1, tipd_RD1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, IOLDO_ipd, PADDT_ipd, RD1_ipd, RD1_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD1_zd : std_logic := 'X'; + VARIABLE RD1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD1_RD1 : x01 := '0'; + VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD1_ipd, + TestSignalName => "RD1", + Period => tperiod_RD1, + PulseWidthHigh => tpw_RD1_posedge, + PulseWidthLow => tpw_RD1_negedge, + PeriodData => periodcheckinfo_RD1, + Violation => tviol_RD1_RD1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD1_zd := RD1_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD1_ipd'last_event, + PathDelay => tpd_RD1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RD1, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD1, + PathCondition => TRUE)), + GlitchData => RD1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RD_1_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_MGIOL : ENTITY IS TRUE; + + end RD_1_MGIOL; + + architecture Structure of RD_1_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + WRD_0io_1: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_11_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RA11 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RA11: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; + + end RA_11_B; + + architecture Structure of RA_11_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RA11_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_11: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>RA11_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RA11_out) + VARIABLE RA11_zd : std_logic := 'X'; + VARIABLE RA11_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA11_zd := RA11_out; + + VitalPathDelay01 ( + OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RA11, + PathCondition => TRUE)), + GlitchData => RA11_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_11_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_MGIOL : ENTITY IS TRUE; + + end RA_11_MGIOL; + + architecture Structure of RA_11_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RA11_0io: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_10_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_10_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RA10 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RA10: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; + + end RA_10_B; + + architecture Structure of RA_10_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RA10_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_10: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>RA10_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RA10_out) + VARIABLE RA10_zd : std_logic := 'X'; + VARIABLE RA10_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA10_zd := RA10_out; + + VitalPathDelay01 ( + OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RA10, + PathCondition => TRUE)), + GlitchData => RA10_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mfflsre0189 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity mfflsre0189 is + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mfflsre0189 : ENTITY IS TRUE; + + end mfflsre0189; + + architecture Structure of mfflsre0189 is + begin + INST01: FD1P3JX + generic map (GSR => "DISABLED") + port map (D=>D0, SP=>SP, CK=>CK, PD=>LSR, Q=>Q); + end Structure; + +-- entity RA_10_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_10_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_MGIOL : ENTITY IS TRUE; + + end RA_10_MGIOL; + + architecture Structure of RA_10_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component mfflsre0189 + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RA10_0io: mfflsre0189 + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_dly, LSR=>LSR_dly, + Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, LSR_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_posedge, + SetupLow => tsetup_OPOS_CLK_noedge_posedge, + HoldHigh => thold_OPOS_CLK_noedge_posedge, + HoldLow => thold_OPOS_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_9_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_9_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA9 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA9: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; + + end RA_9_B; + + architecture Structure of RA_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA9_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_9: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA9_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA9_out) + VARIABLE RA9_zd : std_logic := 'X'; + VARIABLE RA9_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA9_zd := RA9_out; + + VitalPathDelay01 ( + OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA9, + PathCondition => TRUE)), + GlitchData => RA9_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_8_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_8_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA8 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA8: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; + + end RA_8_B; + + architecture Structure of RA_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA8_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_8: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA8_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA8_out) + VARIABLE RA8_zd : std_logic := 'X'; + VARIABLE RA8_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA8_zd := RA8_out; + + VitalPathDelay01 ( + OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA8, + PathCondition => TRUE)), + GlitchData => RA8_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA7 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; + + end RA_7_B; + + architecture Structure of RA_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA7_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_7: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA7_out) + VARIABLE RA7_zd : std_logic := 'X'; + VARIABLE RA7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA7_zd := RA7_out; + + VitalPathDelay01 ( + OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA7, + PathCondition => TRUE)), + GlitchData => RA7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA6 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; + + end RA_6_B; + + architecture Structure of RA_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA6_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_6: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA6_out) + VARIABLE RA6_zd : std_logic := 'X'; + VARIABLE RA6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA6_zd := RA6_out; + + VitalPathDelay01 ( + OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA6, + PathCondition => TRUE)), + GlitchData => RA6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA5 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; + + end RA_5_B; + + architecture Structure of RA_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA5_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_5: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA5_out) + VARIABLE RA5_zd : std_logic := 'X'; + VARIABLE RA5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA5_zd := RA5_out; + + VitalPathDelay01 ( + OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA5, + PathCondition => TRUE)), + GlitchData => RA5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA4 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; + + end RA_4_B; + + architecture Structure of RA_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA4_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_4: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA4_out) + VARIABLE RA4_zd : std_logic := 'X'; + VARIABLE RA4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA4_zd := RA4_out; + + VitalPathDelay01 ( + OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA4, + PathCondition => TRUE)), + GlitchData => RA4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA3 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; + + end RA_3_B; + + architecture Structure of RA_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA3_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_3: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA3_out) + VARIABLE RA3_zd : std_logic := 'X'; + VARIABLE RA3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA3_zd := RA3_out; + + VitalPathDelay01 ( + OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA3, + PathCondition => TRUE)), + GlitchData => RA3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA2 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; + + end RA_2_B; + + architecture Structure of RA_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA2_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_2: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA2_out) + VARIABLE RA2_zd : std_logic := 'X'; + VARIABLE RA2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA2_zd := RA2_out; + + VitalPathDelay01 ( + OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA2, + PathCondition => TRUE)), + GlitchData => RA2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA1 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; + + end RA_1_B; + + architecture Structure of RA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA1_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_1: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA1_out) + VARIABLE RA1_zd : std_logic := 'X'; + VARIABLE RA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA1_zd := RA1_out; + + VitalPathDelay01 ( + OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA1, + PathCondition => TRUE)), + GlitchData => RA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; + + end RA_0_B; + + architecture Structure of RA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA0_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_0: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>RA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA0_out) + VARIABLE RA0_zd : std_logic := 'X'; + VARIABLE RA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA0_zd := RA0_out; + + VitalPathDelay01 ( + OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA0, + PathCondition => TRUE)), + GlitchData => RA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RBA1 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RBA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; + + end RBA_1_B; + + architecture Structure of RBA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RBA1_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_1: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>RBA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RBA1_out) + VARIABLE RBA1_zd : std_logic := 'X'; + VARIABLE RBA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA1_zd := RBA1_out; + + VitalPathDelay01 ( + OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RBA1, + PathCondition => TRUE)), + GlitchData => RBA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_1_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_MGIOL : ENTITY IS TRUE; + + end RBA_1_MGIOL; + + architecture Structure of RBA_1_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RBA_0io_1: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_B"; + + tipd_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_IOLDO_RBA0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (IOLDO: in Std_logic; RBA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; + + end RBA_0_B; + + architecture Structure of RBA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_ipd : std_logic := 'X'; + signal RBA0_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_0: xo2iobuf0185 + port map (I=>IOLDO_ipd, PAD=>RBA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(IOLDO_ipd, IOLDO, tipd_IOLDO); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_ipd, RBA0_out) + VARIABLE RBA0_zd : std_logic := 'X'; + VARIABLE RBA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA0_zd := RBA0_out; + + VitalPathDelay01 ( + OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, + Paths => (0 => (InputChangeTime => IOLDO_ipd'last_event, + PathDelay => tpd_IOLDO_RBA0, + PathCondition => TRUE)), + GlitchData => RBA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RBA_0_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_MGIOL"; + + tipd_OPOS : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_IOLDO : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_OPOS_CLK : VitalDelayType := 0 ns; + tsetup_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_OPOS_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_MGIOL : ENTITY IS TRUE; + + end RBA_0_MGIOL; + + architecture Structure of RBA_0_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal IOLDO_out : std_logic := 'X'; + signal OPOS_ipd : std_logic := 'X'; + signal OPOS_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component mfflsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + RBA_0io_0: mfflsre + port map (D0=>OPOS_dly, SP=>VCCI, CK=>CLK_NOTIN, LSR=>GNDI, Q=>IOLDO_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(OPOS_ipd, OPOS, tipd_OPOS); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(OPOS_dly, OPOS_ipd, tisd_OPOS_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (IOLDO_out, OPOS_dly, CLK_dly) + VARIABLE IOLDO_zd : std_logic := 'X'; + VARIABLE IOLDO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_OPOS_CLK : x01 := '0'; + VARIABLE OPOS_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => OPOS_dly, + TestSignalName => "OPOS", + TestDelay => tisd_OPOS_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_OPOS_CLK_noedge_negedge, + SetupLow => tsetup_OPOS_CLK_noedge_negedge, + HoldHigh => thold_OPOS_CLK_noedge_negedge, + HoldLow => thold_OPOS_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => OPOS_CLK_TimingDatash, + Violation => tviol_OPOS_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + IOLDO_zd := IOLDO_out; + + VitalPathDelay01 ( + OutSignal => IOLDO, OutSignalName => "IOLDO", OutTemp => IOLDO_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_IOLDO, + PathCondition => TRUE)), + GlitchData => IOLDO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0190 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0190 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0190 : ENTITY IS TRUE; + + end xo2iobuf0190; + + architecture Structure of xo2iobuf0190 is + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity LEDB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity LEDB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "LEDB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_LEDS : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; LEDS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; + + end LEDB; + + architecture Structure of LEDB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal LEDS_out : std_logic := 'X'; + + component xo2iobuf0190 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + LED_pad: xo2iobuf0190 + port map (I=>PADDO_ipd, PAD=>LEDS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) + VARIABLE LEDS_zd : std_logic := 'X'; + VARIABLE LEDS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + LEDS_zd := LEDS_out; + + VitalPathDelay01 ( + OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_LEDS, + PathCondition => TRUE)), + GlitchData => LEDS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity xo2iobuf0191 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity xo2iobuf0191 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF xo2iobuf0191 : ENTITY IS TRUE; + + end xo2iobuf0191; + + architecture Structure of xo2iobuf0191 is + begin + INST1: IBPU + port map (I=>PAD, O=>Z); + end Structure; + +-- entity nFWEB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nFWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nFWEB"; + + tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); + tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nFWES : VitalDelayType := 0 ns; + tpw_nFWES_posedge : VitalDelayType := 0 ns; + tpw_nFWES_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nFWES: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; + + end nFWEB; + + architecture Structure of nFWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nFWES_ipd : std_logic := 'X'; + + component xo2iobuf0191 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nFWE_pad: xo2iobuf0191 + port map (Z=>PADDI_out, PAD=>nFWES_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nFWES_nFWES : x01 := '0'; + VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nFWES_ipd, + TestSignalName => "nFWES", + Period => tperiod_nFWES, + PulseWidthHigh => tpw_nFWES_posedge, + PulseWidthLow => tpw_nFWES_negedge, + PeriodData => periodcheckinfo_nFWES, + Violation => tviol_nFWES_nFWES, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, + PathDelay => tpd_nFWES_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCRASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nCRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCRASB"; + + tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCRASS : VitalDelayType := 0 ns; + tpw_nCRASS_posedge : VitalDelayType := 0 ns; + tpw_nCRASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCRASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; + + end nCRASB; + + architecture Structure of nCRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCRASS_ipd : std_logic := 'X'; + + component xo2iobuf0191 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCRAS_pad: xo2iobuf0191 + port map (Z=>PADDI_out, PAD=>nCRASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; + VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCRASS_ipd, + TestSignalName => "nCRASS", + Period => tperiod_nCRASS, + PulseWidthHigh => tpw_nCRASS_posedge, + PulseWidthLow => tpw_nCRASS_negedge, + PeriodData => periodcheckinfo_nCRASS, + Violation => tviol_nCRASS_nCRASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, + PathDelay => tpd_nCRASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCCASB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity nCCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCCASB"; + + tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCCASS : VitalDelayType := 0 ns; + tpw_nCCASS_posedge : VitalDelayType := 0 ns; + tpw_nCCASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCCASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; + + end nCCASB; + + architecture Structure of nCCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCCASS_ipd : std_logic := 'X'; + + component xo2iobuf0191 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCCAS_pad: xo2iobuf0191 + port map (Z=>PADDI_out, PAD=>nCCASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; + VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCCASS_ipd, + TestSignalName => "nCCASS", + Period => tperiod_nCCASS, + PulseWidthHigh => tpw_nCCASS_posedge, + PulseWidthLow => tpw_nCCASS_negedge, + PeriodData => periodcheckinfo_nCCASS, + Violation => tviol_nCCASS_nCCASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, + PathDelay => tpd_nCCASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout7 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; + + end Dout_7_B; + + architecture Structure of Dout_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout7_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_7: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) + VARIABLE Dout7_zd : std_logic := 'X'; + VARIABLE Dout7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout7_zd := Dout7_out; + + VitalPathDelay01 ( + OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout7, + PathCondition => TRUE)), + GlitchData => Dout7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout6 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; + + end Dout_6_B; + + architecture Structure of Dout_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout6_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_6: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) + VARIABLE Dout6_zd : std_logic := 'X'; + VARIABLE Dout6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout6_zd := Dout6_out; + + VitalPathDelay01 ( + OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout6, + PathCondition => TRUE)), + GlitchData => Dout6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout5 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; + + end Dout_5_B; + + architecture Structure of Dout_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout5_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_5: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) + VARIABLE Dout5_zd : std_logic := 'X'; + VARIABLE Dout5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout5_zd := Dout5_out; + + VitalPathDelay01 ( + OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout5, + PathCondition => TRUE)), + GlitchData => Dout5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout4 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; + + end Dout_4_B; + + architecture Structure of Dout_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout4_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_4: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) + VARIABLE Dout4_zd : std_logic := 'X'; + VARIABLE Dout4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout4_zd := Dout4_out; + + VitalPathDelay01 ( + OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout4, + PathCondition => TRUE)), + GlitchData => Dout4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout3 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; + + end Dout_3_B; + + architecture Structure of Dout_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout3_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_3: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) + VARIABLE Dout3_zd : std_logic := 'X'; + VARIABLE Dout3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout3_zd := Dout3_out; + + VitalPathDelay01 ( + OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout3, + PathCondition => TRUE)), + GlitchData => Dout3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout2 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; + + end Dout_2_B; + + architecture Structure of Dout_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout2_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_2: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) + VARIABLE Dout2_zd : std_logic := 'X'; + VARIABLE Dout2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout2_zd := Dout2_out; + + VitalPathDelay01 ( + OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout2, + PathCondition => TRUE)), + GlitchData => Dout2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Dout_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout1 : VitalDelayType01 := (0 ns, 0 ns)); + + port (PADDO: in Std_logic; Dout1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; + + end Dout_1_B; + + architecture Structure of Dout_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout1_out : std_logic := 'X'; + + component xo2iobuf0185 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_1: xo2iobuf0185 + port map (I=>PADDO_ipd, PAD=>Dout1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) + VARIABLE Dout1_zd : std_logic := 'X'; + VARIABLE Dout1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout1_zd := Dout1_out; + + VitalPathDelay01 ( + OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout1, + PathCondition => TRUE)), + GlitchData => Dout1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_B"; + + tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din7 : VitalDelayType := 0 ns; + tpw_Din7_posedge : VitalDelayType := 0 ns; + tpw_Din7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; + + end Din_7_B; + + architecture Structure of Din_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din7_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_7: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din7_ipd, Din7, tipd_Din7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din7_Din7 : x01 := '0'; + VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din7_ipd, + TestSignalName => "Din7", + Period => tperiod_Din7, + PulseWidthHigh => tpw_Din7_posedge, + PulseWidthLow => tpw_Din7_negedge, + PeriodData => periodcheckinfo_Din7, + Violation => tviol_Din7_Din7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din7_ipd'last_event, + PathDelay => tpd_Din7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_7_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_MGIOL : ENTITY IS TRUE; + + end Din_7_MGIOL; + + architecture Structure of Din_7_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_7: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_B"; + + tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din6 : VitalDelayType := 0 ns; + tpw_Din6_posedge : VitalDelayType := 0 ns; + tpw_Din6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; + + end Din_6_B; + + architecture Structure of Din_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din6_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_6: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din6_ipd, Din6, tipd_Din6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din6_Din6 : x01 := '0'; + VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din6_ipd, + TestSignalName => "Din6", + Period => tperiod_Din6, + PulseWidthHigh => tpw_Din6_posedge, + PulseWidthLow => tpw_Din6_negedge, + PeriodData => periodcheckinfo_Din6, + Violation => tviol_Din6_Din6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din6_ipd'last_event, + PathDelay => tpd_Din6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_6_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_MGIOL : ENTITY IS TRUE; + + end Din_6_MGIOL; + + architecture Structure of Din_6_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_6: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_B"; + + tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din5 : VitalDelayType := 0 ns; + tpw_Din5_posedge : VitalDelayType := 0 ns; + tpw_Din5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; + + end Din_5_B; + + architecture Structure of Din_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din5_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_5: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din5_ipd, Din5, tipd_Din5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din5_Din5 : x01 := '0'; + VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din5_ipd, + TestSignalName => "Din5", + Period => tperiod_Din5, + PulseWidthHigh => tpw_Din5_posedge, + PulseWidthLow => tpw_Din5_negedge, + PeriodData => periodcheckinfo_Din5, + Violation => tviol_Din5_Din5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din5_ipd'last_event, + PathDelay => tpd_Din5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_5_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_MGIOL : ENTITY IS TRUE; + + end Din_5_MGIOL; + + architecture Structure of Din_5_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_5: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_B"; + + tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din4 : VitalDelayType := 0 ns; + tpw_Din4_posedge : VitalDelayType := 0 ns; + tpw_Din4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; + + end Din_4_B; + + architecture Structure of Din_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din4_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_4: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din4_ipd, Din4, tipd_Din4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din4_Din4 : x01 := '0'; + VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din4_ipd, + TestSignalName => "Din4", + Period => tperiod_Din4, + PulseWidthHigh => tpw_Din4_posedge, + PulseWidthLow => tpw_Din4_negedge, + PeriodData => periodcheckinfo_Din4, + Violation => tviol_Din4_Din4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din4_ipd'last_event, + PathDelay => tpd_Din4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_4_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_MGIOL : ENTITY IS TRUE; + + end Din_4_MGIOL; + + architecture Structure of Din_4_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_4: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_B"; + + tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din3 : VitalDelayType := 0 ns; + tpw_Din3_posedge : VitalDelayType := 0 ns; + tpw_Din3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; + + end Din_3_B; + + architecture Structure of Din_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din3_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_3: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din3_ipd, Din3, tipd_Din3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din3_Din3 : x01 := '0'; + VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din3_ipd, + TestSignalName => "Din3", + Period => tperiod_Din3, + PulseWidthHigh => tpw_Din3_posedge, + PulseWidthLow => tpw_Din3_negedge, + PeriodData => periodcheckinfo_Din3, + Violation => tviol_Din3_Din3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din3_ipd'last_event, + PathDelay => tpd_Din3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_3_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_MGIOL : ENTITY IS TRUE; + + end Din_3_MGIOL; + + architecture Structure of Din_3_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_3: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_B"; + + tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din2 : VitalDelayType := 0 ns; + tpw_Din2_posedge : VitalDelayType := 0 ns; + tpw_Din2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; + + end Din_2_B; + + architecture Structure of Din_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din2_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_2: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din2_ipd, Din2, tipd_Din2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din2_Din2 : x01 := '0'; + VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din2_ipd, + TestSignalName => "Din2", + Period => tperiod_Din2, + PulseWidthHigh => tpw_Din2_posedge, + PulseWidthLow => tpw_Din2_negedge, + PeriodData => periodcheckinfo_Din2, + Violation => tviol_Din2_Din2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din2_ipd'last_event, + PathDelay => tpd_Din2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_2_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_MGIOL : ENTITY IS TRUE; + + end Din_2_MGIOL; + + architecture Structure of Din_2_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_2: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_B"; + + tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din1 : VitalDelayType := 0 ns; + tpw_Din1_posedge : VitalDelayType := 0 ns; + tpw_Din1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; + + end Din_1_B; + + architecture Structure of Din_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din1_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_1: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din1_ipd, Din1, tipd_Din1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din1_Din1 : x01 := '0'; + VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din1_ipd, + TestSignalName => "Din1", + Period => tperiod_Din1, + PulseWidthHigh => tpw_Din1_posedge, + PulseWidthLow => tpw_Din1_negedge, + PeriodData => periodcheckinfo_Din1, + Violation => tviol_Din1_Din1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din1_ipd'last_event, + PathDelay => tpd_Din1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_1_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_MGIOL : ENTITY IS TRUE; + + end Din_1_MGIOL; + + architecture Structure of Din_1_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_1: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_B"; + + tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din0 : VitalDelayType := 0 ns; + tpw_Din0_posedge : VitalDelayType := 0 ns; + tpw_Din0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; + + end Din_0_B; + + architecture Structure of Din_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din0_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_0: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>Din0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din0_ipd, Din0, tipd_Din0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din0_Din0 : x01 := '0'; + VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din0_ipd, + TestSignalName => "Din0", + Period => tperiod_Din0, + PulseWidthHigh => tpw_Din0_posedge, + PulseWidthLow => tpw_Din0_negedge, + PeriodData => periodcheckinfo_Din0, + Violation => tviol_Din0_Din0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din0_ipd'last_event, + PathDelay => tpd_Din0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_MGIOL + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity Din_0_MGIOL is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_MGIOL"; + + tipd_DI : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_INP : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI_CLK : VitalDelayType := 0 ns; + tsetup_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_MGIOL : ENTITY IS TRUE; + + end Din_0_MGIOL; + + architecture Structure of Din_0_MGIOL is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal DI_ipd : std_logic := 'X'; + signal DI_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal INP_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component smuxlregsre + port (D0: in Std_logic; SP: in Std_logic; CK: in Std_logic; + LSR: in Std_logic; Q: out Std_logic); + end component; + begin + Bank_0io_0: smuxlregsre + port map (D0=>DI_dly, SP=>VCCI, CK=>CLK_dly, LSR=>GNDI, Q=>INP_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(DI_ipd, DI, tipd_DI); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI_dly, DI_ipd, tisd_DI_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (DI_dly, CLK_dly, INP_out) + VARIABLE INP_zd : std_logic := 'X'; + VARIABLE INP_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI_CLK : x01 := '0'; + VARIABLE DI_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI_dly, + TestSignalName => "DI", + TestDelay => tisd_DI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI_CLK_noedge_posedge, + SetupLow => tsetup_DI_CLK_noedge_posedge, + HoldHigh => thold_DI_CLK_noedge_posedge, + HoldLow => thold_DI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI_CLK_TimingDatash, + Violation => tviol_DI_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + INP_zd := INP_out; + + VitalPathDelay01 ( + OutSignal => INP, OutSignalName => "INP", OutTemp => INP_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_INP, + PathCondition => TRUE)), + GlitchData => INP_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity CROW_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_1_B"; + + tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW1 : VitalDelayType := 0 ns; + tpw_CROW1_posedge : VitalDelayType := 0 ns; + tpw_CROW1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; + + end CROW_1_B; + + architecture Structure of CROW_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW1_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_1: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>CROW1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW1_CROW1 : x01 := '0'; + VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW1_ipd, + TestSignalName => "CROW1", + Period => tperiod_CROW1, + PulseWidthHigh => tpw_CROW1_posedge, + PulseWidthLow => tpw_CROW1_negedge, + PeriodData => periodcheckinfo_CROW1, + Violation => tviol_CROW1_CROW1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, + PathDelay => tpd_CROW1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity CROW_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_0_B"; + + tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW0 : VitalDelayType := 0 ns; + tpw_CROW0_posedge : VitalDelayType := 0 ns; + tpw_CROW0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; + + end CROW_0_B; + + architecture Structure of CROW_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW0_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_0: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>CROW0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW0_CROW0 : x01 := '0'; + VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW0_ipd, + TestSignalName => "CROW0", + Period => tperiod_CROW0, + PulseWidthHigh => tpw_CROW0_posedge, + PulseWidthLow => tpw_CROW0_negedge, + PeriodData => periodcheckinfo_CROW0, + Violation => tviol_CROW0_CROW0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, + PathDelay => tpd_CROW0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_9_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_9_B"; + + tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin9 : VitalDelayType := 0 ns; + tpw_MAin9_posedge : VitalDelayType := 0 ns; + tpw_MAin9_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin9: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; + + end MAin_9_B; + + architecture Structure of MAin_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin9_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_9: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin9_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin9_MAin9 : x01 := '0'; + VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin9_ipd, + TestSignalName => "MAin9", + Period => tperiod_MAin9, + PulseWidthHigh => tpw_MAin9_posedge, + PulseWidthLow => tpw_MAin9_negedge, + PeriodData => periodcheckinfo_MAin9, + Violation => tviol_MAin9_MAin9, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, + PathDelay => tpd_MAin9_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_8_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_8_B"; + + tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin8 : VitalDelayType := 0 ns; + tpw_MAin8_posedge : VitalDelayType := 0 ns; + tpw_MAin8_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin8: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; + + end MAin_8_B; + + architecture Structure of MAin_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin8_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_8: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin8_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin8_MAin8 : x01 := '0'; + VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin8_ipd, + TestSignalName => "MAin8", + Period => tperiod_MAin8, + PulseWidthHigh => tpw_MAin8_posedge, + PulseWidthLow => tpw_MAin8_negedge, + PeriodData => periodcheckinfo_MAin8, + Violation => tviol_MAin8_MAin8, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, + PathDelay => tpd_MAin8_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_7_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_7_B"; + + tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin7 : VitalDelayType := 0 ns; + tpw_MAin7_posedge : VitalDelayType := 0 ns; + tpw_MAin7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; + + end MAin_7_B; + + architecture Structure of MAin_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin7_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_7: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin7_MAin7 : x01 := '0'; + VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin7_ipd, + TestSignalName => "MAin7", + Period => tperiod_MAin7, + PulseWidthHigh => tpw_MAin7_posedge, + PulseWidthLow => tpw_MAin7_negedge, + PeriodData => periodcheckinfo_MAin7, + Violation => tviol_MAin7_MAin7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, + PathDelay => tpd_MAin7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_6_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_6_B"; + + tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin6 : VitalDelayType := 0 ns; + tpw_MAin6_posedge : VitalDelayType := 0 ns; + tpw_MAin6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; + + end MAin_6_B; + + architecture Structure of MAin_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin6_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_6: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin6_MAin6 : x01 := '0'; + VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin6_ipd, + TestSignalName => "MAin6", + Period => tperiod_MAin6, + PulseWidthHigh => tpw_MAin6_posedge, + PulseWidthLow => tpw_MAin6_negedge, + PeriodData => periodcheckinfo_MAin6, + Violation => tviol_MAin6_MAin6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, + PathDelay => tpd_MAin6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_5_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_5_B"; + + tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin5 : VitalDelayType := 0 ns; + tpw_MAin5_posedge : VitalDelayType := 0 ns; + tpw_MAin5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; + + end MAin_5_B; + + architecture Structure of MAin_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin5_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_5: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin5_MAin5 : x01 := '0'; + VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin5_ipd, + TestSignalName => "MAin5", + Period => tperiod_MAin5, + PulseWidthHigh => tpw_MAin5_posedge, + PulseWidthLow => tpw_MAin5_negedge, + PeriodData => periodcheckinfo_MAin5, + Violation => tviol_MAin5_MAin5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, + PathDelay => tpd_MAin5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_4_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_4_B"; + + tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin4 : VitalDelayType := 0 ns; + tpw_MAin4_posedge : VitalDelayType := 0 ns; + tpw_MAin4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; + + end MAin_4_B; + + architecture Structure of MAin_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin4_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_4: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin4_MAin4 : x01 := '0'; + VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin4_ipd, + TestSignalName => "MAin4", + Period => tperiod_MAin4, + PulseWidthHigh => tpw_MAin4_posedge, + PulseWidthLow => tpw_MAin4_negedge, + PeriodData => periodcheckinfo_MAin4, + Violation => tviol_MAin4_MAin4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, + PathDelay => tpd_MAin4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_3_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_3_B"; + + tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin3 : VitalDelayType := 0 ns; + tpw_MAin3_posedge : VitalDelayType := 0 ns; + tpw_MAin3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; + + end MAin_3_B; + + architecture Structure of MAin_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin3_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_3: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin3_MAin3 : x01 := '0'; + VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin3_ipd, + TestSignalName => "MAin3", + Period => tperiod_MAin3, + PulseWidthHigh => tpw_MAin3_posedge, + PulseWidthLow => tpw_MAin3_negedge, + PeriodData => periodcheckinfo_MAin3, + Violation => tviol_MAin3_MAin3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, + PathDelay => tpd_MAin3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_2_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_2_B"; + + tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin2 : VitalDelayType := 0 ns; + tpw_MAin2_posedge : VitalDelayType := 0 ns; + tpw_MAin2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; + + end MAin_2_B; + + architecture Structure of MAin_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin2_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_2: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin2_MAin2 : x01 := '0'; + VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin2_ipd, + TestSignalName => "MAin2", + Period => tperiod_MAin2, + PulseWidthHigh => tpw_MAin2_posedge, + PulseWidthLow => tpw_MAin2_negedge, + PeriodData => periodcheckinfo_MAin2, + Violation => tviol_MAin2_MAin2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, + PathDelay => tpd_MAin2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_1_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_1_B"; + + tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin1 : VitalDelayType := 0 ns; + tpw_MAin1_posedge : VitalDelayType := 0 ns; + tpw_MAin1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; + + end MAin_1_B; + + architecture Structure of MAin_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin1_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_1: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin1_MAin1 : x01 := '0'; + VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin1_ipd, + TestSignalName => "MAin1", + Period => tperiod_MAin1, + PulseWidthHigh => tpw_MAin1_posedge, + PulseWidthLow => tpw_MAin1_negedge, + PeriodData => periodcheckinfo_MAin1, + Violation => tviol_MAin1_MAin1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, + PathDelay => tpd_MAin1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_0_B + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity MAin_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_0_B"; + + tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin0 : VitalDelayType := 0 ns; + tpw_MAin0_posedge : VitalDelayType := 0 ns; + tpw_MAin0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; + + end MAin_0_B; + + architecture Structure of MAin_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin0_ipd : std_logic := 'X'; + + component xo2iobuf0188 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_0: xo2iobuf0188 + port map (Z=>PADDI_out, PAD=>MAin0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin0_MAin0 : x01 := '0'; + VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin0_ipd, + TestSignalName => "MAin0", + Period => tperiod_MAin0, + PulseWidthHigh => tpw_MAin0_posedge, + PulseWidthLow => tpw_MAin0_negedge, + PeriodData => periodcheckinfo_MAin0, + Violation => tviol_MAin0_MAin0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, + PathDelay => tpd_MAin0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity EFB_Buffer_Block + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity EFB_Buffer_Block is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "EFB_Buffer_Block"; + + tipd_WBCLKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBRSTIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBCYCIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBSTBIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBWEIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBADRI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0DATI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0ACKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1DATI0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1ACKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SCLIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SDAIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SCLIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SDAIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMISOIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMOSIIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCSNin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCCLKIin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCRSTNin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCICin : VitalDelayType01 := (0 ns, 0 ns); + tipd_UFMSNin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBDATO0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBACKOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLCLKOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLRSTOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL0STBOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLL1STBOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLWEOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLADRO0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_PLLDATO0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SCLOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SCLOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SDAOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1SDAOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SCLOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SCLOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SDAOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2SDAOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C1IRQOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_I2C2IRQOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCKOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPISCKENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMISOOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMISOENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMOSIOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMOSIENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN0in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN1in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN2in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN3in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN4in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN5in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN6in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIMCSN7in : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPICSNENin : VitalDelayType01 := (0 ns, 0 ns); + tipd_SPIIRQOin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCINTin : VitalDelayType01 := (0 ns, 0 ns); + tipd_TCOCin : VitalDelayType01 := (0 ns, 0 ns); + tipd_WBCUFMIRQin : VitalDelayType01 := (0 ns, 0 ns); + tipd_CFGWAKEin : VitalDelayType01 := (0 ns, 0 ns); + tipd_CFGSTDBYin : VitalDelayType01 := (0 ns, 0 ns); + tpd_WBCLKIin_WBDATO0out : VitalDelayType01 := (0 ns, 0 ns); + tpd_WBCLKIin_WBDATO1out : VitalDelayType01 := (0 ns, 0 ns); + tpd_WBCLKIin_WBACKOout : VitalDelayType01 := (0 ns, 0 ns); + ticd_WBCLKIin : VitalDelayType := 0 ns; + tisd_WBRSTIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBRSTIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBRSTIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBCYCIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBCYCIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBCYCIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBSTBIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBSTBIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBSTBIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBWEIin_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBWEIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBWEIin_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI0in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI1in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI2in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI3in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI4in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI5in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI6in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBADRI7in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBADRI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBADRI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI0in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI0in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI1in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI1in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI2in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI2in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI3in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI3in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI4in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI4in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI5in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI5in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI6in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI6in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tisd_WBDATI7in_WBCLKIin : VitalDelayType := 0 ns; + tsetup_WBDATI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + thold_WBDATI7in_WBCLKIin_noedge_posedge : VitalDelayType := 0 ns; + tperiod_WBCLKIin : VitalDelayType := 0 ns; + tpw_WBCLKIin_posedge : VitalDelayType := 0 ns; + tpw_WBCLKIin_negedge : VitalDelayType := 0 ns); + + port (WBCLKIin: in Std_logic; WBCLKIout: out Std_logic; + WBRSTIin: in Std_logic; WBRSTIout: out Std_logic; + WBCYCIin: in Std_logic; WBCYCIout: out Std_logic; + WBSTBIin: in Std_logic; WBSTBIout: out Std_logic; + WBWEIin: in Std_logic; WBWEIout: out Std_logic; + WBADRI7in: in Std_logic; WBADRI7out: out Std_logic; + WBADRI6in: in Std_logic; WBADRI6out: out Std_logic; + WBADRI5in: in Std_logic; WBADRI5out: out Std_logic; + WBADRI4in: in Std_logic; WBADRI4out: out Std_logic; + WBADRI3in: in Std_logic; WBADRI3out: out Std_logic; + WBADRI2in: in Std_logic; WBADRI2out: out Std_logic; + WBADRI1in: in Std_logic; WBADRI1out: out Std_logic; + WBADRI0in: in Std_logic; WBADRI0out: out Std_logic; + WBDATI7in: in Std_logic; WBDATI7out: out Std_logic; + WBDATI6in: in Std_logic; WBDATI6out: out Std_logic; + WBDATI5in: in Std_logic; WBDATI5out: out Std_logic; + WBDATI4in: in Std_logic; WBDATI4out: out Std_logic; + WBDATI3in: in Std_logic; WBDATI3out: out Std_logic; + WBDATI2in: in Std_logic; WBDATI2out: out Std_logic; + WBDATI1in: in Std_logic; WBDATI1out: out Std_logic; + WBDATI0in: in Std_logic; WBDATI0out: out Std_logic; + PLL0DATI7in: in Std_logic; PLL0DATI7out: out Std_logic; + PLL0DATI6in: in Std_logic; PLL0DATI6out: out Std_logic; + PLL0DATI5in: in Std_logic; PLL0DATI5out: out Std_logic; + PLL0DATI4in: in Std_logic; PLL0DATI4out: out Std_logic; + PLL0DATI3in: in Std_logic; PLL0DATI3out: out Std_logic; + PLL0DATI2in: in Std_logic; PLL0DATI2out: out Std_logic; + PLL0DATI1in: in Std_logic; PLL0DATI1out: out Std_logic; + PLL0DATI0in: in Std_logic; PLL0DATI0out: out Std_logic; + PLL0ACKIin: in Std_logic; PLL0ACKIout: out Std_logic; + PLL1DATI7in: in Std_logic; PLL1DATI7out: out Std_logic; + PLL1DATI6in: in Std_logic; PLL1DATI6out: out Std_logic; + PLL1DATI5in: in Std_logic; PLL1DATI5out: out Std_logic; + PLL1DATI4in: in Std_logic; PLL1DATI4out: out Std_logic; + PLL1DATI3in: in Std_logic; PLL1DATI3out: out Std_logic; + PLL1DATI2in: in Std_logic; PLL1DATI2out: out Std_logic; + PLL1DATI1in: in Std_logic; PLL1DATI1out: out Std_logic; + PLL1DATI0in: in Std_logic; PLL1DATI0out: out Std_logic; + PLL1ACKIin: in Std_logic; PLL1ACKIout: out Std_logic; + I2C1SCLIin: in Std_logic; I2C1SCLIout: out Std_logic; + I2C1SDAIin: in Std_logic; I2C1SDAIout: out Std_logic; + I2C2SCLIin: in Std_logic; I2C2SCLIout: out Std_logic; + I2C2SDAIin: in Std_logic; I2C2SDAIout: out Std_logic; + SPISCKIin: in Std_logic; SPISCKIout: out Std_logic; + SPIMISOIin: in Std_logic; SPIMISOIout: out Std_logic; + SPIMOSIIin: in Std_logic; SPIMOSIIout: out Std_logic; + SPISCSNin: in Std_logic; SPISCSNout: out Std_logic; + TCCLKIin: in Std_logic; TCCLKIout: out Std_logic; + TCRSTNin: in Std_logic; TCRSTNout: out Std_logic; + TCICin: in Std_logic; TCICout: out Std_logic; UFMSNin: in Std_logic; + UFMSNout: out Std_logic; WBDATO7out: out Std_logic; + WBDATO7in: in Std_logic; WBDATO6out: out Std_logic; + WBDATO6in: in Std_logic; WBDATO5out: out Std_logic; + WBDATO5in: in Std_logic; WBDATO4out: out Std_logic; + WBDATO4in: in Std_logic; WBDATO3out: out Std_logic; + WBDATO3in: in Std_logic; WBDATO2out: out Std_logic; + WBDATO2in: in Std_logic; WBDATO1out: out Std_logic; + WBDATO1in: in Std_logic; WBDATO0out: out Std_logic; + WBDATO0in: in Std_logic; WBACKOout: out Std_logic; + WBACKOin: in Std_logic; PLLCLKOout: out Std_logic; + PLLCLKOin: in Std_logic; PLLRSTOout: out Std_logic; + PLLRSTOin: in Std_logic; PLL0STBOout: out Std_logic; + PLL0STBOin: in Std_logic; PLL1STBOout: out Std_logic; + PLL1STBOin: in Std_logic; PLLWEOout: out Std_logic; + PLLWEOin: in Std_logic; PLLADRO4out: out Std_logic; + PLLADRO4in: in Std_logic; PLLADRO3out: out Std_logic; + PLLADRO3in: in Std_logic; PLLADRO2out: out Std_logic; + PLLADRO2in: in Std_logic; PLLADRO1out: out Std_logic; + PLLADRO1in: in Std_logic; PLLADRO0out: out Std_logic; + PLLADRO0in: in Std_logic; PLLDATO7out: out Std_logic; + PLLDATO7in: in Std_logic; PLLDATO6out: out Std_logic; + PLLDATO6in: in Std_logic; PLLDATO5out: out Std_logic; + PLLDATO5in: in Std_logic; PLLDATO4out: out Std_logic; + PLLDATO4in: in Std_logic; PLLDATO3out: out Std_logic; + PLLDATO3in: in Std_logic; PLLDATO2out: out Std_logic; + PLLDATO2in: in Std_logic; PLLDATO1out: out Std_logic; + PLLDATO1in: in Std_logic; PLLDATO0out: out Std_logic; + PLLDATO0in: in Std_logic; I2C1SCLOout: out Std_logic; + I2C1SCLOin: in Std_logic; I2C1SCLOENout: out Std_logic; + I2C1SCLOENin: in Std_logic; I2C1SDAOout: out Std_logic; + I2C1SDAOin: in Std_logic; I2C1SDAOENout: out Std_logic; + I2C1SDAOENin: in Std_logic; I2C2SCLOout: out Std_logic; + I2C2SCLOin: in Std_logic; I2C2SCLOENout: out Std_logic; + I2C2SCLOENin: in Std_logic; I2C2SDAOout: out Std_logic; + I2C2SDAOin: in Std_logic; I2C2SDAOENout: out Std_logic; + I2C2SDAOENin: in Std_logic; I2C1IRQOout: out Std_logic; + I2C1IRQOin: in Std_logic; I2C2IRQOout: out Std_logic; + I2C2IRQOin: in Std_logic; SPISCKOout: out Std_logic; + SPISCKOin: in Std_logic; SPISCKENout: out Std_logic; + SPISCKENin: in Std_logic; SPIMISOOout: out Std_logic; + SPIMISOOin: in Std_logic; SPIMISOENout: out Std_logic; + SPIMISOENin: in Std_logic; SPIMOSIOout: out Std_logic; + SPIMOSIOin: in Std_logic; SPIMOSIENout: out Std_logic; + SPIMOSIENin: in Std_logic; SPIMCSN0out: out Std_logic; + SPIMCSN0in: in Std_logic; SPIMCSN1out: out Std_logic; + SPIMCSN1in: in Std_logic; SPIMCSN2out: out Std_logic; + SPIMCSN2in: in Std_logic; SPIMCSN3out: out Std_logic; + SPIMCSN3in: in Std_logic; SPIMCSN4out: out Std_logic; + SPIMCSN4in: in Std_logic; SPIMCSN5out: out Std_logic; + SPIMCSN5in: in Std_logic; SPIMCSN6out: out Std_logic; + SPIMCSN6in: in Std_logic; SPIMCSN7out: out Std_logic; + SPIMCSN7in: in Std_logic; SPICSNENout: out Std_logic; + SPICSNENin: in Std_logic; SPIIRQOout: out Std_logic; + SPIIRQOin: in Std_logic; TCINTout: out Std_logic; + TCINTin: in Std_logic; TCOCout: out Std_logic; TCOCin: in Std_logic; + WBCUFMIRQout: out Std_logic; WBCUFMIRQin: in Std_logic; + CFGWAKEout: out Std_logic; CFGWAKEin: in Std_logic; + CFGSTDBYout: out Std_logic; CFGSTDBYin: in Std_logic); + + ATTRIBUTE Vital_Level0 OF EFB_Buffer_Block : ENTITY IS TRUE; + + end EFB_Buffer_Block; + + architecture Structure of EFB_Buffer_Block is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal WBCLKIin_ipd : std_logic := 'X'; + signal WBCLKIin_dly : std_logic := 'X'; + signal WBCLKIout_out : std_logic := 'X'; + signal WBRSTIin_ipd : std_logic := 'X'; + signal WBRSTIin_dly : std_logic := 'X'; + signal WBRSTIout_out : std_logic := 'X'; + signal WBCYCIin_ipd : std_logic := 'X'; + signal WBCYCIin_dly : std_logic := 'X'; + signal WBCYCIout_out : std_logic := 'X'; + signal WBSTBIin_ipd : std_logic := 'X'; + signal WBSTBIin_dly : std_logic := 'X'; + signal WBSTBIout_out : std_logic := 'X'; + signal WBWEIin_ipd : std_logic := 'X'; + signal WBWEIin_dly : std_logic := 'X'; + signal WBWEIout_out : std_logic := 'X'; + signal WBADRI7in_ipd : std_logic := 'X'; + signal WBADRI7in_dly : std_logic := 'X'; + signal WBADRI7out_out : std_logic := 'X'; + signal WBADRI6in_ipd : std_logic := 'X'; + signal WBADRI6in_dly : std_logic := 'X'; + signal WBADRI6out_out : std_logic := 'X'; + signal WBADRI5in_ipd : std_logic := 'X'; + signal WBADRI5in_dly : std_logic := 'X'; + signal WBADRI5out_out : std_logic := 'X'; + signal WBADRI4in_ipd : std_logic := 'X'; + signal WBADRI4in_dly : std_logic := 'X'; + signal WBADRI4out_out : std_logic := 'X'; + signal WBADRI3in_ipd : std_logic := 'X'; + signal WBADRI3in_dly : std_logic := 'X'; + signal WBADRI3out_out : std_logic := 'X'; + signal WBADRI2in_ipd : std_logic := 'X'; + signal WBADRI2in_dly : std_logic := 'X'; + signal WBADRI2out_out : std_logic := 'X'; + signal WBADRI1in_ipd : std_logic := 'X'; + signal WBADRI1in_dly : std_logic := 'X'; + signal WBADRI1out_out : std_logic := 'X'; + signal WBADRI0in_ipd : std_logic := 'X'; + signal WBADRI0in_dly : std_logic := 'X'; + signal WBADRI0out_out : std_logic := 'X'; + signal WBDATI7in_ipd : std_logic := 'X'; + signal WBDATI7in_dly : std_logic := 'X'; + signal WBDATI7out_out : std_logic := 'X'; + signal WBDATI6in_ipd : std_logic := 'X'; + signal WBDATI6in_dly : std_logic := 'X'; + signal WBDATI6out_out : std_logic := 'X'; + signal WBDATI5in_ipd : std_logic := 'X'; + signal WBDATI5in_dly : std_logic := 'X'; + signal WBDATI5out_out : std_logic := 'X'; + signal WBDATI4in_ipd : std_logic := 'X'; + signal WBDATI4in_dly : std_logic := 'X'; + signal WBDATI4out_out : std_logic := 'X'; + signal WBDATI3in_ipd : std_logic := 'X'; + signal WBDATI3in_dly : std_logic := 'X'; + signal WBDATI3out_out : std_logic := 'X'; + signal WBDATI2in_ipd : std_logic := 'X'; + signal WBDATI2in_dly : std_logic := 'X'; + signal WBDATI2out_out : std_logic := 'X'; + signal WBDATI1in_ipd : std_logic := 'X'; + signal WBDATI1in_dly : std_logic := 'X'; + signal WBDATI1out_out : std_logic := 'X'; + signal WBDATI0in_ipd : std_logic := 'X'; + signal WBDATI0in_dly : std_logic := 'X'; + signal WBDATI0out_out : std_logic := 'X'; + signal PLL0DATI7in_ipd : std_logic := 'X'; + signal PLL0DATI7out_out : std_logic := 'X'; + signal PLL0DATI6in_ipd : std_logic := 'X'; + signal PLL0DATI6out_out : std_logic := 'X'; + signal PLL0DATI5in_ipd : std_logic := 'X'; + signal PLL0DATI5out_out : std_logic := 'X'; + signal PLL0DATI4in_ipd : std_logic := 'X'; + signal PLL0DATI4out_out : std_logic := 'X'; + signal PLL0DATI3in_ipd : std_logic := 'X'; + signal PLL0DATI3out_out : std_logic := 'X'; + signal PLL0DATI2in_ipd : std_logic := 'X'; + signal PLL0DATI2out_out : std_logic := 'X'; + signal PLL0DATI1in_ipd : std_logic := 'X'; + signal PLL0DATI1out_out : std_logic := 'X'; + signal PLL0DATI0in_ipd : std_logic := 'X'; + signal PLL0DATI0out_out : std_logic := 'X'; + signal PLL0ACKIin_ipd : std_logic := 'X'; + signal PLL0ACKIout_out : std_logic := 'X'; + signal PLL1DATI7in_ipd : std_logic := 'X'; + signal PLL1DATI7out_out : std_logic := 'X'; + signal PLL1DATI6in_ipd : std_logic := 'X'; + signal PLL1DATI6out_out : std_logic := 'X'; + signal PLL1DATI5in_ipd : std_logic := 'X'; + signal PLL1DATI5out_out : std_logic := 'X'; + signal PLL1DATI4in_ipd : std_logic := 'X'; + signal PLL1DATI4out_out : std_logic := 'X'; + signal PLL1DATI3in_ipd : std_logic := 'X'; + signal PLL1DATI3out_out : std_logic := 'X'; + signal PLL1DATI2in_ipd : std_logic := 'X'; + signal PLL1DATI2out_out : std_logic := 'X'; + signal PLL1DATI1in_ipd : std_logic := 'X'; + signal PLL1DATI1out_out : std_logic := 'X'; + signal PLL1DATI0in_ipd : std_logic := 'X'; + signal PLL1DATI0out_out : std_logic := 'X'; + signal PLL1ACKIin_ipd : std_logic := 'X'; + signal PLL1ACKIout_out : std_logic := 'X'; + signal I2C1SCLIin_ipd : std_logic := 'X'; + signal I2C1SCLIout_out : std_logic := 'X'; + signal I2C1SDAIin_ipd : std_logic := 'X'; + signal I2C1SDAIout_out : std_logic := 'X'; + signal I2C2SCLIin_ipd : std_logic := 'X'; + signal I2C2SCLIout_out : std_logic := 'X'; + signal I2C2SDAIin_ipd : std_logic := 'X'; + signal I2C2SDAIout_out : std_logic := 'X'; + signal SPISCKIin_ipd : std_logic := 'X'; + signal SPISCKIout_out : std_logic := 'X'; + signal SPIMISOIin_ipd : std_logic := 'X'; + signal SPIMISOIout_out : std_logic := 'X'; + signal SPIMOSIIin_ipd : std_logic := 'X'; + signal SPIMOSIIout_out : std_logic := 'X'; + signal SPISCSNin_ipd : std_logic := 'X'; + signal SPISCSNout_out : std_logic := 'X'; + signal TCCLKIin_ipd : std_logic := 'X'; + signal TCCLKIout_out : std_logic := 'X'; + signal TCRSTNin_ipd : std_logic := 'X'; + signal TCRSTNout_out : std_logic := 'X'; + signal TCICin_ipd : std_logic := 'X'; + signal TCICout_out : std_logic := 'X'; + signal UFMSNin_ipd : std_logic := 'X'; + signal UFMSNout_out : std_logic := 'X'; + signal WBDATO7out_out : std_logic := 'X'; + signal WBDATO7in_ipd : std_logic := 'X'; + signal WBDATO6out_out : std_logic := 'X'; + signal WBDATO6in_ipd : std_logic := 'X'; + signal WBDATO5out_out : std_logic := 'X'; + signal WBDATO5in_ipd : std_logic := 'X'; + signal WBDATO4out_out : std_logic := 'X'; + signal WBDATO4in_ipd : std_logic := 'X'; + signal WBDATO3out_out : std_logic := 'X'; + signal WBDATO3in_ipd : std_logic := 'X'; + signal WBDATO2out_out : std_logic := 'X'; + signal WBDATO2in_ipd : std_logic := 'X'; + signal WBDATO1out_out : std_logic := 'X'; + signal WBDATO1in_ipd : std_logic := 'X'; + signal WBDATO0out_out : std_logic := 'X'; + signal WBDATO0in_ipd : std_logic := 'X'; + signal WBACKOout_out : std_logic := 'X'; + signal WBACKOin_ipd : std_logic := 'X'; + signal PLLCLKOout_out : std_logic := 'X'; + signal PLLCLKOin_ipd : std_logic := 'X'; + signal PLLRSTOout_out : std_logic := 'X'; + signal PLLRSTOin_ipd : std_logic := 'X'; + signal PLL0STBOout_out : std_logic := 'X'; + signal PLL0STBOin_ipd : std_logic := 'X'; + signal PLL1STBOout_out : std_logic := 'X'; + signal PLL1STBOin_ipd : std_logic := 'X'; + signal PLLWEOout_out : std_logic := 'X'; + signal PLLWEOin_ipd : std_logic := 'X'; + signal PLLADRO4out_out : std_logic := 'X'; + signal PLLADRO4in_ipd : std_logic := 'X'; + signal PLLADRO3out_out : std_logic := 'X'; + signal PLLADRO3in_ipd : std_logic := 'X'; + signal PLLADRO2out_out : std_logic := 'X'; + signal PLLADRO2in_ipd : std_logic := 'X'; + signal PLLADRO1out_out : std_logic := 'X'; + signal PLLADRO1in_ipd : std_logic := 'X'; + signal PLLADRO0out_out : std_logic := 'X'; + signal PLLADRO0in_ipd : std_logic := 'X'; + signal PLLDATO7out_out : std_logic := 'X'; + signal PLLDATO7in_ipd : std_logic := 'X'; + signal PLLDATO6out_out : std_logic := 'X'; + signal PLLDATO6in_ipd : std_logic := 'X'; + signal PLLDATO5out_out : std_logic := 'X'; + signal PLLDATO5in_ipd : std_logic := 'X'; + signal PLLDATO4out_out : std_logic := 'X'; + signal PLLDATO4in_ipd : std_logic := 'X'; + signal PLLDATO3out_out : std_logic := 'X'; + signal PLLDATO3in_ipd : std_logic := 'X'; + signal PLLDATO2out_out : std_logic := 'X'; + signal PLLDATO2in_ipd : std_logic := 'X'; + signal PLLDATO1out_out : std_logic := 'X'; + signal PLLDATO1in_ipd : std_logic := 'X'; + signal PLLDATO0out_out : std_logic := 'X'; + signal PLLDATO0in_ipd : std_logic := 'X'; + signal I2C1SCLOout_out : std_logic := 'X'; + signal I2C1SCLOin_ipd : std_logic := 'X'; + signal I2C1SCLOENout_out : std_logic := 'X'; + signal I2C1SCLOENin_ipd : std_logic := 'X'; + signal I2C1SDAOout_out : std_logic := 'X'; + signal I2C1SDAOin_ipd : std_logic := 'X'; + signal I2C1SDAOENout_out : std_logic := 'X'; + signal I2C1SDAOENin_ipd : std_logic := 'X'; + signal I2C2SCLOout_out : std_logic := 'X'; + signal I2C2SCLOin_ipd : std_logic := 'X'; + signal I2C2SCLOENout_out : std_logic := 'X'; + signal I2C2SCLOENin_ipd : std_logic := 'X'; + signal I2C2SDAOout_out : std_logic := 'X'; + signal I2C2SDAOin_ipd : std_logic := 'X'; + signal I2C2SDAOENout_out : std_logic := 'X'; + signal I2C2SDAOENin_ipd : std_logic := 'X'; + signal I2C1IRQOout_out : std_logic := 'X'; + signal I2C1IRQOin_ipd : std_logic := 'X'; + signal I2C2IRQOout_out : std_logic := 'X'; + signal I2C2IRQOin_ipd : std_logic := 'X'; + signal SPISCKOout_out : std_logic := 'X'; + signal SPISCKOin_ipd : std_logic := 'X'; + signal SPISCKENout_out : std_logic := 'X'; + signal SPISCKENin_ipd : std_logic := 'X'; + signal SPIMISOOout_out : std_logic := 'X'; + signal SPIMISOOin_ipd : std_logic := 'X'; + signal SPIMISOENout_out : std_logic := 'X'; + signal SPIMISOENin_ipd : std_logic := 'X'; + signal SPIMOSIOout_out : std_logic := 'X'; + signal SPIMOSIOin_ipd : std_logic := 'X'; + signal SPIMOSIENout_out : std_logic := 'X'; + signal SPIMOSIENin_ipd : std_logic := 'X'; + signal SPIMCSN0out_out : std_logic := 'X'; + signal SPIMCSN0in_ipd : std_logic := 'X'; + signal SPIMCSN1out_out : std_logic := 'X'; + signal SPIMCSN1in_ipd : std_logic := 'X'; + signal SPIMCSN2out_out : std_logic := 'X'; + signal SPIMCSN2in_ipd : std_logic := 'X'; + signal SPIMCSN3out_out : std_logic := 'X'; + signal SPIMCSN3in_ipd : std_logic := 'X'; + signal SPIMCSN4out_out : std_logic := 'X'; + signal SPIMCSN4in_ipd : std_logic := 'X'; + signal SPIMCSN5out_out : std_logic := 'X'; + signal SPIMCSN5in_ipd : std_logic := 'X'; + signal SPIMCSN6out_out : std_logic := 'X'; + signal SPIMCSN6in_ipd : std_logic := 'X'; + signal SPIMCSN7out_out : std_logic := 'X'; + signal SPIMCSN7in_ipd : std_logic := 'X'; + signal SPICSNENout_out : std_logic := 'X'; + signal SPICSNENin_ipd : std_logic := 'X'; + signal SPIIRQOout_out : std_logic := 'X'; + signal SPIIRQOin_ipd : std_logic := 'X'; + signal TCINTout_out : std_logic := 'X'; + signal TCINTin_ipd : std_logic := 'X'; + signal TCOCout_out : std_logic := 'X'; + signal TCOCin_ipd : std_logic := 'X'; + signal WBCUFMIRQout_out : std_logic := 'X'; + signal WBCUFMIRQin_ipd : std_logic := 'X'; + signal CFGWAKEout_out : std_logic := 'X'; + signal CFGWAKEin_ipd : std_logic := 'X'; + signal CFGSTDBYout_out : std_logic := 'X'; + signal CFGSTDBYin_ipd : std_logic := 'X'; + + begin + WBCLKI_buf: BUFBA + port map (A=>WBCLKIin_dly, Z=>WBCLKIout_out); + WBRSTI_buf: BUFBA + port map (A=>WBRSTIin_dly, Z=>WBRSTIout_out); + WBCYCI_buf: BUFBA + port map (A=>WBCYCIin_dly, Z=>WBCYCIout_out); + WBSTBI_buf: BUFBA + port map (A=>WBSTBIin_dly, Z=>WBSTBIout_out); + WBWEI_buf: BUFBA + port map (A=>WBWEIin_dly, Z=>WBWEIout_out); + WBADRI7_buf: BUFBA + port map (A=>WBADRI7in_dly, Z=>WBADRI7out_out); + WBADRI6_buf: BUFBA + port map (A=>WBADRI6in_dly, Z=>WBADRI6out_out); + WBADRI5_buf: BUFBA + port map (A=>WBADRI5in_dly, Z=>WBADRI5out_out); + WBADRI4_buf: BUFBA + port map (A=>WBADRI4in_dly, Z=>WBADRI4out_out); + WBADRI3_buf: BUFBA + port map (A=>WBADRI3in_dly, Z=>WBADRI3out_out); + WBADRI2_buf: BUFBA + port map (A=>WBADRI2in_dly, Z=>WBADRI2out_out); + WBADRI1_buf: BUFBA + port map (A=>WBADRI1in_dly, Z=>WBADRI1out_out); + WBADRI0_buf: BUFBA + port map (A=>WBADRI0in_dly, Z=>WBADRI0out_out); + WBDATI7_buf: BUFBA + port map (A=>WBDATI7in_dly, Z=>WBDATI7out_out); + WBDATI6_buf: BUFBA + port map (A=>WBDATI6in_dly, Z=>WBDATI6out_out); + WBDATI5_buf: BUFBA + port map (A=>WBDATI5in_dly, Z=>WBDATI5out_out); + WBDATI4_buf: BUFBA + port map (A=>WBDATI4in_dly, Z=>WBDATI4out_out); + WBDATI3_buf: BUFBA + port map (A=>WBDATI3in_dly, Z=>WBDATI3out_out); + WBDATI2_buf: BUFBA + port map (A=>WBDATI2in_dly, Z=>WBDATI2out_out); + WBDATI1_buf: BUFBA + port map (A=>WBDATI1in_dly, Z=>WBDATI1out_out); + WBDATI0_buf: BUFBA + port map (A=>WBDATI0in_dly, Z=>WBDATI0out_out); + PLL0DATI7_buf: BUFBA + port map (A=>PLL0DATI7in_ipd, Z=>PLL0DATI7out_out); + PLL0DATI6_buf: BUFBA + port map (A=>PLL0DATI6in_ipd, Z=>PLL0DATI6out_out); + PLL0DATI5_buf: BUFBA + port map (A=>PLL0DATI5in_ipd, Z=>PLL0DATI5out_out); + PLL0DATI4_buf: BUFBA + port map (A=>PLL0DATI4in_ipd, Z=>PLL0DATI4out_out); + PLL0DATI3_buf: BUFBA + port map (A=>PLL0DATI3in_ipd, Z=>PLL0DATI3out_out); + PLL0DATI2_buf: BUFBA + port map (A=>PLL0DATI2in_ipd, Z=>PLL0DATI2out_out); + PLL0DATI1_buf: BUFBA + port map (A=>PLL0DATI1in_ipd, Z=>PLL0DATI1out_out); + PLL0DATI0_buf: BUFBA + port map (A=>PLL0DATI0in_ipd, Z=>PLL0DATI0out_out); + PLL0ACKI_buf: BUFBA + port map (A=>PLL0ACKIin_ipd, Z=>PLL0ACKIout_out); + PLL1DATI7_buf: BUFBA + port map (A=>PLL1DATI7in_ipd, Z=>PLL1DATI7out_out); + PLL1DATI6_buf: BUFBA + port map (A=>PLL1DATI6in_ipd, Z=>PLL1DATI6out_out); + PLL1DATI5_buf: BUFBA + port map (A=>PLL1DATI5in_ipd, Z=>PLL1DATI5out_out); + PLL1DATI4_buf: BUFBA + port map (A=>PLL1DATI4in_ipd, Z=>PLL1DATI4out_out); + PLL1DATI3_buf: BUFBA + port map (A=>PLL1DATI3in_ipd, Z=>PLL1DATI3out_out); + PLL1DATI2_buf: BUFBA + port map (A=>PLL1DATI2in_ipd, Z=>PLL1DATI2out_out); + PLL1DATI1_buf: BUFBA + port map (A=>PLL1DATI1in_ipd, Z=>PLL1DATI1out_out); + PLL1DATI0_buf: BUFBA + port map (A=>PLL1DATI0in_ipd, Z=>PLL1DATI0out_out); + PLL1ACKI_buf: BUFBA + port map (A=>PLL1ACKIin_ipd, Z=>PLL1ACKIout_out); + I2C1SCLI_buf: BUFBA + port map (A=>I2C1SCLIin_ipd, Z=>I2C1SCLIout_out); + I2C1SDAI_buf: BUFBA + port map (A=>I2C1SDAIin_ipd, Z=>I2C1SDAIout_out); + I2C2SCLI_buf: BUFBA + port map (A=>I2C2SCLIin_ipd, Z=>I2C2SCLIout_out); + I2C2SDAI_buf: BUFBA + port map (A=>I2C2SDAIin_ipd, Z=>I2C2SDAIout_out); + SPISCKI_buf: BUFBA + port map (A=>SPISCKIin_ipd, Z=>SPISCKIout_out); + SPIMISOI_buf: BUFBA + port map (A=>SPIMISOIin_ipd, Z=>SPIMISOIout_out); + SPIMOSII_buf: BUFBA + port map (A=>SPIMOSIIin_ipd, Z=>SPIMOSIIout_out); + SPISCSN_buf: BUFBA + port map (A=>SPISCSNin_ipd, Z=>SPISCSNout_out); + TCCLKI_buf: BUFBA + port map (A=>TCCLKIin_ipd, Z=>TCCLKIout_out); + TCRSTN_buf: BUFBA + port map (A=>TCRSTNin_ipd, Z=>TCRSTNout_out); + TCIC_buf: BUFBA + port map (A=>TCICin_ipd, Z=>TCICout_out); + UFMSN_buf: BUFBA + port map (A=>UFMSNin_ipd, Z=>UFMSNout_out); + WBDATO7_buf: BUFBA + port map (A=>WBDATO7in_ipd, Z=>WBDATO7out_out); + WBDATO6_buf: BUFBA + port map (A=>WBDATO6in_ipd, Z=>WBDATO6out_out); + WBDATO5_buf: BUFBA + port map (A=>WBDATO5in_ipd, Z=>WBDATO5out_out); + WBDATO4_buf: BUFBA + port map (A=>WBDATO4in_ipd, Z=>WBDATO4out_out); + WBDATO3_buf: BUFBA + port map (A=>WBDATO3in_ipd, Z=>WBDATO3out_out); + WBDATO2_buf: BUFBA + port map (A=>WBDATO2in_ipd, Z=>WBDATO2out_out); + WBDATO1_buf: BUFBA + port map (A=>WBDATO1in_ipd, Z=>WBDATO1out_out); + WBDATO0_buf: BUFBA + port map (A=>WBDATO0in_ipd, Z=>WBDATO0out_out); + WBACKO_buf: BUFBA + port map (A=>WBACKOin_ipd, Z=>WBACKOout_out); + PLLCLKO_buf: BUFBA + port map (A=>PLLCLKOin_ipd, Z=>PLLCLKOout_out); + PLLRSTO_buf: BUFBA + port map (A=>PLLRSTOin_ipd, Z=>PLLRSTOout_out); + PLL0STBO_buf: BUFBA + port map (A=>PLL0STBOin_ipd, Z=>PLL0STBOout_out); + PLL1STBO_buf: BUFBA + port map (A=>PLL1STBOin_ipd, Z=>PLL1STBOout_out); + PLLWEO_buf: BUFBA + port map (A=>PLLWEOin_ipd, Z=>PLLWEOout_out); + PLLADRO4_buf: BUFBA + port map (A=>PLLADRO4in_ipd, Z=>PLLADRO4out_out); + PLLADRO3_buf: BUFBA + port map (A=>PLLADRO3in_ipd, Z=>PLLADRO3out_out); + PLLADRO2_buf: BUFBA + port map (A=>PLLADRO2in_ipd, Z=>PLLADRO2out_out); + PLLADRO1_buf: BUFBA + port map (A=>PLLADRO1in_ipd, Z=>PLLADRO1out_out); + PLLADRO0_buf: BUFBA + port map (A=>PLLADRO0in_ipd, Z=>PLLADRO0out_out); + PLLDATO7_buf: BUFBA + port map (A=>PLLDATO7in_ipd, Z=>PLLDATO7out_out); + PLLDATO6_buf: BUFBA + port map (A=>PLLDATO6in_ipd, Z=>PLLDATO6out_out); + PLLDATO5_buf: BUFBA + port map (A=>PLLDATO5in_ipd, Z=>PLLDATO5out_out); + PLLDATO4_buf: BUFBA + port map (A=>PLLDATO4in_ipd, Z=>PLLDATO4out_out); + PLLDATO3_buf: BUFBA + port map (A=>PLLDATO3in_ipd, Z=>PLLDATO3out_out); + PLLDATO2_buf: BUFBA + port map (A=>PLLDATO2in_ipd, Z=>PLLDATO2out_out); + PLLDATO1_buf: BUFBA + port map (A=>PLLDATO1in_ipd, Z=>PLLDATO1out_out); + PLLDATO0_buf: BUFBA + port map (A=>PLLDATO0in_ipd, Z=>PLLDATO0out_out); + I2C1SCLO_buf: BUFBA + port map (A=>I2C1SCLOin_ipd, Z=>I2C1SCLOout_out); + I2C1SCLOEN_buf: BUFBA + port map (A=>I2C1SCLOENin_ipd, Z=>I2C1SCLOENout_out); + I2C1SDAO_buf: BUFBA + port map (A=>I2C1SDAOin_ipd, Z=>I2C1SDAOout_out); + I2C1SDAOEN_buf: BUFBA + port map (A=>I2C1SDAOENin_ipd, Z=>I2C1SDAOENout_out); + I2C2SCLO_buf: BUFBA + port map (A=>I2C2SCLOin_ipd, Z=>I2C2SCLOout_out); + I2C2SCLOEN_buf: BUFBA + port map (A=>I2C2SCLOENin_ipd, Z=>I2C2SCLOENout_out); + I2C2SDAO_buf: BUFBA + port map (A=>I2C2SDAOin_ipd, Z=>I2C2SDAOout_out); + I2C2SDAOEN_buf: BUFBA + port map (A=>I2C2SDAOENin_ipd, Z=>I2C2SDAOENout_out); + I2C1IRQO_buf: BUFBA + port map (A=>I2C1IRQOin_ipd, Z=>I2C1IRQOout_out); + I2C2IRQO_buf: BUFBA + port map (A=>I2C2IRQOin_ipd, Z=>I2C2IRQOout_out); + SPISCKO_buf: BUFBA + port map (A=>SPISCKOin_ipd, Z=>SPISCKOout_out); + SPISCKEN_buf: BUFBA + port map (A=>SPISCKENin_ipd, Z=>SPISCKENout_out); + SPIMISOO_buf: BUFBA + port map (A=>SPIMISOOin_ipd, Z=>SPIMISOOout_out); + SPIMISOEN_buf: BUFBA + port map (A=>SPIMISOENin_ipd, Z=>SPIMISOENout_out); + SPIMOSIO_buf: BUFBA + port map (A=>SPIMOSIOin_ipd, Z=>SPIMOSIOout_out); + SPIMOSIEN_buf: BUFBA + port map (A=>SPIMOSIENin_ipd, Z=>SPIMOSIENout_out); + SPIMCSN0_buf: BUFBA + port map (A=>SPIMCSN0in_ipd, Z=>SPIMCSN0out_out); + SPIMCSN1_buf: BUFBA + port map (A=>SPIMCSN1in_ipd, Z=>SPIMCSN1out_out); + SPIMCSN2_buf: BUFBA + port map (A=>SPIMCSN2in_ipd, Z=>SPIMCSN2out_out); + SPIMCSN3_buf: BUFBA + port map (A=>SPIMCSN3in_ipd, Z=>SPIMCSN3out_out); + SPIMCSN4_buf: BUFBA + port map (A=>SPIMCSN4in_ipd, Z=>SPIMCSN4out_out); + SPIMCSN5_buf: BUFBA + port map (A=>SPIMCSN5in_ipd, Z=>SPIMCSN5out_out); + SPIMCSN6_buf: BUFBA + port map (A=>SPIMCSN6in_ipd, Z=>SPIMCSN6out_out); + SPIMCSN7_buf: BUFBA + port map (A=>SPIMCSN7in_ipd, Z=>SPIMCSN7out_out); + SPICSNEN_buf: BUFBA + port map (A=>SPICSNENin_ipd, Z=>SPICSNENout_out); + SPIIRQO_buf: BUFBA + port map (A=>SPIIRQOin_ipd, Z=>SPIIRQOout_out); + TCINT_buf: BUFBA + port map (A=>TCINTin_ipd, Z=>TCINTout_out); + TCOC_buf: BUFBA + port map (A=>TCOCin_ipd, Z=>TCOCout_out); + WBCUFMIRQ_buf: BUFBA + port map (A=>WBCUFMIRQin_ipd, Z=>WBCUFMIRQout_out); + CFGWAKE_buf: BUFBA + port map (A=>CFGWAKEin_ipd, Z=>CFGWAKEout_out); + CFGSTDBY_buf: BUFBA + port map (A=>CFGSTDBYin_ipd, Z=>CFGSTDBYout_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(WBCLKIin_ipd, WBCLKIin, tipd_WBCLKIin); + VitalWireDelay(WBRSTIin_ipd, WBRSTIin, tipd_WBRSTIin); + VitalWireDelay(WBCYCIin_ipd, WBCYCIin, tipd_WBCYCIin); + VitalWireDelay(WBSTBIin_ipd, WBSTBIin, tipd_WBSTBIin); + VitalWireDelay(WBWEIin_ipd, WBWEIin, tipd_WBWEIin); + VitalWireDelay(WBADRI7in_ipd, WBADRI7in, tipd_WBADRI7in); + VitalWireDelay(WBADRI6in_ipd, WBADRI6in, tipd_WBADRI6in); + VitalWireDelay(WBADRI5in_ipd, WBADRI5in, tipd_WBADRI5in); + VitalWireDelay(WBADRI4in_ipd, WBADRI4in, tipd_WBADRI4in); + VitalWireDelay(WBADRI3in_ipd, WBADRI3in, tipd_WBADRI3in); + VitalWireDelay(WBADRI2in_ipd, WBADRI2in, tipd_WBADRI2in); + VitalWireDelay(WBADRI1in_ipd, WBADRI1in, tipd_WBADRI1in); + VitalWireDelay(WBADRI0in_ipd, WBADRI0in, tipd_WBADRI0in); + VitalWireDelay(WBDATI7in_ipd, WBDATI7in, tipd_WBDATI7in); + VitalWireDelay(WBDATI6in_ipd, WBDATI6in, tipd_WBDATI6in); + VitalWireDelay(WBDATI5in_ipd, WBDATI5in, tipd_WBDATI5in); + VitalWireDelay(WBDATI4in_ipd, WBDATI4in, tipd_WBDATI4in); + VitalWireDelay(WBDATI3in_ipd, WBDATI3in, tipd_WBDATI3in); + VitalWireDelay(WBDATI2in_ipd, WBDATI2in, tipd_WBDATI2in); + VitalWireDelay(WBDATI1in_ipd, WBDATI1in, tipd_WBDATI1in); + VitalWireDelay(WBDATI0in_ipd, WBDATI0in, tipd_WBDATI0in); + VitalWireDelay(PLL0DATI7in_ipd, PLL0DATI7in, tipd_PLL0DATI7in); + VitalWireDelay(PLL0DATI6in_ipd, PLL0DATI6in, tipd_PLL0DATI6in); + VitalWireDelay(PLL0DATI5in_ipd, PLL0DATI5in, tipd_PLL0DATI5in); + VitalWireDelay(PLL0DATI4in_ipd, PLL0DATI4in, tipd_PLL0DATI4in); + VitalWireDelay(PLL0DATI3in_ipd, PLL0DATI3in, tipd_PLL0DATI3in); + VitalWireDelay(PLL0DATI2in_ipd, PLL0DATI2in, tipd_PLL0DATI2in); + VitalWireDelay(PLL0DATI1in_ipd, PLL0DATI1in, tipd_PLL0DATI1in); + VitalWireDelay(PLL0DATI0in_ipd, PLL0DATI0in, tipd_PLL0DATI0in); + VitalWireDelay(PLL0ACKIin_ipd, PLL0ACKIin, tipd_PLL0ACKIin); + VitalWireDelay(PLL1DATI7in_ipd, PLL1DATI7in, tipd_PLL1DATI7in); + VitalWireDelay(PLL1DATI6in_ipd, PLL1DATI6in, tipd_PLL1DATI6in); + VitalWireDelay(PLL1DATI5in_ipd, PLL1DATI5in, tipd_PLL1DATI5in); + VitalWireDelay(PLL1DATI4in_ipd, PLL1DATI4in, tipd_PLL1DATI4in); + VitalWireDelay(PLL1DATI3in_ipd, PLL1DATI3in, tipd_PLL1DATI3in); + VitalWireDelay(PLL1DATI2in_ipd, PLL1DATI2in, tipd_PLL1DATI2in); + VitalWireDelay(PLL1DATI1in_ipd, PLL1DATI1in, tipd_PLL1DATI1in); + VitalWireDelay(PLL1DATI0in_ipd, PLL1DATI0in, tipd_PLL1DATI0in); + VitalWireDelay(PLL1ACKIin_ipd, PLL1ACKIin, tipd_PLL1ACKIin); + VitalWireDelay(I2C1SCLIin_ipd, I2C1SCLIin, tipd_I2C1SCLIin); + VitalWireDelay(I2C1SDAIin_ipd, I2C1SDAIin, tipd_I2C1SDAIin); + VitalWireDelay(I2C2SCLIin_ipd, I2C2SCLIin, tipd_I2C2SCLIin); + VitalWireDelay(I2C2SDAIin_ipd, I2C2SDAIin, tipd_I2C2SDAIin); + VitalWireDelay(SPISCKIin_ipd, SPISCKIin, tipd_SPISCKIin); + VitalWireDelay(SPIMISOIin_ipd, SPIMISOIin, tipd_SPIMISOIin); + VitalWireDelay(SPIMOSIIin_ipd, SPIMOSIIin, tipd_SPIMOSIIin); + VitalWireDelay(SPISCSNin_ipd, SPISCSNin, tipd_SPISCSNin); + VitalWireDelay(TCCLKIin_ipd, TCCLKIin, tipd_TCCLKIin); + VitalWireDelay(TCRSTNin_ipd, TCRSTNin, tipd_TCRSTNin); + VitalWireDelay(TCICin_ipd, TCICin, tipd_TCICin); + VitalWireDelay(UFMSNin_ipd, UFMSNin, tipd_UFMSNin); + VitalWireDelay(WBDATO7in_ipd, WBDATO7in, tipd_WBDATO7in); + VitalWireDelay(WBDATO6in_ipd, WBDATO6in, tipd_WBDATO6in); + VitalWireDelay(WBDATO5in_ipd, WBDATO5in, tipd_WBDATO5in); + VitalWireDelay(WBDATO4in_ipd, WBDATO4in, tipd_WBDATO4in); + VitalWireDelay(WBDATO3in_ipd, WBDATO3in, tipd_WBDATO3in); + VitalWireDelay(WBDATO2in_ipd, WBDATO2in, tipd_WBDATO2in); + VitalWireDelay(WBDATO1in_ipd, WBDATO1in, tipd_WBDATO1in); + VitalWireDelay(WBDATO0in_ipd, WBDATO0in, tipd_WBDATO0in); + VitalWireDelay(WBACKOin_ipd, WBACKOin, tipd_WBACKOin); + VitalWireDelay(PLLCLKOin_ipd, PLLCLKOin, tipd_PLLCLKOin); + VitalWireDelay(PLLRSTOin_ipd, PLLRSTOin, tipd_PLLRSTOin); + VitalWireDelay(PLL0STBOin_ipd, PLL0STBOin, tipd_PLL0STBOin); + VitalWireDelay(PLL1STBOin_ipd, PLL1STBOin, tipd_PLL1STBOin); + VitalWireDelay(PLLWEOin_ipd, PLLWEOin, tipd_PLLWEOin); + VitalWireDelay(PLLADRO4in_ipd, PLLADRO4in, tipd_PLLADRO4in); + VitalWireDelay(PLLADRO3in_ipd, PLLADRO3in, tipd_PLLADRO3in); + VitalWireDelay(PLLADRO2in_ipd, PLLADRO2in, tipd_PLLADRO2in); + VitalWireDelay(PLLADRO1in_ipd, PLLADRO1in, tipd_PLLADRO1in); + VitalWireDelay(PLLADRO0in_ipd, PLLADRO0in, tipd_PLLADRO0in); + VitalWireDelay(PLLDATO7in_ipd, PLLDATO7in, tipd_PLLDATO7in); + VitalWireDelay(PLLDATO6in_ipd, PLLDATO6in, tipd_PLLDATO6in); + VitalWireDelay(PLLDATO5in_ipd, PLLDATO5in, tipd_PLLDATO5in); + VitalWireDelay(PLLDATO4in_ipd, PLLDATO4in, tipd_PLLDATO4in); + VitalWireDelay(PLLDATO3in_ipd, PLLDATO3in, tipd_PLLDATO3in); + VitalWireDelay(PLLDATO2in_ipd, PLLDATO2in, tipd_PLLDATO2in); + VitalWireDelay(PLLDATO1in_ipd, PLLDATO1in, tipd_PLLDATO1in); + VitalWireDelay(PLLDATO0in_ipd, PLLDATO0in, tipd_PLLDATO0in); + VitalWireDelay(I2C1SCLOin_ipd, I2C1SCLOin, tipd_I2C1SCLOin); + VitalWireDelay(I2C1SCLOENin_ipd, I2C1SCLOENin, tipd_I2C1SCLOENin); + VitalWireDelay(I2C1SDAOin_ipd, I2C1SDAOin, tipd_I2C1SDAOin); + VitalWireDelay(I2C1SDAOENin_ipd, I2C1SDAOENin, tipd_I2C1SDAOENin); + VitalWireDelay(I2C2SCLOin_ipd, I2C2SCLOin, tipd_I2C2SCLOin); + VitalWireDelay(I2C2SCLOENin_ipd, I2C2SCLOENin, tipd_I2C2SCLOENin); + VitalWireDelay(I2C2SDAOin_ipd, I2C2SDAOin, tipd_I2C2SDAOin); + VitalWireDelay(I2C2SDAOENin_ipd, I2C2SDAOENin, tipd_I2C2SDAOENin); + VitalWireDelay(I2C1IRQOin_ipd, I2C1IRQOin, tipd_I2C1IRQOin); + VitalWireDelay(I2C2IRQOin_ipd, I2C2IRQOin, tipd_I2C2IRQOin); + VitalWireDelay(SPISCKOin_ipd, SPISCKOin, tipd_SPISCKOin); + VitalWireDelay(SPISCKENin_ipd, SPISCKENin, tipd_SPISCKENin); + VitalWireDelay(SPIMISOOin_ipd, SPIMISOOin, tipd_SPIMISOOin); + VitalWireDelay(SPIMISOENin_ipd, SPIMISOENin, tipd_SPIMISOENin); + VitalWireDelay(SPIMOSIOin_ipd, SPIMOSIOin, tipd_SPIMOSIOin); + VitalWireDelay(SPIMOSIENin_ipd, SPIMOSIENin, tipd_SPIMOSIENin); + VitalWireDelay(SPIMCSN0in_ipd, SPIMCSN0in, tipd_SPIMCSN0in); + VitalWireDelay(SPIMCSN1in_ipd, SPIMCSN1in, tipd_SPIMCSN1in); + VitalWireDelay(SPIMCSN2in_ipd, SPIMCSN2in, tipd_SPIMCSN2in); + VitalWireDelay(SPIMCSN3in_ipd, SPIMCSN3in, tipd_SPIMCSN3in); + VitalWireDelay(SPIMCSN4in_ipd, SPIMCSN4in, tipd_SPIMCSN4in); + VitalWireDelay(SPIMCSN5in_ipd, SPIMCSN5in, tipd_SPIMCSN5in); + VitalWireDelay(SPIMCSN6in_ipd, SPIMCSN6in, tipd_SPIMCSN6in); + VitalWireDelay(SPIMCSN7in_ipd, SPIMCSN7in, tipd_SPIMCSN7in); + VitalWireDelay(SPICSNENin_ipd, SPICSNENin, tipd_SPICSNENin); + VitalWireDelay(SPIIRQOin_ipd, SPIIRQOin, tipd_SPIIRQOin); + VitalWireDelay(TCINTin_ipd, TCINTin, tipd_TCINTin); + VitalWireDelay(TCOCin_ipd, TCOCin, tipd_TCOCin); + VitalWireDelay(WBCUFMIRQin_ipd, WBCUFMIRQin, tipd_WBCUFMIRQin); + VitalWireDelay(CFGWAKEin_ipd, CFGWAKEin, tipd_CFGWAKEin); + VitalWireDelay(CFGSTDBYin_ipd, CFGSTDBYin, tipd_CFGSTDBYin); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(WBCLKIin_dly, WBCLKIin_ipd, ticd_WBCLKIin); + VitalSignalDelay(WBRSTIin_dly, WBRSTIin_ipd, tisd_WBRSTIin_WBCLKIin); + VitalSignalDelay(WBCYCIin_dly, WBCYCIin_ipd, tisd_WBCYCIin_WBCLKIin); + VitalSignalDelay(WBSTBIin_dly, WBSTBIin_ipd, tisd_WBSTBIin_WBCLKIin); + VitalSignalDelay(WBWEIin_dly, WBWEIin_ipd, tisd_WBWEIin_WBCLKIin); + VitalSignalDelay(WBADRI7in_dly, WBADRI7in_ipd, tisd_WBADRI7in_WBCLKIin); + VitalSignalDelay(WBADRI6in_dly, WBADRI6in_ipd, tisd_WBADRI6in_WBCLKIin); + VitalSignalDelay(WBADRI5in_dly, WBADRI5in_ipd, tisd_WBADRI5in_WBCLKIin); + VitalSignalDelay(WBADRI4in_dly, WBADRI4in_ipd, tisd_WBADRI4in_WBCLKIin); + VitalSignalDelay(WBADRI3in_dly, WBADRI3in_ipd, tisd_WBADRI3in_WBCLKIin); + VitalSignalDelay(WBADRI2in_dly, WBADRI2in_ipd, tisd_WBADRI2in_WBCLKIin); + VitalSignalDelay(WBADRI1in_dly, WBADRI1in_ipd, tisd_WBADRI1in_WBCLKIin); + VitalSignalDelay(WBADRI0in_dly, WBADRI0in_ipd, tisd_WBADRI0in_WBCLKIin); + VitalSignalDelay(WBDATI7in_dly, WBDATI7in_ipd, tisd_WBDATI7in_WBCLKIin); + VitalSignalDelay(WBDATI6in_dly, WBDATI6in_ipd, tisd_WBDATI6in_WBCLKIin); + VitalSignalDelay(WBDATI5in_dly, WBDATI5in_ipd, tisd_WBDATI5in_WBCLKIin); + VitalSignalDelay(WBDATI4in_dly, WBDATI4in_ipd, tisd_WBDATI4in_WBCLKIin); + VitalSignalDelay(WBDATI3in_dly, WBDATI3in_ipd, tisd_WBDATI3in_WBCLKIin); + VitalSignalDelay(WBDATI2in_dly, WBDATI2in_ipd, tisd_WBDATI2in_WBCLKIin); + VitalSignalDelay(WBDATI1in_dly, WBDATI1in_ipd, tisd_WBDATI1in_WBCLKIin); + VitalSignalDelay(WBDATI0in_dly, WBDATI0in_ipd, tisd_WBDATI0in_WBCLKIin); + END BLOCK; + + VitalBehavior : PROCESS (WBCLKIin_dly, WBCLKIout_out, WBRSTIin_dly, + WBRSTIout_out, WBCYCIin_dly, WBCYCIout_out, WBSTBIin_dly, WBSTBIout_out, + WBWEIin_dly, WBWEIout_out, WBADRI7in_dly, WBADRI7out_out, WBADRI6in_dly, + WBADRI6out_out, WBADRI5in_dly, WBADRI5out_out, WBADRI4in_dly, + WBADRI4out_out, WBADRI3in_dly, WBADRI3out_out, WBADRI2in_dly, + WBADRI2out_out, WBADRI1in_dly, WBADRI1out_out, WBADRI0in_dly, + WBADRI0out_out, WBDATI7in_dly, WBDATI7out_out, WBDATI6in_dly, + WBDATI6out_out, WBDATI5in_dly, WBDATI5out_out, WBDATI4in_dly, + WBDATI4out_out, WBDATI3in_dly, WBDATI3out_out, WBDATI2in_dly, + WBDATI2out_out, WBDATI1in_dly, WBDATI1out_out, WBDATI0in_dly, + WBDATI0out_out, PLL0DATI7in_ipd, PLL0DATI7out_out, PLL0DATI6in_ipd, + PLL0DATI6out_out, PLL0DATI5in_ipd, PLL0DATI5out_out, PLL0DATI4in_ipd, + PLL0DATI4out_out, PLL0DATI3in_ipd, PLL0DATI3out_out, PLL0DATI2in_ipd, + PLL0DATI2out_out, PLL0DATI1in_ipd, PLL0DATI1out_out, PLL0DATI0in_ipd, + PLL0DATI0out_out, PLL0ACKIin_ipd, PLL0ACKIout_out, PLL1DATI7in_ipd, + PLL1DATI7out_out, PLL1DATI6in_ipd, PLL1DATI6out_out, PLL1DATI5in_ipd, + PLL1DATI5out_out, PLL1DATI4in_ipd, PLL1DATI4out_out, PLL1DATI3in_ipd, + PLL1DATI3out_out, PLL1DATI2in_ipd, PLL1DATI2out_out, PLL1DATI1in_ipd, + PLL1DATI1out_out, PLL1DATI0in_ipd, PLL1DATI0out_out, PLL1ACKIin_ipd, + PLL1ACKIout_out, I2C1SCLIin_ipd, I2C1SCLIout_out, I2C1SDAIin_ipd, + I2C1SDAIout_out, I2C2SCLIin_ipd, I2C2SCLIout_out, I2C2SDAIin_ipd, + I2C2SDAIout_out, SPISCKIin_ipd, SPISCKIout_out, SPIMISOIin_ipd, + SPIMISOIout_out, SPIMOSIIin_ipd, SPIMOSIIout_out, SPISCSNin_ipd, + SPISCSNout_out, TCCLKIin_ipd, TCCLKIout_out, TCRSTNin_ipd, TCRSTNout_out, + TCICin_ipd, TCICout_out, UFMSNin_ipd, UFMSNout_out, WBDATO7out_out, + WBDATO7in_ipd, WBDATO6out_out, WBDATO6in_ipd, WBDATO5out_out, + WBDATO5in_ipd, WBDATO4out_out, WBDATO4in_ipd, WBDATO3out_out, + WBDATO3in_ipd, WBDATO2out_out, WBDATO2in_ipd, WBDATO1out_out, + WBDATO1in_ipd, WBDATO0out_out, WBDATO0in_ipd, WBACKOout_out, + WBACKOin_ipd, PLLCLKOout_out, PLLCLKOin_ipd, PLLRSTOout_out, + PLLRSTOin_ipd, PLL0STBOout_out, PLL0STBOin_ipd, PLL1STBOout_out, + PLL1STBOin_ipd, PLLWEOout_out, PLLWEOin_ipd, PLLADRO4out_out, + PLLADRO4in_ipd, PLLADRO3out_out, PLLADRO3in_ipd, PLLADRO2out_out, + PLLADRO2in_ipd, PLLADRO1out_out, PLLADRO1in_ipd, PLLADRO0out_out, + PLLADRO0in_ipd, PLLDATO7out_out, PLLDATO7in_ipd, PLLDATO6out_out, + PLLDATO6in_ipd, PLLDATO5out_out, PLLDATO5in_ipd, PLLDATO4out_out, + PLLDATO4in_ipd, PLLDATO3out_out, PLLDATO3in_ipd, PLLDATO2out_out, + PLLDATO2in_ipd, PLLDATO1out_out, PLLDATO1in_ipd, PLLDATO0out_out, + PLLDATO0in_ipd, I2C1SCLOout_out, I2C1SCLOin_ipd, I2C1SCLOENout_out, + I2C1SCLOENin_ipd, I2C1SDAOout_out, I2C1SDAOin_ipd, I2C1SDAOENout_out, + I2C1SDAOENin_ipd, I2C2SCLOout_out, I2C2SCLOin_ipd, I2C2SCLOENout_out, + I2C2SCLOENin_ipd, I2C2SDAOout_out, I2C2SDAOin_ipd, I2C2SDAOENout_out, + I2C2SDAOENin_ipd, I2C1IRQOout_out, I2C1IRQOin_ipd, I2C2IRQOout_out, + I2C2IRQOin_ipd, SPISCKOout_out, SPISCKOin_ipd, SPISCKENout_out, + SPISCKENin_ipd, SPIMISOOout_out, SPIMISOOin_ipd, SPIMISOENout_out, + SPIMISOENin_ipd, SPIMOSIOout_out, SPIMOSIOin_ipd, SPIMOSIENout_out, + SPIMOSIENin_ipd, SPIMCSN0out_out, SPIMCSN0in_ipd, SPIMCSN1out_out, + SPIMCSN1in_ipd, SPIMCSN2out_out, SPIMCSN2in_ipd, SPIMCSN3out_out, + SPIMCSN3in_ipd, SPIMCSN4out_out, SPIMCSN4in_ipd, SPIMCSN5out_out, + SPIMCSN5in_ipd, SPIMCSN6out_out, SPIMCSN6in_ipd, SPIMCSN7out_out, + SPIMCSN7in_ipd, SPICSNENout_out, SPICSNENin_ipd, SPIIRQOout_out, + SPIIRQOin_ipd, TCINTout_out, TCINTin_ipd, TCOCout_out, TCOCin_ipd, + WBCUFMIRQout_out, WBCUFMIRQin_ipd, CFGWAKEout_out, CFGWAKEin_ipd, + CFGSTDBYout_out, CFGSTDBYin_ipd) + VARIABLE WBDATO1out_zd : std_logic := 'X'; + VARIABLE WBDATO1out_GlitchData : VitalGlitchDataType; + VARIABLE WBDATO0out_zd : std_logic := 'X'; + VARIABLE WBDATO0out_GlitchData : VitalGlitchDataType; + VARIABLE WBACKOout_zd : std_logic := 'X'; + VARIABLE WBACKOout_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_WBRSTIin_WBCLKIin : x01 := '0'; + VARIABLE WBRSTIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBCYCIin_WBCLKIin : x01 := '0'; + VARIABLE WBCYCIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBSTBIin_WBCLKIin : x01 := '0'; + VARIABLE WBSTBIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBWEIin_WBCLKIin : x01 := '0'; + VARIABLE WBWEIin_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI0in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI0in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI1in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI1in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI2in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI2in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI3in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI3in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI4in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI4in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI5in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI5in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI6in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI6in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBADRI7in_WBCLKIin : x01 := '0'; + VARIABLE WBADRI7in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI0in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI0in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI1in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI1in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI2in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI2in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI3in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI3in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI4in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI4in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI5in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI5in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI6in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI6in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBDATI7in_WBCLKIin : x01 := '0'; + VARIABLE WBDATI7in_WBCLKIin_TimingDatash : VitalTimingDataType; + VARIABLE tviol_WBCLKIin_WBCLKIin : x01 := '0'; + VARIABLE periodcheckinfo_WBCLKIin : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => WBRSTIin_dly, + TestSignalName => "WBRSTIin", + TestDelay => tisd_WBRSTIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBRSTIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBRSTIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBRSTIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBRSTIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBRSTIin_WBCLKIin_TimingDatash, + Violation => tviol_WBRSTIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBCYCIin_dly, + TestSignalName => "WBCYCIin", + TestDelay => tisd_WBCYCIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBCYCIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBCYCIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBCYCIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBCYCIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBCYCIin_WBCLKIin_TimingDatash, + Violation => tviol_WBCYCIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBSTBIin_dly, + TestSignalName => "WBSTBIin", + TestDelay => tisd_WBSTBIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBSTBIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBSTBIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBSTBIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBSTBIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBSTBIin_WBCLKIin_TimingDatash, + Violation => tviol_WBSTBIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBWEIin_dly, + TestSignalName => "WBWEIin", + TestDelay => tisd_WBWEIin_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBWEIin_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBWEIin_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBWEIin_WBCLKIin_noedge_posedge, + HoldLow => thold_WBWEIin_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBWEIin_WBCLKIin_TimingDatash, + Violation => tviol_WBWEIin_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI0in_dly, + TestSignalName => "WBADRI0in", + TestDelay => tisd_WBADRI0in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI0in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI0in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI0in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI0in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI0in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI0in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI1in_dly, + TestSignalName => "WBADRI1in", + TestDelay => tisd_WBADRI1in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI1in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI1in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI1in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI1in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI1in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI1in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI2in_dly, + TestSignalName => "WBADRI2in", + TestDelay => tisd_WBADRI2in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI2in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI2in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI2in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI2in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI2in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI2in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI3in_dly, + TestSignalName => "WBADRI3in", + TestDelay => tisd_WBADRI3in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI3in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI3in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI3in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI3in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI3in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI3in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI4in_dly, + TestSignalName => "WBADRI4in", + TestDelay => tisd_WBADRI4in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI4in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI4in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI4in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI4in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI4in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI4in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI5in_dly, + TestSignalName => "WBADRI5in", + TestDelay => tisd_WBADRI5in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI5in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI5in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI5in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI5in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI5in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI5in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI6in_dly, + TestSignalName => "WBADRI6in", + TestDelay => tisd_WBADRI6in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI6in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI6in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI6in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI6in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI6in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI6in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBADRI7in_dly, + TestSignalName => "WBADRI7in", + TestDelay => tisd_WBADRI7in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBADRI7in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBADRI7in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBADRI7in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBADRI7in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBADRI7in_WBCLKIin_TimingDatash, + Violation => tviol_WBADRI7in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI0in_dly, + TestSignalName => "WBDATI0in", + TestDelay => tisd_WBDATI0in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI0in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI0in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI0in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI0in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI0in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI0in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI1in_dly, + TestSignalName => "WBDATI1in", + TestDelay => tisd_WBDATI1in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI1in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI1in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI1in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI1in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI1in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI1in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI2in_dly, + TestSignalName => "WBDATI2in", + TestDelay => tisd_WBDATI2in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI2in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI2in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI2in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI2in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI2in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI2in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI3in_dly, + TestSignalName => "WBDATI3in", + TestDelay => tisd_WBDATI3in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI3in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI3in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI3in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI3in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI3in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI3in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI4in_dly, + TestSignalName => "WBDATI4in", + TestDelay => tisd_WBDATI4in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI4in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI4in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI4in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI4in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI4in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI4in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI5in_dly, + TestSignalName => "WBDATI5in", + TestDelay => tisd_WBDATI5in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI5in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI5in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI5in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI5in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI5in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI5in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI6in_dly, + TestSignalName => "WBDATI6in", + TestDelay => tisd_WBDATI6in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI6in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI6in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI6in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI6in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI6in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI6in_WBCLKIin, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => WBDATI7in_dly, + TestSignalName => "WBDATI7in", + TestDelay => tisd_WBDATI7in_WBCLKIin, + RefSignal => WBCLKIin_dly, + RefSignalName => "WBCLKIin", + RefDelay => ticd_WBCLKIin, + SetupHigh => tsetup_WBDATI7in_WBCLKIin_noedge_posedge, + SetupLow => tsetup_WBDATI7in_WBCLKIin_noedge_posedge, + HoldHigh => thold_WBDATI7in_WBCLKIin_noedge_posedge, + HoldLow => thold_WBDATI7in_WBCLKIin_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => WBDATI7in_WBCLKIin_TimingDatash, + Violation => tviol_WBDATI7in_WBCLKIin, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => WBCLKIin_ipd, + TestSignalName => "WBCLKIin", + Period => tperiod_WBCLKIin, + PulseWidthHigh => tpw_WBCLKIin_posedge, + PulseWidthLow => tpw_WBCLKIin_negedge, + PeriodData => periodcheckinfo_WBCLKIin, + Violation => tviol_WBCLKIin_WBCLKIin, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + WBCLKIout <= WBCLKIout_out; + WBRSTIout <= WBRSTIout_out; + WBCYCIout <= WBCYCIout_out; + WBSTBIout <= WBSTBIout_out; + WBWEIout <= WBWEIout_out; + WBADRI7out <= WBADRI7out_out; + WBADRI6out <= WBADRI6out_out; + WBADRI5out <= WBADRI5out_out; + WBADRI4out <= WBADRI4out_out; + WBADRI3out <= WBADRI3out_out; + WBADRI2out <= WBADRI2out_out; + WBADRI1out <= WBADRI1out_out; + WBADRI0out <= WBADRI0out_out; + WBDATI7out <= WBDATI7out_out; + WBDATI6out <= WBDATI6out_out; + WBDATI5out <= WBDATI5out_out; + WBDATI4out <= WBDATI4out_out; + WBDATI3out <= WBDATI3out_out; + WBDATI2out <= WBDATI2out_out; + WBDATI1out <= WBDATI1out_out; + WBDATI0out <= WBDATI0out_out; + PLL0DATI7out <= PLL0DATI7out_out; + PLL0DATI6out <= PLL0DATI6out_out; + PLL0DATI5out <= PLL0DATI5out_out; + PLL0DATI4out <= PLL0DATI4out_out; + PLL0DATI3out <= PLL0DATI3out_out; + PLL0DATI2out <= PLL0DATI2out_out; + PLL0DATI1out <= PLL0DATI1out_out; + PLL0DATI0out <= PLL0DATI0out_out; + PLL0ACKIout <= PLL0ACKIout_out; + PLL1DATI7out <= PLL1DATI7out_out; + PLL1DATI6out <= PLL1DATI6out_out; + PLL1DATI5out <= PLL1DATI5out_out; + PLL1DATI4out <= PLL1DATI4out_out; + PLL1DATI3out <= PLL1DATI3out_out; + PLL1DATI2out <= PLL1DATI2out_out; + PLL1DATI1out <= PLL1DATI1out_out; + PLL1DATI0out <= PLL1DATI0out_out; + PLL1ACKIout <= PLL1ACKIout_out; + I2C1SCLIout <= I2C1SCLIout_out; + I2C1SDAIout <= I2C1SDAIout_out; + I2C2SCLIout <= I2C2SCLIout_out; + I2C2SDAIout <= I2C2SDAIout_out; + SPISCKIout <= SPISCKIout_out; + SPIMISOIout <= SPIMISOIout_out; + SPIMOSIIout <= SPIMOSIIout_out; + SPISCSNout <= SPISCSNout_out; + TCCLKIout <= TCCLKIout_out; + TCRSTNout <= TCRSTNout_out; + TCICout <= TCICout_out; + UFMSNout <= UFMSNout_out; + WBDATO7out <= WBDATO7out_out; + WBDATO6out <= WBDATO6out_out; + WBDATO5out <= WBDATO5out_out; + WBDATO4out <= WBDATO4out_out; + WBDATO3out <= WBDATO3out_out; + WBDATO2out <= WBDATO2out_out; + WBDATO1out_zd := WBDATO1out_out; + WBDATO0out_zd := WBDATO0out_out; + WBACKOout_zd := WBACKOout_out; + PLLCLKOout <= PLLCLKOout_out; + PLLRSTOout <= PLLRSTOout_out; + PLL0STBOout <= PLL0STBOout_out; + PLL1STBOout <= PLL1STBOout_out; + PLLWEOout <= PLLWEOout_out; + PLLADRO4out <= PLLADRO4out_out; + PLLADRO3out <= PLLADRO3out_out; + PLLADRO2out <= PLLADRO2out_out; + PLLADRO1out <= PLLADRO1out_out; + PLLADRO0out <= PLLADRO0out_out; + PLLDATO7out <= PLLDATO7out_out; + PLLDATO6out <= PLLDATO6out_out; + PLLDATO5out <= PLLDATO5out_out; + PLLDATO4out <= PLLDATO4out_out; + PLLDATO3out <= PLLDATO3out_out; + PLLDATO2out <= PLLDATO2out_out; + PLLDATO1out <= PLLDATO1out_out; + PLLDATO0out <= PLLDATO0out_out; + I2C1SCLOout <= I2C1SCLOout_out; + I2C1SCLOENout <= I2C1SCLOENout_out; + I2C1SDAOout <= I2C1SDAOout_out; + I2C1SDAOENout <= I2C1SDAOENout_out; + I2C2SCLOout <= I2C2SCLOout_out; + I2C2SCLOENout <= I2C2SCLOENout_out; + I2C2SDAOout <= I2C2SDAOout_out; + I2C2SDAOENout <= I2C2SDAOENout_out; + I2C1IRQOout <= I2C1IRQOout_out; + I2C2IRQOout <= I2C2IRQOout_out; + SPISCKOout <= SPISCKOout_out; + SPISCKENout <= SPISCKENout_out; + SPIMISOOout <= SPIMISOOout_out; + SPIMISOENout <= SPIMISOENout_out; + SPIMOSIOout <= SPIMOSIOout_out; + SPIMOSIENout <= SPIMOSIENout_out; + SPIMCSN0out <= SPIMCSN0out_out; + SPIMCSN1out <= SPIMCSN1out_out; + SPIMCSN2out <= SPIMCSN2out_out; + SPIMCSN3out <= SPIMCSN3out_out; + SPIMCSN4out <= SPIMCSN4out_out; + SPIMCSN5out <= SPIMCSN5out_out; + SPIMCSN6out <= SPIMCSN6out_out; + SPIMCSN7out <= SPIMCSN7out_out; + SPICSNENout <= SPICSNENout_out; + SPIIRQOout <= SPIIRQOout_out; + TCINTout <= TCINTout_out; + TCOCout <= TCOCout_out; + WBCUFMIRQout <= WBCUFMIRQout_out; + CFGWAKEout <= CFGWAKEout_out; + CFGSTDBYout <= CFGSTDBYout_out; + + VitalPathDelay01 ( + + OutSignal => WBDATO0out, OutSignalName => "WBDATO0out", OutTemp => WBDATO0out_zd, + Paths => (0 => (InputChangeTime => WBCLKIin_dly'last_event, + PathDelay => tpd_WBCLKIin_WBDATO0out, + PathCondition => TRUE)), + GlitchData => WBDATO0out_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + + OutSignal => WBDATO1out, OutSignalName => "WBDATO1out", OutTemp => WBDATO1out_zd, + Paths => (0 => (InputChangeTime => WBCLKIin_dly'last_event, + PathDelay => tpd_WBCLKIin_WBDATO1out, + PathCondition => TRUE)), + GlitchData => WBDATO1out_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => WBACKOout, OutSignalName => "WBACKOout", OutTemp => WBACKOout_zd, + Paths => (0 => (InputChangeTime => WBCLKIin_dly'last_event, + PathDelay => tpd_WBCLKIin_WBACKOout, + PathCondition => TRUE)), + GlitchData => WBACKOout_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity EFBB + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity EFBB is + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; WBADRI3: in Std_logic; + WBADRI4: in Std_logic; WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; WBDATI1: in Std_logic; + WBDATI2: in Std_logic; WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; WBDATI7: in Std_logic; + WBDATO0: out Std_logic; WBDATO1: out Std_logic; + WBDATO2: out Std_logic; WBDATO3: out Std_logic; + WBDATO4: out Std_logic; WBDATO5: out Std_logic; + WBDATO6: out Std_logic; WBDATO7: out Std_logic; + WBACKO: out Std_logic; WBCUFMIRQ: out Std_logic; UFMSN: in Std_logic; + CFGWAKE: out Std_logic; CFGSTDBY: out Std_logic; + I2C1SCLI: in Std_logic; I2C1SCLO: out Std_logic; + I2C1SCLOEN: out Std_logic; I2C1SDAI: in Std_logic; + I2C1SDAO: out Std_logic; I2C1SDAOEN: out Std_logic; + I2C2SCLI: in Std_logic; I2C2SCLO: out Std_logic; + I2C2SCLOEN: out Std_logic; I2C2SDAI: in Std_logic; + I2C2SDAO: out Std_logic; I2C2SDAOEN: out Std_logic; + I2C1IRQO: out Std_logic; I2C2IRQO: out Std_logic; + SPISCKI: in Std_logic; SPISCKO: out Std_logic; + SPISCKEN: out Std_logic; SPIMISOI: in Std_logic; + SPIMISOO: out Std_logic; SPIMISOEN: out Std_logic; + SPIMOSII: in Std_logic; SPIMOSIO: out Std_logic; + SPIMOSIEN: out Std_logic; SPIMCSN0: out Std_logic; + SPIMCSN1: out Std_logic; SPIMCSN2: out Std_logic; + SPIMCSN3: out Std_logic; SPIMCSN4: out Std_logic; + SPIMCSN5: out Std_logic; SPIMCSN6: out Std_logic; + SPIMCSN7: out Std_logic; SPICSNEN: out Std_logic; + SPISCSN: in Std_logic; SPIIRQO: out Std_logic; TCCLKI: in Std_logic; + TCRSTN: in Std_logic; TCIC: in Std_logic; TCINT: out Std_logic; + TCOC: out Std_logic; PLLCLKO: out Std_logic; PLLRSTO: out Std_logic; + PLL0STBO: out Std_logic; PLL1STBO: out Std_logic; + PLLWEO: out Std_logic; PLLADRO0: out Std_logic; + PLLADRO1: out Std_logic; PLLADRO2: out Std_logic; + PLLADRO3: out Std_logic; PLLADRO4: out Std_logic; + PLLDATO0: out Std_logic; PLLDATO1: out Std_logic; + PLLDATO2: out Std_logic; PLLDATO3: out Std_logic; + PLLDATO4: out Std_logic; PLLDATO5: out Std_logic; + PLLDATO6: out Std_logic; PLLDATO7: out Std_logic; + PLL0DATI0: in Std_logic; PLL0DATI1: in Std_logic; + PLL0DATI2: in Std_logic; PLL0DATI3: in Std_logic; + PLL0DATI4: in Std_logic; PLL0DATI5: in Std_logic; + PLL0DATI6: in Std_logic; PLL0DATI7: in Std_logic; + PLL0ACKI: in Std_logic; PLL1DATI0: in Std_logic; + PLL1DATI1: in Std_logic; PLL1DATI2: in Std_logic; + PLL1DATI3: in Std_logic; PLL1DATI4: in Std_logic; + PLL1DATI5: in Std_logic; PLL1DATI6: in Std_logic; + PLL1DATI7: in Std_logic; PLL1ACKI: in Std_logic); + + + + end EFBB; + + architecture Structure of EFBB is + signal WBCLKI_buf: Std_logic; + signal WBRSTI_buf: Std_logic; + signal WBCYCI_buf: Std_logic; + signal WBSTBI_buf: Std_logic; + signal WBWEI_buf: Std_logic; + signal WBADRI7_buf: Std_logic; + signal WBADRI6_buf: Std_logic; + signal WBADRI5_buf: Std_logic; + signal WBADRI4_buf: Std_logic; + signal WBADRI3_buf: Std_logic; + signal WBADRI2_buf: Std_logic; + signal WBADRI1_buf: Std_logic; + signal WBADRI0_buf: Std_logic; + signal WBDATI7_buf: Std_logic; + signal WBDATI6_buf: Std_logic; + signal WBDATI5_buf: Std_logic; + signal WBDATI4_buf: Std_logic; + signal WBDATI3_buf: Std_logic; + signal WBDATI2_buf: Std_logic; + signal WBDATI1_buf: Std_logic; + signal WBDATI0_buf: Std_logic; + signal PLL0DATI7_buf: Std_logic; + signal PLL0DATI6_buf: Std_logic; + signal PLL0DATI5_buf: Std_logic; + signal PLL0DATI4_buf: Std_logic; + signal PLL0DATI3_buf: Std_logic; + signal PLL0DATI2_buf: Std_logic; + signal PLL0DATI1_buf: Std_logic; + signal PLL0DATI0_buf: Std_logic; + signal PLL0ACKI_buf: Std_logic; + signal PLL1DATI7_buf: Std_logic; + signal PLL1DATI6_buf: Std_logic; + signal PLL1DATI5_buf: Std_logic; + signal PLL1DATI4_buf: Std_logic; + signal PLL1DATI3_buf: Std_logic; + signal PLL1DATI2_buf: Std_logic; + signal PLL1DATI1_buf: Std_logic; + signal PLL1DATI0_buf: Std_logic; + signal PLL1ACKI_buf: Std_logic; + signal I2C1SCLI_buf: Std_logic; + signal I2C1SDAI_buf: Std_logic; + signal I2C2SCLI_buf: Std_logic; + signal I2C2SDAI_buf: Std_logic; + signal SPISCKI_buf: Std_logic; + signal SPIMISOI_buf: Std_logic; + signal SPIMOSII_buf: Std_logic; + signal SPISCSN_buf: Std_logic; + signal TCCLKI_buf: Std_logic; + signal TCRSTN_buf: Std_logic; + signal TCIC_buf: Std_logic; + signal UFMSN_buf: Std_logic; + signal WBDATO7_buf: Std_logic; + signal WBDATO6_buf: Std_logic; + signal WBDATO5_buf: Std_logic; + signal WBDATO4_buf: Std_logic; + signal WBDATO3_buf: Std_logic; + signal WBDATO2_buf: Std_logic; + signal WBDATO1_buf: Std_logic; + signal WBDATO0_buf: Std_logic; + signal WBACKO_buf: Std_logic; + signal PLLCLKO_buf: Std_logic; + signal PLLRSTO_buf: Std_logic; + signal PLL0STBO_buf: Std_logic; + signal PLL1STBO_buf: Std_logic; + signal PLLWEO_buf: Std_logic; + signal PLLADRO4_buf: Std_logic; + signal PLLADRO3_buf: Std_logic; + signal PLLADRO2_buf: Std_logic; + signal PLLADRO1_buf: Std_logic; + signal PLLADRO0_buf: Std_logic; + signal PLLDATO7_buf: Std_logic; + signal PLLDATO6_buf: Std_logic; + signal PLLDATO5_buf: Std_logic; + signal PLLDATO4_buf: Std_logic; + signal PLLDATO3_buf: Std_logic; + signal PLLDATO2_buf: Std_logic; + signal PLLDATO1_buf: Std_logic; + signal PLLDATO0_buf: Std_logic; + signal I2C1SCLO_buf: Std_logic; + signal I2C1SCLOEN_buf: Std_logic; + signal I2C1SDAO_buf: Std_logic; + signal I2C1SDAOEN_buf: Std_logic; + signal I2C2SCLO_buf: Std_logic; + signal I2C2SCLOEN_buf: Std_logic; + signal I2C2SDAO_buf: Std_logic; + signal I2C2SDAOEN_buf: Std_logic; + signal I2C1IRQO_buf: Std_logic; + signal I2C2IRQO_buf: Std_logic; + signal SPISCKO_buf: Std_logic; + signal SPISCKEN_buf: Std_logic; + signal SPIMISOO_buf: Std_logic; + signal SPIMISOEN_buf: Std_logic; + signal SPIMOSIO_buf: Std_logic; + signal SPIMOSIEN_buf: Std_logic; + signal SPIMCSN0_buf: Std_logic; + signal SPIMCSN1_buf: Std_logic; + signal SPIMCSN2_buf: Std_logic; + signal SPIMCSN3_buf: Std_logic; + signal SPIMCSN4_buf: Std_logic; + signal SPIMCSN5_buf: Std_logic; + signal SPIMCSN6_buf: Std_logic; + signal SPIMCSN7_buf: Std_logic; + signal SPICSNEN_buf: Std_logic; + signal SPIIRQO_buf: Std_logic; + signal TCINT_buf: Std_logic; + signal TCOC_buf: Std_logic; + signal WBCUFMIRQ_buf: Std_logic; + signal CFGWAKE_buf: Std_logic; + signal CFGSTDBY_buf: Std_logic; + component EFB_Buffer_Block + port (WBCLKIin: in Std_logic; WBCLKIout: out Std_logic; + WBRSTIin: in Std_logic; WBRSTIout: out Std_logic; + WBCYCIin: in Std_logic; WBCYCIout: out Std_logic; + WBSTBIin: in Std_logic; WBSTBIout: out Std_logic; + WBWEIin: in Std_logic; WBWEIout: out Std_logic; + WBADRI7in: in Std_logic; WBADRI7out: out Std_logic; + WBADRI6in: in Std_logic; WBADRI6out: out Std_logic; + WBADRI5in: in Std_logic; WBADRI5out: out Std_logic; + WBADRI4in: in Std_logic; WBADRI4out: out Std_logic; + WBADRI3in: in Std_logic; WBADRI3out: out Std_logic; + WBADRI2in: in Std_logic; WBADRI2out: out Std_logic; + WBADRI1in: in Std_logic; WBADRI1out: out Std_logic; + WBADRI0in: in Std_logic; WBADRI0out: out Std_logic; + WBDATI7in: in Std_logic; WBDATI7out: out Std_logic; + WBDATI6in: in Std_logic; WBDATI6out: out Std_logic; + WBDATI5in: in Std_logic; WBDATI5out: out Std_logic; + WBDATI4in: in Std_logic; WBDATI4out: out Std_logic; + WBDATI3in: in Std_logic; WBDATI3out: out Std_logic; + WBDATI2in: in Std_logic; WBDATI2out: out Std_logic; + WBDATI1in: in Std_logic; WBDATI1out: out Std_logic; + WBDATI0in: in Std_logic; WBDATI0out: out Std_logic; + PLL0DATI7in: in Std_logic; PLL0DATI7out: out Std_logic; + PLL0DATI6in: in Std_logic; PLL0DATI6out: out Std_logic; + PLL0DATI5in: in Std_logic; PLL0DATI5out: out Std_logic; + PLL0DATI4in: in Std_logic; PLL0DATI4out: out Std_logic; + PLL0DATI3in: in Std_logic; PLL0DATI3out: out Std_logic; + PLL0DATI2in: in Std_logic; PLL0DATI2out: out Std_logic; + PLL0DATI1in: in Std_logic; PLL0DATI1out: out Std_logic; + PLL0DATI0in: in Std_logic; PLL0DATI0out: out Std_logic; + PLL0ACKIin: in Std_logic; PLL0ACKIout: out Std_logic; + PLL1DATI7in: in Std_logic; PLL1DATI7out: out Std_logic; + PLL1DATI6in: in Std_logic; PLL1DATI6out: out Std_logic; + PLL1DATI5in: in Std_logic; PLL1DATI5out: out Std_logic; + PLL1DATI4in: in Std_logic; PLL1DATI4out: out Std_logic; + PLL1DATI3in: in Std_logic; PLL1DATI3out: out Std_logic; + PLL1DATI2in: in Std_logic; PLL1DATI2out: out Std_logic; + PLL1DATI1in: in Std_logic; PLL1DATI1out: out Std_logic; + PLL1DATI0in: in Std_logic; PLL1DATI0out: out Std_logic; + PLL1ACKIin: in Std_logic; PLL1ACKIout: out Std_logic; + I2C1SCLIin: in Std_logic; I2C1SCLIout: out Std_logic; + I2C1SDAIin: in Std_logic; I2C1SDAIout: out Std_logic; + I2C2SCLIin: in Std_logic; I2C2SCLIout: out Std_logic; + I2C2SDAIin: in Std_logic; I2C2SDAIout: out Std_logic; + SPISCKIin: in Std_logic; SPISCKIout: out Std_logic; + SPIMISOIin: in Std_logic; SPIMISOIout: out Std_logic; + SPIMOSIIin: in Std_logic; SPIMOSIIout: out Std_logic; + SPISCSNin: in Std_logic; SPISCSNout: out Std_logic; + TCCLKIin: in Std_logic; TCCLKIout: out Std_logic; + TCRSTNin: in Std_logic; TCRSTNout: out Std_logic; + TCICin: in Std_logic; TCICout: out Std_logic; + UFMSNin: in Std_logic; UFMSNout: out Std_logic; + WBDATO7out: out Std_logic; WBDATO7in: in Std_logic; + WBDATO6out: out Std_logic; WBDATO6in: in Std_logic; + WBDATO5out: out Std_logic; WBDATO5in: in Std_logic; + WBDATO4out: out Std_logic; WBDATO4in: in Std_logic; + WBDATO3out: out Std_logic; WBDATO3in: in Std_logic; + WBDATO2out: out Std_logic; WBDATO2in: in Std_logic; + WBDATO1out: out Std_logic; WBDATO1in: in Std_logic; + WBDATO0out: out Std_logic; WBDATO0in: in Std_logic; + WBACKOout: out Std_logic; WBACKOin: in Std_logic; + PLLCLKOout: out Std_logic; PLLCLKOin: in Std_logic; + PLLRSTOout: out Std_logic; PLLRSTOin: in Std_logic; + PLL0STBOout: out Std_logic; PLL0STBOin: in Std_logic; + PLL1STBOout: out Std_logic; PLL1STBOin: in Std_logic; + PLLWEOout: out Std_logic; PLLWEOin: in Std_logic; + PLLADRO4out: out Std_logic; PLLADRO4in: in Std_logic; + PLLADRO3out: out Std_logic; PLLADRO3in: in Std_logic; + PLLADRO2out: out Std_logic; PLLADRO2in: in Std_logic; + PLLADRO1out: out Std_logic; PLLADRO1in: in Std_logic; + PLLADRO0out: out Std_logic; PLLADRO0in: in Std_logic; + PLLDATO7out: out Std_logic; PLLDATO7in: in Std_logic; + PLLDATO6out: out Std_logic; PLLDATO6in: in Std_logic; + PLLDATO5out: out Std_logic; PLLDATO5in: in Std_logic; + PLLDATO4out: out Std_logic; PLLDATO4in: in Std_logic; + PLLDATO3out: out Std_logic; PLLDATO3in: in Std_logic; + PLLDATO2out: out Std_logic; PLLDATO2in: in Std_logic; + PLLDATO1out: out Std_logic; PLLDATO1in: in Std_logic; + PLLDATO0out: out Std_logic; PLLDATO0in: in Std_logic; + I2C1SCLOout: out Std_logic; I2C1SCLOin: in Std_logic; + I2C1SCLOENout: out Std_logic; I2C1SCLOENin: in Std_logic; + I2C1SDAOout: out Std_logic; I2C1SDAOin: in Std_logic; + I2C1SDAOENout: out Std_logic; I2C1SDAOENin: in Std_logic; + I2C2SCLOout: out Std_logic; I2C2SCLOin: in Std_logic; + I2C2SCLOENout: out Std_logic; I2C2SCLOENin: in Std_logic; + I2C2SDAOout: out Std_logic; I2C2SDAOin: in Std_logic; + I2C2SDAOENout: out Std_logic; I2C2SDAOENin: in Std_logic; + I2C1IRQOout: out Std_logic; I2C1IRQOin: in Std_logic; + I2C2IRQOout: out Std_logic; I2C2IRQOin: in Std_logic; + SPISCKOout: out Std_logic; SPISCKOin: in Std_logic; + SPISCKENout: out Std_logic; SPISCKENin: in Std_logic; + SPIMISOOout: out Std_logic; SPIMISOOin: in Std_logic; + SPIMISOENout: out Std_logic; SPIMISOENin: in Std_logic; + SPIMOSIOout: out Std_logic; SPIMOSIOin: in Std_logic; + SPIMOSIENout: out Std_logic; SPIMOSIENin: in Std_logic; + SPIMCSN0out: out Std_logic; SPIMCSN0in: in Std_logic; + SPIMCSN1out: out Std_logic; SPIMCSN1in: in Std_logic; + SPIMCSN2out: out Std_logic; SPIMCSN2in: in Std_logic; + SPIMCSN3out: out Std_logic; SPIMCSN3in: in Std_logic; + SPIMCSN4out: out Std_logic; SPIMCSN4in: in Std_logic; + SPIMCSN5out: out Std_logic; SPIMCSN5in: in Std_logic; + SPIMCSN6out: out Std_logic; SPIMCSN6in: in Std_logic; + SPIMCSN7out: out Std_logic; SPIMCSN7in: in Std_logic; + SPICSNENout: out Std_logic; SPICSNENin: in Std_logic; + SPIIRQOout: out Std_logic; SPIIRQOin: in Std_logic; + TCINTout: out Std_logic; TCINTin: in Std_logic; + TCOCout: out Std_logic; TCOCin: in Std_logic; + WBCUFMIRQout: out Std_logic; WBCUFMIRQin: in Std_logic; + CFGWAKEout: out Std_logic; CFGWAKEin: in Std_logic; + CFGSTDBYout: out Std_logic; CFGSTDBYin: in Std_logic); + end component; + begin + INST10: EFB + generic map (DEV_DENSITY => "640L", EFB_I2C1 => "DISABLED", + EFB_I2C2 => "DISABLED", EFB_SPI => "DISABLED", + EFB_TC => "DISABLED", EFB_TC_PORTMODE => "WB", + EFB_UFM => "ENABLED", EFB_WB_CLK_FREQ => "66.7", + GSR => "ENABLED", I2C1_ADDRESSING => "7BIT", + I2C1_BUS_PERF => "100kHz", I2C1_CLK_DIVIDER => 1, + I2C1_GEN_CALL => "DISABLED", I2C1_SLAVE_ADDR => "0b1000001", + I2C1_WAKEUP => "DISABLED", I2C2_ADDRESSING => "7BIT", + I2C2_BUS_PERF => "100kHz", I2C2_CLK_DIVIDER => 1, + I2C2_GEN_CALL => "DISABLED", I2C2_SLAVE_ADDR => "0b1000010", + I2C2_WAKEUP => "DISABLED", SPI_CLK_DIVIDER => 1, + SPI_CLK_INV => "DISABLED", SPI_INTR_RXOVR => "DISABLED", + SPI_INTR_RXRDY => "DISABLED", SPI_INTR_TXOVR => "DISABLED", + SPI_INTR_TXRDY => "DISABLED", SPI_LSB_FIRST => "DISABLED", + SPI_MODE => "MASTER", SPI_PHASE_ADJ => "DISABLED", + SPI_SLAVE_HANDSHAKE => "DISABLED", SPI_WAKEUP => "DISABLED", + TC_CCLK_SEL => 1, TC_ICAPTURE => "DISABLED", + TC_ICR_INT => "OFF", TC_MODE => "CTCM", TC_OCR_INT => "OFF", + TC_OCR_SET => 32767, TC_OC_MODE => "TOGGLE", + TC_OVERFLOW => "DISABLED", TC_OV_INT => "OFF", + TC_RESETN => "ENABLED", TC_SCLK_SEL => "PCLOCK", + TC_TOP_SEL => "OFF", TC_TOP_SET => 65535, + UFM_INIT_ALL_ZEROS => "DISABLED", + UFM_INIT_FILE_FORMAT => "HEX", + UFM_INIT_FILE_NAME => "../RAM2GS-LCMXO2.mem", + UFM_INIT_PAGES => 1, UFM_INIT_START_PAGE => 190) + port map (WBCLKI=>WBCLKI_buf, WBRSTI=>WBRSTI_buf, WBCYCI=>WBCYCI_buf, + WBSTBI=>WBSTBI_buf, WBWEI=>WBWEI_buf, WBADRI7=>WBADRI7_buf, + WBADRI6=>WBADRI6_buf, WBADRI5=>WBADRI5_buf, + WBADRI4=>WBADRI4_buf, WBADRI3=>WBADRI3_buf, + WBADRI2=>WBADRI2_buf, WBADRI1=>WBADRI1_buf, + WBADRI0=>WBADRI0_buf, WBDATI7=>WBDATI7_buf, + WBDATI6=>WBDATI6_buf, WBDATI5=>WBDATI5_buf, + WBDATI4=>WBDATI4_buf, WBDATI3=>WBDATI3_buf, + WBDATI2=>WBDATI2_buf, WBDATI1=>WBDATI1_buf, + WBDATI0=>WBDATI0_buf, PLL0DATI7=>PLL0DATI7_buf, + PLL0DATI6=>PLL0DATI6_buf, PLL0DATI5=>PLL0DATI5_buf, + PLL0DATI4=>PLL0DATI4_buf, PLL0DATI3=>PLL0DATI3_buf, + PLL0DATI2=>PLL0DATI2_buf, PLL0DATI1=>PLL0DATI1_buf, + PLL0DATI0=>PLL0DATI0_buf, PLL0ACKI=>PLL0ACKI_buf, + PLL1DATI7=>PLL1DATI7_buf, PLL1DATI6=>PLL1DATI6_buf, + PLL1DATI5=>PLL1DATI5_buf, PLL1DATI4=>PLL1DATI4_buf, + PLL1DATI3=>PLL1DATI3_buf, PLL1DATI2=>PLL1DATI2_buf, + PLL1DATI1=>PLL1DATI1_buf, PLL1DATI0=>PLL1DATI0_buf, + PLL1ACKI=>PLL1ACKI_buf, I2C1SCLI=>I2C1SCLI_buf, + I2C1SDAI=>I2C1SDAI_buf, I2C2SCLI=>I2C2SCLI_buf, + I2C2SDAI=>I2C2SDAI_buf, SPISCKI=>SPISCKI_buf, + SPIMISOI=>SPIMISOI_buf, SPIMOSII=>SPIMOSII_buf, + SPISCSN=>SPISCSN_buf, TCCLKI=>TCCLKI_buf, TCRSTN=>TCRSTN_buf, + TCIC=>TCIC_buf, UFMSN=>UFMSN_buf, WBDATO7=>WBDATO7_buf, + WBDATO6=>WBDATO6_buf, WBDATO5=>WBDATO5_buf, + WBDATO4=>WBDATO4_buf, WBDATO3=>WBDATO3_buf, + WBDATO2=>WBDATO2_buf, WBDATO1=>WBDATO1_buf, + WBDATO0=>WBDATO0_buf, WBACKO=>WBACKO_buf, PLLCLKO=>PLLCLKO_buf, + PLLRSTO=>PLLRSTO_buf, PLL0STBO=>PLL0STBO_buf, + PLL1STBO=>PLL1STBO_buf, PLLWEO=>PLLWEO_buf, + PLLADRO4=>PLLADRO4_buf, PLLADRO3=>PLLADRO3_buf, + PLLADRO2=>PLLADRO2_buf, PLLADRO1=>PLLADRO1_buf, + PLLADRO0=>PLLADRO0_buf, PLLDATO7=>PLLDATO7_buf, + PLLDATO6=>PLLDATO6_buf, PLLDATO5=>PLLDATO5_buf, + PLLDATO4=>PLLDATO4_buf, PLLDATO3=>PLLDATO3_buf, + PLLDATO2=>PLLDATO2_buf, PLLDATO1=>PLLDATO1_buf, + PLLDATO0=>PLLDATO0_buf, I2C1SCLO=>I2C1SCLO_buf, + I2C1SCLOEN=>I2C1SCLOEN_buf, I2C1SDAO=>I2C1SDAO_buf, + I2C1SDAOEN=>I2C1SDAOEN_buf, I2C2SCLO=>I2C2SCLO_buf, + I2C2SCLOEN=>I2C2SCLOEN_buf, I2C2SDAO=>I2C2SDAO_buf, + I2C2SDAOEN=>I2C2SDAOEN_buf, I2C1IRQO=>I2C1IRQO_buf, + I2C2IRQO=>I2C2IRQO_buf, SPISCKO=>SPISCKO_buf, + SPISCKEN=>SPISCKEN_buf, SPIMISOO=>SPIMISOO_buf, + SPIMISOEN=>SPIMISOEN_buf, SPIMOSIO=>SPIMOSIO_buf, + SPIMOSIEN=>SPIMOSIEN_buf, SPIMCSN0=>SPIMCSN0_buf, + SPIMCSN1=>SPIMCSN1_buf, SPIMCSN2=>SPIMCSN2_buf, + SPIMCSN3=>SPIMCSN3_buf, SPIMCSN4=>SPIMCSN4_buf, + SPIMCSN5=>SPIMCSN5_buf, SPIMCSN6=>SPIMCSN6_buf, + SPIMCSN7=>SPIMCSN7_buf, SPICSNEN=>SPICSNEN_buf, + SPIIRQO=>SPIIRQO_buf, TCINT=>TCINT_buf, TCOC=>TCOC_buf, + WBCUFMIRQ=>WBCUFMIRQ_buf, CFGWAKE=>CFGWAKE_buf, + CFGSTDBY=>CFGSTDBY_buf); + INST20: EFB_Buffer_Block + port map (WBCLKIin=>WBCLKI, WBCLKIout=>WBCLKI_buf, WBRSTIin=>WBRSTI, + WBRSTIout=>WBRSTI_buf, WBCYCIin=>WBCYCI, WBCYCIout=>WBCYCI_buf, + WBSTBIin=>WBSTBI, WBSTBIout=>WBSTBI_buf, WBWEIin=>WBWEI, + WBWEIout=>WBWEI_buf, WBADRI7in=>WBADRI7, + WBADRI7out=>WBADRI7_buf, WBADRI6in=>WBADRI6, + WBADRI6out=>WBADRI6_buf, WBADRI5in=>WBADRI5, + WBADRI5out=>WBADRI5_buf, WBADRI4in=>WBADRI4, + WBADRI4out=>WBADRI4_buf, WBADRI3in=>WBADRI3, + WBADRI3out=>WBADRI3_buf, WBADRI2in=>WBADRI2, + WBADRI2out=>WBADRI2_buf, WBADRI1in=>WBADRI1, + WBADRI1out=>WBADRI1_buf, WBADRI0in=>WBADRI0, + WBADRI0out=>WBADRI0_buf, WBDATI7in=>WBDATI7, + WBDATI7out=>WBDATI7_buf, WBDATI6in=>WBDATI6, + WBDATI6out=>WBDATI6_buf, WBDATI5in=>WBDATI5, + WBDATI5out=>WBDATI5_buf, WBDATI4in=>WBDATI4, + WBDATI4out=>WBDATI4_buf, WBDATI3in=>WBDATI3, + WBDATI3out=>WBDATI3_buf, WBDATI2in=>WBDATI2, + WBDATI2out=>WBDATI2_buf, WBDATI1in=>WBDATI1, + WBDATI1out=>WBDATI1_buf, WBDATI0in=>WBDATI0, + WBDATI0out=>WBDATI0_buf, PLL0DATI7in=>PLL0DATI7, + PLL0DATI7out=>PLL0DATI7_buf, PLL0DATI6in=>PLL0DATI6, + PLL0DATI6out=>PLL0DATI6_buf, PLL0DATI5in=>PLL0DATI5, + PLL0DATI5out=>PLL0DATI5_buf, PLL0DATI4in=>PLL0DATI4, + PLL0DATI4out=>PLL0DATI4_buf, PLL0DATI3in=>PLL0DATI3, + PLL0DATI3out=>PLL0DATI3_buf, PLL0DATI2in=>PLL0DATI2, + PLL0DATI2out=>PLL0DATI2_buf, PLL0DATI1in=>PLL0DATI1, + PLL0DATI1out=>PLL0DATI1_buf, PLL0DATI0in=>PLL0DATI0, + PLL0DATI0out=>PLL0DATI0_buf, PLL0ACKIin=>PLL0ACKI, + PLL0ACKIout=>PLL0ACKI_buf, PLL1DATI7in=>PLL1DATI7, + PLL1DATI7out=>PLL1DATI7_buf, PLL1DATI6in=>PLL1DATI6, + PLL1DATI6out=>PLL1DATI6_buf, PLL1DATI5in=>PLL1DATI5, + PLL1DATI5out=>PLL1DATI5_buf, PLL1DATI4in=>PLL1DATI4, + PLL1DATI4out=>PLL1DATI4_buf, PLL1DATI3in=>PLL1DATI3, + PLL1DATI3out=>PLL1DATI3_buf, PLL1DATI2in=>PLL1DATI2, + PLL1DATI2out=>PLL1DATI2_buf, PLL1DATI1in=>PLL1DATI1, + PLL1DATI1out=>PLL1DATI1_buf, PLL1DATI0in=>PLL1DATI0, + PLL1DATI0out=>PLL1DATI0_buf, PLL1ACKIin=>PLL1ACKI, + PLL1ACKIout=>PLL1ACKI_buf, I2C1SCLIin=>I2C1SCLI, + I2C1SCLIout=>I2C1SCLI_buf, I2C1SDAIin=>I2C1SDAI, + I2C1SDAIout=>I2C1SDAI_buf, I2C2SCLIin=>I2C2SCLI, + I2C2SCLIout=>I2C2SCLI_buf, I2C2SDAIin=>I2C2SDAI, + I2C2SDAIout=>I2C2SDAI_buf, SPISCKIin=>SPISCKI, + SPISCKIout=>SPISCKI_buf, SPIMISOIin=>SPIMISOI, + SPIMISOIout=>SPIMISOI_buf, SPIMOSIIin=>SPIMOSII, + SPIMOSIIout=>SPIMOSII_buf, SPISCSNin=>SPISCSN, + SPISCSNout=>SPISCSN_buf, TCCLKIin=>TCCLKI, + TCCLKIout=>TCCLKI_buf, TCRSTNin=>TCRSTN, TCRSTNout=>TCRSTN_buf, + TCICin=>TCIC, TCICout=>TCIC_buf, UFMSNin=>UFMSN, + UFMSNout=>UFMSN_buf, WBDATO7out=>WBDATO7, + WBDATO7in=>WBDATO7_buf, WBDATO6out=>WBDATO6, + WBDATO6in=>WBDATO6_buf, WBDATO5out=>WBDATO5, + WBDATO5in=>WBDATO5_buf, WBDATO4out=>WBDATO4, + WBDATO4in=>WBDATO4_buf, WBDATO3out=>WBDATO3, + WBDATO3in=>WBDATO3_buf, WBDATO2out=>WBDATO2, + WBDATO2in=>WBDATO2_buf, WBDATO1out=>WBDATO1, + WBDATO1in=>WBDATO1_buf, WBDATO0out=>WBDATO0, + WBDATO0in=>WBDATO0_buf, WBACKOout=>WBACKO, + WBACKOin=>WBACKO_buf, PLLCLKOout=>PLLCLKO, + PLLCLKOin=>PLLCLKO_buf, PLLRSTOout=>PLLRSTO, + PLLRSTOin=>PLLRSTO_buf, PLL0STBOout=>PLL0STBO, + PLL0STBOin=>PLL0STBO_buf, PLL1STBOout=>PLL1STBO, + PLL1STBOin=>PLL1STBO_buf, PLLWEOout=>PLLWEO, + PLLWEOin=>PLLWEO_buf, PLLADRO4out=>PLLADRO4, + PLLADRO4in=>PLLADRO4_buf, PLLADRO3out=>PLLADRO3, + PLLADRO3in=>PLLADRO3_buf, PLLADRO2out=>PLLADRO2, + PLLADRO2in=>PLLADRO2_buf, PLLADRO1out=>PLLADRO1, + PLLADRO1in=>PLLADRO1_buf, PLLADRO0out=>PLLADRO0, + PLLADRO0in=>PLLADRO0_buf, PLLDATO7out=>PLLDATO7, + PLLDATO7in=>PLLDATO7_buf, PLLDATO6out=>PLLDATO6, + PLLDATO6in=>PLLDATO6_buf, PLLDATO5out=>PLLDATO5, + PLLDATO5in=>PLLDATO5_buf, PLLDATO4out=>PLLDATO4, + PLLDATO4in=>PLLDATO4_buf, PLLDATO3out=>PLLDATO3, + PLLDATO3in=>PLLDATO3_buf, PLLDATO2out=>PLLDATO2, + PLLDATO2in=>PLLDATO2_buf, PLLDATO1out=>PLLDATO1, + PLLDATO1in=>PLLDATO1_buf, PLLDATO0out=>PLLDATO0, + PLLDATO0in=>PLLDATO0_buf, I2C1SCLOout=>I2C1SCLO, + I2C1SCLOin=>I2C1SCLO_buf, I2C1SCLOENout=>I2C1SCLOEN, + I2C1SCLOENin=>I2C1SCLOEN_buf, I2C1SDAOout=>I2C1SDAO, + I2C1SDAOin=>I2C1SDAO_buf, I2C1SDAOENout=>I2C1SDAOEN, + I2C1SDAOENin=>I2C1SDAOEN_buf, I2C2SCLOout=>I2C2SCLO, + I2C2SCLOin=>I2C2SCLO_buf, I2C2SCLOENout=>I2C2SCLOEN, + I2C2SCLOENin=>I2C2SCLOEN_buf, I2C2SDAOout=>I2C2SDAO, + I2C2SDAOin=>I2C2SDAO_buf, I2C2SDAOENout=>I2C2SDAOEN, + I2C2SDAOENin=>I2C2SDAOEN_buf, I2C1IRQOout=>I2C1IRQO, + I2C1IRQOin=>I2C1IRQO_buf, I2C2IRQOout=>I2C2IRQO, + I2C2IRQOin=>I2C2IRQO_buf, SPISCKOout=>SPISCKO, + SPISCKOin=>SPISCKO_buf, SPISCKENout=>SPISCKEN, + SPISCKENin=>SPISCKEN_buf, SPIMISOOout=>SPIMISOO, + SPIMISOOin=>SPIMISOO_buf, SPIMISOENout=>SPIMISOEN, + SPIMISOENin=>SPIMISOEN_buf, SPIMOSIOout=>SPIMOSIO, + SPIMOSIOin=>SPIMOSIO_buf, SPIMOSIENout=>SPIMOSIEN, + SPIMOSIENin=>SPIMOSIEN_buf, SPIMCSN0out=>SPIMCSN0, + SPIMCSN0in=>SPIMCSN0_buf, SPIMCSN1out=>SPIMCSN1, + SPIMCSN1in=>SPIMCSN1_buf, SPIMCSN2out=>SPIMCSN2, + SPIMCSN2in=>SPIMCSN2_buf, SPIMCSN3out=>SPIMCSN3, + SPIMCSN3in=>SPIMCSN3_buf, SPIMCSN4out=>SPIMCSN4, + SPIMCSN4in=>SPIMCSN4_buf, SPIMCSN5out=>SPIMCSN5, + SPIMCSN5in=>SPIMCSN5_buf, SPIMCSN6out=>SPIMCSN6, + SPIMCSN6in=>SPIMCSN6_buf, SPIMCSN7out=>SPIMCSN7, + SPIMCSN7in=>SPIMCSN7_buf, SPICSNENout=>SPICSNEN, + SPICSNENin=>SPICSNEN_buf, SPIIRQOout=>SPIIRQO, + SPIIRQOin=>SPIIRQO_buf, TCINTout=>TCINT, TCINTin=>TCINT_buf, + TCOCout=>TCOC, TCOCin=>TCOC_buf, WBCUFMIRQout=>WBCUFMIRQ, + WBCUFMIRQin=>WBCUFMIRQ_buf, CFGWAKEout=>CFGWAKE, + CFGWAKEin=>CFGWAKE_buf, CFGSTDBYout=>CFGSTDBY, + CFGSTDBYin=>CFGSTDBY_buf); + end Structure; + +-- entity ufmefb_EFBInst_0 + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity ufmefb_EFBInst_0 is + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; WBADRI3: in Std_logic; + WBADRI4: in Std_logic; WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; WBDATI1: in Std_logic; + WBDATI2: in Std_logic; WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; WBDATI7: in Std_logic; + WBDATO0: out Std_logic; WBDATO1: out Std_logic; + WBACKO: out Std_logic); + + + + end ufmefb_EFBInst_0; + + architecture Structure of ufmefb_EFBInst_0 is + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component EFBB + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; + WBADRI3: in Std_logic; WBADRI4: in Std_logic; + WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; + WBDATI1: in Std_logic; WBDATI2: in Std_logic; + WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; + WBDATI7: in Std_logic; WBDATO0: out Std_logic; + WBDATO1: out Std_logic; WBDATO2: out Std_logic; + WBDATO3: out Std_logic; WBDATO4: out Std_logic; + WBDATO5: out Std_logic; WBDATO6: out Std_logic; + WBDATO7: out Std_logic; WBACKO: out Std_logic; + WBCUFMIRQ: out Std_logic; UFMSN: in Std_logic; + CFGWAKE: out Std_logic; CFGSTDBY: out Std_logic; + I2C1SCLI: in Std_logic; I2C1SCLO: out Std_logic; + I2C1SCLOEN: out Std_logic; I2C1SDAI: in Std_logic; + I2C1SDAO: out Std_logic; I2C1SDAOEN: out Std_logic; + I2C2SCLI: in Std_logic; I2C2SCLO: out Std_logic; + I2C2SCLOEN: out Std_logic; I2C2SDAI: in Std_logic; + I2C2SDAO: out Std_logic; I2C2SDAOEN: out Std_logic; + I2C1IRQO: out Std_logic; I2C2IRQO: out Std_logic; + SPISCKI: in Std_logic; SPISCKO: out Std_logic; + SPISCKEN: out Std_logic; SPIMISOI: in Std_logic; + SPIMISOO: out Std_logic; SPIMISOEN: out Std_logic; + SPIMOSII: in Std_logic; SPIMOSIO: out Std_logic; + SPIMOSIEN: out Std_logic; SPIMCSN0: out Std_logic; + SPIMCSN1: out Std_logic; SPIMCSN2: out Std_logic; + SPIMCSN3: out Std_logic; SPIMCSN4: out Std_logic; + SPIMCSN5: out Std_logic; SPIMCSN6: out Std_logic; + SPIMCSN7: out Std_logic; SPICSNEN: out Std_logic; + SPISCSN: in Std_logic; SPIIRQO: out Std_logic; + TCCLKI: in Std_logic; TCRSTN: in Std_logic; TCIC: in Std_logic; + TCINT: out Std_logic; TCOC: out Std_logic; PLLCLKO: out Std_logic; + PLLRSTO: out Std_logic; PLL0STBO: out Std_logic; + PLL1STBO: out Std_logic; PLLWEO: out Std_logic; + PLLADRO0: out Std_logic; PLLADRO1: out Std_logic; + PLLADRO2: out Std_logic; PLLADRO3: out Std_logic; + PLLADRO4: out Std_logic; PLLDATO0: out Std_logic; + PLLDATO1: out Std_logic; PLLDATO2: out Std_logic; + PLLDATO3: out Std_logic; PLLDATO4: out Std_logic; + PLLDATO5: out Std_logic; PLLDATO6: out Std_logic; + PLLDATO7: out Std_logic; PLL0DATI0: in Std_logic; + PLL0DATI1: in Std_logic; PLL0DATI2: in Std_logic; + PLL0DATI3: in Std_logic; PLL0DATI4: in Std_logic; + PLL0DATI5: in Std_logic; PLL0DATI6: in Std_logic; + PLL0DATI7: in Std_logic; PLL0ACKI: in Std_logic; + PLL1DATI0: in Std_logic; PLL1DATI1: in Std_logic; + PLL1DATI2: in Std_logic; PLL1DATI3: in Std_logic; + PLL1DATI4: in Std_logic; PLL1DATI5: in Std_logic; + PLL1DATI6: in Std_logic; PLL1DATI7: in Std_logic; + PLL1ACKI: in Std_logic); + end component; + begin + ufmefb_EFBInst_0_EFB: EFBB + port map (WBCLKI=>WBCLKI, WBRSTI=>WBRSTI, WBCYCI=>WBCYCI, WBSTBI=>WBSTBI, + WBWEI=>WBWEI, WBADRI0=>WBADRI0, WBADRI1=>WBADRI1, + WBADRI2=>WBADRI2, WBADRI3=>WBADRI3, WBADRI4=>WBADRI4, + WBADRI5=>WBADRI5, WBADRI6=>WBADRI6, WBADRI7=>WBADRI7, + WBDATI0=>WBDATI0, WBDATI1=>WBDATI1, WBDATI2=>WBDATI2, + WBDATI3=>WBDATI3, WBDATI4=>WBDATI4, WBDATI5=>WBDATI5, + WBDATI6=>WBDATI6, WBDATI7=>WBDATI7, WBDATO0=>WBDATO0, + WBDATO1=>WBDATO1, WBDATO2=>open, WBDATO3=>open, WBDATO4=>open, + WBDATO5=>open, WBDATO6=>open, WBDATO7=>open, WBACKO=>WBACKO, + WBCUFMIRQ=>open, UFMSN=>VCCI, CFGWAKE=>open, CFGSTDBY=>open, + I2C1SCLI=>GNDI, I2C1SCLO=>open, I2C1SCLOEN=>open, + I2C1SDAI=>GNDI, I2C1SDAO=>open, I2C1SDAOEN=>open, + I2C2SCLI=>GNDI, I2C2SCLO=>open, I2C2SCLOEN=>open, + I2C2SDAI=>GNDI, I2C2SDAO=>open, I2C2SDAOEN=>open, + I2C1IRQO=>open, I2C2IRQO=>open, SPISCKI=>GNDI, SPISCKO=>open, + SPISCKEN=>open, SPIMISOI=>GNDI, SPIMISOO=>open, + SPIMISOEN=>open, SPIMOSII=>GNDI, SPIMOSIO=>open, + SPIMOSIEN=>open, SPIMCSN0=>open, SPIMCSN1=>open, + SPIMCSN2=>open, SPIMCSN3=>open, SPIMCSN4=>open, SPIMCSN5=>open, + SPIMCSN6=>open, SPIMCSN7=>open, SPICSNEN=>open, SPISCSN=>GNDI, + SPIIRQO=>open, TCCLKI=>GNDI, TCRSTN=>GNDI, TCIC=>GNDI, + TCINT=>open, TCOC=>open, PLLCLKO=>open, PLLRSTO=>open, + PLL0STBO=>open, PLL1STBO=>open, PLLWEO=>open, PLLADRO0=>open, + PLLADRO1=>open, PLLADRO2=>open, PLLADRO3=>open, PLLADRO4=>open, + PLLDATO0=>open, PLLDATO1=>open, PLLDATO2=>open, PLLDATO3=>open, + PLLDATO4=>open, PLLDATO5=>open, PLLDATO6=>open, PLLDATO7=>open, + PLL0DATI0=>GNDI, PLL0DATI1=>GNDI, PLL0DATI2=>GNDI, + PLL0DATI3=>GNDI, PLL0DATI4=>GNDI, PLL0DATI5=>GNDI, + PLL0DATI6=>GNDI, PLL0DATI7=>GNDI, PLL0ACKI=>GNDI, + PLL1DATI0=>GNDI, PLL1DATI1=>GNDI, PLL1DATI2=>GNDI, + PLL1DATI3=>GNDI, PLL1DATI4=>GNDI, PLL1DATI5=>GNDI, + PLL1DATI6=>GNDI, PLL1DATI7=>GNDI, PLL1ACKI=>GNDI); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + end Structure; + +-- entity RAM2GS + library IEEE, vital2000, MACHXO2; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO2.COMPONENTS.ALL; + + entity RAM2GS is + port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); + CROW: in Std_logic_vector (1 downto 0); + Din: in Std_logic_vector (7 downto 0); + Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; + nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; + RBA: out Std_logic_vector (1 downto 0); + RA: out Std_logic_vector (11 downto 0); + RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; + RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; + nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; + RDQML: out Std_logic); + + + + end RAM2GS; + + architecture Structure of RAM2GS is + signal FS_0: Std_logic; + signal FS_s_0: Std_logic; + signal RCLK_c: Std_logic; + signal FS_cry_0: Std_logic; + signal FS_17: Std_logic; + signal FS_s_17: Std_logic; + signal FS_cry_16: Std_logic; + signal FS_16: Std_logic; + signal FS_15: Std_logic; + signal FS_s_16: Std_logic; + signal FS_s_15: Std_logic; + signal FS_cry_14: Std_logic; + signal FS_14: Std_logic; + signal FS_13: Std_logic; + signal FS_s_14: Std_logic; + signal FS_s_13: Std_logic; + signal FS_cry_12: Std_logic; + signal FS_12: Std_logic; + signal FS_11: Std_logic; + signal FS_s_12: Std_logic; + signal FS_s_11: Std_logic; + signal FS_cry_10: Std_logic; + signal FS_10: Std_logic; + signal FS_9: Std_logic; + signal FS_s_10: Std_logic; + signal FS_s_9: Std_logic; + signal FS_cry_8: Std_logic; + signal FS_8: Std_logic; + signal FS_7: Std_logic; + signal FS_s_8: Std_logic; + signal FS_s_7: Std_logic; + signal FS_cry_6: Std_logic; + signal FS_6: Std_logic; + signal FS_5: Std_logic; + signal FS_s_6: Std_logic; + signal FS_s_5: Std_logic; + signal FS_cry_4: Std_logic; + signal FS_4: Std_logic; + signal FS_3: Std_logic; + signal FS_s_4: Std_logic; + signal FS_s_3: Std_logic; + signal FS_cry_2: Std_logic; + signal FS_2: Std_logic; + signal FS_1: Std_logic; + signal FS_s_2: Std_logic; + signal FS_s_1: Std_logic; + signal CmdEnable17_5: Std_logic; + signal N_304: Std_logic; + signal ADWR_7: Std_logic; + signal CmdEnable17_4: Std_logic; + signal CmdEnable17: Std_logic; + signal un1_ADWR: Std_logic; + signal CmdEnable16: Std_logic; + signal ADSubmitted: Std_logic; + signal ADSubmitted_r: Std_logic; + signal PHI2_c: Std_logic; + signal C1WR_2: Std_logic; + signal CmdEnable16_4: Std_logic; + signal C1WR_7: Std_logic; + signal CmdEnable16_5: Std_logic; + signal C1Submitted: Std_logic; + signal C1Submitted_s: Std_logic; + signal nCCAS_c: Std_logic; + signal nCCAS_c_i: Std_logic; + signal CASr: Std_logic; + signal CASr2: Std_logic; + signal CO0: Std_logic; + signal IS_3: Std_logic; + signal RASr2: Std_logic; + signal S_1: Std_logic; + signal N_79_i: Std_logic; + signal Ready_0_sqmuxa_0_a3_2: Std_logic; + signal CmdEnable: Std_logic; + signal un1_CMDWR: Std_logic; + signal CmdEnable_s: Std_logic; + signal XOR8MEG11: Std_logic; + signal Din_c_1: Std_logic; + signal CmdLEDEN: Std_logic; + signal N_75: Std_logic; + signal XOR8MEG14: Std_logic; + signal LEDEN: Std_logic; + signal CmdLEDEN_4: Std_logic; + signal XOR8MEG18: Std_logic; + signal CmdUFMShift: Std_logic; + signal CmdUFMShift_3: Std_logic; + signal CmdUFMShift_fast: Std_logic; + signal CmdUFMShift_3_fast: Std_logic; + signal Din_c_0: Std_logic; + signal CmdUFMWrite_2: Std_logic; + signal CmdUFMWrite: Std_logic; + signal CmdUFMWrite_3: Std_logic; + signal Din_c_4: Std_logic; + signal Din_c_7: Std_logic; + signal Din_c_5: Std_logic; + signal Din_c_6: Std_logic; + signal CmdValid_r: Std_logic; + signal CmdValid: Std_logic; + signal CMDWR_2: Std_logic; + signal N_36_fast: Std_logic; + signal CmdValid_fast: Std_logic; + signal Cmdn8MEGEN: Std_logic; + signal n8MEGEN: Std_logic; + signal N_93: Std_logic; + signal Cmdn8MEGEN_4: Std_logic; + signal nFWE_c: Std_logic; + signal nFWE_c_i: Std_logic; + signal nCRAS_c: Std_logic; + signal FWEr: Std_logic; + signal RD_1_i: Std_logic; + signal IS_0: Std_logic; + signal Ready: Std_logic; + signal N_250: Std_logic; + signal N_60_i_i: Std_logic; + signal RA10s_i: Std_logic; + signal IS_1: Std_logic; + signal IS_2: Std_logic; + signal N_57_i_i: Std_logic; + signal IS_n1_0_x2: Std_logic; + signal N_253_i: Std_logic; + signal N_58_i_i: Std_logic; + signal N_45: Std_logic; + signal N_116: Std_logic; + signal InitReady3_0_a3_2: Std_logic; + signal InitReady3: Std_logic; + signal InitReady: Std_logic; + signal N_487_0: Std_logic; + signal wb_dato_1: Std_logic; + signal LEDEN_6: Std_logic; + signal un1_FS_38_i: Std_logic; + signal CBR: Std_logic; + signal nCRAS_c_i_0: Std_logic; + signal RASr: Std_logic; + signal LED_c: Std_logic; + signal RowA_4: Std_logic; + signal MAin_c_4: Std_logic; + signal nRowColSel: Std_logic; + signal PHI2r: Std_logic; + signal RA_c_4: Std_logic; + signal RASr3: Std_logic; + signal un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1: Std_logic; + signal PHI2r2: Std_logic; + signal N_41: Std_logic; + signal RCKEEN_8_u_1_0: Std_logic; + signal RCKEEN_8_u_0_0: Std_logic; + signal RCKEEN_8: Std_logic; + signal RCKEEN: Std_logic; + signal Bank_7: Std_logic; + signal Bank_2: Std_logic; + signal Bank_5: Std_logic; + signal Bank_6: Std_logic; + signal RCKE_2: Std_logic; + signal RCKE_c: Std_logic; + signal un1_Bank_1_4: Std_logic; + signal N_258: Std_logic; + signal N_486_0: Std_logic; + signal Ready_0_sqmuxa: Std_logic; + signal Ready_fast: Std_logic; + signal N_489_0: Std_logic; + signal MAin_c_1: Std_logic; + signal MAin_c_0: Std_logic; + signal RowAd_0_1: Std_logic; + signal RowAd_0_0: Std_logic; + signal RowA_0: Std_logic; + signal RowA_1: Std_logic; + signal MAin_c_3: Std_logic; + signal MAin_c_2: Std_logic; + signal RowAd_0_3: Std_logic; + signal RowAd_0_2: Std_logic; + signal RowA_2: Std_logic; + signal RowA_3: Std_logic; + signal MAin_c_5: Std_logic; + signal RowAd_0_5: Std_logic; + signal RowAd_0_4: Std_logic; + signal RowA_5: Std_logic; + signal MAin_c_7: Std_logic; + signal MAin_c_6: Std_logic; + signal RowAd_0_7: Std_logic; + signal RowAd_0_6: Std_logic; + signal RowA_6: Std_logic; + signal RowA_7: Std_logic; + signal MAin_c_9: Std_logic; + signal MAin_c_8: Std_logic; + signal RowAd_0_9: Std_logic; + signal RowAd_0_8: Std_logic; + signal RowA_8: Std_logic; + signal RowA_9: Std_logic; + signal nRRAS_5_u_i_0: Std_logic; + signal XOR8MEG9_1: Std_logic; + signal XOR8MEG_3_u_0_bm: Std_logic; + signal un1_Din_2: Std_logic; + signal XOR8MEG: Std_logic; + signal XOR8MEG_3: Std_logic; + signal wb_dato_0: Std_logic; + signal n8MEGEN_6: Std_logic; + signal wb_rst10: Std_logic; + signal CASr3: Std_logic; + signal N_265: Std_logic; + signal nRowColSel_0_0: Std_logic; + signal nRRAS_0_sqmuxa: Std_logic; + signal wb_rst11: Std_logic; + signal wb_adr_0: Std_logic; + signal N_181: Std_logic; + signal wb_adr_cnst_m2_0: Std_logic; + signal wb_dati_7: Std_logic; + signal wb_adr_5_1: Std_logic; + signal wb_adr_5_0: Std_logic; + signal un1_wb_rst14_i: Std_logic; + signal wb_adr_1: Std_logic; + signal wb_adr_2: Std_logic; + signal wb_adr_5_3: Std_logic; + signal wb_adr_5_2: Std_logic; + signal wb_adr_3: Std_logic; + signal wb_adr_4: Std_logic; + signal wb_adr_5_5: Std_logic; + signal wb_adr_5_4: Std_logic; + signal wb_adr_5: Std_logic; + signal wb_adr_6: Std_logic; + signal wb_adr_5_7: Std_logic; + signal wb_adr_5_6: Std_logic; + signal wb_adr_7: Std_logic; + signal N_245: Std_logic; + signal N_102_2: Std_logic; + signal un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1: Std_logic; + signal un1_wb_cyc_stb_1_sqmuxa_0: Std_logic; + signal un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i: Std_logic; + signal wb_cyc_stb: Std_logic; + signal wb_dati_5_1_iv_0_0_1: Std_logic; + signal N_94: Std_logic; + signal N_128: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_0_1: Std_logic; + signal wb_dati_5_0_iv_0_a3_1_0: Std_logic; + signal wb_we: Std_logic; + signal N_119: Std_logic; + signal wb_dati_5_1: Std_logic; + signal wb_dati_5_0: Std_logic; + signal wb_dati_0: Std_logic; + signal wb_dati_1: Std_logic; + signal wb_dati_5_1_iv_0_0_3: Std_logic; + signal un1_wb_we95_1: Std_logic; + signal N_49: Std_logic; + signal N_240: Std_logic; + signal wb_dati_5_3: Std_logic; + signal wb_dati_5_2: Std_logic; + signal wb_dati_2: Std_logic; + signal wb_dati_3: Std_logic; + signal wb_dati_4: Std_logic; + signal un1_wb_rst11_1_s6_1: Std_logic; + signal wb_dati_5_1_iv_0_1_4: Std_logic; + signal wb_dati_5_5: Std_logic; + signal wb_dati_5_4: Std_logic; + signal wb_dati_5: Std_logic; + signal N_89: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_0_7: Std_logic; + signal wb_dati_5_1_iv_0_1_7: Std_logic; + signal wb_dati_5_1_iv_0_1_6: Std_logic; + signal wb_dati_5_7: Std_logic; + signal wb_dati_5_6: Std_logic; + signal wb_dati_6: Std_logic; + signal un1_FS_37_i_0: Std_logic; + signal N_78_i: Std_logic; + signal wb_req: Std_logic; + signal wb_reqe_0: Std_logic; + signal PHI2r3: Std_logic; + signal wb_rst: Std_logic; + signal wb_rste_0: Std_logic; + signal un1_FS_29: Std_logic; + signal wb_we95: Std_logic; + signal CmdUFMData: Std_logic; + signal un1_wb_adr_0_sqmuxa_3: Std_logic; + signal un1_wb_adr_0_sqmuxa_2: Std_logic; + signal wb_we_0: Std_logic; + signal un1_PHI2r3_0: Std_logic; + signal N_102: Std_logic; + signal un1_FS_11: Std_logic; + signal wb_ack: Std_logic; + signal d_N_5_mux: Std_logic; + signal N_254: Std_logic; + signal N_39: Std_logic; + signal nRCAS_0_sqmuxa_1: Std_logic; + signal N_37_i_1: Std_logic; + signal nRWE_0io_RNO_1: Std_logic; + signal CBR_fast: Std_logic; + signal N_37_i: Std_logic; + signal un1_FS_40_1_0_1: Std_logic; + signal un1_FS_40_1_0: Std_logic; + signal nRCAS_0io_RNO_0: Std_logic; + signal N_28_i_1: Std_logic; + signal N_249_i: Std_logic; + signal N_230: Std_logic; + signal nRWE_0io_RNO_3: Std_logic; + signal nRWE_0io_RNO_4: Std_logic; + signal N_131: Std_logic; + signal N_85: Std_logic; + signal N_248: Std_logic; + signal Din_c_3: Std_logic; + signal XOR8MEG14_1: Std_logic; + signal CmdUFMData_1_sqmuxa: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_6: Std_logic; + signal N_246: Std_logic; + signal N_98: Std_logic; + signal wb_dati_5_1_iv_0_a3_0_3: Std_logic; + signal N_25: Std_logic; + signal N_59: Std_logic; + signal wb_dati_5_1_iv_0_a3_2_0_1: Std_logic; + signal wb_dati_5_1_iv_0_a3_1_1_4: Std_logic; + signal wb_dati_5_1_iv_0_a3_3_0_7: Std_logic; + signal N_91: Std_logic; + signal N_242: Std_logic; + signal un1_FS_20_3: Std_logic; + signal wb_we95_0_tz_tz_tz: Std_logic; + signal N_120: Std_logic; + signal N_228: Std_logic; + signal wb_we113_i: Std_logic; + signal un1_FS_40_1_1_1: Std_logic; + signal N_139: Std_logic; + signal un1_FS_40_1_1_tz: Std_logic; + signal N_136: Std_logic; + signal N_28_i_sn: Std_logic; + signal N_25_i: Std_logic; + signal FWEr_fast: Std_logic; + signal N_28_i: Std_logic; + signal N_102_1: Std_logic; + signal N_233: Std_logic; + signal ADWR_4: Std_logic; + signal ADWR_5: Std_logic; + signal C1WR_0: Std_logic; + signal Bank_0: Std_logic; + signal Bank_1: Std_logic; + signal Bank_4: Std_logic; + signal un1_Bank_1_3: Std_logic; + signal Bank_3: Std_logic; + signal G_8_0_a3_0_0: Std_logic; + signal nRWE_0io_RNO_2: Std_logic; + signal Din_c_2: Std_logic; + signal RA_c_9: Std_logic; + signal RDQMH_c: Std_logic; + signal RA_c_7: Std_logic; + signal RA_c_0: Std_logic; + signal RDQML_c: Std_logic; + signal RA_c_1: Std_logic; + signal RA_c_8: Std_logic; + signal RA_c_2: Std_logic; + signal RA_c_6: Std_logic; + signal RA_c_3: Std_logic; + signal RA_c_5: Std_logic; + signal RA11d_0: Std_logic; + signal CROW_c_0: Std_logic; + signal CROW_c_1: Std_logic; + signal RBAd_0_1: Std_logic; + signal RBAd_0_0: Std_logic; + signal RD_in_0: Std_logic; + signal WRD_0: Std_logic; + signal nRCAS_c: Std_logic; + signal nRRAS_c: Std_logic; + signal nRWE_c: Std_logic; + signal nRCS_c: Std_logic; + signal RD_in_7: Std_logic; + signal WRD_7: Std_logic; + signal RD_in_6: Std_logic; + signal WRD_6: Std_logic; + signal RD_in_5: Std_logic; + signal WRD_5: Std_logic; + signal RD_in_4: Std_logic; + signal WRD_4: Std_logic; + signal RD_in_3: Std_logic; + signal WRD_3: Std_logic; + signal RD_in_2: Std_logic; + signal WRD_2: Std_logic; + signal RD_in_1: Std_logic; + signal WRD_1: Std_logic; + signal RA_c_11: Std_logic; + signal RA_c_10: Std_logic; + signal RBA_c_1: Std_logic; + signal RBA_c_0: Std_logic; + signal VCCI: Std_logic; + component SLICE_0 + port (A1: in Std_logic; DI1: in Std_logic; CLK: in Std_logic; + F1: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_1 + port (A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_2 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_3 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_4 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_5 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_6 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_7 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_8 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_9 + port (A1: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; FCI: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_10 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_11 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_12 + port (A0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_16 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_17 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_18 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_20 + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_21 + port (D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_22 + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_23 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_24 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_25 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_26 + port (D1: in Std_logic; C1: in Std_logic; C0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_28 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_29 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_30 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_31 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_32 + port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_34 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; DI0: in Std_logic; M1: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_35 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_36 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_37 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_38 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_39 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_40 + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_41 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_42 + port (D1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_43 + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_44 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_45 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_46 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_47 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_48 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_49 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_50 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_51 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI1: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_52 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_53 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_54 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_55 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_56 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_57 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; DI1: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_58 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_59 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_60 + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component wb_cyc_stb_RNO_SLICE_61 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; OFX0: out Std_logic); + end component; + component SLICE_62 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_63 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_64 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_65 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_66 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_67 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_68 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_69 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_70 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_71 + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_72 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_73 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_74 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_75 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_76 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_77 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_78 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_79 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_80 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_81 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_82 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_83 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_84 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_85 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_86 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_87 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_88 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_89 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_90 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_91 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_92 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_93 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_94 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_95 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_96 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_97 + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_98 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_99 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_100 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_101 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_102 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_103 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_104 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_105 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_106 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_107 + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_108 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_109 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_110 + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_111 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_112 + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_113 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_114 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_115 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_116 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_117 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_118 + port (C1: in Std_logic; B1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component RD_0_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD0: inout Std_logic); + end component; + component RD_0_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component Dout_0_B + port (PADDO: in Std_logic; Dout0: out Std_logic); + end component; + component PHI2B + port (PADDI: out Std_logic; PHI2S: in Std_logic); + end component; + component PHI2_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component RDQMLB + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + end component; + component RDQMHB + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + end component; + component nRCASB + port (IOLDO: in Std_logic; nRCASS: out Std_logic); + end component; + component nRCAS_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component nRRASB + port (IOLDO: in Std_logic; nRRASS: out Std_logic); + end component; + component nRRAS_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component nRWEB + port (IOLDO: in Std_logic; nRWES: out Std_logic); + end component; + component nRWE_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RCKEB + port (PADDO: in Std_logic; RCKES: out Std_logic); + end component; + component RCLKB + port (PADDI: out Std_logic; RCLKS: in Std_logic); + end component; + component nRCSB + port (IOLDO: in Std_logic; nRCSS: out Std_logic); + end component; + component nRCS_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_7_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD7: inout Std_logic); + end component; + component RD_7_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_6_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD6: inout Std_logic); + end component; + component RD_6_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_5_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD5: inout Std_logic); + end component; + component RD_5_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_4_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD4: inout Std_logic); + end component; + component RD_4_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_3_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD3: inout Std_logic); + end component; + component RD_3_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_2_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD2: inout Std_logic); + end component; + component RD_2_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RD_1_B + port (PADDI: out Std_logic; IOLDO: in Std_logic; PADDT: in Std_logic; + RD1: inout Std_logic); + end component; + component RD_1_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RA_11_B + port (IOLDO: in Std_logic; RA11: out Std_logic); + end component; + component RA_11_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RA_10_B + port (IOLDO: in Std_logic; RA10: out Std_logic); + end component; + component RA_10_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic); + end component; + component RA_9_B + port (PADDO: in Std_logic; RA9: out Std_logic); + end component; + component RA_8_B + port (PADDO: in Std_logic; RA8: out Std_logic); + end component; + component RA_7_B + port (PADDO: in Std_logic; RA7: out Std_logic); + end component; + component RA_6_B + port (PADDO: in Std_logic; RA6: out Std_logic); + end component; + component RA_5_B + port (PADDO: in Std_logic; RA5: out Std_logic); + end component; + component RA_4_B + port (PADDO: in Std_logic; RA4: out Std_logic); + end component; + component RA_3_B + port (PADDO: in Std_logic; RA3: out Std_logic); + end component; + component RA_2_B + port (PADDO: in Std_logic; RA2: out Std_logic); + end component; + component RA_1_B + port (PADDO: in Std_logic; RA1: out Std_logic); + end component; + component RA_0_B + port (PADDO: in Std_logic; RA0: out Std_logic); + end component; + component RBA_1_B + port (IOLDO: in Std_logic; RBA1: out Std_logic); + end component; + component RBA_1_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component RBA_0_B + port (IOLDO: in Std_logic; RBA0: out Std_logic); + end component; + component RBA_0_MGIOL + port (IOLDO: out Std_logic; OPOS: in Std_logic; CLK: in Std_logic); + end component; + component LEDB + port (PADDO: in Std_logic; LEDS: out Std_logic); + end component; + component nFWEB + port (PADDI: out Std_logic; nFWES: in Std_logic); + end component; + component nCRASB + port (PADDI: out Std_logic; nCRASS: in Std_logic); + end component; + component nCCASB + port (PADDI: out Std_logic; nCCASS: in Std_logic); + end component; + component Dout_7_B + port (PADDO: in Std_logic; Dout7: out Std_logic); + end component; + component Dout_6_B + port (PADDO: in Std_logic; Dout6: out Std_logic); + end component; + component Dout_5_B + port (PADDO: in Std_logic; Dout5: out Std_logic); + end component; + component Dout_4_B + port (PADDO: in Std_logic; Dout4: out Std_logic); + end component; + component Dout_3_B + port (PADDO: in Std_logic; Dout3: out Std_logic); + end component; + component Dout_2_B + port (PADDO: in Std_logic; Dout2: out Std_logic); + end component; + component Dout_1_B + port (PADDO: in Std_logic; Dout1: out Std_logic); + end component; + component Din_7_B + port (PADDI: out Std_logic; Din7: in Std_logic); + end component; + component Din_7_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_6_B + port (PADDI: out Std_logic; Din6: in Std_logic); + end component; + component Din_6_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_5_B + port (PADDI: out Std_logic; Din5: in Std_logic); + end component; + component Din_5_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_4_B + port (PADDI: out Std_logic; Din4: in Std_logic); + end component; + component Din_4_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_3_B + port (PADDI: out Std_logic; Din3: in Std_logic); + end component; + component Din_3_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_2_B + port (PADDI: out Std_logic; Din2: in Std_logic); + end component; + component Din_2_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_1_B + port (PADDI: out Std_logic; Din1: in Std_logic); + end component; + component Din_1_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component Din_0_B + port (PADDI: out Std_logic; Din0: in Std_logic); + end component; + component Din_0_MGIOL + port (DI: in Std_logic; CLK: in Std_logic; INP: out Std_logic); + end component; + component CROW_1_B + port (PADDI: out Std_logic; CROW1: in Std_logic); + end component; + component CROW_0_B + port (PADDI: out Std_logic; CROW0: in Std_logic); + end component; + component MAin_9_B + port (PADDI: out Std_logic; MAin9: in Std_logic); + end component; + component MAin_8_B + port (PADDI: out Std_logic; MAin8: in Std_logic); + end component; + component MAin_7_B + port (PADDI: out Std_logic; MAin7: in Std_logic); + end component; + component MAin_6_B + port (PADDI: out Std_logic; MAin6: in Std_logic); + end component; + component MAin_5_B + port (PADDI: out Std_logic; MAin5: in Std_logic); + end component; + component MAin_4_B + port (PADDI: out Std_logic; MAin4: in Std_logic); + end component; + component MAin_3_B + port (PADDI: out Std_logic; MAin3: in Std_logic); + end component; + component MAin_2_B + port (PADDI: out Std_logic; MAin2: in Std_logic); + end component; + component MAin_1_B + port (PADDI: out Std_logic; MAin1: in Std_logic); + end component; + component MAin_0_B + port (PADDI: out Std_logic; MAin0: in Std_logic); + end component; + component ufmefb_EFBInst_0 + port (WBCLKI: in Std_logic; WBRSTI: in Std_logic; WBCYCI: in Std_logic; + WBSTBI: in Std_logic; WBWEI: in Std_logic; WBADRI0: in Std_logic; + WBADRI1: in Std_logic; WBADRI2: in Std_logic; + WBADRI3: in Std_logic; WBADRI4: in Std_logic; + WBADRI5: in Std_logic; WBADRI6: in Std_logic; + WBADRI7: in Std_logic; WBDATI0: in Std_logic; + WBDATI1: in Std_logic; WBDATI2: in Std_logic; + WBDATI3: in Std_logic; WBDATI4: in Std_logic; + WBDATI5: in Std_logic; WBDATI6: in Std_logic; + WBDATI7: in Std_logic; WBDATO0: out Std_logic; + WBDATO1: out Std_logic; WBACKO: out Std_logic); + end component; + begin + SLICE_0I: SLICE_0 + port map (A1=>FS_0, DI1=>FS_s_0, CLK=>RCLK_c, F1=>FS_s_0, Q1=>FS_0, + FCO=>FS_cry_0); + SLICE_1I: SLICE_1 + port map (A0=>FS_17, DI0=>FS_s_17, CLK=>RCLK_c, FCI=>FS_cry_16, + F0=>FS_s_17, Q0=>FS_17); + SLICE_2I: SLICE_2 + port map (A1=>FS_16, A0=>FS_15, DI1=>FS_s_16, DI0=>FS_s_15, CLK=>RCLK_c, + FCI=>FS_cry_14, F0=>FS_s_15, Q0=>FS_15, F1=>FS_s_16, Q1=>FS_16, + FCO=>FS_cry_16); + SLICE_3I: SLICE_3 + port map (A1=>FS_14, A0=>FS_13, DI1=>FS_s_14, DI0=>FS_s_13, CLK=>RCLK_c, + FCI=>FS_cry_12, F0=>FS_s_13, Q0=>FS_13, F1=>FS_s_14, Q1=>FS_14, + FCO=>FS_cry_14); + SLICE_4I: SLICE_4 + port map (A1=>FS_12, A0=>FS_11, DI1=>FS_s_12, DI0=>FS_s_11, CLK=>RCLK_c, + FCI=>FS_cry_10, F0=>FS_s_11, Q0=>FS_11, F1=>FS_s_12, Q1=>FS_12, + FCO=>FS_cry_12); + SLICE_5I: SLICE_5 + port map (A1=>FS_10, A0=>FS_9, DI1=>FS_s_10, DI0=>FS_s_9, CLK=>RCLK_c, + FCI=>FS_cry_8, F0=>FS_s_9, Q0=>FS_9, F1=>FS_s_10, Q1=>FS_10, + FCO=>FS_cry_10); + SLICE_6I: SLICE_6 + port map (A1=>FS_8, A0=>FS_7, DI1=>FS_s_8, DI0=>FS_s_7, CLK=>RCLK_c, + FCI=>FS_cry_6, F0=>FS_s_7, Q0=>FS_7, F1=>FS_s_8, Q1=>FS_8, + FCO=>FS_cry_8); + SLICE_7I: SLICE_7 + port map (A1=>FS_6, A0=>FS_5, DI1=>FS_s_6, DI0=>FS_s_5, CLK=>RCLK_c, + FCI=>FS_cry_4, F0=>FS_s_5, Q0=>FS_5, F1=>FS_s_6, Q1=>FS_6, + FCO=>FS_cry_6); + SLICE_8I: SLICE_8 + port map (A1=>FS_4, A0=>FS_3, DI1=>FS_s_4, DI0=>FS_s_3, CLK=>RCLK_c, + FCI=>FS_cry_2, F0=>FS_s_3, Q0=>FS_3, F1=>FS_s_4, Q1=>FS_4, + FCO=>FS_cry_4); + SLICE_9I: SLICE_9 + port map (A1=>FS_2, A0=>FS_1, DI1=>FS_s_2, DI0=>FS_s_1, CLK=>RCLK_c, + FCI=>FS_cry_0, F0=>FS_s_1, Q0=>FS_1, F1=>FS_s_2, Q1=>FS_2, + FCO=>FS_cry_2); + SLICE_10I: SLICE_10 + port map (D1=>CmdEnable17_5, C1=>N_304, B1=>ADWR_7, A1=>CmdEnable17_4, + D0=>CmdEnable17, C0=>un1_ADWR, B0=>CmdEnable16, + A0=>ADSubmitted, DI0=>ADSubmitted_r, CLK=>PHI2_c, + F0=>ADSubmitted_r, Q0=>ADSubmitted, F1=>CmdEnable17); + SLICE_11I: SLICE_11 + port map (D1=>C1WR_2, C1=>CmdEnable16_4, B1=>C1WR_7, A1=>CmdEnable16_5, + C0=>CmdEnable16, B0=>C1Submitted, A0=>un1_ADWR, + DI0=>C1Submitted_s, CLK=>PHI2_c, F0=>C1Submitted_s, + Q0=>C1Submitted, F1=>CmdEnable16); + SLICE_12I: SLICE_12 + port map (A0=>nCCAS_c, DI0=>nCCAS_c_i, M1=>CASr, CLK=>RCLK_c, + F0=>nCCAS_c_i, Q0=>CASr, Q1=>CASr2); + SLICE_16I: SLICE_16 + port map (D1=>CO0, C1=>IS_3, B1=>RASr2, A1=>S_1, D0=>CO0, A0=>S_1, + DI0=>N_79_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_79_i, Q0=>CO0, + F1=>Ready_0_sqmuxa_0_a3_2); + SLICE_17I: SLICE_17 + port map (D1=>ADSubmitted, B1=>CmdEnable, D0=>un1_CMDWR, C0=>C1Submitted, + B0=>CmdEnable17, A0=>CmdEnable, DI0=>CmdEnable_s, + M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); + SLICE_18I: SLICE_18 + port map (D1=>XOR8MEG11, C1=>Din_c_1, A1=>CmdLEDEN, C0=>N_75, + B0=>XOR8MEG14, A0=>LEDEN, DI0=>CmdLEDEN_4, CE=>XOR8MEG18, + CLK=>PHI2_c, F0=>CmdLEDEN_4, Q0=>CmdLEDEN, F1=>N_75); + SLICE_20I: SLICE_20 + port map (D0=>XOR8MEG14, C0=>Din_c_1, B0=>XOR8MEG11, A0=>CmdUFMShift, + DI0=>CmdUFMShift_3, CE=>XOR8MEG18, CLK=>PHI2_c, + F0=>CmdUFMShift_3, Q0=>CmdUFMShift); + SLICE_21I: SLICE_21 + port map (D0=>Din_c_1, C0=>XOR8MEG14, B0=>XOR8MEG11, + A0=>CmdUFMShift_fast, DI0=>CmdUFMShift_3_fast, CE=>XOR8MEG18, + CLK=>PHI2_c, F0=>CmdUFMShift_3_fast, Q0=>CmdUFMShift_fast); + SLICE_22I: SLICE_22 + port map (C1=>Din_c_0, A1=>Din_c_1, D0=>XOR8MEG14, C0=>CmdUFMWrite_2, + B0=>XOR8MEG11, A0=>CmdUFMWrite, DI0=>CmdUFMWrite_3, + CE=>XOR8MEG18, CLK=>PHI2_c, F0=>CmdUFMWrite_3, Q0=>CmdUFMWrite, + F1=>CmdUFMWrite_2); + SLICE_23I: SLICE_23 + port map (D1=>Din_c_4, C1=>Din_c_7, B1=>Din_c_5, A1=>Din_c_6, + D0=>XOR8MEG14, C0=>XOR8MEG18, B0=>XOR8MEG11, DI0=>CmdValid_r, + CLK=>PHI2_c, F0=>CmdValid_r, Q0=>CmdValid, F1=>XOR8MEG11); + SLICE_24I: SLICE_24 + port map (C1=>CmdEnable, B1=>C1WR_7, A1=>CMDWR_2, D0=>XOR8MEG14, + B0=>XOR8MEG18, A0=>XOR8MEG11, DI0=>N_36_fast, CLK=>PHI2_c, + F0=>N_36_fast, Q0=>CmdValid_fast, F1=>XOR8MEG18); + SLICE_25I: SLICE_25 + port map (D1=>XOR8MEG11, C1=>Din_c_0, A1=>Cmdn8MEGEN, D0=>XOR8MEG14, + C0=>n8MEGEN, B0=>N_93, DI0=>Cmdn8MEGEN_4, CE=>XOR8MEG18, + CLK=>PHI2_c, F0=>Cmdn8MEGEN_4, Q0=>Cmdn8MEGEN, F1=>N_93); + SLICE_26I: SLICE_26 + port map (D1=>nFWE_c, C1=>nCCAS_c, C0=>nFWE_c, DI0=>nFWE_c_i, + CLK=>nCRAS_c, F0=>nFWE_c_i, Q0=>FWEr, F1=>RD_1_i); + SLICE_28I: SLICE_28 + port map (D1=>IS_0, C1=>Ready, B1=>IS_3, A1=>N_250, D0=>IS_0, C0=>Ready, + A0=>N_250, DI0=>N_60_i_i, CLK=>RCLK_c, F0=>N_60_i_i, Q0=>IS_0, + F1=>RA10s_i); + SLICE_29I: SLICE_29 + port map (D1=>IS_1, C1=>IS_0, A1=>IS_2, C0=>IS_0, A0=>IS_1, + DI1=>N_57_i_i, DI0=>IS_n1_0_x2, CE=>N_253_i, CLK=>RCLK_c, + F0=>IS_n1_0_x2, Q0=>IS_1, F1=>N_57_i_i, Q1=>IS_2); + SLICE_30I: SLICE_30 + port map (D1=>IS_1, A1=>IS_2, D0=>IS_3, C0=>IS_0, B0=>IS_1, A0=>IS_2, + DI0=>N_58_i_i, CE=>N_253_i, CLK=>RCLK_c, F0=>N_58_i_i, + Q0=>IS_3, F1=>N_45); + SLICE_31I: SLICE_31 + port map (D1=>N_116, C1=>FS_14, B1=>InitReady3_0_a3_2, A1=>FS_13, + C0=>InitReady3, A0=>InitReady, DI0=>N_487_0, CLK=>RCLK_c, + F0=>N_487_0, Q0=>InitReady, F1=>InitReady3); + SLICE_32I: SLICE_32 + port map (D0=>InitReady, B0=>CmdLEDEN, A0=>wb_dato_1, DI0=>LEDEN_6, + CE=>un1_FS_38_i, CLK=>RCLK_c, F0=>LEDEN_6, Q0=>LEDEN); + SLICE_34I: SLICE_34 + port map (D1=>nCRAS_c, C1=>LEDEN, A1=>CBR, D0=>nCRAS_c, DI0=>nCRAS_c_i_0, + M1=>RASr, CLK=>RCLK_c, F0=>nCRAS_c_i_0, Q0=>RASr, F1=>LED_c, + Q1=>RASr2); + SLICE_35I: SLICE_35 + port map (D1=>FS_3, A1=>FS_7, D0=>RowA_4, C0=>MAin_c_4, A0=>nRowColSel, + M1=>PHI2r, M0=>RASr2, CLK=>RCLK_c, F0=>RA_c_4, Q0=>RASr3, + F1=>un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1, Q1=>PHI2r2); + SLICE_36I: SLICE_36 + port map (D1=>Ready, C1=>RASr2, B1=>InitReady, A1=>N_41, D0=>CBR, + C0=>RCKEEN_8_u_1_0, B0=>RCKEEN_8_u_0_0, A0=>Ready, + DI0=>RCKEEN_8, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, + F1=>RCKEEN_8_u_0_0); + SLICE_37I: SLICE_37 + port map (D1=>Bank_7, C1=>Bank_2, B1=>Bank_5, A1=>Bank_6, D0=>RASr2, + C0=>RCKEEN, B0=>RASr, A0=>RASr3, DI0=>RCKE_2, CLK=>RCLK_c, + F0=>RCKE_2, Q0=>RCKE_c, F1=>un1_Bank_1_4); + SLICE_38I: SLICE_38 + port map (D1=>IS_1, C1=>IS_0, A1=>IS_2, D0=>InitReady, C0=>N_258, + B0=>Ready_0_sqmuxa_0_a3_2, A0=>Ready, DI0=>N_486_0, + CLK=>RCLK_c, F0=>N_486_0, Q0=>Ready, F1=>N_258); + SLICE_39I: SLICE_39 + port map (D1=>InitReady, C1=>N_258, B1=>Ready_0_sqmuxa_0_a3_2, A1=>Ready, + C0=>Ready_0_sqmuxa, A0=>Ready_fast, DI0=>N_489_0, CLK=>RCLK_c, + F0=>N_489_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa); + SLICE_40I: SLICE_40 + port map (C1=>MAin_c_1, B1=>Ready_fast, C0=>MAin_c_0, B0=>Ready_fast, + DI1=>RowAd_0_1, DI0=>RowAd_0_0, CLK=>nCRAS_c, F0=>RowAd_0_0, + Q0=>RowA_0, F1=>RowAd_0_1, Q1=>RowA_1); + SLICE_41I: SLICE_41 + port map (D1=>Ready_fast, B1=>MAin_c_3, D0=>Ready_fast, C0=>MAin_c_2, + DI1=>RowAd_0_3, DI0=>RowAd_0_2, CLK=>nCRAS_c, F0=>RowAd_0_2, + Q0=>RowA_2, F1=>RowAd_0_3, Q1=>RowA_3); + SLICE_42I: SLICE_42 + port map (D1=>MAin_c_5, A1=>Ready_fast, C0=>MAin_c_4, A0=>Ready_fast, + DI1=>RowAd_0_5, DI0=>RowAd_0_4, CLK=>nCRAS_c, F0=>RowAd_0_4, + Q0=>RowA_4, F1=>RowAd_0_5, Q1=>RowA_5); + SLICE_43I: SLICE_43 + port map (C1=>MAin_c_7, B1=>Ready_fast, C0=>MAin_c_6, B0=>Ready_fast, + DI1=>RowAd_0_7, DI0=>RowAd_0_6, CLK=>nCRAS_c, F0=>RowAd_0_6, + Q0=>RowA_6, F1=>RowAd_0_7, Q1=>RowA_7); + SLICE_44I: SLICE_44 + port map (D1=>Ready_fast, B1=>MAin_c_9, D0=>Ready_fast, A0=>MAin_c_8, + DI1=>RowAd_0_9, DI0=>RowAd_0_8, CLK=>nCRAS_c, F0=>RowAd_0_8, + Q0=>RowA_8, F1=>RowAd_0_9, Q1=>RowA_9); + SLICE_45I: SLICE_45 + port map (D1=>RCKE_c, C1=>N_41, B1=>Ready, A1=>RASr2, D0=>S_1, C0=>CO0, + DI0=>N_41, LSR=>RASr2, CLK=>RCLK_c, F0=>N_41, Q0=>S_1, + F1=>nRRAS_5_u_i_0); + SLICE_46I: SLICE_46 + port map (D1=>XOR8MEG9_1, C1=>Din_c_1, B1=>Din_c_0, A1=>LEDEN, + C0=>XOR8MEG_3_u_0_bm, B0=>un1_Din_2, A0=>XOR8MEG, + DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, + Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_bm); + SLICE_47I: SLICE_47 + port map (D1=>InitReady, C1=>FS_17, B1=>FS_16, A1=>FS_15, D0=>InitReady, + C0=>wb_dato_0, A0=>Cmdn8MEGEN, DI0=>n8MEGEN_6, CE=>un1_FS_38_i, + CLK=>RCLK_c, F0=>n8MEGEN_6, Q0=>n8MEGEN, F1=>wb_rst10); + SLICE_48I: SLICE_48 + port map (D1=>CASr3, C1=>FWEr, B1=>CBR, A1=>Ready, D0=>S_1, C0=>Ready, + B0=>N_265, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, + CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_265); + SLICE_49I: SLICE_49 + port map (D1=>wb_rst11, C1=>wb_adr_0, B1=>InitReady, A1=>N_181, + D0=>wb_adr_cnst_m2_0, B0=>InitReady, A0=>wb_dati_7, + DI1=>wb_adr_5_1, DI0=>wb_adr_5_0, CE=>un1_wb_rst14_i, + CLK=>RCLK_c, F0=>wb_adr_5_0, Q0=>wb_adr_0, F1=>wb_adr_5_1, + Q1=>wb_adr_1); + SLICE_50I: SLICE_50 + port map (B1=>wb_adr_2, A1=>InitReady, C0=>wb_adr_1, A0=>InitReady, + DI1=>wb_adr_5_3, DI0=>wb_adr_5_2, CE=>un1_wb_rst14_i, + CLK=>RCLK_c, F0=>wb_adr_5_2, Q0=>wb_adr_2, F1=>wb_adr_5_3, + Q1=>wb_adr_3); + SLICE_51I: SLICE_51 + port map (D1=>wb_rst11, C1=>InitReady, A1=>wb_adr_4, D0=>wb_rst11, + C0=>InitReady, A0=>wb_adr_3, DI1=>wb_adr_5_5, DI0=>wb_adr_5_4, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_adr_5_4, Q0=>wb_adr_4, + F1=>wb_adr_5_5, Q1=>wb_adr_5); + SLICE_52I: SLICE_52 + port map (D1=>InitReady, A1=>wb_adr_6, D0=>InitReady, C0=>wb_rst11, + B0=>wb_adr_5, DI1=>wb_adr_5_7, DI0=>wb_adr_5_6, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_adr_5_6, Q0=>wb_adr_6, + F1=>wb_adr_5_7, Q1=>wb_adr_7); + SLICE_53I: SLICE_53 + port map (D1=>un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1, C1=>FS_5, B1=>FS_2, + A1=>FS_4, D0=>wb_rst11, C0=>N_245, B0=>N_102_2, + A0=>un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1, + DI0=>un1_wb_cyc_stb_1_sqmuxa_0, + CE=>un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i, LSR=>wb_rst10, + CLK=>RCLK_c, F0=>un1_wb_cyc_stb_1_sqmuxa_0, Q0=>wb_cyc_stb, + F1=>N_102_2); + SLICE_54I: SLICE_54 + port map (D1=>wb_dati_5_1_iv_0_0_1, C1=>N_94, B1=>N_128, + A1=>wb_dati_5_1_iv_0_a3_0_0_1, D0=>wb_dati_5_0_iv_0_a3_1_0, + C0=>wb_we, B0=>InitReady, A0=>N_119, DI1=>wb_dati_5_1, + DI0=>wb_dati_5_0, CE=>un1_wb_rst14_i, CLK=>RCLK_c, + F0=>wb_dati_5_0, Q0=>wb_dati_0, F1=>wb_dati_5_1, Q1=>wb_dati_1); + SLICE_55I: SLICE_55 + port map (D1=>wb_rst11, C1=>wb_dati_5_1_iv_0_0_3, B1=>un1_wb_we95_1, + A1=>N_94, D0=>N_49, C0=>wb_dati_1, B0=>N_240, A0=>InitReady, + DI1=>wb_dati_5_3, DI0=>wb_dati_5_2, CE=>un1_wb_rst14_i, + CLK=>RCLK_c, F0=>wb_dati_5_2, Q0=>wb_dati_2, F1=>wb_dati_5_3, + Q1=>wb_dati_3); + SLICE_56I: SLICE_56 + port map (D1=>N_49, C1=>InitReady, B1=>N_240, A1=>wb_dati_4, + D0=>un1_wb_rst11_1_s6_1, C0=>InitReady, B0=>wb_dati_3, + A0=>wb_dati_5_1_iv_0_1_4, DI1=>wb_dati_5_5, DI0=>wb_dati_5_4, + CE=>un1_wb_rst14_i, CLK=>RCLK_c, F0=>wb_dati_5_4, + Q0=>wb_dati_4, F1=>wb_dati_5_5, Q1=>wb_dati_5); + SLICE_57I: SLICE_57 + port map (D1=>N_89, C1=>wb_dati_5_1_iv_0_a3_0_0_7, + B1=>wb_dati_5_1_iv_0_1_7, A1=>N_119, D0=>wb_dati_5_1_iv_0_1_6, + C0=>wb_dati_5_1_iv_0_a3_0_0_1, B0=>N_128, DI1=>wb_dati_5_7, + DI0=>wb_dati_5_6, CE=>un1_wb_rst14_i, CLK=>RCLK_c, + F0=>wb_dati_5_6, Q0=>wb_dati_6, F1=>wb_dati_5_7, Q1=>wb_dati_7); + SLICE_58I: SLICE_58 + port map (C1=>FS_14, B1=>FS_12, A1=>FS_13, D0=>wb_rst11, + C0=>un1_FS_37_i_0, B0=>N_78_i, A0=>wb_req, DI0=>wb_reqe_0, + LSR=>wb_rst10, CLK=>RCLK_c, F0=>wb_reqe_0, Q0=>wb_req, + F1=>un1_FS_37_i_0); + SLICE_59I: SLICE_59 + port map (D1=>PHI2r3, C1=>InitReady, B1=>CmdValid, A1=>PHI2r2, + D0=>wb_rst10, C0=>wb_rst, B0=>N_78_i, A0=>FS_14, + DI0=>wb_rste_0, CLK=>RCLK_c, F0=>wb_rste_0, Q0=>wb_rst, + F1=>N_78_i); + SLICE_60I: SLICE_60 + port map (C1=>un1_FS_29, A1=>wb_we95, D0=>CmdUFMData, + C0=>un1_wb_adr_0_sqmuxa_3, B0=>InitReady, + A0=>un1_wb_adr_0_sqmuxa_2, DI0=>wb_we_0, CE=>un1_wb_rst14_i, + LSR=>wb_rst10, CLK=>RCLK_c, F0=>wb_we_0, Q0=>wb_we, + F1=>un1_wb_adr_0_sqmuxa_2); + wb_cyc_stb_RNO_SLICE_61I: wb_cyc_stb_RNO_SLICE_61 + port map (D1=>CmdValid, C1=>CmdUFMWrite, B1=>CmdUFMShift, + A1=>un1_PHI2r3_0, D0=>N_102, C0=>un1_FS_11, A0=>wb_ack, + M0=>InitReady, OFX0=>un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i); + SLICE_62I: SLICE_62 + port map (D1=>un1_PHI2r3_0, C1=>d_N_5_mux, B1=>CmdValid_fast, + A1=>InitReady, D0=>un1_FS_29, C0=>un1_FS_11, B0=>wb_ack, + A0=>InitReady, F0=>d_N_5_mux, F1=>un1_FS_38_i); + SLICE_63I: SLICE_63 + port map (D1=>S_1, C1=>CO0, B1=>InitReady, A1=>RASr2, D0=>S_1, C0=>N_250, + B0=>N_254, A0=>Ready, F0=>N_39, F1=>N_250); + SLICE_64I: SLICE_64 + port map (D1=>Ready, C1=>nRCAS_0_sqmuxa_1, B1=>N_37_i_1, + A1=>nRWE_0io_RNO_1, D0=>Ready, C0=>RASr2, B0=>CBR_fast, + A0=>N_41, F0=>nRCAS_0_sqmuxa_1, F1=>N_37_i); + SLICE_65I: SLICE_65 + port map (D1=>un1_FS_40_1_0_1, C1=>FS_10, B1=>FS_13, A1=>FS_9, D0=>FS_14, + C0=>FS_9, B0=>FS_12, A0=>FS_11, F0=>un1_FS_40_1_0_1, + F1=>un1_FS_40_1_0); + SLICE_66I: SLICE_66 + port map (D1=>S_1, B1=>N_39, A1=>CBR, D0=>S_1, C0=>nRCAS_0io_RNO_0, + B0=>nRCAS_0_sqmuxa_1, A0=>N_28_i_1, F0=>N_249_i, + F1=>nRCAS_0io_RNO_0); + SLICE_67I: SLICE_67 + port map (D1=>wb_rst11, C1=>FS_9, B1=>FS_13, A1=>N_230, D0=>wb_rst11, + C0=>un1_wb_we95_1, B0=>N_94, F0=>N_49, F1=>N_94); + SLICE_68I: SLICE_68 + port map (D1=>nRWE_0io_RNO_3, C1=>nRWE_0io_RNO_4, A1=>Ready, D0=>IS_2, + C0=>IS_1, B0=>IS_0, A0=>N_250, F0=>nRWE_0io_RNO_4, + F1=>nRWE_0io_RNO_1); + SLICE_69I: SLICE_69 + port map (D1=>RCKE_c, C1=>nRRAS_0_sqmuxa, A1=>RASr2, D0=>Ready, B0=>S_1, + A0=>CO0, F0=>nRRAS_0_sqmuxa, F1=>nRWE_0io_RNO_3); + SLICE_70I: SLICE_70 + port map (D1=>FS_14, C1=>N_119, B1=>FS_13, A1=>N_131, C0=>FS_11, + B0=>FS_12, A0=>FS_10, F0=>N_131, F1=>N_85); + SLICE_71I: SLICE_71 + port map (C1=>FS_10, A1=>FS_11, D0=>FS_14, C0=>FS_13, B0=>FS_12, + A0=>N_116, F0=>wb_dati_5_1_iv_0_a3_0_0_7, F1=>N_116); + SLICE_72I: SLICE_72 + port map (D1=>wb_rst11, C1=>FS_14, B1=>FS_13, A1=>N_248, D0=>FS_12, + C0=>FS_11, B0=>FS_9, A0=>FS_10, F0=>N_248, F1=>N_240); + SLICE_73I: SLICE_73 + port map (D1=>Din_c_7, C1=>Din_c_3, B1=>XOR8MEG14_1, A1=>Din_c_5, + D0=>C1WR_7, C0=>CMDWR_2, B0=>XOR8MEG14, A0=>CmdEnable, + M0=>Din_c_0, CE=>CmdUFMData_1_sqmuxa, CLK=>PHI2_c, + F0=>CmdUFMData_1_sqmuxa, Q0=>CmdUFMData, F1=>XOR8MEG14); + SLICE_74I: SLICE_74 + port map (D1=>wb_dati_5_1_iv_0_a3_0_6, C1=>FS_10, B1=>FS_12, A1=>N_246, + D0=>N_85, C0=>wb_dati_5, B0=>InitReady, A0=>N_98, + F0=>wb_dati_5_1_iv_0_1_6, F1=>N_98); + SLICE_75I: SLICE_75 + port map (D1=>FS_11, B1=>FS_14, A1=>wb_rst11, + D0=>wb_dati_5_1_iv_0_a3_0_3, C0=>N_128, B0=>wb_dati_2, + A0=>InitReady, F0=>wb_dati_5_1_iv_0_0_3, F1=>N_128); + SLICE_76I: SLICE_76 + port map (D1=>InitReady, C1=>FS_15, B1=>FS_16, A1=>FS_17, C0=>wb_rst11, + A0=>un1_wb_we95_1, F0=>un1_wb_rst11_1_s6_1, F1=>wb_rst11); + SLICE_77I: SLICE_77 + port map (D1=>IS_1, C1=>IS_3, B1=>IS_2, D0=>nRRAS_5_u_i_0, C0=>N_250, + B0=>N_254, A0=>IS_0, F0=>N_25, F1=>N_254); + SLICE_78I: SLICE_78 + port map (C1=>FS_12, B1=>FS_9, A1=>FS_10, D0=>N_59, C0=>N_128, B0=>FS_13, + F0=>N_89, F1=>N_59); + SLICE_79I: SLICE_79 + port map (C1=>FS_14, B1=>FS_13, A1=>wb_rst11, D0=>InitReady, + C0=>wb_dati_5_1_iv_0_a3_2_0_1, B0=>wb_dati_0, A0=>N_248, + F0=>wb_dati_5_1_iv_0_0_1, F1=>wb_dati_5_1_iv_0_a3_2_0_1); + SLICE_80I: SLICE_80 + port map (D1=>FS_12, C1=>FS_9, B1=>FS_10, A1=>FS_13, D0=>N_248, + C0=>wb_dati_5_1_iv_0_a3_1_1_4, B0=>N_85, A0=>N_246, + F0=>wb_dati_5_1_iv_0_1_4, F1=>wb_dati_5_1_iv_0_a3_1_1_4); + SLICE_81I: SLICE_81 + port map (D1=>FS_12, C1=>wb_dati_5_1_iv_0_a3_3_0_7, B1=>FS_10, + A1=>wb_rst11, D0=>InitReady, C0=>N_91, B0=>N_242, + A0=>wb_dati_6, F0=>wb_dati_5_1_iv_0_1_7, F1=>N_242); + SLICE_82I: SLICE_82 + port map (B1=>FS_13, A1=>FS_14, D0=>FS_11, C0=>un1_FS_20_3, B0=>FS_12, + A0=>wb_we95_0_tz_tz_tz, F0=>un1_wb_we95_1, F1=>un1_FS_20_3); + SLICE_83I: SLICE_83 + port map (D1=>FS_10, B1=>FS_12, A1=>FS_11, D0=>N_120, C0=>FS_14, + B0=>FS_13, A0=>N_119, F0=>N_91, F1=>N_120); + SLICE_84I: SLICE_84 + port map (D1=>wb_we95_0_tz_tz_tz, C1=>FS_13, B1=>FS_14, A1=>N_228, + D0=>wb_we113_i, C0=>un1_FS_29, A0=>wb_we95, F0=>N_181, + F1=>un1_FS_29); + SLICE_85I: SLICE_85 + port map (C1=>un1_FS_40_1_0, B1=>wb_rst11, A1=>un1_FS_40_1_1_1, + D0=>FS_10, C0=>N_139, B0=>un1_FS_40_1_1_tz, A0=>FS_9, + F0=>un1_FS_40_1_1_1, F1=>wb_adr_cnst_m2_0); + SLICE_86I: SLICE_86 + port map (D1=>FS_11, C1=>FS_9, B1=>FS_10, A1=>FS_12, D0=>FS_14, + C0=>N_136, B0=>FS_13, F0=>N_139, F1=>N_136); + SLICE_87I: SLICE_87 + port map (D1=>FS_9, B1=>FS_10, D0=>FS_11, C0=>wb_we95_0_tz_tz_tz, + B0=>FS_12, A0=>un1_FS_20_3, F0=>wb_we95, + F1=>wb_we95_0_tz_tz_tz); + SLICE_88I: SLICE_88 + port map (D1=>N_28_i_sn, C1=>N_25_i, B1=>N_28_i_1, A1=>Ready, D0=>CO0, + C0=>CASr2, B0=>CASr3, A0=>FWEr_fast, F0=>N_28_i_1, F1=>N_28_i); + SLICE_89I: SLICE_89 + port map (B1=>FS_0, A1=>wb_req, D0=>InitReady, C0=>N_102_2, B0=>N_102_1, + A0=>N_233, F0=>N_102, F1=>N_233); + SLICE_90I: SLICE_90 + port map (D1=>CMDWR_2, C1=>C1WR_7, B1=>ADWR_7, A1=>C1WR_2, D0=>MAin_c_6, + C0=>N_304, B0=>MAin_c_5, A0=>MAin_c_7, F0=>C1WR_7, + F1=>un1_CMDWR); + SLICE_91I: SLICE_91 + port map (C1=>ADWR_7, B1=>C1WR_7, A1=>C1WR_2, D0=>MAin_c_3, C0=>MAin_c_1, + B0=>ADWR_4, A0=>ADWR_5, F0=>ADWR_7, F1=>un1_ADWR); + SLICE_92I: SLICE_92 + port map (D1=>MAin_c_4, C1=>MAin_c_3, B1=>MAin_c_2, D0=>nFWE_c, + C0=>C1WR_0, B0=>MAin_c_0, A0=>MAin_c_1, F0=>C1WR_2, F1=>C1WR_0); + SLICE_93I: SLICE_93 + port map (D1=>wb_we113_i, C1=>wb_rst11, A1=>un1_FS_37_i_0, + D0=>wb_we95_0_tz_tz_tz, C0=>FS_14, B0=>FS_13, A0=>N_228, + F0=>wb_we113_i, F1=>un1_wb_adr_0_sqmuxa_3); + SLICE_94I: SLICE_94 + port map (B1=>Bank_0, A1=>Bank_1, D0=>Bank_4, C0=>un1_Bank_1_3, + B0=>un1_Bank_1_4, A0=>Bank_3, F0=>N_304, F1=>un1_Bank_1_3); + SLICE_95I: SLICE_95 + port map (B1=>PHI2r3, A1=>PHI2r2, D0=>CmdValid, C0=>CmdUFMShift, + B0=>un1_PHI2r3_0, A0=>InitReady, F0=>N_245, F1=>un1_PHI2r3_0); + SLICE_96I: SLICE_96 + port map (D1=>FS_6, C1=>FS_8, A1=>FS_1, C0=>N_102_1, B0=>wb_req, + A0=>FS_0, F0=>un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1, F1=>N_102_1); + SLICE_97I: SLICE_97 + port map (C1=>PHI2r2, B1=>PHI2r3, D0=>CmdValid_fast, C0=>InitReady, + B0=>CmdUFMShift_fast, A0=>G_8_0_a3_0_0, F0=>un1_wb_rst14_i, + F1=>G_8_0_a3_0_0); + SLICE_98I: SLICE_98 + port map (D1=>S_1, C1=>CASr3, B1=>CO0, A1=>CASr2, D0=>FWEr, + C0=>nRWE_0io_RNO_2, A0=>CBR_fast, F0=>N_37_i_1, + F1=>nRWE_0io_RNO_2); + SLICE_99I: SLICE_99 + port map (D1=>FS_10, C1=>FS_12, B1=>FS_13, A1=>FS_9, D0=>FS_10, + C0=>FS_12, B0=>FS_13, A0=>FS_9, F0=>wb_dati_5_1_iv_0_a3_0_3, + F1=>wb_dati_5_1_iv_0_a3_0_0_1); + SLICE_100I: SLICE_100 + port map (D1=>FS_14, C1=>FS_13, B1=>FS_12, A1=>FS_11, D0=>FS_14, + C0=>FS_10, B0=>FS_12, A0=>FS_11, F0=>N_230, + F1=>un1_FS_40_1_1_tz); + SLICE_101I: SLICE_101 + port map (D1=>Din_c_7, C1=>Din_c_4, B1=>Din_c_3, A1=>Din_c_5, + D0=>Din_c_7, C0=>Din_c_4, B0=>Din_c_6, A0=>Din_c_5, + F0=>un1_Din_2, F1=>CmdEnable17_5); + SLICE_102I: SLICE_102 + port map (D1=>FS_16, C1=>FS_12, B1=>FS_17, A1=>FS_15, D0=>FS_16, + C0=>FS_15, B0=>FS_17, F0=>un1_FS_11, F1=>InitReady3_0_a3_2); + SLICE_103I: SLICE_103 + port map (D1=>FS_13, C1=>FS_9, B1=>FS_11, D0=>FS_13, C0=>FS_9, B0=>FS_11, + A0=>FS_14, F0=>wb_dati_5_1_iv_0_a3_3_0_7, + F1=>wb_dati_5_1_iv_0_a3_0_6); + SLICE_104I: SLICE_104 + port map (D1=>Din_c_0, C1=>Din_c_1, B1=>Din_c_6, A1=>Din_c_5, + D0=>Din_c_2, C0=>Din_c_0, B0=>Din_c_6, A0=>Din_c_1, + F0=>CmdEnable17_4, F1=>CmdEnable16_4); + SLICE_105I: SLICE_105 + port map (D1=>nFWE_c, C1=>MAin_c_6, A1=>MAin_c_0, D0=>MAin_c_1, + C0=>C1WR_0, B0=>nFWE_c, A0=>MAin_c_0, M1=>nCCAS_c_i, + M0=>nCCAS_c_i, CLK=>nCRAS_c, F0=>CMDWR_2, Q0=>CBR, F1=>ADWR_4, + Q1=>CBR_fast); + SLICE_106I: SLICE_106 + port map (D1=>Din_c_2, B1=>Din_c_3, D0=>Din_c_2, C0=>Din_c_7, + B0=>Din_c_3, A0=>Din_c_4, M0=>CASr2, CLK=>RCLK_c, + F0=>CmdEnable16_5, Q0=>CASr3, F1=>XOR8MEG9_1); + SLICE_107I: SLICE_107 + port map (C1=>nRowColSel, B1=>MAin_c_9, C0=>nRowColSel, B0=>MAin_c_9, + A0=>RowA_9, F0=>RA_c_9, F1=>RDQMH_c); + SLICE_108I: SLICE_108 + port map (D1=>N_250, C1=>nRRAS_5_u_i_0, B1=>IS_0, A1=>N_254, D0=>Ready, + C0=>N_250, M0=>nFWE_c_i, CLK=>nCRAS_c, F0=>N_253_i, + Q0=>FWEr_fast, F1=>N_25_i); + SLICE_109I: SLICE_109 + port map (D1=>wb_rst11, A1=>FS_14, D0=>wb_rst11, C0=>FS_9, F0=>N_119, + F1=>N_246); + SLICE_110I: SLICE_110 + port map (C1=>FS_11, B1=>FS_12, D0=>FS_13, C0=>N_116, B0=>FS_12, + A0=>FS_14, F0=>wb_dati_5_0_iv_0_a3_1_0, F1=>N_228); + SLICE_111I: SLICE_111 + port map (C1=>RowA_7, B1=>nRowColSel, A1=>MAin_c_7, D0=>MAin_c_4, + C0=>MAin_c_2, B0=>MAin_c_5, A0=>MAin_c_7, F0=>ADWR_5, + F1=>RA_c_7); + SLICE_112I: SLICE_112 + port map (C1=>nRowColSel, B1=>MAin_c_9, D0=>nRowColSel, C0=>MAin_c_0, + B0=>RowA_0, F0=>RA_c_0, F1=>RDQML_c); + SLICE_113I: SLICE_113 + port map (D1=>RowA_8, C1=>MAin_c_8, A1=>nRowColSel, D0=>RowA_1, + C0=>MAin_c_1, A0=>nRowColSel, F0=>RA_c_1, F1=>RA_c_8); + SLICE_114I: SLICE_114 + port map (D1=>RowA_6, C1=>MAin_c_6, A1=>nRowColSel, C0=>MAin_c_2, + B0=>RowA_2, A0=>nRowColSel, F0=>RA_c_2, F1=>RA_c_6); + SLICE_115I: SLICE_115 + port map (D1=>RowA_5, B1=>nRowColSel, A1=>MAin_c_5, C0=>RowA_3, + B0=>MAin_c_3, A0=>nRowColSel, F0=>RA_c_3, F1=>RA_c_5); + SLICE_116I: SLICE_116 + port map (D1=>Din_c_6, C1=>n8MEGEN, B1=>Ready_fast, A1=>XOR8MEG, + B0=>Din_c_4, A0=>Din_c_6, F0=>XOR8MEG14_1, F1=>RA11d_0); + SLICE_117I: SLICE_117 + port map (D1=>S_1, C1=>CBR_fast, B1=>N_25, D0=>S_1, C0=>CO0, B0=>FWEr, + A0=>CASr2, F0=>RCKEEN_8_u_1_0, F1=>N_28_i_sn); + SLICE_118I: SLICE_118 + port map (C1=>Ready_fast, B1=>CROW_c_0, C0=>Ready_fast, B0=>CROW_c_1, + M0=>PHI2r2, CLK=>RCLK_c, F0=>RBAd_0_1, Q0=>PHI2r3, + F1=>RBAd_0_0); + RD_0_I: RD_0_B + port map (PADDI=>RD_in_0, IOLDO=>WRD_0, PADDT=>RD_1_i, RD0=>RD(0)); + RD_0_MGIOLI: RD_0_MGIOL + port map (IOLDO=>WRD_0, OPOS=>Din_c_0, CLK=>nCCAS_c); + Dout_0_I: Dout_0_B + port map (PADDO=>RD_in_0, Dout0=>Dout(0)); + PHI2I: PHI2B + port map (PADDI=>PHI2_c, PHI2S=>PHI2); + PHI2_MGIOLI: PHI2_MGIOL + port map (DI=>PHI2_c, CLK=>RCLK_c, INP=>PHI2r); + RDQMLI: RDQMLB + port map (PADDO=>RDQML_c, RDQMLS=>RDQML); + RDQMHI: RDQMHB + port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); + nRCASI: nRCASB + port map (IOLDO=>nRCAS_c, nRCASS=>nRCAS); + nRCAS_MGIOLI: nRCAS_MGIOL + port map (IOLDO=>nRCAS_c, OPOS=>N_249_i, CLK=>RCLK_c); + nRRASI: nRRASB + port map (IOLDO=>nRRAS_c, nRRASS=>nRRAS); + nRRAS_MGIOLI: nRRAS_MGIOL + port map (IOLDO=>nRRAS_c, OPOS=>N_25_i, CLK=>RCLK_c); + nRWEI: nRWEB + port map (IOLDO=>nRWE_c, nRWES=>nRWE); + nRWE_MGIOLI: nRWE_MGIOL + port map (IOLDO=>nRWE_c, OPOS=>N_37_i, CLK=>RCLK_c); + RCKEI: RCKEB + port map (PADDO=>RCKE_c, RCKES=>RCKE); + RCLKI: RCLKB + port map (PADDI=>RCLK_c, RCLKS=>RCLK); + nRCSI: nRCSB + port map (IOLDO=>nRCS_c, nRCSS=>nRCS); + nRCS_MGIOLI: nRCS_MGIOL + port map (IOLDO=>nRCS_c, OPOS=>N_28_i, CLK=>RCLK_c); + RD_7_I: RD_7_B + port map (PADDI=>RD_in_7, IOLDO=>WRD_7, PADDT=>RD_1_i, RD7=>RD(7)); + RD_7_MGIOLI: RD_7_MGIOL + port map (IOLDO=>WRD_7, OPOS=>Din_c_7, CLK=>nCCAS_c); + RD_6_I: RD_6_B + port map (PADDI=>RD_in_6, IOLDO=>WRD_6, PADDT=>RD_1_i, RD6=>RD(6)); + RD_6_MGIOLI: RD_6_MGIOL + port map (IOLDO=>WRD_6, OPOS=>Din_c_6, CLK=>nCCAS_c); + RD_5_I: RD_5_B + port map (PADDI=>RD_in_5, IOLDO=>WRD_5, PADDT=>RD_1_i, RD5=>RD(5)); + RD_5_MGIOLI: RD_5_MGIOL + port map (IOLDO=>WRD_5, OPOS=>Din_c_5, CLK=>nCCAS_c); + RD_4_I: RD_4_B + port map (PADDI=>RD_in_4, IOLDO=>WRD_4, PADDT=>RD_1_i, RD4=>RD(4)); + RD_4_MGIOLI: RD_4_MGIOL + port map (IOLDO=>WRD_4, OPOS=>Din_c_4, CLK=>nCCAS_c); + RD_3_I: RD_3_B + port map (PADDI=>RD_in_3, IOLDO=>WRD_3, PADDT=>RD_1_i, RD3=>RD(3)); + RD_3_MGIOLI: RD_3_MGIOL + port map (IOLDO=>WRD_3, OPOS=>Din_c_3, CLK=>nCCAS_c); + RD_2_I: RD_2_B + port map (PADDI=>RD_in_2, IOLDO=>WRD_2, PADDT=>RD_1_i, RD2=>RD(2)); + RD_2_MGIOLI: RD_2_MGIOL + port map (IOLDO=>WRD_2, OPOS=>Din_c_2, CLK=>nCCAS_c); + RD_1_I0: RD_1_B + port map (PADDI=>RD_in_1, IOLDO=>WRD_1, PADDT=>RD_1_i, RD1=>RD(1)); + RD_1_MGIOLI: RD_1_MGIOL + port map (IOLDO=>WRD_1, OPOS=>Din_c_1, CLK=>nCCAS_c); + RA_11_I: RA_11_B + port map (IOLDO=>RA_c_11, RA11=>RA(11)); + RA_11_MGIOLI: RA_11_MGIOL + port map (IOLDO=>RA_c_11, OPOS=>RA11d_0, CLK=>PHI2_c); + RA_10_I: RA_10_B + port map (IOLDO=>RA_c_10, RA10=>RA(10)); + RA_10_MGIOLI: RA_10_MGIOL + port map (IOLDO=>RA_c_10, OPOS=>N_45, LSR=>RA10s_i, CLK=>RCLK_c); + RA_9_I: RA_9_B + port map (PADDO=>RA_c_9, RA9=>RA(9)); + RA_8_I: RA_8_B + port map (PADDO=>RA_c_8, RA8=>RA(8)); + RA_7_I: RA_7_B + port map (PADDO=>RA_c_7, RA7=>RA(7)); + RA_6_I: RA_6_B + port map (PADDO=>RA_c_6, RA6=>RA(6)); + RA_5_I: RA_5_B + port map (PADDO=>RA_c_5, RA5=>RA(5)); + RA_4_I: RA_4_B + port map (PADDO=>RA_c_4, RA4=>RA(4)); + RA_3_I: RA_3_B + port map (PADDO=>RA_c_3, RA3=>RA(3)); + RA_2_I: RA_2_B + port map (PADDO=>RA_c_2, RA2=>RA(2)); + RA_1_I: RA_1_B + port map (PADDO=>RA_c_1, RA1=>RA(1)); + RA_0_I: RA_0_B + port map (PADDO=>RA_c_0, RA0=>RA(0)); + RBA_1_I: RBA_1_B + port map (IOLDO=>RBA_c_1, RBA1=>RBA(1)); + RBA_1_MGIOLI: RBA_1_MGIOL + port map (IOLDO=>RBA_c_1, OPOS=>RBAd_0_1, CLK=>nCRAS_c); + RBA_0_I: RBA_0_B + port map (IOLDO=>RBA_c_0, RBA0=>RBA(0)); + RBA_0_MGIOLI: RBA_0_MGIOL + port map (IOLDO=>RBA_c_0, OPOS=>RBAd_0_0, CLK=>nCRAS_c); + LEDI: LEDB + port map (PADDO=>LED_c, LEDS=>LED); + nFWEI: nFWEB + port map (PADDI=>nFWE_c, nFWES=>nFWE); + nCRASI: nCRASB + port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); + nCCASI: nCCASB + port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); + Dout_7_I: Dout_7_B + port map (PADDO=>RD_in_7, Dout7=>Dout(7)); + Dout_6_I: Dout_6_B + port map (PADDO=>RD_in_6, Dout6=>Dout(6)); + Dout_5_I: Dout_5_B + port map (PADDO=>RD_in_5, Dout5=>Dout(5)); + Dout_4_I: Dout_4_B + port map (PADDO=>RD_in_4, Dout4=>Dout(4)); + Dout_3_I: Dout_3_B + port map (PADDO=>RD_in_3, Dout3=>Dout(3)); + Dout_2_I: Dout_2_B + port map (PADDO=>RD_in_2, Dout2=>Dout(2)); + Dout_1_I: Dout_1_B + port map (PADDO=>RD_in_1, Dout1=>Dout(1)); + Din_7_I: Din_7_B + port map (PADDI=>Din_c_7, Din7=>Din(7)); + Din_7_MGIOLI: Din_7_MGIOL + port map (DI=>Din_c_7, CLK=>PHI2_c, INP=>Bank_7); + Din_6_I: Din_6_B + port map (PADDI=>Din_c_6, Din6=>Din(6)); + Din_6_MGIOLI: Din_6_MGIOL + port map (DI=>Din_c_6, CLK=>PHI2_c, INP=>Bank_6); + Din_5_I: Din_5_B + port map (PADDI=>Din_c_5, Din5=>Din(5)); + Din_5_MGIOLI: Din_5_MGIOL + port map (DI=>Din_c_5, CLK=>PHI2_c, INP=>Bank_5); + Din_4_I: Din_4_B + port map (PADDI=>Din_c_4, Din4=>Din(4)); + Din_4_MGIOLI: Din_4_MGIOL + port map (DI=>Din_c_4, CLK=>PHI2_c, INP=>Bank_4); + Din_3_I: Din_3_B + port map (PADDI=>Din_c_3, Din3=>Din(3)); + Din_3_MGIOLI: Din_3_MGIOL + port map (DI=>Din_c_3, CLK=>PHI2_c, INP=>Bank_3); + Din_2_I: Din_2_B + port map (PADDI=>Din_c_2, Din2=>Din(2)); + Din_2_MGIOLI: Din_2_MGIOL + port map (DI=>Din_c_2, CLK=>PHI2_c, INP=>Bank_2); + Din_1_I: Din_1_B + port map (PADDI=>Din_c_1, Din1=>Din(1)); + Din_1_MGIOLI: Din_1_MGIOL + port map (DI=>Din_c_1, CLK=>PHI2_c, INP=>Bank_1); + Din_0_I: Din_0_B + port map (PADDI=>Din_c_0, Din0=>Din(0)); + Din_0_MGIOLI: Din_0_MGIOL + port map (DI=>Din_c_0, CLK=>PHI2_c, INP=>Bank_0); + CROW_1_I: CROW_1_B + port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); + CROW_0_I: CROW_0_B + port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); + MAin_9_I: MAin_9_B + port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); + MAin_8_I: MAin_8_B + port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); + MAin_7_I: MAin_7_B + port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); + MAin_6_I: MAin_6_B + port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); + MAin_5_I: MAin_5_B + port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); + MAin_4_I: MAin_4_B + port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); + MAin_3_I: MAin_3_B + port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); + MAin_2_I: MAin_2_B + port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); + MAin_1_I: MAin_1_B + port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); + MAin_0_I: MAin_0_B + port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); + ufmefb_EFBInst_0I: ufmefb_EFBInst_0 + port map (WBCLKI=>RCLK_c, WBRSTI=>wb_rst, WBCYCI=>wb_cyc_stb, + WBSTBI=>wb_cyc_stb, WBWEI=>wb_we, WBADRI0=>wb_adr_0, + WBADRI1=>wb_adr_1, WBADRI2=>wb_adr_2, WBADRI3=>wb_adr_3, + WBADRI4=>wb_adr_4, WBADRI5=>wb_adr_5, WBADRI6=>wb_adr_6, + WBADRI7=>wb_adr_7, WBDATI0=>wb_dati_0, WBDATI1=>wb_dati_1, + WBDATI2=>wb_dati_2, WBDATI3=>wb_dati_3, WBDATI4=>wb_dati_4, + WBDATI5=>wb_dati_5, WBDATI6=>wb_dati_6, WBDATI7=>wb_dati_7, + WBDATO0=>wb_dato_0, WBDATO1=>wb_dato_1, WBACKO=>wb_ack); + VHI_INST: VHI + port map (Z=>VCCI); + PUR_INST: PUR + port map (PUR=>VCCI); + GSR_INST: GSR + port map (GSR=>VCCI); + end Structure; + + + + library IEEE, vital2000, MACHXO2; + configuration Structure_CON of RAM2GS is + for Structure + end for; + end Structure_CON; + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.sdf b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.sdf new file mode 100644 index 0000000..45ee471 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.sdf @@ -0,0 +1,4440 @@ +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 21:55:18 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1) + (DELAY + (ABSOLUTE + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9) + (DELAY + (ABSOLUTE + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 FCO (718:803:889)(718:803:889)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F1 (718:803:889)(718:803:889)) + (IOPATH A0 FCO (827:925:1023)(827:925:1023)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + (IOPATH FCI F0 (473:529:585)(473:529:585)) + (IOPATH FCI F1 (519:581:643)(519:581:643)) + (IOPATH FCI FCO (130:146:162)(130:146:162)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_10") + (INSTANCE SLICE_10) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_11") + (INSTANCE SLICE_11) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_12") + (INSTANCE SLICE_12) + (DELAY + (ABSOLUTE + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_16") + (INSTANCE SLICE_16) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_17") + (INSTANCE SLICE_17) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (457:589:721)(457:589:721)) + (IOPATH B1 OFX0 (457:589:721)(457:589:721)) + (IOPATH D0 OFX0 (457:589:721)(457:589:721)) + (IOPATH C0 OFX0 (457:589:721)(457:589:721)) + (IOPATH B0 OFX0 (457:589:721)(457:589:721)) + (IOPATH A0 OFX0 (457:589:721)(457:589:721)) + (IOPATH M0 OFX0 (322:349:376)(322:349:376)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_18") + (INSTANCE SLICE_18) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_23") + (INSTANCE SLICE_23) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_24") + (INSTANCE SLICE_24) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_25") + (INSTANCE SLICE_25) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_28") + (INSTANCE SLICE_28) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_34") + (INSTANCE SLICE_34) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_35") + (INSTANCE SLICE_35) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_36") + (INSTANCE SLICE_36) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_37") + (INSTANCE SLICE_37) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_38") + (INSTANCE SLICE_38) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_40") + (INSTANCE SLICE_40) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + ) + ) + (CELL + (CELLTYPE "SLICE_45") + (INSTANCE SLICE_45) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_46") + (INSTANCE SLICE_46) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_47") + (INSTANCE SLICE_47) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_48") + (INSTANCE SLICE_48) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_49") + (INSTANCE SLICE_49) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_53") + (INSTANCE SLICE_53) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_54") + (INSTANCE SLICE_54) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (130:148:166)(-34:-22:-11)) + (SETUPHOLD CE (posedge CLK) (229:255:282)(-99:-89:-79)) + (SETUPHOLD LSR (posedge CLK) (225:249:274)(-225:-183:-141)) + ) + (TIMINGCHECK + (WIDTH (posedge LSR) (4000:4000:4000)) + (WIDTH (negedge LSR) (4000:4000:4000)) + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "wb_cyc_stb_RNO_SLICE_61") + (INSTANCE wb_cyc_stb_RNO\/SLICE_61) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (457:589:721)(457:589:721)) + (IOPATH C1 OFX0 (457:589:721)(457:589:721)) + (IOPATH B1 OFX0 (457:589:721)(457:589:721)) + (IOPATH A1 OFX0 (457:589:721)(457:589:721)) + (IOPATH D0 OFX0 (457:589:721)(457:589:721)) + (IOPATH C0 OFX0 (457:589:721)(457:589:721)) + (IOPATH A0 OFX0 (457:589:721)(457:589:721)) + (IOPATH M0 OFX0 (322:349:376)(322:349:376)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_65") + (INSTANCE SLICE_65) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD CE (negedge CLK) (247:277:307)(-116:-104:-92)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_95") + (INSTANCE SLICE_95) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_96") + (INSTANCE SLICE_96) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_97") + (INSTANCE SLICE_97) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_98") + (INSTANCE SLICE_98) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_99") + (INSTANCE SLICE_99) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_100") + (INSTANCE SLICE_100) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_101") + (INSTANCE SLICE_101) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_102") + (INSTANCE SLICE_102) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_103") + (INSTANCE SLICE_103) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_104") + (INSTANCE SLICE_104) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_105") + (INSTANCE SLICE_105) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + (IOPATH CLK Q1 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (256:302:348)(-105:-71:-37)) + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + ) + ) + (CELL + (CELLTYPE "SLICE_106") + (INSTANCE SLICE_106) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "SLICE_107") + (INSTANCE SLICE_107) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_108") + (INSTANCE SLICE_108) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (256:302:348)(-105:-71:-37)) + ) + ) + (CELL + (CELLTYPE "SLICE_109") + (INSTANCE SLICE_109) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_110") + (INSTANCE SLICE_110) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_111") + (INSTANCE SLICE_111) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_112") + (INSTANCE SLICE_112) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_113") + (INSTANCE SLICE_113) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_114") + (INSTANCE SLICE_114) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_115") + (INSTANCE SLICE_115) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_116") + (INSTANCE SLICE_116) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH A1 F1 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_117") + (INSTANCE SLICE_117) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (367:431:495)(367:431:495)) + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH D0 F0 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH A0 F0 (367:431:495)(367:431:495)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_118") + (INSTANCE SLICE_118) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (367:431:495)(367:431:495)) + (IOPATH B1 F1 (367:431:495)(367:431:495)) + (IOPATH C0 F0 (367:431:495)(367:431:495)) + (IOPATH B0 F0 (367:431:495)(367:431:495)) + (IOPATH CLK Q0 (392:422:452)(392:422:452)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (256:302:348)(-105:-71:-37)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1250:1250:1250)) + (WIDTH (negedge CLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_0_") + (INSTANCE RD\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD0 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD0 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (3330:3330:3330)) + (WIDTH (negedge RD0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_0__MGIOL") + (INSTANCE RD\[0\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "Dout_0_") + (INSTANCE Dout\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2") + (INSTANCE PHI2_I) + (DELAY + (ABSOLUTE + (IOPATH PHI2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2) (3330:3330:3330)) + (WIDTH (negedge PHI2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "PHI2_MGIOL") + (INSTANCE PHI2_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RDQML") + (INSTANCE RDQML_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQML (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMH") + (INSTANCE RDQMH_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMH (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS") + (INSTANCE nRCAS_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRCAS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS_MGIOL") + (INSTANCE nRCAS_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "nRRAS") + (INSTANCE nRRAS_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRRAS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS_MGIOL") + (INSTANCE nRRAS_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "nRWE") + (INSTANCE nRWE_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRWE (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE_MGIOL") + (INSTANCE nRWE_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RCKE") + (INSTANCE RCKE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKE (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RCLK") + (INSTANCE RCLK_I) + (DELAY + (ABSOLUTE + (IOPATH RCLK PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLK) (3330:3330:3330)) + (WIDTH (negedge RCLK) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nRCS") + (INSTANCE nRCS_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO nRCS (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "nRCS_MGIOL") + (INSTANCE nRCS_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RD_7_") + (INSTANCE RD\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD7 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD7 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (3330:3330:3330)) + (WIDTH (negedge RD7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_7__MGIOL") + (INSTANCE RD\[7\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_6_") + (INSTANCE RD\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD6 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD6 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (3330:3330:3330)) + (WIDTH (negedge RD6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_6__MGIOL") + (INSTANCE RD\[6\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_5_") + (INSTANCE RD\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD5 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD5 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (3330:3330:3330)) + (WIDTH (negedge RD5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_5__MGIOL") + (INSTANCE RD\[5\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_4_") + (INSTANCE RD\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD4 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD4 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (3330:3330:3330)) + (WIDTH (negedge RD4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_4__MGIOL") + (INSTANCE RD\[4\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_3_") + (INSTANCE RD\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD3 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD3 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (3330:3330:3330)) + (WIDTH (negedge RD3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_3__MGIOL") + (INSTANCE RD\[3\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_2_") + (INSTANCE RD\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD2 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD2 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (3330:3330:3330)) + (WIDTH (negedge RD2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_2__MGIOL") + (INSTANCE RD\[2\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RD_1_") + (INSTANCE RD\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RD1 (2927:3031:3136)(2927:3031:3136)) + (IOPATH PADDT RD1 (2844:3155:3467)(2844:3155:3467)(2844:3155:3467)(2844:3155:3467) + (2844:3155:3467)(2844:3155:3467)) + (IOPATH RD1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (3330:3330:3330)) + (WIDTH (negedge RD1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "RD_1__MGIOL") + (INSTANCE RD\[1\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RA_11_") + (INSTANCE RA\[11\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RA11 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_11__MGIOL") + (INSTANCE RA\[11\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RA_10_") + (INSTANCE RA\[10\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RA10 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10__MGIOL") + (INSTANCE RA\[10\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (posedge CLK) (153:153:153)(-86:-86:-86)) + (SETUPHOLD LSR (posedge CLK) (100:100:100)(-90:-90:-90)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "RA_9_") + (INSTANCE RA\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_") + (INSTANCE RA\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_") + (INSTANCE RA\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_") + (INSTANCE RA\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_") + (INSTANCE RA\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_") + (INSTANCE RA\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_") + (INSTANCE RA\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_") + (INSTANCE RA\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_") + (INSTANCE RA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_") + (INSTANCE RA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_") + (INSTANCE RBA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RBA1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1__MGIOL") + (INSTANCE RBA\[1\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "RBA_0_") + (INSTANCE RBA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH IOLDO RBA0 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0__MGIOL") + (INSTANCE RBA\[0\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IOLDO (546:556:567)(546:556:567)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + (TIMINGCHECK + (SETUPHOLD OPOS (negedge CLK) (153:153:153)(-86:-86:-86)) + ) + ) + (CELL + (CELLTYPE "LED") + (INSTANCE LED_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO LED (2371:2455:2540)(2371:2455:2540)) + ) + ) + ) + (CELL + (CELLTYPE "nFWE") + (INSTANCE nFWE_I) + (DELAY + (ABSOLUTE + (IOPATH nFWE PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWE) (3330:3330:3330)) + (WIDTH (negedge nFWE) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nCRAS") + (INSTANCE nCRAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCRAS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRAS) (3330:3330:3330)) + (WIDTH (negedge nCRAS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "nCCAS") + (INSTANCE nCCAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCCAS PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCAS) (3330:3330:3330)) + (WIDTH (negedge nCCAS) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Dout_7_") + (INSTANCE Dout\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_") + (INSTANCE Dout\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_") + (INSTANCE Dout\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_") + (INSTANCE Dout\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_") + (INSTANCE Dout\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_") + (INSTANCE Dout\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_") + (INSTANCE Dout\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (2927:3031:3136)(2927:3031:3136)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_") + (INSTANCE Din\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (3330:3330:3330)) + (WIDTH (negedge Din7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_7__MGIOL") + (INSTANCE Din\[7\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_6_") + (INSTANCE Din\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (3330:3330:3330)) + (WIDTH (negedge Din6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_6__MGIOL") + (INSTANCE Din\[6\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_5_") + (INSTANCE Din\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (3330:3330:3330)) + (WIDTH (negedge Din5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_5__MGIOL") + (INSTANCE Din\[5\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_4_") + (INSTANCE Din\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (3330:3330:3330)) + (WIDTH (negedge Din4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_4__MGIOL") + (INSTANCE Din\[4\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_3_") + (INSTANCE Din\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (3330:3330:3330)) + (WIDTH (negedge Din3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_3__MGIOL") + (INSTANCE Din\[3\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_2_") + (INSTANCE Din\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (3330:3330:3330)) + (WIDTH (negedge Din2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_2__MGIOL") + (INSTANCE Din\[2\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_1_") + (INSTANCE Din\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (3330:3330:3330)) + (WIDTH (negedge Din1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_1__MGIOL") + (INSTANCE Din\[1\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "Din_0_") + (INSTANCE Din\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (3330:3330:3330)) + (WIDTH (negedge Din0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "Din_0__MGIOL") + (INSTANCE Din\[0\]_MGIOL) + (DELAY + (ABSOLUTE + (IOPATH CLK IN (577:577:577)(577:577:577)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI (posedge CLK) (595:595:595)(223:223:223)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1855:1855:1855)) + (WIDTH (negedge CLK) (1855:1855:1855)) + ) + ) + (CELL + (CELLTYPE "CROW_1_") + (INSTANCE CROW\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (3330:3330:3330)) + (WIDTH (negedge CROW1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "CROW_0_") + (INSTANCE CROW\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (3330:3330:3330)) + (WIDTH (negedge CROW0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_9_") + (INSTANCE MAin\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (3330:3330:3330)) + (WIDTH (negedge MAin9) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_8_") + (INSTANCE MAin\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (3330:3330:3330)) + (WIDTH (negedge MAin8) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_7_") + (INSTANCE MAin\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (3330:3330:3330)) + (WIDTH (negedge MAin7) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_6_") + (INSTANCE MAin\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (3330:3330:3330)) + (WIDTH (negedge MAin6) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_5_") + (INSTANCE MAin\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (3330:3330:3330)) + (WIDTH (negedge MAin5) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_4_") + (INSTANCE MAin\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (3330:3330:3330)) + (WIDTH (negedge MAin4) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_3_") + (INSTANCE MAin\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (3330:3330:3330)) + (WIDTH (negedge MAin3) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_2_") + (INSTANCE MAin\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (3330:3330:3330)) + (WIDTH (negedge MAin2) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_1_") + (INSTANCE MAin\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (3330:3330:3330)) + (WIDTH (negedge MAin1) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "MAin_0_") + (INSTANCE MAin\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (1007:1069:1132)(1007:1069:1132)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (3330:3330:3330)) + (WIDTH (negedge MAin0) (3330:3330:3330)) + ) + ) + (CELL + (CELLTYPE "EFB_Buffer_Block") + (INSTANCE ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20) + (DELAY + (ABSOLUTE + (IOPATH WBCLKIin WBDATO0out (978:3628:6278)(978:3628:6278)) + (IOPATH WBCLKIin WBDATO1out (947:3204:5461)(947:3204:5461)) + (IOPATH WBCLKIin WBACKOout (903:1623:2343)(903:1623:2343)) + ) + ) + (TIMINGCHECK + (SETUPHOLD WBRSTIin (posedge WBCLKIin) (3138:3170:3203)(-3138:-1966:-794)) + (SETUPHOLD WBCYCIin (posedge WBCLKIin) (2616:2649:2682)(-2616:-1558:-501)) + (SETUPHOLD WBSTBIin (posedge WBCLKIin) (2605:2637:2670)(-2605:-1494:-384)) + (SETUPHOLD WBWEIin (posedge WBCLKIin) (1409:1442:1475)(-1409:-837:-266)) + (SETUPHOLD WBADRI0in (posedge WBCLKIin) (2058:2123:2188)(-2058:-1191:-324)) + (SETUPHOLD WBADRI1in (posedge WBCLKIin) (2068:2104:2140)(-2068:-1234:-401)) + (SETUPHOLD WBADRI2in (posedge WBCLKIin) (1928:1993:2058)(-1928:-1110:-292)) + (SETUPHOLD WBADRI3in (posedge WBCLKIin) (2167:2196:2226)(-2167:-1264:-361)) + (SETUPHOLD WBADRI4in (posedge WBCLKIin) (2072:2101:2130)(-2072:-1198:-324)) + (SETUPHOLD WBADRI5in (posedge WBCLKIin) (1611:1640:1670)(-1611:-950:-289)) + (SETUPHOLD WBADRI6in (posedge WBCLKIin) (2532:2564:2597)(-2532:-1380:-229)) + (SETUPHOLD WBADRI7in (posedge WBCLKIin) (2519:2551:2584)(-2519:-1377:-235)) + (SETUPHOLD WBDATI0in (posedge WBCLKIin) (1057:1262:1467)(-1037:-712:-388)) + (SETUPHOLD WBDATI1in (posedge WBCLKIin) (1114:1338:1563)(-1108:-785:-462)) + (SETUPHOLD WBDATI2in (posedge WBCLKIin) (916:1076:1237)(-912:-636:-360)) + (SETUPHOLD WBDATI3in (posedge WBCLKIin) (1145:1359:1573)(-1115:-782:-449)) + (SETUPHOLD WBDATI4in (posedge WBCLKIin) (1192:1400:1609)(-1176:-820:-464)) + (SETUPHOLD WBDATI5in (posedge WBCLKIin) (1027:1222:1418)(-1000:-706:-413)) + (SETUPHOLD WBDATI6in (posedge WBCLKIin) (1034:1248:1463)(-1034:-756:-479)) + (SETUPHOLD WBDATI7in (posedge WBCLKIin) (528:614:701)(-528:-398:-268)) + ) + (TIMINGCHECK + (WIDTH (posedge WBCLKIin) (4887:4887:4887)) + (WIDTH (negedge WBCLKIin) (4887:4887:4887)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_0/Q1 SLICE_89/B1 (781:909:1037)(781:909:1037)) + (INTERCONNECT SLICE_0/Q1 SLICE_96/A0 (749:874:1000)(749:874:1000)) + (INTERCONNECT SLICE_0/F1 SLICE_0/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_9/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_9/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_12/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_12/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_16/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_28/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_34/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_34/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_35/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_35/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_36/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_37/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_38/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_39/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_45/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_47/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_48/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_49/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_49/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_53/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_54/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_54/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_55/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_55/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_56/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_56/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_57/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_57/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_106/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI SLICE_118/CLK (2666:2868:3070)(2666:2868:3070)) + (INTERCONNECT RCLK_I/PADDI PHI2_MGIOL/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLK_I/PADDI nRCAS_MGIOL/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLK_I/PADDI nRRAS_MGIOL/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLK_I/PADDI nRWE_MGIOL/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLK_I/PADDI nRCS_MGIOL/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLK_I/PADDI RA\[10\]_MGIOL/CLK (2813:3028:3243)(2813:3028:3243)) + (INTERCONNECT RCLK_I/PADDI + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBCLKIin (2813:3028:3243) + (2813:3028:3243)) + (INTERCONNECT SLICE_0/FCO SLICE_9/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_1/Q0 SLICE_47/C1 (812:966:1120)(812:966:1120)) + (INTERCONNECT SLICE_1/Q0 SLICE_76/A1 (1011:1175:1340)(1011:1175:1340)) + (INTERCONNECT SLICE_1/Q0 SLICE_102/B1 (771:903:1035)(771:903:1035)) + (INTERCONNECT SLICE_1/Q0 SLICE_102/B0 (771:903:1035)(771:903:1035)) + (INTERCONNECT SLICE_1/F0 SLICE_1/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_2/Q1 SLICE_47/B1 (786:914:1043)(786:914:1043)) + (INTERCONNECT SLICE_2/Q1 SLICE_76/B1 (1113:1276:1440)(1113:1276:1440)) + (INTERCONNECT SLICE_2/Q1 SLICE_102/D1 (882:979:1077)(882:979:1077)) + (INTERCONNECT SLICE_2/Q1 SLICE_102/D0 (882:979:1077)(882:979:1077)) + (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_2/Q0 SLICE_47/A1 (1446:1640:1835)(1446:1640:1835)) + (INTERCONNECT SLICE_2/Q0 SLICE_76/C1 (1247:1431:1615)(1247:1431:1615)) + (INTERCONNECT SLICE_2/Q0 SLICE_102/A1 (2137:2398:2659)(2137:2398:2659)) + (INTERCONNECT SLICE_2/Q0 SLICE_102/C0 (539:652:765)(539:652:765)) + (INTERCONNECT SLICE_2/F1 SLICE_2/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/F0 SLICE_2/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_3/Q1 SLICE_31/C1 (543:680:817)(543:680:817)) + (INTERCONNECT SLICE_3/Q1 SLICE_58/C1 (543:680:817)(543:680:817)) + (INTERCONNECT SLICE_3/Q1 SLICE_59/A0 (742:889:1037)(742:889:1037)) + (INTERCONNECT SLICE_3/Q1 SLICE_65/D0 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3/Q1 SLICE_70/D1 (1244:1399:1555)(1244:1399:1555)) + (INTERCONNECT SLICE_3/Q1 SLICE_71/D0 (1619:1807:1995)(1619:1807:1995)) + (INTERCONNECT SLICE_3/Q1 SLICE_72/C1 (1256:1465:1675)(1256:1465:1675)) + (INTERCONNECT SLICE_3/Q1 SLICE_75/B1 (1814:2071:2329)(1814:2071:2329)) + (INTERCONNECT SLICE_3/Q1 SLICE_79/C1 (1256:1465:1675)(1256:1465:1675)) + (INTERCONNECT SLICE_3/Q1 SLICE_82/A1 (1444:1663:1882)(1444:1663:1882)) + (INTERCONNECT SLICE_3/Q1 SLICE_83/C0 (1630:1873:2116)(1630:1873:2116)) + (INTERCONNECT SLICE_3/Q1 SLICE_84/B1 (1384:1606:1828)(1384:1606:1828)) + (INTERCONNECT SLICE_3/Q1 SLICE_86/D0 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3/Q1 SLICE_93/C0 (815:987:1159)(815:987:1159)) + (INTERCONNECT SLICE_3/Q1 SLICE_100/D1 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3/Q1 SLICE_100/D0 (1254:1410:1567)(1254:1410:1567)) + (INTERCONNECT SLICE_3/Q1 SLICE_103/A0 (1829:2082:2336)(1829:2082:2336)) + (INTERCONNECT SLICE_3/Q1 SLICE_109/A1 (1448:1668:1889)(1448:1668:1889)) + (INTERCONNECT SLICE_3/Q1 SLICE_110/A0 (1352:1571:1791)(1352:1571:1791)) + (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_3/Q0 SLICE_31/A1 (1101:1264:1427)(1101:1264:1427)) + (INTERCONNECT SLICE_3/Q0 SLICE_58/A1 (774:902:1030)(774:902:1030)) + (INTERCONNECT SLICE_3/Q0 SLICE_65/B1 (1981:2222:2464)(1981:2222:2464)) + (INTERCONNECT SLICE_3/Q0 SLICE_67/B1 (1518:1717:1916)(1518:1717:1916)) + (INTERCONNECT SLICE_3/Q0 SLICE_70/B1 (1986:2228:2470)(1986:2228:2470)) + (INTERCONNECT SLICE_3/Q0 SLICE_71/C0 (2483:2784:3085)(2483:2784:3085)) + (INTERCONNECT SLICE_3/Q0 SLICE_72/B1 (1191:1355:1519)(1191:1355:1519)) + (INTERCONNECT SLICE_3/Q0 SLICE_78/B0 (2366:2641:2916)(2366:2641:2916)) + (INTERCONNECT SLICE_3/Q0 SLICE_79/B1 (1191:1355:1519)(1191:1355:1519)) + (INTERCONNECT SLICE_3/Q0 SLICE_80/A1 (2281:2555:2830)(2281:2555:2830)) + (INTERCONNECT SLICE_3/Q0 SLICE_82/B1 (1657:1864:2071)(1657:1864:2071)) + (INTERCONNECT SLICE_3/Q0 SLICE_83/B0 (2693:3003:3313)(2693:3003:3313)) + (INTERCONNECT SLICE_3/Q0 SLICE_84/C1 (902:1054:1207)(902:1054:1207)) + (INTERCONNECT SLICE_3/Q0 SLICE_86/B0 (1981:2222:2464)(1981:2222:2464)) + (INTERCONNECT SLICE_3/Q0 SLICE_93/B0 (2730:3036:3343)(2730:3036:3343)) + (INTERCONNECT SLICE_3/Q0 SLICE_99/B1 (1529:1730:1931)(1529:1730:1931)) + (INTERCONNECT SLICE_3/Q0 SLICE_99/B0 (1529:1730:1931)(1529:1730:1931)) + (INTERCONNECT SLICE_3/Q0 SLICE_100/C1 (1667:1879:2091)(1667:1879:2091)) + (INTERCONNECT SLICE_3/Q0 SLICE_103/D1 (2472:2718:2964)(2472:2718:2964)) + (INTERCONNECT SLICE_3/Q0 SLICE_103/D0 (2472:2718:2964)(2472:2718:2964)) + (INTERCONNECT SLICE_3/Q0 SLICE_110/D0 (564:626:689)(564:626:689)) + (INTERCONNECT SLICE_3/F1 SLICE_3/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/F0 SLICE_3/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_4/Q1 SLICE_58/B1 (771:903:1035)(771:903:1035)) + (INTERCONNECT SLICE_4/Q1 SLICE_65/B0 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4/Q1 SLICE_70/B0 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4/Q1 SLICE_71/B0 (1859:2096:2333)(1859:2096:2333)) + (INTERCONNECT SLICE_4/Q1 SLICE_72/D0 (1180:1312:1444)(1180:1312:1444)) + (INTERCONNECT SLICE_4/Q1 SLICE_74/B1 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4/Q1 SLICE_78/C1 (1976:2239:2502)(1976:2239:2502)) + (INTERCONNECT SLICE_4/Q1 SLICE_80/D1 (1574:1746:1918)(1574:1746:1918)) + (INTERCONNECT SLICE_4/Q1 SLICE_81/D1 (1965:2173:2381)(1965:2173:2381)) + (INTERCONNECT SLICE_4/Q1 SLICE_82/B0 (1433:1634:1835)(1433:1634:1835)) + (INTERCONNECT SLICE_4/Q1 SLICE_83/B1 (2207:2483:2759)(2207:2483:2759)) + (INTERCONNECT SLICE_4/Q1 SLICE_86/A1 (1784:2021:2259)(1784:2021:2259)) + (INTERCONNECT SLICE_4/Q1 SLICE_87/B0 (1433:1634:1835)(1433:1634:1835)) + (INTERCONNECT SLICE_4/Q1 SLICE_99/C1 (1165:1357:1550)(1165:1357:1550)) + (INTERCONNECT SLICE_4/Q1 SLICE_99/C0 (1165:1357:1550)(1165:1357:1550)) + (INTERCONNECT SLICE_4/Q1 SLICE_100/B1 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4/Q1 SLICE_100/B0 (1489:1694:1899)(1489:1694:1899)) + (INTERCONNECT SLICE_4/Q1 SLICE_102/C1 (1566:1785:2005)(1566:1785:2005)) + (INTERCONNECT SLICE_4/Q1 SLICE_110/B1 (1058:1226:1395)(1058:1226:1395)) + (INTERCONNECT SLICE_4/Q1 SLICE_110/B0 (1058:1226:1395)(1058:1226:1395)) + (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_4/Q0 SLICE_65/A0 (1567:1770:1973)(1567:1770:1973)) + (INTERCONNECT SLICE_4/Q0 SLICE_70/C0 (1445:1632:1819)(1445:1632:1819)) + (INTERCONNECT SLICE_4/Q0 SLICE_71/A1 (2024:2254:2485)(2024:2254:2485)) + (INTERCONNECT SLICE_4/Q0 SLICE_72/C0 (1004:1165:1326)(1004:1165:1326)) + (INTERCONNECT SLICE_4/Q0 SLICE_75/D1 (993:1099:1205)(993:1099:1205)) + (INTERCONNECT SLICE_4/Q0 SLICE_82/D0 (1721:1890:2059)(1721:1890:2059)) + (INTERCONNECT SLICE_4/Q0 SLICE_83/A1 (2351:2616:2882)(2351:2616:2882)) + (INTERCONNECT SLICE_4/Q0 SLICE_86/D1 (1357:1494:1632)(1357:1494:1632)) + (INTERCONNECT SLICE_4/Q0 SLICE_87/D0 (1428:1559:1691)(1428:1559:1691)) + (INTERCONNECT SLICE_4/Q0 SLICE_100/A1 (1573:1776:1980)(1573:1776:1980)) + (INTERCONNECT SLICE_4/Q0 SLICE_100/A0 (1573:1776:1980)(1573:1776:1980)) + (INTERCONNECT SLICE_4/Q0 SLICE_103/B1 (2056:2289:2522)(2056:2289:2522)) + (INTERCONNECT SLICE_4/Q0 SLICE_103/B0 (2056:2289:2522)(2056:2289:2522)) + (INTERCONNECT SLICE_4/Q0 SLICE_110/C1 (546:662:779)(546:662:779)) + (INTERCONNECT SLICE_4/F1 SLICE_4/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/F0 SLICE_4/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_5/Q1 SLICE_65/C1 (1364:1555:1746)(1364:1555:1746)) + (INTERCONNECT SLICE_5/Q1 SLICE_70/A0 (1665:1863:2062)(1665:1863:2062)) + (INTERCONNECT SLICE_5/Q1 SLICE_71/C1 (1830:2049:2269)(1830:2049:2269)) + (INTERCONNECT SLICE_5/Q1 SLICE_72/A0 (1199:1369:1539)(1199:1369:1539)) + (INTERCONNECT SLICE_5/Q1 SLICE_74/C1 (1466:1654:1842)(1466:1654:1842)) + (INTERCONNECT SLICE_5/Q1 SLICE_78/A1 (1665:1863:2062)(1665:1863:2062)) + (INTERCONNECT SLICE_5/Q1 SLICE_80/B1 (1697:1898:2099)(1697:1898:2099)) + (INTERCONNECT SLICE_5/Q1 SLICE_81/B1 (1697:1898:2099)(1697:1898:2099)) + (INTERCONNECT SLICE_5/Q1 SLICE_83/D1 (1455:1588:1721)(1455:1588:1721)) + (INTERCONNECT SLICE_5/Q1 SLICE_85/D0 (1353:1489:1625)(1353:1489:1625)) + (INTERCONNECT SLICE_5/Q1 SLICE_86/B1 (1595:1799:2003)(1595:1799:2003)) + (INTERCONNECT SLICE_5/Q1 SLICE_87/B1 (1042:1199:1356)(1042:1199:1356)) + (INTERCONNECT SLICE_5/Q1 SLICE_99/D1 (989:1093:1198)(989:1093:1198)) + (INTERCONNECT SLICE_5/Q1 SLICE_99/D0 (989:1093:1198)(989:1093:1198)) + (INTERCONNECT SLICE_5/Q1 SLICE_100/C0 (1175:1350:1526)(1175:1350:1526)) + (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_5/Q0 SLICE_65/A1 (1885:2121:2357)(1885:2121:2357)) + (INTERCONNECT SLICE_5/Q0 SLICE_65/C0 (1359:1549:1740)(1359:1549:1740)) + (INTERCONNECT SLICE_5/Q0 SLICE_67/C1 (1005:1165:1325)(1005:1165:1325)) + (INTERCONNECT SLICE_5/Q0 SLICE_72/B0 (1563:1771:1979)(1563:1771:1979)) + (INTERCONNECT SLICE_5/Q0 SLICE_78/B1 (1226:1398:1570)(1226:1398:1570)) + (INTERCONNECT SLICE_5/Q0 SLICE_80/C1 (1375:1567:1759)(1375:1567:1759)) + (INTERCONNECT SLICE_5/Q0 SLICE_85/A0 (1901:2138:2376)(1901:2138:2376)) + (INTERCONNECT SLICE_5/Q0 SLICE_86/C1 (1375:1567:1759)(1375:1567:1759)) + (INTERCONNECT SLICE_5/Q0 SLICE_87/D1 (796:890:985)(796:890:985)) + (INTERCONNECT SLICE_5/Q0 SLICE_99/A1 (1443:1639:1835)(1443:1639:1835)) + (INTERCONNECT SLICE_5/Q0 SLICE_99/A0 (1443:1639:1835)(1443:1639:1835)) + (INTERCONNECT SLICE_5/Q0 SLICE_103/C1 (1365:1556:1747)(1365:1556:1747)) + (INTERCONNECT SLICE_5/Q0 SLICE_103/C0 (1365:1556:1747)(1365:1556:1747)) + (INTERCONNECT SLICE_5/Q0 SLICE_109/C0 (1375:1567:1759)(1375:1567:1759)) + (INTERCONNECT SLICE_5/F1 SLICE_5/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/F0 SLICE_5/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_6/Q1 SLICE_96/C1 (803:944:1086)(803:944:1086)) + (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_6/Q0 SLICE_35/A1 (1177:1341:1505)(1177:1341:1505)) + (INTERCONNECT SLICE_6/F1 SLICE_6/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/F0 SLICE_6/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_7/Q1 SLICE_96/D1 (526:578:630)(526:578:630)) + (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_7/Q0 SLICE_53/C1 (871:1020:1170)(871:1020:1170)) + (INTERCONNECT SLICE_7/F1 SLICE_7/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/F0 SLICE_7/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_8/Q1 SLICE_53/A1 (743:868:993)(743:868:993)) + (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_8/Q0 SLICE_35/D1 (1223:1345:1467)(1223:1345:1467)) + (INTERCONNECT SLICE_8/F1 SLICE_8/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/F0 SLICE_8/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/FCO SLICE_8/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q1 SLICE_9/A1 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_9/Q1 SLICE_53/B1 (1102:1264:1427)(1102:1264:1427)) + (INTERCONNECT SLICE_9/Q0 SLICE_9/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_9/Q0 SLICE_96/A1 (736:853:971)(736:853:971)) + (INTERCONNECT SLICE_9/F1 SLICE_9/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_101/F1 SLICE_10/D1 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_94/F0 SLICE_10/C1 (911:1055:1200)(911:1055:1200)) + (INTERCONNECT SLICE_94/F0 SLICE_90/C0 (1275:1451:1627)(1275:1451:1627)) + (INTERCONNECT SLICE_91/F0 SLICE_10/B1 (777:908:1040)(777:908:1040)) + (INTERCONNECT SLICE_91/F0 SLICE_90/B1 (767:894:1021)(767:894:1021)) + (INTERCONNECT SLICE_91/F0 SLICE_91/C1 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_104/F0 SLICE_10/A1 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_10/F1 SLICE_10/D0 (523:579:635)(523:579:635)) + (INTERCONNECT SLICE_10/F1 SLICE_17/B0 (775:903:1032)(775:903:1032)) + (INTERCONNECT SLICE_91/F1 SLICE_10/C0 (537:645:753)(537:645:753)) + (INTERCONNECT SLICE_91/F1 SLICE_11/A0 (479:572:665)(479:572:665)) + (INTERCONNECT SLICE_11/F1 SLICE_10/B0 (770:894:1018)(770:894:1018)) + (INTERCONNECT SLICE_11/F1 SLICE_11/C0 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_11/F1 SLICE_17/M0 (490:537:585)(490:537:585)) + (INTERCONNECT SLICE_10/Q0 SLICE_10/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_10/Q0 SLICE_17/D1 (860:954:1049)(860:954:1049)) + (INTERCONNECT SLICE_10/F0 SLICE_10/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_10/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_11/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_17/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_18/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_23/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_24/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_25/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_46/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (3065:3302:3539)(3065:3302:3539)) + (INTERCONNECT PHI2_I/PADDI PHI2_MGIOL/DI (424:441:459)(424:441:459)) + (INTERCONNECT PHI2_I/PADDI RA\[11\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[7\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[6\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[5\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[4\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[3\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[2\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[1\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT PHI2_I/PADDI Din\[0\]_MGIOL/CLK (3212:3462:3712)(3212:3462:3712)) + (INTERCONNECT SLICE_92/F0 SLICE_11/D1 (269:296:324)(269:296:324)) + (INTERCONNECT SLICE_92/F0 SLICE_90/A1 (1081:1244:1407)(1081:1244:1407)) + (INTERCONNECT SLICE_92/F0 SLICE_91/A1 (1081:1244:1407)(1081:1244:1407)) + (INTERCONNECT SLICE_104/F1 SLICE_11/C1 (975:1126:1278)(975:1126:1278)) + (INTERCONNECT SLICE_90/F0 SLICE_11/B1 (769:899:1029)(769:899:1029)) + (INTERCONNECT SLICE_90/F0 SLICE_24/B1 (774:907:1040)(774:907:1040)) + (INTERCONNECT SLICE_90/F0 SLICE_73/D0 (532:597:662)(532:597:662)) + (INTERCONNECT SLICE_90/F0 SLICE_90/C1 (284:372:461)(284:372:461)) + (INTERCONNECT SLICE_90/F0 SLICE_91/B1 (515:616:718)(515:616:718)) + (INTERCONNECT SLICE_106/F0 SLICE_11/A1 (733:848:964)(733:848:964)) + (INTERCONNECT SLICE_11/Q0 SLICE_11/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_11/Q0 SLICE_17/C0 (1234:1411:1588)(1234:1411:1588)) + (INTERCONNECT SLICE_11/F0 SLICE_11/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_12/A0 (3665:4068:4471)(3665:4068:4471)) + (INTERCONNECT nCCAS_I/PADDI SLICE_26/C1 (3200:3558:3916)(3200:3558:3916)) + (INTERCONNECT nCCAS_I/PADDI RD\[0\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[7\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[6\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[5\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[4\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[3\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[2\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT nCCAS_I/PADDI RD\[1\]_MGIOL/CLK (2813:3079:3345)(2813:3079:3345)) + (INTERCONNECT SLICE_12/F0 SLICE_12/DI0 (3:6:9)(3:6:9)) + (INTERCONNECT SLICE_12/F0 SLICE_105/M0 (499:545:592)(499:545:592)) + (INTERCONNECT SLICE_12/F0 SLICE_105/M1 (499:545:592)(499:545:592)) + (INTERCONNECT SLICE_12/Q0 SLICE_12/M1 (485:526:568)(485:526:568)) + (INTERCONNECT SLICE_12/Q1 SLICE_88/C0 (919:1066:1213)(919:1066:1213)) + (INTERCONNECT SLICE_12/Q1 SLICE_98/A1 (1445:1637:1830)(1445:1637:1830)) + (INTERCONNECT SLICE_12/Q1 SLICE_106/M0 (488:531:575)(488:531:575)) + (INTERCONNECT SLICE_12/Q1 SLICE_117/A0 (1482:1671:1860)(1482:1671:1860)) + (INTERCONNECT SLICE_16/Q0 SLICE_16/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_16/Q0 SLICE_16/D0 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_16/Q0 SLICE_45/C0 (813:959:1105)(813:959:1105)) + (INTERCONNECT SLICE_16/Q0 SLICE_48/A0 (743:876:1010)(743:876:1010)) + (INTERCONNECT SLICE_16/Q0 SLICE_63/C1 (559:677:795)(559:677:795)) + (INTERCONNECT SLICE_16/Q0 SLICE_69/A0 (743:876:1010)(743:876:1010)) + (INTERCONNECT SLICE_16/Q0 SLICE_88/D0 (537:600:664)(537:600:664)) + (INTERCONNECT SLICE_16/Q0 SLICE_98/B1 (1371:1565:1759)(1371:1565:1759)) + (INTERCONNECT SLICE_16/Q0 SLICE_117/C0 (544:667:790)(544:667:790)) + (INTERCONNECT SLICE_30/Q0 SLICE_16/C1 (550:665:780)(550:665:780)) + (INTERCONNECT SLICE_30/Q0 SLICE_28/B1 (1215:1382:1549)(1215:1382:1549)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/D0 (973:1072:1171)(973:1072:1171)) + (INTERCONNECT SLICE_30/Q0 SLICE_77/C1 (550:665:780)(550:665:780)) + (INTERCONNECT SLICE_34/Q1 SLICE_16/B1 (1602:1805:2009)(1602:1805:2009)) + (INTERCONNECT SLICE_34/Q1 SLICE_16/LSR (1706:1880:2055)(1706:1880:2055)) + (INTERCONNECT SLICE_34/Q1 SLICE_35/M0 (1097:1211:1325)(1097:1211:1325)) + (INTERCONNECT SLICE_34/Q1 SLICE_36/C1 (1735:1957:2179)(1735:1957:2179)) + (INTERCONNECT SLICE_34/Q1 SLICE_37/D0 (1132:1257:1383)(1132:1257:1383)) + (INTERCONNECT SLICE_34/Q1 SLICE_45/A1 (1010:1164:1319)(1010:1164:1319)) + (INTERCONNECT SLICE_34/Q1 SLICE_45/LSR (1146:1274:1402)(1146:1274:1402)) + (INTERCONNECT SLICE_34/Q1 SLICE_63/A1 (1570:1771:1972)(1570:1771:1972)) + (INTERCONNECT SLICE_34/Q1 SLICE_64/C0 (991:1148:1306)(991:1148:1306)) + (INTERCONNECT SLICE_34/Q1 SLICE_69/A1 (1184:1351:1519)(1184:1351:1519)) + (INTERCONNECT SLICE_45/Q0 SLICE_16/A1 (1028:1196:1364)(1028:1196:1364)) + (INTERCONNECT SLICE_45/Q0 SLICE_16/A0 (1028:1196:1364)(1028:1196:1364)) + (INTERCONNECT SLICE_45/Q0 SLICE_45/D0 (536:595:654)(536:595:654)) + (INTERCONNECT SLICE_45/Q0 SLICE_48/D0 (1193:1328:1463)(1193:1328:1463)) + (INTERCONNECT SLICE_45/Q0 SLICE_63/D1 (818:920:1023)(818:920:1023)) + (INTERCONNECT SLICE_45/Q0 SLICE_63/D0 (818:920:1023)(818:920:1023)) + (INTERCONNECT SLICE_45/Q0 SLICE_66/D1 (531:597:663)(531:597:663)) + (INTERCONNECT SLICE_45/Q0 SLICE_66/D0 (531:597:663)(531:597:663)) + (INTERCONNECT SLICE_45/Q0 SLICE_69/B0 (770:892:1014)(770:892:1014)) + (INTERCONNECT SLICE_45/Q0 SLICE_98/D1 (536:595:654)(536:595:654)) + (INTERCONNECT SLICE_45/Q0 SLICE_117/D1 (1193:1328:1463)(1193:1328:1463)) + (INTERCONNECT SLICE_45/Q0 SLICE_117/D0 (1193:1328:1463)(1193:1328:1463)) + (INTERCONNECT SLICE_16/F0 SLICE_16/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_16/F1 SLICE_38/B0 (768:889:1010)(768:889:1010)) + (INTERCONNECT SLICE_16/F1 SLICE_39/B1 (775:903:1032)(775:903:1032)) + (INTERCONNECT SLICE_17/Q0 SLICE_17/B1 (767:892:1017)(767:892:1017)) + (INTERCONNECT SLICE_17/Q0 SLICE_17/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_17/Q0 SLICE_24/C1 (541:656:771)(541:656:771)) + (INTERCONNECT SLICE_17/Q0 SLICE_73/A0 (740:865:991)(740:865:991)) + (INTERCONNECT SLICE_90/F1 SLICE_17/D0 (266:290:315)(266:290:315)) + (INTERCONNECT SLICE_17/OFX0 SLICE_17/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/F1 SLICE_18/D1 (532:597:662)(532:597:662)) + (INTERCONNECT SLICE_23/F1 SLICE_20/B0 (515:616:718)(515:616:718)) + (INTERCONNECT SLICE_23/F1 SLICE_21/B0 (790:924:1058)(790:924:1058)) + (INTERCONNECT SLICE_23/F1 SLICE_22/B0 (790:924:1058)(790:924:1058)) + (INTERCONNECT SLICE_23/F1 SLICE_23/B0 (790:924:1058)(790:924:1058)) + (INTERCONNECT SLICE_23/F1 SLICE_24/A0 (483:582:681)(483:582:681)) + (INTERCONNECT SLICE_23/F1 SLICE_25/D1 (532:597:662)(532:597:662)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_18/C1 (1536:1702:1869)(1536:1702:1869)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_20/C0 (1916:2115:2315)(1916:2115:2315)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_21/D0 (1905:2049:2194)(1905:2049:2194)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_22/A1 (2115:2325:2535)(2115:2325:2535)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_46/C1 (2656:2919:3183)(2656:2919:3183)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_104/C1 (3353:3683:4014)(3353:3683:4014)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_104/A0 (3225:3531:3837)(3225:3531:3837)) + (INTERCONNECT Din\[1\]_I/PADDI RD\[1\]_MGIOL/OPOS (3120:3370:3621)(3120:3370:3621)) + (INTERCONNECT Din\[1\]_I/PADDI Din\[1\]_MGIOL/DI (544:554:565)(544:554:565)) + (INTERCONNECT SLICE_18/Q0 SLICE_18/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_18/Q0 SLICE_32/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_18/F1 SLICE_18/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_73/F1 SLICE_18/B0 (1044:1206:1368)(1044:1206:1368)) + (INTERCONNECT SLICE_73/F1 SLICE_20/D0 (891:997:1103)(891:997:1103)) + (INTERCONNECT SLICE_73/F1 SLICE_21/C0 (881:1038:1195)(881:1038:1195)) + (INTERCONNECT SLICE_73/F1 SLICE_22/D0 (891:997:1103)(891:997:1103)) + (INTERCONNECT SLICE_73/F1 SLICE_23/D0 (891:997:1103)(891:997:1103)) + (INTERCONNECT SLICE_73/F1 SLICE_24/D0 (273:306:340)(273:306:340)) + (INTERCONNECT SLICE_73/F1 SLICE_25/D0 (1129:1258:1387)(1129:1258:1387)) + (INTERCONNECT SLICE_73/F1 SLICE_73/B0 (769:899:1029)(769:899:1029)) + (INTERCONNECT SLICE_32/Q0 SLICE_18/A0 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_32/Q0 SLICE_34/C1 (809:951:1093)(809:951:1093)) + (INTERCONNECT SLICE_32/Q0 SLICE_46/A1 (1008:1160:1313)(1008:1160:1313)) + (INTERCONNECT SLICE_18/F0 SLICE_18/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/F1 SLICE_18/CE (945:1046:1148)(945:1046:1148)) + (INTERCONNECT SLICE_24/F1 SLICE_20/CE (575:644:714)(575:644:714)) + (INTERCONNECT SLICE_24/F1 SLICE_21/CE (575:644:714)(575:644:714)) + (INTERCONNECT SLICE_24/F1 SLICE_22/CE (575:644:714)(575:644:714)) + (INTERCONNECT SLICE_24/F1 SLICE_23/C0 (567:687:808)(567:687:808)) + (INTERCONNECT SLICE_24/F1 SLICE_24/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_24/F1 SLICE_25/CE (945:1046:1148)(945:1046:1148)) + (INTERCONNECT SLICE_24/F1 SLICE_46/CE (544:607:670)(544:607:670)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_20/Q0 wb_cyc_stb_RNO\/SLICE_61/B1 (770:892:1014)(770:892:1014)) + (INTERCONNECT SLICE_20/Q0 SLICE_95/C0 (539:648:757)(539:648:757)) + (INTERCONNECT SLICE_20/F0 SLICE_20/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_21/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_21/Q0 SLICE_97/B0 (775:902:1030)(775:902:1030)) + (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_22/C1 (2041:2255:2470)(2041:2255:2470)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_25/C1 (1590:1776:1963)(1590:1776:1963)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_46/B1 (2653:2913:3174)(2653:2913:3174)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_73/M0 (2703:2919:3135)(2703:2919:3135)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_104/D1 (3164:3436:3708)(3164:3436:3708)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_104/C0 (2848:3140:3432)(2848:3140:3432)) + (INTERCONNECT Din\[0\]_I/PADDI RD\[0\]_MGIOL/OPOS (2849:3087:3325)(2849:3087:3325)) + (INTERCONNECT Din\[0\]_I/PADDI Din\[0\]_MGIOL/DI (424:441:459)(424:441:459)) + (INTERCONNECT SLICE_22/F1 SLICE_22/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_22/Q0 wb_cyc_stb_RNO\/SLICE_61/C1 (544:658:773)(544:658:773)) + (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_23/D1 (1994:2141:2289)(1994:2141:2289)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_101/C1 (2349:2589:2829)(2349:2589:2829)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_101/C0 (2349:2589:2829)(2349:2589:2829)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_106/A0 (2950:3227:3505)(2950:3227:3505)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_116/B0 (2612:2860:3108)(2612:2860:3108)) + (INTERCONNECT Din\[4\]_I/PADDI RD\[4\]_MGIOL/OPOS (4276:4628:4981)(4276:4628:4981)) + (INTERCONNECT Din\[4\]_I/PADDI Din\[4\]_MGIOL/DI (544:554:565)(544:554:565)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_23/C1 (2329:2578:2828)(2329:2578:2828)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_73/D1 (2645:2874:3104)(2645:2874:3104)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_101/D1 (3020:3283:3546)(3020:3283:3546)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_101/D0 (3020:3283:3546)(3020:3283:3546)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_106/C0 (2699:2980:3262)(2699:2980:3262)) + (INTERCONNECT Din\[7\]_I/PADDI RD\[7\]_MGIOL/OPOS (3911:4259:4607)(3911:4259:4607)) + (INTERCONNECT Din\[7\]_I/PADDI Din\[7\]_MGIOL/DI (424:441:459)(424:441:459)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_23/B1 (1882:2067:2252)(1882:2067:2252)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_73/A1 (2214:2428:2642)(2214:2428:2642)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_101/A1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_101/A0 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_104/A1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT Din\[5\]_I/PADDI RD\[5\]_MGIOL/OPOS (2982:3212:3442)(2982:3212:3442)) + (INTERCONNECT Din\[5\]_I/PADDI Din\[5\]_MGIOL/DI (544:554:565)(544:554:565)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_23/A1 (2235:2458:2682)(2235:2458:2682)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_101/B0 (2734:2989:3245)(2734:2989:3245)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_104/B1 (2734:2989:3245)(2734:2989:3245)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_104/B0 (2734:2989:3245)(2734:2989:3245)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_116/D1 (3641:3936:4231)(3641:3936:4231)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_116/A0 (3072:3357:3642)(3072:3357:3642)) + (INTERCONNECT Din\[6\]_I/PADDI RD\[6\]_MGIOL/OPOS (3403:3658:3913)(3403:3658:3913)) + (INTERCONNECT Din\[6\]_I/PADDI Din\[6\]_MGIOL/DI (424:441:459)(424:441:459)) + (INTERCONNECT SLICE_23/F0 SLICE_23/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_23/Q0 SLICE_59/B1 (1110:1271:1433)(1110:1271:1433)) + (INTERCONNECT SLICE_23/Q0 wb_cyc_stb_RNO\/SLICE_61/D1 (541:599:658)(541:599:658)) + (INTERCONNECT SLICE_23/Q0 SLICE_95/D0 (541:599:658)(541:599:658)) + (INTERCONNECT SLICE_105/F0 SLICE_24/A1 (751:875:999)(751:875:999)) + (INTERCONNECT SLICE_105/F0 SLICE_73/C0 (879:1027:1176)(879:1027:1176)) + (INTERCONNECT SLICE_105/F0 SLICE_90/D1 (868:961:1055)(868:961:1055)) + (INTERCONNECT SLICE_24/F0 SLICE_24/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_24/Q0 SLICE_62/B1 (1105:1266:1427)(1105:1266:1427)) + (INTERCONNECT SLICE_24/Q0 SLICE_97/D0 (1227:1351:1476)(1227:1351:1476)) + (INTERCONNECT SLICE_25/Q0 SLICE_25/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_25/Q0 SLICE_47/A0 (736:853:971)(736:853:971)) + (INTERCONNECT SLICE_47/Q0 SLICE_25/C0 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_47/Q0 SLICE_116/C1 (1233:1414:1595)(1233:1414:1595)) + (INTERCONNECT SLICE_25/F1 SLICE_25/B0 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_25/F0 SLICE_25/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_26/D1 (2286:2472:2659)(2286:2472:2659)) + (INTERCONNECT nFWE_I/PADDI SLICE_26/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT nFWE_I/PADDI SLICE_92/D0 (1851:2013:2175)(1851:2013:2175)) + (INTERCONNECT nFWE_I/PADDI SLICE_105/D1 (1851:2013:2175)(1851:2013:2175)) + (INTERCONNECT nFWE_I/PADDI SLICE_105/B0 (2082:2310:2538)(2082:2310:2538)) + (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (3:6:9)(3:6:9)) + (INTERCONNECT SLICE_26/F0 SLICE_108/M0 (1515:1661:1808)(1515:1661:1808)) + (INTERCONNECT nCRAS_I/PADDI SLICE_26/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_34/D1 (3175:3429:3683)(3175:3429:3683)) + (INTERCONNECT nCRAS_I/PADDI SLICE_34/D0 (3175:3429:3683)(3175:3429:3683)) + (INTERCONNECT nCRAS_I/PADDI SLICE_40/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_40/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_41/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_41/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_42/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_42/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_43/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_43/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_105/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_105/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI SLICE_108/CLK (2925:3147:3369)(2925:3147:3369)) + (INTERCONNECT nCRAS_I/PADDI RBA\[1\]_MGIOL/CLK (3072:3306:3541)(3072:3306:3541)) + (INTERCONNECT nCRAS_I/PADDI RBA\[0\]_MGIOL/CLK (3072:3306:3541)(3072:3306:3541)) + (INTERCONNECT SLICE_26/Q0 SLICE_48/C1 (984:1138:1292)(984:1138:1292)) + (INTERCONNECT SLICE_26/Q0 SLICE_98/D0 (523:578:633)(523:578:633)) + (INTERCONNECT SLICE_26/Q0 SLICE_117/B0 (1215:1382:1549)(1215:1382:1549)) + (INTERCONNECT SLICE_26/F1 RD\[0\]_I/PADDT (950:1056:1162)(950:1056:1162)) + (INTERCONNECT SLICE_26/F1 RD\[7\]_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26/F1 RD\[6\]_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26/F1 RD\[5\]_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26/F1 RD\[4\]_I/PADDT (1330:1469:1608)(1330:1469:1608)) + (INTERCONNECT SLICE_26/F1 RD\[3\]_I/PADDT (675:751:828)(675:751:828)) + (INTERCONNECT SLICE_26/F1 RD\[2\]_I/PADDT (675:751:828)(675:751:828)) + (INTERCONNECT SLICE_26/F1 RD\[1\]_I/PADDT (950:1056:1162)(950:1056:1162)) + (INTERCONNECT SLICE_28/Q0 SLICE_28/D1 (538:599:660)(538:599:660)) + (INTERCONNECT SLICE_28/Q0 SLICE_28/D0 (538:599:660)(538:599:660)) + (INTERCONNECT SLICE_28/Q0 SLICE_29/C1 (543:660:777)(543:660:777)) + (INTERCONNECT SLICE_28/Q0 SLICE_29/C0 (543:660:777)(543:660:777)) + (INTERCONNECT SLICE_28/Q0 SLICE_30/C0 (886:1040:1195)(886:1040:1195)) + (INTERCONNECT SLICE_28/Q0 SLICE_38/C1 (559:678:798)(559:678:798)) + (INTERCONNECT SLICE_28/Q0 SLICE_68/B0 (1524:1720:1916)(1524:1720:1916)) + (INTERCONNECT SLICE_28/Q0 SLICE_77/A0 (1492:1685:1879)(1492:1685:1879)) + (INTERCONNECT SLICE_28/Q0 SLICE_108/B1 (772:896:1020)(772:896:1020)) + (INTERCONNECT SLICE_38/Q0 SLICE_28/C1 (559:678:798)(559:678:798)) + (INTERCONNECT SLICE_38/Q0 SLICE_28/C0 (559:678:798)(559:678:798)) + (INTERCONNECT SLICE_38/Q0 SLICE_36/D1 (906:1009:1113)(906:1009:1113)) + (INTERCONNECT SLICE_38/Q0 SLICE_36/A0 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38/Q0 SLICE_38/A0 (483:579:675)(483:579:675)) + (INTERCONNECT SLICE_38/Q0 SLICE_39/A1 (737:861:986)(737:861:986)) + (INTERCONNECT SLICE_38/Q0 SLICE_45/B1 (1174:1340:1506)(1174:1340:1506)) + (INTERCONNECT SLICE_38/Q0 SLICE_48/A1 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38/Q0 SLICE_48/C0 (906:1062:1219)(906:1062:1219)) + (INTERCONNECT SLICE_38/Q0 SLICE_63/A0 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38/Q0 SLICE_64/D1 (1266:1401:1537)(1266:1401:1537)) + (INTERCONNECT SLICE_38/Q0 SLICE_64/D0 (1266:1401:1537)(1266:1401:1537)) + (INTERCONNECT SLICE_38/Q0 SLICE_68/A1 (778:910:1042)(778:910:1042)) + (INTERCONNECT SLICE_38/Q0 SLICE_69/D0 (906:1009:1113)(906:1009:1113)) + (INTERCONNECT SLICE_38/Q0 SLICE_88/A1 (1128:1290:1452)(1128:1290:1452)) + (INTERCONNECT SLICE_38/Q0 SLICE_108/D0 (1266:1401:1537)(1266:1401:1537)) + (INTERCONNECT SLICE_63/F1 SLICE_28/A1 (1014:1176:1339)(1014:1176:1339)) + (INTERCONNECT SLICE_63/F1 SLICE_28/A0 (1014:1176:1339)(1014:1176:1339)) + (INTERCONNECT SLICE_63/F1 SLICE_63/C0 (286:377:469)(286:377:469)) + (INTERCONNECT SLICE_63/F1 SLICE_68/A0 (485:587:689)(485:587:689)) + (INTERCONNECT SLICE_63/F1 SLICE_77/C0 (540:660:780)(540:660:780)) + (INTERCONNECT SLICE_63/F1 SLICE_108/D1 (872:977:1082)(872:977:1082)) + (INTERCONNECT SLICE_63/F1 SLICE_108/C0 (556:681:806)(556:681:806)) + (INTERCONNECT SLICE_28/F0 SLICE_28/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_28/F1 RA\[10\]_MGIOL/LSR (1427:1573:1720)(1427:1573:1720)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (483:579:675)(483:579:675)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/B0 (769:896:1023)(769:896:1023)) + (INTERCONNECT SLICE_29/Q0 SLICE_38/D1 (548:611:674)(548:611:674)) + (INTERCONNECT SLICE_29/Q0 SLICE_68/C0 (881:1035:1189)(881:1035:1189)) + (INTERCONNECT SLICE_29/Q0 SLICE_77/D1 (543:607:671)(543:607:671)) + (INTERCONNECT SLICE_29/Q1 SLICE_29/A1 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_29/Q1 SLICE_30/A1 (756:882:1009)(756:882:1009)) + (INTERCONNECT SLICE_29/Q1 SLICE_30/A0 (756:882:1009)(756:882:1009)) + (INTERCONNECT SLICE_29/Q1 SLICE_38/A1 (756:882:1009)(756:882:1009)) + (INTERCONNECT SLICE_29/Q1 SLICE_68/D0 (530:590:650)(530:590:650)) + (INTERCONNECT SLICE_29/Q1 SLICE_77/B1 (772:900:1028)(772:900:1028)) + (INTERCONNECT SLICE_29/F1 SLICE_29/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_108/F0 SLICE_29/CE (1146:1271:1397)(1146:1271:1397)) + (INTERCONNECT SLICE_108/F0 SLICE_29/CE (1146:1271:1397)(1146:1271:1397)) + (INTERCONNECT SLICE_108/F0 SLICE_30/CE (1146:1271:1397)(1146:1271:1397)) + (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F1 RA\[10\]_MGIOL/OPOS (1408:1550:1693)(1408:1550:1693)) + (INTERCONNECT SLICE_71/F1 SLICE_31/D1 (794:887:981)(794:887:981)) + (INTERCONNECT SLICE_71/F1 SLICE_71/A0 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_71/F1 SLICE_110/C0 (539:653:767)(539:653:767)) + (INTERCONNECT SLICE_102/F1 SLICE_31/B1 (772:897:1023)(772:897:1023)) + (INTERCONNECT SLICE_31/F1 SLICE_31/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (489:591:693)(489:591:693)) + (INTERCONNECT SLICE_31/Q0 SLICE_32/D0 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31/Q0 SLICE_36/B1 (1481:1681:1882)(1481:1681:1882)) + (INTERCONNECT SLICE_31/Q0 SLICE_38/D0 (1609:1773:1938)(1609:1773:1938)) + (INTERCONNECT SLICE_31/Q0 SLICE_39/D1 (1609:1773:1938)(1609:1773:1938)) + (INTERCONNECT SLICE_31/Q0 SLICE_47/D1 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31/Q0 SLICE_47/D0 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31/Q0 SLICE_49/B1 (1591:1799:2007)(1591:1799:2007)) + (INTERCONNECT SLICE_31/Q0 SLICE_49/B0 (1591:1799:2007)(1591:1799:2007)) + (INTERCONNECT SLICE_31/Q0 SLICE_50/A1 (1559:1764:1970)(1559:1764:1970)) + (INTERCONNECT SLICE_31/Q0 SLICE_50/A0 (1559:1764:1970)(1559:1764:1970)) + (INTERCONNECT SLICE_31/Q0 SLICE_51/C1 (1360:1555:1750)(1360:1555:1750)) + (INTERCONNECT SLICE_31/Q0 SLICE_51/C0 (1360:1555:1750)(1360:1555:1750)) + (INTERCONNECT SLICE_31/Q0 SLICE_52/D1 (1349:1489:1629)(1349:1489:1629)) + (INTERCONNECT SLICE_31/Q0 SLICE_52/D0 (1349:1489:1629)(1349:1489:1629)) + (INTERCONNECT SLICE_31/Q0 SLICE_54/B0 (816:956:1097)(816:956:1097)) + (INTERCONNECT SLICE_31/Q0 SLICE_55/A0 (1159:1329:1500)(1159:1329:1500)) + (INTERCONNECT SLICE_31/Q0 SLICE_56/C1 (960:1120:1280)(960:1120:1280)) + (INTERCONNECT SLICE_31/Q0 SLICE_56/C0 (960:1120:1280)(960:1120:1280)) + (INTERCONNECT SLICE_31/Q0 SLICE_59/C1 (555:677:799)(555:677:799)) + (INTERCONNECT SLICE_31/Q0 SLICE_60/B0 (816:956:1097)(816:956:1097)) + (INTERCONNECT SLICE_31/Q0 wb_cyc_stb_RNO\/SLICE_61/M0 (866:965:1064)(866:965:1064)) + (INTERCONNECT SLICE_31/Q0 SLICE_62/A1 (1111:1287:1463)(1111:1287:1463)) + (INTERCONNECT SLICE_31/Q0 SLICE_62/A0 (1111:1287:1463)(1111:1287:1463)) + (INTERCONNECT SLICE_31/Q0 SLICE_63/B1 (1546:1757:1969)(1546:1757:1969)) + (INTERCONNECT SLICE_31/Q0 SLICE_74/B0 (1555:1759:1964)(1555:1759:1964)) + (INTERCONNECT SLICE_31/Q0 SLICE_75/A0 (784:922:1060)(784:922:1060)) + (INTERCONNECT SLICE_31/Q0 SLICE_76/D1 (954:1059:1165)(954:1059:1165)) + (INTERCONNECT SLICE_31/Q0 SLICE_79/D0 (574:646:719)(574:646:719)) + (INTERCONNECT SLICE_31/Q0 SLICE_81/D0 (949:1054:1159)(949:1054:1159)) + (INTERCONNECT SLICE_31/Q0 SLICE_89/D0 (536:598:660)(536:598:660)) + (INTERCONNECT SLICE_31/Q0 SLICE_95/A0 (1111:1287:1463)(1111:1287:1463)) + (INTERCONNECT SLICE_31/Q0 SLICE_97/C0 (555:677:799)(555:677:799)) + (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb\/EFBInst_0/WBDATO1 SLICE_32/A0 (1806:2010:2215) + (1806:2010:2215)) + (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_32/CE (1138:1264:1391)(1138:1264:1391)) + (INTERCONNECT SLICE_62/F1 SLICE_47/CE (879:978:1078)(879:978:1078)) + (INTERCONNECT SLICE_105/Q0 SLICE_34/A1 (1113:1270:1427)(1113:1270:1427)) + (INTERCONNECT SLICE_105/Q0 SLICE_36/D0 (866:961:1056)(866:961:1056)) + (INTERCONNECT SLICE_105/Q0 SLICE_48/B1 (1108:1271:1434)(1108:1271:1434)) + (INTERCONNECT SLICE_105/Q0 SLICE_66/A1 (1113:1270:1427)(1113:1270:1427)) + (INTERCONNECT SLICE_34/F0 SLICE_34/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_34/Q0 SLICE_34/M1 (488:531:575)(488:531:575)) + (INTERCONNECT SLICE_34/Q0 SLICE_37/B0 (775:902:1030)(775:902:1030)) + (INTERCONNECT SLICE_34/F1 LED_I/PADDO (936:1038:1140)(936:1038:1140)) + (INTERCONNECT SLICE_42/Q0 SLICE_35/D0 (530:587:645)(530:587:645)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_35/C0 (1975:2181:2387)(1975:2181:2387)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_42/C0 (2339:2576:2814)(2339:2576:2814)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_92/D1 (2692:2906:3120)(2692:2906:3120)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_111/D0 (2291:2477:2663)(2291:2477:2663)) + (INTERCONNECT SLICE_48/Q0 SLICE_35/A0 (1183:1347:1512)(1183:1347:1512)) + (INTERCONNECT SLICE_48/Q0 SLICE_107/C1 (999:1154:1310)(999:1154:1310)) + (INTERCONNECT SLICE_48/Q0 SLICE_107/C0 (999:1154:1310)(999:1154:1310)) + (INTERCONNECT SLICE_48/Q0 SLICE_111/B1 (1590:1789:1989)(1590:1789:1989)) + (INTERCONNECT SLICE_48/Q0 SLICE_112/C1 (999:1154:1310)(999:1154:1310)) + (INTERCONNECT SLICE_48/Q0 SLICE_112/D0 (1315:1450:1586)(1315:1450:1586)) + (INTERCONNECT SLICE_48/Q0 SLICE_113/A1 (1568:1766:1964)(1568:1766:1964)) + (INTERCONNECT SLICE_48/Q0 SLICE_113/A0 (1568:1766:1964)(1568:1766:1964)) + (INTERCONNECT SLICE_48/Q0 SLICE_114/A1 (1906:2142:2378)(1906:2142:2378)) + (INTERCONNECT SLICE_48/Q0 SLICE_114/A0 (1906:2142:2378)(1906:2142:2378)) + (INTERCONNECT SLICE_48/Q0 SLICE_115/B1 (1590:1789:1989)(1590:1789:1989)) + (INTERCONNECT SLICE_48/Q0 SLICE_115/A0 (1906:2142:2378)(1906:2142:2378)) + (INTERCONNECT PHI2_MGIOL/IN SLICE_35/M1 (1442:1578:1714)(1442:1578:1714)) + (INTERCONNECT SLICE_35/F0 RA\[4\]_I/PADDO (1552:1738:1924)(1552:1738:1924)) + (INTERCONNECT SLICE_35/Q0 SLICE_37/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_35/F1 SLICE_53/D1 (1220:1340:1460)(1220:1340:1460)) + (INTERCONNECT SLICE_35/Q1 SLICE_59/A1 (1188:1353:1518)(1188:1353:1518)) + (INTERCONNECT SLICE_35/Q1 SLICE_95/A1 (1552:1748:1945)(1552:1748:1945)) + (INTERCONNECT SLICE_35/Q1 SLICE_97/C1 (989:1143:1298)(989:1143:1298)) + (INTERCONNECT SLICE_35/Q1 SLICE_118/M0 (825:908:991)(825:908:991)) + (INTERCONNECT SLICE_45/F0 SLICE_36/A1 (740:864:989)(740:864:989)) + (INTERCONNECT SLICE_45/F0 SLICE_45/C1 (284:372:461)(284:372:461)) + (INTERCONNECT SLICE_45/F0 SLICE_45/DI0 (7:16:25)(7:16:25)) + (INTERCONNECT SLICE_45/F0 SLICE_64/A0 (483:582:681)(483:582:681)) + (INTERCONNECT SLICE_117/F0 SLICE_36/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_36/F1 SLICE_36/B0 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_36/F0 SLICE_36/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_36/Q0 SLICE_37/C0 (975:1126:1278)(975:1126:1278)) + (INTERCONNECT Din\[7\]_MGIOL/IN SLICE_37/D1 (1406:1542:1678)(1406:1542:1678)) + (INTERCONNECT Din\[2\]_MGIOL/IN SLICE_37/C1 (1161:1328:1496)(1161:1328:1496)) + (INTERCONNECT Din\[5\]_MGIOL/IN SLICE_37/B1 (1392:1572:1753)(1392:1572:1753)) + (INTERCONNECT Din\[6\]_MGIOL/IN SLICE_37/A1 (1687:1900:2113)(1687:1900:2113)) + (INTERCONNECT SLICE_37/F0 SLICE_37/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_37/Q0 SLICE_45/D1 (975:1073:1172)(975:1073:1172)) + (INTERCONNECT SLICE_37/Q0 SLICE_69/D1 (975:1073:1172)(975:1073:1172)) + (INTERCONNECT SLICE_37/Q0 RCKE_I/PADDO (1905:2099:2293)(1905:2099:2293)) + (INTERCONNECT SLICE_37/F1 SLICE_94/B0 (1031:1183:1336)(1031:1183:1336)) + (INTERCONNECT SLICE_38/F1 SLICE_38/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_38/F1 SLICE_39/C1 (534:645:756)(534:645:756)) + (INTERCONNECT SLICE_38/F0 SLICE_38/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F1 SLICE_39/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_39/Q0 SLICE_39/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_39/Q0 SLICE_40/B1 (774:914:1054)(774:914:1054)) + (INTERCONNECT SLICE_39/Q0 SLICE_40/B0 (774:914:1054)(774:914:1054)) + (INTERCONNECT SLICE_39/Q0 SLICE_41/D1 (995:1099:1203)(995:1099:1203)) + (INTERCONNECT SLICE_39/Q0 SLICE_41/D0 (995:1099:1203)(995:1099:1203)) + (INTERCONNECT SLICE_39/Q0 SLICE_42/A1 (1205:1374:1544)(1205:1374:1544)) + (INTERCONNECT SLICE_39/Q0 SLICE_42/A0 (1205:1374:1544)(1205:1374:1544)) + (INTERCONNECT SLICE_39/Q0 SLICE_43/B1 (1607:1811:2015)(1607:1811:2015)) + (INTERCONNECT SLICE_39/Q0 SLICE_43/B0 (1607:1811:2015)(1607:1811:2015)) + (INTERCONNECT SLICE_39/Q0 SLICE_44/D1 (532:604:676)(532:604:676)) + (INTERCONNECT SLICE_39/Q0 SLICE_44/D0 (532:604:676)(532:604:676)) + (INTERCONNECT SLICE_39/Q0 SLICE_116/B1 (1222:1392:1563)(1222:1392:1563)) + (INTERCONNECT SLICE_39/Q0 SLICE_118/C1 (1361:1550:1740)(1361:1550:1740)) + (INTERCONNECT SLICE_39/Q0 SLICE_118/C0 (1361:1550:1740)(1361:1550:1740)) + (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_40/C1 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/C0 (1524:1704:1884)(1524:1704:1884)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_92/A0 (2093:2315:2538)(2093:2315:2538)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_105/D0 (2210:2402:2594)(2210:2402:2594)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_113/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_40/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_92/B0 (2652:2898:3145)(2652:2898:3145)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_105/A1 (2620:2864:3108)(2620:2864:3108)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_105/A0 (2620:2864:3108)(2620:2864:3108)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_112/C0 (1970:2176:2383)(1970:2176:2383)) + (INTERCONNECT SLICE_40/F1 SLICE_40/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40/F0 SLICE_40/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_40/Q0 SLICE_112/B0 (1099:1259:1420)(1099:1259:1420)) + (INTERCONNECT SLICE_40/Q1 SLICE_113/D0 (520:573:626)(520:573:626)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_41/B1 (2206:2426:2646)(2206:2426:2646)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_91/D0 (2198:2389:2580)(2198:2389:2580)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_92/C1 (2339:2577:2816)(2339:2577:2816)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_115/B0 (2206:2426:2646)(2206:2426:2646)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_41/C0 (1975:2182:2389)(1975:2182:2389)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/B1 (1749:1941:2134)(1749:1941:2134)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_111/C0 (1975:2182:2389)(1975:2182:2389)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_114/C0 (1975:2182:2389)(1975:2182:2389)) + (INTERCONNECT SLICE_41/F1 SLICE_41/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q0 SLICE_114/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_41/Q1 SLICE_115/C0 (531:639:747)(531:639:747)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_42/D1 (1878:2033:2189)(1878:2033:2189)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_90/B0 (2120:2343:2567)(2120:2343:2567)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_111/B0 (2120:2343:2567)(2120:2343:2567)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_115/A1 (2088:2309:2530)(2088:2309:2530)) + (INTERCONNECT SLICE_42/F1 SLICE_42/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q1 SLICE_115/D1 (520:573:626)(520:573:626)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_43/C1 (1888:2098:2309)(1888:2098:2309)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_90/A0 (3179:3494:3810)(3179:3494:3810)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_111/A1 (2425:2683:2941)(2425:2683:2941)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_111/A0 (2425:2683:2941)(2425:2683:2941)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_43/C0 (1970:2175:2381)(1970:2175:2381)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_90/D0 (3020:3269:3518)(3020:3269:3518)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_105/C1 (2667:2939:3212)(2667:2939:3212)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_114/C1 (1970:2175:2381)(1970:2175:2381)) + (INTERCONNECT SLICE_43/F1 SLICE_43/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_114/D1 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_43/Q1 SLICE_111/C1 (531:639:747)(531:639:747)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_44/B1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_107/B1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_107/B0 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_112/B1 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_44/A0 (2420:2659:2898)(2420:2659:2898)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_113/C1 (2221:2449:2678)(2221:2449:2678)) + (INTERCONNECT SLICE_44/F1 SLICE_44/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_113/D1 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_44/Q1 SLICE_107/A0 (733:848:964)(733:848:964)) + (INTERCONNECT SLICE_45/F1 SLICE_77/D0 (791:881:972)(791:881:972)) + (INTERCONNECT SLICE_45/F1 SLICE_108/C1 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_106/F1 SLICE_46/D1 (530:587:645)(530:587:645)) + (INTERCONNECT SLICE_46/F1 SLICE_46/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_101/F0 SLICE_46/B0 (1206:1370:1535)(1206:1370:1535)) + (INTERCONNECT SLICE_46/Q0 SLICE_46/A0 (479:571:663)(479:571:663)) + (INTERCONNECT SLICE_46/Q0 SLICE_116/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_46/F0 SLICE_46/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT ufmefb\/EFBInst_0/WBDATO0 SLICE_47/C0 (1161:1328:1496) + (1161:1328:1496)) + (INTERCONNECT SLICE_47/F0 SLICE_47/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_47/F1 SLICE_53/LSR (1319:1458:1597)(1319:1458:1597)) + (INTERCONNECT SLICE_47/F1 SLICE_58/LSR (1330:1471:1612)(1330:1471:1612)) + (INTERCONNECT SLICE_47/F1 SLICE_59/D0 (1311:1448:1585)(1311:1448:1585)) + (INTERCONNECT SLICE_47/F1 SLICE_60/LSR (879:978:1078)(879:978:1078)) + (INTERCONNECT SLICE_106/Q0 SLICE_48/D1 (528:586:644)(528:586:644)) + (INTERCONNECT SLICE_106/Q0 SLICE_88/B0 (1139:1298:1457)(1139:1298:1457)) + (INTERCONNECT SLICE_106/Q0 SLICE_98/C1 (1236:1419:1602)(1236:1419:1602)) + (INTERCONNECT SLICE_48/F1 SLICE_48/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_48/F0 SLICE_48/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_48/LSR (542:602:662)(542:602:662)) + (INTERCONNECT SLICE_69/F0 SLICE_69/C1 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_76/F1 SLICE_49/D1 (1324:1453:1583)(1324:1453:1583)) + (INTERCONNECT SLICE_76/F1 SLICE_51/D1 (1324:1453:1583)(1324:1453:1583)) + (INTERCONNECT SLICE_76/F1 SLICE_51/D0 (1324:1453:1583)(1324:1453:1583)) + (INTERCONNECT SLICE_76/F1 SLICE_52/C0 (1662:1881:2101)(1662:1881:2101)) + (INTERCONNECT SLICE_76/F1 SLICE_53/D0 (1334:1472:1610)(1334:1472:1610)) + (INTERCONNECT SLICE_76/F1 SLICE_55/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76/F1 SLICE_58/D0 (1334:1472:1610)(1334:1472:1610)) + (INTERCONNECT SLICE_76/F1 SLICE_67/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76/F1 SLICE_67/D0 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76/F1 SLICE_72/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76/F1 SLICE_75/A1 (1472:1669:1866)(1472:1669:1866)) + (INTERCONNECT SLICE_76/F1 SLICE_76/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_76/F1 SLICE_79/A1 (1472:1669:1866)(1472:1669:1866)) + (INTERCONNECT SLICE_76/F1 SLICE_81/A1 (1461:1656:1851)(1461:1656:1851)) + (INTERCONNECT SLICE_76/F1 SLICE_85/B1 (791:921:1051)(791:921:1051)) + (INTERCONNECT SLICE_76/F1 SLICE_93/C1 (1299:1480:1661)(1299:1480:1661)) + (INTERCONNECT SLICE_76/F1 SLICE_109/D1 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_76/F1 SLICE_109/D0 (944:1040:1137)(944:1040:1137)) + (INTERCONNECT SLICE_49/Q0 SLICE_49/C1 (534:644:754)(534:644:754)) + (INTERCONNECT SLICE_49/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI0in (1378:1511:1645) + (1378:1511:1645)) + (INTERCONNECT SLICE_84/F0 SLICE_49/A1 (1431:1620:1810)(1431:1620:1810)) + (INTERCONNECT SLICE_85/F1 SLICE_49/D0 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_57/Q1 SLICE_49/A0 (1002:1154:1306)(1002:1154:1306)) + (INTERCONNECT SLICE_57/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI7in (909:1006:1104) + (909:1006:1104)) + (INTERCONNECT SLICE_49/F1 SLICE_49/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_49/F0 SLICE_49/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_97/F0 SLICE_49/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_49/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_50/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_50/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_51/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_51/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_52/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_52/CE (1577:1735:1893)(1577:1735:1893)) + (INTERCONNECT SLICE_97/F0 SLICE_54/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97/F0 SLICE_54/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97/F0 SLICE_55/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97/F0 SLICE_55/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97/F0 SLICE_56/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97/F0 SLICE_56/CE (827:920:1013)(827:920:1013)) + (INTERCONNECT SLICE_97/F0 SLICE_57/CE (1197:1322:1447)(1197:1322:1447)) + (INTERCONNECT SLICE_97/F0 SLICE_57/CE (1197:1322:1447)(1197:1322:1447)) + (INTERCONNECT SLICE_97/F0 SLICE_60/CE (879:978:1078)(879:978:1078)) + (INTERCONNECT SLICE_49/Q1 SLICE_50/C0 (534:644:754)(534:644:754)) + (INTERCONNECT SLICE_49/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI1in (650:720:791) + (650:720:791)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_50/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI2in (650:720:791) + (650:720:791)) + (INTERCONNECT SLICE_50/F1 SLICE_50/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q1 SLICE_51/A0 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_50/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI3in (909:1006:1104) + (909:1006:1104)) + (INTERCONNECT SLICE_51/Q0 SLICE_51/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_51/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI4in (977:1082:1188) + (977:1082:1188)) + (INTERCONNECT SLICE_51/F1 SLICE_51/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_52/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_51/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI5in (977:1082:1188) + (977:1082:1188)) + (INTERCONNECT SLICE_52/Q0 SLICE_52/A1 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_52/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI6in (650:720:791) + (650:720:791)) + (INTERCONNECT SLICE_52/F1 SLICE_52/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBADRI7in (640:701:762) + (640:701:762)) + (INTERCONNECT SLICE_95/F0 SLICE_53/C0 (541:653:766)(541:653:766)) + (INTERCONNECT SLICE_53/F1 SLICE_53/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_53/F1 SLICE_89/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_96/F0 SLICE_53/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_53/F0 SLICE_53/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT wb_cyc_stb_RNO\/SLICE_61/OFX0 SLICE_53/CE (808:896:985)(808:896:985)) + (INTERCONNECT SLICE_53/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBCYCIin + (1343:1474:1606)(1343:1474:1606)) + (INTERCONNECT SLICE_53/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBSTBIin + (1689:1859:2030)(1689:1859:2030)) + (INTERCONNECT SLICE_79/F0 SLICE_54/D1 (266:290:315)(266:290:315)) + (INTERCONNECT SLICE_67/F1 SLICE_54/C1 (546:664:783)(546:664:783)) + (INTERCONNECT SLICE_67/F1 SLICE_55/A1 (735:859:984)(735:859:984)) + (INTERCONNECT SLICE_67/F1 SLICE_67/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_75/F1 SLICE_54/B1 (769:899:1029)(769:899:1029)) + (INTERCONNECT SLICE_75/F1 SLICE_57/B0 (772:899:1026)(772:899:1026)) + (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (284:372:461)(284:372:461)) + (INTERCONNECT SLICE_75/F1 SLICE_78/C0 (541:655:769)(541:655:769)) + (INTERCONNECT SLICE_99/F1 SLICE_54/A1 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_99/F1 SLICE_57/C0 (871:1021:1172)(871:1021:1172)) + (INTERCONNECT SLICE_110/F0 SLICE_54/D0 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_60/Q0 SLICE_54/C0 (981:1133:1285)(981:1133:1285)) + (INTERCONNECT SLICE_60/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBWEIin + (2142:2348:2554)(2142:2348:2554)) + (INTERCONNECT SLICE_109/F0 SLICE_54/A0 (1008:1161:1315)(1008:1161:1315)) + (INTERCONNECT SLICE_109/F0 SLICE_57/A1 (1378:1563:1749)(1378:1563:1749)) + (INTERCONNECT SLICE_109/F0 SLICE_70/C1 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_109/F0 SLICE_83/A0 (1378:1563:1749)(1378:1563:1749)) + (INTERCONNECT SLICE_54/F1 SLICE_54/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/F0 SLICE_54/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_54/Q0 SLICE_79/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_54/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI0in (1411:1555:1700) + (1411:1555:1700)) + (INTERCONNECT SLICE_54/Q1 SLICE_55/C0 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_54/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI1in (1339:1476:1613) + (1339:1476:1613)) + (INTERCONNECT SLICE_75/F0 SLICE_55/C1 (541:653:766)(541:653:766)) + (INTERCONNECT SLICE_82/F0 SLICE_55/B1 (1472:1667:1863)(1472:1667:1863)) + (INTERCONNECT SLICE_82/F0 SLICE_67/C0 (914:1061:1209)(914:1061:1209)) + (INTERCONNECT SLICE_82/F0 SLICE_76/A0 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_67/F0 SLICE_55/D0 (269:296:324)(269:296:324)) + (INTERCONNECT SLICE_67/F0 SLICE_56/D1 (523:579:635)(523:579:635)) + (INTERCONNECT SLICE_72/F1 SLICE_55/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_72/F1 SLICE_56/B1 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_55/F1 SLICE_55/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/F0 SLICE_55/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q0 SLICE_75/B0 (767:891:1015)(767:891:1015)) + (INTERCONNECT SLICE_55/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI2in (1339:1476:1613) + (1339:1476:1613)) + (INTERCONNECT SLICE_55/Q1 SLICE_56/B0 (765:888:1011)(765:888:1011)) + (INTERCONNECT SLICE_55/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI3in (1084:1193:1303) + (1084:1193:1303)) + (INTERCONNECT SLICE_56/Q0 SLICE_56/A1 (1110:1265:1420)(1110:1265:1420)) + (INTERCONNECT SLICE_56/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI4in (1344:1479:1615) + (1344:1479:1615)) + (INTERCONNECT SLICE_76/F0 SLICE_56/D0 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_80/F0 SLICE_56/A0 (733:848:964)(733:848:964)) + (INTERCONNECT SLICE_56/F1 SLICE_56/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F0 SLICE_56/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q1 SLICE_74/C0 (536:647:758)(536:647:758)) + (INTERCONNECT SLICE_56/Q1 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI5in (908:1009:1111) + (908:1009:1111)) + (INTERCONNECT SLICE_78/F0 SLICE_57/D1 (266:290:315)(266:290:315)) + (INTERCONNECT SLICE_71/F0 SLICE_57/C1 (1231:1406:1581)(1231:1406:1581)) + (INTERCONNECT SLICE_81/F0 SLICE_57/B1 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_74/F0 SLICE_57/D0 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_57/F1 SLICE_57/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 SLICE_81/A0 (733:853:974)(733:853:974)) + (INTERCONNECT SLICE_57/Q0 + ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBDATI6in (977:1082:1188) + (977:1082:1188)) + (INTERCONNECT SLICE_58/F1 SLICE_58/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_58/F1 SLICE_93/A1 (1177:1342:1507)(1177:1342:1507)) + (INTERCONNECT SLICE_59/F1 SLICE_58/B0 (765:889:1013)(765:889:1013)) + (INTERCONNECT SLICE_59/F1 SLICE_59/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_58/Q0 SLICE_58/A0 (481:575:669)(481:575:669)) + (INTERCONNECT SLICE_58/Q0 SLICE_89/A1 (738:857:977)(738:857:977)) + (INTERCONNECT SLICE_58/Q0 SLICE_96/B0 (777:906:1036)(777:906:1036)) + (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_118/Q0 SLICE_59/D1 (975:1072:1170)(975:1072:1170)) + (INTERCONNECT SLICE_118/Q0 SLICE_95/B1 (1581:1778:1975)(1581:1778:1975)) + (INTERCONNECT SLICE_118/Q0 SLICE_97/B1 (1217:1382:1548)(1217:1382:1548)) + (INTERCONNECT SLICE_59/Q0 SLICE_59/C0 (1426:1605:1785)(1426:1605:1785)) + (INTERCONNECT SLICE_59/Q0 ufmefb\/EFBInst_0/ufmefb\/EFBInst_0_EFB/INST20/WBRSTIin + (1616:1766:1917)(1616:1766:1917)) + (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F1 SLICE_60/C1 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_84/F1 SLICE_62/D0 (794:884:975)(794:884:975)) + (INTERCONNECT SLICE_84/F1 SLICE_84/C0 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_87/F0 SLICE_60/A1 (746:869:993)(746:869:993)) + (INTERCONNECT SLICE_87/F0 SLICE_84/A0 (746:869:993)(746:869:993)) + (INTERCONNECT SLICE_73/Q0 SLICE_60/D0 (1153:1269:1385)(1153:1269:1385)) + (INTERCONNECT SLICE_93/F1 SLICE_60/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_60/F1 SLICE_60/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_95/F1 wb_cyc_stb_RNO\/SLICE_61/A1 (481:577:673)(481:577:673)) + (INTERCONNECT SLICE_95/F1 SLICE_62/D1 (525:584:643)(525:584:643)) + (INTERCONNECT SLICE_95/F1 SLICE_95/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_89/F0 wb_cyc_stb_RNO\/SLICE_61/D0 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_102/F0 wb_cyc_stb_RNO\/SLICE_61/C0 (534:645:756)(534:645:756)) + (INTERCONNECT SLICE_102/F0 SLICE_62/C0 (280:362:445)(280:362:445)) + (INTERCONNECT ufmefb\/EFBInst_0/WBACKO wb_cyc_stb_RNO\/SLICE_61/A0 + (1729:1940:2151)(1729:1940:2151)) + (INTERCONNECT ufmefb\/EFBInst_0/WBACKO SLICE_62/B0 (1761:1974:2188) + (1761:1974:2188)) + (INTERCONNECT SLICE_62/F0 SLICE_62/C1 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_77/F1 SLICE_63/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_77/F1 SLICE_77/B0 (513:611:710)(513:611:710)) + (INTERCONNECT SLICE_77/F1 SLICE_108/A1 (745:874:1003)(745:874:1003)) + (INTERCONNECT SLICE_63/F0 SLICE_66/B1 (772:897:1023)(772:897:1023)) + (INTERCONNECT SLICE_64/F0 SLICE_64/C1 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_64/F0 SLICE_66/B0 (765:889:1013)(765:889:1013)) + (INTERCONNECT SLICE_98/F0 SLICE_64/B1 (1099:1259:1420)(1099:1259:1420)) + (INTERCONNECT SLICE_68/F1 SLICE_64/A1 (740:863:986)(740:863:986)) + (INTERCONNECT SLICE_105/Q1 SLICE_64/B0 (1472:1666:1861)(1472:1666:1861)) + (INTERCONNECT SLICE_105/Q1 SLICE_98/A0 (1113:1270:1427)(1113:1270:1427)) + (INTERCONNECT SLICE_105/Q1 SLICE_117/C1 (537:644:751)(537:644:751)) + (INTERCONNECT SLICE_64/F1 nRWE_MGIOL/OPOS (1408:1550:1693)(1408:1550:1693)) + (INTERCONNECT SLICE_65/F0 SLICE_65/D1 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_65/F1 SLICE_85/C1 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_66/F1 SLICE_66/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_88/F0 SLICE_66/A0 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_88/F0 SLICE_88/B1 (765:889:1013)(765:889:1013)) + (INTERCONNECT SLICE_66/F0 nRCAS_MGIOL/OPOS (1445:1584:1723)(1445:1584:1723)) + (INTERCONNECT SLICE_100/F0 SLICE_67/A1 (1067:1225:1383)(1067:1225:1383)) + (INTERCONNECT SLICE_69/F1 SLICE_68/D1 (523:573:623)(523:573:623)) + (INTERCONNECT SLICE_68/F0 SLICE_68/C1 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_70/F0 SLICE_70/A1 (1104:1258:1413)(1104:1258:1413)) + (INTERCONNECT SLICE_70/F1 SLICE_74/D0 (523:579:635)(523:579:635)) + (INTERCONNECT SLICE_70/F1 SLICE_80/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_72/F0 SLICE_72/A1 (735:859:984)(735:859:984)) + (INTERCONNECT SLICE_72/F0 SLICE_79/A0 (738:859:981)(738:859:981)) + (INTERCONNECT SLICE_72/F0 SLICE_80/D0 (528:584:640)(528:584:640)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_73/C1 (2075:2285:2495)(2075:2285:2495)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_101/B1 (3414:3733:4052)(3414:3733:4052)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_106/B1 (2686:2942:3198)(2686:2942:3198)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_106/B0 (2686:2942:3198)(2686:2942:3198)) + (INTERCONNECT Din\[3\]_I/PADDI RD\[3\]_MGIOL/OPOS (3289:3551:3813)(3289:3551:3813)) + (INTERCONNECT Din\[3\]_I/PADDI Din\[3\]_MGIOL/DI (544:554:565)(544:554:565)) + (INTERCONNECT SLICE_116/F0 SLICE_73/B1 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_73/F0 SLICE_73/CE (539:596:653)(539:596:653)) + (INTERCONNECT SLICE_103/F1 SLICE_74/D1 (530:587:645)(530:587:645)) + (INTERCONNECT SLICE_109/F1 SLICE_74/A1 (741:861:982)(741:861:982)) + (INTERCONNECT SLICE_109/F1 SLICE_80/A0 (741:861:982)(741:861:982)) + (INTERCONNECT SLICE_74/F1 SLICE_74/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_99/F0 SLICE_75/D0 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_77/F0 SLICE_117/B1 (508:600:693)(508:600:693)) + (INTERCONNECT SLICE_78/F1 SLICE_78/D0 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_79/F1 SLICE_79/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_80/F1 SLICE_80/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_103/F0 SLICE_81/C1 (534:639:744)(534:639:744)) + (INTERCONNECT SLICE_83/F0 SLICE_81/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_81/F1 SLICE_81/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_82/F1 SLICE_82/C0 (542:652:762)(542:652:762)) + (INTERCONNECT SLICE_82/F1 SLICE_87/A0 (741:861:982)(741:861:982)) + (INTERCONNECT SLICE_87/F1 SLICE_82/A0 (735:859:984)(735:859:984)) + (INTERCONNECT SLICE_87/F1 SLICE_84/D1 (530:592:654)(530:592:654)) + (INTERCONNECT SLICE_87/F1 SLICE_87/C0 (282:367:453)(282:367:453)) + (INTERCONNECT SLICE_87/F1 SLICE_93/D0 (530:592:654)(530:592:654)) + (INTERCONNECT SLICE_83/F1 SLICE_83/D0 (520:573:626)(520:573:626)) + (INTERCONNECT SLICE_110/F1 SLICE_84/A1 (733:854:976)(733:854:976)) + (INTERCONNECT SLICE_110/F1 SLICE_93/A0 (479:572:665)(479:572:665)) + (INTERCONNECT SLICE_93/F0 SLICE_84/D0 (531:586:641)(531:586:641)) + (INTERCONNECT SLICE_93/F0 SLICE_93/D1 (531:586:641)(531:586:641)) + (INTERCONNECT SLICE_85/F0 SLICE_85/A1 (476:566:656)(476:566:656)) + (INTERCONNECT SLICE_86/F0 SLICE_85/C0 (531:639:747)(531:639:747)) + (INTERCONNECT SLICE_100/F1 SLICE_85/B0 (762:883:1004)(762:883:1004)) + (INTERCONNECT SLICE_86/F1 SLICE_86/C0 (277:356:436)(277:356:436)) + (INTERCONNECT SLICE_117/F1 SLICE_88/D1 (789:873:958)(789:873:958)) + (INTERCONNECT SLICE_108/F1 SLICE_88/C1 (534:645:756)(534:645:756)) + (INTERCONNECT SLICE_108/F1 nRRAS_MGIOL/OPOS (1448:1590:1732)(1448:1590:1732)) + (INTERCONNECT SLICE_108/Q0 SLICE_88/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_88/F1 nRCS_MGIOL/OPOS (1337:1468:1599)(1337:1468:1599)) + (INTERCONNECT SLICE_96/F1 SLICE_89/B0 (511:606:702)(511:606:702)) + (INTERCONNECT SLICE_96/F1 SLICE_96/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_89/F1 SLICE_89/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_105/F1 SLICE_91/B0 (765:883:1001)(765:883:1001)) + (INTERCONNECT SLICE_111/F0 SLICE_91/A0 (1174:1336:1498)(1174:1336:1498)) + (INTERCONNECT SLICE_92/F1 SLICE_92/C0 (280:362:445)(280:362:445)) + (INTERCONNECT SLICE_92/F1 SLICE_105/C0 (280:362:445)(280:362:445)) + (INTERCONNECT Din\[0\]_MGIOL/IN SLICE_94/B1 (1392:1572:1753)(1392:1572:1753)) + (INTERCONNECT Din\[1\]_MGIOL/IN SLICE_94/A1 (926:1065:1204)(926:1065:1204)) + (INTERCONNECT Din\[4\]_MGIOL/IN SLICE_94/D0 (716:789:863)(716:789:863)) + (INTERCONNECT SLICE_94/F1 SLICE_94/C0 (277:356:436)(277:356:436)) + (INTERCONNECT Din\[3\]_MGIOL/IN SLICE_94/A0 (926:1065:1204)(926:1065:1204)) + (INTERCONNECT SLICE_97/F1 SLICE_97/A0 (730:848:967)(730:848:967)) + (INTERCONNECT SLICE_98/F1 SLICE_98/C0 (277:356:436)(277:356:436)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_104/D0 (1961:2109:2258)(1961:2109:2258)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_106/D1 (2331:2511:2692)(2331:2511:2692)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_106/D0 (2331:2511:2692)(2331:2511:2692)) + (INTERCONNECT Din\[2\]_I/PADDI RD\[2\]_MGIOL/OPOS (2436:2626:2817)(2436:2626:2817)) + (INTERCONNECT Din\[2\]_I/PADDI Din\[2\]_MGIOL/DI (544:554:565)(544:554:565)) + (INTERCONNECT SLICE_107/F0 RA\[9\]_I/PADDO (1279:1433:1587)(1279:1433:1587)) + (INTERCONNECT SLICE_107/F1 RDQMH_I/PADDO (1454:1620:1786)(1454:1620:1786)) + (INTERCONNECT SLICE_111/F1 RA\[7\]_I/PADDO (1834:2056:2279)(1834:2056:2279)) + (INTERCONNECT SLICE_112/F0 RA\[0\]_I/PADDO (1400:1583:1767)(1400:1583:1767)) + (INTERCONNECT SLICE_112/F1 RDQML_I/PADDO (936:1038:1140)(936:1038:1140)) + (INTERCONNECT SLICE_113/F0 RA\[1\]_I/PADDO (1106:1265:1425)(1106:1265:1425)) + (INTERCONNECT SLICE_113/F1 RA\[8\]_I/PADDO (1279:1433:1587)(1279:1433:1587)) + (INTERCONNECT SLICE_114/F0 RA\[2\]_I/PADDO (1815:2042:2270)(1815:2042:2270)) + (INTERCONNECT SLICE_114/F1 RA\[6\]_I/PADDO (1879:2100:2321)(1879:2100:2321)) + (INTERCONNECT SLICE_115/F0 RA\[3\]_I/PADDO (1552:1738:1924)(1552:1738:1924)) + (INTERCONNECT SLICE_115/F1 RA\[5\]_I/PADDO (1815:2042:2270)(1815:2042:2270)) + (INTERCONNECT SLICE_116/F1 RA\[11\]_MGIOL/OPOS (1527:1661:1795)(1527:1661:1795)) + (INTERCONNECT CROW\[0\]_I/PADDI SLICE_118/B1 (2262:2486:2711)(2262:2486:2711)) + (INTERCONNECT CROW\[1\]_I/PADDI SLICE_118/B0 (1744:1935:2126)(1744:1935:2126)) + (INTERCONNECT SLICE_118/F0 RBA\[1\]_MGIOL/OPOS (1854:2023:2192)(1854:2023:2192)) + (INTERCONNECT SLICE_118/F1 RBA\[0\]_MGIOL/OPOS (1790:1965:2141)(1790:1965:2141)) + (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (2098:2261:2425)(2098:2261:2425)) + (INTERCONNECT RD\[0\]_MGIOL/IOLDO RD\[0\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT nRCAS_MGIOL/IOLDO nRCAS_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT nRRAS_MGIOL/IOLDO nRRAS_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT nRWE_MGIOL/IOLDO nRWE_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT nRCS_MGIOL/IOLDO nRCS_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (2632:2848:3064)(2632:2848:3064)) + (INTERCONNECT RD\[7\]_MGIOL/IOLDO RD\[7\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD\[6\]_MGIOL/IOLDO RD\[6\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (2098:2261:2425)(2098:2261:2425)) + (INTERCONNECT RD\[5\]_MGIOL/IOLDO RD\[5\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD\[4\]_MGIOL/IOLDO RD\[4\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (2632:2848:3064)(2632:2848:3064)) + (INTERCONNECT RD\[3\]_MGIOL/IOLDO RD\[3\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD\[2\]_MGIOL/IOLDO RD\[2\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (2169:2344:2519)(2169:2344:2519)) + (INTERCONNECT RD\[1\]_MGIOL/IOLDO RD\[1\]_I/IOLDO (30:36:43)(30:36:43)) + (INTERCONNECT RA\[11\]_MGIOL/IOLDO RA\[11\]_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RA\[10\]_MGIOL/IOLDO RA\[10\]_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RBA\[1\]_MGIOL/IOLDO RBA\[1\]_I/IOLDO (9:36:63)(9:36:63)) + (INTERCONNECT RBA\[0\]_MGIOL/IOLDO RBA\[0\]_I/IOLDO (9:36:63)(9:36:63)) + ) + ) + ) +) diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.vo b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.vo new file mode 100644 index 0000000..e74518f --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_vo.vo @@ -0,0 +1,5926 @@ + +// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +// ldbanno -n Verilog -o LCMXO2_640HC_impl1_vo.vo -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd +// Netlist created on Sat Aug 19 21:54:57 2023 +// Netlist written on Sat Aug 19 21:55:18 2023 +// Design is for device LCMXO2-640HC +// Design is for package TQFP100 +// Design is for performance grade 4 + +`timescale 1 ns / 1 ps + +module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, + RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML ); + input PHI2; + input [9:0] MAin; + input [1:0] CROW; + input [7:0] Din; + input nCCAS, nCRAS, nFWE, RCLK; + output [7:0] Dout; + output LED; + output [1:0] RBA; + output [11:0] RA; + output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML; + inout [7:0] RD; + wire \FS[0] , \FS_s[0] , RCLK_c, \FS_cry[0] , \FS[17] , \FS_s[17] , + \FS_cry[16] , \FS[16] , \FS[15] , \FS_s[16] , \FS_s[15] , + \FS_cry[14] , \FS[14] , \FS[13] , \FS_s[14] , \FS_s[13] , + \FS_cry[12] , \FS[12] , \FS[11] , \FS_s[12] , \FS_s[11] , + \FS_cry[10] , \FS[10] , \FS[9] , \FS_s[10] , \FS_s[9] , \FS_cry[8] , + \FS[8] , \FS[7] , \FS_s[8] , \FS_s[7] , \FS_cry[6] , \FS[6] , \FS[5] , + \FS_s[6] , \FS_s[5] , \FS_cry[4] , \FS[4] , \FS[3] , \FS_s[4] , + \FS_s[3] , \FS_cry[2] , \FS[2] , \FS[1] , \FS_s[2] , \FS_s[1] , + CmdEnable17_5, N_304, ADWR_7, CmdEnable17_4, CmdEnable17, un1_ADWR, + CmdEnable16, ADSubmitted, ADSubmitted_r, PHI2_c, C1WR_2, + CmdEnable16_4, C1WR_7, CmdEnable16_5, C1Submitted, C1Submitted_s, + nCCAS_c, nCCAS_c_i, CASr, CASr2, CO0, \IS[3] , RASr2, \S[1] , N_79_i, + Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, CmdEnable_s, XOR8MEG11, + \Din_c[1] , CmdLEDEN, N_75, XOR8MEG14, LEDEN, CmdLEDEN_4, XOR8MEG18, + CmdUFMShift, CmdUFMShift_3, CmdUFMShift_fast, CmdUFMShift_3_fast, + \Din_c[0] , CmdUFMWrite_2, CmdUFMWrite, CmdUFMWrite_3, \Din_c[4] , + \Din_c[7] , \Din_c[5] , \Din_c[6] , CmdValid_r, CmdValid, CMDWR_2, + N_36_fast, CmdValid_fast, Cmdn8MEGEN, n8MEGEN, N_93, Cmdn8MEGEN_4, + nFWE_c, nFWE_c_i, nCRAS_c, FWEr, RD_1_i, \IS[0] , Ready, N_250, + N_60_i_i, RA10s_i, \IS[1] , \IS[2] , N_57_i_i, IS_n1_0_x2, N_253_i, + N_58_i_i, N_45, N_116, InitReady3_0_a3_2, InitReady3, InitReady, + N_487_0, \wb_dato[1] , LEDEN_6, un1_FS_38_i, CBR, nCRAS_c_i_0, RASr, + LED_c, \RowA[4] , \MAin_c[4] , nRowColSel, PHI2r, \RA_c[4] , RASr3, + un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1, PHI2r2, N_41, RCKEEN_8_u_1_0, + RCKEEN_8_u_0_0, RCKEEN_8, RCKEEN, \Bank[7] , \Bank[2] , \Bank[5] , + \Bank[6] , RCKE_2, RCKE_c, un1_Bank_1_4, N_258, N_486_0, + Ready_0_sqmuxa, Ready_fast, N_489_0, \MAin_c[1] , \MAin_c[0] , + \RowAd_0[1] , \RowAd_0[0] , \RowA[0] , \RowA[1] , \MAin_c[3] , + \MAin_c[2] , \RowAd_0[3] , \RowAd_0[2] , \RowA[2] , \RowA[3] , + \MAin_c[5] , \RowAd_0[5] , \RowAd_0[4] , \RowA[5] , \MAin_c[7] , + \MAin_c[6] , \RowAd_0[7] , \RowAd_0[6] , \RowA[6] , \RowA[7] , + \MAin_c[9] , \MAin_c[8] , \RowAd_0[9] , \RowAd_0[8] , \RowA[8] , + \RowA[9] , nRRAS_5_u_i_0, XOR8MEG9_1, XOR8MEG_3_u_0_bm, un1_Din_2, + XOR8MEG, XOR8MEG_3, \wb_dato[0] , n8MEGEN_6, wb_rst10, CASr3, N_265, + nRowColSel_0_0, nRRAS_0_sqmuxa, wb_rst11, \wb_adr[0] , N_181, + \wb_adr_cnst_m2[0] , \wb_dati[7] , \wb_adr_5[1] , \wb_adr_5[0] , + un1_wb_rst14_i, \wb_adr[1] , \wb_adr[2] , \wb_adr_5[3] , + \wb_adr_5[2] , \wb_adr[3] , \wb_adr[4] , \wb_adr_5[5] , \wb_adr_5[4] , + \wb_adr[5] , \wb_adr[6] , \wb_adr_5[7] , \wb_adr_5[6] , \wb_adr[7] , + N_245, N_102_2, un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1, + un1_wb_cyc_stb_1_sqmuxa_0, un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i, + wb_cyc_stb, \wb_dati_5_1_iv_0_0[1] , N_94, N_128, + \wb_dati_5_1_iv_0_a3_0_0[1] , \wb_dati_5_0_iv_0_a3_1[0] , wb_we, + N_119, \wb_dati_5[1] , \wb_dati_5[0] , \wb_dati[0] , \wb_dati[1] , + \wb_dati_5_1_iv_0_0[3] , un1_wb_we95_1, N_49, N_240, \wb_dati_5[3] , + \wb_dati_5[2] , \wb_dati[2] , \wb_dati[3] , \wb_dati[4] , + un1_wb_rst11_1_s6_1, \wb_dati_5_1_iv_0_1[4] , \wb_dati_5[5] , + \wb_dati_5[4] , \wb_dati[5] , N_89, \wb_dati_5_1_iv_0_a3_0_0[7] , + \wb_dati_5_1_iv_0_1[7] , \wb_dati_5_1_iv_0_1[6] , \wb_dati_5[7] , + \wb_dati_5[6] , \wb_dati[6] , un1_FS_37_i_0, N_78_i, wb_req, + wb_reqe_0, PHI2r3, wb_rst, wb_rste_0, un1_FS_29, wb_we95, CmdUFMData, + un1_wb_adr_0_sqmuxa_3, un1_wb_adr_0_sqmuxa_2, wb_we_0, un1_PHI2r3_0, + N_102, un1_FS_11, wb_ack, d_N_5_mux, N_254, N_39, nRCAS_0_sqmuxa_1, + N_37_i_1, nRWE_0io_RNO_1, CBR_fast, N_37_i, un1_FS_40_1_0_1, + un1_FS_40_1_0, nRCAS_0io_RNO_0, N_28_i_1, N_249_i, N_230, + nRWE_0io_RNO_3, nRWE_0io_RNO_4, N_131, N_85, N_248, \Din_c[3] , + XOR8MEG14_1, CmdUFMData_1_sqmuxa, \wb_dati_5_1_iv_0_a3_0[6] , N_246, + N_98, \wb_dati_5_1_iv_0_a3_0[3] , N_25, N_59, + \wb_dati_5_1_iv_0_a3_2_0[1] , \wb_dati_5_1_iv_0_a3_1_1[4] , + \wb_dati_5_1_iv_0_a3_3_0[7] , N_91, N_242, un1_FS_20_3, + wb_we95_0_tz_tz_tz, N_120, N_228, wb_we113_i, un1_FS_40_1_1_1, N_139, + un1_FS_40_1_1_tz, N_136, N_28_i_sn, N_25_i, FWEr_fast, N_28_i, + N_102_1, N_233, ADWR_4, ADWR_5, C1WR_0, \Bank[0] , \Bank[1] , + \Bank[4] , un1_Bank_1_3, \Bank[3] , G_8_0_a3_0_0, nRWE_0io_RNO_2, + \Din_c[2] , \RA_c[9] , RDQMH_c, \RA_c[7] , \RA_c[0] , RDQML_c, + \RA_c[1] , \RA_c[8] , \RA_c[2] , \RA_c[6] , \RA_c[3] , \RA_c[5] , + RA11d_0, \CROW_c[0] , \CROW_c[1] , \RBAd_0[1] , \RBAd_0[0] , + \RD_in[0] , \WRD[0] , nRCAS_c, nRRAS_c, nRWE_c, nRCS_c, \RD_in[7] , + \WRD[7] , \RD_in[6] , \WRD[6] , \RD_in[5] , \WRD[5] , \RD_in[4] , + \WRD[4] , \RD_in[3] , \WRD[3] , \RD_in[2] , \WRD[2] , \RD_in[1] , + \WRD[1] , \RA_c[11] , \RA_c[10] , \RBA_c[1] , \RBA_c[0] , VCCI; + + SLICE_0 SLICE_0( .A1(\FS[0] ), .DI1(\FS_s[0] ), .CLK(RCLK_c), .F1(\FS_s[0] ), + .Q1(\FS[0] ), .FCO(\FS_cry[0] )); + SLICE_1 SLICE_1( .A0(\FS[17] ), .DI0(\FS_s[17] ), .CLK(RCLK_c), + .FCI(\FS_cry[16] ), .F0(\FS_s[17] ), .Q0(\FS[17] )); + SLICE_2 SLICE_2( .A1(\FS[16] ), .A0(\FS[15] ), .DI1(\FS_s[16] ), + .DI0(\FS_s[15] ), .CLK(RCLK_c), .FCI(\FS_cry[14] ), .F0(\FS_s[15] ), + .Q0(\FS[15] ), .F1(\FS_s[16] ), .Q1(\FS[16] ), .FCO(\FS_cry[16] )); + SLICE_3 SLICE_3( .A1(\FS[14] ), .A0(\FS[13] ), .DI1(\FS_s[14] ), + .DI0(\FS_s[13] ), .CLK(RCLK_c), .FCI(\FS_cry[12] ), .F0(\FS_s[13] ), + .Q0(\FS[13] ), .F1(\FS_s[14] ), .Q1(\FS[14] ), .FCO(\FS_cry[14] )); + SLICE_4 SLICE_4( .A1(\FS[12] ), .A0(\FS[11] ), .DI1(\FS_s[12] ), + .DI0(\FS_s[11] ), .CLK(RCLK_c), .FCI(\FS_cry[10] ), .F0(\FS_s[11] ), + .Q0(\FS[11] ), .F1(\FS_s[12] ), .Q1(\FS[12] ), .FCO(\FS_cry[12] )); + SLICE_5 SLICE_5( .A1(\FS[10] ), .A0(\FS[9] ), .DI1(\FS_s[10] ), + .DI0(\FS_s[9] ), .CLK(RCLK_c), .FCI(\FS_cry[8] ), .F0(\FS_s[9] ), + .Q0(\FS[9] ), .F1(\FS_s[10] ), .Q1(\FS[10] ), .FCO(\FS_cry[10] )); + SLICE_6 SLICE_6( .A1(\FS[8] ), .A0(\FS[7] ), .DI1(\FS_s[8] ), + .DI0(\FS_s[7] ), .CLK(RCLK_c), .FCI(\FS_cry[6] ), .F0(\FS_s[7] ), + .Q0(\FS[7] ), .F1(\FS_s[8] ), .Q1(\FS[8] ), .FCO(\FS_cry[8] )); + SLICE_7 SLICE_7( .A1(\FS[6] ), .A0(\FS[5] ), .DI1(\FS_s[6] ), + .DI0(\FS_s[5] ), .CLK(RCLK_c), .FCI(\FS_cry[4] ), .F0(\FS_s[5] ), + .Q0(\FS[5] ), .F1(\FS_s[6] ), .Q1(\FS[6] ), .FCO(\FS_cry[6] )); + SLICE_8 SLICE_8( .A1(\FS[4] ), .A0(\FS[3] ), .DI1(\FS_s[4] ), + .DI0(\FS_s[3] ), .CLK(RCLK_c), .FCI(\FS_cry[2] ), .F0(\FS_s[3] ), + .Q0(\FS[3] ), .F1(\FS_s[4] ), .Q1(\FS[4] ), .FCO(\FS_cry[4] )); + SLICE_9 SLICE_9( .A1(\FS[2] ), .A0(\FS[1] ), .DI1(\FS_s[2] ), + .DI0(\FS_s[1] ), .CLK(RCLK_c), .FCI(\FS_cry[0] ), .F0(\FS_s[1] ), + .Q0(\FS[1] ), .F1(\FS_s[2] ), .Q1(\FS[2] ), .FCO(\FS_cry[2] )); + SLICE_10 SLICE_10( .D1(CmdEnable17_5), .C1(N_304), .B1(ADWR_7), + .A1(CmdEnable17_4), .D0(CmdEnable17), .C0(un1_ADWR), .B0(CmdEnable16), + .A0(ADSubmitted), .DI0(ADSubmitted_r), .CLK(PHI2_c), .F0(ADSubmitted_r), + .Q0(ADSubmitted), .F1(CmdEnable17)); + SLICE_11 SLICE_11( .D1(C1WR_2), .C1(CmdEnable16_4), .B1(C1WR_7), + .A1(CmdEnable16_5), .C0(CmdEnable16), .B0(C1Submitted), .A0(un1_ADWR), + .DI0(C1Submitted_s), .CLK(PHI2_c), .F0(C1Submitted_s), .Q0(C1Submitted), + .F1(CmdEnable16)); + SLICE_12 SLICE_12( .A0(nCCAS_c), .DI0(nCCAS_c_i), .M1(CASr), .CLK(RCLK_c), + .F0(nCCAS_c_i), .Q0(CASr), .Q1(CASr2)); + SLICE_16 SLICE_16( .D1(CO0), .C1(\IS[3] ), .B1(RASr2), .A1(\S[1] ), .D0(CO0), + .A0(\S[1] ), .DI0(N_79_i), .LSR(RASr2), .CLK(RCLK_c), .F0(N_79_i), + .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); + SLICE_17 SLICE_17( .D1(ADSubmitted), .B1(CmdEnable), .D0(un1_CMDWR), + .C0(C1Submitted), .B0(CmdEnable17), .A0(CmdEnable), .DI0(CmdEnable_s), + .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); + SLICE_18 SLICE_18( .D1(XOR8MEG11), .C1(\Din_c[1] ), .A1(CmdLEDEN), .C0(N_75), + .B0(XOR8MEG14), .A0(LEDEN), .DI0(CmdLEDEN_4), .CE(XOR8MEG18), .CLK(PHI2_c), + .F0(CmdLEDEN_4), .Q0(CmdLEDEN), .F1(N_75)); + SLICE_20 SLICE_20( .D0(XOR8MEG14), .C0(\Din_c[1] ), .B0(XOR8MEG11), + .A0(CmdUFMShift), .DI0(CmdUFMShift_3), .CE(XOR8MEG18), .CLK(PHI2_c), + .F0(CmdUFMShift_3), .Q0(CmdUFMShift)); + SLICE_21 SLICE_21( .D0(\Din_c[1] ), .C0(XOR8MEG14), .B0(XOR8MEG11), + .A0(CmdUFMShift_fast), .DI0(CmdUFMShift_3_fast), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(CmdUFMShift_3_fast), .Q0(CmdUFMShift_fast)); + SLICE_22 SLICE_22( .C1(\Din_c[0] ), .A1(\Din_c[1] ), .D0(XOR8MEG14), + .C0(CmdUFMWrite_2), .B0(XOR8MEG11), .A0(CmdUFMWrite), .DI0(CmdUFMWrite_3), + .CE(XOR8MEG18), .CLK(PHI2_c), .F0(CmdUFMWrite_3), .Q0(CmdUFMWrite), + .F1(CmdUFMWrite_2)); + SLICE_23 SLICE_23( .D1(\Din_c[4] ), .C1(\Din_c[7] ), .B1(\Din_c[5] ), + .A1(\Din_c[6] ), .D0(XOR8MEG14), .C0(XOR8MEG18), .B0(XOR8MEG11), + .DI0(CmdValid_r), .CLK(PHI2_c), .F0(CmdValid_r), .Q0(CmdValid), + .F1(XOR8MEG11)); + SLICE_24 SLICE_24( .C1(CmdEnable), .B1(C1WR_7), .A1(CMDWR_2), .D0(XOR8MEG14), + .B0(XOR8MEG18), .A0(XOR8MEG11), .DI0(N_36_fast), .CLK(PHI2_c), + .F0(N_36_fast), .Q0(CmdValid_fast), .F1(XOR8MEG18)); + SLICE_25 SLICE_25( .D1(XOR8MEG11), .C1(\Din_c[0] ), .A1(Cmdn8MEGEN), + .D0(XOR8MEG14), .C0(n8MEGEN), .B0(N_93), .DI0(Cmdn8MEGEN_4), + .CE(XOR8MEG18), .CLK(PHI2_c), .F0(Cmdn8MEGEN_4), .Q0(Cmdn8MEGEN), + .F1(N_93)); + SLICE_26 SLICE_26( .D1(nFWE_c), .C1(nCCAS_c), .C0(nFWE_c), .DI0(nFWE_c_i), + .CLK(nCRAS_c), .F0(nFWE_c_i), .Q0(FWEr), .F1(RD_1_i)); + SLICE_28 SLICE_28( .D1(\IS[0] ), .C1(Ready), .B1(\IS[3] ), .A1(N_250), + .D0(\IS[0] ), .C0(Ready), .A0(N_250), .DI0(N_60_i_i), .CLK(RCLK_c), + .F0(N_60_i_i), .Q0(\IS[0] ), .F1(RA10s_i)); + SLICE_29 SLICE_29( .D1(\IS[1] ), .C1(\IS[0] ), .A1(\IS[2] ), .C0(\IS[0] ), + .A0(\IS[1] ), .DI1(N_57_i_i), .DI0(IS_n1_0_x2), .CE(N_253_i), .CLK(RCLK_c), + .F0(IS_n1_0_x2), .Q0(\IS[1] ), .F1(N_57_i_i), .Q1(\IS[2] )); + SLICE_30 SLICE_30( .D1(\IS[1] ), .A1(\IS[2] ), .D0(\IS[3] ), .C0(\IS[0] ), + .B0(\IS[1] ), .A0(\IS[2] ), .DI0(N_58_i_i), .CE(N_253_i), .CLK(RCLK_c), + .F0(N_58_i_i), .Q0(\IS[3] ), .F1(N_45)); + SLICE_31 SLICE_31( .D1(N_116), .C1(\FS[14] ), .B1(InitReady3_0_a3_2), + .A1(\FS[13] ), .C0(InitReady3), .A0(InitReady), .DI0(N_487_0), + .CLK(RCLK_c), .F0(N_487_0), .Q0(InitReady), .F1(InitReady3)); + SLICE_32 SLICE_32( .D0(InitReady), .B0(CmdLEDEN), .A0(\wb_dato[1] ), + .DI0(LEDEN_6), .CE(un1_FS_38_i), .CLK(RCLK_c), .F0(LEDEN_6), .Q0(LEDEN)); + SLICE_34 SLICE_34( .D1(nCRAS_c), .C1(LEDEN), .A1(CBR), .D0(nCRAS_c), + .DI0(nCRAS_c_i_0), .M1(RASr), .CLK(RCLK_c), .F0(nCRAS_c_i_0), .Q0(RASr), + .F1(LED_c), .Q1(RASr2)); + SLICE_35 SLICE_35( .D1(\FS[3] ), .A1(\FS[7] ), .D0(\RowA[4] ), + .C0(\MAin_c[4] ), .A0(nRowColSel), .M1(PHI2r), .M0(RASr2), .CLK(RCLK_c), + .F0(\RA_c[4] ), .Q0(RASr3), .F1(un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1), + .Q1(PHI2r2)); + SLICE_36 SLICE_36( .D1(Ready), .C1(RASr2), .B1(InitReady), .A1(N_41), + .D0(CBR), .C0(RCKEEN_8_u_1_0), .B0(RCKEEN_8_u_0_0), .A0(Ready), + .DI0(RCKEEN_8), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), + .F1(RCKEEN_8_u_0_0)); + SLICE_37 SLICE_37( .D1(\Bank[7] ), .C1(\Bank[2] ), .B1(\Bank[5] ), + .A1(\Bank[6] ), .D0(RASr2), .C0(RCKEEN), .B0(RASr), .A0(RASr3), + .DI0(RCKE_2), .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(un1_Bank_1_4)); + SLICE_38 SLICE_38( .D1(\IS[1] ), .C1(\IS[0] ), .A1(\IS[2] ), .D0(InitReady), + .C0(N_258), .B0(Ready_0_sqmuxa_0_a3_2), .A0(Ready), .DI0(N_486_0), + .CLK(RCLK_c), .F0(N_486_0), .Q0(Ready), .F1(N_258)); + SLICE_39 SLICE_39( .D1(InitReady), .C1(N_258), .B1(Ready_0_sqmuxa_0_a3_2), + .A1(Ready), .C0(Ready_0_sqmuxa), .A0(Ready_fast), .DI0(N_489_0), + .CLK(RCLK_c), .F0(N_489_0), .Q0(Ready_fast), .F1(Ready_0_sqmuxa)); + SLICE_40 SLICE_40( .C1(\MAin_c[1] ), .B1(Ready_fast), .C0(\MAin_c[0] ), + .B0(Ready_fast), .DI1(\RowAd_0[1] ), .DI0(\RowAd_0[0] ), .CLK(nCRAS_c), + .F0(\RowAd_0[0] ), .Q0(\RowA[0] ), .F1(\RowAd_0[1] ), .Q1(\RowA[1] )); + SLICE_41 SLICE_41( .D1(Ready_fast), .B1(\MAin_c[3] ), .D0(Ready_fast), + .C0(\MAin_c[2] ), .DI1(\RowAd_0[3] ), .DI0(\RowAd_0[2] ), .CLK(nCRAS_c), + .F0(\RowAd_0[2] ), .Q0(\RowA[2] ), .F1(\RowAd_0[3] ), .Q1(\RowA[3] )); + SLICE_42 SLICE_42( .D1(\MAin_c[5] ), .A1(Ready_fast), .C0(\MAin_c[4] ), + .A0(Ready_fast), .DI1(\RowAd_0[5] ), .DI0(\RowAd_0[4] ), .CLK(nCRAS_c), + .F0(\RowAd_0[4] ), .Q0(\RowA[4] ), .F1(\RowAd_0[5] ), .Q1(\RowA[5] )); + SLICE_43 SLICE_43( .C1(\MAin_c[7] ), .B1(Ready_fast), .C0(\MAin_c[6] ), + .B0(Ready_fast), .DI1(\RowAd_0[7] ), .DI0(\RowAd_0[6] ), .CLK(nCRAS_c), + .F0(\RowAd_0[6] ), .Q0(\RowA[6] ), .F1(\RowAd_0[7] ), .Q1(\RowA[7] )); + SLICE_44 SLICE_44( .D1(Ready_fast), .B1(\MAin_c[9] ), .D0(Ready_fast), + .A0(\MAin_c[8] ), .DI1(\RowAd_0[9] ), .DI0(\RowAd_0[8] ), .CLK(nCRAS_c), + .F0(\RowAd_0[8] ), .Q0(\RowA[8] ), .F1(\RowAd_0[9] ), .Q1(\RowA[9] )); + SLICE_45 SLICE_45( .D1(RCKE_c), .C1(N_41), .B1(Ready), .A1(RASr2), + .D0(\S[1] ), .C0(CO0), .DI0(N_41), .LSR(RASr2), .CLK(RCLK_c), .F0(N_41), + .Q0(\S[1] ), .F1(nRRAS_5_u_i_0)); + SLICE_46 SLICE_46( .D1(XOR8MEG9_1), .C1(\Din_c[1] ), .B1(\Din_c[0] ), + .A1(LEDEN), .C0(XOR8MEG_3_u_0_bm), .B0(un1_Din_2), .A0(XOR8MEG), + .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(XOR8MEG_3), + .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_bm)); + SLICE_47 SLICE_47( .D1(InitReady), .C1(\FS[17] ), .B1(\FS[16] ), + .A1(\FS[15] ), .D0(InitReady), .C0(\wb_dato[0] ), .A0(Cmdn8MEGEN), + .DI0(n8MEGEN_6), .CE(un1_FS_38_i), .CLK(RCLK_c), .F0(n8MEGEN_6), + .Q0(n8MEGEN), .F1(wb_rst10)); + SLICE_48 SLICE_48( .D1(CASr3), .C1(FWEr), .B1(CBR), .A1(Ready), .D0(\S[1] ), + .C0(Ready), .B0(N_265), .A0(CO0), .DI0(nRowColSel_0_0), + .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), + .F1(N_265)); + SLICE_49 SLICE_49( .D1(wb_rst11), .C1(\wb_adr[0] ), .B1(InitReady), + .A1(N_181), .D0(\wb_adr_cnst_m2[0] ), .B0(InitReady), .A0(\wb_dati[7] ), + .DI1(\wb_adr_5[1] ), .DI0(\wb_adr_5[0] ), .CE(un1_wb_rst14_i), + .CLK(RCLK_c), .F0(\wb_adr_5[0] ), .Q0(\wb_adr[0] ), .F1(\wb_adr_5[1] ), + .Q1(\wb_adr[1] )); + SLICE_50 SLICE_50( .B1(\wb_adr[2] ), .A1(InitReady), .C0(\wb_adr[1] ), + .A0(InitReady), .DI1(\wb_adr_5[3] ), .DI0(\wb_adr_5[2] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[2] ), .Q0(\wb_adr[2] ), + .F1(\wb_adr_5[3] ), .Q1(\wb_adr[3] )); + SLICE_51 SLICE_51( .D1(wb_rst11), .C1(InitReady), .A1(\wb_adr[4] ), + .D0(wb_rst11), .C0(InitReady), .A0(\wb_adr[3] ), .DI1(\wb_adr_5[5] ), + .DI0(\wb_adr_5[4] ), .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[4] ), + .Q0(\wb_adr[4] ), .F1(\wb_adr_5[5] ), .Q1(\wb_adr[5] )); + SLICE_52 SLICE_52( .D1(InitReady), .A1(\wb_adr[6] ), .D0(InitReady), + .C0(wb_rst11), .B0(\wb_adr[5] ), .DI1(\wb_adr_5[7] ), .DI0(\wb_adr_5[6] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_adr_5[6] ), .Q0(\wb_adr[6] ), + .F1(\wb_adr_5[7] ), .Q1(\wb_adr[7] )); + SLICE_53 SLICE_53( .D1(un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1), .C1(\FS[5] ), + .B1(\FS[2] ), .A1(\FS[4] ), .D0(wb_rst11), .C0(N_245), .B0(N_102_2), + .A0(un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1), .DI0(un1_wb_cyc_stb_1_sqmuxa_0), + .CE(un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i), .LSR(wb_rst10), .CLK(RCLK_c), + .F0(un1_wb_cyc_stb_1_sqmuxa_0), .Q0(wb_cyc_stb), .F1(N_102_2)); + SLICE_54 SLICE_54( .D1(\wb_dati_5_1_iv_0_0[1] ), .C1(N_94), .B1(N_128), + .A1(\wb_dati_5_1_iv_0_a3_0_0[1] ), .D0(\wb_dati_5_0_iv_0_a3_1[0] ), + .C0(wb_we), .B0(InitReady), .A0(N_119), .DI1(\wb_dati_5[1] ), + .DI0(\wb_dati_5[0] ), .CE(un1_wb_rst14_i), .CLK(RCLK_c), + .F0(\wb_dati_5[0] ), .Q0(\wb_dati[0] ), .F1(\wb_dati_5[1] ), + .Q1(\wb_dati[1] )); + SLICE_55 SLICE_55( .D1(wb_rst11), .C1(\wb_dati_5_1_iv_0_0[3] ), + .B1(un1_wb_we95_1), .A1(N_94), .D0(N_49), .C0(\wb_dati[1] ), .B0(N_240), + .A0(InitReady), .DI1(\wb_dati_5[3] ), .DI0(\wb_dati_5[2] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_dati_5[2] ), .Q0(\wb_dati[2] ), + .F1(\wb_dati_5[3] ), .Q1(\wb_dati[3] )); + SLICE_56 SLICE_56( .D1(N_49), .C1(InitReady), .B1(N_240), .A1(\wb_dati[4] ), + .D0(un1_wb_rst11_1_s6_1), .C0(InitReady), .B0(\wb_dati[3] ), + .A0(\wb_dati_5_1_iv_0_1[4] ), .DI1(\wb_dati_5[5] ), .DI0(\wb_dati_5[4] ), + .CE(un1_wb_rst14_i), .CLK(RCLK_c), .F0(\wb_dati_5[4] ), .Q0(\wb_dati[4] ), + .F1(\wb_dati_5[5] ), .Q1(\wb_dati[5] )); + SLICE_57 SLICE_57( .D1(N_89), .C1(\wb_dati_5_1_iv_0_a3_0_0[7] ), + .B1(\wb_dati_5_1_iv_0_1[7] ), .A1(N_119), .D0(\wb_dati_5_1_iv_0_1[6] ), + .C0(\wb_dati_5_1_iv_0_a3_0_0[1] ), .B0(N_128), .DI1(\wb_dati_5[7] ), + .DI0(\wb_dati_5[6] ), .CE(un1_wb_rst14_i), .CLK(RCLK_c), + .F0(\wb_dati_5[6] ), .Q0(\wb_dati[6] ), .F1(\wb_dati_5[7] ), + .Q1(\wb_dati[7] )); + SLICE_58 SLICE_58( .C1(\FS[14] ), .B1(\FS[12] ), .A1(\FS[13] ), + .D0(wb_rst11), .C0(un1_FS_37_i_0), .B0(N_78_i), .A0(wb_req), + .DI0(wb_reqe_0), .LSR(wb_rst10), .CLK(RCLK_c), .F0(wb_reqe_0), .Q0(wb_req), + .F1(un1_FS_37_i_0)); + SLICE_59 SLICE_59( .D1(PHI2r3), .C1(InitReady), .B1(CmdValid), .A1(PHI2r2), + .D0(wb_rst10), .C0(wb_rst), .B0(N_78_i), .A0(\FS[14] ), .DI0(wb_rste_0), + .CLK(RCLK_c), .F0(wb_rste_0), .Q0(wb_rst), .F1(N_78_i)); + SLICE_60 SLICE_60( .C1(un1_FS_29), .A1(wb_we95), .D0(CmdUFMData), + .C0(un1_wb_adr_0_sqmuxa_3), .B0(InitReady), .A0(un1_wb_adr_0_sqmuxa_2), + .DI0(wb_we_0), .CE(un1_wb_rst14_i), .LSR(wb_rst10), .CLK(RCLK_c), + .F0(wb_we_0), .Q0(wb_we), .F1(un1_wb_adr_0_sqmuxa_2)); + wb_cyc_stb_RNO_SLICE_61 \wb_cyc_stb_RNO/SLICE_61 ( .D1(CmdValid), + .C1(CmdUFMWrite), .B1(CmdUFMShift), .A1(un1_PHI2r3_0), .D0(N_102), + .C0(un1_FS_11), .A0(wb_ack), .M0(InitReady), + .OFX0(un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i)); + SLICE_62 SLICE_62( .D1(un1_PHI2r3_0), .C1(d_N_5_mux), .B1(CmdValid_fast), + .A1(InitReady), .D0(un1_FS_29), .C0(un1_FS_11), .B0(wb_ack), + .A0(InitReady), .F0(d_N_5_mux), .F1(un1_FS_38_i)); + SLICE_63 SLICE_63( .D1(\S[1] ), .C1(CO0), .B1(InitReady), .A1(RASr2), + .D0(\S[1] ), .C0(N_250), .B0(N_254), .A0(Ready), .F0(N_39), .F1(N_250)); + SLICE_64 SLICE_64( .D1(Ready), .C1(nRCAS_0_sqmuxa_1), .B1(N_37_i_1), + .A1(nRWE_0io_RNO_1), .D0(Ready), .C0(RASr2), .B0(CBR_fast), .A0(N_41), + .F0(nRCAS_0_sqmuxa_1), .F1(N_37_i)); + SLICE_65 SLICE_65( .D1(un1_FS_40_1_0_1), .C1(\FS[10] ), .B1(\FS[13] ), + .A1(\FS[9] ), .D0(\FS[14] ), .C0(\FS[9] ), .B0(\FS[12] ), .A0(\FS[11] ), + .F0(un1_FS_40_1_0_1), .F1(un1_FS_40_1_0)); + SLICE_66 SLICE_66( .D1(\S[1] ), .B1(N_39), .A1(CBR), .D0(\S[1] ), + .C0(nRCAS_0io_RNO_0), .B0(nRCAS_0_sqmuxa_1), .A0(N_28_i_1), .F0(N_249_i), + .F1(nRCAS_0io_RNO_0)); + SLICE_67 SLICE_67( .D1(wb_rst11), .C1(\FS[9] ), .B1(\FS[13] ), .A1(N_230), + .D0(wb_rst11), .C0(un1_wb_we95_1), .B0(N_94), .F0(N_49), .F1(N_94)); + SLICE_68 SLICE_68( .D1(nRWE_0io_RNO_3), .C1(nRWE_0io_RNO_4), .A1(Ready), + .D0(\IS[2] ), .C0(\IS[1] ), .B0(\IS[0] ), .A0(N_250), .F0(nRWE_0io_RNO_4), + .F1(nRWE_0io_RNO_1)); + SLICE_69 SLICE_69( .D1(RCKE_c), .C1(nRRAS_0_sqmuxa), .A1(RASr2), .D0(Ready), + .B0(\S[1] ), .A0(CO0), .F0(nRRAS_0_sqmuxa), .F1(nRWE_0io_RNO_3)); + SLICE_70 SLICE_70( .D1(\FS[14] ), .C1(N_119), .B1(\FS[13] ), .A1(N_131), + .C0(\FS[11] ), .B0(\FS[12] ), .A0(\FS[10] ), .F0(N_131), .F1(N_85)); + SLICE_71 SLICE_71( .C1(\FS[10] ), .A1(\FS[11] ), .D0(\FS[14] ), + .C0(\FS[13] ), .B0(\FS[12] ), .A0(N_116), + .F0(\wb_dati_5_1_iv_0_a3_0_0[7] ), .F1(N_116)); + SLICE_72 SLICE_72( .D1(wb_rst11), .C1(\FS[14] ), .B1(\FS[13] ), .A1(N_248), + .D0(\FS[12] ), .C0(\FS[11] ), .B0(\FS[9] ), .A0(\FS[10] ), .F0(N_248), + .F1(N_240)); + SLICE_73 SLICE_73( .D1(\Din_c[7] ), .C1(\Din_c[3] ), .B1(XOR8MEG14_1), + .A1(\Din_c[5] ), .D0(C1WR_7), .C0(CMDWR_2), .B0(XOR8MEG14), .A0(CmdEnable), + .M0(\Din_c[0] ), .CE(CmdUFMData_1_sqmuxa), .CLK(PHI2_c), + .F0(CmdUFMData_1_sqmuxa), .Q0(CmdUFMData), .F1(XOR8MEG14)); + SLICE_74 SLICE_74( .D1(\wb_dati_5_1_iv_0_a3_0[6] ), .C1(\FS[10] ), + .B1(\FS[12] ), .A1(N_246), .D0(N_85), .C0(\wb_dati[5] ), .B0(InitReady), + .A0(N_98), .F0(\wb_dati_5_1_iv_0_1[6] ), .F1(N_98)); + SLICE_75 SLICE_75( .D1(\FS[11] ), .B1(\FS[14] ), .A1(wb_rst11), + .D0(\wb_dati_5_1_iv_0_a3_0[3] ), .C0(N_128), .B0(\wb_dati[2] ), + .A0(InitReady), .F0(\wb_dati_5_1_iv_0_0[3] ), .F1(N_128)); + SLICE_76 SLICE_76( .D1(InitReady), .C1(\FS[15] ), .B1(\FS[16] ), + .A1(\FS[17] ), .C0(wb_rst11), .A0(un1_wb_we95_1), .F0(un1_wb_rst11_1_s6_1), + .F1(wb_rst11)); + SLICE_77 SLICE_77( .D1(\IS[1] ), .C1(\IS[3] ), .B1(\IS[2] ), + .D0(nRRAS_5_u_i_0), .C0(N_250), .B0(N_254), .A0(\IS[0] ), .F0(N_25), + .F1(N_254)); + SLICE_78 SLICE_78( .C1(\FS[12] ), .B1(\FS[9] ), .A1(\FS[10] ), .D0(N_59), + .C0(N_128), .B0(\FS[13] ), .F0(N_89), .F1(N_59)); + SLICE_79 SLICE_79( .C1(\FS[14] ), .B1(\FS[13] ), .A1(wb_rst11), + .D0(InitReady), .C0(\wb_dati_5_1_iv_0_a3_2_0[1] ), .B0(\wb_dati[0] ), + .A0(N_248), .F0(\wb_dati_5_1_iv_0_0[1] ), + .F1(\wb_dati_5_1_iv_0_a3_2_0[1] )); + SLICE_80 SLICE_80( .D1(\FS[12] ), .C1(\FS[9] ), .B1(\FS[10] ), .A1(\FS[13] ), + .D0(N_248), .C0(\wb_dati_5_1_iv_0_a3_1_1[4] ), .B0(N_85), .A0(N_246), + .F0(\wb_dati_5_1_iv_0_1[4] ), .F1(\wb_dati_5_1_iv_0_a3_1_1[4] )); + SLICE_81 SLICE_81( .D1(\FS[12] ), .C1(\wb_dati_5_1_iv_0_a3_3_0[7] ), + .B1(\FS[10] ), .A1(wb_rst11), .D0(InitReady), .C0(N_91), .B0(N_242), + .A0(\wb_dati[6] ), .F0(\wb_dati_5_1_iv_0_1[7] ), .F1(N_242)); + SLICE_82 SLICE_82( .B1(\FS[13] ), .A1(\FS[14] ), .D0(\FS[11] ), + .C0(un1_FS_20_3), .B0(\FS[12] ), .A0(wb_we95_0_tz_tz_tz), + .F0(un1_wb_we95_1), .F1(un1_FS_20_3)); + SLICE_83 SLICE_83( .D1(\FS[10] ), .B1(\FS[12] ), .A1(\FS[11] ), .D0(N_120), + .C0(\FS[14] ), .B0(\FS[13] ), .A0(N_119), .F0(N_91), .F1(N_120)); + SLICE_84 SLICE_84( .D1(wb_we95_0_tz_tz_tz), .C1(\FS[13] ), .B1(\FS[14] ), + .A1(N_228), .D0(wb_we113_i), .C0(un1_FS_29), .A0(wb_we95), .F0(N_181), + .F1(un1_FS_29)); + SLICE_85 SLICE_85( .C1(un1_FS_40_1_0), .B1(wb_rst11), .A1(un1_FS_40_1_1_1), + .D0(\FS[10] ), .C0(N_139), .B0(un1_FS_40_1_1_tz), .A0(\FS[9] ), + .F0(un1_FS_40_1_1_1), .F1(\wb_adr_cnst_m2[0] )); + SLICE_86 SLICE_86( .D1(\FS[11] ), .C1(\FS[9] ), .B1(\FS[10] ), .A1(\FS[12] ), + .D0(\FS[14] ), .C0(N_136), .B0(\FS[13] ), .F0(N_139), .F1(N_136)); + SLICE_87 SLICE_87( .D1(\FS[9] ), .B1(\FS[10] ), .D0(\FS[11] ), + .C0(wb_we95_0_tz_tz_tz), .B0(\FS[12] ), .A0(un1_FS_20_3), .F0(wb_we95), + .F1(wb_we95_0_tz_tz_tz)); + SLICE_88 SLICE_88( .D1(N_28_i_sn), .C1(N_25_i), .B1(N_28_i_1), .A1(Ready), + .D0(CO0), .C0(CASr2), .B0(CASr3), .A0(FWEr_fast), .F0(N_28_i_1), + .F1(N_28_i)); + SLICE_89 SLICE_89( .B1(\FS[0] ), .A1(wb_req), .D0(InitReady), .C0(N_102_2), + .B0(N_102_1), .A0(N_233), .F0(N_102), .F1(N_233)); + SLICE_90 SLICE_90( .D1(CMDWR_2), .C1(C1WR_7), .B1(ADWR_7), .A1(C1WR_2), + .D0(\MAin_c[6] ), .C0(N_304), .B0(\MAin_c[5] ), .A0(\MAin_c[7] ), + .F0(C1WR_7), .F1(un1_CMDWR)); + SLICE_91 SLICE_91( .C1(ADWR_7), .B1(C1WR_7), .A1(C1WR_2), .D0(\MAin_c[3] ), + .C0(\MAin_c[1] ), .B0(ADWR_4), .A0(ADWR_5), .F0(ADWR_7), .F1(un1_ADWR)); + SLICE_92 SLICE_92( .D1(\MAin_c[4] ), .C1(\MAin_c[3] ), .B1(\MAin_c[2] ), + .D0(nFWE_c), .C0(C1WR_0), .B0(\MAin_c[0] ), .A0(\MAin_c[1] ), .F0(C1WR_2), + .F1(C1WR_0)); + SLICE_93 SLICE_93( .D1(wb_we113_i), .C1(wb_rst11), .A1(un1_FS_37_i_0), + .D0(wb_we95_0_tz_tz_tz), .C0(\FS[14] ), .B0(\FS[13] ), .A0(N_228), + .F0(wb_we113_i), .F1(un1_wb_adr_0_sqmuxa_3)); + SLICE_94 SLICE_94( .B1(\Bank[0] ), .A1(\Bank[1] ), .D0(\Bank[4] ), + .C0(un1_Bank_1_3), .B0(un1_Bank_1_4), .A0(\Bank[3] ), .F0(N_304), + .F1(un1_Bank_1_3)); + SLICE_95 SLICE_95( .B1(PHI2r3), .A1(PHI2r2), .D0(CmdValid), .C0(CmdUFMShift), + .B0(un1_PHI2r3_0), .A0(InitReady), .F0(N_245), .F1(un1_PHI2r3_0)); + SLICE_96 SLICE_96( .D1(\FS[6] ), .C1(\FS[8] ), .A1(\FS[1] ), .C0(N_102_1), + .B0(wb_req), .A0(\FS[0] ), .F0(un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1), + .F1(N_102_1)); + SLICE_97 SLICE_97( .C1(PHI2r2), .B1(PHI2r3), .D0(CmdValid_fast), + .C0(InitReady), .B0(CmdUFMShift_fast), .A0(G_8_0_a3_0_0), + .F0(un1_wb_rst14_i), .F1(G_8_0_a3_0_0)); + SLICE_98 SLICE_98( .D1(\S[1] ), .C1(CASr3), .B1(CO0), .A1(CASr2), .D0(FWEr), + .C0(nRWE_0io_RNO_2), .A0(CBR_fast), .F0(N_37_i_1), .F1(nRWE_0io_RNO_2)); + SLICE_99 SLICE_99( .D1(\FS[10] ), .C1(\FS[12] ), .B1(\FS[13] ), .A1(\FS[9] ), + .D0(\FS[10] ), .C0(\FS[12] ), .B0(\FS[13] ), .A0(\FS[9] ), + .F0(\wb_dati_5_1_iv_0_a3_0[3] ), .F1(\wb_dati_5_1_iv_0_a3_0_0[1] )); + SLICE_100 SLICE_100( .D1(\FS[14] ), .C1(\FS[13] ), .B1(\FS[12] ), + .A1(\FS[11] ), .D0(\FS[14] ), .C0(\FS[10] ), .B0(\FS[12] ), .A0(\FS[11] ), + .F0(N_230), .F1(un1_FS_40_1_1_tz)); + SLICE_101 SLICE_101( .D1(\Din_c[7] ), .C1(\Din_c[4] ), .B1(\Din_c[3] ), + .A1(\Din_c[5] ), .D0(\Din_c[7] ), .C0(\Din_c[4] ), .B0(\Din_c[6] ), + .A0(\Din_c[5] ), .F0(un1_Din_2), .F1(CmdEnable17_5)); + SLICE_102 SLICE_102( .D1(\FS[16] ), .C1(\FS[12] ), .B1(\FS[17] ), + .A1(\FS[15] ), .D0(\FS[16] ), .C0(\FS[15] ), .B0(\FS[17] ), .F0(un1_FS_11), + .F1(InitReady3_0_a3_2)); + SLICE_103 SLICE_103( .D1(\FS[13] ), .C1(\FS[9] ), .B1(\FS[11] ), + .D0(\FS[13] ), .C0(\FS[9] ), .B0(\FS[11] ), .A0(\FS[14] ), + .F0(\wb_dati_5_1_iv_0_a3_3_0[7] ), .F1(\wb_dati_5_1_iv_0_a3_0[6] )); + SLICE_104 SLICE_104( .D1(\Din_c[0] ), .C1(\Din_c[1] ), .B1(\Din_c[6] ), + .A1(\Din_c[5] ), .D0(\Din_c[2] ), .C0(\Din_c[0] ), .B0(\Din_c[6] ), + .A0(\Din_c[1] ), .F0(CmdEnable17_4), .F1(CmdEnable16_4)); + SLICE_105 SLICE_105( .D1(nFWE_c), .C1(\MAin_c[6] ), .A1(\MAin_c[0] ), + .D0(\MAin_c[1] ), .C0(C1WR_0), .B0(nFWE_c), .A0(\MAin_c[0] ), + .M1(nCCAS_c_i), .M0(nCCAS_c_i), .CLK(nCRAS_c), .F0(CMDWR_2), .Q0(CBR), + .F1(ADWR_4), .Q1(CBR_fast)); + SLICE_106 SLICE_106( .D1(\Din_c[2] ), .B1(\Din_c[3] ), .D0(\Din_c[2] ), + .C0(\Din_c[7] ), .B0(\Din_c[3] ), .A0(\Din_c[4] ), .M0(CASr2), + .CLK(RCLK_c), .F0(CmdEnable16_5), .Q0(CASr3), .F1(XOR8MEG9_1)); + SLICE_107 SLICE_107( .C1(nRowColSel), .B1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\MAin_c[9] ), .A0(\RowA[9] ), .F0(\RA_c[9] ), .F1(RDQMH_c)); + SLICE_108 SLICE_108( .D1(N_250), .C1(nRRAS_5_u_i_0), .B1(\IS[0] ), + .A1(N_254), .D0(Ready), .C0(N_250), .M0(nFWE_c_i), .CLK(nCRAS_c), + .F0(N_253_i), .Q0(FWEr_fast), .F1(N_25_i)); + SLICE_109 SLICE_109( .D1(wb_rst11), .A1(\FS[14] ), .D0(wb_rst11), + .C0(\FS[9] ), .F0(N_119), .F1(N_246)); + SLICE_110 SLICE_110( .C1(\FS[11] ), .B1(\FS[12] ), .D0(\FS[13] ), .C0(N_116), + .B0(\FS[12] ), .A0(\FS[14] ), .F0(\wb_dati_5_0_iv_0_a3_1[0] ), .F1(N_228)); + SLICE_111 SLICE_111( .C1(\RowA[7] ), .B1(nRowColSel), .A1(\MAin_c[7] ), + .D0(\MAin_c[4] ), .C0(\MAin_c[2] ), .B0(\MAin_c[5] ), .A0(\MAin_c[7] ), + .F0(ADWR_5), .F1(\RA_c[7] )); + SLICE_112 SLICE_112( .C1(nRowColSel), .B1(\MAin_c[9] ), .D0(nRowColSel), + .C0(\MAin_c[0] ), .B0(\RowA[0] ), .F0(\RA_c[0] ), .F1(RDQML_c)); + SLICE_113 SLICE_113( .D1(\RowA[8] ), .C1(\MAin_c[8] ), .A1(nRowColSel), + .D0(\RowA[1] ), .C0(\MAin_c[1] ), .A0(nRowColSel), .F0(\RA_c[1] ), + .F1(\RA_c[8] )); + SLICE_114 SLICE_114( .D1(\RowA[6] ), .C1(\MAin_c[6] ), .A1(nRowColSel), + .C0(\MAin_c[2] ), .B0(\RowA[2] ), .A0(nRowColSel), .F0(\RA_c[2] ), + .F1(\RA_c[6] )); + SLICE_115 SLICE_115( .D1(\RowA[5] ), .B1(nRowColSel), .A1(\MAin_c[5] ), + .C0(\RowA[3] ), .B0(\MAin_c[3] ), .A0(nRowColSel), .F0(\RA_c[3] ), + .F1(\RA_c[5] )); + SLICE_116 SLICE_116( .D1(\Din_c[6] ), .C1(n8MEGEN), .B1(Ready_fast), + .A1(XOR8MEG), .B0(\Din_c[4] ), .A0(\Din_c[6] ), .F0(XOR8MEG14_1), + .F1(RA11d_0)); + SLICE_117 SLICE_117( .D1(\S[1] ), .C1(CBR_fast), .B1(N_25), .D0(\S[1] ), + .C0(CO0), .B0(FWEr), .A0(CASr2), .F0(RCKEEN_8_u_1_0), .F1(N_28_i_sn)); + SLICE_118 SLICE_118( .C1(Ready_fast), .B1(\CROW_c[0] ), .C0(Ready_fast), + .B0(\CROW_c[1] ), .M0(PHI2r2), .CLK(RCLK_c), .F0(\RBAd_0[1] ), .Q0(PHI2r3), + .F1(\RBAd_0[0] )); + RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .IOLDO(\WRD[0] ), .PADDT(RD_1_i), + .RD0(RD[0])); + RD_0__MGIOL \RD[0]_MGIOL ( .IOLDO(\WRD[0] ), .OPOS(\Din_c[0] ), + .CLK(nCCAS_c)); + Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); + PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); + PHI2_MGIOL PHI2_MGIOL( .DI(PHI2_c), .CLK(RCLK_c), .IN(PHI2r)); + RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); + RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); + nRCAS nRCAS_I( .IOLDO(nRCAS_c), .nRCAS(nRCAS)); + nRCAS_MGIOL nRCAS_MGIOL( .IOLDO(nRCAS_c), .OPOS(N_249_i), .CLK(RCLK_c)); + nRRAS nRRAS_I( .IOLDO(nRRAS_c), .nRRAS(nRRAS)); + nRRAS_MGIOL nRRAS_MGIOL( .IOLDO(nRRAS_c), .OPOS(N_25_i), .CLK(RCLK_c)); + nRWE nRWE_I( .IOLDO(nRWE_c), .nRWE(nRWE)); + nRWE_MGIOL nRWE_MGIOL( .IOLDO(nRWE_c), .OPOS(N_37_i), .CLK(RCLK_c)); + RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); + RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); + nRCS nRCS_I( .IOLDO(nRCS_c), .nRCS(nRCS)); + nRCS_MGIOL nRCS_MGIOL( .IOLDO(nRCS_c), .OPOS(N_28_i), .CLK(RCLK_c)); + RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .IOLDO(\WRD[7] ), .PADDT(RD_1_i), + .RD7(RD[7])); + RD_7__MGIOL \RD[7]_MGIOL ( .IOLDO(\WRD[7] ), .OPOS(\Din_c[7] ), + .CLK(nCCAS_c)); + RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .IOLDO(\WRD[6] ), .PADDT(RD_1_i), + .RD6(RD[6])); + RD_6__MGIOL \RD[6]_MGIOL ( .IOLDO(\WRD[6] ), .OPOS(\Din_c[6] ), + .CLK(nCCAS_c)); + RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .IOLDO(\WRD[5] ), .PADDT(RD_1_i), + .RD5(RD[5])); + RD_5__MGIOL \RD[5]_MGIOL ( .IOLDO(\WRD[5] ), .OPOS(\Din_c[5] ), + .CLK(nCCAS_c)); + RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .IOLDO(\WRD[4] ), .PADDT(RD_1_i), + .RD4(RD[4])); + RD_4__MGIOL \RD[4]_MGIOL ( .IOLDO(\WRD[4] ), .OPOS(\Din_c[4] ), + .CLK(nCCAS_c)); + RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .IOLDO(\WRD[3] ), .PADDT(RD_1_i), + .RD3(RD[3])); + RD_3__MGIOL \RD[3]_MGIOL ( .IOLDO(\WRD[3] ), .OPOS(\Din_c[3] ), + .CLK(nCCAS_c)); + RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .IOLDO(\WRD[2] ), .PADDT(RD_1_i), + .RD2(RD[2])); + RD_2__MGIOL \RD[2]_MGIOL ( .IOLDO(\WRD[2] ), .OPOS(\Din_c[2] ), + .CLK(nCCAS_c)); + RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .IOLDO(\WRD[1] ), .PADDT(RD_1_i), + .RD1(RD[1])); + RD_1__MGIOL \RD[1]_MGIOL ( .IOLDO(\WRD[1] ), .OPOS(\Din_c[1] ), + .CLK(nCCAS_c)); + RA_11_ \RA[11]_I ( .IOLDO(\RA_c[11] ), .RA11(RA[11])); + RA_11__MGIOL \RA[11]_MGIOL ( .IOLDO(\RA_c[11] ), .OPOS(RA11d_0), + .CLK(PHI2_c)); + RA_10_ \RA[10]_I ( .IOLDO(\RA_c[10] ), .RA10(RA[10])); + RA_10__MGIOL \RA[10]_MGIOL ( .IOLDO(\RA_c[10] ), .OPOS(N_45), .LSR(RA10s_i), + .CLK(RCLK_c)); + RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); + RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); + RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); + RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); + RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); + RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); + RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); + RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); + RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); + RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); + RBA_1_ \RBA[1]_I ( .IOLDO(\RBA_c[1] ), .RBA1(RBA[1])); + RBA_1__MGIOL \RBA[1]_MGIOL ( .IOLDO(\RBA_c[1] ), .OPOS(\RBAd_0[1] ), + .CLK(nCRAS_c)); + RBA_0_ \RBA[0]_I ( .IOLDO(\RBA_c[0] ), .RBA0(RBA[0])); + RBA_0__MGIOL \RBA[0]_MGIOL ( .IOLDO(\RBA_c[0] ), .OPOS(\RBAd_0[0] ), + .CLK(nCRAS_c)); + LED LED_I( .PADDO(LED_c), .LED(LED)); + nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); + nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); + nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); + Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); + Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); + Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); + Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); + Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); + Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); + Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); + Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); + Din_7__MGIOL \Din[7]_MGIOL ( .DI(\Din_c[7] ), .CLK(PHI2_c), .IN(\Bank[7] )); + Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); + Din_6__MGIOL \Din[6]_MGIOL ( .DI(\Din_c[6] ), .CLK(PHI2_c), .IN(\Bank[6] )); + Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); + Din_5__MGIOL \Din[5]_MGIOL ( .DI(\Din_c[5] ), .CLK(PHI2_c), .IN(\Bank[5] )); + Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); + Din_4__MGIOL \Din[4]_MGIOL ( .DI(\Din_c[4] ), .CLK(PHI2_c), .IN(\Bank[4] )); + Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); + Din_3__MGIOL \Din[3]_MGIOL ( .DI(\Din_c[3] ), .CLK(PHI2_c), .IN(\Bank[3] )); + Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); + Din_2__MGIOL \Din[2]_MGIOL ( .DI(\Din_c[2] ), .CLK(PHI2_c), .IN(\Bank[2] )); + Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); + Din_1__MGIOL \Din[1]_MGIOL ( .DI(\Din_c[1] ), .CLK(PHI2_c), .IN(\Bank[1] )); + Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); + Din_0__MGIOL \Din[0]_MGIOL ( .DI(\Din_c[0] ), .CLK(PHI2_c), .IN(\Bank[0] )); + CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); + CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); + MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); + MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); + MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); + MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); + MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); + MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); + MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); + MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); + MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); + MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); + ufmefb_EFBInst_0 \ufmefb/EFBInst_0 ( .WBCLKI(RCLK_c), .WBRSTI(wb_rst), + .WBCYCI(wb_cyc_stb), .WBSTBI(wb_cyc_stb), .WBWEI(wb_we), + .WBADRI0(\wb_adr[0] ), .WBADRI1(\wb_adr[1] ), .WBADRI2(\wb_adr[2] ), + .WBADRI3(\wb_adr[3] ), .WBADRI4(\wb_adr[4] ), .WBADRI5(\wb_adr[5] ), + .WBADRI6(\wb_adr[6] ), .WBADRI7(\wb_adr[7] ), .WBDATI0(\wb_dati[0] ), + .WBDATI1(\wb_dati[1] ), .WBDATI2(\wb_dati[2] ), .WBDATI3(\wb_dati[3] ), + .WBDATI4(\wb_dati[4] ), .WBDATI5(\wb_dati[5] ), .WBDATI6(\wb_dati[6] ), + .WBDATI7(\wb_dati[7] ), .WBDATO0(\wb_dato[0] ), .WBDATO1(\wb_dato[1] ), + .WBACKO(wb_ack)); + VHI VHI_INST( .Z(VCCI)); + PUR PUR_INST( .PUR(VCCI)); + GSR GSR_INST( .GSR(VCCI)); +endmodule + +module SLICE_0 ( input A1, DI1, CLK, output F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly; + + vmuxregsre \FS[0] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + ccu2 \FS_cry_0[0] ( .A0(GNDI), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(GNDI), .S0(), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module vcc ( output PWR1 ); + + VHI INST1( .Z(PWR1)); +endmodule + +module gnd ( output PWR0 ); + + VLO INST1( .Z(PWR0)); +endmodule + +module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO1 ); + + CCU2D inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT(CO1)); + defparam inst1.INIT0 = 16'h000A; + defparam inst1.INIT1 = 16'h300A; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_1 ( input A0, DI0, CLK, FCI, output F0, Q0 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + vmuxregsre \FS[17] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + ccu20001 \FS_s_0[17] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(GNDI), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(), .CO1()); + + specify + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO1 ); + + CCU2D inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT(CO1)); + defparam inst1.INIT0 = 16'h5002; + defparam inst1.INIT1 = 16'h300A; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_2 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[16] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[15] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[15] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module ccu20002 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO1 ); + + CCU2D inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT(CO1)); + defparam inst1.INIT0 = 16'h300A; + defparam inst1.INIT1 = 16'h300A; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_3 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[14] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[13] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[13] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_4 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[12] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[11] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[11] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_5 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[10] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[9] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[9] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_6 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[8] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[7] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[7] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_7 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[6] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[5] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[5] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_8 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[4] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[3] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_9 ( input A1, A0, DI1, DI0, CLK, FCI, output F0, Q0, F1, Q1, FCO ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly; + + vmuxregsre \FS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20002 \FS_cry_0[1] ( .A0(A0), .B0(GNDI), .C0(GNDI), .D0(GNDI), .A1(A1), + .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI), .S0(F0), .S1(F1), .CO1(FCO)); + + specify + (A1 => F1) = (0:0:0,0:0:0); + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (A0 => F1) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => F0) = (0:0:0,0:0:0); + (FCI => F1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_10 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; + + lut4 CmdEnable17( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40003 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut4 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40003 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3302) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module inverter ( input I, output Z ); + + INV INST1( .A(I), .Z(Z)); +endmodule + +module SLICE_11 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40004 CmdEnable16( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40005 C1Submitted_s( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40004 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40005 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF4F4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_12 ( input A0, DI0, M1, CLK, output F0, Q0, Q1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40006 nCCAS_pad_RNISUR8( .A(A0), .B(GNDI), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre CASr( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40006 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5555) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_16 ( input D1, C1, B1, A1, D0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40007 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40008 \S_RNO[0] ( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0009 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40007 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40008 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAAFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0009 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_17 ( input D1, B1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); + wire GNDI, \SLICE_17/SLICE_17_K1_H1 , \SLICE_17/CmdEnable_s/GATE_H0 , VCCI, + CLK_NOTIN, DI0_dly, CLK_dly; + + lut40010 SLICE_17_K1( .A(GNDI), .B(B1), .C(GNDI), .D(D1), + .Z(\SLICE_17/SLICE_17_K1_H1 )); + gnd DRIVEGND( .PWR0(GNDI)); + lut40011 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\SLICE_17/CmdEnable_s/GATE_H0 )); + vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + selmux2 SLICE_17_K0K1MUX( .D0(\SLICE_17/CmdEnable_s/GATE_H0 ), + .D1(\SLICE_17/SLICE_17_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40010 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40011 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC8AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module selmux2 ( input D0, D1, SD, output Z ); + + MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); +endmodule + +module SLICE_18 ( input D1, C1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40012 CmdLEDEN_4_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40013 CmdLEDEN_4_u( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40012 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF0AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40013 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hB8B8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_20 ( input D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40014 CmdUFMShift_3_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMShift( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40014 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0322) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_21 ( input D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40015 CmdUFMShift_3_u_fast( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMShift_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40015 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_22 ( input C1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40016 CmdUFMWrite_2( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40017 CmdUFMWrite_3_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMWrite( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40016 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0A0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40017 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3022) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_23 ( input D1, C1, B1, A1, D0, C0, B0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40018 XOR8MEG11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40019 CmdValid_r( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdValid( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40018 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40019 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF0C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_24 ( input C1, B1, A1, D0, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40020 XOR8MEG18( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40021 CmdValid_r_fast( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre CmdValid_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40020 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40021 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCC88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_25 ( input D1, C1, A1, D0, C0, B0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40022 Cmdn8MEGEN_4_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40023 Cmdn8MEGEN_4_u( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40022 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0FAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40023 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF0CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_26 ( input D1, C1, C0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40024 nCCAS_pad_RNI01SJ( .A(GNDI), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40025 nFWE_pad_RNI420B( .A(GNDI), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre FWEr( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40024 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40025 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0F0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_28 ( input D1, C1, B1, A1, D0, C0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40026 RA10_0io_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40027 \IS_RNO[0] ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40026 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFBFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40027 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFA05) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_29 ( input D1, C1, A1, C0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40028 \IS_RNO[2] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40029 IS_n1_0_x2( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40028 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40029 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5A5A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_30 ( input D1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40030 RA10_2_sqmuxa_0_o2( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40031 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40030 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40031 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7F80) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_31 ( input D1, C1, B1, A1, C0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40032 InitReady3_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40033 InitReady_RNO( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40032 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40033 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_32 ( input D0, B0, A0, DI0, CE, CLK, output F0, Q0 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40034 LEDEN_6( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40034 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCCAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_34 ( input D1, C1, A1, D0, DI0, M1, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40035 LED_pad_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40036 RASr_RNO( .A(GNDI), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre RASr( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40035 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFAF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40036 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h00FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_35 ( input D1, A1, D0, C0, A0, M1, M0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40037 un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1( .A(A1), .B(GNDI), .C(GNDI), + .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40038 \un9_RA[4] ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre RASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40037 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0055) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40038 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF5A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_36 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40039 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40040 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40039 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h05CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40040 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_37 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40041 un1_Bank_1_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40042 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40041 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40042 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF0EA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_38 ( input D1, C1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40043 Ready_0_sqmuxa_0_o2( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40044 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40043 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5FFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40044 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAEAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_39 ( input D1, C1, B1, A1, C0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40045 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40033 Ready_fast_RNO( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40045 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_40 ( input C1, B1, C0, B0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40046 \RowAd[1] ( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40046 \RowAd[0] ( .A(GNDI), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[1] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40046 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC0C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_41 ( input D1, B1, D0, C0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40047 \RowAd[3] ( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40048 \RowAd[2] ( .A(GNDI), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \RowA[3] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[2] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40047 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCC00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40048 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_42 ( input D1, A1, C0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40049 \RowAd[5] ( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40050 \RowAd[4] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[5] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[4] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40049 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFF55) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40050 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hA0A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_43 ( input C1, B1, C0, B0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40046 \RowAd[7] ( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40046 \RowAd[6] ( .A(GNDI), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \RowA[7] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[6] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module SLICE_44 ( input D1, B1, D0, A0, DI1, DI0, CLK, output F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, DI1_dly, CLK_dly, DI0_dly; + + lut40051 \RowAd[9] ( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40052 \RowAd[8] ( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre \RowA[9] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \RowA[8] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40051 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCCFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40052 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAA00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_45 ( input D1, C1, B1, A1, D0, C0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40053 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40024 \S_0_i_o2[1] ( .A(GNDI), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0009 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40053 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0C08) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_46 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40054 XOR8MEG_3_u_0_bm( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40055 \XOR8MEG_3_u_0/GATE ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40054 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4C00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40055 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hE2E2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_47 ( input D1, C1, B1, A1, D0, C0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40056 wb_rst10( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40057 n8MEGEN_6( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40056 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40057 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAAF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_48 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output + F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40058 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40059 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0009 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40058 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40059 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hDCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_49 ( input D1, C1, B1, A1, D0, B0, A0, DI1, DI0, CE, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40060 \wb_adr_5[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40061 \wb_adr_5[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_adr[1] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40060 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hD1C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40061 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hBB88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_50 ( input B1, A1, C0, A0, DI1, DI0, CE, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40062 \wb_adr_5[3] ( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40063 \wb_adr_5[2] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre \wb_adr[3] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[2] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40062 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40063 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hA0A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_51 ( input D1, C1, A1, D0, C0, A0, DI1, DI0, CE, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40064 \wb_adr_5[5] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40064 \wb_adr_5[4] ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_adr[5] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[4] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40064 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAFA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_52 ( input D1, A1, D0, C0, B0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40065 \wb_adr_5[7] ( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40066 \wb_adr_5[6] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_adr[7] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_adr[6] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40065 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAA00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40066 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCCF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_53 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, LSR, CLK, + output F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, CE_dly, LSR_dly; + + lut40067 un1_wb_cyc_stb_2_sqmuxa_i_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(F1)); + lut40068 un1_wb_cyc_stb_1_sqmuxa_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0009 wb_cyc_stb( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40067 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40068 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_54 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI1, DI0, CE, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40069 \wb_dati_5_1_iv_0[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40070 \wb_dati_5_0_iv_0[0] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_dati[1] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40069 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFF8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40070 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEAC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_55 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI1, DI0, CE, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40071 \wb_dati_5_1_iv_0[3] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40072 \wb_dati_5_1_iv_0[2] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_dati[3] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[2] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40071 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFEFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40072 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_56 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI1, DI0, CE, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40073 \wb_dati_5_1_iv_0[5] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40074 \wb_dati_5_1_iv_0[4] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \wb_dati[5] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[4] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40073 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40074 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEFEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, DI1, DI0, CE, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40075 \wb_dati_5_1_iv_0[7] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40076 \wb_dati_5_1_iv_0[6] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \wb_dati[7] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \wb_dati[6] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40075 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40076 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_58 ( input C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40020 \FS_RNIVOOA[14] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40077 wb_reqe( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0009 wb_req( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40077 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2E22) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40078 PHI2r3_RNIS5A51( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40079 wb_rste( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre wb_rst( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40078 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4F0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40079 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7430) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_60 ( input C1, A1, D0, C0, B0, A0, DI0, CE, LSR, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly, LSR_dly; + + lut40033 un1_wb_adr_0_sqmuxa_2( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40080 wb_we_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0009 wb_we( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge LSR, 0:0:0); + $width (negedge LSR, 0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40080 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCD05) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module wb_cyc_stb_RNO_SLICE_61 ( input D1, C1, B1, A1, D0, C0, A0, M0, output + OFX0 ); + wire \wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/SLICE_61_K1_H1 , GNDI, + \wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/GATE_H0 ; + + lut40081 \wb_cyc_stb_RNO/SLICE_61_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/SLICE_61_K1_H1 )); + lut40082 \wb_cyc_stb_RNO/GATE ( .A(A0), .B(GNDI), .C(C0), .D(D0), + .Z(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/GATE_H0 )); + gnd DRIVEGND( .PWR0(GNDI)); + selmux2 \wb_cyc_stb_RNO/SLICE_61_K0K1MUX ( + .D0(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/GATE_H0 ), + .D1(\wb_cyc_stb_RNO/SLICE_61/wb_cyc_stb_RNO/SLICE_61_K1_H1 ), .SD(M0), + .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (C1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40081 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFDFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40082 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFAF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40083 CmdValid_fast_RNITQBM1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40084 \ufmefb/EFBInst_0_RNI9PBJ ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40083 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hD8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40084 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40085 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40086 un1_nRCAS_6_sqmuxa_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40085 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFF7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40086 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h51FB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40087 nRWE_0io_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40088 nRCAS_0_sqmuxa_1_0_a3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40087 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF1FA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40088 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40089 un1_FS_40_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40090 un1_FS_40_1_0_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40089 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0520) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40090 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h7071) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_66 ( input D1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40091 nRCAS_0io_RNO_0( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40092 nRCAS_0io_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40091 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1133) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40092 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1303) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40093 \wb_dati_5_1_iv_0_a3[1] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40094 \wb_dati_5_1_iv_0_o3[2] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40093 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40094 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFCCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_68 ( input D1, C1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40095 nRWE_0io_RNO_1( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40096 nRWE_0io_RNO_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40095 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h05AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40096 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_69 ( input D1, C1, A1, D0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40097 nRWE_0io_RNO_3( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40098 \S_RNICVV51[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40097 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAFFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40098 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_70 ( input D1, C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40099 \wb_dati_5_1_iv_0_a3[4] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40100 \wb_dati_5_1_iv_0_a3_RNO[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), + .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40099 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40100 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_71 ( input C1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40050 wb_we113_i_a2( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40101 \wb_dati_5_1_iv_0_RNO[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40101 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_72 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40102 \wb_dati_5_1_iv_0_a3[2] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40103 \FS_RNI3V8E[9] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40102 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8A00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40103 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_73 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; + + lut40104 XOR8MEG14( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40105 CmdUFMData_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMData( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40104 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40105 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_74 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40106 \wb_dati_5_1_iv_0_a3[6] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40107 \wb_dati_5_1_iv_0_1[6] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40106 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40107 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_75 ( input D1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40108 \wb_dati_5_1_iv_0_a2_0[3] ( .A(A1), .B(B1), .C(GNDI), .D(D1), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40109 \wb_dati_5_1_iv_0_0[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40108 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0022) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40109 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_76 ( input D1, C1, B1, A1, C0, A0, output F0, F1 ); + wire GNDI; + + lut40110 \wb_adr_cnst_sn.m2_0_a3 ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40063 \wb_dati_5_1_iv_0_RNO[4] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), + .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40110 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_77 ( input D1, C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40111 un1_nRCAS_6_sqmuxa_i_o2( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40112 nRRAS_5_u_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40111 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFFFC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40112 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFF0E) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_78 ( input C1, B1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40113 \wb_dati_5_1_iv_0_m3[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40114 \wb_dati_5_1_iv_0_a3[7] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40113 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hB5B5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40114 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_79 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40115 \wb_dati_5_1_iv_0_a3_2_0[1] ( .A(A1), .B(B1), .C(C1), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40116 \wb_dati_5_1_iv_0_0[1] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40115 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40116 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hECA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_80 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40117 \wb_dati_5_1_iv_0_a3_1_1[4] ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(F1)); + lut40118 \wb_dati_5_1_iv_0_1[4] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40117 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40118 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hEEEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40119 \wb_dati_5_1_iv_0_a3_3[7] ( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40120 \wb_dati_5_1_iv_0_1[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40119 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40120 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFEFC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_82 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40121 wb_we95_0_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40122 un1_wb_we95_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40121 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40122 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h9040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_83 ( input D1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40123 \wb_dati_5_1_iv_0_a2[7] ( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40102 \wb_dati_5_1_iv_0_a3_1[7] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40123 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0011) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_84 ( input D1, C1, B1, A1, D0, C0, A0, output F0, F1 ); + wire GNDI; + + lut40124 un1_FS_29( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40125 \wb_adr_cnst_sn.m4_32 ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40124 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40125 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0500) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_85 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40126 \wb_adr_cnst_0[0] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40127 un1_FS_40_1_1_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40126 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8484) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40127 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF4F8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_86 ( input D1, C1, B1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40128 un1_FS_40_1_o6( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40114 un1_FS_40_1_a6( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40128 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hFBAB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_87 ( input D1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40129 un1_FS_21_1_i( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40130 wb_we95( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40129 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h33FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40130 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_88 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40131 nRCS_0io_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40132 nRCAS_r_i_a3_1_1_tz( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40131 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h77F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40132 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2055) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_89 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40133 un1_wb_cyc_stb_2_sqmuxa_i_o3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40134 un1_wb_cyc_stb_2_sqmuxa_i_a3( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40133 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hBBBB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40134 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_90 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40135 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40136 C1WR_7( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40135 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF0E0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40136 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_91 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40137 un1_ADWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40105 ADWR_7( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40137 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC8C8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_92 ( input D1, C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40138 C1WR_0( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40139 C1WR_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40138 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40139 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_93 ( input D1, C1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40140 un1_wb_adr_0_sqmuxa_3( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40141 wb_we113_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40140 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hAFFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40141 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCFDF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_94 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40142 un1_Bank_1_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40143 un1_Bank_1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40142 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40143 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_95 ( input B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40144 un1_PHI2r3_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40145 un1_wb_cyc_stb_1_sqmuxa_0_a3( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40144 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40145 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_96 ( input D1, C1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40146 un1_wb_cyc_stb_2_sqmuxa_i_a3_1( .A(A1), .B(GNDI), .C(C1), .D(D1), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40147 un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2( .A(A0), .B(B0), .C(C0), .D(GNDI), + .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40146 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40147 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_97 ( input C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40148 PHI2r3_RNIFT0I( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40149 CmdUFMShift_fast_RNIG9JD1( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40148 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0C0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40149 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8F0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_98 ( input D1, C1, B1, A1, D0, C0, A0, output F0, F1 ); + wire GNDI; + + lut40150 nRWE_0io_RNO_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40151 nRWE_0io_RNO_0( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40150 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40151 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_99 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40143 \wb_dati_5_1_iv_0_a3_0_0_0[1] ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(F1)); + lut40152 \wb_dati_5_1_iv_0_a3_0_0[3] ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40152 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_100 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40153 un1_FS_40_1_1_tz( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40154 \wb_dati_5_1_iv_0_o3[1] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40153 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4042) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40154 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h2004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_101 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40155 CmdEnable17_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40156 un1_Din_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40155 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40156 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_102 ( input D1, C1, B1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40157 InitReady3_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40158 un1_FS_11( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40157 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40158 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0030) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_103 ( input D1, C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40159 \wb_dati_5_1_iv_0_a3_0_0[6] ( .A(GNDI), .B(B1), .C(C1), .D(D1), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40160 \wb_dati_5_1_iv_0_a3_3_0[7] ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40159 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC030) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40160 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_104 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40045 CmdEnable16_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40161 CmdEnable17_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40161 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_105 ( input D1, C1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40162 ADWR_4( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40163 CMDWR_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CBR_fast( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CBR( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_NOTIN), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40162 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h00A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40163 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_106 ( input D1, B1, D0, C0, B0, A0, M0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, M0_dly, CLK_dly; + + lut40164 XOR8MEG9_1( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40165 CmdEnable16_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40164 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h00CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40165 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_107 ( input C1, B1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40166 RDQMH( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40167 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40166 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCFCF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40167 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hCACA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_108 ( input D1, C1, B1, A1, D0, C0, M0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly; + + lut40168 nRRAS_5_u_i_0_RNILD5I( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40169 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(GNDI), .B(GNDI), .C(C0), .D(D0), + .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre FWEr_fast( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40168 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0F01) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40169 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h000F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_109 ( input D1, A1, D0, C0, output F0, F1 ); + wire GNDI; + + lut40170 \wb_dati_5_1_iv_0_a2[4] ( .A(A1), .B(GNDI), .C(GNDI), .D(D1), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40171 \wb_dati_5_1_iv_0_a2_0[4] ( .A(GNDI), .B(GNDI), .C(C0), .D(D0), + .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40170 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h5500) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40171 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0F00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_110 ( input C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40172 un1_FS_22_1_i( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40173 \wb_dati_5_0_iv_0_a3_1[0] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40172 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3F3F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40173 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h6000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_111 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40013 \un9_RA[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40174 ADWR_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40174 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_112 ( input C1, B1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40175 RDQML( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40176 \un9_RA[0] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40175 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h3F3F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40176 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hF0CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_113 ( input D1, C1, A1, D0, C0, A0, output F0, F1 ); + wire GNDI; + + lut40038 \un9_RA[8] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40038 \un9_RA[1] ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_114 ( input D1, C1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40038 \un9_RA[6] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40177 \un9_RA[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40177 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hE4E4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_115 ( input D1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40178 \un9_RA[5] ( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40179 \un9_RA[3] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40178 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hBB88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40179 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hD8D8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_116 ( input D1, C1, B1, A1, B0, A0, output F0, F1 ); + wire GNDI; + + lut40180 RA11d( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40181 XOR8MEG14_1( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40180 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h8488) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40181 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_117 ( input D1, C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40182 nRCS_0io_RNO_0( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40183 RCKEEN_8_u_1_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40182 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h0300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40183 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'h4CF3) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_118 ( input C1, B1, C0, B0, M0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, M0_dly, CLK_dly; + + lut40184 \RBAd[0] ( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40184 \RBAd[1] ( .A(GNDI), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre PHI2r3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40184 ( input A, B, C, D, output Z ); + + ROM16X1A #(16'hC0C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module RD_0_ ( output PADDI, input IOLDO, PADDT, inout RD0 ); + + xo2iobuf \RD_pad[0] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); + + specify + (IOLDO => RD0) = (0:0:0,0:0:0); + (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD0 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD0, 0:0:0); + $width (negedge RD0, 0:0:0); + endspecify + +endmodule + +module xo2iobuf ( input I, T, output Z, PAD, input PADI ); + + IB INST1( .I(PADI), .O(Z)); + OBW INST2( .I(I), .T(T), .O(PAD)); +endmodule + +module RD_0__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[0] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module mfflsre ( input D0, SP, CK, LSR, output Q ); + + FD1P3DX INST01( .D(D0), .SP(SP), .CK(CK), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module Dout_0_ ( input PADDO, output Dout0 ); + + xo2iobuf0185 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); + + specify + (PADDO => Dout0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module xo2iobuf0185 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module PHI2 ( output PADDI, input PHI2 ); + + xo2iobuf0186 PHI2_pad( .Z(PADDI), .PAD(PHI2)); + + specify + (PHI2 => PADDI) = (0:0:0,0:0:0); + $width (posedge PHI2, 0:0:0); + $width (negedge PHI2, 0:0:0); + endspecify + +endmodule + +module xo2iobuf0186 ( output Z, input PAD ); + + IBPD INST1( .I(PAD), .O(Z)); +endmodule + +module PHI2_MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre PHI2r_0io( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module smuxlregsre ( input D0, SP, CK, LSR, output Q ); + + IFS1P3DX INST01( .D(D0), .SP(SP), .SCLK(CK), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module RDQML ( input PADDO, output RDQML ); + + xo2iobuf0185 RDQML_pad( .I(PADDO), .PAD(RDQML)); + + specify + (PADDO => RDQML) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQMH ( input PADDO, output RDQMH ); + + xo2iobuf0185 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); + + specify + (PADDO => RDQMH) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS ( input IOLDO, output nRCAS ); + + xo2iobuf0185 nRCAS_pad( .I(IOLDO), .PAD(nRCAS)); + + specify + (IOLDO => nRCAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0187 nRCAS_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module mfflsre0187 ( input D0, SP, CK, LSR, output Q ); + + FD1P3BX INST01( .D(D0), .SP(SP), .CK(CK), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module nRRAS ( input IOLDO, output nRRAS ); + + xo2iobuf0185 nRRAS_pad( .I(IOLDO), .PAD(nRRAS)); + + specify + (IOLDO => nRRAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRRAS_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0187 nRRAS_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module nRWE ( input IOLDO, output nRWE ); + + xo2iobuf0185 nRWE_pad( .I(IOLDO), .PAD(nRWE)); + + specify + (IOLDO => nRWE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRWE_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0187 nRWE_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RCKE ( input PADDO, output RCKE ); + + xo2iobuf0185 RCKE_pad( .I(PADDO), .PAD(RCKE)); + + specify + (PADDO => RCKE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCLK ( output PADDI, input RCLK ); + + xo2iobuf0188 RCLK_pad( .Z(PADDI), .PAD(RCLK)); + + specify + (RCLK => PADDI) = (0:0:0,0:0:0); + $width (posedge RCLK, 0:0:0); + $width (negedge RCLK, 0:0:0); + endspecify + +endmodule + +module xo2iobuf0188 ( output Z, input PAD ); + + IB INST1( .I(PAD), .O(Z)); +endmodule + +module nRCS ( input IOLDO, output nRCS ); + + xo2iobuf0185 nRCS_pad( .I(IOLDO), .PAD(nRCS)); + + specify + (IOLDO => nRCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCS_MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre0187 nRCS_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RD_7_ ( output PADDI, input IOLDO, PADDT, inout RD7 ); + + xo2iobuf \RD_pad[7] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); + + specify + (IOLDO => RD7) = (0:0:0,0:0:0); + (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD7 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD7, 0:0:0); + $width (negedge RD7, 0:0:0); + endspecify + +endmodule + +module RD_7__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[7] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_6_ ( output PADDI, input IOLDO, PADDT, inout RD6 ); + + xo2iobuf \RD_pad[6] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); + + specify + (IOLDO => RD6) = (0:0:0,0:0:0); + (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD6 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD6, 0:0:0); + $width (negedge RD6, 0:0:0); + endspecify + +endmodule + +module RD_6__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[6] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_5_ ( output PADDI, input IOLDO, PADDT, inout RD5 ); + + xo2iobuf \RD_pad[5] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); + + specify + (IOLDO => RD5) = (0:0:0,0:0:0); + (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD5 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD5, 0:0:0); + $width (negedge RD5, 0:0:0); + endspecify + +endmodule + +module RD_5__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[5] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_4_ ( output PADDI, input IOLDO, PADDT, inout RD4 ); + + xo2iobuf \RD_pad[4] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); + + specify + (IOLDO => RD4) = (0:0:0,0:0:0); + (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD4 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD4, 0:0:0); + $width (negedge RD4, 0:0:0); + endspecify + +endmodule + +module RD_4__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[4] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_3_ ( output PADDI, input IOLDO, PADDT, inout RD3 ); + + xo2iobuf \RD_pad[3] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); + + specify + (IOLDO => RD3) = (0:0:0,0:0:0); + (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD3 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD3, 0:0:0); + $width (negedge RD3, 0:0:0); + endspecify + +endmodule + +module RD_3__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[3] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_2_ ( output PADDI, input IOLDO, PADDT, inout RD2 ); + + xo2iobuf \RD_pad[2] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); + + specify + (IOLDO => RD2) = (0:0:0,0:0:0); + (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD2 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD2, 0:0:0); + $width (negedge RD2, 0:0:0); + endspecify + +endmodule + +module RD_2__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[2] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RD_1_ ( output PADDI, input IOLDO, PADDT, inout RD1 ); + + xo2iobuf \RD_pad[1] ( .I(IOLDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); + + specify + (IOLDO => RD1) = (0:0:0,0:0:0); + (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (RD1 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD1, 0:0:0); + $width (negedge RD1, 0:0:0); + endspecify + +endmodule + +module RD_1__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \WRD_0io[1] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RA_11_ ( input IOLDO, output RA11 ); + + xo2iobuf0185 \RA_pad[11] ( .I(IOLDO), .PAD(RA11)); + + specify + (IOLDO => RA11) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_11__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, GNDI, OPOS_dly, CLK_dly; + + mfflsre RA11_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module RA_10_ ( input IOLDO, output RA10 ); + + xo2iobuf0185 \RA_pad[10] ( .I(IOLDO), .PAD(RA10)); + + specify + (IOLDO => RA10) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_10__MGIOL ( output IOLDO, input OPOS, LSR, CLK ); + wire VCCI, OPOS_dly, CLK_dly, LSR_dly; + + mfflsre0189 RA10_0io( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_dly), .LSR(LSR_dly), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module mfflsre0189 ( input D0, SP, CK, LSR, output Q ); + + FD1P3JX INST01( .D(D0), .SP(SP), .CK(CK), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module RA_9_ ( input PADDO, output RA9 ); + + xo2iobuf0185 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); + + specify + (PADDO => RA9) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_8_ ( input PADDO, output RA8 ); + + xo2iobuf0185 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); + + specify + (PADDO => RA8) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_7_ ( input PADDO, output RA7 ); + + xo2iobuf0185 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); + + specify + (PADDO => RA7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_6_ ( input PADDO, output RA6 ); + + xo2iobuf0185 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); + + specify + (PADDO => RA6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_5_ ( input PADDO, output RA5 ); + + xo2iobuf0185 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); + + specify + (PADDO => RA5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_4_ ( input PADDO, output RA4 ); + + xo2iobuf0185 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); + + specify + (PADDO => RA4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_3_ ( input PADDO, output RA3 ); + + xo2iobuf0185 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); + + specify + (PADDO => RA3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_2_ ( input PADDO, output RA2 ); + + xo2iobuf0185 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); + + specify + (PADDO => RA2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_1_ ( input PADDO, output RA1 ); + + xo2iobuf0185 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); + + specify + (PADDO => RA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_0_ ( input PADDO, output RA0 ); + + xo2iobuf0185 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); + + specify + (PADDO => RA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1_ ( input IOLDO, output RBA1 ); + + xo2iobuf0185 \RBA_pad[1] ( .I(IOLDO), .PAD(RBA1)); + + specify + (IOLDO => RBA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \RBA_0io[1] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module RBA_0_ ( input IOLDO, output RBA0 ); + + xo2iobuf0185 \RBA_pad[0] ( .I(IOLDO), .PAD(RBA0)); + + specify + (IOLDO => RBA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_0__MGIOL ( output IOLDO, input OPOS, CLK ); + wire VCCI, CLK_NOTIN, GNDI, OPOS_dly, CLK_dly; + + mfflsre \RBA_0io[0] ( .D0(OPOS_dly), .SP(VCCI), .CK(CLK_NOTIN), .LSR(GNDI), + .Q(IOLDO)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IOLDO) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, OPOS, 0:0:0, 0:0:0,,,, CLK_dly, OPOS_dly); + endspecify + +endmodule + +module LED ( input PADDO, output LED ); + + xo2iobuf0190 LED_pad( .I(PADDO), .PAD(LED)); + + specify + (PADDO => LED) = (0:0:0,0:0:0); + endspecify + +endmodule + +module xo2iobuf0190 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module nFWE ( output PADDI, input nFWE ); + + xo2iobuf0191 nFWE_pad( .Z(PADDI), .PAD(nFWE)); + + specify + (nFWE => PADDI) = (0:0:0,0:0:0); + $width (posedge nFWE, 0:0:0); + $width (negedge nFWE, 0:0:0); + endspecify + +endmodule + +module xo2iobuf0191 ( output Z, input PAD ); + + IBPU INST1( .I(PAD), .O(Z)); +endmodule + +module nCRAS ( output PADDI, input nCRAS ); + + xo2iobuf0191 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); + + specify + (nCRAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCRAS, 0:0:0); + $width (negedge nCRAS, 0:0:0); + endspecify + +endmodule + +module nCCAS ( output PADDI, input nCCAS ); + + xo2iobuf0191 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); + + specify + (nCCAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCCAS, 0:0:0); + $width (negedge nCCAS, 0:0:0); + endspecify + +endmodule + +module Dout_7_ ( input PADDO, output Dout7 ); + + xo2iobuf0185 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); + + specify + (PADDO => Dout7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_6_ ( input PADDO, output Dout6 ); + + xo2iobuf0185 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); + + specify + (PADDO => Dout6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_5_ ( input PADDO, output Dout5 ); + + xo2iobuf0185 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); + + specify + (PADDO => Dout5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_4_ ( input PADDO, output Dout4 ); + + xo2iobuf0185 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); + + specify + (PADDO => Dout4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_3_ ( input PADDO, output Dout3 ); + + xo2iobuf0185 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); + + specify + (PADDO => Dout3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_2_ ( input PADDO, output Dout2 ); + + xo2iobuf0185 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); + + specify + (PADDO => Dout2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_1_ ( input PADDO, output Dout1 ); + + xo2iobuf0185 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); + + specify + (PADDO => Dout1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Din_7_ ( output PADDI, input Din7 ); + + xo2iobuf0188 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); + + specify + (Din7 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din7, 0:0:0); + $width (negedge Din7, 0:0:0); + endspecify + +endmodule + +module Din_7__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[7] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_6_ ( output PADDI, input Din6 ); + + xo2iobuf0188 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); + + specify + (Din6 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din6, 0:0:0); + $width (negedge Din6, 0:0:0); + endspecify + +endmodule + +module Din_6__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[6] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_5_ ( output PADDI, input Din5 ); + + xo2iobuf0188 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); + + specify + (Din5 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din5, 0:0:0); + $width (negedge Din5, 0:0:0); + endspecify + +endmodule + +module Din_5__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[5] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_4_ ( output PADDI, input Din4 ); + + xo2iobuf0188 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); + + specify + (Din4 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din4, 0:0:0); + $width (negedge Din4, 0:0:0); + endspecify + +endmodule + +module Din_4__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[4] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_3_ ( output PADDI, input Din3 ); + + xo2iobuf0188 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); + + specify + (Din3 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din3, 0:0:0); + $width (negedge Din3, 0:0:0); + endspecify + +endmodule + +module Din_3__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[3] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_2_ ( output PADDI, input Din2 ); + + xo2iobuf0188 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); + + specify + (Din2 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din2, 0:0:0); + $width (negedge Din2, 0:0:0); + endspecify + +endmodule + +module Din_2__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[2] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_1_ ( output PADDI, input Din1 ); + + xo2iobuf0188 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); + + specify + (Din1 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din1, 0:0:0); + $width (negedge Din1, 0:0:0); + endspecify + +endmodule + +module Din_1__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[1] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module Din_0_ ( output PADDI, input Din0 ); + + xo2iobuf0188 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); + + specify + (Din0 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din0, 0:0:0); + $width (negedge Din0, 0:0:0); + endspecify + +endmodule + +module Din_0__MGIOL ( input DI, CLK, output IN ); + wire VCCI, GNDI, DI_dly, CLK_dly; + + smuxlregsre \Bank_0io[0] ( .D0(DI_dly), .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), + .Q(IN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (CLK => IN) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI, 0:0:0, 0:0:0,,,, CLK_dly, DI_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module CROW_1_ ( output PADDI, input CROW1 ); + + xo2iobuf0188 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); + + specify + (CROW1 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW1, 0:0:0); + $width (negedge CROW1, 0:0:0); + endspecify + +endmodule + +module CROW_0_ ( output PADDI, input CROW0 ); + + xo2iobuf0188 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); + + specify + (CROW0 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW0, 0:0:0); + $width (negedge CROW0, 0:0:0); + endspecify + +endmodule + +module MAin_9_ ( output PADDI, input MAin9 ); + + xo2iobuf0188 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); + + specify + (MAin9 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin9, 0:0:0); + $width (negedge MAin9, 0:0:0); + endspecify + +endmodule + +module MAin_8_ ( output PADDI, input MAin8 ); + + xo2iobuf0188 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); + + specify + (MAin8 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin8, 0:0:0); + $width (negedge MAin8, 0:0:0); + endspecify + +endmodule + +module MAin_7_ ( output PADDI, input MAin7 ); + + xo2iobuf0188 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); + + specify + (MAin7 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin7, 0:0:0); + $width (negedge MAin7, 0:0:0); + endspecify + +endmodule + +module MAin_6_ ( output PADDI, input MAin6 ); + + xo2iobuf0188 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); + + specify + (MAin6 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin6, 0:0:0); + $width (negedge MAin6, 0:0:0); + endspecify + +endmodule + +module MAin_5_ ( output PADDI, input MAin5 ); + + xo2iobuf0188 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); + + specify + (MAin5 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin5, 0:0:0); + $width (negedge MAin5, 0:0:0); + endspecify + +endmodule + +module MAin_4_ ( output PADDI, input MAin4 ); + + xo2iobuf0188 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); + + specify + (MAin4 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin4, 0:0:0); + $width (negedge MAin4, 0:0:0); + endspecify + +endmodule + +module MAin_3_ ( output PADDI, input MAin3 ); + + xo2iobuf0188 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); + + specify + (MAin3 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin3, 0:0:0); + $width (negedge MAin3, 0:0:0); + endspecify + +endmodule + +module MAin_2_ ( output PADDI, input MAin2 ); + + xo2iobuf0188 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); + + specify + (MAin2 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin2, 0:0:0); + $width (negedge MAin2, 0:0:0); + endspecify + +endmodule + +module MAin_1_ ( output PADDI, input MAin1 ); + + xo2iobuf0188 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); + + specify + (MAin1 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin1, 0:0:0); + $width (negedge MAin1, 0:0:0); + endspecify + +endmodule + +module MAin_0_ ( output PADDI, input MAin0 ); + + xo2iobuf0188 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); + + specify + (MAin0 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin0, 0:0:0); + $width (negedge MAin0, 0:0:0); + endspecify + +endmodule + +module ufmefb_EFBInst_0 ( input WBCLKI, WBRSTI, WBCYCI, WBSTBI, WBWEI, WBADRI0, + WBADRI1, WBADRI2, WBADRI3, WBADRI4, WBADRI5, WBADRI6, WBADRI7, WBDATI0, + WBDATI1, WBDATI2, WBDATI3, WBDATI4, WBDATI5, WBDATI6, WBDATI7, output + WBDATO0, WBDATO1, WBACKO ); + wire VCCI, GNDI; + + EFB_B \ufmefb/EFBInst_0_EFB ( .WBCLKI(WBCLKI), .WBRSTI(WBRSTI), + .WBCYCI(WBCYCI), .WBSTBI(WBSTBI), .WBWEI(WBWEI), .WBADRI0(WBADRI0), + .WBADRI1(WBADRI1), .WBADRI2(WBADRI2), .WBADRI3(WBADRI3), .WBADRI4(WBADRI4), + .WBADRI5(WBADRI5), .WBADRI6(WBADRI6), .WBADRI7(WBADRI7), .WBDATI0(WBDATI0), + .WBDATI1(WBDATI1), .WBDATI2(WBDATI2), .WBDATI3(WBDATI3), .WBDATI4(WBDATI4), + .WBDATI5(WBDATI5), .WBDATI6(WBDATI6), .WBDATI7(WBDATI7), .WBDATO0(WBDATO0), + .WBDATO1(WBDATO1), .WBDATO2(), .WBDATO3(), .WBDATO4(), .WBDATO5(), + .WBDATO6(), .WBDATO7(), .WBACKO(WBACKO), .WBCUFMIRQ(), .UFMSN(VCCI), + .CFGWAKE(), .CFGSTDBY(), .I2C1SCLI(GNDI), .I2C1SCLO(), .I2C1SCLOEN(), + .I2C1SDAI(GNDI), .I2C1SDAO(), .I2C1SDAOEN(), .I2C2SCLI(GNDI), .I2C2SCLO(), + .I2C2SCLOEN(), .I2C2SDAI(GNDI), .I2C2SDAO(), .I2C2SDAOEN(), .I2C1IRQO(), + .I2C2IRQO(), .SPISCKI(GNDI), .SPISCKO(), .SPISCKEN(), .SPIMISOI(GNDI), + .SPIMISOO(), .SPIMISOEN(), .SPIMOSII(GNDI), .SPIMOSIO(), .SPIMOSIEN(), + .SPIMCSN0(), .SPIMCSN1(), .SPIMCSN2(), .SPIMCSN3(), .SPIMCSN4(), + .SPIMCSN5(), .SPIMCSN6(), .SPIMCSN7(), .SPICSNEN(), .SPISCSN(GNDI), + .SPIIRQO(), .TCCLKI(GNDI), .TCRSTN(GNDI), .TCIC(GNDI), .TCINT(), .TCOC(), + .PLLCLKO(), .PLLRSTO(), .PLL0STBO(), .PLL1STBO(), .PLLWEO(), .PLLADRO0(), + .PLLADRO1(), .PLLADRO2(), .PLLADRO3(), .PLLADRO4(), .PLLDATO0(), + .PLLDATO1(), .PLLDATO2(), .PLLDATO3(), .PLLDATO4(), .PLLDATO5(), + .PLLDATO6(), .PLLDATO7(), .PLL0DATI0(GNDI), .PLL0DATI1(GNDI), + .PLL0DATI2(GNDI), .PLL0DATI3(GNDI), .PLL0DATI4(GNDI), .PLL0DATI5(GNDI), + .PLL0DATI6(GNDI), .PLL0DATI7(GNDI), .PLL0ACKI(GNDI), .PLL1DATI0(GNDI), + .PLL1DATI1(GNDI), .PLL1DATI2(GNDI), .PLL1DATI3(GNDI), .PLL1DATI4(GNDI), + .PLL1DATI5(GNDI), .PLL1DATI6(GNDI), .PLL1DATI7(GNDI), .PLL1ACKI(GNDI)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); +endmodule + +module EFB_B ( input WBCLKI, WBRSTI, WBCYCI, WBSTBI, WBWEI, WBADRI0, WBADRI1, + WBADRI2, WBADRI3, WBADRI4, WBADRI5, WBADRI6, WBADRI7, WBDATI0, WBDATI1, + WBDATI2, WBDATI3, WBDATI4, WBDATI5, WBDATI6, WBDATI7, output WBDATO0, + WBDATO1, WBDATO2, WBDATO3, WBDATO4, WBDATO5, WBDATO6, WBDATO7, WBACKO, + WBCUFMIRQ, input UFMSN, output CFGWAKE, CFGSTDBY, input I2C1SCLI, output + I2C1SCLO, I2C1SCLOEN, input I2C1SDAI, output I2C1SDAO, I2C1SDAOEN, input + I2C2SCLI, output I2C2SCLO, I2C2SCLOEN, input I2C2SDAI, output I2C2SDAO, + I2C2SDAOEN, I2C1IRQO, I2C2IRQO, input SPISCKI, output SPISCKO, SPISCKEN, + input SPIMISOI, output SPIMISOO, SPIMISOEN, input SPIMOSII, output + SPIMOSIO, SPIMOSIEN, SPIMCSN0, SPIMCSN1, SPIMCSN2, SPIMCSN3, SPIMCSN4, + SPIMCSN5, SPIMCSN6, SPIMCSN7, SPICSNEN, input SPISCSN, output SPIIRQO, + input TCCLKI, TCRSTN, TCIC, output TCINT, TCOC, PLLCLKO, PLLRSTO, PLL0STBO, + PLL1STBO, PLLWEO, PLLADRO0, PLLADRO1, PLLADRO2, PLLADRO3, PLLADRO4, + PLLDATO0, PLLDATO1, PLLDATO2, PLLDATO3, PLLDATO4, PLLDATO5, PLLDATO6, + PLLDATO7, input PLL0DATI0, PLL0DATI1, PLL0DATI2, PLL0DATI3, PLL0DATI4, + PLL0DATI5, PLL0DATI6, PLL0DATI7, PLL0ACKI, PLL1DATI0, PLL1DATI1, PLL1DATI2, + PLL1DATI3, PLL1DATI4, PLL1DATI5, PLL1DATI6, PLL1DATI7, PLL1ACKI ); + wire WBCLKI_buf, WBRSTI_buf, WBCYCI_buf, WBSTBI_buf, WBWEI_buf, + WBADRI7_buf, WBADRI6_buf, WBADRI5_buf, WBADRI4_buf, WBADRI3_buf, + WBADRI2_buf, WBADRI1_buf, WBADRI0_buf, WBDATI7_buf, WBDATI6_buf, + WBDATI5_buf, WBDATI4_buf, WBDATI3_buf, WBDATI2_buf, WBDATI1_buf, + WBDATI0_buf, PLL0DATI7_buf, PLL0DATI6_buf, PLL0DATI5_buf, + PLL0DATI4_buf, PLL0DATI3_buf, PLL0DATI2_buf, PLL0DATI1_buf, + PLL0DATI0_buf, PLL0ACKI_buf, PLL1DATI7_buf, PLL1DATI6_buf, + PLL1DATI5_buf, PLL1DATI4_buf, PLL1DATI3_buf, PLL1DATI2_buf, + PLL1DATI1_buf, PLL1DATI0_buf, PLL1ACKI_buf, I2C1SCLI_buf, + I2C1SDAI_buf, I2C2SCLI_buf, I2C2SDAI_buf, SPISCKI_buf, SPIMISOI_buf, + SPIMOSII_buf, SPISCSN_buf, TCCLKI_buf, TCRSTN_buf, TCIC_buf, + UFMSN_buf, WBDATO7_buf, WBDATO6_buf, WBDATO5_buf, WBDATO4_buf, + WBDATO3_buf, WBDATO2_buf, WBDATO1_buf, WBDATO0_buf, WBACKO_buf, + PLLCLKO_buf, PLLRSTO_buf, PLL0STBO_buf, PLL1STBO_buf, PLLWEO_buf, + PLLADRO4_buf, PLLADRO3_buf, PLLADRO2_buf, PLLADRO1_buf, PLLADRO0_buf, + PLLDATO7_buf, PLLDATO6_buf, PLLDATO5_buf, PLLDATO4_buf, PLLDATO3_buf, + PLLDATO2_buf, PLLDATO1_buf, PLLDATO0_buf, I2C1SCLO_buf, + I2C1SCLOEN_buf, I2C1SDAO_buf, I2C1SDAOEN_buf, I2C2SCLO_buf, + I2C2SCLOEN_buf, I2C2SDAO_buf, I2C2SDAOEN_buf, I2C1IRQO_buf, + I2C2IRQO_buf, SPISCKO_buf, SPISCKEN_buf, SPIMISOO_buf, SPIMISOEN_buf, + SPIMOSIO_buf, SPIMOSIEN_buf, SPIMCSN0_buf, SPIMCSN1_buf, SPIMCSN2_buf, + SPIMCSN3_buf, SPIMCSN4_buf, SPIMCSN5_buf, SPIMCSN6_buf, SPIMCSN7_buf, + SPICSNEN_buf, SPIIRQO_buf, TCINT_buf, TCOC_buf, WBCUFMIRQ_buf, + CFGWAKE_buf, CFGSTDBY_buf; + + EFB INST10( .WBCLKI(WBCLKI_buf), .WBRSTI(WBRSTI_buf), .WBCYCI(WBCYCI_buf), + .WBSTBI(WBSTBI_buf), .WBWEI(WBWEI_buf), .WBADRI7(WBADRI7_buf), + .WBADRI6(WBADRI6_buf), .WBADRI5(WBADRI5_buf), .WBADRI4(WBADRI4_buf), + .WBADRI3(WBADRI3_buf), .WBADRI2(WBADRI2_buf), .WBADRI1(WBADRI1_buf), + .WBADRI0(WBADRI0_buf), .WBDATI7(WBDATI7_buf), .WBDATI6(WBDATI6_buf), + .WBDATI5(WBDATI5_buf), .WBDATI4(WBDATI4_buf), .WBDATI3(WBDATI3_buf), + .WBDATI2(WBDATI2_buf), .WBDATI1(WBDATI1_buf), .WBDATI0(WBDATI0_buf), + .PLL0DATI7(PLL0DATI7_buf), .PLL0DATI6(PLL0DATI6_buf), + .PLL0DATI5(PLL0DATI5_buf), .PLL0DATI4(PLL0DATI4_buf), + .PLL0DATI3(PLL0DATI3_buf), .PLL0DATI2(PLL0DATI2_buf), + .PLL0DATI1(PLL0DATI1_buf), .PLL0DATI0(PLL0DATI0_buf), + .PLL0ACKI(PLL0ACKI_buf), .PLL1DATI7(PLL1DATI7_buf), + .PLL1DATI6(PLL1DATI6_buf), .PLL1DATI5(PLL1DATI5_buf), + .PLL1DATI4(PLL1DATI4_buf), .PLL1DATI3(PLL1DATI3_buf), + .PLL1DATI2(PLL1DATI2_buf), .PLL1DATI1(PLL1DATI1_buf), + .PLL1DATI0(PLL1DATI0_buf), .PLL1ACKI(PLL1ACKI_buf), + .I2C1SCLI(I2C1SCLI_buf), .I2C1SDAI(I2C1SDAI_buf), .I2C2SCLI(I2C2SCLI_buf), + .I2C2SDAI(I2C2SDAI_buf), .SPISCKI(SPISCKI_buf), .SPIMISOI(SPIMISOI_buf), + .SPIMOSII(SPIMOSII_buf), .SPISCSN(SPISCSN_buf), .TCCLKI(TCCLKI_buf), + .TCRSTN(TCRSTN_buf), .TCIC(TCIC_buf), .UFMSN(UFMSN_buf), + .WBDATO7(WBDATO7_buf), .WBDATO6(WBDATO6_buf), .WBDATO5(WBDATO5_buf), + .WBDATO4(WBDATO4_buf), .WBDATO3(WBDATO3_buf), .WBDATO2(WBDATO2_buf), + .WBDATO1(WBDATO1_buf), .WBDATO0(WBDATO0_buf), .WBACKO(WBACKO_buf), + .PLLCLKO(PLLCLKO_buf), .PLLRSTO(PLLRSTO_buf), .PLL0STBO(PLL0STBO_buf), + .PLL1STBO(PLL1STBO_buf), .PLLWEO(PLLWEO_buf), .PLLADRO4(PLLADRO4_buf), + .PLLADRO3(PLLADRO3_buf), .PLLADRO2(PLLADRO2_buf), .PLLADRO1(PLLADRO1_buf), + .PLLADRO0(PLLADRO0_buf), .PLLDATO7(PLLDATO7_buf), .PLLDATO6(PLLDATO6_buf), + .PLLDATO5(PLLDATO5_buf), .PLLDATO4(PLLDATO4_buf), .PLLDATO3(PLLDATO3_buf), + .PLLDATO2(PLLDATO2_buf), .PLLDATO1(PLLDATO1_buf), .PLLDATO0(PLLDATO0_buf), + .I2C1SCLO(I2C1SCLO_buf), .I2C1SCLOEN(I2C1SCLOEN_buf), + .I2C1SDAO(I2C1SDAO_buf), .I2C1SDAOEN(I2C1SDAOEN_buf), + .I2C2SCLO(I2C2SCLO_buf), .I2C2SCLOEN(I2C2SCLOEN_buf), + .I2C2SDAO(I2C2SDAO_buf), .I2C2SDAOEN(I2C2SDAOEN_buf), + .I2C1IRQO(I2C1IRQO_buf), .I2C2IRQO(I2C2IRQO_buf), .SPISCKO(SPISCKO_buf), + .SPISCKEN(SPISCKEN_buf), .SPIMISOO(SPIMISOO_buf), + .SPIMISOEN(SPIMISOEN_buf), .SPIMOSIO(SPIMOSIO_buf), + .SPIMOSIEN(SPIMOSIEN_buf), .SPIMCSN0(SPIMCSN0_buf), + .SPIMCSN1(SPIMCSN1_buf), .SPIMCSN2(SPIMCSN2_buf), .SPIMCSN3(SPIMCSN3_buf), + .SPIMCSN4(SPIMCSN4_buf), .SPIMCSN5(SPIMCSN5_buf), .SPIMCSN6(SPIMCSN6_buf), + .SPIMCSN7(SPIMCSN7_buf), .SPICSNEN(SPICSNEN_buf), .SPIIRQO(SPIIRQO_buf), + .TCINT(TCINT_buf), .TCOC(TCOC_buf), .WBCUFMIRQ(WBCUFMIRQ_buf), + .CFGWAKE(CFGWAKE_buf), .CFGSTDBY(CFGSTDBY_buf)); + defparam INST10.DEV_DENSITY = "640L"; + defparam INST10.EFB_I2C1 = "DISABLED"; + defparam INST10.EFB_I2C2 = "DISABLED"; + defparam INST10.EFB_SPI = "DISABLED"; + defparam INST10.EFB_TC = "DISABLED"; + defparam INST10.EFB_TC_PORTMODE = "WB"; + defparam INST10.EFB_UFM = "ENABLED"; + defparam INST10.EFB_WB_CLK_FREQ = "66.7"; + defparam INST10.GSR = "ENABLED"; + defparam INST10.I2C1_ADDRESSING = "7BIT"; + defparam INST10.I2C1_BUS_PERF = "100kHz"; + defparam INST10.I2C1_CLK_DIVIDER = 1; + defparam INST10.I2C1_GEN_CALL = "DISABLED"; + defparam INST10.I2C1_SLAVE_ADDR = "0b1000001"; + defparam INST10.I2C1_WAKEUP = "DISABLED"; + defparam INST10.I2C2_ADDRESSING = "7BIT"; + defparam INST10.I2C2_BUS_PERF = "100kHz"; + defparam INST10.I2C2_CLK_DIVIDER = 1; + defparam INST10.I2C2_GEN_CALL = "DISABLED"; + defparam INST10.I2C2_SLAVE_ADDR = "0b1000010"; + defparam INST10.I2C2_WAKEUP = "DISABLED"; + defparam INST10.SPI_CLK_DIVIDER = 1; + defparam INST10.SPI_CLK_INV = "DISABLED"; + defparam INST10.SPI_INTR_RXOVR = "DISABLED"; + defparam INST10.SPI_INTR_RXRDY = "DISABLED"; + defparam INST10.SPI_INTR_TXOVR = "DISABLED"; + defparam INST10.SPI_INTR_TXRDY = "DISABLED"; + defparam INST10.SPI_LSB_FIRST = "DISABLED"; + defparam INST10.SPI_MODE = "MASTER"; + defparam INST10.SPI_PHASE_ADJ = "DISABLED"; + defparam INST10.SPI_SLAVE_HANDSHAKE = "DISABLED"; + defparam INST10.SPI_WAKEUP = "DISABLED"; + defparam INST10.TC_CCLK_SEL = 1; + defparam INST10.TC_ICAPTURE = "DISABLED"; + defparam INST10.TC_ICR_INT = "OFF"; + defparam INST10.TC_MODE = "CTCM"; + defparam INST10.TC_OCR_INT = "OFF"; + defparam INST10.TC_OCR_SET = 32767; + defparam INST10.TC_OC_MODE = "TOGGLE"; + defparam INST10.TC_OVERFLOW = "DISABLED"; + defparam INST10.TC_OV_INT = "OFF"; + defparam INST10.TC_RESETN = "ENABLED"; + defparam INST10.TC_SCLK_SEL = "PCLOCK"; + defparam INST10.TC_TOP_SEL = "OFF"; + defparam INST10.TC_TOP_SET = 65535; + defparam INST10.UFM_INIT_ALL_ZEROS = "DISABLED"; + defparam INST10.UFM_INIT_FILE_FORMAT = "HEX"; + defparam INST10.UFM_INIT_FILE_NAME = "../RAM2GS-LCMXO2.mem"; + defparam INST10.UFM_INIT_PAGES = 1; + defparam INST10.UFM_INIT_START_PAGE = 190; + EFB_Buffer_Block INST20( .WBCLKIin(WBCLKI), .WBCLKIout(WBCLKI_buf), + .WBRSTIin(WBRSTI), .WBRSTIout(WBRSTI_buf), .WBCYCIin(WBCYCI), + .WBCYCIout(WBCYCI_buf), .WBSTBIin(WBSTBI), .WBSTBIout(WBSTBI_buf), + .WBWEIin(WBWEI), .WBWEIout(WBWEI_buf), .WBADRI7in(WBADRI7), + .WBADRI7out(WBADRI7_buf), .WBADRI6in(WBADRI6), .WBADRI6out(WBADRI6_buf), + .WBADRI5in(WBADRI5), .WBADRI5out(WBADRI5_buf), .WBADRI4in(WBADRI4), + .WBADRI4out(WBADRI4_buf), .WBADRI3in(WBADRI3), .WBADRI3out(WBADRI3_buf), + .WBADRI2in(WBADRI2), .WBADRI2out(WBADRI2_buf), .WBADRI1in(WBADRI1), + .WBADRI1out(WBADRI1_buf), .WBADRI0in(WBADRI0), .WBADRI0out(WBADRI0_buf), + .WBDATI7in(WBDATI7), .WBDATI7out(WBDATI7_buf), .WBDATI6in(WBDATI6), + .WBDATI6out(WBDATI6_buf), .WBDATI5in(WBDATI5), .WBDATI5out(WBDATI5_buf), + .WBDATI4in(WBDATI4), .WBDATI4out(WBDATI4_buf), .WBDATI3in(WBDATI3), + .WBDATI3out(WBDATI3_buf), .WBDATI2in(WBDATI2), .WBDATI2out(WBDATI2_buf), + .WBDATI1in(WBDATI1), .WBDATI1out(WBDATI1_buf), .WBDATI0in(WBDATI0), + .WBDATI0out(WBDATI0_buf), .PLL0DATI7in(PLL0DATI7), + .PLL0DATI7out(PLL0DATI7_buf), .PLL0DATI6in(PLL0DATI6), + .PLL0DATI6out(PLL0DATI6_buf), .PLL0DATI5in(PLL0DATI5), + .PLL0DATI5out(PLL0DATI5_buf), .PLL0DATI4in(PLL0DATI4), + .PLL0DATI4out(PLL0DATI4_buf), .PLL0DATI3in(PLL0DATI3), + .PLL0DATI3out(PLL0DATI3_buf), .PLL0DATI2in(PLL0DATI2), + .PLL0DATI2out(PLL0DATI2_buf), .PLL0DATI1in(PLL0DATI1), + .PLL0DATI1out(PLL0DATI1_buf), .PLL0DATI0in(PLL0DATI0), + .PLL0DATI0out(PLL0DATI0_buf), .PLL0ACKIin(PLL0ACKI), + .PLL0ACKIout(PLL0ACKI_buf), .PLL1DATI7in(PLL1DATI7), + .PLL1DATI7out(PLL1DATI7_buf), .PLL1DATI6in(PLL1DATI6), + .PLL1DATI6out(PLL1DATI6_buf), .PLL1DATI5in(PLL1DATI5), + .PLL1DATI5out(PLL1DATI5_buf), .PLL1DATI4in(PLL1DATI4), + .PLL1DATI4out(PLL1DATI4_buf), .PLL1DATI3in(PLL1DATI3), + .PLL1DATI3out(PLL1DATI3_buf), .PLL1DATI2in(PLL1DATI2), + .PLL1DATI2out(PLL1DATI2_buf), .PLL1DATI1in(PLL1DATI1), + .PLL1DATI1out(PLL1DATI1_buf), .PLL1DATI0in(PLL1DATI0), + .PLL1DATI0out(PLL1DATI0_buf), .PLL1ACKIin(PLL1ACKI), + .PLL1ACKIout(PLL1ACKI_buf), .I2C1SCLIin(I2C1SCLI), + .I2C1SCLIout(I2C1SCLI_buf), .I2C1SDAIin(I2C1SDAI), + .I2C1SDAIout(I2C1SDAI_buf), .I2C2SCLIin(I2C2SCLI), + .I2C2SCLIout(I2C2SCLI_buf), .I2C2SDAIin(I2C2SDAI), + .I2C2SDAIout(I2C2SDAI_buf), .SPISCKIin(SPISCKI), .SPISCKIout(SPISCKI_buf), + .SPIMISOIin(SPIMISOI), .SPIMISOIout(SPIMISOI_buf), .SPIMOSIIin(SPIMOSII), + .SPIMOSIIout(SPIMOSII_buf), .SPISCSNin(SPISCSN), .SPISCSNout(SPISCSN_buf), + .TCCLKIin(TCCLKI), .TCCLKIout(TCCLKI_buf), .TCRSTNin(TCRSTN), + .TCRSTNout(TCRSTN_buf), .TCICin(TCIC), .TCICout(TCIC_buf), .UFMSNin(UFMSN), + .UFMSNout(UFMSN_buf), .WBDATO7out(WBDATO7), .WBDATO7in(WBDATO7_buf), + .WBDATO6out(WBDATO6), .WBDATO6in(WBDATO6_buf), .WBDATO5out(WBDATO5), + .WBDATO5in(WBDATO5_buf), .WBDATO4out(WBDATO4), .WBDATO4in(WBDATO4_buf), + .WBDATO3out(WBDATO3), .WBDATO3in(WBDATO3_buf), .WBDATO2out(WBDATO2), + .WBDATO2in(WBDATO2_buf), .WBDATO1out(WBDATO1), .WBDATO1in(WBDATO1_buf), + .WBDATO0out(WBDATO0), .WBDATO0in(WBDATO0_buf), .WBACKOout(WBACKO), + .WBACKOin(WBACKO_buf), .PLLCLKOout(PLLCLKO), .PLLCLKOin(PLLCLKO_buf), + .PLLRSTOout(PLLRSTO), .PLLRSTOin(PLLRSTO_buf), .PLL0STBOout(PLL0STBO), + .PLL0STBOin(PLL0STBO_buf), .PLL1STBOout(PLL1STBO), + .PLL1STBOin(PLL1STBO_buf), .PLLWEOout(PLLWEO), .PLLWEOin(PLLWEO_buf), + .PLLADRO4out(PLLADRO4), .PLLADRO4in(PLLADRO4_buf), .PLLADRO3out(PLLADRO3), + .PLLADRO3in(PLLADRO3_buf), .PLLADRO2out(PLLADRO2), + .PLLADRO2in(PLLADRO2_buf), .PLLADRO1out(PLLADRO1), + .PLLADRO1in(PLLADRO1_buf), .PLLADRO0out(PLLADRO0), + .PLLADRO0in(PLLADRO0_buf), .PLLDATO7out(PLLDATO7), + .PLLDATO7in(PLLDATO7_buf), .PLLDATO6out(PLLDATO6), + .PLLDATO6in(PLLDATO6_buf), .PLLDATO5out(PLLDATO5), + .PLLDATO5in(PLLDATO5_buf), .PLLDATO4out(PLLDATO4), + .PLLDATO4in(PLLDATO4_buf), .PLLDATO3out(PLLDATO3), + .PLLDATO3in(PLLDATO3_buf), .PLLDATO2out(PLLDATO2), + .PLLDATO2in(PLLDATO2_buf), .PLLDATO1out(PLLDATO1), + .PLLDATO1in(PLLDATO1_buf), .PLLDATO0out(PLLDATO0), + .PLLDATO0in(PLLDATO0_buf), .I2C1SCLOout(I2C1SCLO), + .I2C1SCLOin(I2C1SCLO_buf), .I2C1SCLOENout(I2C1SCLOEN), + .I2C1SCLOENin(I2C1SCLOEN_buf), .I2C1SDAOout(I2C1SDAO), + .I2C1SDAOin(I2C1SDAO_buf), .I2C1SDAOENout(I2C1SDAOEN), + .I2C1SDAOENin(I2C1SDAOEN_buf), .I2C2SCLOout(I2C2SCLO), + .I2C2SCLOin(I2C2SCLO_buf), .I2C2SCLOENout(I2C2SCLOEN), + .I2C2SCLOENin(I2C2SCLOEN_buf), .I2C2SDAOout(I2C2SDAO), + .I2C2SDAOin(I2C2SDAO_buf), .I2C2SDAOENout(I2C2SDAOEN), + .I2C2SDAOENin(I2C2SDAOEN_buf), .I2C1IRQOout(I2C1IRQO), + .I2C1IRQOin(I2C1IRQO_buf), .I2C2IRQOout(I2C2IRQO), + .I2C2IRQOin(I2C2IRQO_buf), .SPISCKOout(SPISCKO), .SPISCKOin(SPISCKO_buf), + .SPISCKENout(SPISCKEN), .SPISCKENin(SPISCKEN_buf), .SPIMISOOout(SPIMISOO), + .SPIMISOOin(SPIMISOO_buf), .SPIMISOENout(SPIMISOEN), + .SPIMISOENin(SPIMISOEN_buf), .SPIMOSIOout(SPIMOSIO), + .SPIMOSIOin(SPIMOSIO_buf), .SPIMOSIENout(SPIMOSIEN), + .SPIMOSIENin(SPIMOSIEN_buf), .SPIMCSN0out(SPIMCSN0), + .SPIMCSN0in(SPIMCSN0_buf), .SPIMCSN1out(SPIMCSN1), + .SPIMCSN1in(SPIMCSN1_buf), .SPIMCSN2out(SPIMCSN2), + .SPIMCSN2in(SPIMCSN2_buf), .SPIMCSN3out(SPIMCSN3), + .SPIMCSN3in(SPIMCSN3_buf), .SPIMCSN4out(SPIMCSN4), + .SPIMCSN4in(SPIMCSN4_buf), .SPIMCSN5out(SPIMCSN5), + .SPIMCSN5in(SPIMCSN5_buf), .SPIMCSN6out(SPIMCSN6), + .SPIMCSN6in(SPIMCSN6_buf), .SPIMCSN7out(SPIMCSN7), + .SPIMCSN7in(SPIMCSN7_buf), .SPICSNENout(SPICSNEN), + .SPICSNENin(SPICSNEN_buf), .SPIIRQOout(SPIIRQO), .SPIIRQOin(SPIIRQO_buf), + .TCINTout(TCINT), .TCINTin(TCINT_buf), .TCOCout(TCOC), .TCOCin(TCOC_buf), + .WBCUFMIRQout(WBCUFMIRQ), .WBCUFMIRQin(WBCUFMIRQ_buf), + .CFGWAKEout(CFGWAKE), .CFGWAKEin(CFGWAKE_buf), .CFGSTDBYout(CFGSTDBY), + .CFGSTDBYin(CFGSTDBY_buf)); +endmodule + +module EFB_Buffer_Block ( input WBCLKIin, output WBCLKIout, input WBRSTIin, + output WBRSTIout, input WBCYCIin, output WBCYCIout, input WBSTBIin, + output WBSTBIout, input WBWEIin, output WBWEIout, input WBADRI7in, output + WBADRI7out, input WBADRI6in, output WBADRI6out, input WBADRI5in, output + WBADRI5out, input WBADRI4in, output WBADRI4out, input WBADRI3in, output + WBADRI3out, input WBADRI2in, output WBADRI2out, input WBADRI1in, output + WBADRI1out, input WBADRI0in, output WBADRI0out, input WBDATI7in, output + WBDATI7out, input WBDATI6in, output WBDATI6out, input WBDATI5in, output + WBDATI5out, input WBDATI4in, output WBDATI4out, input WBDATI3in, output + WBDATI3out, input WBDATI2in, output WBDATI2out, input WBDATI1in, output + WBDATI1out, input WBDATI0in, output WBDATI0out, input PLL0DATI7in, output + PLL0DATI7out, input PLL0DATI6in, output PLL0DATI6out, input PLL0DATI5in, + output PLL0DATI5out, input PLL0DATI4in, output PLL0DATI4out, input + PLL0DATI3in, output PLL0DATI3out, input PLL0DATI2in, output PLL0DATI2out, + input PLL0DATI1in, output PLL0DATI1out, input PLL0DATI0in, output + PLL0DATI0out, input PLL0ACKIin, output PLL0ACKIout, input PLL1DATI7in, + output PLL1DATI7out, input PLL1DATI6in, output PLL1DATI6out, input + PLL1DATI5in, output PLL1DATI5out, input PLL1DATI4in, output PLL1DATI4out, + input PLL1DATI3in, output PLL1DATI3out, input PLL1DATI2in, output + PLL1DATI2out, input PLL1DATI1in, output PLL1DATI1out, input PLL1DATI0in, + output PLL1DATI0out, input PLL1ACKIin, output PLL1ACKIout, input + I2C1SCLIin, output I2C1SCLIout, input I2C1SDAIin, output I2C1SDAIout, + input I2C2SCLIin, output I2C2SCLIout, input I2C2SDAIin, output I2C2SDAIout, + input SPISCKIin, output SPISCKIout, input SPIMISOIin, output SPIMISOIout, + input SPIMOSIIin, output SPIMOSIIout, input SPISCSNin, output SPISCSNout, + input TCCLKIin, output TCCLKIout, input TCRSTNin, output TCRSTNout, input + TCICin, output TCICout, input UFMSNin, output UFMSNout, WBDATO7out, input + WBDATO7in, output WBDATO6out, input WBDATO6in, output WBDATO5out, input + WBDATO5in, output WBDATO4out, input WBDATO4in, output WBDATO3out, input + WBDATO3in, output WBDATO2out, input WBDATO2in, output WBDATO1out, input + WBDATO1in, output WBDATO0out, input WBDATO0in, output WBACKOout, input + WBACKOin, output PLLCLKOout, input PLLCLKOin, output PLLRSTOout, input + PLLRSTOin, output PLL0STBOout, input PLL0STBOin, output PLL1STBOout, + input PLL1STBOin, output PLLWEOout, input PLLWEOin, output PLLADRO4out, + input PLLADRO4in, output PLLADRO3out, input PLLADRO3in, output PLLADRO2out, + input PLLADRO2in, output PLLADRO1out, input PLLADRO1in, output PLLADRO0out, + input PLLADRO0in, output PLLDATO7out, input PLLDATO7in, output PLLDATO6out, + input PLLDATO6in, output PLLDATO5out, input PLLDATO5in, output PLLDATO4out, + input PLLDATO4in, output PLLDATO3out, input PLLDATO3in, output PLLDATO2out, + input PLLDATO2in, output PLLDATO1out, input PLLDATO1in, output PLLDATO0out, + input PLLDATO0in, output I2C1SCLOout, input I2C1SCLOin, output + I2C1SCLOENout, input I2C1SCLOENin, output I2C1SDAOout, input I2C1SDAOin, + output I2C1SDAOENout, input I2C1SDAOENin, output I2C2SCLOout, input + I2C2SCLOin, output I2C2SCLOENout, input I2C2SCLOENin, output I2C2SDAOout, + input I2C2SDAOin, output I2C2SDAOENout, input I2C2SDAOENin, output + I2C1IRQOout, input I2C1IRQOin, output I2C2IRQOout, input I2C2IRQOin, + output SPISCKOout, input SPISCKOin, output SPISCKENout, input SPISCKENin, + output SPIMISOOout, input SPIMISOOin, output SPIMISOENout, input + SPIMISOENin, output SPIMOSIOout, input SPIMOSIOin, output SPIMOSIENout, + input SPIMOSIENin, output SPIMCSN0out, input SPIMCSN0in, output + SPIMCSN1out, input SPIMCSN1in, output SPIMCSN2out, input SPIMCSN2in, + output SPIMCSN3out, input SPIMCSN3in, output SPIMCSN4out, input SPIMCSN4in, + output SPIMCSN5out, input SPIMCSN5in, output SPIMCSN6out, input SPIMCSN6in, + output SPIMCSN7out, input SPIMCSN7in, output SPICSNENout, input SPICSNENin, + output SPIIRQOout, input SPIIRQOin, output TCINTout, input TCINTin, + output TCOCout, input TCOCin, output WBCUFMIRQout, input WBCUFMIRQin, + output CFGWAKEout, input CFGWAKEin, output CFGSTDBYout, input CFGSTDBYin ); + wire WBRSTIin_dly, WBCLKIin_dly, WBCYCIin_dly, WBSTBIin_dly, WBWEIin_dly, + WBADRI0in_dly, WBADRI1in_dly, WBADRI2in_dly, WBADRI3in_dly, + WBADRI4in_dly, WBADRI5in_dly, WBADRI6in_dly, WBADRI7in_dly, + WBDATI0in_dly, WBDATI1in_dly, WBDATI2in_dly, WBDATI3in_dly, + WBDATI4in_dly, WBDATI5in_dly, WBDATI6in_dly, WBDATI7in_dly; + + BUFBA WBCLKI_buf( .A(WBCLKIin_dly), .Z(WBCLKIout)); + BUFBA WBRSTI_buf( .A(WBRSTIin_dly), .Z(WBRSTIout)); + BUFBA WBCYCI_buf( .A(WBCYCIin_dly), .Z(WBCYCIout)); + BUFBA WBSTBI_buf( .A(WBSTBIin_dly), .Z(WBSTBIout)); + BUFBA WBWEI_buf( .A(WBWEIin_dly), .Z(WBWEIout)); + BUFBA WBADRI7_buf( .A(WBADRI7in_dly), .Z(WBADRI7out)); + BUFBA WBADRI6_buf( .A(WBADRI6in_dly), .Z(WBADRI6out)); + BUFBA WBADRI5_buf( .A(WBADRI5in_dly), .Z(WBADRI5out)); + BUFBA WBADRI4_buf( .A(WBADRI4in_dly), .Z(WBADRI4out)); + BUFBA WBADRI3_buf( .A(WBADRI3in_dly), .Z(WBADRI3out)); + BUFBA WBADRI2_buf( .A(WBADRI2in_dly), .Z(WBADRI2out)); + BUFBA WBADRI1_buf( .A(WBADRI1in_dly), .Z(WBADRI1out)); + BUFBA WBADRI0_buf( .A(WBADRI0in_dly), .Z(WBADRI0out)); + BUFBA WBDATI7_buf( .A(WBDATI7in_dly), .Z(WBDATI7out)); + BUFBA WBDATI6_buf( .A(WBDATI6in_dly), .Z(WBDATI6out)); + BUFBA WBDATI5_buf( .A(WBDATI5in_dly), .Z(WBDATI5out)); + BUFBA WBDATI4_buf( .A(WBDATI4in_dly), .Z(WBDATI4out)); + BUFBA WBDATI3_buf( .A(WBDATI3in_dly), .Z(WBDATI3out)); + BUFBA WBDATI2_buf( .A(WBDATI2in_dly), .Z(WBDATI2out)); + BUFBA WBDATI1_buf( .A(WBDATI1in_dly), .Z(WBDATI1out)); + BUFBA WBDATI0_buf( .A(WBDATI0in_dly), .Z(WBDATI0out)); + BUFBA PLL0DATI7_buf( .A(PLL0DATI7in), .Z(PLL0DATI7out)); + BUFBA PLL0DATI6_buf( .A(PLL0DATI6in), .Z(PLL0DATI6out)); + BUFBA PLL0DATI5_buf( .A(PLL0DATI5in), .Z(PLL0DATI5out)); + BUFBA PLL0DATI4_buf( .A(PLL0DATI4in), .Z(PLL0DATI4out)); + BUFBA PLL0DATI3_buf( .A(PLL0DATI3in), .Z(PLL0DATI3out)); + BUFBA PLL0DATI2_buf( .A(PLL0DATI2in), .Z(PLL0DATI2out)); + BUFBA PLL0DATI1_buf( .A(PLL0DATI1in), .Z(PLL0DATI1out)); + BUFBA PLL0DATI0_buf( .A(PLL0DATI0in), .Z(PLL0DATI0out)); + BUFBA PLL0ACKI_buf( .A(PLL0ACKIin), .Z(PLL0ACKIout)); + BUFBA PLL1DATI7_buf( .A(PLL1DATI7in), .Z(PLL1DATI7out)); + BUFBA PLL1DATI6_buf( .A(PLL1DATI6in), .Z(PLL1DATI6out)); + BUFBA PLL1DATI5_buf( .A(PLL1DATI5in), .Z(PLL1DATI5out)); + BUFBA PLL1DATI4_buf( .A(PLL1DATI4in), .Z(PLL1DATI4out)); + BUFBA PLL1DATI3_buf( .A(PLL1DATI3in), .Z(PLL1DATI3out)); + BUFBA PLL1DATI2_buf( .A(PLL1DATI2in), .Z(PLL1DATI2out)); + BUFBA PLL1DATI1_buf( .A(PLL1DATI1in), .Z(PLL1DATI1out)); + BUFBA PLL1DATI0_buf( .A(PLL1DATI0in), .Z(PLL1DATI0out)); + BUFBA PLL1ACKI_buf( .A(PLL1ACKIin), .Z(PLL1ACKIout)); + BUFBA I2C1SCLI_buf( .A(I2C1SCLIin), .Z(I2C1SCLIout)); + BUFBA I2C1SDAI_buf( .A(I2C1SDAIin), .Z(I2C1SDAIout)); + BUFBA I2C2SCLI_buf( .A(I2C2SCLIin), .Z(I2C2SCLIout)); + BUFBA I2C2SDAI_buf( .A(I2C2SDAIin), .Z(I2C2SDAIout)); + BUFBA SPISCKI_buf( .A(SPISCKIin), .Z(SPISCKIout)); + BUFBA SPIMISOI_buf( .A(SPIMISOIin), .Z(SPIMISOIout)); + BUFBA SPIMOSII_buf( .A(SPIMOSIIin), .Z(SPIMOSIIout)); + BUFBA SPISCSN_buf( .A(SPISCSNin), .Z(SPISCSNout)); + BUFBA TCCLKI_buf( .A(TCCLKIin), .Z(TCCLKIout)); + BUFBA TCRSTN_buf( .A(TCRSTNin), .Z(TCRSTNout)); + BUFBA TCIC_buf( .A(TCICin), .Z(TCICout)); + BUFBA UFMSN_buf( .A(UFMSNin), .Z(UFMSNout)); + BUFBA WBDATO7_buf( .A(WBDATO7in), .Z(WBDATO7out)); + BUFBA WBDATO6_buf( .A(WBDATO6in), .Z(WBDATO6out)); + BUFBA WBDATO5_buf( .A(WBDATO5in), .Z(WBDATO5out)); + BUFBA WBDATO4_buf( .A(WBDATO4in), .Z(WBDATO4out)); + BUFBA WBDATO3_buf( .A(WBDATO3in), .Z(WBDATO3out)); + BUFBA WBDATO2_buf( .A(WBDATO2in), .Z(WBDATO2out)); + BUFBA WBDATO1_buf( .A(WBDATO1in), .Z(WBDATO1out)); + BUFBA WBDATO0_buf( .A(WBDATO0in), .Z(WBDATO0out)); + BUFBA WBACKO_buf( .A(WBACKOin), .Z(WBACKOout)); + BUFBA PLLCLKO_buf( .A(PLLCLKOin), .Z(PLLCLKOout)); + BUFBA PLLRSTO_buf( .A(PLLRSTOin), .Z(PLLRSTOout)); + BUFBA PLL0STBO_buf( .A(PLL0STBOin), .Z(PLL0STBOout)); + BUFBA PLL1STBO_buf( .A(PLL1STBOin), .Z(PLL1STBOout)); + BUFBA PLLWEO_buf( .A(PLLWEOin), .Z(PLLWEOout)); + BUFBA PLLADRO4_buf( .A(PLLADRO4in), .Z(PLLADRO4out)); + BUFBA PLLADRO3_buf( .A(PLLADRO3in), .Z(PLLADRO3out)); + BUFBA PLLADRO2_buf( .A(PLLADRO2in), .Z(PLLADRO2out)); + BUFBA PLLADRO1_buf( .A(PLLADRO1in), .Z(PLLADRO1out)); + BUFBA PLLADRO0_buf( .A(PLLADRO0in), .Z(PLLADRO0out)); + BUFBA PLLDATO7_buf( .A(PLLDATO7in), .Z(PLLDATO7out)); + BUFBA PLLDATO6_buf( .A(PLLDATO6in), .Z(PLLDATO6out)); + BUFBA PLLDATO5_buf( .A(PLLDATO5in), .Z(PLLDATO5out)); + BUFBA PLLDATO4_buf( .A(PLLDATO4in), .Z(PLLDATO4out)); + BUFBA PLLDATO3_buf( .A(PLLDATO3in), .Z(PLLDATO3out)); + BUFBA PLLDATO2_buf( .A(PLLDATO2in), .Z(PLLDATO2out)); + BUFBA PLLDATO1_buf( .A(PLLDATO1in), .Z(PLLDATO1out)); + BUFBA PLLDATO0_buf( .A(PLLDATO0in), .Z(PLLDATO0out)); + BUFBA I2C1SCLO_buf( .A(I2C1SCLOin), .Z(I2C1SCLOout)); + BUFBA I2C1SCLOEN_buf( .A(I2C1SCLOENin), .Z(I2C1SCLOENout)); + BUFBA I2C1SDAO_buf( .A(I2C1SDAOin), .Z(I2C1SDAOout)); + BUFBA I2C1SDAOEN_buf( .A(I2C1SDAOENin), .Z(I2C1SDAOENout)); + BUFBA I2C2SCLO_buf( .A(I2C2SCLOin), .Z(I2C2SCLOout)); + BUFBA I2C2SCLOEN_buf( .A(I2C2SCLOENin), .Z(I2C2SCLOENout)); + BUFBA I2C2SDAO_buf( .A(I2C2SDAOin), .Z(I2C2SDAOout)); + BUFBA I2C2SDAOEN_buf( .A(I2C2SDAOENin), .Z(I2C2SDAOENout)); + BUFBA I2C1IRQO_buf( .A(I2C1IRQOin), .Z(I2C1IRQOout)); + BUFBA I2C2IRQO_buf( .A(I2C2IRQOin), .Z(I2C2IRQOout)); + BUFBA SPISCKO_buf( .A(SPISCKOin), .Z(SPISCKOout)); + BUFBA SPISCKEN_buf( .A(SPISCKENin), .Z(SPISCKENout)); + BUFBA SPIMISOO_buf( .A(SPIMISOOin), .Z(SPIMISOOout)); + BUFBA SPIMISOEN_buf( .A(SPIMISOENin), .Z(SPIMISOENout)); + BUFBA SPIMOSIO_buf( .A(SPIMOSIOin), .Z(SPIMOSIOout)); + BUFBA SPIMOSIEN_buf( .A(SPIMOSIENin), .Z(SPIMOSIENout)); + BUFBA SPIMCSN0_buf( .A(SPIMCSN0in), .Z(SPIMCSN0out)); + BUFBA SPIMCSN1_buf( .A(SPIMCSN1in), .Z(SPIMCSN1out)); + BUFBA SPIMCSN2_buf( .A(SPIMCSN2in), .Z(SPIMCSN2out)); + BUFBA SPIMCSN3_buf( .A(SPIMCSN3in), .Z(SPIMCSN3out)); + BUFBA SPIMCSN4_buf( .A(SPIMCSN4in), .Z(SPIMCSN4out)); + BUFBA SPIMCSN5_buf( .A(SPIMCSN5in), .Z(SPIMCSN5out)); + BUFBA SPIMCSN6_buf( .A(SPIMCSN6in), .Z(SPIMCSN6out)); + BUFBA SPIMCSN7_buf( .A(SPIMCSN7in), .Z(SPIMCSN7out)); + BUFBA SPICSNEN_buf( .A(SPICSNENin), .Z(SPICSNENout)); + BUFBA SPIIRQO_buf( .A(SPIIRQOin), .Z(SPIIRQOout)); + BUFBA TCINT_buf( .A(TCINTin), .Z(TCINTout)); + BUFBA TCOC_buf( .A(TCOCin), .Z(TCOCout)); + BUFBA WBCUFMIRQ_buf( .A(WBCUFMIRQin), .Z(WBCUFMIRQout)); + BUFBA CFGWAKE_buf( .A(CFGWAKEin), .Z(CFGWAKEout)); + BUFBA CFGSTDBY_buf( .A(CFGSTDBYin), .Z(CFGSTDBYout)); + + specify + (WBCLKIin => WBDATO0out) = (0:0:0,0:0:0); + (WBCLKIin => WBDATO1out) = (0:0:0,0:0:0); + (WBCLKIin => WBACKOout) = (0:0:0,0:0:0); + $setuphold + (posedge WBCLKIin, WBRSTIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBRSTIin_dly); + $setuphold + (posedge WBCLKIin, WBCYCIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBCYCIin_dly); + $setuphold + (posedge WBCLKIin, WBSTBIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBSTBIin_dly); + $setuphold + (posedge WBCLKIin, WBWEIin, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBWEIin_dly); + $setuphold + (posedge WBCLKIin, WBADRI0in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI0in_dly); + $setuphold + (posedge WBCLKIin, WBADRI1in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI1in_dly); + $setuphold + (posedge WBCLKIin, WBADRI2in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI2in_dly); + $setuphold + (posedge WBCLKIin, WBADRI3in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI3in_dly); + $setuphold + (posedge WBCLKIin, WBADRI4in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI4in_dly); + $setuphold + (posedge WBCLKIin, WBADRI5in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI5in_dly); + $setuphold + (posedge WBCLKIin, WBADRI6in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI6in_dly); + $setuphold + (posedge WBCLKIin, WBADRI7in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBADRI7in_dly); + $setuphold + (posedge WBCLKIin, WBDATI0in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI0in_dly); + $setuphold + (posedge WBCLKIin, WBDATI1in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI1in_dly); + $setuphold + (posedge WBCLKIin, WBDATI2in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI2in_dly); + $setuphold + (posedge WBCLKIin, WBDATI3in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI3in_dly); + $setuphold + (posedge WBCLKIin, WBDATI4in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI4in_dly); + $setuphold + (posedge WBCLKIin, WBDATI5in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI5in_dly); + $setuphold + (posedge WBCLKIin, WBDATI6in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI6in_dly); + $setuphold + (posedge WBCLKIin, WBDATI7in, 0:0:0, 0:0:0,,,, WBCLKIin_dly, WBDATI7in_dly); + $width (posedge WBCLKIin, 0:0:0); + $width (negedge WBCLKIin, 0:0:0); + endspecify + +endmodule diff --git a/CPLD/LCMXO2-640HC/impl1/automake.log b/CPLD/LCMXO2-640HC/impl1/automake.log index db8f14d..2b8a5b1 100644 --- a/CPLD/LCMXO2-640HC/impl1/automake.log +++ b/CPLD/LCMXO2-640HC/impl1/automake.log @@ -1,1701 +1,2717 @@ synpwrap -msg -prj "LCMXO2_640HC_impl1_synplify.tcl" -log "LCMXO2_640HC_impl1.srf" -Copyright (C) 1992-2020 Lattice Semiconductor Corporation. All rights reserved. -Lattice Diamond Version 3.12.1.454 - - -==contents of LCMXO2_640HC_impl1.srf -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 -#install: C:\lscc\diamond\3.12\synpbase -#OS: Windows 8 6.2 -#Hostname: ZANEPC - -# Wed Aug 16 20:59:29 2023 - -#Implementation: impl1 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work. -Running optimization stage 1 on VHI ....... -Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work. -Running optimization stage 1 on VLO ....... -Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work. -Running optimization stage 1 on EFB ....... -Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work. -Running optimization stage 1 on REFB ....... -Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 94MB peak: 94MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on REFB ....... -Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on EFB ....... -Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on VLO ....... -Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on VHI ....... -Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 20:59:29 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -Linker output is up to date. No re-linking necessary - - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 87MB peak: 87MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 20:59:29 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 20:59:29 2023 - -###########################################################] - -@A: multi_srs_gen output is up to date. No run necessary. -To force a re-synthesis, select [Resynthesize All] in menu [Run]. -Click link to view previous log file. -Multi-srs Generator Report -@R:"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr" -Premap Report - -# Wed Aug 16 20:59:30 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 139MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 141MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CMDUFMWrite. -@N: FX493 |Applying initial value "0" on instance CmdUFMData. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ----------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 65 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 18 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 - -0 - System 100.0 MHz 10.000 system system_clkgroup 0 -======================================================================================== - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ------------------------------------------------------------------------------------------ -RCLK 65 RCLK(port) CASr2.C - - - -PHI2 18 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) - -System 0 - - - - -========================================================================================= - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 105 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 65 nRWE -@KP:ckid0_1 PHI2 port 18 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 173MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 89MB peak: 175MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 20:59:32 2023 - -###########################################################] -Map & Optimize Report - -# Wed Aug 16 20:59:32 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 134MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":161:4:161:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":148:4:148:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) - - -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 185MB peak: 185MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -2.34ns 199 / 105 - 2 0h:00m:01s -2.34ns 208 / 105 - 3 0h:00m:01s -2.34ns 208 / 105 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":302:4:302:9|Replicating instance CmdSubmitted (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":161:4:161:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":119:4:119:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":119:4:119:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. -Timing driven replication report -Added 4 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 4 0h:00m:01s -1.83ns 210 / 109 - - - 5 0h:00m:01s -1.83ns 211 / 109 - 6 0h:00m:01s -1.83ns 212 / 109 - 7 0h:00m:01s -1.83ns 212 / 109 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 186MB peak: 186MB) - -@N: FX164 |The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute. - -Finished restoring hierarchy (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 186MB peak: 186MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:02s; Memory used current: 149MB peak: 186MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 187MB peak: 187MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 193MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 193MB) - -@W: MT246 :"d:\onedrive\documents\github\ram2gs\cpld\lcmxo2-640hc\refb.v":78:8:78:16|Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results) -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 20:59:35 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 5 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -1.832 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 1.0 MHz 350.000 991.270 -1.832 declared default_clkgroup -RCLK 62.5 MHz 22.1 MHz 16.000 45.315 -0.784 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 1.0 MHz 350.000 953.610 -1.725 declared default_clkgroup -System 100.0 MHz NA 10.000 NA 15.472 system system_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -System RCLK | 16.000 15.472 | No paths - | No paths - | No paths - -RCLK System | 16.000 14.892 | No paths - | No paths - | No paths - -RCLK RCLK | 16.000 8.605 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 0.216 | No paths - | 1.000 -0.636 | No paths - -RCLK nCRAS | No paths - | No paths - | 1.000 -0.784 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -1.832 -PHI2 PHI2 | No paths - | 350.000 346.115 | 175.000 168.921 | 175.000 173.428 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -1.725 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------------- -CMDUFMWrite PHI2 FD1P3AX Q CMDUFMWrite 1.044 -1.832 -CmdSubmitted_fast PHI2 FD1S3AX Q CmdSubmitted_fast 1.044 -1.832 -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.148 -1.708 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.044 -0.572 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.044 -0.572 -CmdUFMData PHI2 FD1P3AX Q CmdUFMData 0.972 -0.500 -Bank_0io[0] PHI2 IFS1P3DX Q Bank[0] 0.972 168.921 -Bank_0io[1] PHI2 IFS1P3DX Q Bank[1] 0.972 168.921 -Bank_0io[2] PHI2 IFS1P3DX Q Bank[2] 0.972 168.921 -Bank_0io[3] PHI2 IFS1P3DX Q Bank[3] 0.972 168.921 -================================================================================================== - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -wb_adr[0] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[1] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[2] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[3] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[4] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[5] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[6] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_adr[7] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -wb_cyc_stb PHI2 FD1P3IX SP un1_wb_clk32_i 0.528 -1.832 -wb_dati[0] PHI2 FD1P3AX SP un1_wb_clk32_i 0.528 -1.832 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 0.472 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 0.528 - - - Propagation time: 2.361 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 - - Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q - Ending point: wb_adr[0] / SP - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[0] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 0.472 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 0.528 - - - Propagation time: 2.361 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 - - Number of logic level(s): 1 - Starting point: CmdSubmitted_fast / Q - Ending point: wb_adr[0] / SP - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CmdSubmitted_fast FD1S3AX Q Out 1.044 1.044 r - -CmdSubmitted_fast Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 B In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 r - -un1_wb_clk32_i Net - - - - 18 -wb_adr[0] FD1P3AX SP In 0.000 2.361 r - -======================================================================================= - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 0.472 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 0.528 - - - Propagation time: 2.361 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 - - Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q - Ending point: wb_adr[7] / SP - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[7] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= - - -Path information for path number 4: - Requested Period: 1.000 - - Setup time: 0.472 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 0.528 - - - Propagation time: 2.361 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 - - Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q - Ending point: wb_adr[6] / SP - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[6] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= - - -Path information for path number 5: - Requested Period: 1.000 - - Setup time: 0.472 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 0.528 - - - Propagation time: 2.361 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -1.832 - - Number of logic level(s): 1 - Starting point: CMDUFMWrite / Q - Ending point: wb_adr[5] / SP - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------------- -CMDUFMWrite FD1P3AX Q Out 1.044 1.044 r - -CMDUFMWrite Net - - - - 2 -CMDUFMWrite_RNIHQ1E1 ORCALUT4 A In 0.000 1.044 r - -CMDUFMWrite_RNIHQ1E1 ORCALUT4 Z Out 1.317 2.361 f - -un1_wb_clk32_i Net - - - - 18 -wb_adr[5] FD1P3AX SP In 0.000 2.361 f - -======================================================================================= - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ----------------------------------------------------------------------------------- -Ready_fast RCLK FD1S3AX Q Ready_fast 1.256 -0.784 -LEDEN RCLK FD1P3AX Q LEDEN 1.108 -0.636 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.044 -0.572 -FS[14] RCLK FD1S3AX Q FS[14] 1.108 8.605 -FS[15] RCLK FD1S3AX Q FS[15] 1.108 8.605 -FS[16] RCLK FD1S3AX Q FS[16] 1.108 8.605 -FS[6] RCLK FD1S3AX Q FS[6] 1.268 8.872 -FS[5] RCLK FD1S3AX Q FS[5] 1.228 8.912 -FS[12] RCLK FD1S3AX Q FS[12] 1.302 9.679 -FS[10] RCLK FD1S3AX Q FS[10] 1.299 9.682 -================================================================================== - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------- -RBA_0io[0] RCLK OFS1P3DX D RBAd_0[0] 1.089 -0.784 -RBA_0io[1] RCLK OFS1P3DX D RBAd_0[1] 1.089 -0.784 -RowA[0] RCLK FD1S3AX D RowAd_0[0] 1.089 -0.784 -RowA[1] RCLK FD1S3AX D RowAd_0[1] 1.089 -0.784 -RowA[2] RCLK FD1S3AX D RowAd_0[2] 1.089 -0.784 -RowA[3] RCLK FD1S3AX D RowAd_0[3] 1.089 -0.784 -RowA[4] RCLK FD1S3AX D RowAd_0[4] 1.089 -0.784 -RowA[5] RCLK FD1S3AX D RowAd_0[5] 1.089 -0.784 -RowA[6] RCLK FD1S3AX D RowAd_0[6] 1.089 -0.784 -RowA[7] RCLK FD1S3AX D RowAd_0[7] 1.089 -0.784 -==================================================================================== - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 1.873 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -0.784 - - Number of logic level(s): 1 - Starting point: Ready_fast / Q - Ending point: RBA_0io[0] / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -Ready_fast FD1S3AX Q Out 1.256 1.256 r - -Ready_fast Net - - - - 14 -RBAd[0] ORCALUT4 B In 0.000 1.256 r - -RBAd[0] ORCALUT4 Z Out 0.617 1.873 r - -RBAd_0[0] Net - - - - 1 -RBA_0io[0] OFS1P3DX D In 0.000 1.873 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 1.873 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -0.784 - - Number of logic level(s): 1 - Starting point: Ready_fast / Q - Ending point: RowA[9] / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -Ready_fast FD1S3AX Q Out 1.256 1.256 r - -Ready_fast Net - - - - 14 -RowAd[9] ORCALUT4 B In 0.000 1.256 r - -RowAd[9] ORCALUT4 Z Out 0.617 1.873 f - -RowAd_0[9] Net - - - - 1 -RowA[9] FD1S3AX D In 0.000 1.873 f - -================================================================================= - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 1.873 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -0.784 - - Number of logic level(s): 1 - Starting point: Ready_fast / Q - Ending point: RowA[8] / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -Ready_fast FD1S3AX Q Out 1.256 1.256 r - -Ready_fast Net - - - - 14 -RowAd[8] ORCALUT4 B In 0.000 1.256 r - -RowAd[8] ORCALUT4 Z Out 0.617 1.873 r - -RowAd_0[8] Net - - - - 1 -RowA[8] FD1S3AX D In 0.000 1.873 r - -================================================================================= - - -Path information for path number 4: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 1.873 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -0.784 - - Number of logic level(s): 1 - Starting point: Ready_fast / Q - Ending point: RBA_0io[1] / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -Ready_fast FD1S3AX Q Out 1.256 1.256 r - -Ready_fast Net - - - - 14 -RBAd[1] ORCALUT4 B In 0.000 1.256 r - -RBAd[1] ORCALUT4 Z Out 0.617 1.873 r - -RBAd_0[1] Net - - - - 1 -RBA_0io[1] OFS1P3DX D In 0.000 1.873 r - -================================================================================= - - -Path information for path number 5: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 1.873 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -0.784 - - Number of logic level(s): 1 - Starting point: Ready_fast / Q - Ending point: RowA[6] / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -Ready_fast FD1S3AX Q Out 1.256 1.256 r - -Ready_fast Net - - - - 14 -RowAd[6] ORCALUT4 B In 0.000 1.256 r - -RowAd[6] ORCALUT4 Z Out 0.617 1.873 r - -RowAd_0[6] Net - - - - 1 -RowA[6] FD1S3AX D In 0.000 1.873 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.108 -1.725 -CBR nCRAS FD1S3AX Q CBR 1.148 -1.693 -FWEr nCRAS FD1S3AX Q FWEr 1.108 -1.653 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 0.972 -1.589 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ----------------------------------------------------------------------------------------- -nRCAS_0io nCRAS OFS1P3BX D N_186_i 1.089 -1.725 -nRWE_0io nCRAS OFS1P3BX D N_44_i 1.089 -1.725 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 1.089 -1.693 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 1.089 -1.653 -nRCS_0io nCRAS OFS1P3BX D N_32_i 1.089 -1.653 -======================================================================================== - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 2.813 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -1.725 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS_0io / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.108 1.108 r - -CBR_fast Net - - - - 3 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.108 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.089 2.197 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_0io_RNO ORCALUT4 B In 0.000 2.197 r - -nRCAS_0io_RNO ORCALUT4 Z Out 0.617 2.813 f - -N_186_i Net - - - - 1 -nRCAS_0io OFS1P3BX D In 0.000 2.813 f - -======================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 2.813 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -1.725 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRWE_0io / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.108 1.108 r - -CBR_fast Net - - - - 3 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.108 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.089 2.197 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRWE_0io_RNO ORCALUT4 C In 0.000 2.197 r - -nRWE_0io_RNO ORCALUT4 Z Out 0.617 2.813 r - -N_44_i Net - - - - 1 -nRWE_0io OFS1P3BX D In 0.000 2.813 r - -======================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 2.781 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -1.693 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRCAS_0io / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.148 1.148 r - -CBR Net - - - - 4 -nRCAS_0io_RNO_0 ORCALUT4 A In 0.000 1.148 r - -nRCAS_0io_RNO_0 ORCALUT4 Z Out 1.017 2.165 f - -nRCAS_0io_RNO_0 Net - - - - 1 -nRCAS_0io_RNO ORCALUT4 C In 0.000 2.165 f - -nRCAS_0io_RNO ORCALUT4 Z Out 0.617 2.781 r - -N_186_i Net - - - - 1 -nRCAS_0io OFS1P3BX D In 0.000 2.781 r - -================================================================================== - - -Path information for path number 4: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 2.781 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -1.693 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.148 1.148 r - -CBR Net - - - - 4 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.148 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.017 2.165 f - -N_97 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.165 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.617 2.781 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 2.781 f - -====================================================================================== - - -Path information for path number 5: - Requested Period: 1.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 1.089 - - - Propagation time: 2.741 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -1.653 - - Number of logic level(s): 2 - Starting point: FWEr / Q - Ending point: RCKEEN / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -FWEr FD1S3AX Q Out 1.108 1.108 r - -FWEr Net - - - - 3 -RCKEEN_8_u_1_0 ORCALUT4 C In 0.000 1.108 r - -RCKEEN_8_u_1_0 ORCALUT4 Z Out 1.017 2.125 r - -RCKEEN_8_u_1_0 Net - - - - 1 -RCKEEN_8_u ORCALUT4 C In 0.000 2.125 r - -RCKEEN_8_u ORCALUT4 Z Out 0.617 2.741 r - -RCKEEN_8 Net - - - - 1 -RCKEEN FD1S3AX D In 0.000 2.741 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: System -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -ufmefb.EFBInst_0 System EFB WBDATO0 wb_dato[0] 0.000 15.472 -ufmefb.EFBInst_0 System EFB WBDATO1 wb_dato[1] 0.000 15.472 -========================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock -------------------------------------------------------------------------------------- -LEDEN System FD1P3AX D LEDEN_6_i_m2 16.089 15.472 -n8MEGEN System FD1P3AX D n8MEGEN_6_i_m2 16.089 15.472 -===================================================================================== - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 16.000 - - Setup time: -0.089 - + Clock delay at ending point: 0.000 (ideal) - = Required time: 16.089 - - - Propagation time: 0.617 - - Clock delay at starting point: 0.000 (ideal) - - Estimated clock delay at start point: -0.000 - = Slack (non-critical) : 15.472 - - Number of logic level(s): 1 - Starting point: ufmefb.EFBInst_0 / WBDATO0 - Ending point: n8MEGEN / D - The start point is clocked by System [rising] - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -ufmefb.EFBInst_0 EFB WBDATO0 Out 0.000 0.000 r - -wb_dato[0] Net - - - - 1 -n8MEGEN_6_i_m2 ORCALUT4 C In 0.000 0.000 r - -n8MEGEN_6_i_m2 ORCALUT4 Z Out 0.617 0.617 r - -n8MEGEN_6_i_m2 Net - - - - 1 -n8MEGEN FD1P3AX D In 0.000 0.617 r - -====================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 193MB) - - -Finished timing report (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:03s; Memory used current: 191MB peak: 193MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo2_640hc-4 - -Register bits: 109 of 640 (17%) -PIC Latch: 0 -I/O cells: 63 - - -Details: -BB: 8 -CCU2D: 10 -EFB: 1 -FD1P3AX: 27 -FD1P3IX: 3 -FD1S3AX: 51 -FD1S3IX: 3 -GSR: 1 -IB: 25 -IFS1P3DX: 9 -INV: 8 -OB: 30 -OFS1P3BX: 4 -OFS1P3DX: 11 -OFS1P3JX: 1 -ORCALUT4: 206 -PFUMX: 1 -PUR: 1 -VHI: 2 -VLO: 2 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 193MB) - -Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 20:59:35 2023 - -###########################################################] - - -Synthesis exit by 0. - -edif2ngd -l "MachXO2" -d LCMXO2-640HC -path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1" -path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi" "LCMXO2_640HC_impl1.ngo" -edif2ngd: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Writing the design to LCMXO2_640HC_impl1.ngo... - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 11 MB - - -ngdbuild -a "MachXO2" -d LCMXO2-640HC -p "C:/lscc/diamond/3.12/ispfpga/xo2c00/data" -p "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1" -p "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC" "LCMXO2_640HC_impl1.ngo" "LCMXO2_640HC_impl1.ngd" -ngdbuild: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Reading 'LCMXO2_640HC_impl1.ngo' ... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/xo2c00/data/xo2clib.ngl'... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/mg5g00/data/mg5glib.ngl'... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/or5g00/data/orc5glib.ngl'... - - -Running DRC... - -DRC complete with no errors or warnings - -Design Results: - 403 blocks expanded -Complete the first expansion. -Writing 'LCMXO2_640HC_impl1.ngd' ... -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 19 MB - - -map -a "MachXO2" -p LCMXO2-640HC -t TQFP100 -s 4 -oc Commercial "LCMXO2_640HC_impl1.ngd" -o "LCMXO2_640HC_impl1_map.ncd" -pr "LCMXO2_640HC_impl1.prf" -mp "LCMXO2_640HC_impl1.mrp" -lpf "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf" -lpf "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf" -c 0 -map: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - Process the file: LCMXO2_640HC_impl1.ngd - Picdevice="LCMXO2-640HC" - - Pictype="TQFP100" - - Picspeed=4 - - Remove unused logic - - Do not produce over sized NCDs. - -Part used: LCMXO2-640HCTQFP100, Performance used: 4. - -Loading device for application map from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.39. - -Running general design DRC... - -Removing unused logic... - -Optimizing... - -1 CCU2 constant inputs absorbed. - - - - - -Design Summary: - Number of registers: 109 out of 877 (12%) - PFU registers: 84 out of 640 (13%) - PIO registers: 25 out of 237 (11%) - Number of SLICEs: 117 out of 320 (37%) - SLICEs as Logic/ROM: 117 out of 320 (37%) - SLICEs as RAM: 0 out of 240 (0%) - SLICEs as Carry: 10 out of 320 (3%) - Number of LUT4s: 230 out of 640 (36%) - Number used as logic LUTs: 210 - Number used as distributed RAM: 0 - Number used as ripple logic: 20 - Number used as shift registers: 0 - Number of PIO sites used: 63 + 4(JTAG) out of 79 (85%) - Number of block RAMs: 0 out of 2 (0%) - Number of GSRs: 0 out of 1 (0%) - EFB used : Yes - JTAG used : No - Readback used : No - Oscillator used : No - Startup used : No - POR : On - Bandgap : On - Number of Power Controller: 0 out of 1 (0%) - Number of Dynamic Bank Controller (BCINRD): 0 out of 4 (0%) - Number of DCCA: 0 out of 8 (0%) - Number of DCMA: 0 out of 2 (0%) - Notes:- - 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of distributed RAMs) + 2*(Number of ripple logic) - 2. Number of logic LUT4s does not include count of distributed RAM and ripple logic. - Number of clocks: 5 - Net PHI2_c: 19 loads, 9 rising, 10 falling (Driver: PIO PHI2 ) - Net RCLK_c: 46 loads, 46 rising, 0 falling (Driver: PIO RCLK ) - Net wb_clk: 1 loads, 1 rising, 0 falling (Driver: wb_clk ) - Net nCRAS_c: 10 loads, 0 rising, 10 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 7 - Net N_245_i: 1 loads, 1 LSLICEs - Net CMDUFMWrite_1_sqmuxa: 2 loads, 2 LSLICEs - Net InitReady: 1 loads, 1 LSLICEs - Net un1_wb_clk32_i: 10 loads, 10 LSLICEs - Net N_18: 2 loads, 2 LSLICEs - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_193_i: 2 loads, 2 LSLICEs - Number of LSRs: 5 - Net RA10s_i: 1 loads, 0 LSLICEs - Net wb_clk23: 3 loads, 3 LSLICEs - Net wb_rst: 1 loads, 0 LSLICEs - Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs - Net RASr2: 2 loads, 2 LSLICEs - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 42 loads - Net FS[12]: 27 loads - Net FS[10]: 25 loads - Net FS[11]: 22 loads - Net FS[7]: 17 loads - Net FS[6]: 16 loads - Net Ready: 15 loads - Net Ready_fast: 14 loads - Net nRowColSel: 12 loads - Net S[1]: 12 loads - - - Number of warnings: 1 - Number of errors: 0 - - - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 37 MB - -Dumping design to file LCMXO2_640HC_impl1_map.ncd. +Copyright (C) 1992-2020 Lattice Semiconductor Corporation. All rights reserved. +Lattice Diamond Version 3.12.1.454 + + +==contents of LCMXO2_640HC_impl1.srf +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 +#install: C:\lscc\diamond\3.12\synpbase +#OS: Windows 8 6.2 +#Hostname: ZANEMACWIN11 + +# Sat Aug 19 21:54:48 2023 + +#Implementation: impl1 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work) +@I::"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work) +Verilog syntax check successful! + +Compiler output is up to date. No re-compile necessary + +Selecting top level module RAM2GS +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work. +Running optimization stage 1 on VHI ....... +Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work. +Running optimization stage 1 on VLO ....... +Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work. +Running optimization stage 1 on EFB ....... +Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work. +Running optimization stage 1 on REFB ....... +Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 101MB peak: 101MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on REFB ....... +Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on EFB ....... +Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on VLO ....... +Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on VHI ....... +Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv + + +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 96MB peak: 97MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 21:54:48 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 21:54:48 2023 + +###########################################################] + +For a summary of runtime and memory usage for all design units, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.rt.csv + +@END + +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 21:54:48 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 99MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 21:54:50 2023 + +###########################################################] +# Sat Aug 19 21:54:50 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + + +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 139MB) + +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt" +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 150MB peak: 151MB) + +@N: FX493 |Applying initial value "0" on instance InitReady. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance CmdUFMShift. +@N: FX493 |Applying initial value "0" on instance CmdUFMWrite. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "0" on instance CmdValid. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMData. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. + +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB) + + +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB) + +@N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS + +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB) + + + +Clock Summary +****************** + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +---------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 65 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 + +0 - System 100.0 MHz 10.000 system system_clkgroup 0 +======================================================================================== + + + +Clock Load Summary +*********************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +----------------------------------------------------------------------------------------- +RCLK 65 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) + +System 0 - - - - +========================================================================================= + +ICG Latch Removal Summary: +Number of ICG latches removed: 0 +Number of ICG latches not removed: 0 +For details review file gcc_ICG_report.rpt + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 106 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 65 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +Finished Pre Mapping Phase. + +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB) + +Pre-mapping successful! + +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 103MB peak: 184MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime +# Sat Aug 19 21:54:51 2023 + +###########################################################] +# Sat Aug 19 21:54:51 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) + + + +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 179MB peak: 179MB) + + +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB) + +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":162:4:162:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":149:4:149:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. + +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 185MB peak: 185MB) + + +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Available hyper_sources - for debug and ip models + None Found + + +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 187MB peak: 187MB) + + +Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 195MB peak: 195MB) + +Pass CPU time Worst Slack Luts / Registers +------------------------------------------------------------ + 1 0h:00m:01s -2.36ns 191 / 106 + 2 0h:00m:01s -2.36ns 206 / 106 + 3 0h:00m:01s -2.36ns 202 / 106 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":303:4:303:9|Replicating instance CmdValid (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":303:4:303:9|Replicating instance CmdUFMShift (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":162:4:162:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":120:4:120:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":120:4:120:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing. +Timing driven replication report +Added 5 Registers via timing driven replication +Added 3 LUTs via timing driven replication + + 4 0h:00m:01s -1.83ns 206 / 111 + + + 5 0h:00m:02s -1.83ns 207 / 111 + 6 0h:00m:02s -1.83ns 208 / 111 + 7 0h:00m:02s -1.83ns 208 / 111 + +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + +@N: FX164 |The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute. + +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 160MB peak: 196MB) + +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm + +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 197MB peak: 197MB) + +Writing EDIF Netlist and constraint files +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF + +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 202MB peak: 202MB) + + +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 202MB peak: 202MB) + + +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 200MB peak: 202MB) + +@W: MT246 :"y:\repos\ram2gs\cpld\lcmxo2-640hc\refb.v":78:8:78:16|Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results) +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns + + +##### START OF TIMING REPORT #####[ +# Timing report written on Sat Aug 19 21:54:55 2023 +# + + +Top view: RAM2GS +Requested Frequency: 2.9 MHz +Wire load mode: top +Paths requested: 5 +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc + +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. + +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. + + + +Performance Summary +******************* + + +Worst slack in design: -1.828 + + Requested Estimated Requested Estimated Clock Clock +Starting Clock Frequency Frequency Period Period Slack Type Group +------------------------------------------------------------------------------------------------------------------- +PHI2 2.9 MHz 1.0 MHz 350.000 989.870 -1.828 declared default_clkgroup +RCLK 62.5 MHz 22.1 MHz 16.000 45.251 -0.876 declared default_clkgroup +nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup +nCRAS 2.9 MHz 1.0 MHz 350.000 953.610 -1.725 declared default_clkgroup +System 100.0 MHz NA 10.000 NA 13.991 system system_clkgroup +=================================================================================================================== +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform + + +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + + +Clock Relationships +******************* + +Clocks | rise to rise | fall to fall | rise to fall | fall to rise +--------------------------------------------------------------------------------------------------------------- +Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack +--------------------------------------------------------------------------------------------------------------- +System RCLK | 16.000 13.991 | No paths - | No paths - | No paths - +RCLK System | 16.000 14.956 | No paths - | No paths - | No paths - +RCLK RCLK | 16.000 9.535 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 0.216 | No paths - | 1.000 -0.876 | No paths - +RCLK nCRAS | No paths - | No paths - | 1.000 -0.784 | No paths - +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -1.828 +PHI2 PHI2 | No paths - | 350.000 347.059 | 175.000 168.905 | 175.000 173.428 +nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -1.725 +=============================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + + +Interface Information +********************* + +No IO constraint found + + + +==================================== +Detailed Report for Clock: PHI2 +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +------------------------------------------------------------------------------------------------ +CmdUFMShift_fast PHI2 FD1P3AX Q CmdUFMShift_fast 1.044 -1.828 +CmdValid_fast PHI2 FD1S3AX Q CmdValid_fast 1.044 -1.828 +CmdUFMShift PHI2 FD1P3AX Q CmdUFMShift 1.108 -1.810 +CmdValid PHI2 FD1S3AX Q CmdValid 1.108 -1.810 +CmdUFMWrite PHI2 FD1P3AX Q CmdUFMWrite 1.044 -1.746 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.044 -0.572 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.044 -0.572 +CmdUFMData PHI2 FD1P3AX Q CmdUFMData 0.972 -0.500 +Bank_0io[0] PHI2 IFS1P3DX Q Bank[0] 0.972 168.905 +Bank_0io[1] PHI2 IFS1P3DX Q Bank[1] 0.972 168.905 +================================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +wb_adr[0] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[1] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[2] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[3] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[4] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[5] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[6] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_adr[7] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_dati[0] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +wb_dati[1] PHI2 FD1P3AX SP un1_wb_rst14_i 0.528 -1.828 +======================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 0.472 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 0.528 + + - Propagation time: 2.357 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -1.828 + + Number of logic level(s): 1 + Starting point: CmdUFMShift_fast / Q + Ending point: wb_adr[0] / SP + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[0] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 0.472 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 0.528 + + - Propagation time: 2.357 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -1.828 + + Number of logic level(s): 1 + Starting point: CmdValid_fast / Q + Ending point: wb_adr[0] / SP + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdValid_fast FD1S3AX Q Out 1.044 1.044 r - +CmdValid_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 B In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[0] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 0.472 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 0.528 + + - Propagation time: 2.357 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -1.828 + + Number of logic level(s): 1 + Starting point: CmdUFMShift_fast / Q + Ending point: wb_adr[7] / SP + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[7] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ + + +Path information for path number 4: + Requested Period: 1.000 + - Setup time: 0.472 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 0.528 + + - Propagation time: 2.357 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -1.828 + + Number of logic level(s): 1 + Starting point: CmdUFMShift_fast / Q + Ending point: wb_adr[6] / SP + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[6] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ + + +Path information for path number 5: + Requested Period: 1.000 + - Setup time: 0.472 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 0.528 + + - Propagation time: 2.357 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -1.828 + + Number of logic level(s): 1 + Starting point: CmdUFMShift_fast / Q + Ending point: wb_adr[5] / SP + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------------- +CmdUFMShift_fast FD1P3AX Q Out 1.044 1.044 r - +CmdUFMShift_fast Net - - - - 2 +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 A In 0.000 1.044 r - +CmdUFMShift_fast_RNIG9JD1 ORCALUT4 Z Out 1.313 2.357 r - +un1_wb_rst14_i Net - - - - 17 +wb_adr[5] FD1P3AX SP In 0.000 2.357 r - +============================================================================================ + + + + +==================================== +Detailed Report for Clock: RCLK +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +---------------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.108 -0.876 +Ready_fast RCLK FD1S3AX Q Ready_fast 1.256 -0.784 +n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.044 -0.572 +InitReady RCLK FD1S3AX Q InitReady 1.321 9.535 +FS[15] RCLK FD1S3AX Q FS[15] 1.180 9.677 +FS[16] RCLK FD1S3AX Q FS[16] 1.180 9.677 +FS[17] RCLK FD1S3AX Q FS[17] 1.180 9.677 +S[1] RCLK FD1S3IX Q S[1] 1.244 9.913 +S[0] RCLK FD1S3IX Q CO0 1.228 9.929 +FS[12] RCLK FD1S3AX Q FS[12] 1.284 10.121 +================================================================================== + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +------------------------------------------------------------------------------------ +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 1.462 -0.876 +RBA_0io[0] RCLK OFS1P3DX D RBAd_0[0] 1.089 -0.784 +RBA_0io[1] RCLK OFS1P3DX D RBAd_0[1] 1.089 -0.784 +RowA[0] RCLK FD1S3AX D RowAd_0[0] 1.089 -0.784 +RowA[1] RCLK FD1S3AX D RowAd_0[1] 1.089 -0.784 +RowA[2] RCLK FD1S3AX D RowAd_0[2] 1.089 -0.784 +RowA[3] RCLK FD1S3AX D RowAd_0[3] 1.089 -0.784 +RowA[4] RCLK FD1S3AX D RowAd_0[4] 1.089 -0.784 +RowA[5] RCLK FD1S3AX D RowAd_0[5] 1.089 -0.784 +RowA[6] RCLK FD1S3AX D RowAd_0[6] 1.089 -0.784 +==================================================================================== + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: -0.462 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.462 + + - Propagation time: 2.339 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -0.876 + + Number of logic level(s): 2 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.108 1.108 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_bm ORCALUT4 A In 0.000 1.108 r - +XOR8MEG_3_u_0_bm ORCALUT4 Z Out 1.017 2.125 f - +XOR8MEG_3_u_0_bm Net - - - - 1 +XOR8MEG_3_u_0 PFUMX ALUT In 0.000 2.125 f - +XOR8MEG_3_u_0 PFUMX Z Out 0.214 2.339 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.339 f - +=================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 1.873 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -0.784 + + Number of logic level(s): 1 + Starting point: Ready_fast / Q + Ending point: RBA_0io[0] / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +Ready_fast FD1S3AX Q Out 1.256 1.256 r - +Ready_fast Net - - - - 14 +RBAd[0] ORCALUT4 B In 0.000 1.256 r - +RBAd[0] ORCALUT4 Z Out 0.617 1.873 r - +RBAd_0[0] Net - - - - 1 +RBA_0io[0] OFS1P3DX D In 0.000 1.873 r - +================================================================================= + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 1.873 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -0.784 + + Number of logic level(s): 1 + Starting point: Ready_fast / Q + Ending point: RowA[9] / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +Ready_fast FD1S3AX Q Out 1.256 1.256 r - +Ready_fast Net - - - - 14 +RowAd[9] ORCALUT4 B In 0.000 1.256 r - +RowAd[9] ORCALUT4 Z Out 0.617 1.873 f - +RowAd_0[9] Net - - - - 1 +RowA[9] FD1S3AX D In 0.000 1.873 f - +================================================================================= + + +Path information for path number 4: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 1.873 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -0.784 + + Number of logic level(s): 1 + Starting point: Ready_fast / Q + Ending point: RowA[8] / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +Ready_fast FD1S3AX Q Out 1.256 1.256 r - +Ready_fast Net - - - - 14 +RowAd[8] ORCALUT4 B In 0.000 1.256 r - +RowAd[8] ORCALUT4 Z Out 0.617 1.873 r - +RowAd_0[8] Net - - - - 1 +RowA[8] FD1S3AX D In 0.000 1.873 r - +================================================================================= + + +Path information for path number 5: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 1.873 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -0.784 + + Number of logic level(s): 1 + Starting point: Ready_fast / Q + Ending point: RBA_0io[1] / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +Ready_fast FD1S3AX Q Out 1.256 1.256 r - +Ready_fast Net - - - - 14 +RBAd[1] ORCALUT4 B In 0.000 1.256 r - +RBAd[1] ORCALUT4 Z Out 0.617 1.873 r - +RBAd_0[1] Net - - - - 1 +RBA_0io[1] OFS1P3DX D In 0.000 1.873 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: nCRAS +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------- +CBR_fast nCRAS FD1S3AX Q CBR_fast 1.108 -1.725 +CBR nCRAS FD1S3AX Q CBR 1.148 -1.693 +FWEr nCRAS FD1S3AX Q FWEr 1.108 -1.653 +FWEr_fast nCRAS FD1S3AX Q FWEr_fast 0.972 -1.589 +================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +---------------------------------------------------------------------------------------- +nRCAS_0io nCRAS OFS1P3BX D N_249_i 1.089 -1.725 +nRWE_0io nCRAS OFS1P3BX D N_37_i 1.089 -1.725 +nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 1.089 -1.693 +RCKEEN nCRAS FD1S3AX D RCKEEN_8 1.089 -1.653 +nRCS_0io nCRAS OFS1P3BX D N_28_i 1.089 -1.653 +======================================================================================== + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 2.813 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -1.725 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRCAS_0io / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.108 1.108 r - +CBR_fast Net - - - - 3 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.108 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.089 2.197 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRCAS_0io_RNO ORCALUT4 B In 0.000 2.197 r - +nRCAS_0io_RNO ORCALUT4 Z Out 0.617 2.813 f - +N_249_i Net - - - - 1 +nRCAS_0io OFS1P3BX D In 0.000 2.813 f - +======================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 2.813 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -1.725 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRWE_0io / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.108 1.108 r - +CBR_fast Net - - - - 3 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.108 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.089 2.197 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRWE_0io_RNO ORCALUT4 C In 0.000 2.197 r - +nRWE_0io_RNO ORCALUT4 Z Out 0.617 2.813 r - +N_37_i Net - - - - 1 +nRWE_0io OFS1P3BX D In 0.000 2.813 r - +======================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 2.781 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -1.693 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRCAS_0io / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.148 1.148 r - +CBR Net - - - - 4 +nRCAS_0io_RNO_0 ORCALUT4 A In 0.000 1.148 r - +nRCAS_0io_RNO_0 ORCALUT4 Z Out 1.017 2.165 f - +nRCAS_0io_RNO_0 Net - - - - 1 +nRCAS_0io_RNO ORCALUT4 C In 0.000 2.165 f - +nRCAS_0io_RNO ORCALUT4 Z Out 0.617 2.781 r - +N_249_i Net - - - - 1 +nRCAS_0io OFS1P3BX D In 0.000 2.781 r - +================================================================================== + + +Path information for path number 4: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 2.781 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -1.693 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRowColSel / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.148 1.148 r - +CBR Net - - - - 4 +nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.148 r - +nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.017 2.165 f - +N_265 Net - - - - 1 +nRowColSel_0_0 ORCALUT4 B In 0.000 2.165 f - +nRowColSel_0_0 ORCALUT4 Z Out 0.617 2.781 f - +nRowColSel_0_0 Net - - - - 1 +nRowColSel FD1S3IX D In 0.000 2.781 f - +====================================================================================== + + +Path information for path number 5: + Requested Period: 1.000 + - Setup time: -0.089 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 1.089 + + - Propagation time: 2.741 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -1.653 + + Number of logic level(s): 2 + Starting point: FWEr / Q + Ending point: RCKEEN / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +FWEr FD1S3AX Q Out 1.108 1.108 r - +FWEr Net - - - - 3 +RCKEEN_8_u_1_0 ORCALUT4 C In 0.000 1.108 r - +RCKEEN_8_u_1_0 ORCALUT4 Z Out 1.017 2.125 r - +RCKEEN_8_u_1_0 Net - - - - 1 +RCKEEN_8_u ORCALUT4 C In 0.000 2.125 r - +RCKEEN_8_u ORCALUT4 Z Out 0.617 2.741 r - +RCKEEN_8 Net - - - - 1 +RCKEEN FD1S3AX D In 0.000 2.741 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: System +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------------------- +ufmefb.EFBInst_0 System EFB WBACKO wb_ack 0.000 13.991 +ufmefb.EFBInst_0 System EFB WBDATO0 wb_dato[0] 0.000 15.472 +ufmefb.EFBInst_0 System EFB WBDATO1 wb_dato[1] 0.000 15.472 +========================================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +---------------------------------------------------------------------------------------------------------- +LEDEN System FD1P3AX SP un1_FS_38_i 15.528 13.991 +n8MEGEN System FD1P3AX SP un1_FS_38_i 15.528 13.991 +wb_cyc_stb System FD1P3IX SP un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i 15.528 14.297 +LEDEN System FD1P3AX D LEDEN_6 16.089 15.472 +n8MEGEN System FD1P3AX D n8MEGEN_6 16.089 15.472 +========================================================================================================== + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 16.000 + - Setup time: 0.472 + + Clock delay at ending point: 0.000 (ideal) + = Required time: 15.528 + + - Propagation time: 1.538 + - Clock delay at starting point: 0.000 (ideal) + - Estimated clock delay at start point: -0.000 + = Slack (non-critical) : 13.991 + + Number of logic level(s): 2 + Starting point: ufmefb.EFBInst_0 / WBACKO + Ending point: LEDEN / SP + The start point is clocked by System [rising] + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------------------- +ufmefb.EFBInst_0 EFB WBACKO Out 0.000 0.000 r - +wb_ack Net - - - - 2 +ufmefb.EFBInst_0_RNI9PBJ ORCALUT4 D In 0.000 0.000 r - +ufmefb.EFBInst_0_RNI9PBJ ORCALUT4 Z Out 0.449 0.449 r - +d_N_5_mux Net - - - - 1 +CmdValid_fast_RNITQBM1 ORCALUT4 C In 0.000 0.449 r - +CmdValid_fast_RNITQBM1 ORCALUT4 Z Out 1.089 1.538 r - +un1_FS_38_i Net - - - - 2 +LEDEN FD1P3AX SP In 0.000 1.538 r - +============================================================================================= + + + +##### END OF TIMING REPORT #####] + +Timing exceptions that could not be applied + +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 201MB peak: 202MB) + + +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 201MB peak: 202MB) + +--------------------------------------- +Resource Usage Report +Part: lcmxo2_640hc-4 + +Register bits: 111 of 640 (17%) +PIC Latch: 0 +I/O cells: 63 + + +Details: +BB: 8 +CCU2D: 10 +EFB: 1 +FD1P3AX: 28 +FD1P3IX: 2 +FD1S3AX: 52 +FD1S3IX: 4 +GSR: 1 +IB: 25 +IFS1P3DX: 9 +INV: 6 +OB: 30 +OFS1P3BX: 4 +OFS1P3DX: 11 +OFS1P3JX: 1 +ORCALUT4: 199 +PFUMX: 3 +PUR: 1 +VHI: 2 +VLO: 2 +Mapper successful! + +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 202MB) + +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 21:54:55 2023 + +###########################################################] + + +Synthesis exit by 0. + +edif2ngd -l "MachXO2" -d LCMXO2-640HC -path "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1" -path "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC" "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi" "LCMXO2_640HC_impl1.ngo" +edif2ngd: version Diamond (64-bit) 3.12.1.454 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Writing the design to LCMXO2_640HC_impl1.ngo... + +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 29 MB + + +ngdbuild -a "MachXO2" -d LCMXO2-640HC -p "C:/lscc/diamond/3.12/ispfpga/xo2c00/data" -p "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1" -p "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC" "LCMXO2_640HC_impl1.ngo" "LCMXO2_640HC_impl1.ngd" +ngdbuild: version Diamond (64-bit) 3.12.1.454 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Reading 'LCMXO2_640HC_impl1.ngo' ... +Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/xo2c00/data/xo2clib.ngl'... +Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/mg5g00/data/mg5glib.ngl'... +Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/or5g00/data/orc5glib.ngl'... + + +Running DRC... + +DRC complete with no errors or warnings + +Design Results: + 398 blocks expanded +Complete the first expansion. +Writing 'LCMXO2_640HC_impl1.ngd' ... +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 37 MB + + +map -a "MachXO2" -p LCMXO2-640HC -t TQFP100 -s 4 -oc Commercial "LCMXO2_640HC_impl1.ngd" -o "LCMXO2_640HC_impl1_map.ncd" -pr "LCMXO2_640HC_impl1.prf" -mp "LCMXO2_640HC_impl1.mrp" -lpf "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf" -lpf "Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf" -c 0 +map: version Diamond (64-bit) 3.12.1.454 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + Process the file: LCMXO2_640HC_impl1.ngd + Picdevice="LCMXO2-640HC" + + Pictype="TQFP100" + + Picspeed=4 + + Remove unused logic + + Do not produce over sized NCDs. + +Part used: LCMXO2-640HCTQFP100, Performance used: 4. + +Loading device for application map from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. + +Running general design DRC... + +Removing unused logic... + +Optimizing... + +1 CCU2 constant inputs absorbed. + + + + + +Design Summary: + Number of registers: 111 out of 877 (13%) + PFU registers: 86 out of 640 (13%) + PIO registers: 25 out of 237 (11%) + Number of SLICEs: 113 out of 320 (35%) + SLICEs as Logic/ROM: 113 out of 320 (35%) + SLICEs as RAM: 0 out of 240 (0%) + SLICEs as Carry: 10 out of 320 (3%) + Number of LUT4s: 222 out of 640 (35%) + Number used as logic LUTs: 202 + Number used as distributed RAM: 0 + Number used as ripple logic: 20 + Number used as shift registers: 0 + Number of PIO sites used: 63 + 4(JTAG) out of 79 (85%) + Number of block RAMs: 0 out of 2 (0%) + Number of GSRs: 0 out of 1 (0%) + EFB used : Yes + JTAG used : No + Readback used : No + Oscillator used : No + Startup used : No + POR : On + Bandgap : On + Number of Power Controller: 0 out of 1 (0%) + Number of Dynamic Bank Controller (BCINRD): 0 out of 4 (0%) + Number of DCCA: 0 out of 8 (0%) + Number of DCMA: 0 out of 2 (0%) + Notes:- + 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of distributed RAMs) + 2*(Number of ripple logic) + 2. Number of logic LUT4s does not include count of distributed RAM and ripple logic. + Number of clocks: 4 + Net PHI2_c: 21 loads, 9 rising, 12 falling (Driver: PIO PHI2 ) + Net RCLK_c: 47 loads, 47 rising, 0 falling (Driver: PIO RCLK ) + Net nCRAS_c: 10 loads, 0 rising, 10 falling (Driver: PIO nCRAS ) + Net nCCAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCCAS ) + Number of Clock Enables: 6 + Net un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i: 1 loads, 1 LSLICEs + Net XOR8MEG18: 6 loads, 6 LSLICEs + Net CmdUFMData_1_sqmuxa: 1 loads, 1 LSLICEs + Net un1_wb_rst14_i: 9 loads, 9 LSLICEs + Net un1_FS_38_i: 2 loads, 2 LSLICEs + Net N_253_i: 2 loads, 2 LSLICEs + Number of LSRs: 5 + Net RA10s_i: 1 loads, 0 LSLICEs + Net wb_rst10: 3 loads, 3 LSLICEs + Net wb_rst: 1 loads, 0 LSLICEs + Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs + Net RASr2: 2 loads, 2 LSLICEs + Number of nets driven by tri-state buffers: 0 + Top 10 highest fanout non-clock nets: + Net InitReady: 33 loads + Net FS[13]: 22 loads + Net FS[12]: 21 loads + Net FS[14]: 20 loads + Net wb_rst11: 18 loads + Net FS[10]: 16 loads + Net Ready: 16 loads + Net FS[11]: 15 loads + Net FS[9]: 15 loads + Net Ready_fast: 14 loads + + + Number of warnings: 1 + Number of errors: 0 + + + +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 57 MB + +Dumping design to file LCMXO2_640HC_impl1_map.ncd. + +trce -f "LCMXO2_640HC_impl1.mt" -o "LCMXO2_640HC_impl1.tw1" "LCMXO2_640HC_impl1_map.ncd" "LCMXO2_640HC_impl1.prf" +trce: version Diamond (64-bit) 3.12.1.454 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Loading design for application trce from file lcmxo2_640hc_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application trce from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Setup and Hold Report + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:54:58 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o LCMXO2_640HC_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1_map.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,4 +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 687 connections (70.25% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:54:58 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o LCMXO2_640HC_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1_map.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,M +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 687 connections (70.25% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 60 MB + + +ldbanno "LCMXO2_640HC_impl1_map.ncd" -n Verilog -o "LCMXO2_640HC_impl1_mapvo.vo" -w -neg +ldbanno: version Diamond (64-bit) 3.12.1.454 +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Writing a Verilog netlist using the orca library type based on the LCMXO2_640HC_impl1_map design file. + + +Loading design for application ldbanno from file LCMXO2_640HC_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application ldbanno from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Converting design LCMXO2_640HC_impl1_map.ncd into .ldb format. +Writing Verilog netlist to file LCMXO2_640HC_impl1_mapvo.vo +Writing SDF timing to file LCMXO2_640HC_impl1_mapvo.sdf + +Total CPU Time: 1 secs +Total REAL Time: 0 secs +Peak Memory Usage: 60 MB + +ldbanno "LCMXO2_640HC_impl1_map.ncd" -n VHDL -o "LCMXO2_640HC_impl1_mapvho.vho" -w -neg +ldbanno: version Diamond (64-bit) 3.12.1.454 +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Writing a VHDL netlist using the orca library type based on the LCMXO2_640HC_impl1_map design file. + + +Loading design for application ldbanno from file LCMXO2_640HC_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application ldbanno from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Converting design LCMXO2_640HC_impl1_map.ncd into .ldb format. +Writing VHDL netlist to file LCMXO2_640HC_impl1_mapvho.vho +Writing SDF timing to file LCMXO2_640HC_impl1_mapvho.sdf + +Total CPU Time: 1 secs +Total REAL Time: 2 secs +Peak Memory Usage: 60 MB mpartrce -p "LCMXO2_640HC_impl1.p2t" -f "LCMXO2_640HC_impl1.p3t" -tf "LCMXO2_640HC_impl1.pt" "LCMXO2_640HC_impl1_map.ncd" "LCMXO2_640HC_impl1.ncd" + +---- MParTrce Tool ---- +Removing old design directory at request of -rem command line option to this program. +Running par. Please wait . . . + +Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" +Sat Aug 19 21:55:01 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf +Preference file: LCMXO2_640HC_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file LCMXO2_640HC_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application par from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 63+4(JTAG)/80 84% used + 63+4(JTAG)/79 85% bonded + IOLOGIC 25/80 31% used + + SLICE 113/320 35% used + + EFB 1/1 100% used + + +Number of Signals: 374 +Number of Connections: 978 + +Pin Constraint Summary: + 63 out of 63 pins locked (100% locked). + +The following 3 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 47) + PHI2_c (driver: PHI2, clk load #: 21) + nCRAS_c (driver: nCRAS, clk load #: 10) + + + + + +The following 1 signal is selected to use the secondary clock routing resources: + nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) + + +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +............ +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +.................... +Placer score = 53481. +Finished Placer Phase 1. REAL time: 5 secs + +Starting Placer Phase 2. +. +Placer score = 53406 +Finished Placer Phase 2. REAL time: 5 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 0 out of 8 (0%) + General PIO: 4 out of 80 (5%) + DCM : 0 out of 2 (0%) + DCC : 0 out of 8 (0%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 47 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 21 + PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 + SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 3 out of 8 (37%) + SECONDARY: 1 out of 8 (12%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 63 + 4(JTAG) out of 80 (83.8%) PIO sites used. + 63 + 4(JTAG) out of 79 (84.8%) bonded PIO sites used. + Number of PIO comps: 63; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+-----------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref | ++----------+----------------+------------+-----------+ +| 0 | 13 / 19 ( 68%) | 3.3V | - | +| 1 | 20 / 20 (100%) | 3.3V | - | +| 2 | 12 / 20 ( 60%) | 3.3V | - | +| 3 | 18 / 20 ( 90%) | 3.3V | - | ++----------+----------------+------------+-----------+ + +Total placer CPU time: 5 secs + +Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. + +0 connections routed; 978 unrouted. +Starting router resource preassignment + + + +Completed router resource preassignment. Real time: 8 secs + +Start NBR router at 21:55:09 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 21:55:09 08/19/23 + +Start NBR section for initial routing at 21:55:10 08/19/23 +Level 1, iteration 1 +0(0.00%) conflict; 776(79.35%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.085ns/0.000ns; real time: 9 secs +Level 2, iteration 1 +0(0.00%) conflict; 771(78.83%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.138ns/0.000ns; real time: 9 secs +Level 3, iteration 1 +0(0.00%) conflict; 765(78.22%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.276ns/0.000ns; real time: 9 secs +Level 4, iteration 1 +10(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 21:55:10 08/19/23 +Level 4, iteration 1 +3(0.01%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs +Level 4, iteration 2 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 21:55:10 08/19/23 + +Start NBR section for re-routing at 21:55:10 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Start NBR section for post-routing at 21:55:10 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 6.966ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +Total CPU time 9 secs +Total REAL time: 9 secs +Completely routed. +End of route. 978 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 6.966 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.304 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 9 secs +Total REAL time to completion: 10 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Exiting par with exit code 0 +Exiting mpartrce with exit code 0 ----- MParTrce Tool ---- -Removing old design directory at request of -rem command line option to this program. -Running par. Please wait . . . +trce -f "LCMXO2_640HC_impl1.pt" -o "LCMXO2_640HC_impl1.twr" "LCMXO2_640HC_impl1.ncd" "LCMXO2_640HC_impl1.prf" +trce: version Diamond (64-bit) 3.12.1.454 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Loading design for application trce from file lcmxo2_640hc_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application trce from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Setup and Hold Report + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:55:11 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 4 -sphld m -o LCMXO2_640HC_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,4 +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 705 connections (72.09% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 21:55:11 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 4 -sphld m -o LCMXO2_640HC_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf +Design file: lcmxo2_640hc_impl1.ncd +Preference file: lcmxo2_640hc_impl1.prf +Device,speed: LCMXO2-640HC,m +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 1002 paths, 4 nets, and 705 connections (72.09% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 60 MB + -Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" -Wed Aug 16 20:59:37 2023 +iotiming "LCMXO2_640HC_impl1.ncd" "LCMXO2_640HC_impl1.prf" +I/O Timing Report: +: version Diamond (64-bit) 3.12.1.454 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application iotiming from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Running Performance Grade: 4 +Computing Setup Time ... +Computing Max Clock to Output Delay ... +Computing Hold Time ... +Computing Min Clock to Output Delay ... + +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 5 +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Running Performance Grade: 5 +Computing Setup Time ... +Computing Max Clock to Output Delay ... +Computing Hold Time ... +Computing Min Clock to Output Delay ... + +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 6 +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Running Performance Grade: 6 +Computing Setup Time ... +Computing Max Clock to Output Delay ... +Computing Hold Time ... +Computing Min Clock to Output Delay ... + +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: M +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Running Performance Grade: M +Computing Setup Time ... +Computing Max Clock to Output Delay ... +Computing Hold Time ... +Computing Min Clock to Output Delay ... +Done. -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf -Preference file: LCMXO2_640HC_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 +ibisgen "LCMXO2_640HC_impl1.pad" "C:/lscc/diamond/3.12/cae_library/ibis/machxo2.ibs" +IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 + +Sat Aug 19 21:55:13 2023 + +Comp: CROW[0] + Site: 10 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: CROW[1] + Site: 16 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[0] + Site: 3 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[1] + Site: 96 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[2] + Site: 88 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[3] + Site: 97 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[4] + Site: 99 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[5] + Site: 98 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[6] + Site: 2 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Din[7] + Site: 1 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: Dout[0] + Site: 76 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[1] + Site: 86 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[2] + Site: 87 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[3] + Site: 85 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[4] + Site: 83 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[5] + Site: 84 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[6] + Site: 78 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: Dout[7] + Site: 82 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: LED + Site: 34 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=24mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: MAin[0] + Site: 14 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[1] + Site: 12 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[2] + Site: 13 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[3] + Site: 21 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[4] + Site: 20 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[5] + Site: 19 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[6] + Site: 24 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[7] + Site: 18 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[8] + Site: 25 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: MAin[9] + Site: 32 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: PHI2 + Site: 8 + Type: IN + IO_TYPE=LVCMOS33 + PULL=DOWN + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: RA[0] + Site: 66 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[10] + Site: 64 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[11] + Site: 59 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[1] + Site: 67 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[2] + Site: 69 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[3] + Site: 71 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[4] + Site: 74 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[5] + Site: 70 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[6] + Site: 68 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[7] + Site: 75 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[8] + Site: 65 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RA[9] + Site: 63 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RBA[0] + Site: 58 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RBA[1] + Site: 60 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RCKE + Site: 53 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RCLK + Site: 62 + Type: IN + IO_TYPE=LVCMOS33 + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: RDQMH + Site: 51 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RDQML + Site: 48 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: RD[0] + Site: 36 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[1] + Site: 37 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[2] + Site: 38 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[3] + Site: 39 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[4] + Site: 40 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[5] + Site: 41 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[6] + Site: 42 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: RD[7] + Site: 43 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + CLAMP=ON + HYSTERESIS=SMALL + SLEW=SLOW +----------------------- +Comp: nCCAS + Site: 9 + Type: IN + IO_TYPE=LVCMOS33 + PULL=UP + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: nCRAS + Site: 17 + Type: IN + IO_TYPE=LVCMOS33 + PULL=UP + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: nFWE + Site: 15 + Type: IN + IO_TYPE=LVCMOS33 + PULL=UP + CLAMP=ON + HYSTERESIS=SMALL +----------------------- +Comp: nRCAS + Site: 52 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: nRCS + Site: 57 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: nRRAS + Site: 54 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Comp: nRWE + Site: 49 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + PULL=KEEPER + SLEW=SLOW +----------------------- +Created design models. + + +Generating: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\IBIS\LCMXO2_640HC_impl1.ibs + + + -Loading design for application par from file LCMXO2_640HC_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO2-640HC -Package: TQFP100 -Performance: 4 -Loading device for application par from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.39. -Performance Hardware Data Status: Final Version 34.4. -License checked out. +ldbanno "LCMXO2_640HC_impl1.ncd" -n Verilog -o "LCMXO2_640HC_impl1_vo.vo" -w -neg +ldbanno: version Diamond (64-bit) 3.12.1.454 +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Writing a Verilog netlist using the orca library type based on the LCMXO2_640HC_impl1 design file. + + +Loading design for application ldbanno from file LCMXO2_640HC_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application ldbanno from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Converting design LCMXO2_640HC_impl1.ncd into .ldb format. +Loading preferences from lcmxo2_640hc_impl1.prf. +Writing Verilog netlist to file LCMXO2_640HC_impl1_vo.vo +Writing SDF timing to file LCMXO2_640HC_impl1_vo.sdf + +Total CPU Time: 1 secs +Total REAL Time: 2 secs +Peak Memory Usage: 63 MB +ldbanno "LCMXO2_640HC_impl1.ncd" -n VHDL -o "LCMXO2_640HC_impl1_vho.vho" -w -neg +ldbanno: version Diamond (64-bit) 3.12.1.454 +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Writing a VHDL netlist using the orca library type based on the LCMXO2_640HC_impl1 design file. + + +Loading design for application ldbanno from file LCMXO2_640HC_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application ldbanno from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +Converting design LCMXO2_640HC_impl1.ncd into .ldb format. +Loading preferences from lcmxo2_640hc_impl1.prf. +Writing VHDL netlist to file LCMXO2_640HC_impl1_vho.vho +Writing SDF timing to file LCMXO2_640HC_impl1_vho.sdf + +Total CPU Time: 1 secs +Total REAL Time: 0 secs +Peak Memory Usage: 63 MB -Ignore Preference Error(s): True -Device utilization summary: +tmcheck -par "LCMXO2_640HC_impl1.par" - PIO (prelim) 63+4(JTAG)/80 84% used - 63+4(JTAG)/79 85% bonded - IOLOGIC 25/80 31% used - - SLICE 117/320 36% used - - EFB 1/1 100% used - - -Number of Signals: 380 -Number of Connections: 1008 - -Pin Constraint Summary: - 63 out of 63 pins locked (100% locked). - -The following 3 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 46) - PHI2_c (driver: PHI2, clk load #: 19) - nCRAS_c (driver: nCRAS, clk load #: 10) - - - - - -The following 2 signals are selected to use the secondary clock routing resources: - nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) - un1_wb_clk32_i (driver: SLICE_103, clk load #: 0, sr load #: 0, ce load #: 10) - - -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -.............. -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -................... -Placer score = 55012. -Finished Placer Phase 1. REAL time: 4 secs - -Starting Placer Phase 2. -. -Placer score = 54994 -Finished Placer Phase 2. REAL time: 4 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 0 out of 8 (0%) - General PIO: 4 out of 80 (5%) - DCM : 0 out of 2 (0%) - DCC : 0 out of 8 (0%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 46 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 19 - PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 - SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 - SECONDARY "un1_wb_clk32_i" from F0 on comp "SLICE_103" on site "R6C8B", clk load = 0, ce load = 10, sr load = 0 - - PRIMARY : 3 out of 8 (37%) - SECONDARY: 2 out of 8 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 63 + 4(JTAG) out of 80 (83.8%) PIO sites used. - 63 + 4(JTAG) out of 79 (84.8%) bonded PIO sites used. - Number of PIO comps: 63; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+-----------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref | -+----------+----------------+------------+-----------+ -| 0 | 13 / 19 ( 68%) | 3.3V | - | -| 1 | 20 / 20 (100%) | 3.3V | - | -| 2 | 12 / 20 ( 60%) | 3.3V | - | -| 3 | 18 / 20 ( 90%) | 3.3V | - | -+----------+----------------+------------+-----------+ - -Total placer CPU time: 3 secs - -Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. - -0 connections routed; 1008 unrouted. -Starting router resource preassignment - - - - - -Completed router resource preassignment. Real time: 5 secs - -Start NBR router at 20:59:43 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 20:59:43 08/16/23 - -Start NBR section for initial routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 2, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 3, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -7(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 11(1.09%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 2 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 20:59:43 08/16/23 -Level 4, iteration 0 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 0.083ns/0.000ns; real time: 6 secs -Level 4, iteration 0 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.902ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.902ns/0.000ns; real time: 6 secs - -Start NBR section for re-routing at 20:59:44 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 7 secs - -Start NBR section for post-routing at 20:59:44 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 4.922ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - - - -Total CPU time 6 secs -Total REAL time: 7 secs -Completely routed. -End of route. 1008 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 4.922 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.088 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 6 secs -Total REAL time to completion: 7 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Exiting par with exit code 0 -Exiting mpartrce with exit code 0 +bitgen -f "LCMXO2_640HC_impl1.t2b" -w "LCMXO2_640HC_impl1.ncd" "LCMXO2_640HC_impl1.prf" + + +BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + + +Loading design for application Bitgen from file LCMXO2_640HC_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application Bitgen from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. + +Running DRC. +DRC detected 0 errors and 0 warnings. +Reading Preference File from LCMXO2_640HC_impl1.prf. + +Preference Summary: ++---------------------------------+---------------------------------+ +| Preference | Current Setting | ++---------------------------------+---------------------------------+ +| RamCfg | Reset** | ++---------------------------------+---------------------------------+ +| MCCLK_FREQ | 2.08** | ++---------------------------------+---------------------------------+ +| CONFIG_SECURE | OFF** | ++---------------------------------+---------------------------------+ +| INBUF | ON** | ++---------------------------------+---------------------------------+ +| JTAG_PORT | ENABLE** | ++---------------------------------+---------------------------------+ +| SDM_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| SLAVE_SPI_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| MASTER_SPI_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| I2C_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| MUX_CONFIGURATION_PORTS | DISABLE** | ++---------------------------------+---------------------------------+ +| CONFIGURATION | CFG** | ++---------------------------------+---------------------------------+ +| COMPRESS_CONFIG | ON** | ++---------------------------------+---------------------------------+ +| MY_ASSP | OFF** | ++---------------------------------+---------------------------------+ +| ONE_TIME_PROGRAM | OFF** | ++---------------------------------+---------------------------------+ +| ENABLE_TRANSFR | DISABLE** | ++---------------------------------+---------------------------------+ +| SHAREDEBRINIT | DISABLE** | ++---------------------------------+---------------------------------+ +| BACKGROUND_RECONFIG | OFF** | ++---------------------------------+---------------------------------+ + * Default setting. + ** The specified setting matches the default setting. + + +Creating bit map... + +Bitstream Status: Final Version 1.95. + +Saving bit stream in "LCMXO2_640HC_impl1.bit". +Total CPU Time: 3 secs +Total REAL Time: 3 secs +Peak Memory Usage: 266 MB tmcheck -par "LCMXO2_640HC_impl1.par" bitgen -f "LCMXO2_640HC_impl1.t2b" -w "LCMXO2_640HC_impl1.ncd" -jedec "LCMXO2_640HC_impl1.prf" - - -BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - - -Loading design for application Bitgen from file LCMXO2_640HC_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO2-640HC -Package: TQFP100 -Performance: 4 -Loading device for application Bitgen from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.39. -Performance Hardware Data Status: Final Version 34.4. - -Running DRC. -DRC detected 0 errors and 0 warnings. -Reading Preference File from LCMXO2_640HC_impl1.prf. - -Preference Summary: -+---------------------------------+---------------------------------+ -| Preference | Current Setting | -+---------------------------------+---------------------------------+ -| RamCfg | Reset** | -+---------------------------------+---------------------------------+ -| MCCLK_FREQ | 2.08** | -+---------------------------------+---------------------------------+ -| CONFIG_SECURE | OFF** | -+---------------------------------+---------------------------------+ -| INBUF | ON** | -+---------------------------------+---------------------------------+ -| JTAG_PORT | ENABLE** | -+---------------------------------+---------------------------------+ -| SDM_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| SLAVE_SPI_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| MASTER_SPI_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| I2C_PORT | DISABLE** | -+---------------------------------+---------------------------------+ -| MUX_CONFIGURATION_PORTS | DISABLE** | -+---------------------------------+---------------------------------+ -| CONFIGURATION | CFG** | -+---------------------------------+---------------------------------+ -| COMPRESS_CONFIG | ON** | -+---------------------------------+---------------------------------+ -| MY_ASSP | OFF** | -+---------------------------------+---------------------------------+ -| ONE_TIME_PROGRAM | OFF** | -+---------------------------------+---------------------------------+ -| ENABLE_TRANSFR | DISABLE** | -+---------------------------------+---------------------------------+ -| SHAREDEBRINIT | DISABLE** | -+---------------------------------+---------------------------------+ -| BACKGROUND_RECONFIG | OFF** | -+---------------------------------+---------------------------------+ - * Default setting. - ** The specified setting matches the default setting. - - -Creating bit map... - -Bitstream Status: Final Version 1.95. - -Saving bit stream in "LCMXO2_640HC_impl1.jed". - -=========== -UFM Summary. -=========== -UFM Size: 191 Pages (128*191 Bits). -UFM Utilization: General Purpose Flash Memory. - -Available General Purpose Flash Memory: 191 Pages (Page 0 to Page 190). -Initialized UFM Pages: 1 Page (Page 190). - -Total CPU Time: 1 secs -Total REAL Time: 2 secs -Peak Memory Usage: 245 MB + + +BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + + +Loading design for application Bitgen from file LCMXO2_640HC_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application Bitgen from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. + +Running DRC. +DRC detected 0 errors and 0 warnings. +Reading Preference File from LCMXO2_640HC_impl1.prf. + +Preference Summary: ++---------------------------------+---------------------------------+ +| Preference | Current Setting | ++---------------------------------+---------------------------------+ +| RamCfg | Reset** | ++---------------------------------+---------------------------------+ +| MCCLK_FREQ | 2.08** | ++---------------------------------+---------------------------------+ +| CONFIG_SECURE | OFF** | ++---------------------------------+---------------------------------+ +| INBUF | ON** | ++---------------------------------+---------------------------------+ +| JTAG_PORT | ENABLE** | ++---------------------------------+---------------------------------+ +| SDM_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| SLAVE_SPI_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| MASTER_SPI_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| I2C_PORT | DISABLE** | ++---------------------------------+---------------------------------+ +| MUX_CONFIGURATION_PORTS | DISABLE** | ++---------------------------------+---------------------------------+ +| CONFIGURATION | CFG** | ++---------------------------------+---------------------------------+ +| COMPRESS_CONFIG | ON** | ++---------------------------------+---------------------------------+ +| MY_ASSP | OFF** | ++---------------------------------+---------------------------------+ +| ONE_TIME_PROGRAM | OFF** | ++---------------------------------+---------------------------------+ +| ENABLE_TRANSFR | DISABLE** | ++---------------------------------+---------------------------------+ +| SHAREDEBRINIT | DISABLE** | ++---------------------------------+---------------------------------+ +| BACKGROUND_RECONFIG | OFF** | ++---------------------------------+---------------------------------+ + * Default setting. + ** The specified setting matches the default setting. + + +Creating bit map... + +Bitstream Status: Final Version 1.95. + +Saving bit stream in "LCMXO2_640HC_impl1.jed". + +=========== +UFM Summary. +=========== +UFM Size: 191 Pages (128*191 Bits). +UFM Utilization: General Purpose Flash Memory. + +Available General Purpose Flash Memory: 191 Pages (Page 0 to Page 190). +Initialized UFM Pages: 1 Page (Page 190). + +Total CPU Time: 3 secs +Total REAL Time: 3 secs +Peak Memory Usage: 266 MB diff --git a/CPLD/LCMXO2-640HC/impl1/dm/layer0.xdm b/CPLD/LCMXO2-640HC/impl1/dm/layer0.xdm index 72b5d0e..5720a2a 100644 --- a/CPLD/LCMXO2-640HC/impl1/dm/layer0.xdm +++ b/CPLD/LCMXO2-640HC/impl1/dm/layer0.xdm @@ -1,197 +1,199 @@ -%%% protect protected_file -@EG -- -]17p0Osk0CksRsPC#MHF=3"4j -"> -!S<-1-RFOksCHRVDRC#O0FMskHL0oHMRR0F0REC8HC#o-MR-S> -S -S"/ -S1S -SF<1kCsOR"b=BD:\#\OO8lHNF\M8d.34\M#$b#LNCH\DLD\PFko\lOs_NlbH3RP"Nd=""=RD"sPCHoDF"DROH=#0""-4RHbD#"0=-/4">S -S"/ -S1S"/ -< -S/k1Fs#OC>S - -<-!-R8vFkRDCs0FFR>-- -)S - - - -< -S!R--vkF8D7CRCMVHHF0HM-R->< -S7RCVMI="F3s e3]QPHCsD"FoR"D=PHCsD"Fo>S -SS -S"/ - -SRSqS -SR -SR"/ -/S<7>CV -< -S!R--vkF8D7CRCMVHHF0HM-R->< -S7RCVMI="F3s e3pmPHCsD"FoR"D=PHCsD"Fo>S -SS -S"/ - -SRSqS -SR -SR"/ -/S<7>CV -< -S!R--vkF8D7CRCMVHHF0HM-R->< -S7RCVMI="F3s 3wAPHCsD"FoR"D=PHCsD"Fo>S -SS -S"/ - -SR"/ -S -S -SR -SRS -SSuS -SR -SR -SR -SRS -SSuS -SR -SR -SR -SRSuS"/ - -SR"/ - -SR"/ -"/ -"/ -SuS"/ - -SR -SR"/ -"/ -SuS -SRS -S"/ -SuSSuSS -S -SRS -SS -SS -S -SRSuSS -S -SR"/ - -SR -SR -SR"/ - -SRSqS -SR -SR"/ -/S<7>CV -< -S!R--vkF8D7CRCMVHHF0HM-R->< -S7RCVMI="F3s )A w3sPCHoDF"=RD"sPCHoDF"S> -SRS -S -SRS -S - -SC<)V=RM"sIF ]3eQC3PsFHDoH"R=O"#k_LNP_EHH0M#"S> -SWSR/ -S -SS -SSRS/S<)>CV -SS -SSR -SqS"/ -SSSS -SSRSS -SqSSS -SSR -SqS"/ -SSSS -SSR"/ -SSSS"/ -SSSS -SSRS -SSRS -SqSS -SqSSSSSSSS -SqSS -SSR -SqS"/ -SSS"/ -SSSS -SSR -SqS -SqSS -SSRS -SqSS -SSR -SqSSS"/ -SSSS -SSRS -SSRSS -SSR"/ -SSS"/ -SSSS -S - -S-SC<7V=RM"sIF q3)v1.t3sPCHoDF"=RD"sPCHoDF"S> -SRS -S -SR - -SC<)V=RM"sIF 3)wPA3CDsHFRo"Hk="VVlCL -">SS -S - -/p]71k0sOs0kC@> - - - - +%%% protect protected_file +@EG +- +]17p0Osk0CksRsPC#MHF=3"4j +"> +!S<-1-RFOksCHRVDRC#O0FMskHL0oHMRR0F0REC8HC#o-MR-S> +S +S"/ +S1S +SF<1kCsOR"b=BD:\#\OO8lHNF\M8d.34\M#$b#LNCH\DLD\PFko\lOs_NlbH3RP"Nd=""=RD"sPCHoDF"DROH=#0""-4RHbD#"0=-/4">S +S"/ +S1S"/ +< +S/k1Fs#OC>S + +<-!-R8vFkRDCs0FFR>-- +)S + + + +< +S!R--vkF8D7CRCMVHHF0HM-R->< +S7RCVMI="F3s e3]QPHCsD"FoR"D=PHCsD"Fo>S +SS +S"/ + +SRSqS +SR +SR"/ +/S<7>CV +< +S!R--vkF8D7CRCMVHHF0HM-R->< +S7RCVMI="F3s e3pmPHCsD"FoR"D=PHCsD"Fo>S +SS +S"/ + +SRSqS +SR +SR"/ +/S<7>CV +< +S!R--vkF8D7CRCMVHHF0HM-R->< +S7RCVMI="F3s 3wAPHCsD"FoR"D=PHCsD"Fo>S +SS +S"/ + +SR"/ +S +S +SR +SRS +SSuS +SR +SR +SR +SRS +S"/ +SuSSuSSuSSuS"/ +S +SS +SS +SSuSS +SSuSS +SS +SS +SS +SSuSSuSS +SS +S"/ +SuS +SRS +S"/ +"/ + +SRSuS +SR +SR +SRSuS"/ + +SRSuSS +SSuSSuSSqSS +SSqS"/ +SqSSqS + + + +/S<7>CV +< +S!R--vkF8D7CRCMVHHF0HM-R->< +S7RCVMI="F3s )A w3sPCHoDF"=RD"sPCHoDF"S> +SRS +S +SRS +S + +SC<)V=RM"sIF ]3eQC3PsFHDoH"R=O"#k_LNP_EHH0M#"S> +SWSR/ +S +SS +SSRS/S<)>CV +SS +SSR +SqS"/ +SSSS +SSRSS +SqSSS +SSR +SqS"/ +SSSS +SSR"/ +SSSS"/ +SSSS +SSRS +SSRS +SqSS +SqSSSSSSSS +SqSS +SSR +SqS"/ +SSS"/ +SSSS +SSR +SqS +SqSS +SSRS +SqSS +SSR +SqSSS"/ +SSSS +SSRS +SSRSS +SSRS +SSRS +SSR +S)S7 +!S<-v-RFD8kCCR7VHHM0MHFR>-- +7SSWS +SRSqS"/ + +SC<)V=RM"sIF 3)wPA3CDsHFRo"Hk="VVlCL +">SS +S + +/p]71k0sOs0kC@> + + + + diff --git a/CPLD/LCMXO2-640HC/impl1/hdla_gen_hierarchy.html b/CPLD/LCMXO2-640HC/impl1/hdla_gen_hierarchy.html index 4ce8f81..6580244 100644 --- a/CPLD/LCMXO2-640HC/impl1/hdla_gen_hierarchy.html +++ b/CPLD/LCMXO2-640HC/impl1/hdla_gen_hierarchy.html @@ -1,11 +1,11 @@ -
    Setting log file to 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/hdla_gen_hierarchy.html'.
    +         	                                   	                                                	                                                 	                                                  	
    Setting log file to 'Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/hdla_gen_hierarchy.html'.
     Starting: parse design source files
     (VERI-1482) Analyzing Verilog file 'C:/lscc/diamond/3.12/ispfpga/userware/NT/SYNTHESIS_HEADERS/machxo2.v'
    -(VERI-1482) Analyzing Verilog file 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.v'
    -(VERI-1482) Analyzing Verilog file 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/REFB.v'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.v(1,8-1,14) (VERI-1018) compiling module 'RAM2GS'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.v(1,1-735,10) (VERI-9000) elaborating module 'RAM2GS'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/REFB.v(8,1-113,10) (VERI-9000) elaborating module 'REFB_uniq_1'
    +(VERI-1482) Analyzing Verilog file 'Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.v'
    +(VERI-1482) Analyzing Verilog file 'Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/REFB.v'
    +INFO - Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.v(1,8-1,14) (VERI-1018) compiling module 'RAM2GS'
    +INFO - Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.v(1,1-614,10) (VERI-9000) elaborating module 'RAM2GS'
    +INFO - Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/REFB.v(8,1-113,10) (VERI-9000) elaborating module 'REFB_uniq_1'
     INFO - C:/lscc/diamond/3.12/ispfpga/userware/NT/SYNTHESIS_HEADERS/machxo2.v(1120,1-1122,10) (VERI-9000) elaborating module 'VHI_uniq_1'
     INFO - C:/lscc/diamond/3.12/ispfpga/userware/NT/SYNTHESIS_HEADERS/machxo2.v(1124,1-1126,10) (VERI-9000) elaborating module 'VLO_uniq_1'
     INFO - C:/lscc/diamond/3.12/ispfpga/userware/NT/SYNTHESIS_HEADERS/machxo2.v(1800,1-1872,10) (VERI-9000) elaborating module 'EFB_uniq_1'
    diff --git a/CPLD/LCMXO2-640HC/impl1/impl1.xcf b/CPLD/LCMXO2-640HC/impl1/impl1.xcf
    new file mode 100644
    index 0000000..384a941
    --- /dev/null
    +++ b/CPLD/LCMXO2-640HC/impl1/impl1.xcf
    @@ -0,0 +1,49 @@
    +
    +
    +
    +	
    +	
    +		JTAG
    +		
    +			
    +			1
    +			Lattice
    +			MachXO2
    +			LCMXO2-640HC
    +			0x012b9043
    +			All
    +			LCMXO2-640HC
    +			
    +				8
    +				11111111
    +				1
    +				0
    +			
    +			Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.jed
    +			08/19/23 07:23:26
    +			0xC8BF
    +			FLASH Erase,Program,Verify
    +			
    +		
    +	
    +	
    +		SEQUENTIAL
    +		ENTIRED CHAIN
    +		No Override
    +		TLR
    +		TLR
    +		
    +		1
    +	
    +	
    +		USB2
    +		FTUSB-0
    +	
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1.ior b/CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1.ior
    new file mode 100644
    index 0000000..786199b
    --- /dev/null
    +++ b/CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1.ior
    @@ -0,0 +1,135 @@
    +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd.
    +Design name: RAM2GS
    +NCD version: 3.3
    +Vendor:      LATTICE
    +Device:      LCMXO2-640HC
    +Package:     TQFP100
    +Performance: 5
    +Package Status:                     Final          Version 1.39.
    +Performance Hardware Data Status:   Final          Version 34.4.
    +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd.
    +Design name: RAM2GS
    +NCD version: 3.3
    +Vendor:      LATTICE
    +Device:      LCMXO2-640HC
    +Package:     TQFP100
    +Performance: 6
    +Package Status:                     Final          Version 1.39.
    +Performance Hardware Data Status:   Final          Version 34.4.
    +Loading design for application iotiming from file lcmxo2_640hc_impl1.ncd.
    +Design name: RAM2GS
    +NCD version: 3.3
    +Vendor:      LATTICE
    +Device:      LCMXO2-640HC
    +Package:     TQFP100
    +Performance: M
    +Package Status:                     Final          Version 1.39.
    +Performance Hardware Data Status:   Final          Version 34.4.
    +// Design: RAM2GS
    +// Package: TQFP100
    +// ncd File: lcmxo2_640hc_impl1.ncd
    +// Version: Diamond (64-bit) 3.12.1.454
    +// Written on Sat Aug 19 21:55:13 2023
    +// M: Minimum Performance Grade
    +// iotiming LCMXO2_640HC_impl1.ncd LCMXO2_640HC_impl1.prf -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml
    +
    +I/O Timing Report (All units are in ns)
    +
    +Worst Case Results across Performance Grades (M, 6, 5, 4):
    +
    +// Input Setup and Hold Times
    +
    +Port    Clock Edge  Setup Performance_Grade  Hold Performance_Grade
    +----------------------------------------------------------------------
    +CROW[0] nCRAS F     2.553      4      -0.117     M
    +CROW[1] nCRAS F     2.019      4       0.001     M
    +Din[0]  PHI2  F     4.715      4       3.636     4
    +Din[0]  nCCAS F     0.790      4       0.535     4
    +Din[1]  PHI2  F     5.021      4       3.516     4
    +Din[1]  nCCAS F     1.086      4       0.264     4
    +Din[2]  PHI2  F     3.385      4       3.516     4
    +Din[2]  nCCAS F     0.282      4       0.948     4
    +Din[3]  PHI2  F     4.644      4       3.516     4
    +Din[3]  nCCAS F     1.278      4       0.095     4
    +Din[4]  PHI2  F     4.335      4       3.516     4
    +Din[4]  nCCAS F     2.446      4      -0.199     M
    +Din[5]  PHI2  F     3.662      4       3.516     4
    +Din[5]  nCCAS F     0.907      4       0.402     4
    +Din[6]  PHI2  F     4.869      4       3.636     4
    +Din[6]  nCCAS F     1.378      4       0.023     M
    +Din[7]  PHI2  F     4.138      4       3.636     4
    +Din[7]  nCCAS F     2.072      4      -0.120     M
    +MAin[0] PHI2  F     5.613      4       0.006     M
    +MAin[0] nCRAS F     0.244      4       1.146     4
    +MAin[1] PHI2  F     3.409      4       0.354     6
    +MAin[1] nCRAS F     0.244      4       1.146     4
    +MAin[2] PHI2  F     5.391      4       0.132     M
    +MAin[2] nCRAS F     0.250      4       1.141     4
    +MAin[3] PHI2  F     4.627      4       0.087     M
    +MAin[3] nCRAS F     0.507      4       0.910     4
    +MAin[4] PHI2  F     5.665      4      -0.133     M
    +MAin[4] nCRAS F     0.675      4       0.777     4
    +MAin[5] PHI2  F     5.569      4       0.129     M
    +MAin[5] nCRAS F     0.050      4       1.238     4
    +MAin[6] PHI2  F     5.717      4      -0.141     M
    +MAin[6] nCRAS F     0.242      4       1.146     4
    +MAin[7] PHI2  F     5.943      4      -0.173     M
    +MAin[7] nCRAS F     0.170      4       1.228     4
    +MAin[8] nCRAS F     0.759      4       0.696     4
    +MAin[9] nCRAS F     0.516      4       0.891     4
    +PHI2    RCLK  R    -0.312      M       3.167     4
    +nCCAS   RCLK  R     2.600      4      -0.176     M
    +nCCAS   nCRAS F     3.106      4      -0.235     M
    +nCRAS   RCLK  R     1.803      4      -0.055     M
    +nFWE    PHI2  F     4.680      4       0.261     M
    +nFWE    nCRAS F     2.234      4       1.143     4
    +
    +
    +// Clock to Output Delay
    +
    +Port   Clock Edge  Max_Delay Performance_Grade  Min_Delay Performance_Grade
    +------------------------------------------------------------------------
    +LED    RCLK  R     9.922         4        2.878          M
    +LED    nCRAS F    10.555         4        3.057          M
    +RA[0]  RCLK  R    11.638         4        3.406          M
    +RA[0]  nCRAS F    11.771         4        3.430          M
    +RA[10] RCLK  R     8.141         4        2.620          M
    +RA[11] PHI2  R     8.610         4        2.756          M
    +RA[1]  RCLK  R    11.674         4        3.407          M
    +RA[1]  nCRAS F    10.635         4        3.155          M
    +RA[2]  RCLK  R    12.933         4        3.729          M
    +RA[2]  nCRAS F    11.858         4        3.449          M
    +RA[3]  RCLK  R    12.587         4        3.664          M
    +RA[3]  nCRAS F    11.255         4        3.298          M
    +RA[4]  RCLK  R    11.721         4        3.433          M
    +RA[4]  nCRAS F    11.153         4        3.297          M
    +RA[5]  RCLK  R    12.544         4        3.620          M
    +RA[5]  nCRAS F    11.480         4        3.360          M
    +RA[6]  RCLK  R    12.984         4        3.775          M
    +RA[6]  nCRAS F    11.528         4        3.407          M
    +RA[7]  RCLK  R    12.553         4        3.625          M
    +RA[7]  nCRAS F    11.610         4        3.368          M
    +RA[8]  RCLK  R    11.836         4        3.453          M
    +RA[8]  nCRAS F    10.797         4        3.201          M
    +RA[9]  RCLK  R    11.182         4        3.271          M
    +RA[9]  nCRAS F    11.135         4        3.279          M
    +RBA[0] nCRAS F     8.439         4        2.703          M
    +RBA[1] nCRAS F     8.439         4        2.703          M
    +RCKE   RCLK  R    10.083         4        3.081          M
    +RDQMH  RCLK  R    11.381         4        3.325          M
    +RDQML  RCLK  R    10.735         4        3.173          M
    +RD[0]  nCCAS F     8.223         4        2.594          M
    +RD[1]  nCCAS F     8.223         4        2.594          M
    +RD[2]  nCCAS F     8.223         4        2.594          M
    +RD[3]  nCCAS F     8.223         4        2.594          M
    +RD[4]  nCCAS F     8.223         4        2.594          M
    +RD[5]  nCCAS F     8.223         4        2.594          M
    +RD[6]  nCCAS F     8.223         4        2.594          M
    +RD[7]  nCCAS F     8.223         4        2.594          M
    +nRCAS  RCLK  R     8.141         4        2.620          M
    +nRCS   RCLK  R     8.141         4        2.620          M
    +nRRAS  RCLK  R     8.141         4        2.620          M
    +nRWE   RCLK  R     8.121         4        2.627          M
    +WARNING: you must also run trce with hold speed: 4
    +WARNING: you must also run trce with hold speed: 6
    +WARNING: you must also run trce with setup speed: M
    diff --git a/CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1_trce.asd b/CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1_trce.asd
    new file mode 100644
    index 0000000..5e71898
    --- /dev/null
    +++ b/CPLD/LCMXO2-640HC/impl1/lcmxo2_640hc_impl1_trce.asd
    @@ -0,0 +1,17 @@
    +[ActiveSupport TRCE]
    +; Setup Analysis
    +Fmax_0 = 47.556 MHz (2.900 MHz);
    +Fmax_1 = 150.150 MHz (2.900 MHz);
    +Fmax_2 = 150.150 MHz (2.900 MHz);
    +Fmax_3 = 102.312 MHz (62.500 MHz);
    +Failed = 0 (Total 4);
    +Clock_ports = 4;
    +Clock_nets = 4;
    +; Hold Analysis
    +Fmax_0 = - (-);
    +Fmax_1 = - (-);
    +Fmax_2 = - (-);
    +Fmax_3 = - (-);
    +Failed = 0 (Total 4);
    +Clock_ports = 4;
    +Clock_nets = 4;
    diff --git a/CPLD/LCMXO2-640HC/impl1/run_options.txt b/CPLD/LCMXO2-640HC/impl1/run_options.txt
    index fa2c1d6..7621b1f 100644
    --- a/CPLD/LCMXO2-640HC/impl1/run_options.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/run_options.txt
    @@ -1,81 +1,81 @@
    -#--  Synopsys, Inc.
    -#--  Version R-2021.03L-SP1
    -#--  Project file D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\run_options.txt
    -#--  Written on Wed Aug 16 20:59:29 2023
    -
    -
    -#project files
    -add_file -constraint "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc"
    -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.v"
    -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/REFB.v"
    -
    -
    -#implementation: "impl1"
    -impl -add impl1 -type fpga
    -
    -#
    -#implementation attributes
    -
    -set_option -vlog_std v2001
    -set_option -project_relative_includes 1
    -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC}
    -
    -#device options
    -set_option -technology MACHXO2
    -set_option -part LCMXO2_640HC
    -set_option -package TG100C
    -set_option -speed_grade -4
    -set_option -part_companion ""
    -
    -#compilation/mapping options
    -set_option -top_module "RAM2GS"
    -
    -# hdl_compiler_options
    -set_option -distributed_compile 0
    -set_option -hdl_strict_syntax 0
    -
    -# mapper_without_write_options
    -set_option -frequency 100
    -set_option -srs_instrumentation 1
    -
    -# mapper_options
    -set_option -write_verilog 0
    -set_option -write_structural_verilog 0
    -set_option -write_vhdl 0
    -
    -# Lattice XP
    -set_option -maxfan 1000
    -set_option -disable_io_insertion 0
    -set_option -retiming 0
    -set_option -pipe 1
    -set_option -forcegsr false
    -set_option -fix_gated_and_generated_clocks 1
    -set_option -rw_check_on_ram 1
    -set_option -update_models_cp 0
    -set_option -syn_edif_array_rename 1
    -set_option -Write_declared_clocks_only 1
    -set_option -seqshift_no_replicate 0
    -
    -# NFilter
    -set_option -no_sequential_opt 0
    -
    -# sequential_optimization_options
    -set_option -symbolic_fsm_compiler 1
    -
    -# Compiler Options
    -set_option -compiler_compatible 0
    -set_option -resource_sharing 1
    -set_option -multi_file_compilation_unit 1
    -
    -# Compiler Options
    -set_option -auto_infer_blackbox 0
    -
    -#automatic place and route (vendor) options
    -set_option -write_apr_constraint 1
    -
    -#set result format/file last
    -project -result_file "./LCMXO2_640HC_impl1.edi"
    -
    -#set log file 
    -set_option log_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srf" 
    -impl -active "impl1"
    +#--  Synopsys, Inc.
    +#--  Version R-2021.03L-SP1
    +#--  Project file Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\run_options.txt
    +#--  Written on Sat Aug 19 21:54:48 2023
    +
    +
    +#project files
    +add_file -constraint "Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc"
    +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.v"
    +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/REFB.v"
    +
    +
    +#implementation: "impl1"
    +impl -add impl1 -type fpga
    +
    +#
    +#implementation attributes
    +
    +set_option -vlog_std v2001
    +set_option -project_relative_includes 1
    +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC}
    +
    +#device options
    +set_option -technology MACHXO2
    +set_option -part LCMXO2_640HC
    +set_option -package TG100C
    +set_option -speed_grade -4
    +set_option -part_companion ""
    +
    +#compilation/mapping options
    +set_option -top_module "RAM2GS"
    +
    +# hdl_compiler_options
    +set_option -distributed_compile 0
    +set_option -hdl_strict_syntax 0
    +
    +# mapper_without_write_options
    +set_option -frequency 100
    +set_option -srs_instrumentation 1
    +
    +# mapper_options
    +set_option -write_verilog 0
    +set_option -write_structural_verilog 0
    +set_option -write_vhdl 0
    +
    +# Lattice XP
    +set_option -maxfan 1000
    +set_option -disable_io_insertion 0
    +set_option -retiming 0
    +set_option -pipe 1
    +set_option -forcegsr false
    +set_option -fix_gated_and_generated_clocks 1
    +set_option -rw_check_on_ram 1
    +set_option -update_models_cp 0
    +set_option -syn_edif_array_rename 1
    +set_option -Write_declared_clocks_only 1
    +set_option -seqshift_no_replicate 0
    +
    +# NFilter
    +set_option -no_sequential_opt 0
    +
    +# sequential_optimization_options
    +set_option -symbolic_fsm_compiler 1
    +
    +# Compiler Options
    +set_option -compiler_compatible 0
    +set_option -resource_sharing 1
    +set_option -multi_file_compilation_unit 1
    +
    +# Compiler Options
    +set_option -auto_infer_blackbox 0
    +
    +#automatic place and route (vendor) options
    +set_option -write_apr_constraint 1
    +
    +#set result format/file last
    +project -result_file "./LCMXO2_640HC_impl1.edi"
    +
    +#set log file 
    +set_option log_file "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srf" 
    +impl -active "impl1"
    diff --git a/CPLD/LCMXO2-640HC/impl1/scratchproject.prs b/CPLD/LCMXO2-640HC/impl1/scratchproject.prs
    index 8d7cd5a..5b68d2a 100644
    --- a/CPLD/LCMXO2-640HC/impl1/scratchproject.prs
    +++ b/CPLD/LCMXO2-640HC/impl1/scratchproject.prs
    @@ -1,80 +1,80 @@
    -#--  Synopsys, Inc.
    -#--  Version R-2021.03L-SP1
    -#--  Project file D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\scratchproject.prs
    -
    -#project files
    -add_file -constraint "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc"
    -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.v"
    -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/REFB.v"
    -
    -
    -#implementation: "impl1"
    -impl -add D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1 -type fpga
    -
    -#
    -#implementation attributes
    -
    -set_option -vlog_std v2001
    -set_option -project_relative_includes 1
    -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/}
    -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC}
    -
    -#device options
    -set_option -technology MACHXO2
    -set_option -part LCMXO2_640HC
    -set_option -package TG100C
    -set_option -speed_grade -4
    -set_option -part_companion ""
    -
    -#compilation/mapping options
    -set_option -top_module "RAM2GS"
    -
    -# hdl_compiler_options
    -set_option -distributed_compile 0
    -set_option -hdl_strict_syntax 0
    -
    -# mapper_without_write_options
    -set_option -frequency 100
    -set_option -srs_instrumentation 1
    -
    -# mapper_options
    -set_option -write_verilog 0
    -set_option -write_structural_verilog 0
    -set_option -write_vhdl 0
    -
    -# Lattice XP
    -set_option -maxfan 1000
    -set_option -disable_io_insertion 0
    -set_option -retiming 0
    -set_option -pipe 1
    -set_option -forcegsr false
    -set_option -fix_gated_and_generated_clocks 1
    -set_option -rw_check_on_ram 1
    -set_option -update_models_cp 0
    -set_option -syn_edif_array_rename 1
    -set_option -Write_declared_clocks_only 1
    -set_option -seqshift_no_replicate 0
    -
    -# NFilter
    -set_option -no_sequential_opt 0
    -
    -# sequential_optimization_options
    -set_option -symbolic_fsm_compiler 1
    -
    -# Compiler Options
    -set_option -compiler_compatible 0
    -set_option -resource_sharing 1
    -set_option -multi_file_compilation_unit 1
    -
    -# Compiler Options
    -set_option -auto_infer_blackbox 0
    -
    -#automatic place and route (vendor) options
    -set_option -write_apr_constraint 1
    -
    -#set result format/file last
    -project -result_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi"
    -
    -#set log file 
    -set_option log_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srf" 
    -impl -active "impl1"
    +#--  Synopsys, Inc.
    +#--  Version R-2021.03L-SP1
    +#--  Project file Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\scratchproject.prs
    +
    +#project files
    +add_file -constraint "Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc"
    +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.v"
    +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/REFB.v"
    +
    +
    +#implementation: "impl1"
    +impl -add Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1 -type fpga
    +
    +#
    +#implementation attributes
    +
    +set_option -vlog_std v2001
    +set_option -project_relative_includes 1
    +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/}
    +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC}
    +
    +#device options
    +set_option -technology MACHXO2
    +set_option -part LCMXO2_640HC
    +set_option -package TG100C
    +set_option -speed_grade -4
    +set_option -part_companion ""
    +
    +#compilation/mapping options
    +set_option -top_module "RAM2GS"
    +
    +# hdl_compiler_options
    +set_option -distributed_compile 0
    +set_option -hdl_strict_syntax 0
    +
    +# mapper_without_write_options
    +set_option -frequency 100
    +set_option -srs_instrumentation 1
    +
    +# mapper_options
    +set_option -write_verilog 0
    +set_option -write_structural_verilog 0
    +set_option -write_vhdl 0
    +
    +# Lattice XP
    +set_option -maxfan 1000
    +set_option -disable_io_insertion 0
    +set_option -retiming 0
    +set_option -pipe 1
    +set_option -forcegsr false
    +set_option -fix_gated_and_generated_clocks 1
    +set_option -rw_check_on_ram 1
    +set_option -update_models_cp 0
    +set_option -syn_edif_array_rename 1
    +set_option -Write_declared_clocks_only 1
    +set_option -seqshift_no_replicate 0
    +
    +# NFilter
    +set_option -no_sequential_opt 0
    +
    +# sequential_optimization_options
    +set_option -symbolic_fsm_compiler 1
    +
    +# Compiler Options
    +set_option -compiler_compatible 0
    +set_option -resource_sharing 1
    +set_option -multi_file_compilation_unit 1
    +
    +# Compiler Options
    +set_option -auto_infer_blackbox 0
    +
    +#automatic place and route (vendor) options
    +set_option -write_apr_constraint 1
    +
    +#set result format/file last
    +project -result_file "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi"
    +
    +#set log file 
    +set_option log_file "Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.srf" 
    +impl -active "impl1"
    diff --git a/CPLD/LCMXO2-640HC/impl1/stdout.log b/CPLD/LCMXO2-640HC/impl1/stdout.log
    index 61eeca9..52c7b44 100644
    --- a/CPLD/LCMXO2-640HC/impl1/stdout.log
    +++ b/CPLD/LCMXO2-640HC/impl1/stdout.log
    @@ -1,82 +1,89 @@
    -Running in Lattice mode
    -
    -                               Synplify Pro (R) 
    -
    -                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    -
    -                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    -   This software and the associated documentation are proprietary to Synopsys,
    - Inc. This software may only be used in accordance with the terms and conditions
    - of a written license agreement with Synopsys, Inc. All other use, reproduction,
    -            or distribution of this software is strictly prohibited.
    -
    -Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    -Install:     C:\lscc\diamond\3.12\synpbase
    -Hostname:    ZANEPC
    -Date:        Wed Aug 16 20:59:29 2023
    -Version:     R-2021.03L-SP1
    -
    -Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    -ProductType: synplify_pro
    -
    -
    -
    -
    -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    -Running: impl1 in foreground
    -
    -Running proj_1|impl1
    -
    -Running Flow: compile (Compile) on proj_1|impl1
    -# Wed Aug 16 20:59:29 2023
    -
    -Running Flow: compile_flow (Compile Process) on proj_1|impl1
    -# Wed Aug 16 20:59:29 2023
    -
    -Running: compiler (Compile Input) on proj_1|impl1
    -# Wed Aug 16 20:59:29 2023
    -
    -compiler completed
    -# Wed Aug 16 20:59:30 2023
    -
    -Return Code: 0
    -Run Time:00h:00m:01s
    -
    -Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    -# Wed Aug 16 20:59:30 2023
    -Up-To-Date: multi_srs_gen. No run necessary
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Complete: Compile Process on proj_1|impl1
    -
    -Running: premap (Premap) on proj_1|impl1
    -# Wed Aug 16 20:59:30 2023
    -
    -premap completed with warnings
    -# Wed Aug 16 20:59:32 2023
    -
    -Return Code: 1
    -Run Time:00h:00m:02s
    -Complete: Compile on proj_1|impl1
    -
    -Running Flow: map (Map) on proj_1|impl1
    -# Wed Aug 16 20:59:32 2023
    -License granted for 4 parallel jobs
    -
    -Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    -# Wed Aug 16 20:59:32 2023
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    -
    -fpga_mapper completed with warnings
    -# Wed Aug 16 20:59:35 2023
    -
    -Return Code: 1
    -Run Time:00h:00m:03s
    -Complete: Map on proj_1|impl1
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Complete: Logic Synthesis on proj_1|impl1
    -TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    -exit status=0
    -exit status=0
    -Save changes for project:
    -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    -batch mode default:no
    +Running in Lattice mode
    +
    +                               Synplify Pro (R) 
    +
    +                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    +
    +                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    +   This software and the associated documentation are proprietary to Synopsys,
    + Inc. This software may only be used in accordance with the terms and conditions
    + of a written license agreement with Synopsys, Inc. All other use, reproduction,
    +            or distribution of this software is strictly prohibited.
    +
    +Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    +Install:     C:\lscc\diamond\3.12\synpbase
    +Hostname:    ZANEMACWIN11
    +Date:        Sat Aug 19 21:54:47 2023
    +Version:     R-2021.03L-SP1
    +
    +Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    +ProductType: synplify_pro
    +
    +
    +
    +
    +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    +Running: impl1 in foreground
    +
    +Running proj_1|impl1
    +
    +Running Flow: compile (Compile) on proj_1|impl1
    +# Sat Aug 19 21:54:48 2023
    +
    +Running Flow: compile_flow (Compile Process) on proj_1|impl1
    +# Sat Aug 19 21:54:48 2023
    +
    +Running: compiler (Compile Input) on proj_1|impl1
    +# Sat Aug 19 21:54:48 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +
    +compiler completed
    +# Sat Aug 19 21:54:49 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:01s
    +
    +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    +# Sat Aug 19 21:54:49 2023
    +
    +multi_srs_gen completed
    +# Sat Aug 19 21:54:50 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:01s
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Compile Process on proj_1|impl1
    +
    +Running: premap (Premap) on proj_1|impl1
    +# Sat Aug 19 21:54:50 2023
    +
    +premap completed with warnings
    +# Sat Aug 19 21:54:51 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:01s
    +Complete: Compile on proj_1|impl1
    +
    +Running Flow: map (Map) on proj_1|impl1
    +# Sat Aug 19 21:54:51 2023
    +License granted for 4 parallel jobs
    +
    +Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    +# Sat Aug 19 21:54:51 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    +
    +fpga_mapper completed with warnings
    +# Sat Aug 19 21:54:55 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:04s
    +Complete: Map on proj_1|impl1
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Logic Synthesis on proj_1|impl1
    +TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    +exit status=0
    +exit status=0
    +Save changes for project:
    +Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    +batch mode default:no
    diff --git a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.1 b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.1
    index 0e70380..b6fc644 100644
    --- a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.1
    +++ b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.1
    @@ -1,89 +1,89 @@
    -Running in Lattice mode
    -
    -                               Synplify Pro (R) 
    -
    -                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    -
    -                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    -   This software and the associated documentation are proprietary to Synopsys,
    - Inc. This software may only be used in accordance with the terms and conditions
    - of a written license agreement with Synopsys, Inc. All other use, reproduction,
    -            or distribution of this software is strictly prohibited.
    -
    -Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    -Install:     C:\lscc\diamond\3.12\synpbase
    -Hostname:    ZANEPC
    -Date:        Wed Aug 16 20:57:40 2023
    -Version:     R-2021.03L-SP1
    -
    -Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    -ProductType: synplify_pro
    -
    -
    -
    -
    -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    -Running: impl1 in foreground
    -
    -Running proj_1|impl1
    -
    -Running Flow: compile (Compile) on proj_1|impl1
    -# Wed Aug 16 20:57:40 2023
    -
    -Running Flow: compile_flow (Compile Process) on proj_1|impl1
    -# Wed Aug 16 20:57:40 2023
    -
    -Running: compiler (Compile Input) on proj_1|impl1
    -# Wed Aug 16 20:57:40 2023
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    -
    -compiler completed
    -# Wed Aug 16 20:57:43 2023
    -
    -Return Code: 0
    -Run Time:00h:00m:03s
    -
    -Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    -# Wed Aug 16 20:57:43 2023
    -
    -multi_srs_gen completed
    -# Wed Aug 16 20:57:43 2023
    -
    -Return Code: 0
    -Run Time:00h:00m:00s
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Complete: Compile Process on proj_1|impl1
    -
    -Running: premap (Premap) on proj_1|impl1
    -# Wed Aug 16 20:57:43 2023
    -
    -premap completed with warnings
    -# Wed Aug 16 20:57:45 2023
    -
    -Return Code: 1
    -Run Time:00h:00m:02s
    -Complete: Compile on proj_1|impl1
    -
    -Running Flow: map (Map) on proj_1|impl1
    -# Wed Aug 16 20:57:45 2023
    -License granted for 4 parallel jobs
    -
    -Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    -# Wed Aug 16 20:57:45 2023
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    -
    -fpga_mapper completed with warnings
    -# Wed Aug 16 20:57:49 2023
    -
    -Return Code: 1
    -Run Time:00h:00m:04s
    -Complete: Map on proj_1|impl1
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Complete: Logic Synthesis on proj_1|impl1
    -TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    -exit status=0
    -exit status=0
    -Save changes for project:
    -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    -batch mode default:no
    +Running in Lattice mode
    +
    +                               Synplify Pro (R) 
    +
    +                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    +
    +                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    +   This software and the associated documentation are proprietary to Synopsys,
    + Inc. This software may only be used in accordance with the terms and conditions
    + of a written license agreement with Synopsys, Inc. All other use, reproduction,
    +            or distribution of this software is strictly prohibited.
    +
    +Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    +Install:     C:\lscc\diamond\3.12\synpbase
    +Hostname:    ZANEMACWIN11
    +Date:        Sat Aug 19 07:28:27 2023
    +Version:     R-2021.03L-SP1
    +
    +Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    +ProductType: synplify_pro
    +
    +
    +
    +
    +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    +Running: impl1 in foreground
    +
    +Running proj_1|impl1
    +
    +Running Flow: compile (Compile) on proj_1|impl1
    +# Sat Aug 19 07:28:28 2023
    +
    +Running Flow: compile_flow (Compile Process) on proj_1|impl1
    +# Sat Aug 19 07:28:28 2023
    +
    +Running: compiler (Compile Input) on proj_1|impl1
    +# Sat Aug 19 07:28:28 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +
    +compiler completed
    +# Sat Aug 19 07:28:29 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:01s
    +
    +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    +# Sat Aug 19 07:28:29 2023
    +
    +multi_srs_gen completed
    +# Sat Aug 19 07:28:29 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:00s
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Compile Process on proj_1|impl1
    +
    +Running: premap (Premap) on proj_1|impl1
    +# Sat Aug 19 07:28:29 2023
    +
    +premap completed with warnings
    +# Sat Aug 19 07:28:31 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:02s
    +Complete: Compile on proj_1|impl1
    +
    +Running Flow: map (Map) on proj_1|impl1
    +# Sat Aug 19 07:28:31 2023
    +License granted for 4 parallel jobs
    +
    +Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    +# Sat Aug 19 07:28:31 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    +
    +fpga_mapper completed with warnings
    +# Sat Aug 19 07:28:34 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:03s
    +Complete: Map on proj_1|impl1
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Logic Synthesis on proj_1|impl1
    +TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    +exit status=0
    +exit status=0
    +Save changes for project:
    +Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    +batch mode default:no
    diff --git a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.2 b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.2
    index 01eeeba..101760a 100644
    --- a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.2
    +++ b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.2
    @@ -1,59 +1,89 @@
    -Running in Lattice mode
    -
    -                               Synplify Pro (R) 
    -
    -                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    -
    -                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    -   This software and the associated documentation are proprietary to Synopsys,
    - Inc. This software may only be used in accordance with the terms and conditions
    - of a written license agreement with Synopsys, Inc. All other use, reproduction,
    -            or distribution of this software is strictly prohibited.
    -
    -Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    -Install:     C:\lscc\diamond\3.12\synpbase
    -Hostname:    ZANEPC
    -Date:        Wed Aug 16 20:52:48 2023
    -Version:     R-2021.03L-SP1
    -
    -Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    -ProductType: synplify_pro
    -
    -
    -
    -
    -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    -Running: impl1 in foreground
    -
    -Running proj_1|impl1
    -
    -Running Flow: compile (Compile) on proj_1|impl1
    -# Wed Aug 16 20:52:48 2023
    -
    -Running Flow: compile_flow (Compile Process) on proj_1|impl1
    -# Wed Aug 16 20:52:48 2023
    -
    -Running: compiler (Compile Input) on proj_1|impl1
    -# Wed Aug 16 20:52:48 2023
    -compiler exited with errors
    -Job failed on: proj_1|impl1
    -
    -Job: "compiler" terminated with error status: 2
    -See log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_compiler.srr"
    -# Wed Aug 16 20:52:49 2023
    -
    -Return Code: 2
    -Run Time:00h:00m:01s
    -Complete: Compile Process on proj_1|impl1
    -Complete: Compile on proj_1|impl1
    -Complete: Logic Synthesis on proj_1|impl1
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Error: At line 65 while processing "LCMXO2_640HC_impl1_synplify.tcl"
    -2
    -TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    -TCL script had errors: "LCMXO2_640HC_impl1_synplify.tcl"
    -exit status=9
    -exit status=9
    -Save changes for project:
    -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    -batch mode default:no
    +Running in Lattice mode
    +
    +                               Synplify Pro (R) 
    +
    +                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    +
    +                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    +   This software and the associated documentation are proprietary to Synopsys,
    + Inc. This software may only be used in accordance with the terms and conditions
    + of a written license agreement with Synopsys, Inc. All other use, reproduction,
    +            or distribution of this software is strictly prohibited.
    +
    +Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    +Install:     C:\lscc\diamond\3.12\synpbase
    +Hostname:    ZANEMACWIN11
    +Date:        Sat Aug 19 07:27:36 2023
    +Version:     R-2021.03L-SP1
    +
    +Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    +ProductType: synplify_pro
    +
    +
    +
    +
    +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    +Running: impl1 in foreground
    +
    +Running proj_1|impl1
    +
    +Running Flow: compile (Compile) on proj_1|impl1
    +# Sat Aug 19 07:27:37 2023
    +
    +Running Flow: compile_flow (Compile Process) on proj_1|impl1
    +# Sat Aug 19 07:27:37 2023
    +
    +Running: compiler (Compile Input) on proj_1|impl1
    +# Sat Aug 19 07:27:37 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +
    +compiler completed
    +# Sat Aug 19 07:27:38 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:01s
    +
    +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    +# Sat Aug 19 07:27:38 2023
    +
    +multi_srs_gen completed
    +# Sat Aug 19 07:27:38 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:00s
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Compile Process on proj_1|impl1
    +
    +Running: premap (Premap) on proj_1|impl1
    +# Sat Aug 19 07:27:38 2023
    +
    +premap completed with warnings
    +# Sat Aug 19 07:27:40 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:02s
    +Complete: Compile on proj_1|impl1
    +
    +Running Flow: map (Map) on proj_1|impl1
    +# Sat Aug 19 07:27:40 2023
    +License granted for 4 parallel jobs
    +
    +Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    +# Sat Aug 19 07:27:40 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    +
    +fpga_mapper completed with warnings
    +# Sat Aug 19 07:27:43 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:03s
    +Complete: Map on proj_1|impl1
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Logic Synthesis on proj_1|impl1
    +TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    +exit status=0
    +exit status=0
    +Save changes for project:
    +Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    +batch mode default:no
    diff --git a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.3 b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.3
    index 71d9674..179c910 100644
    --- a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.3
    +++ b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.3
    @@ -1,59 +1,89 @@
    -Running in Lattice mode
    -
    -                               Synplify Pro (R) 
    -
    -                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    -
    -                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    -   This software and the associated documentation are proprietary to Synopsys,
    - Inc. This software may only be used in accordance with the terms and conditions
    - of a written license agreement with Synopsys, Inc. All other use, reproduction,
    -            or distribution of this software is strictly prohibited.
    -
    -Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    -Install:     C:\lscc\diamond\3.12\synpbase
    -Hostname:    ZANEPC
    -Date:        Wed Aug 16 20:52:31 2023
    -Version:     R-2021.03L-SP1
    -
    -Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    -ProductType: synplify_pro
    -
    -
    -
    -
    -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    -Running: impl1 in foreground
    -
    -Running proj_1|impl1
    -
    -Running Flow: compile (Compile) on proj_1|impl1
    -# Wed Aug 16 20:52:32 2023
    -
    -Running Flow: compile_flow (Compile Process) on proj_1|impl1
    -# Wed Aug 16 20:52:32 2023
    -
    -Running: compiler (Compile Input) on proj_1|impl1
    -# Wed Aug 16 20:52:32 2023
    -compiler exited with errors
    -Job failed on: proj_1|impl1
    -
    -Job: "compiler" terminated with error status: 2
    -See log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_compiler.srr"
    -# Wed Aug 16 20:52:32 2023
    -
    -Return Code: 2
    -Run Time:00h:00m:00s
    -Complete: Compile Process on proj_1|impl1
    -Complete: Compile on proj_1|impl1
    -Complete: Logic Synthesis on proj_1|impl1
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Error: At line 64 while processing "LCMXO2_640HC_impl1_synplify.tcl"
    -2
    -TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    -TCL script had errors: "LCMXO2_640HC_impl1_synplify.tcl"
    -exit status=9
    -exit status=9
    -Save changes for project:
    -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    -batch mode default:no
    +Running in Lattice mode
    +
    +                               Synplify Pro (R) 
    +
    +                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    +
    +                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    +   This software and the associated documentation are proprietary to Synopsys,
    + Inc. This software may only be used in accordance with the terms and conditions
    + of a written license agreement with Synopsys, Inc. All other use, reproduction,
    +            or distribution of this software is strictly prohibited.
    +
    +Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    +Install:     C:\lscc\diamond\3.12\synpbase
    +Hostname:    ZANEMACWIN11
    +Date:        Sat Aug 19 07:26:21 2023
    +Version:     R-2021.03L-SP1
    +
    +Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    +ProductType: synplify_pro
    +
    +
    +
    +
    +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    +Running: impl1 in foreground
    +
    +Running proj_1|impl1
    +
    +Running Flow: compile (Compile) on proj_1|impl1
    +# Sat Aug 19 07:26:21 2023
    +
    +Running Flow: compile_flow (Compile Process) on proj_1|impl1
    +# Sat Aug 19 07:26:21 2023
    +
    +Running: compiler (Compile Input) on proj_1|impl1
    +# Sat Aug 19 07:26:21 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +
    +compiler completed
    +# Sat Aug 19 07:26:23 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:02s
    +
    +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    +# Sat Aug 19 07:26:23 2023
    +
    +multi_srs_gen completed
    +# Sat Aug 19 07:26:23 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:00s
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Compile Process on proj_1|impl1
    +
    +Running: premap (Premap) on proj_1|impl1
    +# Sat Aug 19 07:26:23 2023
    +
    +premap completed with warnings
    +# Sat Aug 19 07:26:24 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:01s
    +Complete: Compile on proj_1|impl1
    +
    +Running Flow: map (Map) on proj_1|impl1
    +# Sat Aug 19 07:26:25 2023
    +License granted for 4 parallel jobs
    +
    +Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    +# Sat Aug 19 07:26:25 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    +
    +fpga_mapper completed with warnings
    +# Sat Aug 19 07:26:28 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:03s
    +Complete: Map on proj_1|impl1
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Logic Synthesis on proj_1|impl1
    +TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    +exit status=0
    +exit status=0
    +Save changes for project:
    +Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    +batch mode default:no
    diff --git a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.4 b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.4
    index 5c65ff4..d430644 100644
    --- a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.4
    +++ b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.4
    @@ -1,89 +1,89 @@
    -Running in Lattice mode
    -
    -                               Synplify Pro (R) 
    -
    -                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    -
    -                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    -   This software and the associated documentation are proprietary to Synopsys,
    - Inc. This software may only be used in accordance with the terms and conditions
    - of a written license agreement with Synopsys, Inc. All other use, reproduction,
    -            or distribution of this software is strictly prohibited.
    -
    -Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    -Install:     C:\lscc\diamond\3.12\synpbase
    -Hostname:    ZANEPC
    -Date:        Wed Aug 16 20:44:48 2023
    -Version:     R-2021.03L-SP1
    -
    -Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    -ProductType: synplify_pro
    -
    -
    -
    -
    -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    -Running: impl1 in foreground
    -
    -Running proj_1|impl1
    -
    -Running Flow: compile (Compile) on proj_1|impl1
    -# Wed Aug 16 20:44:49 2023
    -
    -Running Flow: compile_flow (Compile Process) on proj_1|impl1
    -# Wed Aug 16 20:44:49 2023
    -
    -Running: compiler (Compile Input) on proj_1|impl1
    -# Wed Aug 16 20:44:49 2023
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    -
    -compiler completed
    -# Wed Aug 16 20:44:51 2023
    -
    -Return Code: 0
    -Run Time:00h:00m:02s
    -
    -Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    -# Wed Aug 16 20:44:51 2023
    -
    -multi_srs_gen completed
    -# Wed Aug 16 20:44:52 2023
    -
    -Return Code: 0
    -Run Time:00h:00m:01s
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Complete: Compile Process on proj_1|impl1
    -
    -Running: premap (Premap) on proj_1|impl1
    -# Wed Aug 16 20:44:52 2023
    -
    -premap completed with warnings
    -# Wed Aug 16 20:44:54 2023
    -
    -Return Code: 1
    -Run Time:00h:00m:02s
    -Complete: Compile on proj_1|impl1
    -
    -Running Flow: map (Map) on proj_1|impl1
    -# Wed Aug 16 20:44:54 2023
    -License granted for 4 parallel jobs
    -
    -Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    -# Wed Aug 16 20:44:54 2023
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    -
    -fpga_mapper completed with warnings
    -# Wed Aug 16 20:44:57 2023
    -
    -Return Code: 1
    -Run Time:00h:00m:03s
    -Complete: Map on proj_1|impl1
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Complete: Logic Synthesis on proj_1|impl1
    -TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    -exit status=0
    -exit status=0
    -Save changes for project:
    -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    -batch mode default:no
    +Running in Lattice mode
    +
    +                               Synplify Pro (R) 
    +
    +                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    +
    +                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    +   This software and the associated documentation are proprietary to Synopsys,
    + Inc. This software may only be used in accordance with the terms and conditions
    + of a written license agreement with Synopsys, Inc. All other use, reproduction,
    +            or distribution of this software is strictly prohibited.
    +
    +Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    +Install:     C:\lscc\diamond\3.12\synpbase
    +Hostname:    ZANEMACWIN11
    +Date:        Sat Aug 19 07:25:17 2023
    +Version:     R-2021.03L-SP1
    +
    +Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    +ProductType: synplify_pro
    +
    +
    +
    +
    +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    +Running: impl1 in foreground
    +
    +Running proj_1|impl1
    +
    +Running Flow: compile (Compile) on proj_1|impl1
    +# Sat Aug 19 07:25:18 2023
    +
    +Running Flow: compile_flow (Compile Process) on proj_1|impl1
    +# Sat Aug 19 07:25:18 2023
    +
    +Running: compiler (Compile Input) on proj_1|impl1
    +# Sat Aug 19 07:25:18 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +
    +compiler completed
    +# Sat Aug 19 07:25:20 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:02s
    +
    +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    +# Sat Aug 19 07:25:20 2023
    +
    +multi_srs_gen completed
    +# Sat Aug 19 07:25:20 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:00s
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Compile Process on proj_1|impl1
    +
    +Running: premap (Premap) on proj_1|impl1
    +# Sat Aug 19 07:25:20 2023
    +
    +premap completed with warnings
    +# Sat Aug 19 07:25:21 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:01s
    +Complete: Compile on proj_1|impl1
    +
    +Running Flow: map (Map) on proj_1|impl1
    +# Sat Aug 19 07:25:21 2023
    +License granted for 4 parallel jobs
    +
    +Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    +# Sat Aug 19 07:25:21 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    +
    +fpga_mapper completed with warnings
    +# Sat Aug 19 07:25:25 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:04s
    +Complete: Map on proj_1|impl1
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Logic Synthesis on proj_1|impl1
    +TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    +exit status=0
    +exit status=0
    +Save changes for project:
    +Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    +batch mode default:no
    diff --git a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.5 b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.5
    index 1110f0a..5963ad8 100644
    --- a/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.5
    +++ b/CPLD/LCMXO2-640HC/impl1/stdout.log.bak.5
    @@ -1,59 +1,89 @@
    -Running in Lattice mode
    -
    -                               Synplify Pro (R) 
    -
    -                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    -
    -                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    -   This software and the associated documentation are proprietary to Synopsys,
    - Inc. This software may only be used in accordance with the terms and conditions
    - of a written license agreement with Synopsys, Inc. All other use, reproduction,
    -            or distribution of this software is strictly prohibited.
    -
    -Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    -Install:     C:\lscc\diamond\3.12\synpbase
    -Hostname:    ZANEPC
    -Date:        Wed Aug 16 20:41:46 2023
    -Version:     R-2021.03L-SP1
    -
    -Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    -ProductType: synplify_pro
    -
    -
    -
    -
    -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    -Running: impl1 in foreground
    -
    -Running proj_1|impl1
    -
    -Running Flow: compile (Compile) on proj_1|impl1
    -# Wed Aug 16 20:41:47 2023
    -
    -Running Flow: compile_flow (Compile Process) on proj_1|impl1
    -# Wed Aug 16 20:41:47 2023
    -
    -Running: compiler (Compile Input) on proj_1|impl1
    -# Wed Aug 16 20:41:47 2023
    -compiler exited with errors
    -Job failed on: proj_1|impl1
    -
    -Job: "compiler" terminated with error status: 2
    -See log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_compiler.srr"
    -# Wed Aug 16 20:41:47 2023
    -
    -Return Code: 2
    -Run Time:00h:00m:00s
    -Complete: Compile Process on proj_1|impl1
    -Complete: Compile on proj_1|impl1
    -Complete: Logic Synthesis on proj_1|impl1
    -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    -Error: At line 64 while processing "LCMXO2_640HC_impl1_synplify.tcl"
    -2
    -TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    -TCL script had errors: "LCMXO2_640HC_impl1_synplify.tcl"
    -exit status=9
    -exit status=9
    -Save changes for project:
    -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    -batch mode default:no
    +Running in Lattice mode
    +
    +                               Synplify Pro (R) 
    +
    +                Version R-2021.03L-SP1 for win64 - Aug 10, 2021 
    +
    +                    Copyright (c) 1988 - 2021 Synopsys, Inc.
    +   This software and the associated documentation are proprietary to Synopsys,
    + Inc. This software may only be used in accordance with the terms and conditions
    + of a written license agreement with Synopsys, Inc. All other use, reproduction,
    +            or distribution of this software is strictly prohibited.
    +
    +Starting:    C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe
    +Install:     C:\lscc\diamond\3.12\synpbase
    +Hostname:    ZANEMACWIN11
    +Date:        Sat Aug 19 07:23:03 2023
    +Version:     R-2021.03L-SP1
    +
    +Arguments:   -product synplify_pro -batch LCMXO2_640HC_impl1_synplify.tcl
    +ProductType: synplify_pro
    +
    +
    +
    +
    +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr"
    +Running: impl1 in foreground
    +
    +Running proj_1|impl1
    +
    +Running Flow: compile (Compile) on proj_1|impl1
    +# Sat Aug 19 07:23:04 2023
    +
    +Running Flow: compile_flow (Compile Process) on proj_1|impl1
    +# Sat Aug 19 07:23:04 2023
    +
    +Running: compiler (Compile Input) on proj_1|impl1
    +# Sat Aug 19 07:23:04 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +
    +compiler completed
    +# Sat Aug 19 07:23:05 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:01s
    +
    +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1
    +# Sat Aug 19 07:23:05 2023
    +
    +multi_srs_gen completed
    +# Sat Aug 19 07:23:05 2023
    +
    +Return Code: 0
    +Run Time:00h:00m:00s
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srs
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Compile Process on proj_1|impl1
    +
    +Running: premap (Premap) on proj_1|impl1
    +# Sat Aug 19 07:23:05 2023
    +
    +premap completed with warnings
    +# Sat Aug 19 07:23:07 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:02s
    +Complete: Compile on proj_1|impl1
    +
    +Running Flow: map (Map) on proj_1|impl1
    +# Sat Aug 19 07:23:07 2023
    +License granted for 4 parallel jobs
    +
    +Running: fpga_mapper (Map & Optimize) on proj_1|impl1
    +# Sat Aug 19 07:23:07 2023
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm
    +
    +fpga_mapper completed with warnings
    +# Sat Aug 19 07:23:11 2023
    +
    +Return Code: 1
    +Run Time:00h:00m:04s
    +Complete: Map on proj_1|impl1
    +Copied Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srf
    +Complete: Logic Synthesis on proj_1|impl1
    +TCL script complete: "LCMXO2_640HC_impl1_synplify.tcl"
    +exit status=0
    +exit status=0
    +Save changes for project:
    +Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\proj_1.prj
    +batch mode default:no
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog.tcl b/CPLD/LCMXO2-640HC/impl1/synlog.tcl
    index 08b4740..d3eb8ba 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog.tcl
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog.tcl
    @@ -1 +1 @@
    -run_tcl -fg LCMXO2_640HC_impl1_synplify.tcl
    +run_tcl -fg LCMXO2_640HC_impl1_synplify.tcl
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_comp.rt.csv.rptmap b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_comp.rt.csv.rptmap
    index ac358a3..59f4d85 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_comp.rt.csv.rptmap
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_comp.rt.csv.rptmap
    @@ -1 +1 @@
    -./synwork/LCMXO2_640HC_impl1_comp.rt.csv,LCMXO2_640HC_impl1_comp.rt.csv,Module Runtime Summary
    +./synwork/LCMXO2_640HC_impl1_comp.rt.csv,LCMXO2_640HC_impl1_comp.rt.csv,Module Runtime Summary
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr
    index c6bd2e5..bbc040f 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr
    @@ -1,132 +1,129 @@
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N|Running in 64-bit mode
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N|Running in 64-bit mode
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work)
    -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work)
    -Verilog syntax check successful!
    -
    -Compiler output is up to date.  No re-compile necessary
    -
    -Selecting top level module RAM2GS
    -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work.
    -Running optimization stage 1 on VHI .......
    -Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work.
    -Running optimization stage 1 on VLO .......
    -Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work.
    -Running optimization stage 1 on EFB .......
    -Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work.
    -Running optimization stage 1 on REFB .......
    -Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work.
    -Running optimization stage 1 on RAM2GS .......
    -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 94MB peak: 94MB)
    -Running optimization stage 2 on RAM2GS .......
    -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on REFB .......
    -Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on EFB .......
    -Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on VLO .......
    -Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on VHI .......
    -Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -
    -For a summary of runtime and memory usage per design unit, please see file:
    -==========================================================
    -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv
    -
    -
    -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:59:29 2023
    -
    -###########################################################]
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N|Running in 64-bit mode
    -
    -Linker output is up to date. No re-linking necessary
    -
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 87MB peak: 87MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:59:29 2023
    -
    -###########################################################]
    -
    -For a summary of runtime and memory usage for all design units, please see file:
    -==========================================================
    -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.rt.csv
    -
    -@END
    -
    -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:59:29 2023
    -
    -###########################################################]
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N|Running in 64-bit mode
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N|Running in 64-bit mode
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work)
    +@I::"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work)
    +Verilog syntax check successful!
    +
    +Compiler output is up to date.  No re-compile necessary
    +
    +Selecting top level module RAM2GS
    +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work.
    +Running optimization stage 1 on VHI .......
    +Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work.
    +Running optimization stage 1 on VLO .......
    +Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work.
    +Running optimization stage 1 on EFB .......
    +Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work.
    +Running optimization stage 1 on REFB .......
    +Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work.
    +Running optimization stage 1 on RAM2GS .......
    +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 101MB peak: 101MB)
    +Running optimization stage 2 on RAM2GS .......
    +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on REFB .......
    +Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on EFB .......
    +Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on VLO .......
    +Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on VHI .......
    +Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +
    +For a summary of runtime and memory usage per design unit, please see file:
    +==========================================================
    +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv
    +
    +
    +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 96MB peak: 97MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:48 2023
    +
    +###########################################################]
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N|Running in 64-bit mode
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:48 2023
    +
    +###########################################################]
    +
    +For a summary of runtime and memory usage for all design units, please see file:
    +==========================================================
    +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.rt.csv
    +
    +@END
    +
    +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:48 2023
    +
    +###########################################################]
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr.db b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_compiler.srr.db
    index 4c6c160b1f0aff146ca6d6b6a454c671081b4fee..b09d515c93a7beacefad81d214c37a74c712778c 100644
    GIT binary patch
    delta 110
    zcmZp0XmHrTCcv|lfxnTTiLaSYn0M*M!pXd1Ijn5rxyhnT&hEx$CQ6Z3F+r&X`Nfl$
    v%7#g3spPS+iI>J>NNUPOFlnhwZkDTM(Nd{pn%pYqG}%qw5+v3rUkjuFSdSf4
    
    delta 154
    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
    T0ssI2|NjF3L~#yax+nqw@DhJZ
    
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_multi_srs_gen.srr b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_multi_srs_gen.srr
    index 3622db3..33f4e1a 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_multi_srs_gen.srr
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_multi_srs_gen.srr
    @@ -1,28 +1,28 @@
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N|Running in 64-bit mode
    -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 91MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:58:39 2023
    -
    -###########################################################]
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N|Running in 64-bit mode
    +File Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 99MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:50 2023
    +
    +###########################################################]
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.srr b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.srr
    index c10e02c..721bf3d 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.srr
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.srr
    @@ -1,162 +1,163 @@
    -# Wed Aug 16 20:59:30 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB)
    -
    -
    -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB)
    -
    -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt 
    -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt"
    -@N: MF916 |Option synthesis_strategy=base is enabled. 
    -@N: MF248 |Running in 64-bit mode.
    -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.)
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 139MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 141MB)
    -
    -@N: FX493 |Applying initial value "0" on instance InitReady.
    -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. 
    -@N: FX493 |Applying initial value "0" on instance Ready.
    -@N: FX493 |Applying initial value "0" on instance RCKE.
    -@N: FX493 |Applying initial value "1" on instance nRCAS.
    -@N: FX493 |Applying initial value "0" on instance CmdLEDEN.
    -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN.
    -@N: FX493 |Applying initial value "1" on instance nRCS.
    -@N: FX493 |Applying initial value "0" on instance LEDEN.
    -@N: FX493 |Applying initial value "0" on instance n8MEGEN.
    -@N: FX493 |Applying initial value "1" on instance nRRAS.
    -@N: FX493 |Applying initial value "0" on instance CMDUFMWrite.
    -@N: FX493 |Applying initial value "0" on instance CmdUFMData.
    -@N: FX493 |Applying initial value "0" on instance C1Submitted.
    -@N: FX493 |Applying initial value "0" on instance CmdSubmitted.
    -@N: FX493 |Applying initial value "0" on instance ADSubmitted.
    -@N: FX493 |Applying initial value "0" on instance XOR8MEG.
    -@N: FX493 |Applying initial value "0" on instance CmdEnable.
    -@N: FX493 |Applying initial value "1" on instance nRWE.
    -
    -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB)
    -
    -
    -Starting clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB)
    -
    -
    -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -@N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS 
    -
    -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -
    -
    -Clock Summary
    -******************
    -
    -          Start      Requested     Requested     Clock        Clock                Clock
    -Level     Clock      Frequency     Period        Type         Group                Load 
    -----------------------------------------------------------------------------------------
    -0 -       RCLK       62.5 MHz      16.000        declared     default_clkgroup     65   
    -                                                                                        
    -0 -       PHI2       2.9 MHz       350.000       declared     default_clkgroup     18   
    -                                                                                        
    -0 -       nCRAS      2.9 MHz       350.000       declared     default_clkgroup     14   
    -                                                                                        
    -0 -       nCCAS      2.9 MHz       350.000       declared     default_clkgroup     8    
    -                                                                                        
    -0 -       System     100.0 MHz     10.000        system       system_clkgroup      0    
    -========================================================================================
    -
    -
    -
    -Clock Load Summary
    -***********************
    -
    -           Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    -Clock      Load      Pin             Seq Example     Seq Example       Comb Example      
    ------------------------------------------------------------------------------------------
    -RCLK       65        RCLK(port)      CASr2.C         -                 -                 
    -                                                                                         
    -PHI2       18        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    -                                                                                         
    -nCRAS      14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    -                                                                                         
    -nCCAS      8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    -                                                                                         
    -System     0         -               -               -                 -                 
    -=========================================================================================
    -
    -ICG Latch Removal Summary:
    -Number of ICG latches removed: 0
    -Number of ICG latches not removed:	0
    -For details review file gcc_ICG_report.rpt
    -
    -
    -@S |Clock Optimization Summary
    -
    -
    -
    -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    -
    -4 non-gated/non-generated clock tree(s) driving 105 clock pin(s) of sequential element(s)
    -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    -0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    -
    -=========================== Non-Gated/Non-Generated Clocks ============================
    -Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    ----------------------------------------------------------------------------------------
    -@KP:ckid0_0       RCLK                port                   65         nRWE           
    -@KP:ckid0_1       PHI2                port                   18         RA11           
    -@KP:ckid0_2       nCCAS               port                   8          WRD[7:0]       
    -@KP:ckid0_3       nCRAS               port                   14         RowA[9:0]      
    -=======================================================================================
    -
    -
    -##### END OF CLOCK OPTIMIZATION REPORT ######
    -
    -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized.
    -Finished Pre Mapping Phase.
    -
    -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -
    -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 173MB)
    -
    -
    -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB)
    -
    -Pre-mapping successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 89MB peak: 175MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -# Wed Aug 16 20:59:32 2023
    -
    -###########################################################]
    +# Sat Aug 19 21:54:50 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +
    +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 139MB)
    +
    +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt 
    +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt"
    +@N: MF916 |Option synthesis_strategy=base is enabled. 
    +@N: MF248 |Running in 64-bit mode.
    +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.)
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 150MB peak: 151MB)
    +
    +@N: FX493 |Applying initial value "0" on instance InitReady.
    +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. 
    +@N: FX493 |Applying initial value "0" on instance Ready.
    +@N: FX493 |Applying initial value "0" on instance RCKE.
    +@N: FX493 |Applying initial value "0" on instance LEDEN.
    +@N: FX493 |Applying initial value "0" on instance n8MEGEN.
    +@N: FX493 |Applying initial value "1" on instance nRCAS.
    +@N: FX493 |Applying initial value "0" on instance CmdLEDEN.
    +@N: FX493 |Applying initial value "0" on instance CmdUFMShift.
    +@N: FX493 |Applying initial value "0" on instance CmdUFMWrite.
    +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN.
    +@N: FX493 |Applying initial value "0" on instance CmdValid.
    +@N: FX493 |Applying initial value "1" on instance nRCS.
    +@N: FX493 |Applying initial value "1" on instance nRRAS.
    +@N: FX493 |Applying initial value "0" on instance CmdUFMData.
    +@N: FX493 |Applying initial value "0" on instance C1Submitted.
    +@N: FX493 |Applying initial value "0" on instance ADSubmitted.
    +@N: FX493 |Applying initial value "0" on instance XOR8MEG.
    +@N: FX493 |Applying initial value "0" on instance CmdEnable.
    +@N: FX493 |Applying initial value "1" on instance nRWE.
    +
    +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB)
    +
    +
    +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB)
    +
    +@N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS 
    +
    +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB)
    +
    +
    +
    +Clock Summary
    +******************
    +
    +          Start      Requested     Requested     Clock        Clock                Clock
    +Level     Clock      Frequency     Period        Type         Group                Load 
    +----------------------------------------------------------------------------------------
    +0 -       RCLK       62.5 MHz      16.000        declared     default_clkgroup     65   
    +                                                                                        
    +0 -       PHI2       2.9 MHz       350.000       declared     default_clkgroup     19   
    +                                                                                        
    +0 -       nCRAS      2.9 MHz       350.000       declared     default_clkgroup     14   
    +                                                                                        
    +0 -       nCCAS      2.9 MHz       350.000       declared     default_clkgroup     8    
    +                                                                                        
    +0 -       System     100.0 MHz     10.000        system       system_clkgroup      0    
    +========================================================================================
    +
    +
    +
    +Clock Load Summary
    +***********************
    +
    +           Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    +Clock      Load      Pin             Seq Example     Seq Example       Comb Example      
    +-----------------------------------------------------------------------------------------
    +RCLK       65        RCLK(port)      CASr2.C         -                 -                 
    +                                                                                         
    +PHI2       19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    +                                                                                         
    +nCRAS      14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    +                                                                                         
    +nCCAS      8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    +                                                                                         
    +System     0         -               -               -                 -                 
    +=========================================================================================
    +
    +ICG Latch Removal Summary:
    +Number of ICG latches removed: 0
    +Number of ICG latches not removed:	0
    +For details review file gcc_ICG_report.rpt
    +
    +
    +@S |Clock Optimization Summary
    +
    +
    +
    +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    +
    +4 non-gated/non-generated clock tree(s) driving 106 clock pin(s) of sequential element(s)
    +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    +0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    +
    +=========================== Non-Gated/Non-Generated Clocks ============================
    +Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    +---------------------------------------------------------------------------------------
    +@KP:ckid0_0       RCLK                port                   65         nRWE           
    +@KP:ckid0_1       PHI2                port                   19         RA11           
    +@KP:ckid0_2       nCCAS               port                   8          WRD[7:0]       
    +@KP:ckid0_3       nCRAS               port                   14         RowA[9:0]      
    +=======================================================================================
    +
    +
    +##### END OF CLOCK OPTIMIZATION REPORT ######
    +
    +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized.
    +Finished Pre Mapping Phase.
    +
    +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB)
    +
    +Pre-mapping successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 103MB peak: 184MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +# Sat Aug 19 21:54:51 2023
    +
    +###########################################################]
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.srr.db b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.srr.db
    index 9da85ab564f90fc460d94df31828582c08e2be50..d07d179ba0683158332aeb293230b61612bdb70a 100644
    GIT binary patch
    delta 412
    zcmZp0XmHrTB48%Tv7Ukd5dRE*S-zWmcD(<1_w&~C+VcG6*~L@BqsRS{dl`2+w>sA&
    zt~p#`Tq2woI45$Na;)E2SjxfN$SgVei$o)fR!x+|xl~Gg1N|0b!_s
    z{^TfWexSL|LX&f)9f1rx!O4xXCX;n!I6$@uKy8x%avb?5+sT^pg(c=>ra*0W<^$?7
    zovbGdwuBdIrioB^QD#XhRE-M{Oqee?BQvc8D(uJ&G|e7lAs5g>8<49xfeIn6&XVC_
    z(yEzUFRMCvf;9i+H8NZv?tWQYka{+tdS#F}Pf%)NN+s01$#!xxfrdD-01W|!h2CUd
    Wc|MRXS@}v3HA7wlL>-d10a5^!e01>u
    
    delta 405
    zcmZp0XmHrTB48rH@sWZ55dRE*S-zWmcD(<1_w&~C+VFhm*}+r6W5)fBdjoeiw<^~?
    zt{GfmTtb|eImA-jM3ySDFF_VKdwSR
    z9i<>0Lcyg;xtS#;sVPuRE`mUH#^Q$P;?4p!8B7Y{=
    z%c@T9krv`~42C*v@_t!ckU?xfgN%5BQWH}uVKR1dGl7OVu|R`CZ!)huAIJ<@`AQHq
    NLtXJQUFtZfmi?l
    
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.szr b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.szr
    index efea1da0da49312d726251f7a0fb839a2c37a0c9..d0fc77492f47adadb2abd30f546c0dbd775cbf3d 100644
    GIT binary patch
    literal 12437
    zcmV;GFlx^qiwFP!000003sO~8RVXORFG)=wzUmO$U=xgL29OE3|;}YZJ>>J^4
    zq-$nk;NcvTnOl%!7*kxC2h;?Wi3iKXgJt3iic)hE3-pSsinttH0RR91|Nq>*eN*E&
    z);Ih&`4qaxR88xuPAUm;I?{R7IXe2a)pGjjfjdq=4Xg={CXR+XGG7p5l1+puMkG&eJM9ZH
    zn@%EkZU?>A-0j;Qu|5s7i5>KViR<`t@3KGXPI?_JI`mE~Uz>O*?(O_y!n`|+>9((1
    zZqT)?FH~#mwoSuSKmXcq+cfH@j&2=B)YA^5Guu5(S>&A2wqvEiocU4Ej;NJ-!6A+G
    zwiBiFrk#3e-=&lB06SKs$qCMl&SD}+W|E1>JENpMySgKE7c6^-^aRp
    zMxFK<499ZPJB_;SvoHFcZ`u98(Sifo?$NV5_X~{I^830K1h#X~((Oe>t+vyr?%5a*CYBaClN`&=WML396O&w!Q9J3}PA_I;K5?Uo-Mi;;
    zrg)qw9=Ceke%qx%;CRQ;0ZV|NJ#O&T&zp=ZTmQuTY=0v~Jik`Mc?^qB-5v)0^csq5p
    z{(z1r5w;wxP2?i)7}dw5#>|v~2~a
    zF0dEKDjC>;7EJuUJMTN*q<7ivsAu@miDp|9*FKrtfK2KBWF9!jUplmV+CJ?Amj#wf
    zPUucO1J9oX_Kh|1^oW6G>RM-~4sC-x-TCv>|10ySPv+4YFGRhr-M*s^{Jn{_P%_r-
    z!&;>6=s$l!k4+-r9sfTba63(z^B+(vZO~Jl&aBtH{13>7f3p0WZ_Ok4Y((9DuXl9R
    zY0=gnJ~i|kD(}A29vyVxw-HFT?>31iWJ*_i2Jn>luWSPi$DMIwMEGeREuSbA%(4#N%lXfyWw*0j31*Uu^{V68&LsqK3B?)uKe>tA-dJ+;n}cH&#^#6AJV
    zpl`y<=!l`xVCOMnaUL>ZBFV-E7jlRaR^Wt*_R&r(##1a;xgl2pvfv;T07x5CrvYfMWJR*#eaBp~FDB|IWnb#%;_Pm~big^ZZMpLzBIUM+dJGLKl2v4qDgA)E9|!}Mht
    zMgmE~W}Vp#GsE07o+&dyI*9dHZ)Q-u4X!zUF$qIlAOzZs5EP@4$xJHtwtgcFc*HCL
    zZ@Q4vBIZfSaFGy<7z%-QuvvS@Q*)eyKBXqwKwrK2ydvxt)Mgk9mc&fPz&s(17i;r*
    z(P?)s-e0uo_wRM_j$VV;>9l*7?>p`Hx3k;tm+kL$>>vR<$gXZn!9!&SLy?0S%%%oU
    zp38nUt>3?YYXa}+jq#q+7n)f}H=Dt|(6@iQC4EMg@Qj%u3&SBTi%od+`$co~y&c|?
    zJ{%{Enj3A>Ue@pJ@Rsx?{G2f}OUCiK(%#4Vy&c|?J_K6r1-y&zo#yC!1zw};r?9}U
    z7Yr>nVBXK?tU3DL8ZR~x5gc!r%l*vfTi~tYz=e=_A>)wBco&{})s8z?SYYBynVH-`
    z41A@{>(`~T+XnHbJTwx9$A%yhZNaNepD~rwq4Kp&obhDm`ZY42A}@I?!t2DC;*uwv
    zB4aDwGGeQT7sBjKks)IoE|NlIau{v^Y>vK6W;jen)gF+UCtD(=2fR*A`OAoq=!${!
    zDX!!YevpPS-hnr30uM2K1*js7L74&f(6t$DWECjXec-jH`%@)c*{+idi)9Yp~9rwM7`PdgCKB9#5F4^zkLl}t@*sC
    z&qxr7Gn1+PgDq4xM;|kCh#cY!!gv`Heib4Xt9_EUz)QpePeY#Xps%ief%$w_TnU*Z
    zn8h(-TNw0{TDZ2_t7!`FH_SlIBr#nJsejOSNiQ3t?*VTk$K2!f+Ku4}%!UiL+kffJ
    z+TZHp5Liv<2L
    zc)=w}cFA8|`jmYDABpj#%vcH2I>iQ^?&24E(Lg+w8B(w^%SVX)rnV_Cl}}Z6kA8Z8
    zdG!9>?W}!tdvr<3;N^U+?nG)Y5)i+%2LJpQRrmw$?$JTscuQ1
    zTL~Z$nDa=5oVD@Zy^MG9>2h||zMOU5_r8N(y9DJ{YyTBVCdU}oQsn|evGk*I^gKz|
    z*#2@RD}REC(2x-9#uT0JWYoHNVBt}AzRQPc7H_p*5A2x~oXIkN?!z>T2TCSZ`P(VW
    z#)-i)$~Wq^#_)2&lEMtfCPN{8zWv!eUXc-oc^Jct4!78d=Xf>qEm;^VMq4iJBWr9U9FalMxd!s536g
    z7Y%()yel3;cspWYK3diq5OcTT-2>jHgnXlTY;>fy3qTG@$gYryLsl9B?E_CTobxcu
    z<7A<9*_PGY6Q1PYQy{rlJS5mif~>1;t|M;WQpvVyjEq>YBFWF0q?=QLP12V!P-*8PVOhRW_L`*60NLX#
    z9KA$i(|9k@*yQ?|2_m_XC2Ifm`sMkowSFu5Uczh&uVe;_<*?Z0D>XTvWo$q!v{uKk
    zH@sY2XR>6u0Kc;=`Bn$5vHCC-Ybw8t$t0JBSgh|+G)f;~<`5&Kc41H)$~?x4HD97h
    z`YPMb7YtuR%qa~)Otpu;KYLW+5y0a}LJVl;u?$&~;fy03KFZNGif1k$ayK$rj9Cbg
    zF1Wt=^Htmno;e2H$@i+yp5S4KTTsc_kW2Bbc5+{MC|QJRs|g$@RMkoE2@ga*3vtX4
    z&Jw;@4>=pf%NA8k&EhO%%5U0KZ`UMVya1o+yh!NAt)Az2_2nJp4-AnYV3}5ap~1N{
    zHsduS?}^Maka_TZ^Kg4&pgBCXKf#JHMlnVtLu`tqv4y@`^Z6B*5UG?#!Ol&Y#4%U-
    zcy(l8yZkkecTEJuWnv$A5RY+u4qg)qIRlwM62}63n8bMM#x#mYBm@to!s=9c#}M)7
    zn<7o)p%C*z?fWQPf?0xNo*06KauEx#`H%39YT5U%A}rNe4~4TMH{KL|PtFO&41&)L
    z=V8dNp4G!Ng-48%D-&c)RlRqK4Z=4%hmGwIs$5Q~yd@N$tGaJkwSCTKg}1;=$YdxG
    z1Nmd(>Y3~{Ngt6I@dfBFpljP+U8D3dBUdp5$&y?kl*a~$J@C)I{3V44K_5@Dl9z9=
    zpQZ2+9&yQlF~isdn*@F@iidmJuj4>jb&d>tC4kwwMZd!9&~82Zr|?F(WJVbCEwRdD
    zydyfRx4%RLPoxkT@QmQ$h7ysdc)glBt!Owtd$OIjqyK=hN7Hp2rfiI9wzqMpgVkM6%EMe4uZ~-e8mT
    z6(g{E(#QoCOv;>@%*5wBG@mnRQ~uHuyf|ki&KaVMt%V{z+WA&Xzl^fKO5a6ec(0(3
    z(%V{in8|!vNbumvSSV=9U(zr2{cA8sG8=)O#-P&Bg2YL=v3}yV^X@zC-PW`3;b;N=
    zin$?1*+O4^do+{1>zIM3jWEm2GSAe$kGajiu8)^V1~I!4fePPOTLKn@aN8b!gX
    z^8$=BaH4=`8lTT9-*1fAG?sCqXjJZn$)stZC&6c<`EWE^*4zkI$SF`O5yoRO-GW!2
    zz7<}{cnm*@-TQ;}^;rS_Com<%g5Xz#F;;QXGrnmGZ-H;Kgz}9(#Adu%E&sDxzYyjV
    z5tAsVzC`Lk8Oc$GjRc%h$qIsb@`%1#`g+Bm3D^deN@8@l;aJH%eKys68XPo*7XqR&
    zX2Y#`9;H5=TTRsW2*oRvue;y;(G&SIFd9!|jtpaO{XHtY1n3J*o`c-&JO5tc<={&s
    zqnKx54&YatnkYQN>okG~jvA-atpW89yn6Mf4|r%Ku8j44r497elD`MMcob%I%`Mx2
    z*J)-xlhHYr1{dcdL3DiuAI)cdyaMos1~1>B9<#y&UsvUis$9gLs;MF_dfl4)VZx$a_csYNwc;x}_jpCIDyf=zh9`N2MUU{^B
    zZxXLmcth2fQ*52fXY<*}`jw&J84*Y%*HumC4!rvEknuN*kL2q7-ws)Cl0KP}7iIk!
    zUOoG+@LrJhr+78}GllnptUsf#rhi6QqOwLAnPL{^1;LX2W`xh3rpEGdioO?g%d`2c
    zzkV<1mPYZ0ua2Ijo=BsYrx4->_%U
    zlzv&^4Miz-MVw8^`wB0MamcsS>NkqV5NXJ
    z=VjE{cT=5}AxT!Ud_+5IEd?5r2Z$P^kukj1M`urXJTX))ib3&Cz((^qe8i>@k4-aH
    znj~JGh1gavRllAO^C_s#X{nm^l_ZHb^mc42eyHjd-w;n;aQ>!vmv4)A-(RCs4k6&Y
    zPKdgD<^}$&S8s#Vi80Aph|B`B5!!QoT}59!0^M>B!Z2Fum_6dHoqa$?UhR)O%e6E$
    zpQaHS2^b+(7-oSu{1f7R_IrBpC%9CCC1Lm)Q9P{bQS$hF!@0)2;E@qyF-RiEa!a4SX7NDoN+ty%BH4F8h==)Pd5rNn+XB}(
    zUcz&hsOA@Y#=|VB&T~m@nxIqmzW=hqGbQNkt5@Y4YvVoi@~G-|hk_*6Ft7X3p9-(a
    z#Vs%jRj=rm>jxW=zbwNEQ+>?$Jf9Wb5af>(ssy{Lp??9d-gz~K&hO9MqXpVOzf|;<
    zBW7G7Hf5$z>sk32iF|U2L8JbJs&``s-{vbdPM=izlP5!^Key1+}2&}DmBzXe*J`7J;y)a49CO!kJS>iNo0^>H=TIoyO9sOpis8Lw7+#0?x06C_Xd
    zN;t}gIP2-IhNFozMoC49G>eNTGjcTS*ybOcBCf5Zhmx{iEeI3&4ZFu$8
    zPlEPTJqKByNmOtg17!HMES}X(HOeo~x!CjhxQf2jdAzsiZ#ouB-c&p}W=34H#iqUqjnXIC6;}5X
    zy>9*L`MU~lgZWno-$2z4LHf5Yo%f@wEOuz{GOm-4su
    z@qXALp1mAT*V`{&&gU>;d|KTDA*RXh`pqc
    zu&ayS*DZOgJ>hj;fmgdkXk=xU(2ePp#`8x80c&Kyj1s=FmtAA|BNSFK`xp#v
    zMXS0;+*p9{BMcEtw#xfAg?HZzsX+AA_1CrVLJV}N`(&6Dsy9-B!u7+34dTV{_}pM+
    z)qhDT8wdo=-Tmw8<>LrW5Hk$POf#qDws!u_)=SCJ^6miDzd(|WmmM~?Kc8@st(Sd<{Vvw<
    z!0+AVpIy>UExgtF;!^F=tGkavRtU^@_4lr~A1U$-AjU-^iczszy@m
    zxC5f`{HBouZDQ-5NK<(E0^EqN45@svy2p6m_ve&f~E^@R6k=de~6s3
    zs@Ews_I4jbg-1AB^;A{89XIt1dW3h`NPVjWOuD^=WaIU;YVRx=z26fy0njxzs)8i&y>D)OKA`48bIA3~!s;e}Nb}#CevOS0IE%$V0TT=WnC*g(Ft=
    zVu8>hG$Ech2+K@_%18HRHAf%f7=cLSN?&iT)o2p0lE0D}nSqf}fLxe8R>-Ue1Quj7
    zUcK`j2{Ht`LV|@uBE}>%2}5y)OoHMq^)HRoyCpm}s=Jd_O<#`Ja>q^K4OK0}VpuAF
    z>6QBh_3q~aA0lDGqmEOH&?&Q!8J2kmhi1-|C+>mh*yS)fiVLAEECUbdz!?n?#EL-&zOm-
    zy68RMhq=TnRI~yv3lc=|s@L1T@J6bC0T^7F#fGZGENHmb`-?02`6Nq5rgXwji}V)@$S
    z#C9jT6Di!Tu77C_{`oKJ10t+vsZUM
    z3sU8EW%wJ9!^DW$mcDOItzSX%FpR6dZ**5)w>kPo3Ax&Jzjvc}N*>N*RNV;y@&G~8
    zmV5dd!sEEQOMr+DxZIqDG~VLZG=!&U6C@Fa%#c*|ecSw~rq)l2oJn%O_q*d%W%j=5w6|JX{VM2&#R|DGqDJz_^nX)=@>hdc0=o@@;b13;TTMx
    z+VkBvUSBBdo3OXo43RpA&tpS^nsMi3p>QFp>lWFSKxnOYxk38C*R5&`
    zV-_-kQDWc?PJM&+R^_b$OT{gyFqtqmJSa3*;ef>$3i
    zW#)4shHCiq1d8F)wxGte-qMGO2}^&HghS0`nZoN|){#uO!o0^_k?W{O1bqXtp=J{Ce3N7>N+C@Q!BP#^q14
    ze5BgpZ{n9D`mQd2#sWc9Yb^WrO~I#U@wI`%-}b_vkL5vtJTP+2Q6eyr@upkhFJ`lP
    z>j!vMEzIg1l=3AKCV*0it$#yn^nI&OpI~zMK;vd%Z*)GVIQ$X!ZOywhDu1P_n#iFtYKm6=cX68EIG-q#BTy(y?CwgN&eWQ4>G0tEX7l>V9W4I%a+z=kV3i%Nl
    zRr8sFQUTH5dFrZ(_`w(gi{4(KBqrw8dqkRzrzMNcWC3xed7l#`*DOKt6;}5iKE`W6
    z-c?>6^Q2TZkiBA=
    zMMTIHT@Trn`6Rc~)PB}T`4Xe6?1)Xnu|d>XnpIzHFjO2k7d1Se)gIQ2b!Ntl;g|AN
    zwc~d*5-53gztoOXLOps}H~(j-J``0Q+^$zs`dUbiLRB;c`ugjRz6}lIsT}I}?>j>H
    z2K8Ae4WjnW3=wh@Tx`7QPS-~9M#j<>?SK6kc-Nu9^HB1H$E<`PqF5Bmeo0UE44T6u
    zYM%%E`RXolka6W;7&s}(liW`8c&h#`4C5kJ1&szq2`S+}tiY;wgsQd3#-Qzz|4S%;
    zCNoC{Zn3=}^EjbvG
    zjr4VCZ%=sZ&IJH<-_2%6`@l=sGy`d=`aD0I&sun6YQ#ARK(?szS1%>wqrmp9dh`vs
    zluX^t!iq8j|F=}IXq)%#9nvy^81&5Lq!?IxDl5X!&
    z@o5EiTTlL`go9sw#bm-lvtZ|@OyZa;+d<=Xyt?$Q^r!0ckJVj)=UBDxGuP|vo52g|
    zbOCdy?2+P=ZTC?$hBu`~DC6rm2BLQ6t{UP`gXWn!kD=@xA4*b8AymR_YOWo#ZU&Fg
    z5d;5$mBq$$EqlQm_Z49DCBsEN^TOi*n-*|9%rVRT(Dxt{o;+yC!$wa
    z#ycrgu0juDbE7vNS1bq_b)
    zsMQ|q5v^yBIOb|6?JAVaOs))spV`?Tcpadv+nLqk7fiE+m?c+xcMtnY8(x@xYIgwZ
    zvO5!5+jteGH91Wk&GpuK#w>(JREXpK=9v(;*mLnlg)-8-Goj~~9%-uKQ$
    zdqz7w!#VUKO*?$=(JyGcyG_q)#I+5#Jda55%=a3qn=0t~7dmnbapw)*D9nO7fJKmv1PpEaH^>1jD`r3`B
    z>(n`>x@A#4rE|@vULPLsxsL97jz-TY^?%hBm&_HOCLsSo-}NCz$J&=d0&x)TODWyLO--rZjR+j$Ie#sq3`3L+yb9
    zF|>W?o>3=D>4%TFn)3jC*0LHMb)BVT`~xu04->hppw>2v|^8*8^_B%m&BKo$bKb
    zGs|z!BQJ9AuHIA2O*Ll@3^0p2oy*?Le(&p4jeXXq@7~XF^*+&QKy`Wx4AtrN)a_`!
    z!TZZ^wDtLO%Pw3iqK*YqeMacdFYYg-XHJk>7NDkGSF_H}ex|_Cc0V3a=Z0#*8E`1I
    zEvKJS7e1&TI_VRPF<@8|45~%L9honPG07&v6eE%+x1II{nN25=JGakz6URye%SqEz
    z)4JBrur}_QZx5_KrLm(O-vrb?bE|bv`>y2#dfGZ{<&hs*MoM+vPj3i-!h8bTS|5FE
    z*)HXCU}9T?&%pc~&jzzO{9hygpcyY=-0;`P_BG(0+3a{Qo6QF^s{JE(ta*9^k^;XE
    z(wo#8cshO8>*UdpS_A)}dfys;XgMv@OJS{Czwc>x^uV$dn|mM>x=S^^@iBCImk(q3
    z4)4_%0Hc2gtOR;n^Fb)7r=P+43
    z3%bEU+KTkggU^Ca#slnFktQcNH#&=nAel)fBJYfn_U!gz>XOO47unUb+3MNMjhNlj
    z4uYVorxCSUhGo+LRP=#1zX64n9;Wcj^e3Ix9_LSy-tr39wX|bk-(RcwP__W{hOfkP
    zH770G0(xTlJuiBH-qOU4bVmdAdF<(yrnyXg{!X_J{ZA*FYr%w4(1#~>ztyGH_d0oT
    z@#i;+y&DhK=gz(L=!M%p(H%PPx2$gUncKX$g=dq%b`GjBoLZXFf1vG8`nJ^tI{_j(
    z_kQYAjaj;*#?S`&V(yna%h&rJ^ZORN^FTA|40uL8r>D`MJXlhtC&AqON4J(T)arg{
    zX{P1UJ1@NP;6aoqy`+D%D7G!1&bbS74m3ns|Cr7O^Vw{m&1V0|C@Ht`bN&y|?sEq;
    z{*4v%;Xi5WQGL+MFW(J8)ZcTHj8-sl-+f?(OU-a
    zl5Y1MU#*Gmx^wUB4y>&W0{s#D+}?^oXjXE|ox|GLQ6KEtV746IKV}-8=N2fa!yEPc
    zG`LAY*AFhhzSDdd9aw(#{zE=&xvj!>U}8YiJ3pV%7ySo!qJ!P&!UFz$X8XWp{lQkf
    zSRA%0o$SGMg8lq?LI!rA1rxvT&cTjPz;WpuPBhPtPJrBrdv`LiQV+C7FbSObm(B&d
    zopp}`{b!(YrGp(B(?Gj9cIlZKHz=Au&=xqY^ss<$Qp<@vu%>kI^NZ)m?kvkoCvISW
    z3FeNH%V2ig)-Sp+-!Ib!Iv*s~1IDz#19B?eH;2`OHB@>}!}O#2!`AgFNw$^0Et=24
    ze%<>*K?=%U?+xhDaF$bG!-ML5FaLmBtxD%F?r1e{Spf6l!t%JM^hCJnp`X&%&iP%i
    z{8tOQhlSU2LFmCx>f^pu@#V;MZ7=(>_WTFEZ;ur1U$QxT;#7A*sKrT|`iHML&$n8K
    z>feqVbb;R<^dYDM-|M?~E*;rl0LRVJIe2NO!lJGZ2!EBwzMM>4&vw6Plgp^xzRJUZdkudP+qvmGVA$Yq9`93d8kL^T`_!^U>YgZ@@Cy0)qUe}Jmm2U|+tudF`Ti?3
    z=s-gkeB7S{`>o`n3%vcaPtRPi0T5@t&gXiKU*`c@kh+t(9eiO<=l1ww7Ia}=RS%K6)%EZ>b46p#i@VulSOCFPt=3oYM$-~p+!CHDkItNer|m}F9vjU
    zaq*67f0mY(wjcHpz}(VqtbbeZ5fE*d0Si1~UHdgSc8`5!
    zGihXbr@Y%C@>QMIt9Pm3DSjX;Z7wClX#A-a37vE|0
    zr;J?t&~xu7SSQ^-wUrvVp+EgJgW307-P6D%2UN*l>#+Nm=K))kbgxk>{``3`qQwRM
    ze)(r4BilQ4@6D87#_E+zdlI*jbf
    zr%<*O^xo->Z(B1MEtpdZ;UA1QzRZ>`n2hf%BB
    zGExW`6qXa%fpb73<&)_D1se|5MLYJbJ@_Txz!zEhCF(tR)<1ls|BuJ9Yd)&@Ez;?+
    zI>Xkqul#5Fz&}Xm9qp6iI~@W!uzRNvrFgn#
    zySk)RY)v20xY~b!`Os4RCb;oZ_ipd&-l^8T4L5
    zr&M2VsVci}X?kD%0KVtH!O*KcJ@sQ16R*Cbo=*>+?#J4cIIZA7sCilaOoQcztRnrl
    z2O%jvq^iw_<)m(Z^}UE6TC4XdT{!e6dh%QWaMbU&+IxD@)~vnSQog=F{&B00wsenj
    zI{k0;bGLUpqqAA{9tLjtft}vZOW(K7ZkVkHclH6W@Xhi`w@2`w7Tw3IRpm*RL!Qzs
    zT%9rg-s#f+=F5_aOLf#@)}7JikZI7jY|BsY*R>Dv-HmRu;J~>{Zy@?rxsdOB8*nw~
    zhdK5nS@yn#VR!TIK*Dm0>Fn~TJNqkh+`HJ@kRQ)60pE+tWzMS39DjRw^qyWn=Gf2=
    zL9xu2_a?#^AI9A6%^vtzqx2ADeSZHPO?@YrGdn%F`yqofmAz_x+Q$o?+9Iu%ec*r}
    zFC5Tm#yp+-hySy#uGVzcBi&-8&P_lcG{{mQ=vM
    zJB+{Zi?%$79Cy
    z+#LM=Zbp9T-jA6)A2WH&F>A&l_!^Zun*I3obM}1c=k;IgOMiW;^jEm>snBU~jKS|b
    z1>eq4`H?|-*qX;TC*ajOq1snoQ2$sDtQ5S`)48MeR%bV@c%GhAdtM4H^$bJR^$KKnEMZ2YNoS@P7^
    zug27ZG5yhM{Xzfu!@ykff+iGYIHxjO_RphY
    zmE&;!*Ym9QGRLv<<-vipz-|AK(!T4Rx_2|$yS>jBMIRv+az4;Ai)zXTtYSdRs`9TN
    zTiS=2Pw({qwffb*n|l8J_jD_@K2q&N|1_=km1nPg-YTYqxeQJn&w^q0XYVQfw`SeI
    zXH?w2iW^nLGWTGL+7o#ZKE>
    zEWb-u-=*6bh#a4>WGOgV$qXMX72hnJGiwFf`4B^YS>{a5+@m%(yA
    z_vdec@WTuJLF2@vg`gy%O^$US?v+I{r_5BtF_F1SajjJRvM%Z0&`37rpSABQ&?_n2)-YUFf
    zSF><`Su-%Yqg77i`SU?vzLfv@%lV~l(9v3l-jCeb3;CnJo}XOLuTbyhd>%OjJ9A@K
    zYv7%^eYN+Z#?{XqOW4a?6FGeO91MWF6YtAqTZ=B-wm!d~@Bcs0Q1MLGr)h32`8d0)
    z_RhLStEK8*6rTi|13aDjUZB(C11qpTrn_?ay}y^s|JM1D%ZK+Wm%qvvKChcd4=k#-
    z`2z4LTut*n-o43q&h@3uem)JOWV=hj}(su+6_1p+S&iPv0-SE-q%(j{foP6Z?(5`Z?(61Zxwv2
    z%SU^w7iw=cZDo!YSQ_YHXLj&|R`{0h+7RPg?;kJ&jYjT`KL5jNQQZLVOWsgb`gqhE
    zT=WJn
    T0ssI2|NjF35mY}6Dfs{ZA**4*
    
    literal 12566
    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
    
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.xck b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.xck
    index 465056f..44fa3d9 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.xck
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/LCMXO2_640HC_impl1_premap.xck
    @@ -1,4 +1,4 @@
    -ckid0_0:@|S:RCLK@|E:nRWE@|F:@syn_dgcc_clockid0_0==1@|M:ClockId_0_0
    -ckid0_1:@|S:PHI2@|E:RA11@|F:@syn_dgcc_clockid0_1==1@|M:ClockId_0_1
    -ckid0_2:@|S:nCCAS@|E:WRD[7:0]@|F:@syn_dgcc_clockid0_2==1@|M:ClockId_0_2
    -ckid0_3:@|S:nCRAS@|E:RowA[9:0]@|F:@syn_dgcc_clockid0_3==1@|M:ClockId_0_3
    +ckid0_0:@|S:RCLK@|E:nRWE@|F:@syn_dgcc_clockid0_0==1@|M:ClockId_0_0
    +ckid0_1:@|S:PHI2@|E:RA11@|F:@syn_dgcc_clockid0_1==1@|M:ClockId_0_1
    +ckid0_2:@|S:nCCAS@|E:WRD[7:0]@|F:@syn_dgcc_clockid0_2==1@|M:ClockId_0_2
    +ckid0_3:@|S:nCRAS@|E:RowA[9:0]@|F:@syn_dgcc_clockid0_3==1@|M:ClockId_0_3
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/incr_compile.rpt.rptmap b/CPLD/LCMXO2-640HC/impl1/synlog/incr_compile.rpt.rptmap
    index dbb7528..37531b6 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/incr_compile.rpt.rptmap
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/incr_compile.rpt.rptmap
    @@ -1 +1 @@
    -./synwork/incr_compile.rpt,incr_compile.rpt,Incremental Compile Report
    +./synwork/incr_compile.rpt,incr_compile.rpt,Incremental Compile Report
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/layer0.tlg.rptmap b/CPLD/LCMXO2-640HC/impl1/synlog/layer0.tlg.rptmap
    index 3910cac..2caf2f3 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/layer0.tlg.rptmap
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/layer0.tlg.rptmap
    @@ -1 +1 @@
    -./synwork/layer0.tlg,layer0.tlg,An incremental, partial HDL compilation log file that may allow early access to errors or other messages.
    +./synwork/layer0.tlg,layer0.tlg,An incremental, partial HDL compilation log file that may allow early access to errors or other messages.
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_errors.txt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_errors.txt
    index 05efd23..3dd04db 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_errors.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_errors.txt
    @@ -1,2 +1,2 @@
    -@E: CS168 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v":72:15:72:15|Port WBCLKI does not exist
    -
    +@E:Internal Error in c_hdl.exe
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_notes.txt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_notes.txt
    index a4cc1cf..016b1a0 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_notes.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_compiler_notes.txt
    @@ -1,9 +1,9 @@
    -@N|Running in 64-bit mode
    -@N|Running in 64-bit mode
    -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work.
    -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work.
    -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work.
    -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work.
    -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work.
    -@N|Running in 64-bit mode
    -
    +@N|Running in 64-bit mode
    +@N|Running in 64-bit mode
    +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work.
    +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work.
    +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work.
    +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work.
    +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work.
    +@N|Running in 64-bit mode
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_notes.txt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_notes.txt
    index 76f0d50..9ba1f89 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_notes.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_notes.txt
    @@ -1,22 +1,23 @@
    -@N: MF916 |Option synthesis_strategy=base is enabled. 
    -@N: MF248 |Running in 64-bit mode.
    -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.)
    -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":161:4:161:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":148:4:148:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    -@N: FX493 |Applying initial value "0" on instance IS[0].
    -@N: FX493 |Applying initial value "0" on instance IS[1].
    -@N: FX493 |Applying initial value "0" on instance IS[2].
    -@N: FX493 |Applying initial value "0" on instance IS[3].
    -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":302:4:302:9|Replicating instance CmdSubmitted (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":161:4:161:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing.
    -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":119:4:119:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing.
    -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-lcmxo2.v":119:4:119:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    -@N: FX164 |The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute.  
    -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi
    -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF 
    -@N: MT615 |Found clock RCLK with period 16.00ns 
    -@N: MT615 |Found clock PHI2 with period 350.00ns 
    -@N: MT615 |Found clock nCRAS with period 350.00ns 
    -@N: MT615 |Found clock nCCAS with period 350.00ns 
    -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report.
    -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock.
    +@N: MF916 |Option synthesis_strategy=base is enabled. 
    +@N: MF248 |Running in 64-bit mode.
    +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.)
    +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":162:4:162:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":149:4:149:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    +@N: FX493 |Applying initial value "0" on instance IS[0].
    +@N: FX493 |Applying initial value "0" on instance IS[1].
    +@N: FX493 |Applying initial value "0" on instance IS[2].
    +@N: FX493 |Applying initial value "0" on instance IS[3].
    +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":303:4:303:9|Replicating instance CmdValid (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":303:4:303:9|Replicating instance CmdUFMShift (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":162:4:162:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing.
    +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":120:4:120:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing.
    +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-lcmxo2.v":120:4:120:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    +@N: FX164 |The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute.  
    +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi
    +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF 
    +@N: MT615 |Found clock RCLK with period 16.00ns 
    +@N: MT615 |Found clock PHI2 with period 350.00ns 
    +@N: MT615 |Found clock nCRAS with period 350.00ns 
    +@N: MT615 |Found clock nCCAS with period 350.00ns 
    +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report.
    +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock.
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_resourceusage.rpt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_resourceusage.rpt
    index be4701a..f383de6 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_resourceusage.rpt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_resourceusage.rpt
    @@ -1,28 +1,28 @@
    -Resource Usage Report
    -Part: lcmxo2_640hc-4
    -
    -Register bits: 109 of 640 (17%)
    -PIC Latch:       0
    -I/O cells:       63
    -
    -Details:
    -BB:             8
    -CCU2D:          10
    -EFB:            1
    -FD1P3AX:        27
    -FD1P3IX:        3
    -FD1S3AX:        51
    -FD1S3IX:        3
    -GSR:            1
    -IB:             25
    -IFS1P3DX:       9
    -INV:            8
    -OB:             30
    -OFS1P3BX:       4
    -OFS1P3DX:       11
    -OFS1P3JX:       1
    -ORCALUT4:       206
    -PFUMX:          1
    -PUR:            1
    -VHI:            2
    -VLO:            2
    +Resource Usage Report
    +Part: lcmxo2_640hc-4
    +
    +Register bits: 111 of 640 (17%)
    +PIC Latch:       0
    +I/O cells:       63
    +
    +Details:
    +BB:             8
    +CCU2D:          10
    +EFB:            1
    +FD1P3AX:        28
    +FD1P3IX:        2
    +FD1S3AX:        52
    +FD1S3IX:        4
    +GSR:            1
    +IB:             25
    +IFS1P3DX:       9
    +INV:            6
    +OB:             30
    +OFS1P3BX:       4
    +OFS1P3DX:       11
    +OFS1P3JX:       1
    +ORCALUT4:       199
    +PFUMX:          3
    +PUR:            1
    +VHI:            2
    +VLO:            2
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_warnings.txt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_warnings.txt
    index d66136f..dd3742e 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_warnings.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_fpga_mapper_warnings.txt
    @@ -1,7 +1,7 @@
    -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. 
    -@W: MT246 :"d:\onedrive\documents\github\ram2gs\cpld\lcmxo2-640hc\refb.v":78:8:78:16|Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results)
    -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.  
    -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.  
    -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.  
    -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.  
    -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.  
    +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. 
    +@W: MT246 :"y:\repos\ram2gs\cpld\lcmxo2-640hc\refb.v":78:8:78:16|Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results)
    +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.  
    +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.  
    +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.  
    +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.  
    +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.  
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_combined_clk.rpt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_combined_clk.rpt
    index 19787e5..8038930 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_combined_clk.rpt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_combined_clk.rpt
    @@ -1,24 +1,24 @@
    -
    -
    -@S |Clock Optimization Summary
    -
    -
    -
    -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    -
    -4 non-gated/non-generated clock tree(s) driving 105 clock pin(s) of sequential element(s)
    -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    -0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    -
    -=========================== Non-Gated/Non-Generated Clocks ============================
    -Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    ----------------------------------------------------------------------------------------
    -@KP:ckid0_0       RCLK                port                   65         nRWE           
    -@KP:ckid0_1       PHI2                port                   18         RA11           
    -@KP:ckid0_2       nCCAS               port                   8          WRD[7:0]       
    -@KP:ckid0_3       nCRAS               port                   14         RowA[9:0]      
    -=======================================================================================
    -
    -
    -##### END OF CLOCK OPTIMIZATION REPORT ######
    -
    +
    +
    +@S |Clock Optimization Summary
    +
    +
    +
    +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    +
    +4 non-gated/non-generated clock tree(s) driving 106 clock pin(s) of sequential element(s)
    +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    +0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    +
    +=========================== Non-Gated/Non-Generated Clocks ============================
    +Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    +---------------------------------------------------------------------------------------
    +@KP:ckid0_0       RCLK                port                   65         nRWE           
    +@KP:ckid0_1       PHI2                port                   19         RA11           
    +@KP:ckid0_2       nCCAS               port                   8          WRD[7:0]       
    +@KP:ckid0_3       nCRAS               port                   14         RowA[9:0]      
    +=======================================================================================
    +
    +
    +##### END OF CLOCK OPTIMIZATION REPORT ######
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_notes.txt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_notes.txt
    index dad55c4..64c9200 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_notes.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_notes.txt
    @@ -1,23 +1,24 @@
    -@N: MF916 |Option synthesis_strategy=base is enabled. 
    -@N: MF248 |Running in 64-bit mode.
    -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.)
    -@N: FX493 |Applying initial value "0" on instance InitReady.
    -@N: FX493 |Applying initial value "0" on instance Ready.
    -@N: FX493 |Applying initial value "0" on instance RCKE.
    -@N: FX493 |Applying initial value "1" on instance nRCAS.
    -@N: FX493 |Applying initial value "0" on instance CmdLEDEN.
    -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN.
    -@N: FX493 |Applying initial value "1" on instance nRCS.
    -@N: FX493 |Applying initial value "0" on instance LEDEN.
    -@N: FX493 |Applying initial value "0" on instance n8MEGEN.
    -@N: FX493 |Applying initial value "1" on instance nRRAS.
    -@N: FX493 |Applying initial value "0" on instance CMDUFMWrite.
    -@N: FX493 |Applying initial value "0" on instance CmdUFMData.
    -@N: FX493 |Applying initial value "0" on instance C1Submitted.
    -@N: FX493 |Applying initial value "0" on instance CmdSubmitted.
    -@N: FX493 |Applying initial value "0" on instance ADSubmitted.
    -@N: FX493 |Applying initial value "0" on instance XOR8MEG.
    -@N: FX493 |Applying initial value "0" on instance CmdEnable.
    -@N: FX493 |Applying initial value "1" on instance nRWE.
    -@N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS 
    -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized.
    +@N: MF916 |Option synthesis_strategy=base is enabled. 
    +@N: MF248 |Running in 64-bit mode.
    +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.)
    +@N: FX493 |Applying initial value "0" on instance InitReady.
    +@N: FX493 |Applying initial value "0" on instance Ready.
    +@N: FX493 |Applying initial value "0" on instance RCKE.
    +@N: FX493 |Applying initial value "0" on instance LEDEN.
    +@N: FX493 |Applying initial value "0" on instance n8MEGEN.
    +@N: FX493 |Applying initial value "1" on instance nRCAS.
    +@N: FX493 |Applying initial value "0" on instance CmdLEDEN.
    +@N: FX493 |Applying initial value "0" on instance CmdUFMShift.
    +@N: FX493 |Applying initial value "0" on instance CmdUFMWrite.
    +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN.
    +@N: FX493 |Applying initial value "0" on instance CmdValid.
    +@N: FX493 |Applying initial value "1" on instance nRCS.
    +@N: FX493 |Applying initial value "1" on instance nRRAS.
    +@N: FX493 |Applying initial value "0" on instance CmdUFMData.
    +@N: FX493 |Applying initial value "0" on instance C1Submitted.
    +@N: FX493 |Applying initial value "0" on instance ADSubmitted.
    +@N: FX493 |Applying initial value "0" on instance XOR8MEG.
    +@N: FX493 |Applying initial value "0" on instance CmdEnable.
    +@N: FX493 |Applying initial value "1" on instance nRWE.
    +@N: FX1184 |Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS 
    +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized.
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_warnings.txt b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_warnings.txt
    index 81e8ed8..860c24f 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_warnings.txt
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/report/LCMXO2_640HC_impl1_premap_warnings.txt
    @@ -1 +1 @@
    -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. 
    +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. 
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/report/metrics.db b/CPLD/LCMXO2-640HC/impl1/synlog/report/metrics.db
    index 4c612030f040a26847a3fee120b4c05e5efe5e4c..01f1037a06b54b8c49f69e8dcf6548481c308670 100644
    GIT binary patch
    delta 2587
    zcmeH}+iw(A9LHzQ?CkE`yQST2yS=TYm8xBL_R`J*c3Z&8MJxpbu}Hg=T`2Ujy&xb+
    zJNsf{YM>kw6WSC+)ARvsa0R1)pbsRPXhK4aaw`yhQKMkQ#6XN^ezSlk%zxlKOtPQP
    z_xye{=Opvn;p=Gl9J9a3?wF(~N**n*M~=zk?T3{dmi$J_9df5+<*srE=j5zdWG`cX
    zU{A0^Y(2}^F4_*+HrOhdKbW)3US=Vahi1?O>Of)oZ~6?KrdQFW)K%(;QQ_egZNihD
    zx%9L6hNppEgg3gw^g{fO+fOgR=iPJZMofER?r?)ss&GltGH$SUFy7Uc?CeSmsMzBv
    zM>R1>*F%+ONZL(@ae=3ro)5L=ft?GrqQo}P8t^*cwZJ35!@xtpgTPg@cfh*$(~$N<
    z@0y3bGjaFZTr+t`Nf*goY?8>mlnYbJd1XXdsT9c9#B?_%XftB!B3AdHVw-R|)VwRQ2wGu8Xkz*wkDc#sVF>jEJ)7|AA+sm<}W?szJd=zk(j-nay^{fT&&QI>=?
    z^+3$sk|ys=$`n2*LmJiwBY{A+OsYRYid3e_4v-2YcE5t^S8Fx$X#dGQo)+*(Yz|8E
    z_(ZG{r8#^#_9UOAlo=(de4@OSaWw>$q1ifeN9R7)k|+qx6oz5TmXE$mmrM(^bd
    zNYmN6{n44QrUf+>GUUOkbtlBgHasj9450ks;jWx0%e>AFQejWQ5F}qWG7|E!8Kl+W-;Q0fMg5Tw{`!MHCK{>5
    zjngT!Hae}9ch@u=_bd)!bHHBBiOlyRk1DVJ}{r{&#pgY1&7
    zNMlmFq>A^%Q{u4LA{Gmmg~LLhFrUB6pW{dQ^}Lt6&K>9WaPv6IdBHjEY;~49ZaYpp
    zb~_pzF8dYxn7!SuviI0i>@eHH7TYe{4%_-{^O?KMIcAh;WeU+%bPTz6pa}gJ{Uwd*
    z7CN8$k(wTD^rDcC<0W}`yW59!!I&OM=Z#^5bPlGFjvGs}+F@$DsoAXdm1Q+!YJ`)8
    zWHoKfPoz^Y#D-uj?KKSjItC~dHRk*S8i2+r
    
    delta 569
    zcmZoTz})bFX@V3R6C(oy1NTG)J0>Q^jR_0*1$cpc9kv7p{{8$d{Gt2`lLZ6<7B;eN
    zPT01DQ-X_k4+H-({vQ4yehI#Nd`tMU_zZZz@$T8IXt02H^B!F;z>X{jtB9s;sr2-9AbyWu&2~-9%
    z(ooOB#1dVdn#<&!c4{2z&S2HDlONhk3MA*}7G&n67O6NvY?{2^PJ$yRGcP-}NY!!j
    zZF_C5EC&7u{JZ$4@@H)p42a^_)l}i&Ra6uNdbJ=mF*`RkH@~RT(9%fH)X3b}#KhML
    z$*aoBllS;5Yp5uJbpV}*q{G}q&)mY)(A3P=3E~Sm#m$fWUrRBXZa$Z#pvq)ywE07S
    z6Zhnov&<&1nC-}Fs%K(uwE5la?M%$(7ABKd%+q5wHZ+}lbKVx9(#ievbyzG7^^7*}
    zpP#|QWMnv5b4?zrnVum~#hf(-AQgOT?=zVhPkz7l7K??RnZe|<>k64IER7~Rt}lR?
    JJ$c)DF92h*uY~{r
    
    diff --git a/CPLD/LCMXO2-640HC/impl1/synlog/syntax_constraint_check.rpt.rptmap b/CPLD/LCMXO2-640HC/impl1/synlog/syntax_constraint_check.rpt.rptmap
    index 4359284..3bce7fa 100644
    --- a/CPLD/LCMXO2-640HC/impl1/synlog/syntax_constraint_check.rpt.rptmap
    +++ b/CPLD/LCMXO2-640HC/impl1/synlog/syntax_constraint_check.rpt.rptmap
    @@ -1 +1 @@
    -./LCMXO2_640HC_impl1_scck.rpt,syntax_constraint_check.rpt,Syntax Constraint Check Report
    +./LCMXO2_640HC_impl1_scck.rpt,syntax_constraint_check.rpt,Syntax Constraint Check Report
    diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1.plg b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1.plg
    index 591b2fe..cbbec1a 100644
    --- a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1.plg
    +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1.plg
    @@ -1,29 +1,29 @@
    -@P:  Worst Slack : -1.832
    -@P:  PHI2 - Estimated Frequency : 1.0 MHz
    -@P:  PHI2 - Requested Frequency : 2.9 MHz
    -@P:  PHI2 - Estimated Period : 991.270
    -@P:  PHI2 - Requested Period : 350.000
    -@P:  PHI2 - Slack : -1.832
    -@P:  RCLK - Estimated Frequency : 22.1 MHz
    -@P:  RCLK - Requested Frequency : 62.5 MHz
    -@P:  RCLK - Estimated Period : 45.315
    -@P:  RCLK - Requested Period : 16.000
    -@P:  RCLK - Slack : -0.784
    -@P:  nCCAS - Estimated Frequency : NA
    -@P:  nCCAS - Requested Frequency : 2.9 MHz
    -@P:  nCCAS - Estimated Period : NA
    -@P:  nCCAS - Requested Period : 350.000
    -@P:  nCCAS - Slack : NA
    -@P:  nCRAS - Estimated Frequency : 1.0 MHz
    -@P:  nCRAS - Requested Frequency : 2.9 MHz
    -@P:  nCRAS - Estimated Period : 953.610
    -@P:  nCRAS - Requested Period : 350.000
    -@P:  nCRAS - Slack : -1.725
    -@P:  System - Estimated Frequency : NA
    -@P:  System - Requested Frequency : 100.0 MHz
    -@P:  System - Estimated Period : NA
    -@P:  System - Requested Period : 10.000
    -@P:  System - Slack : 15.472
    -@P:  Total Area : 214.0
    -@P:  Total Area : 0.0
    -@P:  CPU Time : 0h:00m:03s
    +@P:  Worst Slack : -1.828
    +@P:  PHI2 - Estimated Frequency : 1.0 MHz
    +@P:  PHI2 - Requested Frequency : 2.9 MHz
    +@P:  PHI2 - Estimated Period : 989.870
    +@P:  PHI2 - Requested Period : 350.000
    +@P:  PHI2 - Slack : -1.828
    +@P:  RCLK - Estimated Frequency : 22.1 MHz
    +@P:  RCLK - Requested Frequency : 62.5 MHz
    +@P:  RCLK - Estimated Period : 45.251
    +@P:  RCLK - Requested Period : 16.000
    +@P:  RCLK - Slack : -0.876
    +@P:  nCCAS - Estimated Frequency : NA
    +@P:  nCCAS - Requested Frequency : 2.9 MHz
    +@P:  nCCAS - Estimated Period : NA
    +@P:  nCCAS - Requested Period : 350.000
    +@P:  nCCAS - Slack : NA
    +@P:  nCRAS - Estimated Frequency : 1.0 MHz
    +@P:  nCRAS - Requested Frequency : 2.9 MHz
    +@P:  nCRAS - Estimated Period : 953.610
    +@P:  nCRAS - Requested Period : 350.000
    +@P:  nCRAS - Slack : -1.725
    +@P:  System - Estimated Frequency : NA
    +@P:  System - Requested Frequency : 100.0 MHz
    +@P:  System - Estimated Period : NA
    +@P:  System - Requested Period : 10.000
    +@P:  System - Slack : 13.991
    +@P:  Total Area : 205.0
    +@P:  Total Area : 0.0
    +@P:  CPU Time : 0h:00m:03s
    diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_srr.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_srr.htm
    new file mode 100644
    index 0000000..3c1cdbe
    --- /dev/null
    +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_srr.htm
    @@ -0,0 +1,906 @@
    +
    +
    +# Sat Aug 19 06:58:28 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB)
    +
    +
    +
    +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 179MB peak: 179MB)
    +
    +
    +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB)
    +
    +@N:MO231 : ram2gs-lcmxo2.v(162) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    +@N:MO231 : ram2gs-lcmxo2.v(149) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    +@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    +
    +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 185MB peak: 185MB)
    +
    +
    +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB)
    +
    +
    +Available hyper_sources - for debug and ip models
    +	None Found
    +
    +
    +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB)
    +
    +
    +Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 195MB peak: 195MB)
    +
    +Pass		 CPU time		Worst Slack		Luts / Registers
    +------------------------------------------------------------
    +   1		0h:00m:01s		    -2.34ns		 186 /       106
    +   2		0h:00m:01s		    -2.34ns		 202 /       106
    +   3		0h:00m:01s		    -2.34ns		 198 /       106
    +@N:FX271 : ram2gs-lcmxo2.v(303) | Replicating instance CmdValid (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(303) | Replicating instance CmdUFMShift (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(162) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(120) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(120) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    +Timing driven replication report
    +Added 5 Registers via timing driven replication
    +Added 3 LUTs via timing driven replication
    +
    +   4		0h:00m:01s		    -1.83ns		 202 /       111
    +
    +
    +   5		0h:00m:01s		    -1.83ns		 203 /       111
    +   6		0h:00m:01s		    -1.83ns		 204 /       111
    +   7		0h:00m:01s		    -1.83ns		 204 /       111
    +
    +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 191MB peak: 196MB)
    +
    +@N:FX164 :  | The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute.   
    +
    +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 196MB)
    +
    +
    +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 156MB peak: 196MB)
    +
    +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm
    +
    +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 196MB)
    +
    +Writing EDIF Netlist and constraint files
    +@N:FX1056 :  | Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi 
    +@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    +
    +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 197MB peak: 197MB)
    +
    +
    +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 197MB peak: 197MB)
    +
    +
    +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 197MB)
    +
    +@W:MT246 : refb.v(78) | Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results)
    +@N:MT615 :  | Found clock RCLK with period 16.00ns  
    +@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    +@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    +@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    +
    +
    +##### START OF TIMING REPORT #####[
    +# Timing report written on Sat Aug 19 06:58:31 2023
    +#
    +
    +
    +Top view:               RAM2GS
    +Requested Frequency:    2.9 MHz
    +Wire load mode:         top
    +Paths requested:        5
    +Constraint File(s):    Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +                       
    +@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    +
    +@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    +
    +
    +
    +Performance Summary
    +*******************
    +
    +
    +Worst slack in design: -1.828
    +
    +                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    +Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    +-------------------------------------------------------------------------------------------------------------------
    +PHI2               2.9 MHz       1.0 MHz       350.000       989.870       -1.828     declared     default_clkgroup
    +RCLK               62.5 MHz      22.1 MHz      16.000        45.251        -0.784     declared     default_clkgroup
    +nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    +nCRAS              2.9 MHz       1.0 MHz       350.000       953.610       -1.725     declared     default_clkgroup
    +System             100.0 MHz     NA            10.000        NA            14.440     system       system_clkgroup 
    +===================================================================================================================
    +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    +
    +
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    +
    +
    +
    +Clock Relationships
    +*******************
    +
    +Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    +---------------------------------------------------------------------------------------------------------------
    +Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    +---------------------------------------------------------------------------------------------------------------
    +System    RCLK    |  16.000      14.440  |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      System  |  16.000      14.956  |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      RCLK    |  16.000      9.406   |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      PHI2    |  2.000       0.216   |  No paths    -        |  1.000       -0.636   |  No paths    -      
    +RCLK      nCRAS   |  No paths    -       |  No paths    -        |  1.000       -0.784   |  No paths    -      
    +PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -1.828 
    +PHI2      PHI2    |  No paths    -       |  350.000     347.148  |  175.000     169.041  |  175.000     173.428
    +nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -1.725 
    +===============================================================================================================
    + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    +       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    +
    +
    +
    +Interface Information 
    +*********************
    +
    +No IO constraint found
    +
    +
    +
    +====================================
    +Detailed Report for Clock: PHI2
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +                     Starting                                                Arrival            
    +Instance             Reference     Type         Pin     Net                  Time        Slack  
    +                     Clock                                                                      
    +------------------------------------------------------------------------------------------------
    +CmdUFMShift_fast     PHI2          FD1P3AX      Q       CmdUFMShift_fast     1.044       -1.828 
    +CmdValid_fast        PHI2          FD1S3AX      Q       CmdValid_fast        1.044       -1.828 
    +CmdValid             PHI2          FD1S3AX      Q       CmdValid             1.108       -1.725 
    +CmdUFMShift          PHI2          FD1P3AX      Q       CmdUFMShift          1.108       -1.196 
    +CmdUFMWrite          PHI2          FD1P3AX      Q       CmdUFMWrite          1.044       -1.132 
    +CmdLEDEN             PHI2          FD1P3AX      Q       CmdLEDEN             1.044       -0.572 
    +Cmdn8MEGEN           PHI2          FD1P3AX      Q       Cmdn8MEGEN           1.044       -0.572 
    +CmdUFMData           PHI2          FD1P3AX      Q       CmdUFMData           0.972       -0.500 
    +Bank_0io[1]          PHI2          IFS1P3DX     Q       Bank[1]              0.972       169.041
    +Bank_0io[2]          PHI2          IFS1P3DX     Q       Bank[2]              0.972       169.041
    +================================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                               Required           
    +Instance       Reference     Type        Pin     Net                  Time         Slack 
    +               Clock                                                                     
    +-----------------------------------------------------------------------------------------
    +wb_adr[0]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[1]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[2]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[3]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[4]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[5]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[6]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_adr[7]      PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_dati[0]     PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +wb_dati[1]     PHI2          FD1P3AX     SP      un1_wb_rst14_i_0     0.528        -1.828
    +=========================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[0] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i_0              Net          -        -       -         -           17        
    +wb_adr[0]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdValid_fast / Q
    +    Ending point:                            wb_adr[0] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdValid_fast                 FD1S3AX      Q        Out     1.044     1.044 r     -         
    +CmdValid_fast                 Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     B        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i_0              Net          -        -       -         -           17        
    +wb_adr[0]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[7] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i_0              Net          -        -       -         -           17        
    +wb_adr[7]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 4: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[6] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i_0              Net          -        -       -         -           17        
    +wb_adr[6]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 5: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[5] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i_0              Net          -        -       -         -           17        
    +wb_adr[5]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: RCLK
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +               Starting                                         Arrival           
    +Instance       Reference     Type        Pin     Net            Time        Slack 
    +               Clock                                                              
    +----------------------------------------------------------------------------------
    +Ready_fast     RCLK          FD1S3AX     Q       Ready_fast     1.256       -0.784
    +LEDEN          RCLK          FD1P3AX     Q       LEDEN          1.108       -0.636
    +n8MEGEN        RCLK          FD1P3AX     Q       n8MEGEN        1.044       -0.572
    +InitReady      RCLK          FD1S3AX     Q       InitReady      1.314       9.406 
    +FS[16]         RCLK          FD1S3AX     Q       FS[16]         1.180       9.540 
    +FS[17]         RCLK          FD1S3AX     Q       FS[17]         1.180       9.540 
    +FS[15]         RCLK          FD1S3AX     Q       FS[15]         1.148       9.572 
    +FS[10]         RCLK          FD1S3AX     Q       FS[10]         1.268       9.713 
    +FS[12]         RCLK          FD1S3AX     Q       FS[12]         1.268       9.713 
    +FS[9]          RCLK          FD1S3AX     Q       FS[9]          1.260       9.721 
    +==================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                          Required           
    +Instance       Reference     Type         Pin     Net            Time         Slack 
    +               Clock                                                                
    +------------------------------------------------------------------------------------
    +RBA_0io[0]     RCLK          OFS1P3DX     D       RBAd_0[0]      1.089        -0.784
    +RBA_0io[1]     RCLK          OFS1P3DX     D       RBAd_0[1]      1.089        -0.784
    +RowA[0]        RCLK          FD1S3AX      D       RowAd_0[0]     1.089        -0.784
    +RowA[1]        RCLK          FD1S3AX      D       RowAd_0[1]     1.089        -0.784
    +RowA[2]        RCLK          FD1S3AX      D       RowAd_0[2]     1.089        -0.784
    +RowA[3]        RCLK          FD1S3AX      D       RowAd_0[3]     1.089        -0.784
    +RowA[4]        RCLK          FD1S3AX      D       RowAd_0[4]     1.089        -0.784
    +RowA[5]        RCLK          FD1S3AX      D       RowAd_0[5]     1.089        -0.784
    +RowA[6]        RCLK          FD1S3AX      D       RowAd_0[6]     1.089        -0.784
    +RowA[7]        RCLK          FD1S3AX      D       RowAd_0[7]     1.089        -0.784
    +====================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RBA_0io[0] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RBAd[0]            ORCALUT4     B        In      0.000     1.256 r     -         
    +RBAd[0]            ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RBAd_0[0]          Net          -        -       -         -           1         
    +RBA_0io[0]         OFS1P3DX     D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RowA[9] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RowAd[9]           ORCALUT4     B        In      0.000     1.256 r     -         
    +RowAd[9]           ORCALUT4     Z        Out     0.617     1.873 f     -         
    +RowAd_0[9]         Net          -        -       -         -           1         
    +RowA[9]            FD1S3AX      D        In      0.000     1.873 f     -         
    +=================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RowA[8] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RowAd[8]           ORCALUT4     B        In      0.000     1.256 r     -         
    +RowAd[8]           ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RowAd_0[8]         Net          -        -       -         -           1         
    +RowA[8]            FD1S3AX      D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 4: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RBA_0io[1] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RBAd[1]            ORCALUT4     B        In      0.000     1.256 r     -         
    +RBAd[1]            ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RBAd_0[1]          Net          -        -       -         -           1         
    +RBA_0io[1]         OFS1P3DX     D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 5: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RowA[6] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RowAd[6]           ORCALUT4     B        In      0.000     1.256 r     -         
    +RowAd[6]           ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RowAd_0[6]         Net          -        -       -         -           1         
    +RowA[6]            FD1S3AX      D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: nCRAS
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +              Starting                                        Arrival           
    +Instance      Reference     Type        Pin     Net           Time        Slack 
    +              Clock                                                             
    +--------------------------------------------------------------------------------
    +CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.108       -1.725
    +CBR           nCRAS         FD1S3AX     Q       CBR           1.108       -1.653
    +FWEr          nCRAS         FD1S3AX     Q       FWEr          1.108       -1.653
    +FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     0.972       -1.589
    +================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                              Required           
    +Instance       Reference     Type         Pin     Net                Time         Slack 
    +               Clock                                                                    
    +----------------------------------------------------------------------------------------
    +nRCAS_0io      nCRAS         OFS1P3BX     D       N_74_i             1.089        -1.725
    +nRWE_0io       nCRAS         OFS1P3BX     D       N_76_i             1.089        -1.725
    +RCKEEN         nCRAS         FD1S3AX      D       RCKEEN_8           1.089        -1.653
    +nRCS_0io       nCRAS         OFS1P3BX     D       N_242_i            1.089        -1.653
    +nRowColSel     nCRAS         FD1S3IX      D       nRowColSel_0_0     1.089        -1.653
    +========================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.813
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.725
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRCAS_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                         Pin      Pin               Arrival     No. of    
    +Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------------
    +CBR_fast                  FD1S3AX      Q        Out     1.108     1.108 r     -         
    +CBR_fast                  Net          -        -       -         -           3         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.108 r     -         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.197 r     -         
    +nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    +nRCAS_0io_RNO             ORCALUT4     A        In      0.000     2.197 r     -         
    +nRCAS_0io_RNO             ORCALUT4     Z        Out     0.617     2.813 f     -         
    +N_74_i                    Net          -        -       -         -           1         
    +nRCAS_0io                 OFS1P3BX     D        In      0.000     2.813 f     -         
    +========================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.813
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.725
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRWE_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                         Pin      Pin               Arrival     No. of    
    +Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------------
    +CBR_fast                  FD1S3AX      Q        Out     1.108     1.108 r     -         
    +CBR_fast                  Net          -        -       -         -           3         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.108 r     -         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.197 r     -         
    +nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    +nRWE_0io_RNO              ORCALUT4     A        In      0.000     2.197 r     -         
    +nRWE_0io_RNO              ORCALUT4     Z        Out     0.617     2.813 r     -         
    +N_76_i                    Net          -        -       -         -           1         
    +nRWE_0io                  OFS1P3BX     D        In      0.000     2.813 r     -         
    +========================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.741
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.653
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRCAS_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                   Pin      Pin               Arrival     No. of    
    +Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------
    +CBR                 FD1S3AX      Q        Out     1.108     1.108 r     -         
    +CBR                 Net          -        -       -         -           3         
    +nRCAS_0io_RNO_0     ORCALUT4     A        In      0.000     1.108 r     -         
    +nRCAS_0io_RNO_0     ORCALUT4     Z        Out     1.017     2.125 f     -         
    +nRCAS_0io_RNO_0     Net          -        -       -         -           1         
    +nRCAS_0io_RNO       ORCALUT4     B        In      0.000     2.125 f     -         
    +nRCAS_0io_RNO       ORCALUT4     Z        Out     0.617     2.741 r     -         
    +N_74_i              Net          -        -       -         -           1         
    +nRCAS_0io           OFS1P3BX     D        In      0.000     2.741 r     -         
    +==================================================================================
    +
    +
    +Path information for path number 4: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.741
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.653
    +
    +    Number of logic level(s):                2
    +    Starting point:                          FWEr / Q
    +    Ending point:                            RCKEEN / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +FWEr               FD1S3AX      Q        Out     1.108     1.108 r     -         
    +FWEr               Net          -        -       -         -           3         
    +RCKEEN_8_u_1_0     ORCALUT4     C        In      0.000     1.108 r     -         
    +RCKEEN_8_u_1_0     ORCALUT4     Z        Out     1.017     2.125 r     -         
    +RCKEEN_8_u_1       Net          -        -       -         -           1         
    +RCKEEN_8_u         ORCALUT4     C        In      0.000     2.125 r     -         
    +RCKEEN_8_u         ORCALUT4     Z        Out     0.617     2.741 r     -         
    +RCKEEN_8           Net          -        -       -         -           1         
    +RCKEEN             FD1S3AX      D        In      0.000     2.741 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 5: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.741
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.653
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRCS_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +CBR_fast           FD1S3AX      Q        Out     1.108     1.108 r     -         
    +CBR_fast           Net          -        -       -         -           3         
    +nRCS_0io_RNO_0     ORCALUT4     A        In      0.000     1.108 r     -         
    +nRCS_0io_RNO_0     ORCALUT4     Z        Out     1.017     2.125 f     -         
    +N_242_i_1_0        Net          -        -       -         -           1         
    +nRCS_0io_RNO       ORCALUT4     C        In      0.000     2.125 f     -         
    +nRCS_0io_RNO       ORCALUT4     Z        Out     0.617     2.741 r     -         
    +N_242_i            Net          -        -       -         -           1         
    +nRCS_0io           OFS1P3BX     D        In      0.000     2.741 r     -         
    +=================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: System
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +                     Starting                                          Arrival           
    +Instance             Reference     Type     Pin         Net            Time        Slack 
    +                     Clock                                                               
    +-----------------------------------------------------------------------------------------
    +ufmefb.EFBInst_0     System        EFB      WBACKO      wb_ack         0.000       14.440
    +ufmefb.EFBInst_0     System        EFB      WBDATO0     wb_dato[0]     0.000       15.472
    +=========================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +             Starting                                              Required           
    +Instance     Reference     Type        Pin     Net                 Time         Slack 
    +             Clock                                                                    
    +--------------------------------------------------------------------------------------
    +LEDEN        System        FD1P3AX     SP      un1_FS_32_i_0_0     15.528       14.440
    +n8MEGEN      System        FD1P3AX     SP      un1_FS_32_i_0_0     15.528       14.440
    +n8MEGEN      System        FD1P3AX     D       n8MEGEN_6_i_m2      16.089       15.472
    +======================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      16.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         15.528
    +
    +    - Propagation time:                      1.089
    +    - Clock delay at starting point:         0.000 (ideal)
    +    - Estimated clock delay at start point:  -0.000
    +    = Slack (non-critical) :                 14.440
    +
    +    Number of logic level(s):                1
    +    Starting point:                          ufmefb.EFBInst_0 / WBACKO
    +    Ending point:                            LEDEN / SP
    +    The start point is clocked by            System [rising]
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                    Pin        Pin               Arrival     No. of    
    +Name                 Type         Name       Dir     Delay     Time        Fan Out(s)
    +-------------------------------------------------------------------------------------
    +ufmefb.EFBInst_0     EFB          WBACKO     Out     0.000     0.000 r     -         
    +wb_ack               Net          -          -       -         -           1         
    +un1_FS_32_i_0_0      ORCALUT4     D          In      0.000     0.000 r     -         
    +un1_FS_32_i_0_0      ORCALUT4     Z          Out     1.089     1.089 r     -         
    +un1_FS_32_i_0_0      Net          -          -       -         -           2         
    +LEDEN                FD1P3AX      SP         In      0.000     1.089 r     -         
    +=====================================================================================
    +
    +
    +
    +##### END OF TIMING REPORT #####]
    +
    +Timing exceptions that could not be applied
    +
    +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 197MB)
    +
    +
    +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 197MB)
    +
    +---------------------------------------
    +Resource Usage Report
    +Part: lcmxo2_640hc-4
    +
    +Register bits: 111 of 640 (17%)
    +PIC Latch:       0
    +I/O cells:       63
    +
    +
    +Details:
    +BB:             8
    +CCU2D:          10
    +EFB:            1
    +FD1P3AX:        28
    +FD1P3IX:        2
    +FD1S3AX:        52
    +FD1S3IX:        4
    +GSR:            1
    +IB:             25
    +IFS1P3DX:       9
    +INV:            8
    +OB:             30
    +OFS1P3BX:       4
    +OFS1P3DX:       11
    +OFS1P3JX:       1
    +ORCALUT4:       195
    +PFUMX:          1
    +PUR:            1
    +VHI:            2
    +VLO:            2
    +Mapper successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 77MB peak: 197MB)
    +
    +Process took 0h:00m:03s realtime, 0h:00m:03s cputime
    +# Sat Aug 19 06:58:32 2023
    +
    +###########################################################]
    +
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_toc.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_toc.htm new file mode 100644 index 0000000..097ee43 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_fpga_mapper_toc.htm @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_srr.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_srr.htm index 6e98078..06d8f56 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_srr.htm +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_srr.htm @@ -1,32 +1,32 @@ -
    -
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 91MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:58:39 2023
    -
    -###########################################################]
    -
    -
    +
    +
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +File Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 99MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 06:58:26 2023
    +
    +###########################################################]
    +
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_toc.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_toc.htm index f7a9a65..78bc7ac 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_toc.htm +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_multi_srs_gen_toc.htm @@ -1,25 +1,25 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_srr.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_srr.htm new file mode 100644 index 0000000..5d018f5 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_srr.htm @@ -0,0 +1,167 @@ +
    +
    +# Sat Aug 19 06:58:27 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +
    +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 131MB peak: 139MB)
    +
    +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +Linked File:  LCMXO2_640HC_impl1_scck.rpt
    +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt"
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB)
    +
    +@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance Ready. 
    +@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    +@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMShift. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMWrite. 
    +@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdValid. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    +@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMData. 
    +@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    +@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    +@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    +@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    +
    +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +@N:FX1184 :  | Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS  
    +
    +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +
    +Clock Summary
    +******************
    +
    +          Start      Requested     Requested     Clock        Clock                Clock
    +Level     Clock      Frequency     Period        Type         Group                Load 
    +----------------------------------------------------------------------------------------
    +0 -       RCLK       62.5 MHz      16.000        declared     default_clkgroup     65   
    +                                                                                        
    +0 -       PHI2       2.9 MHz       350.000       declared     default_clkgroup     19   
    +                                                                                        
    +0 -       nCRAS      2.9 MHz       350.000       declared     default_clkgroup     14   
    +                                                                                        
    +0 -       nCCAS      2.9 MHz       350.000       declared     default_clkgroup     8    
    +                                                                                        
    +0 -       System     100.0 MHz     10.000        system       system_clkgroup      0    
    +========================================================================================
    +
    +
    +
    +Clock Load Summary
    +***********************
    +
    +           Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    +Clock      Load      Pin             Seq Example     Seq Example       Comb Example      
    +-----------------------------------------------------------------------------------------
    +RCLK       65        RCLK(port)      CASr2.C         -                 -                 
    +                                                                                         
    +PHI2       19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    +                                                                                         
    +nCRAS      14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    +                                                                                         
    +nCCAS      8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    +                                                                                         
    +System     0         -               -               -                 -                 
    +=========================================================================================
    +
    +ICG Latch Removal Summary:
    +Number of ICG latches removed: 0
    +Number of ICG latches not removed:	0
    +For details review file gcc_ICG_report.rpt
    +
    +
    +@S |Clock Optimization Summary
    +
    +
    +
    +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    +
    +4 non-gated/non-generated clock tree(s) driving 106 clock pin(s) of sequential element(s)
    +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    +0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    +
    +=========================== Non-Gated/Non-Generated Clocks ============================
    +Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    +---------------------------------------------------------------------------------------
    +ClockId_0_0       RCLK                port                   65         nRWE           
    +ClockId_0_1       PHI2                port                   19         RA11           
    +ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    +ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    +=======================================================================================
    +
    +
    +##### END OF CLOCK OPTIMIZATION REPORT ######
    +
    +@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    +Finished Pre Mapping Phase.
    +
    +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 183MB peak: 183MB)
    +
    +Pre-mapping successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +# Sat Aug 19 06:58:28 2023
    +
    +###########################################################]
    +
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_toc.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_toc.htm new file mode 100644 index 0000000..ac31184 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_premap_toc.htm @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm index 741590b..440572e 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_srr.htm @@ -1,1237 +1,1256 @@ -
    -
    -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021
    -#install: C:\lscc\diamond\3.12\synpbase
    -#OS: Windows 8 6.2
    -#Hostname: ZANEPC
    -
    -# Wed Aug 16 20:59:29 2023
    -
    -#Implementation: impl1
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work)
    -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work)
    -Verilog syntax check successful!
    -
    -Compiler output is up to date.  No re-compile necessary
    -
    -Selecting top level module RAM2GS
    -@N:CG364 : machxo2.v(1120) | Synthesizing module VHI in library work.
    -Running optimization stage 1 on VHI .......
    -Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N:CG364 : machxo2.v(1124) | Synthesizing module VLO in library work.
    -Running optimization stage 1 on VLO .......
    -Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N:CG364 : machxo2.v(1800) | Synthesizing module EFB in library work.
    -Running optimization stage 1 on EFB .......
    -Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N:CG364 : REFB.v(8) | Synthesizing module REFB in library work.
    -Running optimization stage 1 on REFB .......
    -Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB)
    -@N:CG364 : RAM2GS-LCMXO2.v(1) | Synthesizing module RAM2GS in library work.
    -Running optimization stage 1 on RAM2GS .......
    -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 94MB peak: 94MB)
    -Running optimization stage 2 on RAM2GS .......
    -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on REFB .......
    -Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on EFB .......
    -Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on VLO .......
    -Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -Running optimization stage 2 on VHI .......
    -Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB)
    -
    -For a summary of runtime and memory usage per design unit, please see file:
    -==========================================================
    -Linked File:  layer0.rt.csv
    -
    -
    -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:59:29 2023
    -
    -###########################################################]
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -
    -Linker output is up to date. No re-linking necessary
    -
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 87MB peak: 87MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:59:29 2023
    -
    -###########################################################]
    -
    -For a summary of runtime and memory usage for all design units, please see file:
    -==========================================================
    -Linked File:  LCMXO2_640HC_impl1_comp.rt.csv
    -
    -@END
    -
    -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 20:59:29 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -
    -@A: :  | multi_srs_gen output is up to date. No run necessary. 
    -To force a re-synthesis, select [Resynthesize All] in menu [Run].
    -Click link to view previous log file.
    -Multi-srs Generator Report
    -Linked File:  LCMXO2_640HC_impl1_multi_srs_gen.srr
    -
    -
    -
    -
    -Premap Report
    -
    -
    -
    -
    -
    -# Wed Aug 16 20:59:30 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB)
    -
    -
    -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB)
    -
    -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -Linked File:  LCMXO2_640HC_impl1_scck.rpt
    -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt"
    -@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    -@N:MF248 :  | Running in 64-bit mode. 
    -@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 139MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 139MB peak: 141MB)
    -
    -@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    -@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    -@N:FX493 :  | Applying initial value "0" on instance Ready. 
    -@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    -@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    -@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    -@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    -@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    -@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    -@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    -@N:FX493 :  | Applying initial value "0" on instance CMDUFMWrite. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMData. 
    -@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdSubmitted. 
    -@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    -@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    -@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    -
    -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB)
    -
    -
    -Starting clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 172MB)
    -
    -
    -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -@N:FX1184 :  | Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS  
    -
    -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -
    -
    -Clock Summary
    -******************
    -
    -          Start      Requested     Requested     Clock        Clock                Clock
    -Level     Clock      Frequency     Period        Type         Group                Load 
    -----------------------------------------------------------------------------------------
    -0 -       RCLK       62.5 MHz      16.000        declared     default_clkgroup     65   
    -                                                                                        
    -0 -       PHI2       2.9 MHz       350.000       declared     default_clkgroup     18   
    -                                                                                        
    -0 -       nCRAS      2.9 MHz       350.000       declared     default_clkgroup     14   
    -                                                                                        
    -0 -       nCCAS      2.9 MHz       350.000       declared     default_clkgroup     8    
    -                                                                                        
    -0 -       System     100.0 MHz     10.000        system       system_clkgroup      0    
    -========================================================================================
    -
    -
    -
    -Clock Load Summary
    -***********************
    -
    -           Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    -Clock      Load      Pin             Seq Example     Seq Example       Comb Example      
    ------------------------------------------------------------------------------------------
    -RCLK       65        RCLK(port)      CASr2.C         -                 -                 
    -                                                                                         
    -PHI2       18        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    -                                                                                         
    -nCRAS      14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    -                                                                                         
    -nCCAS      8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    -                                                                                         
    -System     0         -               -               -                 -                 
    -=========================================================================================
    -
    -ICG Latch Removal Summary:
    -Number of ICG latches removed: 0
    -Number of ICG latches not removed:	0
    -For details review file gcc_ICG_report.rpt
    -
    -
    -@S |Clock Optimization Summary
    -
    -
    -
    -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    -
    -4 non-gated/non-generated clock tree(s) driving 105 clock pin(s) of sequential element(s)
    -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    -0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    -
    -=========================== Non-Gated/Non-Generated Clocks ============================
    -Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    ----------------------------------------------------------------------------------------
    -ClockId_0_0       RCLK                port                   65         nRWE           
    -ClockId_0_1       PHI2                port                   18         RA11           
    -ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    -ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    -=======================================================================================
    -
    -
    -##### END OF CLOCK OPTIMIZATION REPORT ######
    -
    -@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    -Finished Pre Mapping Phase.
    -
    -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -
    -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 173MB)
    -
    -
    -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB)
    -
    -Pre-mapping successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 89MB peak: 175MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -# Wed Aug 16 20:59:32 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -Map & Optimize Report
    -
    -
    -
    -
    -
    -# Wed Aug 16 20:59:32 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 118MB peak: 118MB)
    -
    -@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    -@N:MF248 :  | Running in 64-bit mode. 
    -@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 134MB peak: 136MB)
    -
    -
    -
    -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB)
    -
    -
    -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -@N:MO231 : ram2gs-lcmxo2.v(161) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    -@N:MO231 : ram2gs-lcmxo2.v(148) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    -@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    -@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    -@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    -@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    -@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    -
    -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB)
    -
    -
    -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB)
    -
    -
    -Available hyper_sources - for debug and ip models
    -	None Found
    -
    -
    -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB)
    -
    -
    -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB)
    -
    -
    -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB)
    -
    -
    -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB)
    -
    -
    -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 178MB peak: 178MB)
    -
    -
    -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 185MB peak: 185MB)
    -
    -Pass		 CPU time		Worst Slack		Luts / Registers
    -------------------------------------------------------------
    -   1		0h:00m:01s		    -2.34ns		 199 /       105
    -   2		0h:00m:01s		    -2.34ns		 208 /       105
    -   3		0h:00m:01s		    -2.34ns		 208 /       105
    -@N:FX271 : ram2gs-lcmxo2.v(302) | Replicating instance CmdSubmitted (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-lcmxo2.v(161) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 12 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-lcmxo2.v(119) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-lcmxo2.v(119) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    -Timing driven replication report
    -Added 4 Registers via timing driven replication
    -Added 1 LUTs via timing driven replication
    -
    -   4		0h:00m:01s		    -1.83ns		 210 /       109
    -
    -
    -   5		0h:00m:01s		    -1.83ns		 211 /       109
    -   6		0h:00m:01s		    -1.83ns		 212 /       109
    -   7		0h:00m:01s		    -1.83ns		 212 /       109
    -
    -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 186MB peak: 186MB)
    -
    -@N:FX164 :  | The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute.   
    -
    -Finished restoring hierarchy (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 186MB peak: 186MB)
    -
    -
    -Start Writing Netlists (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:02s; Memory used current: 149MB peak: 186MB)
    -
    -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm
    -
    -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 187MB peak: 187MB)
    -
    -Writing EDIF Netlist and constraint files
    -@N:FX1056 :  | Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi 
    -@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    -
    -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB)
    -
    -
    -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 193MB)
    -
    -
    -Start final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 193MB)
    -
    -@W:MT246 : refb.v(78) | Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results)
    -@N:MT615 :  | Found clock RCLK with period 16.00ns  
    -@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    -@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    -@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    -
    -
    -##### START OF TIMING REPORT #####[
    -# Timing report written on Wed Aug 16 20:59:35 2023
    -#
    -
    -
    -Top view:               RAM2GS
    -Requested Frequency:    2.9 MHz
    -Wire load mode:         top
    -Paths requested:        5
    -Constraint File(s):    D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -                       
    -@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    -
    -@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    -
    -
    -
    -Performance Summary
    -*******************
    -
    -
    -Worst slack in design: -1.832
    -
    -                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    -Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    --------------------------------------------------------------------------------------------------------------------
    -PHI2               2.9 MHz       1.0 MHz       350.000       991.270       -1.832     declared     default_clkgroup
    -RCLK               62.5 MHz      22.1 MHz      16.000        45.315        -0.784     declared     default_clkgroup
    -nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    -nCRAS              2.9 MHz       1.0 MHz       350.000       953.610       -1.725     declared     default_clkgroup
    -System             100.0 MHz     NA            10.000        NA            15.472     system       system_clkgroup 
    -===================================================================================================================
    -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    -
    -
    -@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    -@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    -
    -
    -
    -Clock Relationships
    -*******************
    -
    -Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    ----------------------------------------------------------------------------------------------------------------
    -Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    ----------------------------------------------------------------------------------------------------------------
    -System    RCLK    |  16.000      15.472  |  No paths    -        |  No paths    -        |  No paths    -      
    -RCLK      System  |  16.000      14.892  |  No paths    -        |  No paths    -        |  No paths    -      
    -RCLK      RCLK    |  16.000      8.605   |  No paths    -        |  No paths    -        |  No paths    -      
    -RCLK      PHI2    |  2.000       0.216   |  No paths    -        |  1.000       -0.636   |  No paths    -      
    -RCLK      nCRAS   |  No paths    -       |  No paths    -        |  1.000       -0.784   |  No paths    -      
    -PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -1.832 
    -PHI2      PHI2    |  No paths    -       |  350.000     346.115  |  175.000     168.921  |  175.000     173.428
    -nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -1.725 
    -===============================================================================================================
    - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    -       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    -
    -
    -
    -Interface Information 
    -*********************
    -
    -No IO constraint found
    -
    -
    -
    -====================================
    -Detailed Report for Clock: PHI2
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -                      Starting                                                 Arrival            
    -Instance              Reference     Type         Pin     Net                   Time        Slack  
    -                      Clock                                                                       
    ---------------------------------------------------------------------------------------------------
    -CMDUFMWrite           PHI2          FD1P3AX      Q       CMDUFMWrite           1.044       -1.832 
    -CmdSubmitted_fast     PHI2          FD1S3AX      Q       CmdSubmitted_fast     1.044       -1.832 
    -CmdSubmitted          PHI2          FD1S3AX      Q       CmdSubmitted          1.148       -1.708 
    -CmdLEDEN              PHI2          FD1P3AX      Q       CmdLEDEN              1.044       -0.572 
    -Cmdn8MEGEN            PHI2          FD1P3AX      Q       Cmdn8MEGEN            1.044       -0.572 
    -CmdUFMData            PHI2          FD1P3AX      Q       CmdUFMData            0.972       -0.500 
    -Bank_0io[0]           PHI2          IFS1P3DX     Q       Bank[0]               0.972       168.921
    -Bank_0io[1]           PHI2          IFS1P3DX     Q       Bank[1]               0.972       168.921
    -Bank_0io[2]           PHI2          IFS1P3DX     Q       Bank[2]               0.972       168.921
    -Bank_0io[3]           PHI2          IFS1P3DX     Q       Bank[3]               0.972       168.921
    -==================================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                             Required           
    -Instance       Reference     Type        Pin     Net                Time         Slack 
    -               Clock                                                                   
    ----------------------------------------------------------------------------------------
    -wb_adr[0]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[1]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[2]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[3]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[4]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[5]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[6]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_adr[7]      PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_cyc_stb     PHI2          FD1P3IX     SP      un1_wb_clk32_i     0.528        -1.832
    -wb_dati[0]     PHI2          FD1P3AX     SP      un1_wb_clk32_i     0.528        -1.832
    -=======================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            0.472
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         0.528
    -
    -    - Propagation time:                      2.361
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -1.832
    -
    -    Number of logic level(s):                1
    -    Starting point:                          CMDUFMWrite / Q
    -    Ending point:                            wb_adr[0] / SP
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                        Pin      Pin               Arrival     No. of    
    -Name                     Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------------
    -CMDUFMWrite              FD1P3AX      Q        Out     1.044     1.044 r     -         
    -CMDUFMWrite              Net          -        -       -         -           2         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     A        In      0.000     1.044 r     -         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     Z        Out     1.317     2.361 f     -         
    -un1_wb_clk32_i           Net          -        -       -         -           18        
    -wb_adr[0]                FD1P3AX      SP       In      0.000     2.361 f     -         
    -=======================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            0.472
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         0.528
    -
    -    - Propagation time:                      2.361
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -1.832
    -
    -    Number of logic level(s):                1
    -    Starting point:                          CmdSubmitted_fast / Q
    -    Ending point:                            wb_adr[0] / SP
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                        Pin      Pin               Arrival     No. of    
    -Name                     Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------------
    -CmdSubmitted_fast        FD1S3AX      Q        Out     1.044     1.044 r     -         
    -CmdSubmitted_fast        Net          -        -       -         -           2         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     B        In      0.000     1.044 r     -         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     Z        Out     1.317     2.361 r     -         
    -un1_wb_clk32_i           Net          -        -       -         -           18        
    -wb_adr[0]                FD1P3AX      SP       In      0.000     2.361 r     -         
    -=======================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            0.472
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         0.528
    -
    -    - Propagation time:                      2.361
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -1.832
    -
    -    Number of logic level(s):                1
    -    Starting point:                          CMDUFMWrite / Q
    -    Ending point:                            wb_adr[7] / SP
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                        Pin      Pin               Arrival     No. of    
    -Name                     Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------------
    -CMDUFMWrite              FD1P3AX      Q        Out     1.044     1.044 r     -         
    -CMDUFMWrite              Net          -        -       -         -           2         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     A        In      0.000     1.044 r     -         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     Z        Out     1.317     2.361 f     -         
    -un1_wb_clk32_i           Net          -        -       -         -           18        
    -wb_adr[7]                FD1P3AX      SP       In      0.000     2.361 f     -         
    -=======================================================================================
    -
    -
    -Path information for path number 4: 
    -      Requested Period:                      1.000
    -    - Setup time:                            0.472
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         0.528
    -
    -    - Propagation time:                      2.361
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -1.832
    -
    -    Number of logic level(s):                1
    -    Starting point:                          CMDUFMWrite / Q
    -    Ending point:                            wb_adr[6] / SP
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                        Pin      Pin               Arrival     No. of    
    -Name                     Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------------
    -CMDUFMWrite              FD1P3AX      Q        Out     1.044     1.044 r     -         
    -CMDUFMWrite              Net          -        -       -         -           2         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     A        In      0.000     1.044 r     -         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     Z        Out     1.317     2.361 f     -         
    -un1_wb_clk32_i           Net          -        -       -         -           18        
    -wb_adr[6]                FD1P3AX      SP       In      0.000     2.361 f     -         
    -=======================================================================================
    -
    -
    -Path information for path number 5: 
    -      Requested Period:                      1.000
    -    - Setup time:                            0.472
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         0.528
    -
    -    - Propagation time:                      2.361
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -1.832
    -
    -    Number of logic level(s):                1
    -    Starting point:                          CMDUFMWrite / Q
    -    Ending point:                            wb_adr[5] / SP
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                        Pin      Pin               Arrival     No. of    
    -Name                     Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------------
    -CMDUFMWrite              FD1P3AX      Q        Out     1.044     1.044 r     -         
    -CMDUFMWrite              Net          -        -       -         -           2         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     A        In      0.000     1.044 r     -         
    -CMDUFMWrite_RNIHQ1E1     ORCALUT4     Z        Out     1.317     2.361 f     -         
    -un1_wb_clk32_i           Net          -        -       -         -           18        
    -wb_adr[5]                FD1P3AX      SP       In      0.000     2.361 f     -         
    -=======================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: RCLK
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -               Starting                                         Arrival           
    -Instance       Reference     Type        Pin     Net            Time        Slack 
    -               Clock                                                              
    -----------------------------------------------------------------------------------
    -Ready_fast     RCLK          FD1S3AX     Q       Ready_fast     1.256       -0.784
    -LEDEN          RCLK          FD1P3AX     Q       LEDEN          1.108       -0.636
    -n8MEGEN        RCLK          FD1P3AX     Q       n8MEGEN        1.044       -0.572
    -FS[14]         RCLK          FD1S3AX     Q       FS[14]         1.108       8.605 
    -FS[15]         RCLK          FD1S3AX     Q       FS[15]         1.108       8.605 
    -FS[16]         RCLK          FD1S3AX     Q       FS[16]         1.108       8.605 
    -FS[6]          RCLK          FD1S3AX     Q       FS[6]          1.268       8.872 
    -FS[5]          RCLK          FD1S3AX     Q       FS[5]          1.228       8.912 
    -FS[12]         RCLK          FD1S3AX     Q       FS[12]         1.302       9.679 
    -FS[10]         RCLK          FD1S3AX     Q       FS[10]         1.299       9.682 
    -==================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                          Required           
    -Instance       Reference     Type         Pin     Net            Time         Slack 
    -               Clock                                                                
    -------------------------------------------------------------------------------------
    -RBA_0io[0]     RCLK          OFS1P3DX     D       RBAd_0[0]      1.089        -0.784
    -RBA_0io[1]     RCLK          OFS1P3DX     D       RBAd_0[1]      1.089        -0.784
    -RowA[0]        RCLK          FD1S3AX      D       RowAd_0[0]     1.089        -0.784
    -RowA[1]        RCLK          FD1S3AX      D       RowAd_0[1]     1.089        -0.784
    -RowA[2]        RCLK          FD1S3AX      D       RowAd_0[2]     1.089        -0.784
    -RowA[3]        RCLK          FD1S3AX      D       RowAd_0[3]     1.089        -0.784
    -RowA[4]        RCLK          FD1S3AX      D       RowAd_0[4]     1.089        -0.784
    -RowA[5]        RCLK          FD1S3AX      D       RowAd_0[5]     1.089        -0.784
    -RowA[6]        RCLK          FD1S3AX      D       RowAd_0[6]     1.089        -0.784
    -RowA[7]        RCLK          FD1S3AX      D       RowAd_0[7]     1.089        -0.784
    -====================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      1.873
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -0.784
    -
    -    Number of logic level(s):                1
    -    Starting point:                          Ready_fast / Q
    -    Ending point:                            RBA_0io[0] / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    -Ready_fast         Net          -        -       -         -           14        
    -RBAd[0]            ORCALUT4     B        In      0.000     1.256 r     -         
    -RBAd[0]            ORCALUT4     Z        Out     0.617     1.873 r     -         
    -RBAd_0[0]          Net          -        -       -         -           1         
    -RBA_0io[0]         OFS1P3DX     D        In      0.000     1.873 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      1.873
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -0.784
    -
    -    Number of logic level(s):                1
    -    Starting point:                          Ready_fast / Q
    -    Ending point:                            RowA[9] / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    -Ready_fast         Net          -        -       -         -           14        
    -RowAd[9]           ORCALUT4     B        In      0.000     1.256 r     -         
    -RowAd[9]           ORCALUT4     Z        Out     0.617     1.873 f     -         
    -RowAd_0[9]         Net          -        -       -         -           1         
    -RowA[9]            FD1S3AX      D        In      0.000     1.873 f     -         
    -=================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      1.873
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -0.784
    -
    -    Number of logic level(s):                1
    -    Starting point:                          Ready_fast / Q
    -    Ending point:                            RowA[8] / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    -Ready_fast         Net          -        -       -         -           14        
    -RowAd[8]           ORCALUT4     B        In      0.000     1.256 r     -         
    -RowAd[8]           ORCALUT4     Z        Out     0.617     1.873 r     -         
    -RowAd_0[8]         Net          -        -       -         -           1         
    -RowA[8]            FD1S3AX      D        In      0.000     1.873 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 4: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      1.873
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -0.784
    -
    -    Number of logic level(s):                1
    -    Starting point:                          Ready_fast / Q
    -    Ending point:                            RBA_0io[1] / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    -Ready_fast         Net          -        -       -         -           14        
    -RBAd[1]            ORCALUT4     B        In      0.000     1.256 r     -         
    -RBAd[1]            ORCALUT4     Z        Out     0.617     1.873 r     -         
    -RBAd_0[1]          Net          -        -       -         -           1         
    -RBA_0io[1]         OFS1P3DX     D        In      0.000     1.873 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 5: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      1.873
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -0.784
    -
    -    Number of logic level(s):                1
    -    Starting point:                          Ready_fast / Q
    -    Ending point:                            RowA[6] / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    -Ready_fast         Net          -        -       -         -           14        
    -RowAd[6]           ORCALUT4     B        In      0.000     1.256 r     -         
    -RowAd[6]           ORCALUT4     Z        Out     0.617     1.873 r     -         
    -RowAd_0[6]         Net          -        -       -         -           1         
    -RowA[6]            FD1S3AX      D        In      0.000     1.873 r     -         
    -=================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: nCRAS
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -              Starting                                        Arrival           
    -Instance      Reference     Type        Pin     Net           Time        Slack 
    -              Clock                                                             
    ---------------------------------------------------------------------------------
    -CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.108       -1.725
    -CBR           nCRAS         FD1S3AX     Q       CBR           1.148       -1.693
    -FWEr          nCRAS         FD1S3AX     Q       FWEr          1.108       -1.653
    -FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     0.972       -1.589
    -================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                              Required           
    -Instance       Reference     Type         Pin     Net                Time         Slack 
    -               Clock                                                                    
    -----------------------------------------------------------------------------------------
    -nRCAS_0io      nCRAS         OFS1P3BX     D       N_186_i            1.089        -1.725
    -nRWE_0io       nCRAS         OFS1P3BX     D       N_44_i             1.089        -1.725
    -nRowColSel     nCRAS         FD1S3IX      D       nRowColSel_0_0     1.089        -1.693
    -RCKEEN         nCRAS         FD1S3AX      D       RCKEEN_8           1.089        -1.653
    -nRCS_0io       nCRAS         OFS1P3BX     D       N_32_i             1.089        -1.653
    -========================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      2.813
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -1.725
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR_fast / Q
    -    Ending point:                            nRCAS_0io / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    -
    -Instance / Net                         Pin      Pin               Arrival     No. of    
    -Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------------
    -CBR_fast                  FD1S3AX      Q        Out     1.108     1.108 r     -         
    -CBR_fast                  Net          -        -       -         -           3         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.108 r     -         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.197 r     -         
    -nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    -nRCAS_0io_RNO             ORCALUT4     B        In      0.000     2.197 r     -         
    -nRCAS_0io_RNO             ORCALUT4     Z        Out     0.617     2.813 f     -         
    -N_186_i                   Net          -        -       -         -           1         
    -nRCAS_0io                 OFS1P3BX     D        In      0.000     2.813 f     -         
    -========================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      2.813
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -1.725
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR_fast / Q
    -    Ending point:                            nRWE_0io / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    -
    -Instance / Net                         Pin      Pin               Arrival     No. of    
    -Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------------
    -CBR_fast                  FD1S3AX      Q        Out     1.108     1.108 r     -         
    -CBR_fast                  Net          -        -       -         -           3         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.108 r     -         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.197 r     -         
    -nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    -nRWE_0io_RNO              ORCALUT4     C        In      0.000     2.197 r     -         
    -nRWE_0io_RNO              ORCALUT4     Z        Out     0.617     2.813 r     -         
    -N_44_i                    Net          -        -       -         -           1         
    -nRWE_0io                  OFS1P3BX     D        In      0.000     2.813 r     -         
    -========================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      2.781
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -1.693
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR / Q
    -    Ending point:                            nRCAS_0io / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    -
    -Instance / Net                   Pin      Pin               Arrival     No. of    
    -Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------
    -CBR                 FD1S3AX      Q        Out     1.148     1.148 r     -         
    -CBR                 Net          -        -       -         -           4         
    -nRCAS_0io_RNO_0     ORCALUT4     A        In      0.000     1.148 r     -         
    -nRCAS_0io_RNO_0     ORCALUT4     Z        Out     1.017     2.165 f     -         
    -nRCAS_0io_RNO_0     Net          -        -       -         -           1         
    -nRCAS_0io_RNO       ORCALUT4     C        In      0.000     2.165 f     -         
    -nRCAS_0io_RNO       ORCALUT4     Z        Out     0.617     2.781 r     -         
    -N_186_i             Net          -        -       -         -           1         
    -nRCAS_0io           OFS1P3BX     D        In      0.000     2.781 r     -         
    -==================================================================================
    -
    -
    -Path information for path number 4: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      2.781
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -1.693
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR / Q
    -    Ending point:                            nRowColSel / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                       Pin      Pin               Arrival     No. of    
    -Name                    Type         Name     Dir     Delay     Time        Fan Out(s)
    ---------------------------------------------------------------------------------------
    -CBR                     FD1S3AX      Q        Out     1.148     1.148 r     -         
    -CBR                     Net          -        -       -         -           4         
    -nRowColSel_0_0_a3_0     ORCALUT4     B        In      0.000     1.148 r     -         
    -nRowColSel_0_0_a3_0     ORCALUT4     Z        Out     1.017     2.165 f     -         
    -N_97                    Net          -        -       -         -           1         
    -nRowColSel_0_0          ORCALUT4     B        In      0.000     2.165 f     -         
    -nRowColSel_0_0          ORCALUT4     Z        Out     0.617     2.781 f     -         
    -nRowColSel_0_0          Net          -        -       -         -           1         
    -nRowColSel              FD1S3IX      D        In      0.000     2.781 f     -         
    -======================================================================================
    -
    -
    -Path information for path number 5: 
    -      Requested Period:                      1.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         1.089
    -
    -    - Propagation time:                      2.741
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -1.653
    -
    -    Number of logic level(s):                2
    -    Starting point:                          FWEr / Q
    -    Ending point:                            RCKEEN / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -FWEr               FD1S3AX      Q        Out     1.108     1.108 r     -         
    -FWEr               Net          -        -       -         -           3         
    -RCKEEN_8_u_1_0     ORCALUT4     C        In      0.000     1.108 r     -         
    -RCKEEN_8_u_1_0     ORCALUT4     Z        Out     1.017     2.125 r     -         
    -RCKEEN_8_u_1_0     Net          -        -       -         -           1         
    -RCKEEN_8_u         ORCALUT4     C        In      0.000     2.125 r     -         
    -RCKEEN_8_u         ORCALUT4     Z        Out     0.617     2.741 r     -         
    -RCKEEN_8           Net          -        -       -         -           1         
    -RCKEEN             FD1S3AX      D        In      0.000     2.741 r     -         
    -=================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: System
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -                     Starting                                          Arrival           
    -Instance             Reference     Type     Pin         Net            Time        Slack 
    -                     Clock                                                               
    ------------------------------------------------------------------------------------------
    -ufmefb.EFBInst_0     System        EFB      WBDATO0     wb_dato[0]     0.000       15.472
    -ufmefb.EFBInst_0     System        EFB      WBDATO1     wb_dato[1]     0.000       15.472
    -=========================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -             Starting                                             Required           
    -Instance     Reference     Type        Pin     Net                Time         Slack 
    -             Clock                                                                   
    --------------------------------------------------------------------------------------
    -LEDEN        System        FD1P3AX     D       LEDEN_6_i_m2       16.089       15.472
    -n8MEGEN      System        FD1P3AX     D       n8MEGEN_6_i_m2     16.089       15.472
    -=====================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      16.000
    -    - Setup time:                            -0.089
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         16.089
    -
    -    - Propagation time:                      0.617
    -    - Clock delay at starting point:         0.000 (ideal)
    -    - Estimated clock delay at start point:  -0.000
    -    = Slack (non-critical) :                 15.472
    -
    -    Number of logic level(s):                1
    -    Starting point:                          ufmefb.EFBInst_0 / WBDATO0
    -    Ending point:                            n8MEGEN / D
    -    The start point is clocked by            System [rising]
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                    Pin         Pin               Arrival     No. of    
    -Name                 Type         Name        Dir     Delay     Time        Fan Out(s)
    ---------------------------------------------------------------------------------------
    -ufmefb.EFBInst_0     EFB          WBDATO0     Out     0.000     0.000 r     -         
    -wb_dato[0]           Net          -           -       -         -           1         
    -n8MEGEN_6_i_m2       ORCALUT4     C           In      0.000     0.000 r     -         
    -n8MEGEN_6_i_m2       ORCALUT4     Z           Out     0.617     0.617 r     -         
    -n8MEGEN_6_i_m2       Net          -           -       -         -           1         
    -n8MEGEN              FD1P3AX      D           In      0.000     0.617 r     -         
    -======================================================================================
    -
    -
    -
    -##### END OF TIMING REPORT #####]
    -
    -Timing exceptions that could not be applied
    -
    -Finished final timing analysis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 193MB)
    -
    -
    -Finished timing report (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:03s; Memory used current: 191MB peak: 193MB)
    -
    ----------------------------------------
    -Resource Usage Report
    -Part: lcmxo2_640hc-4
    -
    -Register bits: 109 of 640 (17%)
    -PIC Latch:       0
    -I/O cells:       63
    -
    -
    -Details:
    -BB:             8
    -CCU2D:          10
    -EFB:            1
    -FD1P3AX:        27
    -FD1P3IX:        3
    -FD1S3AX:        51
    -FD1S3IX:        3
    -GSR:            1
    -IB:             25
    -IFS1P3DX:       9
    -INV:            8
    -OB:             30
    -OFS1P3BX:       4
    -OFS1P3DX:       11
    -OFS1P3JX:       1
    -ORCALUT4:       206
    -PFUMX:          1
    -PUR:            1
    -VHI:            2
    -VLO:            2
    -Mapper successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 193MB)
    -
    -Process took 0h:00m:03s realtime, 0h:00m:03s cputime
    -# Wed Aug 16 20:59:35 2023
    -
    -###########################################################]
    -
    -
    +
    +
    +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021
    +#install: C:\lscc\diamond\3.12\synpbase
    +#OS: Windows 8 6.2
    +#Hostname: ZANEMACWIN11
    +
    +# Sat Aug 19 21:54:48 2023
    +
    +#Implementation: impl1
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v" (library work)
    +@I::"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" (library work)
    +Verilog syntax check successful!
    +
    +Compiler output is up to date.  No re-compile necessary
    +
    +Selecting top level module RAM2GS
    +@N:CG364 : machxo2.v(1120) | Synthesizing module VHI in library work.
    +Running optimization stage 1 on VHI .......
    +Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N:CG364 : machxo2.v(1124) | Synthesizing module VLO in library work.
    +Running optimization stage 1 on VLO .......
    +Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N:CG364 : machxo2.v(1800) | Synthesizing module EFB in library work.
    +Running optimization stage 1 on EFB .......
    +Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N:CG364 : REFB.v(8) | Synthesizing module REFB in library work.
    +Running optimization stage 1 on REFB .......
    +Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB)
    +@N:CG364 : RAM2GS-LCMXO2.v(1) | Synthesizing module RAM2GS in library work.
    +Running optimization stage 1 on RAM2GS .......
    +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 101MB peak: 101MB)
    +Running optimization stage 2 on RAM2GS .......
    +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on REFB .......
    +Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on EFB .......
    +Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on VLO .......
    +Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +Running optimization stage 2 on VHI .......
    +Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB)
    +
    +For a summary of runtime and memory usage per design unit, please see file:
    +==========================================================
    +Linked File:  layer0.rt.csv
    +
    +
    +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 96MB peak: 97MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:48 2023
    +
    +###########################################################]
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:48 2023
    +
    +###########################################################]
    +
    +For a summary of runtime and memory usage for all design units, please see file:
    +==========================================================
    +Linked File:  LCMXO2_640HC_impl1_comp.rt.csv
    +
    +@END
    +
    +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:48 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +File Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs changed - recompiling
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 99MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 21:54:50 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +# Sat Aug 19 21:54:50 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +
    +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 139MB)
    +
    +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +Linked File:  LCMXO2_640HC_impl1_scck.rpt
    +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_scck.rpt"
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 139MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 150MB peak: 151MB)
    +
    +@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance Ready. 
    +@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    +@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMShift. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMWrite. 
    +@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdValid. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    +@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMData. 
    +@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    +@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    +@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    +@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    +
    +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB)
    +
    +
    +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB)
    +
    +@N:FX1184 :  | Applying syn_allowed_resources blockrams=2 on top level netlist RAM2GS  
    +
    +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 182MB)
    +
    +
    +
    +Clock Summary
    +******************
    +
    +          Start      Requested     Requested     Clock        Clock                Clock
    +Level     Clock      Frequency     Period        Type         Group                Load 
    +----------------------------------------------------------------------------------------
    +0 -       RCLK       62.5 MHz      16.000        declared     default_clkgroup     65   
    +                                                                                        
    +0 -       PHI2       2.9 MHz       350.000       declared     default_clkgroup     19   
    +                                                                                        
    +0 -       nCRAS      2.9 MHz       350.000       declared     default_clkgroup     14   
    +                                                                                        
    +0 -       nCCAS      2.9 MHz       350.000       declared     default_clkgroup     8    
    +                                                                                        
    +0 -       System     100.0 MHz     10.000        system       system_clkgroup      0    
    +========================================================================================
    +
    +
    +
    +Clock Load Summary
    +***********************
    +
    +           Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    +Clock      Load      Pin             Seq Example     Seq Example       Comb Example      
    +-----------------------------------------------------------------------------------------
    +RCLK       65        RCLK(port)      CASr2.C         -                 -                 
    +                                                                                         
    +PHI2       19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    +                                                                                         
    +nCRAS      14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    +                                                                                         
    +nCCAS      8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    +                                                                                         
    +System     0         -               -               -                 -                 
    +=========================================================================================
    +
    +ICG Latch Removal Summary:
    +Number of ICG latches removed: 0
    +Number of ICG latches not removed:	0
    +For details review file gcc_ICG_report.rpt
    +
    +
    +@S |Clock Optimization Summary
    +
    +
    +
    +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    +
    +4 non-gated/non-generated clock tree(s) driving 106 clock pin(s) of sequential element(s)
    +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    +0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    +
    +=========================== Non-Gated/Non-Generated Clocks ============================
    +Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    +---------------------------------------------------------------------------------------
    +ClockId_0_0       RCLK                port                   65         nRWE           
    +ClockId_0_1       PHI2                port                   19         RA11           
    +ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    +ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    +=======================================================================================
    +
    +
    +##### END OF CLOCK OPTIMIZATION REPORT ######
    +
    +@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    +Finished Pre Mapping Phase.
    +
    +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB)
    +
    +Pre-mapping successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 103MB peak: 184MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +# Sat Aug 19 21:54:51 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +# Sat Aug 19 21:54:51 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB)
    +
    +
    +
    +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 179MB peak: 179MB)
    +
    +
    +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 183MB peak: 183MB)
    +
    +@N:MO231 : ram2gs-lcmxo2.v(162) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    +@N:MO231 : ram2gs-lcmxo2.v(149) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    +@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    +
    +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 185MB peak: 185MB)
    +
    +
    +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB)
    +
    +
    +Available hyper_sources - for debug and ip models
    +	None Found
    +
    +
    +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 187MB peak: 187MB)
    +
    +
    +Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 195MB peak: 195MB)
    +
    +Pass		 CPU time		Worst Slack		Luts / Registers
    +------------------------------------------------------------
    +   1		0h:00m:01s		    -2.36ns		 191 /       106
    +   2		0h:00m:01s		    -2.36ns		 206 /       106
    +   3		0h:00m:01s		    -2.36ns		 202 /       106
    +@N:FX271 : ram2gs-lcmxo2.v(303) | Replicating instance CmdValid (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(303) | Replicating instance CmdUFMShift (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(162) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(120) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 6 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-lcmxo2.v(120) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 4 loads 1 time to improve timing.
    +Timing driven replication report
    +Added 5 Registers via timing driven replication
    +Added 3 LUTs via timing driven replication
    +
    +   4		0h:00m:01s		    -1.83ns		 206 /       111
    +
    +
    +   5		0h:00m:02s		    -1.83ns		 207 /       111
    +   6		0h:00m:02s		    -1.83ns		 208 /       111
    +   7		0h:00m:02s		    -1.83ns		 208 /       111
    +
    +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB)
    +
    +@N:FX164 :  | The option to pack registers in the IOB has not been specified. Please set syn_useioff attribute.   
    +
    +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB)
    +
    +
    +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 160MB peak: 196MB)
    +
    +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_m.srm
    +
    +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 197MB peak: 197MB)
    +
    +Writing EDIF Netlist and constraint files
    +@N:FX1056 :  | Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi 
    +@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    +
    +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 202MB peak: 202MB)
    +
    +
    +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 202MB peak: 202MB)
    +
    +
    +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 200MB peak: 202MB)
    +
    +@W:MT246 : refb.v(78) | Blackbox EFB is missing a user supplied timing model. This may have a negative effect on timing analysis and optimizations (Quality of Results)
    +@N:MT615 :  | Found clock RCLK with period 16.00ns  
    +@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    +@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    +@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    +
    +
    +##### START OF TIMING REPORT #####[
    +# Timing report written on Sat Aug 19 21:54:55 2023
    +#
    +
    +
    +Top view:               RAM2GS
    +Requested Frequency:    2.9 MHz
    +Wire load mode:         top
    +Paths requested:        5
    +Constraint File(s):    Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +                       
    +@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    +
    +@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    +
    +
    +
    +Performance Summary
    +*******************
    +
    +
    +Worst slack in design: -1.828
    +
    +                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    +Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    +-------------------------------------------------------------------------------------------------------------------
    +PHI2               2.9 MHz       1.0 MHz       350.000       989.870       -1.828     declared     default_clkgroup
    +RCLK               62.5 MHz      22.1 MHz      16.000        45.251        -0.876     declared     default_clkgroup
    +nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    +nCRAS              2.9 MHz       1.0 MHz       350.000       953.610       -1.725     declared     default_clkgroup
    +System             100.0 MHz     NA            10.000        NA            13.991     system       system_clkgroup 
    +===================================================================================================================
    +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    +
    +
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    +
    +
    +
    +Clock Relationships
    +*******************
    +
    +Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    +---------------------------------------------------------------------------------------------------------------
    +Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    +---------------------------------------------------------------------------------------------------------------
    +System    RCLK    |  16.000      13.991  |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      System  |  16.000      14.956  |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      RCLK    |  16.000      9.535   |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      PHI2    |  2.000       0.216   |  No paths    -        |  1.000       -0.876   |  No paths    -      
    +RCLK      nCRAS   |  No paths    -       |  No paths    -        |  1.000       -0.784   |  No paths    -      
    +PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -1.828 
    +PHI2      PHI2    |  No paths    -       |  350.000     347.059  |  175.000     168.905  |  175.000     173.428
    +nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -1.725 
    +===============================================================================================================
    + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    +       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    +
    +
    +
    +Interface Information 
    +*********************
    +
    +No IO constraint found
    +
    +
    +
    +====================================
    +Detailed Report for Clock: PHI2
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +                     Starting                                                Arrival            
    +Instance             Reference     Type         Pin     Net                  Time        Slack  
    +                     Clock                                                                      
    +------------------------------------------------------------------------------------------------
    +CmdUFMShift_fast     PHI2          FD1P3AX      Q       CmdUFMShift_fast     1.044       -1.828 
    +CmdValid_fast        PHI2          FD1S3AX      Q       CmdValid_fast        1.044       -1.828 
    +CmdUFMShift          PHI2          FD1P3AX      Q       CmdUFMShift          1.108       -1.810 
    +CmdValid             PHI2          FD1S3AX      Q       CmdValid             1.108       -1.810 
    +CmdUFMWrite          PHI2          FD1P3AX      Q       CmdUFMWrite          1.044       -1.746 
    +CmdLEDEN             PHI2          FD1P3AX      Q       CmdLEDEN             1.044       -0.572 
    +Cmdn8MEGEN           PHI2          FD1P3AX      Q       Cmdn8MEGEN           1.044       -0.572 
    +CmdUFMData           PHI2          FD1P3AX      Q       CmdUFMData           0.972       -0.500 
    +Bank_0io[0]          PHI2          IFS1P3DX     Q       Bank[0]              0.972       168.905
    +Bank_0io[1]          PHI2          IFS1P3DX     Q       Bank[1]              0.972       168.905
    +================================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                             Required           
    +Instance       Reference     Type        Pin     Net                Time         Slack 
    +               Clock                                                                   
    +---------------------------------------------------------------------------------------
    +wb_adr[0]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[1]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[2]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[3]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[4]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[5]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[6]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_adr[7]      PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_dati[0]     PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +wb_dati[1]     PHI2          FD1P3AX     SP      un1_wb_rst14_i     0.528        -1.828
    +=======================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[0] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i                Net          -        -       -         -           17        
    +wb_adr[0]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdValid_fast / Q
    +    Ending point:                            wb_adr[0] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdValid_fast                 FD1S3AX      Q        Out     1.044     1.044 r     -         
    +CmdValid_fast                 Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     B        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i                Net          -        -       -         -           17        
    +wb_adr[0]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[7] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i                Net          -        -       -         -           17        
    +wb_adr[7]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 4: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[6] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i                Net          -        -       -         -           17        
    +wb_adr[6]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +Path information for path number 5: 
    +      Requested Period:                      1.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         0.528
    +
    +    - Propagation time:                      2.357
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -1.828
    +
    +    Number of logic level(s):                1
    +    Starting point:                          CmdUFMShift_fast / Q
    +    Ending point:                            wb_adr[5] / SP
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                             Pin      Pin               Arrival     No. of    
    +Name                          Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------------
    +CmdUFMShift_fast              FD1P3AX      Q        Out     1.044     1.044 r     -         
    +CmdUFMShift_fast              Net          -        -       -         -           2         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     A        In      0.000     1.044 r     -         
    +CmdUFMShift_fast_RNIG9JD1     ORCALUT4     Z        Out     1.313     2.357 r     -         
    +un1_wb_rst14_i                Net          -        -       -         -           17        
    +wb_adr[5]                     FD1P3AX      SP       In      0.000     2.357 r     -         
    +============================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: RCLK
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +               Starting                                         Arrival           
    +Instance       Reference     Type        Pin     Net            Time        Slack 
    +               Clock                                                              
    +----------------------------------------------------------------------------------
    +LEDEN          RCLK          FD1P3AX     Q       LEDEN          1.108       -0.876
    +Ready_fast     RCLK          FD1S3AX     Q       Ready_fast     1.256       -0.784
    +n8MEGEN        RCLK          FD1P3AX     Q       n8MEGEN        1.044       -0.572
    +InitReady      RCLK          FD1S3AX     Q       InitReady      1.321       9.535 
    +FS[15]         RCLK          FD1S3AX     Q       FS[15]         1.180       9.677 
    +FS[16]         RCLK          FD1S3AX     Q       FS[16]         1.180       9.677 
    +FS[17]         RCLK          FD1S3AX     Q       FS[17]         1.180       9.677 
    +S[1]           RCLK          FD1S3IX     Q       S[1]           1.244       9.913 
    +S[0]           RCLK          FD1S3IX     Q       CO0            1.228       9.929 
    +FS[12]         RCLK          FD1S3AX     Q       FS[12]         1.284       10.121
    +==================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                          Required           
    +Instance       Reference     Type         Pin     Net            Time         Slack 
    +               Clock                                                                
    +------------------------------------------------------------------------------------
    +XOR8MEG        RCLK          FD1P3AX      D       XOR8MEG_3      1.462        -0.876
    +RBA_0io[0]     RCLK          OFS1P3DX     D       RBAd_0[0]      1.089        -0.784
    +RBA_0io[1]     RCLK          OFS1P3DX     D       RBAd_0[1]      1.089        -0.784
    +RowA[0]        RCLK          FD1S3AX      D       RowAd_0[0]     1.089        -0.784
    +RowA[1]        RCLK          FD1S3AX      D       RowAd_0[1]     1.089        -0.784
    +RowA[2]        RCLK          FD1S3AX      D       RowAd_0[2]     1.089        -0.784
    +RowA[3]        RCLK          FD1S3AX      D       RowAd_0[3]     1.089        -0.784
    +RowA[4]        RCLK          FD1S3AX      D       RowAd_0[4]     1.089        -0.784
    +RowA[5]        RCLK          FD1S3AX      D       RowAd_0[5]     1.089        -0.784
    +RowA[6]        RCLK          FD1S3AX      D       RowAd_0[6]     1.089        -0.784
    +====================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.462
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.462
    +
    +    - Propagation time:                      2.339
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.876
    +
    +    Number of logic level(s):                2
    +    Starting point:                          LEDEN / Q
    +    Ending point:                            XOR8MEG / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                    Pin      Pin               Arrival     No. of    
    +Name                 Type         Name     Dir     Delay     Time        Fan Out(s)
    +-----------------------------------------------------------------------------------
    +LEDEN                FD1P3AX      Q        Out     1.108     1.108 r     -         
    +LEDEN                Net          -        -       -         -           3         
    +XOR8MEG_3_u_0_bm     ORCALUT4     A        In      0.000     1.108 r     -         
    +XOR8MEG_3_u_0_bm     ORCALUT4     Z        Out     1.017     2.125 f     -         
    +XOR8MEG_3_u_0_bm     Net          -        -       -         -           1         
    +XOR8MEG_3_u_0        PFUMX        ALUT     In      0.000     2.125 f     -         
    +XOR8MEG_3_u_0        PFUMX        Z        Out     0.214     2.339 f     -         
    +XOR8MEG_3            Net          -        -       -         -           1         
    +XOR8MEG              FD1P3AX      D        In      0.000     2.339 f     -         
    +===================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RBA_0io[0] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RBAd[0]            ORCALUT4     B        In      0.000     1.256 r     -         
    +RBAd[0]            ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RBAd_0[0]          Net          -        -       -         -           1         
    +RBA_0io[0]         OFS1P3DX     D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RowA[9] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RowAd[9]           ORCALUT4     B        In      0.000     1.256 r     -         
    +RowAd[9]           ORCALUT4     Z        Out     0.617     1.873 f     -         
    +RowAd_0[9]         Net          -        -       -         -           1         
    +RowA[9]            FD1S3AX      D        In      0.000     1.873 f     -         
    +=================================================================================
    +
    +
    +Path information for path number 4: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RowA[8] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RowAd[8]           ORCALUT4     B        In      0.000     1.256 r     -         
    +RowAd[8]           ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RowAd_0[8]         Net          -        -       -         -           1         
    +RowA[8]            FD1S3AX      D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 5: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      1.873
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -0.784
    +
    +    Number of logic level(s):                1
    +    Starting point:                          Ready_fast / Q
    +    Ending point:                            RBA_0io[1] / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin SCLK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +Ready_fast         FD1S3AX      Q        Out     1.256     1.256 r     -         
    +Ready_fast         Net          -        -       -         -           14        
    +RBAd[1]            ORCALUT4     B        In      0.000     1.256 r     -         
    +RBAd[1]            ORCALUT4     Z        Out     0.617     1.873 r     -         
    +RBAd_0[1]          Net          -        -       -         -           1         
    +RBA_0io[1]         OFS1P3DX     D        In      0.000     1.873 r     -         
    +=================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: nCRAS
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +              Starting                                        Arrival           
    +Instance      Reference     Type        Pin     Net           Time        Slack 
    +              Clock                                                             
    +--------------------------------------------------------------------------------
    +CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.108       -1.725
    +CBR           nCRAS         FD1S3AX     Q       CBR           1.148       -1.693
    +FWEr          nCRAS         FD1S3AX     Q       FWEr          1.108       -1.653
    +FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     0.972       -1.589
    +================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                              Required           
    +Instance       Reference     Type         Pin     Net                Time         Slack 
    +               Clock                                                                    
    +----------------------------------------------------------------------------------------
    +nRCAS_0io      nCRAS         OFS1P3BX     D       N_249_i            1.089        -1.725
    +nRWE_0io       nCRAS         OFS1P3BX     D       N_37_i             1.089        -1.725
    +nRowColSel     nCRAS         FD1S3IX      D       nRowColSel_0_0     1.089        -1.693
    +RCKEEN         nCRAS         FD1S3AX      D       RCKEEN_8           1.089        -1.653
    +nRCS_0io       nCRAS         OFS1P3BX     D       N_28_i             1.089        -1.653
    +========================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.813
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.725
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRCAS_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                         Pin      Pin               Arrival     No. of    
    +Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------------
    +CBR_fast                  FD1S3AX      Q        Out     1.108     1.108 r     -         
    +CBR_fast                  Net          -        -       -         -           3         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.108 r     -         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.197 r     -         
    +nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    +nRCAS_0io_RNO             ORCALUT4     B        In      0.000     2.197 r     -         
    +nRCAS_0io_RNO             ORCALUT4     Z        Out     0.617     2.813 f     -         
    +N_249_i                   Net          -        -       -         -           1         
    +nRCAS_0io                 OFS1P3BX     D        In      0.000     2.813 f     -         
    +========================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.813
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.725
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRWE_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                         Pin      Pin               Arrival     No. of    
    +Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------------
    +CBR_fast                  FD1S3AX      Q        Out     1.108     1.108 r     -         
    +CBR_fast                  Net          -        -       -         -           3         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.108 r     -         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.089     2.197 r     -         
    +nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    +nRWE_0io_RNO              ORCALUT4     C        In      0.000     2.197 r     -         
    +nRWE_0io_RNO              ORCALUT4     Z        Out     0.617     2.813 r     -         
    +N_37_i                    Net          -        -       -         -           1         
    +nRWE_0io                  OFS1P3BX     D        In      0.000     2.813 r     -         
    +========================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.781
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.693
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRCAS_0io / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin SCLK
    +
    +Instance / Net                   Pin      Pin               Arrival     No. of    
    +Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------
    +CBR                 FD1S3AX      Q        Out     1.148     1.148 r     -         
    +CBR                 Net          -        -       -         -           4         
    +nRCAS_0io_RNO_0     ORCALUT4     A        In      0.000     1.148 r     -         
    +nRCAS_0io_RNO_0     ORCALUT4     Z        Out     1.017     2.165 f     -         
    +nRCAS_0io_RNO_0     Net          -        -       -         -           1         
    +nRCAS_0io_RNO       ORCALUT4     C        In      0.000     2.165 f     -         
    +nRCAS_0io_RNO       ORCALUT4     Z        Out     0.617     2.781 r     -         
    +N_249_i             Net          -        -       -         -           1         
    +nRCAS_0io           OFS1P3BX     D        In      0.000     2.781 r     -         
    +==================================================================================
    +
    +
    +Path information for path number 4: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.781
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.693
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRowColSel / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                       Pin      Pin               Arrival     No. of    
    +Name                    Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------
    +CBR                     FD1S3AX      Q        Out     1.148     1.148 r     -         
    +CBR                     Net          -        -       -         -           4         
    +nRowColSel_0_0_a3_0     ORCALUT4     B        In      0.000     1.148 r     -         
    +nRowColSel_0_0_a3_0     ORCALUT4     Z        Out     1.017     2.165 f     -         
    +N_265                   Net          -        -       -         -           1         
    +nRowColSel_0_0          ORCALUT4     B        In      0.000     2.165 f     -         
    +nRowColSel_0_0          ORCALUT4     Z        Out     0.617     2.781 f     -         
    +nRowColSel_0_0          Net          -        -       -         -           1         
    +nRowColSel              FD1S3IX      D        In      0.000     2.781 f     -         
    +======================================================================================
    +
    +
    +Path information for path number 5: 
    +      Requested Period:                      1.000
    +    - Setup time:                            -0.089
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         1.089
    +
    +    - Propagation time:                      2.741
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -1.653
    +
    +    Number of logic level(s):                2
    +    Starting point:                          FWEr / Q
    +    Ending point:                            RCKEEN / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +FWEr               FD1S3AX      Q        Out     1.108     1.108 r     -         
    +FWEr               Net          -        -       -         -           3         
    +RCKEEN_8_u_1_0     ORCALUT4     C        In      0.000     1.108 r     -         
    +RCKEEN_8_u_1_0     ORCALUT4     Z        Out     1.017     2.125 r     -         
    +RCKEEN_8_u_1_0     Net          -        -       -         -           1         
    +RCKEEN_8_u         ORCALUT4     C        In      0.000     2.125 r     -         
    +RCKEEN_8_u         ORCALUT4     Z        Out     0.617     2.741 r     -         
    +RCKEEN_8           Net          -        -       -         -           1         
    +RCKEEN             FD1S3AX      D        In      0.000     2.741 r     -         
    +=================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: System
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +                     Starting                                          Arrival           
    +Instance             Reference     Type     Pin         Net            Time        Slack 
    +                     Clock                                                               
    +-----------------------------------------------------------------------------------------
    +ufmefb.EFBInst_0     System        EFB      WBACKO      wb_ack         0.000       13.991
    +ufmefb.EFBInst_0     System        EFB      WBDATO0     wb_dato[0]     0.000       15.472
    +ufmefb.EFBInst_0     System        EFB      WBDATO1     wb_dato[1]     0.000       15.472
    +=========================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                                                Required           
    +Instance       Reference     Type        Pin     Net                                   Time         Slack 
    +               Clock                                                                                      
    +----------------------------------------------------------------------------------------------------------
    +LEDEN          System        FD1P3AX     SP      un1_FS_38_i                           15.528       13.991
    +n8MEGEN        System        FD1P3AX     SP      un1_FS_38_i                           15.528       13.991
    +wb_cyc_stb     System        FD1P3IX     SP      un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i     15.528       14.297
    +LEDEN          System        FD1P3AX     D       LEDEN_6                               16.089       15.472
    +n8MEGEN        System        FD1P3AX     D       n8MEGEN_6                             16.089       15.472
    +==========================================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      16.000
    +    - Setup time:                            0.472
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         15.528
    +
    +    - Propagation time:                      1.538
    +    - Clock delay at starting point:         0.000 (ideal)
    +    - Estimated clock delay at start point:  -0.000
    +    = Slack (non-critical) :                 13.991
    +
    +    Number of logic level(s):                2
    +    Starting point:                          ufmefb.EFBInst_0 / WBACKO
    +    Ending point:                            LEDEN / SP
    +    The start point is clocked by            System [rising]
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                            Pin        Pin               Arrival     No. of    
    +Name                         Type         Name       Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------------------
    +ufmefb.EFBInst_0             EFB          WBACKO     Out     0.000     0.000 r     -         
    +wb_ack                       Net          -          -       -         -           2         
    +ufmefb.EFBInst_0_RNI9PBJ     ORCALUT4     D          In      0.000     0.000 r     -         
    +ufmefb.EFBInst_0_RNI9PBJ     ORCALUT4     Z          Out     0.449     0.449 r     -         
    +d_N_5_mux                    Net          -          -       -         -           1         
    +CmdValid_fast_RNITQBM1       ORCALUT4     C          In      0.000     0.449 r     -         
    +CmdValid_fast_RNITQBM1       ORCALUT4     Z          Out     1.089     1.538 r     -         
    +un1_FS_38_i                  Net          -          -       -         -           2         
    +LEDEN                        FD1P3AX      SP         In      0.000     1.538 r     -         
    +=============================================================================================
    +
    +
    +
    +##### END OF TIMING REPORT #####]
    +
    +Timing exceptions that could not be applied
    +
    +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 201MB peak: 202MB)
    +
    +
    +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 201MB peak: 202MB)
    +
    +---------------------------------------
    +Resource Usage Report
    +Part: lcmxo2_640hc-4
    +
    +Register bits: 111 of 640 (17%)
    +PIC Latch:       0
    +I/O cells:       63
    +
    +
    +Details:
    +BB:             8
    +CCU2D:          10
    +EFB:            1
    +FD1P3AX:        28
    +FD1P3IX:        2
    +FD1S3AX:        52
    +FD1S3IX:        4
    +GSR:            1
    +IB:             25
    +IFS1P3DX:       9
    +INV:            6
    +OB:             30
    +OFS1P3BX:       4
    +OFS1P3DX:       11
    +OFS1P3JX:       1
    +ORCALUT4:       199
    +PFUMX:          3
    +PUR:            1
    +VHI:            2
    +VLO:            2
    +Mapper successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 202MB)
    +
    +Process took 0h:00m:03s realtime, 0h:00m:03s cputime
    +# Sat Aug 19 21:54:55 2023
    +
    +###########################################################]
    +
    +
    diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_toc.htm b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_toc.htm index d3b0487..399e623 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_toc.htm +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/LCMXO2_640HC_impl1_toc.htm @@ -1,60 +1,60 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_compiler.log b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_compiler.log index b95cb8d..053f6d9 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_compiler.log +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_compiler.log @@ -1,12 +1,12 @@ -C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs -top RAM2GS -hdllog D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -dspmac -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC -I D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v -lib work -fv2001 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v -jobname "compiler" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\LCMXO2_640HC_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\LCMXO2_640HC_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -dspmac -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I ..\..\..\LCMXO2-640HC -I ..\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen ..\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 ..\..\..\RAM2GS-LCMXO2.v -lib work -fv2001 ..\..\REFB.v -jobname "compiler" -rc:0 success:1 runtime:1 -file:..\synwork\LCMXO2_640HC_impl1_comp.srs|io:o|time:1692233918|size:21157|exec:0|csum: -file:..\synlog\LCMXO2_640HC_impl1_compiler.srr|io:o|time:1692233969|size:6365|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v|io:i|time:1628601068|size:54295|exec:0|csum:CFBBE5B6AB5A98F0C71C4E305509B0E3 -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: -file:..\..\..\RAM2GS-LCMXO2.v|io:i|time:1692233914|size:28573|exec:0|csum:28E8FB7DCCB7771914C4CAAAD23A3A6B -file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: -file:..\..\REFB.v|io:i|time:1692233522|size:5624|exec:0|csum:AE22D4C116724FF57C15D0DA14242382 -file:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe|io:i|time:1628601404|size:5754368|exec:1|csum:EF00E91BAA13FCD84C7D68B353143F73 +C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs -top RAM2GS -hdllog Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -dspmac -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC -I Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v -lib work -fv2001 Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v -jobname "compiler" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\LCMXO2_640HC_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\LCMXO2_640HC_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -dspmac -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I ..\..\..\LCMXO2-640HC -I ..\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen ..\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 ..\..\..\RAM2GS-LCMXO2.v -lib work -fv2001 ..\..\REFB.v -jobname "compiler" +rc:0 success:1 runtime:1 +file:..\synwork\LCMXO2_640HC_impl1_comp.srs|io:o|time:1692496488|size:21082|exec:0|csum: +file:..\synlog\LCMXO2_640HC_impl1_compiler.srr|io:o|time:1692496488|size:6217|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v|io:i|time:1628601068|size:54295|exec:0|csum:CFBBE5B6AB5A98F0C71C4E305509B0E3 +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: +file:..\..\..\RAM2GS-LCMXO2.v|io:i|time:1692444754|size:21616|exec:0|csum:0F393AB914949E717BF46EC509D6B55E +file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: +file:..\..\REFB.v|io:i|time:1692444420|size:5679|exec:0|csum:0C5FF84B97A40274D01225BAA906AD7B +file:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe|io:i|time:1628601404|size:5754368|exec:1|csum:EF00E91BAA13FCD84C7D68B353143F73 diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_fpga_mapper.log b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_fpga_mapper.log index 77a28d0..a0341eb 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_fpga_mapper.log +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_fpga_mapper.log @@ -1,12 +1,12 @@ -C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\report\LCMXO2_640HC_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi -freq 100.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\syntmp\LCMXO2_640HC_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm -prjdir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\ -prjname proj_1 -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\LCMXO2_640HC_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -oedif ..\LCMXO2_640HC_impl1.edi -freq 100.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam LCMXO2_640HC_impl1.plg -osyn ..\LCMXO2_640HC_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\LCMXO2_640HC_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" -rc:1 success:1 runtime:3 -file:..\LCMXO2_640HC_impl1.edi|io:o|time:1692233975|size:204145|exec:0|csum: -file:..\..\..\RAM2GS.sdc|io:i|time:1692153140|size:181|exec:0|csum:86E5121E7073876CE838886B655C290C -file:..\synwork\LCMXO2_640HC_impl1_prem.srd|io:i|time:1692233971|size:28839|exec:0|csum:6AF572CB579AF7B57405A148BF7BEB9E -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v|io:i|time:1628601068|size:54295|exec:0|csum:CFBBE5B6AB5A98F0C71C4E305509B0E3 -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:LCMXO2_640HC_impl1.plg|io:o|time:1692233975|size:1070|exec:0|csum: -file:..\LCMXO2_640HC_impl1.srm|io:o|time:1692233974|size:38081|exec:0|csum: -file:..\synlog\LCMXO2_640HC_impl1_fpga_mapper.srr|io:o|time:1692233975|size:50128|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 +C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\report\LCMXO2_640HC_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -oedif Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi -freq 100.000 -tcl Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\syntmp\LCMXO2_640HC_impl1.plg -osyn Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.srm -prjdir Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\ -prjname proj_1 -log Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\LCMXO2_640HC_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -oedif ..\LCMXO2_640HC_impl1.edi -freq 100.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam LCMXO2_640HC_impl1.plg -osyn ..\LCMXO2_640HC_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\LCMXO2_640HC_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +rc:1 success:1 runtime:4 +file:..\LCMXO2_640HC_impl1.edi|io:o|time:1692496494|size:198884|exec:0|csum: +file:..\..\..\RAM2GS.sdc|io:i|time:1692234355|size:177|exec:0|csum:D3C84F35CD07AA1A8E8B9E68D571CD53 +file:..\synwork\LCMXO2_640HC_impl1_prem.srd|io:i|time:1692496491|size:28530|exec:0|csum:855C700F2374B4E67FE967AE38B1E8E0 +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v|io:i|time:1628601068|size:54295|exec:0|csum:CFBBE5B6AB5A98F0C71C4E305509B0E3 +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:LCMXO2_640HC_impl1.plg|io:o|time:1692496495|size:1070|exec:0|csum: +file:..\LCMXO2_640HC_impl1.srm|io:o|time:1692496494|size:37759|exec:0|csum: +file:..\synlog\LCMXO2_640HC_impl1_fpga_mapper.srr|io:o|time:1692496495|size:51516|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_multi_srs_gen.log b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_multi_srs_gen.log index cf97934..22f83b3 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_multi_srs_gen.log +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_multi_srs_gen.log @@ -1,7 +1,7 @@ -C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr -relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\LCMXO2_640HC_impl1_comp.srs -osyn ..\synwork\LCMXO2_640HC_impl1_mult.srs -log ..\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr -rc:0 success:1 runtime:0 -file:..\synwork\LCMXO2_640HC_impl1_comp.srs|io:i|time:1692233918|size:21157|exec:0|csum:BB526DCCC65867AFD6AA24AF2B7D8510 -file:..\synwork\LCMXO2_640HC_impl1_mult.srs|io:o|time:1692233919|size:13269|exec:0|csum: -file:..\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr|io:o|time:1692233919|size:1156|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe|io:i|time:1628601758|size:8899584|exec:1|csum:163057E8B8449A642661642A20A2247D +C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_comp.srs -osyn Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs -log Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr +relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\LCMXO2_640HC_impl1_comp.srs -osyn ..\synwork\LCMXO2_640HC_impl1_mult.srs -log ..\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr +rc:0 success:1 runtime:1 +file:..\synwork\LCMXO2_640HC_impl1_comp.srs|io:i|time:1692496488|size:21082|exec:0|csum:836A652852FF4B083104CDAE3FE041B6 +file:..\synwork\LCMXO2_640HC_impl1_mult.srs|io:o|time:1692496490|size:13087|exec:0|csum: +file:..\synlog\LCMXO2_640HC_impl1_multi_srs_gen.srr|io:o|time:1692496490|size:1142|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe|io:i|time:1628601758|size:8899584|exec:1|csum:163057E8B8449A642661642A20A2247D diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_premap.log b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_premap.log index 736b297..af8b4ba 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_premap.log +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/cmdrec_premap.log @@ -1,14 +1,14 @@ -C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\report\LCMXO2_640HC_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi -conchk_prepass D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_cck.rpt -freq 100.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs -flow prepass -gcc_prepass -osrd D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\syntmp\LCMXO2_640HC_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_prem.srd -prjdir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\ -prjname proj_1 -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_premap.srr -sn 2021.03 -jobname "premap" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\LCMXO2_640HC_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -oedif ..\LCMXO2_640HC_impl1.edi -conchk_prepass ..\LCMXO2_640HC_impl1_cck.rpt -freq 100.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\LCMXO2_640HC_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam LCMXO2_640HC_impl1.plg -osyn ..\synwork\LCMXO2_640HC_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\LCMXO2_640HC_impl1_premap.srr -sn 2021.03 -jobname "premap" -rc:1 success:1 runtime:2 -file:..\LCMXO2_640HC_impl1.edi|io:o|time:1692233923|size:210943|exec:0|csum: -file:..\LCMXO2_640HC_impl1_cck.rpt|io:o|time:1692233972|size:4979|exec:0|csum: -file:..\..\..\RAM2GS.sdc|io:i|time:1692153140|size:181|exec:0|csum:86E5121E7073876CE838886B655C290C -file:..\synwork\LCMXO2_640HC_impl1_mult.srs|io:i|time:1692233919|size:13269|exec:0|csum:9E33176D7D9CB39EFA557E27492465CA -file:..\synwork\LCMXO2_640HC_impl1_prem.srd|io:o|time:1692233971|size:28839|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v|io:i|time:1628601068|size:54295|exec:0|csum:CFBBE5B6AB5A98F0C71C4E305509B0E3 -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:LCMXO2_640HC_impl1.plg|io:o|time:1692233970|size:0|exec:0|csum: -file:..\synwork\LCMXO2_640HC_impl1_prem.srd|io:o|time:1692233971|size:28839|exec:0|csum: -file:..\synlog\LCMXO2_640HC_impl1_premap.srr|io:o|time:1692233972|size:8565|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 +C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\report\LCMXO2_640HC_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -oedif Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1.edi -conchk_prepass Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\LCMXO2_640HC_impl1_cck.rpt -freq 100.000 -tcl Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_mult.srs -flow prepass -gcc_prepass -osrd Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\syntmp\LCMXO2_640HC_impl1.plg -osyn Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\LCMXO2_640HC_impl1_prem.srd -prjdir Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\ -prjname proj_1 -log Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synlog\LCMXO2_640HC_impl1_premap.srr -sn 2021.03 -jobname "premap" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO2_640HC -package TG100C -grade -4 -maxfan 1000 -pipe -infer_seqShift -forcenogsr -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\LCMXO2_640HC_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -oedif ..\LCMXO2_640HC_impl1.edi -conchk_prepass ..\LCMXO2_640HC_impl1_cck.rpt -freq 100.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\LCMXO2_640HC_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\LCMXO2_640HC_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam LCMXO2_640HC_impl1.plg -osyn ..\synwork\LCMXO2_640HC_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\LCMXO2_640HC_impl1_premap.srr -sn 2021.03 -jobname "premap" +rc:1 success:1 runtime:1 +file:..\LCMXO2_640HC_impl1.edi|io:o|time:1692444765|size:198883|exec:0|csum: +file:..\LCMXO2_640HC_impl1_cck.rpt|io:o|time:1692496491|size:4865|exec:0|csum: +file:..\..\..\RAM2GS.sdc|io:i|time:1692234355|size:177|exec:0|csum:D3C84F35CD07AA1A8E8B9E68D571CD53 +file:..\synwork\LCMXO2_640HC_impl1_mult.srs|io:i|time:1692496490|size:13087|exec:0|csum:61E80912990BDA14052126B047A737B2 +file:..\synwork\LCMXO2_640HC_impl1_prem.srd|io:o|time:1692496491|size:28530|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v|io:i|time:1628601068|size:54295|exec:0|csum:CFBBE5B6AB5A98F0C71C4E305509B0E3 +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:LCMXO2_640HC_impl1.plg|io:o|time:1692496490|size:0|exec:0|csum: +file:..\synwork\LCMXO2_640HC_impl1_prem.srd|io:o|time:1692496491|size:28530|exec:0|csum: +file:..\synlog\LCMXO2_640HC_impl1_premap.srr|io:o|time:1692496491|size:8572|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 diff --git a/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html b/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html index 9175808..e1af418 100644 --- a/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html +++ b/CPLD/LCMXO2-640HC/impl1/syntmp/statusReport.html @@ -1,114 +1,116 @@ - - - Project Status Summary Page - - - - - - -
    - - - - - - - - - - -
    Project Settings
    Project Name proj_1 Device Name impl1: Lattice MachXO2 : LCMXO2_640HC
    Implementation Name impl1 Top Module RAM2GS
    Pipelining 1 Retiming 0
    Resource Sharing 1 Fanout Guide 1000
    Disable I/O Insertion 0 Disable Sequential Optimizations 0
    Clock Conversion 1 FSM Compiler 1

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Run Status
    Job NameStatusCPU TimeReal TimeMemoryDate/Time
    (compiler)Complete800-00m:00s-8/16/2023
    8:59:29 PM
    (premap)Complete23100m:01s0m:01s175MB8/16/2023
    8:59:32 PM
    (fpga_mapper)Complete22700m:03s0m:03s193MB8/16/2023
    8:59:35 PM
    -
    - - - - - - - - - - - - - - - - -
    Area Summary
    Register bits 109I/O cells 63
    Block RAMs -(v_ram) 0DSPs -(dsp_used) 0
    ORCA LUTs -(total_luts) 206

    - - - - - - - - - - - - -
    Timing Summary
    Clock NameReq FreqEst FreqSlack
    PHI22.9 MHz1.0 MHz-1.832
    RCLK62.5 MHz22.1 MHz-0.784
    nCCAS2.9 MHzNANA
    nCRAS2.9 MHz1.0 MHz-1.725
    System100.0 MHzNA15.472
    -
    - - - - - - -
    Optimizations Summary
    Combined Clock Conversion 4 / 0

    -
    -
    + + + Project Status Summary Page + + + + + + +
    + + + + + + + + + + +
    Project Settings
    Project Name proj_1 Device Name impl1: Lattice MachXO2 : LCMXO2_640HC
    Implementation Name impl1 Top Module RAM2GS
    Pipelining 1 Retiming 0
    Resource Sharing 1 Fanout Guide 1000
    Disable I/O Insertion 0 Disable Sequential Optimizations 0
    Clock Conversion 1 FSM Compiler 1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Run Status
    Job NameStatusCPU TimeReal TimeMemoryDate/Time
    (compiler)Complete800-00m:00s-8/19/2023
    9:54:48 PM
    (premap)Complete24100m:01s0m:01s184MB8/19/2023
    9:54:51 PM
    (fpga_mapper)Complete23700m:03s0m:03s202MB8/19/2023
    9:54:55 PM
    Multi-srs GeneratorComplete00m:01s8/19/2023
    9:54:50 PM
    +
    + + + + + + + + + + + + + + + + +
    Area Summary
    Register bits 111I/O cells 63
    Block RAMs +(v_ram) 0DSPs +(dsp_used) 0
    ORCA LUTs +(total_luts) 199

    + + + + + + + + + + + + +
    Timing Summary
    Clock NameReq FreqEst FreqSlack
    PHI22.9 MHz1.0 MHz-1.828
    RCLK62.5 MHz22.1 MHz-0.876
    nCCAS2.9 MHzNANA
    nCRAS2.9 MHz1.0 MHz-1.725
    System100.0 MHzNA13.991
    +
    + + + + + + +
    Optimizations Summary
    Combined Clock Conversion 4 / 0

    +
    +
    \ No newline at end of file diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/.cckTransfer b/CPLD/LCMXO2-640HC/impl1/synwork/.cckTransfer index 5be0367a8d17ca95aac755314f30f037738728a8..56f0d3b9348388deefa6c4458abf1028991380fe 100644 GIT binary patch delta 417 zcmV;S0bc&m1JDDIIe!w$s3)is<4Wrp_8qq8rj=SHfmLM$T7EqP2QFOk&Ck};`|SHO z7~6a)Jo`5SyKzp$kfU!AI}0+$T|mr6pC;TemskF|1*-?y40)Nm?r~VgHWT#YIxY#X z+vO6vU&k+m0>ak?U3VTD%r_EGuG2fh&F~gaZ=N2yVd-GID1UJd;n2cR`ui~HUri8> znQlEZEGLY4L?}U&GbKSPylzI66=E6A^X%eOr|?KSL7YuO8w1M0`WiQ7Y|$X&K7s>Q zo)gy9Lq>HW!Bo*X_=c1XRwSubwO%0~0ljsyx===CwgAs3X5Q?!qJyTLM5~EoYdDmb z9;1vPpQ_;+T7QPm$z|2@+ppbJ(lOV@R9Z)+OiFv#RY>hvd#3518%Q;oKs9#`D&^0g zN|Mz!Ce0*j2!v4i%Q#24%Cu*t)b!2Sai>gVl^wLpIK8aE@YG!m*AL6}RsGQNcy5~W zf2=0h_tShIS(|=&#?SZ7#g863T!_0@trI*`&yC(aA{wik@u{&7skvxs{Q>|0|NjF3 L#&GC@wE_SDG)v3; delta 418 zcmV;T0bTyk1JMJJIe)Uis3)is<4Wrp`VQOkhLyHTLRXa$X!-RF9Jp|;Z+^C(-e(^! zV64-%@Z{eK?8Z3}L-xK#Y%ItWHvusleI9YkTweK?7OWm*HRO5fy5n{p+Dy<-%P=Rr zZs%+0ZW+E23J6a#y6&=VFx^T#yN>S&x7)Wky*YjDwsQyDM1P4>2=^@vr9XsG|7n7- z&vfURVL4&Q140R+oGA%X;bk?VtPsm^o+cNkI)z8t2;yWC+89vot*>!Y#u^PW>>@Z| z;VEHRJY-ZC5{wm{gRe;0U`3K@RqGY<9?&}{s|#gNW()9qX6DuIDmrM~NVJ+bwubxi z++&ado))Z0RR63 M052JwOtk_403eCYVgLXD diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep index 68dc0e5..084e3fa 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep +++ b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.fdep @@ -1,21 +1,21 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\synwork\\LCMXO2_640HC_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-dspmac|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001|-lib|work|-fv2001" -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\RAM2GS-LCMXO2.v":1692233914 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\REFB.v":1692233522 -0 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v" verilog -1 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" verilog -#Dependency Lists(Uses List) -0 1 -1 -1 -#Dependency Lists(Users Of) -0 -1 -1 0 -#Design Unit to File Association -module work REFB 1 -module work RAM2GS 0 +#OPTIONS:"|-layerid|0|-orig_srs|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\synwork\\LCMXO2_640HC_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-dspmac|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001|-lib|work|-fv2001" +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\RAM2GS-LCMXO2.v":1692444754 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC\\REFB.v":1692444420 +0 "Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v" verilog +1 "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" verilog +#Dependency Lists(Uses List) +0 1 +1 -1 +#Dependency Lists(Users Of) +0 -1 +1 0 +#Design Unit to File Association +module work REFB 1 +module work RAM2GS 0 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.rt.csv b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.rt.csv index 915b7cd..0b328e3 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.rt.csv +++ b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.rt.csv @@ -1 +1 @@ -Library, Design Unit, compile Time, Peak Mem Usage +Library, Design Unit, compile Time, Peak Mem Usage diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.srs b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_comp.srs index c9a54d2cd0f41663287e823860c8bf887f907c71..1216a87adac367e7b6b73734faacaa8f5c873afe 100644 GIT binary patch literal 21082 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 literal 21157 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 I)PM>B05uj`T>t<8 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m.srm b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_m.srm index b926cbbb533e787c9d769d2c8b4c5211a27c65df..8233adb83f10cf0853b719f3c8808240d27ad7d5 100644 GIT binary patch literal 37759 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 literal 38081 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
    V3&H@$Yu3=xn@rTho1Lu=;?Xz$>{&Y>q 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 MH6#YXhOb`zA4&RmN&o-= delta 9454 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

    w{1O6IT!U8Li z>_tLA44W6a5+^vH^lL9CF4gXpwuO)eydPT^pBK#&tG%GSp-EiJtYh<_rhGQeZwQ$9 z_)2UH`wcbTPu(88L0WS6ES2i)yEJ{E6t4DA-yyHJq|TCMOR3|?;v!?q1CKeKMxsk=%p@bRyXXV@c_ewB-3Q>RZjnzYrZ{!_;MLjh(#&s4 z6?_nvE1mXU*Y$1pFU|0Lc940LQx1H0gD#MNz!t9cfbLl=x_!tqWaICdotd4lukg%s zS(j>iT!#ishdz;ef*i_3qcd zsb>#oMHNvFmgEbCVwTHDyoP)@<;hrS0^@U;VcQh?J=r=L9t!Z}pig_*dv$`GAU}-# zjxFq!Uv?b(1_L?1HC=vc(}9(>>Sj$9>x?aeJq|NZ%Obw-Tz`kT)JP4uOYW{w&1hEy zTNa!IuPdmYqvUEJCDCK2Yd}l%^m6yeau|f50@BG2?#2`KthRRnF}Q%xqOH9D;!u}G zQS^=w_rkVjeXx4rYqOtSj6g12yMJZ=B_0*E?h|df8?nBAy#WDH4zD09I{GXB6;YF5 zZ(|Gj?5v#90aJm<2(jhBtg@HJX3XL zcA2e=v%S^FE26g#696(7RnVOWnq;mwP-nV%rasuXE%4&|glOzG#V1 zo<}$x3bQ33IuA(=(ZIsZiHqdUt;y!_C$T{6QBSLji_wx5T=j?hyGs`lOx6?c!#jWuZ@GEM)%X-$OU;a{_{ID3MmgpCp}8qmsArtQo;EghSGJ2<5Jom^S`w~pKd zk)BKA!=1g{C5?ukI8Ee;AL8PucN9HWhEF$klNu;9BZSlB{>PxDkM6ohM?Uo+>zJ!vont^ z8Ys@oH$1fgg2@1cP_&>yTGtuE=69yT1|gT?4UeDSwR}=W?;g38Xs7_4)A-hYZ;*a* zd2#-3ZNR{p80IdVz;_&KRCMR`c|>M*fDRP+Bb?CD|3{eU{g<|{CQ^t}()%>_*JWpj zbgSqk!l$v)(t&khSPnm}Q8wvGp+>e7z(c>y)P3bb+k|M$(}VJTPyL4+;Z=$=L=02F zXGOW9-o=Bl5?9^RCY}}Q6&IbtFqXxgc>Fq~}V?^l~j$FX1D^7)NEVkxEHM*15$l z3V#U~qNVUc5L~aP3j$)>)Gh@bf7}ye<(wQ7%yd~!F2q%HBiMVzT6pU)CmI=~$~}uN zo0}R(stv3Q-H%bWuEhfE8R_{gWS!^i>IciBGLssvh25eyE~R!d26)$|2HrWLGqy*{ z^umc0`eg9~gXBZEK|f48s|k~l;Gxr?f?;UK3+%V91nVH)5de%YW;O=Kmp0=*Nq`P; zp-ez=Jrl|;+8?bX&Rr|huy^_dR5KvHE4JmQs+Ng9)T4QP&zd2=WT|OAV(b;$B5;Oo zi;PkDr)UL3`}H7&t6OinY^3dnUB;G?(-%UbFb{5vaa*pH-mNF2f=FuO7~&z%6dYIH z7bby+qSy#GV1rXBZitcXbAU~Zs_aKzBKa~Uvj*nJ2LZ`%>feHu(#(zarNd@noZ>x( z`@7>-bOi#5Ffc(HGbJ9&&H3WFLiPD&6nm)4>b zs-44!@z86<$SN*8D_MX>;MYhW#WD9%z+ZtFQG7MxPg?L~;?MZsE^_)F@5u3jo@Ifo zskNx$pxw2E8+S~(5bj;e&v?TuXgqDU;B#tbZHb0Md!-|el|DW}`Z?y=tFho{JBAgP zf&e%GWgHaX5t5g4DYzY}VcVe{hE61$O-F%~j%&!0Iyj97grTwZ-=a7R>eD2Xsy1b@ zx!wP)&G)kEe(02cLfC~v`-94S?I*qkanSpj>UL_XoP}$O%CPU!;TeoQ%H7_Klm(fAW)Y5Hgq5vD|DUrT#nhgN+m(Vy{$JOy^OMPCm+fR^AAKGX{q4Z!o?iNAQ<7z+?WF31z@P-h*({RP)0ZIC$RgcN z&pmPztOs66+y5{sbpIAGnyMNa#QHcgtkt#p%t`c@>$%J^eai-srE~CylPDhU8=YYh zut%}=PdBI9N{_{BZb!g@V5NVXTpw00)-uu4TmU3HDWGhtz>N^>^oV2R zrXi(FJxNTLpE9S~tVKP#va|inZOcL!d4HfjO)k%cc}08TI=VIG z|0klT%@2r}&Hak6<>#Q<3%$C|yLZ&SAnX+AXclG+FWC25iuWDWYkb1hSxH);BAaZ@ zc6iPwN;|4r{;TWM3?ANoG4$E=??sebQ>Co~(Hq&x96*J}+xHYjK5IdbT%)4(??2 zQ({FI2l*B`)8N^sTKTvmtD)hGXY-~u_W z%K~dlc%F+LuI$iS<8_4EP}cwq>nz9?CfA}wVVUomAoHd|-%21D9Gj+{Tt|YTBOr8C z*s+FNbdUj&|20L>aT+HO8BhC)3F}D0w#I-QNP3<9ih4#lt-<$UEyCiZQW>$1&Zj|E zEswmtpne%;10B-68?8C4Xtj1Tw)}?k8DG;N4fu_|+ms;QU)-kDuhO7mH`BvGne z#WI>WLfEjl>gZ~Y(?9Zr%6_lW$Z^{jvckFOW_?$d8^HUAEhH0i3oubbGAD5rics^FV7!|sVy)rjmRd`!!d#e98) zH^kcLafa4!x4vD+#yql#PB564znKNcQ5)tQzkm>=yc7`?=s?cV@Ww9`U4Bn#f2h4{ zOJKK~r7Q3Abqvd)}lbV}Ckk4Gi0Lwc=jx+*Yf>S!@%* z+r@m{+@=HtEah+Wk$cNVN~^kO!#z>% literal 328 zcmV-O0k{4iiwFP!000003%t|YYQr!L0MPe-g~{k+b8B~Ne??#%S!q0c!%o8T_e)6| zva!L+);`(D$j1`$dc9^oxR$WJtR#7@G_7iu;2v~D1gV5^R>C$dN{EB?m52mdRiHa0 z+kz3;yt^{(lLLD=WwU%GYR1yo3M)mBEXj-HFvV2lJq4xRkrn3cR=etLoRDSJyZhl@d5UT5n;C!n zipTy6T<*bHl0o$Z(qU)Dfr@ZcZPQf{gei{^&}(_#Z#0_EGye3a+JDVY?&fKiHwc01 zYVm~U8@JzTbT+oB6zy!j{7XC2C~>~>^<2ha`H9!69{709ryu=e1G5X5&0scx*@R># aF#859@~g!U00030{{sM=amBSO1pojfhoHm& diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr index bf5564a..952e493 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr +++ b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.gcr @@ -1,26 +1,26 @@ -i RCLK -m 0 0 -u 30 65 -p {p:RCLK}{t:nRWE.C} -e ckid0_0 {t:nRWE.C} dffs -c ckid0_0 {p:RCLK} port Unsupported/too complex instance on clock path -i PHI2 -m 0 0 -u 11 18 -p {p:PHI2}{t:RA11.C} -e ckid0_1 {t:RA11.C} sdffr -c ckid0_1 {p:PHI2} port Unsupported/too complex instance on clock path -i nCCAS -m 0 0 -u 1 8 -p {p:nCCAS}{t:CASr_2.I[0]}{t:CASr_2.OUT[0]}{t:WRD[7:0].C} -e ckid0_2 {t:WRD[7:0].C} dff -c ckid0_2 {p:nCCAS} port Unsupported/too complex instance on clock path -i nCRAS -m 0 0 -u 4 14 -p {p:nCRAS}{t:RASr_2.I[0]}{t:RASr_2.OUT[0]}{t:RowA[9:0].C} -e ckid0_3 {t:RowA[9:0].C} sdffpatr -c ckid0_3 {p:nCRAS} port Unsupported/too complex instance on clock path -l 0 0 0 0 0 0 -r 0 0 0 0 0 0 0 0 +i RCLK +m 0 0 +u 30 65 +p {p:RCLK}{t:nRWE.C} +e ckid0_0 {t:nRWE.C} dffs +c ckid0_0 {p:RCLK} port Unsupported/too complex instance on clock path +i PHI2 +m 0 0 +u 12 19 +p {p:PHI2}{t:RA11.C} +e ckid0_1 {t:RA11.C} sdffr +c ckid0_1 {p:PHI2} port Unsupported/too complex instance on clock path +i nCCAS +m 0 0 +u 1 8 +p {p:nCCAS}{t:CASr_2.I[0]}{t:CASr_2.OUT[0]}{t:WRD[7:0].C} +e ckid0_2 {t:WRD[7:0].C} dff +c ckid0_2 {p:nCCAS} port Unsupported/too complex instance on clock path +i nCRAS +m 0 0 +u 4 14 +p {p:nCRAS}{t:RASr_2.I[0]}{t:RASr_2.OUT[0]}{t:RowA[9:0].C} +e ckid0_3 {t:RowA[9:0].C} sdffpatr +c ckid0_3 {p:nCRAS} port Unsupported/too complex instance on clock path +l 0 0 0 0 0 0 +r 0 0 0 0 0 0 0 0 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.srs b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult.srs index e9279133688462e42dc52dc7c6191e6ec2c8efc4..53b41edf41501d10c82c5b1730ba637a56454c1f 100644 GIT binary patch literal 13087 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 literal 13269 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 T0ssI2|NjF3B!E~7!K?rP21Ad4 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/1.srs b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/1.srs index ea524b7f32e20664cf280d32644c0dd8b76e0172..66bbae307d49dec447f45685a85e4356f5e4095f 100644 GIT binary patch literal 4788 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 BK%oEt literal 4774 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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/fileinfo.srs b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_mult_srs/fileinfo.srs index bdbde5add3ecfe5347053e4a5ed8d5a3e970c0ee..461334475a25b6771d7b4469d22e5b8f3b852710 100644 GIT binary patch literal 258 zcmV+d0sa0TiwFP!000003%t_7YQr!L0ML8C!ldNbkfdD)&94Z8Bg>749UChR%iqtV zT}j6--B?Z%65=7DJkLdlek2^fBB@pzOB*dRJb`6IP)0gGDA*TO4LlE_lT2Vu2lj$A zjNl~p@4haktP$JKX;E&Z7NX!$4oXHPva-sWYt3*wQ8d<{MRhCDfN>6q7G?7k9Gqzt z=>=TmWsj+?y9M|9d+q}O0RR6308~k5 I%+mt^05)KC761SM literal 273 zcmV+s0q*`EiwFP!000003%t_JYQr!L2k?8J!ldNbkfdD)&8rB4BP)rAzpxUsy!|rT zjcliNV?Egj#7`3cJkLdlej=PcUQ%tZ4eff7;ROsMg3{7@r{GvrHSpp>Cz-(L4$O?? zCa@C6S6>$?YsCJ&Ta-K53sLYSosvS`vU*~_Hu&*oDYq7U*x4hspkelC&7603ruj6Dds6br~roY1OW zn?ZCa^6s^qwmB>?n4NF1SZuJKX^-P_UP|104eDeIw(T(1)(=WjtE_5U4O3JxLf_G!sxi(h0!jm zHs^C#Mf?4JbnEa~uE(-?4;b2Q-0%hQp(B0r2k0qXVf4S#6X&A0Uw>gx{d{{^?da&} zdj)FflLHNk3-SrSi#hkV+bqVOq?N$MAg#b82@7OUw}uqV=%&3P4ubyq3ur$yHzdG( z=-QAh2v`khQh&1kLJ(%TL#mCX)I)v=9m@(ZSd&OCg>cEyWp!%EUb`#uD74$1h%5;{L{eF5 zAyV#mBli*vBD--T*;XW`4v@wE_mZ{~bb%g&EapS;)ks zk!T6%#nhByhdM3NBvpytL3hoLlkw}dj>uvNR0*tTPGu?*UPa)!7||MuR4QJg_`$z~ zX^JAFoPX9oG-GfL*%tu$iWuUK@JK%S?5WXrwzXHSok6ZMG2*`Pca2Hz$v( zlYPAngAR^ztNJji0}@MM{eI;IVGaA3t-{``Nf1d1z6$$M?FS%77hhk1=o>zAzCH7u zbbq+2i{pum2rw0QWD?0YP%Cm3i7R;Vh1GZLuCKi?xC7Q*@I_~z4Lz@B0d!vPo$y%> zzI)T^PSW`?P_e^|fxVFDNLcyou-WAeD_PV{h!VgiacA=p?C5`eaPNL){*k;yRSi#J zS%Xee3jXV#?pVL-sjfq4xJhF8BX-Bwn19e}1!RT|;0oUEPV)<*ZIW_VE_0F0_T|J1r7^Jc)qlEiaeM3Jj0?GVoo{9ml9*SU?~ksxcC2Ao+5IXFPpNK!+@E{JYcP$p zjXj{vW9(*ayb6Gg&zNZUt=(7fUVlIKf!&kp^6xMyFEzCEzPj|$0GA4ygO4_kO~5ub zp25muZUAjgt&M$${iChb)_2}(yMSDmX?suM-?&+yxmlmNS^pe2w;$Zxp18UFd2SAl wn}g%#@PD`&1#I-m&FDXIL+tlA00030|Kf5`-~s>u0RR630A;{^uLB4G0CH@JjsO4v delta 1279 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 literal 144453 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 diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.ngo b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.ngo index b48b5153ef00ccdc2bbfae5ae433c2d4a69639d2..22159bf03843064e9c70087e6f8b7097574bfcc8 100644 GIT binary patch literal 70904 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Ξ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 literal 70904 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: 8.344ns/0.000ns; real time: 6 secs -Level 2, iteration 1 -0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 6 secs -Level 3, iteration 1 -0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.405ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -10(0.08%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 04:50:47 08/16/23 -Level 4, iteration 1 -5(0.04%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs -Level 4, iteration 2 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:47 08/16/23 - -Start NBR section for re-routing at 04:50:47 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Start NBR section for post-routing at 04:50:47 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 8.213ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Total CPU time 5 secs -Total REAL time: 6 secs -Completely routed. -End of route. 633 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. - - -All signals are completely routed. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 8.213 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.273 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 5 secs -Total REAL time to completion: 6 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:53:22 2023 + +C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO256C_impl1.p2t +RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir +RAM2GS_LCMXO256C_impl1.prf -gui -msgset +Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml + + +Preference file: RAM2GS_LCMXO256C_impl1.prf. + +Level/ Number Worst Timing Worst Timing Run NCD +Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status +---------- -------- ----- ------ ----------- ----------- ---- ------ +5_1 * 0 8.213 0 0.273 0 08 Completed + +* : Design saved. + +Total (real) run time for 1-seed: 8 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Lattice Place and Route Report for Design "RAM2GS_LCMXO256C_impl1_map.ncd" +Sat Aug 19 20:53:22 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir/5_1.ncd RAM2GS_LCMXO256C_impl1.prf +Preference file: RAM2GS_LCMXO256C_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file RAM2GS_LCMXO256C_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO256C +Package: TQFP100 +Performance: 3 +Loading device for application par from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.19. +Performance Hardware Data Status: Version 1.124. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 67/79 84% used + 67/78 85% bonded + SLICE 69/128 53% used + + + +Number of Signals: 251 +Number of Connections: 633 + +Pin Constraint Summary: + 67 out of 67 pins locked (100% locked). + +The following 2 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 32) + PHI2_c (driver: PHI2, clk load #: 14) + +The following 1 signal is selected to use the secondary clock routing resources: + nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) + +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +........ +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +................. +Placer score = 582801. +Finished Placer Phase 1. REAL time: 7 secs + +Starting Placer Phase 2. +. +Placer score = 582334 +Finished Placer Phase 2. REAL time: 7 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 1 out of 4 (25%) + General PIO: 1 out of 80 (1%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT4A)", clk load = 32 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB3D)", clk load = 14 + SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB4A)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 2 out of 4 (50%) + SECONDARY: 1 out of 4 (25%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 67 out of 79 (84.8%) PIO sites used. + 67 out of 78 (85.9%) bonded PIO sites used. + Number of PIO comps: 67; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+------------+------------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | ++----------+----------------+------------+------------+------------+ +| 0 | 36 / 41 ( 87%) | 3.3V | - | - | +| 1 | 31 / 37 ( 83%) | 3.3V | - | - | ++----------+----------------+------------+------------+------------+ + +Total placer CPU time: 7 secs + +Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. + +0 connections routed; 633 unrouted. +Starting router resource preassignment +WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. +WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Completed router resource preassignment. Real time: 8 secs + +Start NBR router at 20:53:30 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 20:53:30 08/19/23 + +Start NBR section for initial routing at 20:53:30 08/19/23 +Level 1, iteration 1 +0(0.00%) conflict; 545(86.10%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 8 secs +Level 2, iteration 1 +0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 8 secs +Level 3, iteration 1 +0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.405ns/0.000ns; real time: 8 secs +Level 4, iteration 1 +10(0.08%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 20:53:30 08/19/23 +Level 4, iteration 1 +5(0.04%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs +Level 4, iteration 2 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 20:53:30 08/19/23 + +Start NBR section for re-routing at 20:53:30 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs + +Start NBR section for post-routing at 20:53:30 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 8.213ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Total CPU time 8 secs +Total REAL time: 8 secs +Completely routed. +End of route. 633 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. + + +All signals are completely routed. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 8.213 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.273 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 8 secs +Total REAL time to completion: 8 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.prf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.prf index 0733b95..3c20bac 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.prf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.prf @@ -1,79 +1,79 @@ -SCHEMATIC START ; -# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Wed Aug 16 04:50:40 2023 - -SYSCONFIG INBUF=ON CONFIG_SECURE=OFF ; -LOCATE COMP "RD[0]" SITE "64" ; -LOCATE COMP "Dout[0]" SITE "1" ; -LOCATE COMP "PHI2" SITE "39" ; -LOCATE COMP "UFMSDO" SITE "55" ; -LOCATE COMP "UFMSDI" SITE "56" ; -LOCATE COMP "UFMCLK" SITE "58" ; -LOCATE COMP "nUFMCS" SITE "53" ; -LOCATE COMP "RDQML" SITE "61" ; -LOCATE COMP "RDQMH" SITE "76" ; -LOCATE COMP "nRCAS" SITE "78" ; -LOCATE COMP "nRRAS" SITE "73" ; -LOCATE COMP "nRWE" SITE "72" ; -LOCATE COMP "RCKE" SITE "82" ; -LOCATE COMP "RCLK" SITE "86" ; -LOCATE COMP "nRCS" SITE "77" ; -LOCATE COMP "RD[7]" SITE "71" ; -LOCATE COMP "RD[6]" SITE "70" ; -LOCATE COMP "RD[5]" SITE "69" ; -LOCATE COMP "RD[4]" SITE "68" ; -LOCATE COMP "RD[3]" SITE "67" ; -LOCATE COMP "RD[2]" SITE "66" ; -LOCATE COMP "RD[1]" SITE "65" ; -LOCATE COMP "RA[11]" SITE "79" ; -LOCATE COMP "RA[10]" SITE "87" ; -LOCATE COMP "RA[9]" SITE "85" ; -LOCATE COMP "RA[8]" SITE "96" ; -LOCATE COMP "RA[7]" SITE "100" ; -LOCATE COMP "RA[6]" SITE "91" ; -LOCATE COMP "RA[5]" SITE "95" ; -LOCATE COMP "RA[4]" SITE "99" ; -LOCATE COMP "RA[3]" SITE "97" ; -LOCATE COMP "RA[2]" SITE "94" ; -LOCATE COMP "RA[1]" SITE "89" ; -LOCATE COMP "RA[0]" SITE "98" ; -LOCATE COMP "RBA[1]" SITE "83" ; -LOCATE COMP "RBA[0]" SITE "63" ; -LOCATE COMP "LED" SITE "57" ; -LOCATE COMP "nFWE" SITE "22" ; -LOCATE COMP "nCRAS" SITE "43" ; -LOCATE COMP "nCCAS" SITE "27" ; -LOCATE COMP "Dout[7]" SITE "3" ; -LOCATE COMP "Dout[6]" SITE "2" ; -LOCATE COMP "Dout[5]" SITE "5" ; -LOCATE COMP "Dout[4]" SITE "4" ; -LOCATE COMP "Dout[3]" SITE "6" ; -LOCATE COMP "Dout[2]" SITE "8" ; -LOCATE COMP "Dout[1]" SITE "7" ; -LOCATE COMP "Din[7]" SITE "19" ; -LOCATE COMP "Din[6]" SITE "20" ; -LOCATE COMP "Din[5]" SITE "17" ; -LOCATE COMP "Din[4]" SITE "18" ; -LOCATE COMP "Din[3]" SITE "16" ; -LOCATE COMP "Din[2]" SITE "14" ; -LOCATE COMP "Din[1]" SITE "15" ; -LOCATE COMP "Din[0]" SITE "21" ; -LOCATE COMP "CROW[1]" SITE "34" ; -LOCATE COMP "CROW[0]" SITE "32" ; -LOCATE COMP "MAin[9]" SITE "51" ; -LOCATE COMP "MAin[8]" SITE "50" ; -LOCATE COMP "MAin[7]" SITE "44" ; -LOCATE COMP "MAin[6]" SITE "49" ; -LOCATE COMP "MAin[5]" SITE "45" ; -LOCATE COMP "MAin[4]" SITE "46" ; -LOCATE COMP "MAin[3]" SITE "47" ; -LOCATE COMP "MAin[2]" SITE "37" ; -LOCATE COMP "MAin[1]" SITE "38" ; -LOCATE COMP "MAin[0]" SITE "23" ; -FREQUENCY PORT "PHI2" 2.900000 MHz ; -FREQUENCY PORT "nCCAS" 2.900000 MHz ; -FREQUENCY PORT "nCRAS" 2.900000 MHz ; -FREQUENCY PORT "RCLK" 62.500000 MHz ; -SCHEMATIC END ; -BLOCK RESETPATHS ; -BLOCK ASYNCPATHS ; -COMMERCIAL ; +SCHEMATIC START ; +# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Sat Aug 19 20:53:19 2023 + +SYSCONFIG INBUF=ON CONFIG_SECURE=OFF ; +LOCATE COMP "RD[0]" SITE "64" ; +LOCATE COMP "Dout[0]" SITE "1" ; +LOCATE COMP "PHI2" SITE "39" ; +LOCATE COMP "UFMSDO" SITE "55" ; +LOCATE COMP "UFMSDI" SITE "56" ; +LOCATE COMP "UFMCLK" SITE "58" ; +LOCATE COMP "nUFMCS" SITE "53" ; +LOCATE COMP "RDQML" SITE "61" ; +LOCATE COMP "RDQMH" SITE "76" ; +LOCATE COMP "nRCAS" SITE "78" ; +LOCATE COMP "nRRAS" SITE "73" ; +LOCATE COMP "nRWE" SITE "72" ; +LOCATE COMP "RCKE" SITE "82" ; +LOCATE COMP "RCLK" SITE "86" ; +LOCATE COMP "nRCS" SITE "77" ; +LOCATE COMP "RD[7]" SITE "71" ; +LOCATE COMP "RD[6]" SITE "70" ; +LOCATE COMP "RD[5]" SITE "69" ; +LOCATE COMP "RD[4]" SITE "68" ; +LOCATE COMP "RD[3]" SITE "67" ; +LOCATE COMP "RD[2]" SITE "66" ; +LOCATE COMP "RD[1]" SITE "65" ; +LOCATE COMP "RA[11]" SITE "79" ; +LOCATE COMP "RA[10]" SITE "87" ; +LOCATE COMP "RA[9]" SITE "85" ; +LOCATE COMP "RA[8]" SITE "96" ; +LOCATE COMP "RA[7]" SITE "100" ; +LOCATE COMP "RA[6]" SITE "91" ; +LOCATE COMP "RA[5]" SITE "95" ; +LOCATE COMP "RA[4]" SITE "99" ; +LOCATE COMP "RA[3]" SITE "97" ; +LOCATE COMP "RA[2]" SITE "94" ; +LOCATE COMP "RA[1]" SITE "89" ; +LOCATE COMP "RA[0]" SITE "98" ; +LOCATE COMP "RBA[1]" SITE "83" ; +LOCATE COMP "RBA[0]" SITE "63" ; +LOCATE COMP "LED" SITE "57" ; +LOCATE COMP "nFWE" SITE "22" ; +LOCATE COMP "nCRAS" SITE "43" ; +LOCATE COMP "nCCAS" SITE "27" ; +LOCATE COMP "Dout[7]" SITE "3" ; +LOCATE COMP "Dout[6]" SITE "2" ; +LOCATE COMP "Dout[5]" SITE "5" ; +LOCATE COMP "Dout[4]" SITE "4" ; +LOCATE COMP "Dout[3]" SITE "6" ; +LOCATE COMP "Dout[2]" SITE "8" ; +LOCATE COMP "Dout[1]" SITE "7" ; +LOCATE COMP "Din[7]" SITE "19" ; +LOCATE COMP "Din[6]" SITE "20" ; +LOCATE COMP "Din[5]" SITE "17" ; +LOCATE COMP "Din[4]" SITE "18" ; +LOCATE COMP "Din[3]" SITE "16" ; +LOCATE COMP "Din[2]" SITE "14" ; +LOCATE COMP "Din[1]" SITE "15" ; +LOCATE COMP "Din[0]" SITE "21" ; +LOCATE COMP "CROW[1]" SITE "34" ; +LOCATE COMP "CROW[0]" SITE "32" ; +LOCATE COMP "MAin[9]" SITE "51" ; +LOCATE COMP "MAin[8]" SITE "50" ; +LOCATE COMP "MAin[7]" SITE "44" ; +LOCATE COMP "MAin[6]" SITE "49" ; +LOCATE COMP "MAin[5]" SITE "45" ; +LOCATE COMP "MAin[4]" SITE "46" ; +LOCATE COMP "MAin[3]" SITE "47" ; +LOCATE COMP "MAin[2]" SITE "37" ; +LOCATE COMP "MAin[1]" SITE "38" ; +LOCATE COMP "MAin[0]" SITE "23" ; +FREQUENCY PORT "PHI2" 2.900000 MHz ; +FREQUENCY PORT "nCCAS" 2.900000 MHz ; +FREQUENCY PORT "nCRAS" 2.900000 MHz ; +FREQUENCY PORT "RCLK" 62.500000 MHz ; +SCHEMATIC END ; +BLOCK RESETPATHS ; +BLOCK ASYNCPATHS ; +COMMERCIAL ; diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srd b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srd index ff7e47c3e975359ee9b1238bc4aa2ce57d4d4e55..49b09d37651a1a285a61e6c40852c3bdbdb00d7e 100644 GIT binary patch literal 22546 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

    ?!M(XgA^v`RS>Q^IEoPn3lpC@Kd34LC^2=Mvo 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 E06G(L9{>OV literal 20863 zcma&NWmHt}_XjE>Agv-^47wBe3TdCJv*4~tJ@iidh`pa!QK>!@!OJ1lj#dtP z)A$yTg2_bNm5>!btKgXt%nL7^ErUc4V9D`^owM_u+aJ8Cdwe@E^NQ3S zz@+fESY?0R`%{oBIF$Kw!Z@8u7zXM6hw79R7z5sJ*mjS31{lyBvJ7^+4LYy^7q&)XIV z7GNyZx|n$KKi;1d7m{(gc_wG50~72yW6M>`&@JZ1oq^ZFuMNrm8j&edX{`I?^nWs) ztEbLt_gx+JE1uQ^9@ETo<^(GzCsm;fD*SyRjxet#KyZa`{C*(QJI+N=u)?Ye^MP91 zPNjQjbI zRD?S`&5;5sH}`a*r?3np?mDFHUgwJ-2T1TCTo6&yv-OFNx~yp6$zG?0L_oqDs;-7T zcfLW!IA`n00Z%RvEA?zudp|l_Da&SGBmu&l?be1qprr3Cf*WLM0T}z{hC!;N1FgYsb-=_C z^Bs@vmGQE#SA(kobW4m~(bK7A!KBbjpUz700)R`R1M|*FlTxL*W1Zo(n7)Jjlm*Il z(3!;Cy$x*UZo#n~4|QyUz9`P|$r_ncZcQaI!8TIocqm``txCBYm#o!a<&mzRlT<35 z$((!TIUycrcE8eet+_fY@Cj!l5>YCGoiqPTvMDh#dnD5*LFQ2&ILDGLJPVcdKWvr9 zvGu|`wXQqT6=RwaRnD;-gq;K0K-<^RdxtiCMS3meys|rUNj__|fo~DnTJO8C2ar(S zMqA#|1*YxWGxfG!vw}nla`ldw(Pz8mr>0_Gj~=Qkf?IXc&9i0Q7f!atA~v_;HSO|m zORme2BkHZ8=Ny*5ZQ#oKyNBZPk_X?fm_6G_L!iMsVyP-D0LwV0t%iHYwiER=X!f0{ zQc>D|(`iL9tA_oLcj-U`XR7M4u1HqGS<=L};nJhNC3kehbczTl^Z+HH_+w9FD+>?^ z;G?BIeJSAmIv1Tv$%Om(SI6JEil)gFc+ZcLtDP6GM3`QKl0!HiRsBSH@DLaMgL7B8SPYH7Ljv^NtW@8`v5ffXlAiTe-r zFkf-fa#kza^>4C?r3)_+$zpN%0VJ@vgoN~U^%LCAKSx{bAOUK=m>J0?ottl?$n}$( z)n9Y#(mWu2^X#RGcJx?g>BHXMJ~AVxnTR?+v&-n{SwQ|)k_Pn&=;2tR3UKs$<>5GI z5nh3c<7 z>TMDLcmxccD1r4IB#&|fNIy5)=iW~vD|?5mK^IFQQosuH+Px!!fHnK-%FRObvU0k9 zh5b36o)kzUhdBEXp35%z=i(fRtb{VV{x;2?Cdx;oXtecikL^va?WO%Lk+7roq*k}L z3Y+dNY~JNh?*+=70zwu}Z*R*c<5-r`af4xdlVd)VtvS5}BzyC4K@{>M=pksASQ&*NnIt9G<-V8fqUNCxk0Dz&s&OrNnTZsz}K?O8bAoF1T=tT^oRwS`mGx?#`Lh^ z9iSaHY-_>dhhru)eu`#;wr5v%ogzI0cVCg%b@F0ex$Zm|H|{2kxf%)S1qX458iORY z`@U%zO3}ssS$^+vsCh*#)xvsobJ|an@luMY6f@K-CVh%~j+u+r1Hk=Y#@h}Y_g}NFU8}|N~cLC zveTvw^L0*4rkzf_qF}XyJG^C-n9XnSIi@-_749Lwqe-50yj#sq%57_NQ#fe(3v~OQ zLp{3Z5JWV*SBsE4SjAVkxvPXbm4uz!3+%jyolo>OoKY#Gut$UA@76!88jqi1t?16a z3Uy!0SzGasUG_SmiZbqTVQwb6YEBm5)*}XpvxGTU*n?SjbLp54M1CY-9xQ%OU^-|X zNt|y+D#m5}V?U)N$RCJ&Par%HNlw^7;LIS>>2poXSg@|M0zbXC!}BN2&ETmN1cxHk zNZ}E|n4VQy&B8|Onc&Ibe7|F(;uE%$*M622iqw z>D?*(cwiofs19v-KVdQ#uw1X!)Q}DzF$+ zJy{2EMKu2P)p z>2jF;z|aQj4{mgN-1gqkB5&>9KweVMLi&pz+46*3TW~%KtA5c}`Z%LU)}E$u*3B;s z!BIu<=#OHP4sruaA$pz_F>-$t;zy+=B+N^`Xa~saBR*KD1J^K$Ta;x!>TL}01hST# zC=kBt5-j5Xu57|HwD(EfvhZbnR#Tqsnd(7mF1|dXJ!D|24wzGgNbEK-{XV1qVdzI> zA1lKoToUNtP%Zr;xtU75*zsUB%xq{Lr-3hH@7gcu1!$VW=q_tO*^&P|ZctglcE{#h`o*Mr-Y3mqC)rBgVNf@FHuf;JwX zw{2B#XnO&_F5>ioEI)E^ckG`YWcO2~A?$*Xu%TmWUDqMimc?zA_2t^X8PAD;L2Ykx-kBITiu zp8=+4j{Z?XCyx*2<>te8B$5_ve&NId_#)}obcA#K7-r6F80*kCNUXo}yuEkm`jf5G zipAX)f9SJ7y#Vk?F0nyQRS#13O5#^gL^olJ<;bK*Ra9|_;%WLJZu6Lo&oFBQVmNCN z1=;(s!H|ZlM)5qyLBUzMI5t7=(*08lh}7t5&-6yz!&kY7A?Fzr%)dJhVKB+ZWITZ};d#)q{UGVs^E3YV%fy_Q^hZ@whc~ByneLq4N%Jix#XgBpn5B}E zRlA~z>WPJMh2V#@o9^{#+a2vy)r+J@j(Azp$>6mFrioaT=%hq;?&yH(&4T#RPwf_u z-L=#W6I=j2#=7r;sh|o=ntTDNzqv`V7^l8*3-m{h(kL>6cs|~HS=;g5zGiBGD%X1E zjqxuZcQz=s3d&CE6T_PG5Q=K1BZDTsAh_(jL+@aH%z*j>Dq$yha5UJP-Z1{F+2ln2 z&W%e*rLqKu_$HbUG<@+bvsdOij3s!l;mC1|ZjhzSSzEJ_DTDY)5|w*bSnrC?qc7> z!5mAXo~oykgV6p-zO>{)-MP9Q^rT9LbUH%TFY6{f3*P5B066TCxCgYQ(c2%1Gsl)y zinzV2^rD@wNLrO1U%>Z_DLaiSG|e4PTe(K=myNF8S}!x~5a3h2fi@V19OjJq z4BWBG?AtZ^hCd9#l+X-5ShX<*P{U5^6ra%%OWzW&*E65Q_vX20>Qfk(9~y@8v*I>5K|=9 zHlDpcacZF#PQ`2>cb;M#b{2MvAU%!@k}%Bbj6QTNMNTuZ*WY1BwtdC-#kyjOH#G{z zP8!BeNsTgz+el|i!QG?ZEreN6oU5~gx3oNUs{H{#LW{bXmQF440}+@6HqH^9&3Tpl zdY|Z{Z}si2fZ4hEL%CLf(Dz(INX~rBLQo}FAzGfd-CeMJMLr3R)jnV;#?9oybx<8LKA_lo z4V+-88#ZK@CgbDc!yfu%Rg99O3B!K*l8^B%t@Dg$I&B@|baC+wU5_iJT&o+Ik|k*6 z4o(XFI`}SV)!zRrQG%f27Z0h-DiszagYjsFkrls{S)7s{%`WH`z}=}*CpPK)Qd?BZ zju0h$XKZ8mg##VsR*KbPw~-V%diV04&5?DC}M7G?B09t5Gsj8l=NVI{q3U&}SR3Kgeix>is%_Dg3Xj-YkOxV5+C)=g!HR!S#@R z<@GQicPUQJpiKgG%A7s@BOoEco(c0*{Rq^al=khe2p={7mDUins~yQ)ZM^nU>hL;x zUE`4ZYQ!z0+wGax)AJK0rq%w-6wUnl2iY&bQYN0~`aBL!Z>A@Bm}z1jp~w3>zb4s6 zkkyt?$;1xDWOVR{T5270TTQmo&GzHJn{W;1ycXY4M|x4?C4{2mQE;Hu<7mDa-l-<4pP6dgLz-Gid(LlRy}O6VWPDiESy`wJFP@X*2a^wP7gc zdbQzsMkJO{>emDOl<_7!>)@hb^|A&0bo21U3ysXTIl;KTA8h?xVeR5p>jZ^H7J6ka zccn|y6-OL`<{J~2x_j2K-kG~=?3uHXU?I3h;K(XQ|NZzamz*& zn0}NySZJ=k*>H_`<7ErQ;RmVimdArEk>)a_wL;DBmCk1s{+dJIU^!Zi`b1@$>2d^o z<+Y&hbO*f(Bia|QovbSed^XR4*JUHP2%w!Nf5cJN>2H={f&Wkc0h$?cw@1LO zE325N_%QR_PGB?8K#J2f3sYZA2C^(;?Ni~nA7fO=Ns{*3o0h!rJayQ6i952D3+f6< zA>#JVxvBU9vhMjK_N1ME_^)=^SE~ugp)cnyKjxiTj1W?=t#JS{>!oB5Kl%)wdiP~I z){vhn=f=JT*NN zvg#+-9szzPnnT1>m_f{*v$tGln~EDsGXre-l9ZI}Eb-2oNZdgbOqPB2{1(pn2Mg;;r|6eO>&>xO8D#KUdaxq^^JKMgKzMfn^kvp+OOE=COccL|W8&jdL z?p7FrN90}y;29s61_Nz#(^vu?aybXS96km9@mJ||Tvwy|q|AWgt1dr$a$eJw|JwYM z!E31I@yv}RSWj=DtO*|owdT}z+6%e70uQgZl_qSdBEj8)sguSXrAbDK*&lBk9!u1X zYi6kkw8}8R213F%Sb8PmrF5TORv30TQyKAWi)whlrFoTnleT^rYgqXd^EdZ7y@CjQ z;@nnGPq~}7z9M5!K=b@)UN|=8ym;S}?r4uh^+ z8P_FO_q_DySvqR?qtQ;QV>^UndaZ-%wW|!dT*30X4Mah6e+?mw9RXqNjr;$8&2la# z5ZhPMpZYtniVb%ma;we73#T}I)Fg+Y>FQ7GlV>l4;|R~*diy@DR!14WSp%agaT{d% zPP`r;%PgOQ!_#>P>&eE*Cv2_v?r<;S-*A3TvYZeQtF8=gc;TdLBi6L%1Pt}1fAY|d z1$!?fJ`nqQ;HyN2W@IY3vVK=Rb6JMkFY7|SKW>Tthr*HOx?td4${>x=^N_o=M%1~8 zMA7o7xj9|_W)+zj-Avj-UZ_J}2P|y?YgxQqCTgx#MAxI&y)8g&Zde!93M6Jk1`yNJ zG+80fo~#@W0|W-xCSO-bCul%Rcse5PxVUcj8Gjr<*k|z4R){myhjzvJlk$6DqQO zN$%RXZ0Ud4ox>ea1$1dVLtq&HY>7%dIbM|NL*!|P@`j9A&x7$!CtJp>`0Hl_t(#T^ zm8R$um%48maBu?(uClU)-G4;m{%g9P70AursW#I64Y6^iCGYwlpd|SM-I}61j>vBPK&a^YqC5VAwjFOk$(R9R6`WW#;r>N;0i)7F z(vu|xjaC_TB=d@U!9+;fV-vad7CYwiLy(L1o#FSL?g#~4<4PWz^R1m4#e=Frp36Mn zZ{@Hwa`{-Js3`Juw*do}tuF-j44gz()O#W`Z;Bi;uIL;v6PPTGO+-|0LV^?E56$Kt zzg{D3XZ$!^Oby1-$ncZtTz0O=$s(70wuf@!KiaFszf0UZokv;}C+IO_)qCWA2~s=( zZKL3y5r=KwONI5>p{q{6>^qXL+&8+UYQF!GaPxD611pIq5m#DGfr6H+zMq@^8~6% zM-p(GXmnLg^+)x}6Zk6VtS%JW?6;V9=v+}exf-+n?jOv>GDb{1YJobgC+A<0obXZQ zgm4L&Gi|$cn|-$x-ls-nO$lx)O&nnbNz_M@(YbAV&)Vr=t$bd>auzWvlwC^DWkD7a zvR`D|C~=T>fUJdCLv;AUqP$vO7kNeVw>xI0iKU>PowV6jf@5}F zu{G8hXVq_U+kjULCgdHm{iSopY3;#2Q=RbEIe#r{zLJJ-c(F4+6O^2@fb}T`Nf@mC zJFm^#C9;GJ`q24rVZNN&^0iDmAI;`E8bQzoyd!iTw!P|-%bstk)EY0kpNru zn`rcSJN0{o45b0d=JZD?e4Sw$YqG4n`N!5a2_A+k({aUiI%#&jENsLNSUe4sXr% zhd31Yqm@*cwsJy^`Q~?Lu30%N1aOTW+|58z4%T|N*}2o4lwtdwYHj5+taL46~oILvj?y4 zUdCYxw)KuSn&W!>xN=#Y6Po$C_VLs~MJg-&+U(bn?}QbXs98v2vz5DP7fuvberjJo zccsV-cuZBIS1LWgh&}DNteKB}E8rro-Rlm|Z}d{ZztuLQvDU<-umUcg)=Yp_tel3_ z&nSC9ZoW>!(*CUSA!uWqHy=sFG(b6iv1iHTr7%a*~ih(2wccQsrfyz?;yMA}t-^nZax;Slkl_ zrr()IH}lt8vrkf_SlE^O zi(m9UY|k{TGXvO&m9q)P71eXPr=E8^U(T4uaq*^$FbYY__%#}`rexK5^^zoobbDjR z?5s@ky)5k9CxX@Z;%aC7Ipno3KH;LjdGfGdEAjOsAuTv1_vA-z*;^Bsz44Yky5_v@ z9+Z~rE-L-leIq(*=xvgyT(ElOJnkVk^^1u9o!gI@0;ojxnYH$>yYe6)Cy02&v6A;_ zCxd1EyC(o)2BFPb>lE|%7xi!A^`G{B7VL9W(DPBc-@vv_H-Ys=Pz$6TxFhas;@1|P zuNtDzBDG$%@5+M7O>17I3aM+A1t&^3g2LAO&4sSkPI}yT+b}|rVu)Weo&VHFspnXP zGLcAUr9$e=%?n)<%ttjE(ARf+fpT4KiBYa|55=}O`fc%5r6#Sz!1{w1QhOim3uMfB z(7dtU{{5?K^DU|()+VQ#qogi_28F{MV6&Hv$1yq@hm|^~hgf15K_zGKu=*Nv@Z6|I zNUHv|ut%ses_okL%W6>%YUbT*FQ_VhH!9pL>(J>P?OH~IbdN}EudF#y-;nyg?B^iS zQ+L}yiSGzCP%-MW3ArfhAvWq<K8QKI1_udcJWH(;+0!o+Q*`_ zv;Wb!O*5+3|L6}FuUzudWQx)@{*P{)Q9WC`u=;Re<&sA(UqlZ3AI&D z)@5(xYlIx$yj{{X*{e<7Cwjy_ERxI>TIedcBy4A`dX(kEnEdQrVw`+Lb*h=!o)!ra z$)2n}&uc(}_KYMsN zl(}3y9+=Bf+@Or)gq2GxaTl6YN>Z(_E2flrUh1{1k8TIKh6QHds7Qw7kTj%%DTMJ5SRrIJsZN zu*>FnoQ{-g>Cba3Pk~Os^yfw@{Wf=8C0>5REEBmNw2jU;pt;iTPy=vq%#Ne^0E@1dTywdDO&^EfotziNxQNE#_`+LiaECcj_aw@R^of}c>}sx z1GS>ZT3gM%k5eNT1(@a?&?xt+BW}QxWZztsV6IC(oyuu~ed(i5hnb%33(}ve)pa`h zyt!|{A04wbTcga4ChgB3@b(>jea+A*GiKLM??`LRyCB<^bB|6m^5=#eaWTM<0;a5( zH`hG*si|NvC9bmVZDY{7hqEM{rSsh#T_zjbvO;&S>!05aBv_h4 z)A^0j;Z=3f52p3eapCGVuU-GFa0w;V*pX2FUoZ|{7yV|5C5Fz4r#ATKk z@CwV{T_LSYXO}-t-7L4iRwq)_FOW+L^YEHz?Dv@tXC9djAM2yB|1SqN)RrV3UugQ; zQfNA0oP|pIe@Up|BYeB9B~_eut%))p3~qh5gS#e@Q1n3E7Q5o|+nw8o{0XkkekD`8 z&a+D!pR?9==1Lt+#ix(kz6P3yeX{u{qH(SbY}JVj$6*-vkZM-TTr%`!ZAYY+Sb$3~ zR{_)~a5W@jEx)NxmF5#MgtdxNomaj|O2td^+z6g5mY8Lmn<=X zP_esL-_x4tXF3Rk4^$(Su1^!E($2D{aA2>%q6lR)qM_N-@cmZXNE!ddLVvaW194hj z({-9O=)jR0X6;}PR9k8G7tpqDW%^0Q`RzO;udd_DJ3BCQ;qcu3S@^?Sr`1Bpx0MMG zIxxvOU}V!&?6pOWBou`_F|TtHcE(*VFuoBs@mqXAQY?LmoQBN2=T-XA+FkUu#T-a`2j*wR0&o~09f@LT+l z_1ML;8L)lNrHX#;QRINTJ$Mt6$OS*MziBjBNLC7KqrDlvH0xi{RWjq^1!Bg-(Td7? z$7r(3?WAi|<7XVzaZV)P>5V>zdBz)|yHBtL;sd=`QpNT5VuP*TbheOBlTn%?|$eWz6iDy)b5bVelD#IGtPn=wfV=7d6^2Xfx_IswCwD z8aSeRG{f3P5DLFBA92e?uJ~+xg4>jc_uo@_V7m1_b?aqamEu^%7IphV*i4Am9AZ&*P2vW6wMr%G z7EjnLh}SHb z9H0t~{|}b^gG{)c(^R4P|H1NquGWF+lHR;)X3A(ND??RVnBqBC`Wvyr}3*RtZIs7=vb2XWOoC`uL z%&&?b7A0Rj-0d_%roazvm%hP%{|!;x=UBC>>i~oE?Vv*T{+AakDx?abAj!t3Y>8t5~u43LX zp@6BupPNpGZv=gtubz4veLOaT3S=JSM34EqEx3t3Y*On*{2sYLEggZY7D2!dwvi#; z&%E+*1?-?)POst@iyNX)kLTc~T#KsLH3@^<^o=K%==t05O|6#O>H^%0c>xTlhj;_4 zsv(l%Qc(!i<9|B^2`MHH5(Y*7(o7$$lp3tM*T^-^oG(5dR;xNn*iXqf%w47b($Xrz zv9_pYkQHtsQmSs>S|)xUq(U+qbfS>kBIbE0T_&~E2#;z%J+BP9nU|FHGDLkrLAQ|C zJ9*dOaYTq<+1`ESHwWTcM%7DB9d`BKImQx?Y&%cNVVuDhATjXcFFNIF{Pv(>e~snO z?rj2P!LE;eS|4ngKxk&Tf}=Ri7#vIoEo_2PFhVJ zOQ-T}A;+&FoX}^Yu7a+DYn-$Cxo7v@TW!_Se>%KD3gS@u>Ggkp_GzMn^uqni6Qz!S z0cVgxaLd1YtMnf(_`d-7zd+~z8!$D#lG{ZOoE<&&Pjod;YIcD%Udld1NHon8{ayNS z<$1zBa<8wKF$Qt5?9<(K3EC2CHN&}Qd%Ryfw$wG7xUU)PZv^64#9=eo<1pA8PXgh; z^dTrR^4i9Ru7?H`fz`g3gd~)j#HSE)o*Ug^y>ab)YhnvRDIKb&qZ;q6->yDP-CNVW zLax?ET{mseD2pg%dM3n(fGk2bNhTgev-07+Ei9WRD{W#) zw4J~Jgz7BN@g-jQVaLweJegk}3;v{W);hc$jaB0uXLA@*1yMVi`_Kd*pM^<4trgTn z1NixTBO8s1R{$)^%zc?A>CNw{bok>+bYw-kNk*ydpS7ZAS*t#fE zr8935_n_waWHO~cm&VS+>;_{Z z$Shu}pgNL9_7RgFbDzUpN9D*xedx^T(9X!JI(0Lvx5yImEPnR;tjK#Oi;M-|hO>|k zeQbN*Fm(!?3;Q~#cG>PFKEinz^82e5`W5!HKThFmKknZ`;0rw$~Uz{%oD%CLsUo#CBsCd|}() z`3S!7kmS$w;P$qYx}uZ%o(W!bx278^Yzh(%>1xYxfoLyPG78pO`NY3dGk5u6oS%MO zGSPW7p8`e*+7C`y^K2)C34H(Z+y4z|KV<*wd*KnfKLh#BojIo!Q_kn^F6Xd7K;%97 z&mcAVNQ_znLx@wHekY2<$1qOsd)a{*%|U=QU+2Jezi@^BM@>rtXnl~UR&V(ag&=Z5h%GzIC z2`=J%kts8x?#vZ8AIbSCA&m&x4h#aW{XPg1k^rD?D9?yO$7IGf*U3GH&7-7VBqPG>VYpMqXx|+DzFZ;QI%Tr(1YFWd0XEiV% zd*{Sw8`8gi*22l0P13k?(jYD!e`c*Qo-lD-?oJ0t9*D!UR)k6vF~&Q-9uNQrj>%8~ z*y1RG$n-n`yH6B=yInp(N3{yxqN{Q1H;!t$6eJ(dEh`q&Zt{L0fii*hitZ6=YE*qfvr` z9J!#%f|EI%J6lo|@e(joL_)FT)w@2XSd@ft5+o7GzwLez0w6ee6{#C;sS(9UvToVs zD`S&eiX;r;Hm!>}x!HFS9c-z{u?-^1!KC)Z9psg$%Qy8+fSWnFOPNw><)-9bjU z_s`b77CxhyyLtYJ3YcK|jes+z;;Z;N`0C$4T1!alli==4ezZ?g51>wq5@NM+x@D@rS<^G6iQF)9_biIP6L-ib%|?thE6~} zZnz66Ve4R8;Gqm5uy|h6cOF@rQY!aR?<<2hL^B3Eaf=j*bn>6*z=AEP-dR!&@e+b5 zi!3pUEQw~%&=!Aj)1BU@J3+B@e)PU3wTJ=Z6#3xlaP$i7-G|xg;k-bHgX`6+BNovg zR9%IxS?tVpcF$JkfBO9tESgToE%-|+=l*5iRE~T;+_mig^b-XT@SqR5qKCt0t6VQ~ zV#<}J^I@^ccpNBU#2jJxB&;JsbQ~-h`Q!I;6O;?C_cxwQ?%F)~0*3Is)|UUL(Saq3 zdgWD{-rawM5Ld`!3Ewrw7RzU=`BoimB^V40?jma9jiW@QTxfn`9b1Mih!iY@kA8*2}N#L%ZRDXw+PP~;O zBz`Aw`MjkpFV;f5vQN@Y=0h$AUz9(EEGAy2^M~6ctKR=+W~T-jpp$3sNyBeb{MBck zCxuh$OFiJ9bVv{-CN`uE1&J11Kzz8!qsYF3;^lLM9RcM8Z91B$RibrH`b-=VA=FvT zc<2e4l$1yuG4cD;@B^NYF>0{iQ)0h$w(`Vvnexo|F!nn$dGAj5?7gdRybc2(K7ajEp2UR~R)a@x+tM@mt zilQ7fO2;E9HQH#`F8`^CJVFSJ4fe(*o{d9`=(4bHdW0nyA#d%4wEfEm^`{LdR4GHk z-Z|nvG}mONfJ@U;cH?h|fFeS4jB^G8(FRkhQt*?z>6rezbT0mc5?d|Tv1=-NWV<6J>p&g}!8#{HHlHl!-{vnoY%DS0|!8V(-OQV~MX^-ofmih@vr! ziKd7$nI6ebx!b?dZMNWf$K2d=b(0&7z*H!_C<_sigX;*hZQ%NabqQaKk3{|FDinWU zZ~$;9ZX>PNhgQwR)hKFs!2;=9PsHESK;Cp_d2{9=NN@VRj!&Ob=eshfvai7|adgV8 zEF+|C>hx>F5qZ()`%i)7!g>l0{iOVt*D$l^-lH}zqiz^qjGcMJs!3XSi(eaGzrMXR z_SBhcXu7i-mH#*5zxc|X-;M$APsobP8?Pd-b(tT({SSVHcN$LeX<`+y)jD`s*xqj| zoSGUJhImf?P=4Q7^uni+k_T1M>?BwR_6^o%evZMtkUM<~YF7ZR`4VK*I_6$~jh zJV5wKT4oB(636inQJBB>p??~P)tb1;KJJNXoFUsz4i-$&rP0L9Aa2!sxZ>TH?zd&!Ge?b?QjA}I%`uW%n6t>*DY_MBFbZ3@SkHJjm9fe(#0PBF zipnIQ7OGSIoF;?a#GirH$X6R4HlPm>sg^r5)ESt|QQtDU5HB6OJ2=V~LA=mnoG^@@ z3HkF@9BX0z)sgl|(Y2W$*X5urHx3pRwG&T;Im)4uWGS2oMZ^^vn(2m-G4|6B*mdUZ z5isP+1D^N--}|SJk!t6aRu(g~&EDT<9RCDAy4Lxgb#VO~Cm449py)3OmJwozJ)#D) zD9TgY3a!Hg8V8U2-z4gaCVtLASxnOAH)bofW9?qjJ)`WgvuxZDOk3ea`4GE^KazNV`i*}-2@u*dVGRufUqwin?0A2l9rJ%5HV{1Gor#%Z!FgABzdt1K0{F4I zGhF{L)-x0PiWuXj=vnDHy@x1@yD2stcTfD!)T$q@7E4*iD)%BEdE8ZcRjrV8SF~MM?e-jd8jy4V~jto|_!8KG9|BT7~g)qOWF@m76 zrM#7|r7E=t`h7Do(kJSEhJ&8|hqWOnuI!tqSVO%odAQWj?q}R(F#}R>NqK;zJew78 zBWfeFKGNxyc7v+UJe}{qQyD6-7f$NR^_2mWxry@EFma7Mm=caLg_Dl8BD#E zmp-jA&C5v>&9=f3Nbr=_sPkz;M0Up3(bkI^P}}wbhFf&{v*I@W-AO>~#>ZM5fwI4P zWj_Zb>`r6~$;Jc+_lR=Cj$Vi192Pep_t#dssJ|)7k}10Rs{@B~7R~C0XhSC*WfqqY z+w3+w$`H&`rOEeKh1bc)#Rw5Dz`6{;5l5|hr-uJksHnbT5Brc6*S47QHoJxE5+CZI z7WT2vW&^&lhTZw6Tg`BZTiwx@y(*)A-6<`c2d^ffbC`R4%T92>)eXn7G-M=a4;>;S zY1Pzctwu8mVq+tw}V(?iC??Ua+H_gp_%8(*9E<;%#VL} z=NK`OxQ5<8b(uOcJ49f}dxuX-$X)#x z>X&=umEY}*Nu@1Vox3TliOVgJUx4N#T`@~xrfJQ>9i3c}z?e(uH0RWa)xh`I6Py@A z?=)-c7s4<2@j~8>fnqzL%Tzcix8#jIVrCXPi(JatqkrV+zpRb8%6(TFyxb_UF^F{G zHa;#N5Z{?E^B>oSm>l}0llPtdNYk~}c>sF#kv8k~02d6rv0Dty6RzPvM4x8X2Wc+%`>LcH+1 zqI`4RjVvJDr)%)Jt?~57DgGQBaEl9%8-n;`0i#L$LBEqX9@BC36WyG8eXTW9ztSN- z_fAJ+w=j9lkSjv>d+Y|pt&X0d*uuR~ZLG&cj>nP_Cn5ykcvod1*RevZ#=k zj=r3ij!x-E97o+Wmm=jB-)+dz{jD?z__Hj)WfamX&tr)i zft~VTwPqle*3**KV;9#0ag(4Q7S>gTbp^$B4TW!bZ0(6W?{G)_F1MkCU4kN>sfO5a z7+41Qf;Rb3(sucP(7!}eT&d~)Wi9yCY~f3UiV42Nqy)V6j^AI%?WR6ZA?CLgDt1Sp|wr#mYDMudc%8jnZmBB_5 zyc=xbT~Pxo`wJRD1BqtVWb95mYA=>#&)5ReF~$~UbgiNokqd1{os1fzg3ZKizCT)N zUbBC*G4IdE%z2bKH-Z;|FDU|lIi(%Cw>AF6Wy=AMx&Ffkb_;MI?|ryBPdlr_SL&?hW52%yW}Q`VC?D zUedeFPHHeyNsfI3e5G9SR-P2O$#tK7Q|w`TY-<^N2vfT>T8-OB+#afCbqahP%ys}i zgxadrn8PYBeknG$nlmz>ObP)SjF8e)t^f~xss1bT&0}e=o`Ov+?d>7&`S8wbPLWGY zuR(%>@4F#)x3exJt8w|ea`~Ms-xH^~JKk3bb~oRHC_R^cQ;(hF>wrG@)#sH^^3}d# zO$WU8;_s;;VLB?5>b*c0wQ?Jj`D`BZImsDw@1=Sv`B@<+wU6uZtZnip^Otj)Vsl1= zkfDLuG0e_J_)Oi32ZW3HwMCrQ`2r4jJ*-i*%c6o^U42o=$pv(+USzfI%fkA0dvi6$ z`>kt11nifX?~MYosnu$Vy^d_iH%8A={ucY5tl$9&zhClw@_LXj`94{E_fU#?RjZ(T zwW@WXjj3Z5@&H@yW_5uJ_K_5ex0N}~>Z*WOY;Je*x+*5O-eoxlx}Vx6;P9?Rk>#)g>s?B~<7Vo*%gjm%79d zGFX0YmDavjr);V>3La2z6lC>AK>wLu&+93;eqY+AcSc5MtF^@qg8p{BBG*TYnAom7 zkGRJ*m`<2!h5Aok>)rG8EGK7Y`=vl1W^PwS6Eep$gnh;PWO)a8i1UJ8Cgqe`XvZmnRy%Jm;R>R1n$N?g}3hJlz3 zZiGxG1AVDu60i1Ytm0(M=;T_B2aKNLTz3p!K%TyH{f3{n)uz|!ys_Kunv<_XeaCx? z2g(b{Z`NK?sUA$w_F_`ij^FC_B0J_Owxz=y8 z%F}?C)Q^w39!HtK_D1bw=j}X(*l){z1@D(G_?&`nL@s_C%`m48OFjl86l)A{KQOpV z<*;1s6I$;B81tU=RXeKFRNugP&=Df8sW|OCJ^}kO@OYBsYYN{2?XFSfc{Nc}^PMyv z7HB-oX*~P_jfX#+#)B8D_Fqcl!53&e_|Y_O@w-&_2zmP{K1r11!HG_Ve8)LQF7UZH2GNn^Hb zhsRMw4cK*)$2M2%2l9KNm-5@|@V>5A#;Y;omeAK}oo0{g?bLtT80R+Jh)DI?XxS5I z?QN@Z%wvA*xe}_;!7^78Jv3Jm6>}w2inj`%JcVh>V{(2gh~)gpGB2`?$G}ego9B%- z#fht5m^UiUJNLP_&;YrU$2;Zt3D+6Ruwg*QvR?IQ(LWr3A391mAP)qDe!#4 zvabzfSk(yN;DEv&g@5kKf53G~S3pfst0-rSG%WTYlyfyw{m4dnbs*L07!b4I`nVcU z>jk*pzmjwU$kWzRp047Y=>xvsqSDQMUpWrEZGL-28L;f-uq~cvBNv11 zbNry%B~qFUpymnu?g~nCcM#8RWwDbD^R!DJN)ti`ycQBM?^y3lzeBDrYZf8L2xDWi zy>HpZ>AI!^@XGVtz1GTebv$>Uf1gmqf26gdl{m>tJZ@;Ewh#J3U5LrxZ@0|D10IJz zNc%VB+Ju2+X@C>Z$&l+T4R-jp>H_C*m1?5IbA+Zfns$~yKo;F3fDAjWlVSTI#X=dcGh`AJ{9^O;d_99Cv8G_ zk39Qjt8jVG-6}115SjLMu6s0hKnlG=S)FEXn+jPDk)a)HVyimHV=Ad1pXM`n<)UD3 zPf@2pu2EF#!`*xp6GP~J`ph#h%;tAsG#>R zbh@La2XggUE*5AH@|tqIYe#>OO3q3unars~Up#JFvzy#bVRPp-5^0^!yPGQX{QgaG z--p1M*Uat6VT=0z**gK_F#H>1p1WxHOf5leaZ%o6-#)Yj4+>oqHD^3-Ua0S0uQS=! z@4Y9-$aozFw~^C4lD)pS?Mm)cjRn8)S`ozcVxiZ9owGAr)TGTzlJ(()ZneN?6#ZJP z#T9!8u<2hM(l6Hm*^E9#zx3a+CYr%td{uUg(q zA@kg?7Rr0qpYp6wR@cIKMR5-{9QD%ICB zo8U|JB_P`}o8XJNMm`Uk_CY~DK{0#%`&O|ARPiaV?MwSWG2VB zxAms(stpi*sb7*4SWwCv5LnE$9R!h@g8$Cp+zdP4uzSbGs8KurGMFw*mAmj}_vA&6w`#jSOC&3-y#x`*3eA zYbyh`HuC!Q49(JBZs^lfKahzsFZN}CuH^cE+4sD*Zs3J4_CIE861ERsvwaHn$-H-U z7k_7am{%C@GE2vB#a<`w7}nDgy{|lW1;<%!I6tm1?|A}UD+VFVp11-WXY@cQ8_{4R zihey_zp|mHO2k{3Hj`>=FLvtStj26tFI6EQxM>gfjs3e|O^^v&jXSv_sn5v#O@3`t zt_EnvO}M?m>!F40ScSpFB?M_#h5F~>z6HDU9&*0p@90gG>IAjbbqU=xZ`w4gSu;e< znq14Uy6?i4I+=rm4fgrpRJR!lpB_m*J>5|ICH($(8}^ZEkZ?6eSm-0&h8vUjfUWPZ zuv%X~t>@pgKwrwS!x}f-pYPj~^{}D-AnR$=27S|B*4>-tvK}Ae7#qe~>-*38XLDV# zt8Z4wpNI7JePeAtm%qG5FU3{fmm=a!0-s@qPu_c_t;<^QPri3;t9`*xPZWahMN{0~ z)l(V3eD^QajN13JdZsgw)TgQS|A^BXz`+gQ$DFTy*LpK~bcH^oeBXHOuhFku&-kUf z-7nSk!*?2XtczdIdx?rYjrkrFV8a-x4a4`}c$fL1a{nLb26>+o@X4Tm@d5fEw+&O9 zm*dcm@t$1s5)K0B^9rm3O{1};B8`5N+$249QZu8l7^}(l5?PJO8O)B5Y9b4@)!Xbx zIff|v`aNpZtm|-RK7{mY>NWE*As-^*%2Mw+%*T-D7m$d!?$Ynj_SXAHzf@Za`^{v$ z5=-@Ju!(+XQ3HwkWYb>k+>=4v(^s>;`JmcgwB#JOo#&0EH9(KAeYP-Fxkh4rUy1Gc zGgt!9%|q<=%tj=ud;P#ZgqbYh^$)HxM=^H$F$Gq_q5i$ zBm3Qizh};1**r($-Q?b$pCiQkpK5osS-WPEm(QVw?wBpgo~d#f;UBd<|ME7e_%l2y z_j>r8_Rc3gG{L=ppOiGAt|XVPhm(r#mc2{nx_GC>*sM#;H9+pmlq?3Pb-hrI13dI#$# zF6q8?blgcQuAX?6ORRf|dnw?Idgu6cnT9^40?q>8|C$NqP3QbP7QVR)M~<|)o# zP8644(~$aq507X|9?`zYBjE#i1g-OkR^SnKPgvj$P3Dd82k}No8~zXF4JvqpK8QEa zgLngSN+6G5+=O)ZY1(TrNB8Hz3*GBvpYMmp-kQOmvT;&AfjUxHYa1W=x89{cOZ-X? zmnRGp9Bw_7!i6%p2zqTG4#T5_VPk)GKEh6=Eb&8*mr9cIM1~UyrYMJLfe+}C4+P$2 z{7{Lfgk8ch!7##%#e+L$msGQFX~2iFw2&IY*1xxH4eb281?DiiCUhWh0sCar49+xz zGtJ=QdZNmX|Bv!Qu;hi{OT1t_gcrhfURcxDfTx@n z0*M!l|Es)^>uT-GybwN&7tks%6!ml{@q#AtLim4|7wD1~=$Ci_eSsJLquBNe{OPKl ql*6A&@JEjn{z^kp{yzW!0RR8ua!}v`00030{{sMS=wAZ=hXDYHv-6k$ diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf index 0ac6c6d..efe34bb 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf @@ -1,966 +1,968 @@ -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 -#install: C:\lscc\diamond\3.12\synpbase -#OS: Windows 8 6.2 -#Hostname: ZANEPC - -# Wed Aug 16 04:50:31 2023 - -#Implementation: impl1 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:32 2023 - -###########################################################] -# Wed Aug 16 04:50:33 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:34 2023 - -###########################################################] -# Wed Aug 16 04:50:35 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:01s -2.99ns 128 / 92 - - - 8 0h:00m:01s -2.99ns 127 / 92 - 9 0h:00m:01s -3.09ns 127 / 92 - 10 0h:00m:01s -3.19ns 127 / 92 - 11 0h:00m:01s -3.19ns 127 / 92 - 12 0h:00m:01s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 142MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:38 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo256c-3 - -Register bits: 92 of 256 (36%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 04:50:38 2023 - -###########################################################] +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 +#install: C:\lscc\diamond\3.12\synpbase +#OS: Windows 8 6.2 +#Hostname: ZANEMACWIN11 + +# Sat Aug 19 20:53:10 2023 + +#Implementation: impl1 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +Verilog syntax check successful! +Options changed - recompiling +Selecting top level module RAM2GS +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv + + +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] + +For a summary of runtime and memory usage for all design units, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv + +@END + +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:12 2023 + +###########################################################] +Premap Report + +# Sat Aug 19 20:53:12 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + + +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 140MB) + +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) + +@N: FX493 |Applying initial value "0" on instance InitReady. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdUFMCS. +@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance CmdSubmitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "1" on instance nUFMCS. +@N: FX493 |Applying initial value "0" on instance UFMSDI. +@N: FX493 |Applying initial value "0" on instance UFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. + +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + +@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS + +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + + +Clock Summary +****************** + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + + +Clock Load Summary +*********************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== + +ICG Latch Removal Summary: +Number of ICG latches removed: 0 +Number of ICG latches not removed: 0 +For details review file gcc_ICG_report.rpt + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 48 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +Finished Pre Mapping Phase. + +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) + + +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + +Pre-mapping successful! + +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime +# Sat Aug 19 20:53:14 2023 + +###########################################################] +Map & Optimize Report + +# Sat Aug 19 20:53:14 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) + + + +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) + + +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. + +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) + + +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Available hyper_sources - for debug and ip models + None Found + + +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) + + +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) + +Pass CPU time Worst Slack Luts / Registers +------------------------------------------------------------ + 1 0h:00m:01s -3.26ns 127 / 89 + 2 0h:00m:01s -3.23ns 123 / 89 + 3 0h:00m:01s -3.23ns 123 / 89 + 4 0h:00m:01s -3.23ns 123 / 89 + 5 0h:00m:01s -3.23ns 124 / 89 + 6 0h:00m:01s -3.23ns 124 / 89 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +Timing driven replication report +Added 3 Registers via timing driven replication +Added 1 LUTs via timing driven replication + + 7 0h:00m:01s -2.99ns 128 / 92 + + + 8 0h:00m:01s -2.99ns 127 / 92 + 9 0h:00m:01s -3.09ns 127 / 92 + 10 0h:00m:01s -3.19ns 127 / 92 + 11 0h:00m:01s -3.19ns 127 / 92 + 12 0h:00m:01s -3.19ns 127 / 92 + +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) + + +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 190MB) + + +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) + +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm + +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB) + +Writing EDIF Netlist and constraint files +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF + +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) + +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns + + +##### START OF TIMING REPORT #####[ +# Timing report written on Sat Aug 19 20:53:17 2023 +# + + +Top view: RAM2GS +Requested Frequency: 2.9 MHz +Wire load mode: top +Paths requested: 3 +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc + +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. + +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. + + + +Performance Summary +******************* + + +Worst slack in design: -3.705 + + Requested Estimated Requested Estimated Clock Clock +Starting Clock Frequency Frequency Period Period Slack Type Group +------------------------------------------------------------------------------------------------------------------- +PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup +RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup +nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup +nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup +=================================================================================================================== +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform + + +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + + +Clock Relationships +******************* + +Clocks | rise to rise | fall to fall | rise to fall | fall to rise +--------------------------------------------------------------------------------------------------------------- +Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack +--------------------------------------------------------------------------------------------------------------- +RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 +PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 +nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 +=============================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + + +Interface Information +********************* + +No IO constraint found + + + +==================================== +Detailed Report for Clock: PHI2 +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 +CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 +CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 +CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 +Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 +Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 +Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 +Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 +======================================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------------------- +UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 +UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 +nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 +LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 +n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 +LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 +n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 +CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 +ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 +C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 +============================================================================================ + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMCLK / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - +UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMCLK_RNO Net - - - - 1 +UFMCLK FD1S3AX D In 0.000 3.702 r - +================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: nUFMCS / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - +nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - +nUFMCS_s_0_N_5_i Net - - - - 1 +nUFMCS FD1S3AY D In 0.000 3.702 r - +=================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMSDI / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - +UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMSDI_RNO Net - - - - 1 +UFMSDI FD1S3AX D In 0.000 3.702 r - +================================================================================== + + + + +==================================== +Detailed Report for Clock: RCLK +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 +n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 +FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 +FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 +FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 +FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 +S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 +S[0] RCLK FD1S3IX Q CO0 1.756 8.545 +FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 +FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 +============================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------------------- +CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 +Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 +RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 +UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 +UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 +LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 +n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 +nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 +nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 +========================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: CmdLEDEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - +CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - +N_21_i Net - - - - 1 +CmdLEDEN FD1P3AX D In 0.000 2.309 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +------------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - +XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.309 f - +===================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.213 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.216 + + Number of logic level(s): 1 + Starting point: n8MEGEN / Q + Ending point: Cmdn8MEGEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +n8MEGEN FD1P3AX Q Out 1.456 1.456 r - +n8MEGEN Net - - - - 2 +Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - +Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - +N_19_i Net - - - - 1 +Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: nCRAS +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------- +CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 +CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 +FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 +FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 +================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 +nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 +nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 +RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 +nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 +======================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRWE / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - +nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - +G_17_1 Net - - - - 1 +nRWE_RNO ORCALUT4 B In 0.000 2.849 f - +nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - +N_39_i Net - - - - 1 +nRWE FD1S3AY D In 0.000 3.606 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRowColSel / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - +nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - +N_179 Net - - - - 1 +nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - +nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - +nRowColSel_0_0 Net - - - - 1 +nRowColSel FD1S3IX D In 0.000 3.606 f - +====================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.510 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.513 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRCAS / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.456 1.456 r - +CBR_fast Net - - - - 2 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - +nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - +N_37_i Net - - - - 1 +nRCAS FD1S3AY D In 0.000 3.510 f - +======================================================================================== + + + +##### END OF TIMING REPORT #####] + +Timing exceptions that could not be applied + +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + + +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + +--------------------------------------- +Resource Usage Report +Part: lcmxo256c-3 + +Register bits: 92 of 256 (36%) +PIC Latch: 0 +I/O cells: 67 + + +Details: +BB: 8 +CCU2: 9 +FD1P3AX: 11 +FD1S3AX: 59 +FD1S3AY: 5 +FD1S3IX: 14 +FD1S3JX: 3 +GSR: 1 +IB: 26 +INV: 8 +OB: 33 +ORCALUT4: 119 +PFUMX: 2 +PUR: 1 +VHI: 1 +VLO: 1 +Mapper successful! + +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 80MB peak: 196MB) + +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 20:53:17 2023 + +###########################################################] diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srm b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srm index d2aeb3028d90946df4805ea9455def2497615121..75366db0c10135c7678851b3da36016dc99a23de 100644 GIT binary patch literal 29196 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 literal 29138 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 diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srr b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srr index 0ac6c6d..efe34bb 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srr +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srr @@ -1,966 +1,968 @@ -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 -#install: C:\lscc\diamond\3.12\synpbase -#OS: Windows 8 6.2 -#Hostname: ZANEPC - -# Wed Aug 16 04:50:31 2023 - -#Implementation: impl1 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:32 2023 - -###########################################################] -# Wed Aug 16 04:50:33 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:34 2023 - -###########################################################] -# Wed Aug 16 04:50:35 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:01s -2.99ns 128 / 92 - - - 8 0h:00m:01s -2.99ns 127 / 92 - 9 0h:00m:01s -3.09ns 127 / 92 - 10 0h:00m:01s -3.19ns 127 / 92 - 11 0h:00m:01s -3.19ns 127 / 92 - 12 0h:00m:01s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 142MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:38 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo256c-3 - -Register bits: 92 of 256 (36%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 04:50:38 2023 - -###########################################################] +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 +#install: C:\lscc\diamond\3.12\synpbase +#OS: Windows 8 6.2 +#Hostname: ZANEMACWIN11 + +# Sat Aug 19 20:53:10 2023 + +#Implementation: impl1 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +Verilog syntax check successful! +Options changed - recompiling +Selecting top level module RAM2GS +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv + + +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] + +For a summary of runtime and memory usage for all design units, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv + +@END + +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:12 2023 + +###########################################################] +Premap Report + +# Sat Aug 19 20:53:12 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + + +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 140MB) + +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) + +@N: FX493 |Applying initial value "0" on instance InitReady. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdUFMCS. +@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance CmdSubmitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "1" on instance nUFMCS. +@N: FX493 |Applying initial value "0" on instance UFMSDI. +@N: FX493 |Applying initial value "0" on instance UFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. + +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + +@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS + +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + + +Clock Summary +****************** + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + + +Clock Load Summary +*********************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== + +ICG Latch Removal Summary: +Number of ICG latches removed: 0 +Number of ICG latches not removed: 0 +For details review file gcc_ICG_report.rpt + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 48 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +Finished Pre Mapping Phase. + +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) + + +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + +Pre-mapping successful! + +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime +# Sat Aug 19 20:53:14 2023 + +###########################################################] +Map & Optimize Report + +# Sat Aug 19 20:53:14 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) + + + +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) + + +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. + +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) + + +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Available hyper_sources - for debug and ip models + None Found + + +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) + + +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) + +Pass CPU time Worst Slack Luts / Registers +------------------------------------------------------------ + 1 0h:00m:01s -3.26ns 127 / 89 + 2 0h:00m:01s -3.23ns 123 / 89 + 3 0h:00m:01s -3.23ns 123 / 89 + 4 0h:00m:01s -3.23ns 123 / 89 + 5 0h:00m:01s -3.23ns 124 / 89 + 6 0h:00m:01s -3.23ns 124 / 89 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +Timing driven replication report +Added 3 Registers via timing driven replication +Added 1 LUTs via timing driven replication + + 7 0h:00m:01s -2.99ns 128 / 92 + + + 8 0h:00m:01s -2.99ns 127 / 92 + 9 0h:00m:01s -3.09ns 127 / 92 + 10 0h:00m:01s -3.19ns 127 / 92 + 11 0h:00m:01s -3.19ns 127 / 92 + 12 0h:00m:01s -3.19ns 127 / 92 + +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) + + +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 190MB) + + +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) + +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm + +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB) + +Writing EDIF Netlist and constraint files +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF + +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) + +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns + + +##### START OF TIMING REPORT #####[ +# Timing report written on Sat Aug 19 20:53:17 2023 +# + + +Top view: RAM2GS +Requested Frequency: 2.9 MHz +Wire load mode: top +Paths requested: 3 +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc + +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. + +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. + + + +Performance Summary +******************* + + +Worst slack in design: -3.705 + + Requested Estimated Requested Estimated Clock Clock +Starting Clock Frequency Frequency Period Period Slack Type Group +------------------------------------------------------------------------------------------------------------------- +PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup +RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup +nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup +nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup +=================================================================================================================== +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform + + +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + + +Clock Relationships +******************* + +Clocks | rise to rise | fall to fall | rise to fall | fall to rise +--------------------------------------------------------------------------------------------------------------- +Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack +--------------------------------------------------------------------------------------------------------------- +RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 +PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 +nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 +=============================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + + +Interface Information +********************* + +No IO constraint found + + + +==================================== +Detailed Report for Clock: PHI2 +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 +CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 +CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 +CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 +Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 +Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 +Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 +Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 +======================================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------------------- +UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 +UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 +nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 +LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 +n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 +LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 +n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 +CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 +ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 +C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 +============================================================================================ + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMCLK / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - +UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMCLK_RNO Net - - - - 1 +UFMCLK FD1S3AX D In 0.000 3.702 r - +================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: nUFMCS / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - +nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - +nUFMCS_s_0_N_5_i Net - - - - 1 +nUFMCS FD1S3AY D In 0.000 3.702 r - +=================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMSDI / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - +UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMSDI_RNO Net - - - - 1 +UFMSDI FD1S3AX D In 0.000 3.702 r - +================================================================================== + + + + +==================================== +Detailed Report for Clock: RCLK +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 +n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 +FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 +FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 +FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 +FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 +S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 +S[0] RCLK FD1S3IX Q CO0 1.756 8.545 +FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 +FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 +============================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------------------- +CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 +Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 +RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 +UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 +UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 +LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 +n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 +nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 +nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 +========================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: CmdLEDEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - +CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - +N_21_i Net - - - - 1 +CmdLEDEN FD1P3AX D In 0.000 2.309 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +------------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - +XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.309 f - +===================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.213 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.216 + + Number of logic level(s): 1 + Starting point: n8MEGEN / Q + Ending point: Cmdn8MEGEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +n8MEGEN FD1P3AX Q Out 1.456 1.456 r - +n8MEGEN Net - - - - 2 +Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - +Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - +N_19_i Net - - - - 1 +Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: nCRAS +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------- +CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 +CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 +FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 +FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 +================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 +nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 +nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 +RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 +nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 +======================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRWE / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - +nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - +G_17_1 Net - - - - 1 +nRWE_RNO ORCALUT4 B In 0.000 2.849 f - +nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - +N_39_i Net - - - - 1 +nRWE FD1S3AY D In 0.000 3.606 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRowColSel / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - +nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - +N_179 Net - - - - 1 +nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - +nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - +nRowColSel_0_0 Net - - - - 1 +nRowColSel FD1S3IX D In 0.000 3.606 f - +====================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.510 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.513 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRCAS / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.456 1.456 r - +CBR_fast Net - - - - 2 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - +nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - +N_37_i Net - - - - 1 +nRCAS FD1S3AY D In 0.000 3.510 f - +======================================================================================== + + + +##### END OF TIMING REPORT #####] + +Timing exceptions that could not be applied + +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + + +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + +--------------------------------------- +Resource Usage Report +Part: lcmxo256c-3 + +Register bits: 92 of 256 (36%) +PIC Latch: 0 +I/O cells: 67 + + +Details: +BB: 8 +CCU2: 9 +FD1P3AX: 11 +FD1S3AX: 59 +FD1S3AY: 5 +FD1S3IX: 14 +FD1S3JX: 3 +GSR: 1 +IB: 26 +INV: 8 +OB: 33 +ORCALUT4: 119 +PFUMX: 2 +PUR: 1 +VHI: 1 +VLO: 1 +Mapper successful! + +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 80MB peak: 196MB) + +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 20:53:17 2023 + +###########################################################] diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srr.db b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srr.db index 63e67f1eb13cd1334eff0e1de1facd2f4ffac96b..19801ff03919adc71ac2c45cb2cf2b61e4aa8b1d 100644 GIT binary patch delta 1991 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%0A*9n}9h zs$)Md`oZe%-mUw8x9Yonwz|W-9UaTSJ$|@vMeX&ISE8;$T{Cs{)wNVtr;5eObFy@f zDA)p}+`0(u(;#fNAEIjfR06tKJ+zo!XnJk$P!&NtHg*7W|aDuz@Xi_bL5sk1>SfZbu+ zEI1xi>prz7o>GT5>bA>m*$eB|$YfQP9+PEiymKq3M*c>;CogzoTx#22P;{XXkG}-# zS=(%kHuw9WJV1XG$As`YZr!3LHjc+JN?QtJ<7rUouw!v9ork9NuGV)J4;UK`?SHPU z{qUj9bgT{3eYCd!8}C{5%W@s_I-=+GIS0q)i7201$5qU`8q2fiwB;CI%aOQ5=2UoH zC1VF{Hgk&=;{Ncz;u`O{n}0qB8|S#j>E7+nf!(Fc?LKirsoh^a*GKBLbd2*JhU1+0 zZPpT=lkuM1vSo#uZ>^u?m}#EU@qcMr)UjFnxx_;YJJuR{hil`|FSgHn*lWM>Ov}fQ zauLvPCbd7Oa=i}ZQh~rsA@P|iHvqa}^oYjcP@n2^D^@O(dc~!8^|~o?+$~#>T;eYp z?@N#5I;Ax(m`dG*IhuIB!f+JTF#(txApuo#xhn!`FXNsRRo`GYV5ZDt@_&3Zx$g^O zZdhi=15S-ID8>U!%Nj?6ZP{b3F)q6vJ+J#%*D?qPC@(N~58GL?`6B$rmhHhyAJ22Z z{_E#D_cp$2;$v0Zn_g+V?uANQ-285d_uDpkxmj(4T6=pldv9-;F|!wVp9cHApXAD5 z!K&}Gj=TXiKxC6wLZzw zcd>FhPSlwl)~V>ptUCAg%RB2^=J%++Yd-*exhn4`mv%pOubTb|?nlLWK%Nu|XG33M zKi>j<2KctI{;PLoyrQi4Wi)7#I96)$rTb0i$)@I+$=knbVp+Jx7Jt#z0luR#uQ@AA+lDb4vd zwM`-p)wAb^1y_H5SWGRp;>GLp%#<%PKl^ zvtMG5Mk&8R3z+9fXMK)CX3nKBayk9nUS3`A30hOc{CrUamw$xFwS?z9?b{Fia4UV` zkn*kDzhnA0+8TH!)IQGR=GFN}HjaqDm8{S*Dg8V9p;4}3pN?TmEcDEtMdTeM8PA^w z`I`TYwvg}MJKO!3Jf3Fi%m;1fOr@QZ$+IrNr_S)4i0L)+^!1!ri@kP9!Vlux4O@pC zvvtUU?YVzGnt$Qjyr5u!ATh0B9*;U%66vWZliHa2O|>e%-y_X`BoAUXHxdcU;AnEBir}{S=kn7O%W6Q@#v)&1c^5`}Qj4M6v#K zpH3{3^FCO5x9HaI@n~Rl z#NWs(wc9wG{(i7BXJy*{-zs8#-LKW4zMl=Mv#V^rIby3h))}^+>BDN#ug0Pi4L;68 zvSf;Vo(9UdpHU^lf4(-aDAP6FwVq8s#UrY%v+WjzX_?%=Xx3%+-+Th!LCb%c_kXAG zE`JZ37N4=LV%Cv$Dm`p;!$*FGwt*3##e7$719Pw=_Ty*atyyaZ2hekGzprhTGNQ~| z^)+uE_ySp3*}2-LJ{C{WbJz*GlJnqE1$S60RDaNr(6ONL zwH~^9c{DK{n^ye0uonNM$hR7!v(I6+^ASVJH7}4w(fl12?ASdGON+zcw-8cWg{4EAFGFK34rTvcxKrc}3c0tK~|a zYp^$7pSF!~tU9CU!#T2Tb~pT+idN3A{M(D*m)*tfYW$92v1;$p*}CkbzuWkK00030 Y|Kf5`-~s>u0RR6305yYJ^qhSF08b-Q2LJ#7 delta 10183 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 SQEJUtfPRqohN#z2tU#Nyfx902>SqIsgCw delta 36 scmZ4RpLM~1)(IlacY5z{6n`YaR^Y?Ur>{SmQPQE=UUIv=Bx7P402HAN(f|Me diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.sdf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.sdf index 5afabac..1bef7db 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.sdf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.sdf @@ -1,2922 +1,2922 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:41 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1I) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20I) - (DELAY - (ABSOLUTE - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55I) - (DELAY - (ABSOLUTE - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1_SLICE_65I) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_B") - (INSTANCE RD_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_B") - (INSTANCE Dout_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2B") - (INSTANCE PHI2I) - (DELAY - (ABSOLUTE - (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2S) (1250:1250:1250)) - (WIDTH (negedge PHI2S) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDOB") - (INSTANCE UFMSDOI) - (DELAY - (ABSOLUTE - (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDOS) (1250:1250:1250)) - (WIDTH (negedge UFMSDOS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDIB") - (INSTANCE UFMSDII) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLKB") - (INSTANCE UFMCLKI) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCSB") - (INSTANCE nUFMCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMLB") - (INSTANCE RDQMLI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMHB") - (INSTANCE RDQMHI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCASB") - (INSTANCE nRCASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRASB") - (INSTANCE nRRASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWEB") - (INSTANCE nRWEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKEB") - (INSTANCE RCKEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLKB") - (INSTANCE RCLKI) - (DELAY - (ABSOLUTE - (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLKS) (1250:1250:1250)) - (WIDTH (negedge RCLKS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCSB") - (INSTANCE nRCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_B") - (INSTANCE RD_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_B") - (INSTANCE RD_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_B") - (INSTANCE RD_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_B") - (INSTANCE RD_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_B") - (INSTANCE RD_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_B") - (INSTANCE RD_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_B") - (INSTANCE RD_1_I0) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_B") - (INSTANCE RA_11_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_B") - (INSTANCE RA_10_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_B") - (INSTANCE RA_9_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_B") - (INSTANCE RA_8_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_B") - (INSTANCE RA_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_B") - (INSTANCE RA_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_B") - (INSTANCE RA_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_B") - (INSTANCE RA_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_B") - (INSTANCE RA_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_B") - (INSTANCE RA_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_B") - (INSTANCE RA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_B") - (INSTANCE RA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_B") - (INSTANCE RBA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_B") - (INSTANCE RBA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LEDB") - (INSTANCE LEDI) - (DELAY - (ABSOLUTE - (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWEB") - (INSTANCE nFWEI) - (DELAY - (ABSOLUTE - (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWES) (1250:1250:1250)) - (WIDTH (negedge nFWES) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRASB") - (INSTANCE nCRASI) - (DELAY - (ABSOLUTE - (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRASS) (1250:1250:1250)) - (WIDTH (negedge nCRASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCASB") - (INSTANCE nCCASI) - (DELAY - (ABSOLUTE - (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCASS) (1250:1250:1250)) - (WIDTH (negedge nCCASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_B") - (INSTANCE Dout_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_B") - (INSTANCE Dout_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_B") - (INSTANCE Dout_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_B") - (INSTANCE Dout_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_B") - (INSTANCE Dout_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_B") - (INSTANCE Dout_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_B") - (INSTANCE Dout_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_B") - (INSTANCE Din_7_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_B") - (INSTANCE Din_6_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_B") - (INSTANCE Din_5_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_B") - (INSTANCE Din_4_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_B") - (INSTANCE Din_3_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_B") - (INSTANCE Din_2_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_B") - (INSTANCE Din_1_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_B") - (INSTANCE Din_0_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_B") - (INSTANCE CROW_1_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_B") - (INSTANCE CROW_0_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_B") - (INSTANCE MAin_9_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_B") - (INSTANCE MAin_8_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_B") - (INSTANCE MAin_7_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_B") - (INSTANCE MAin_6_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_B") - (INSTANCE MAin_5_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_B") - (INSTANCE MAin_4_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_B") - (INSTANCE MAin_3_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_B") - (INSTANCE MAin_2_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_B") - (INSTANCE MAin_1_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_B") - (INSTANCE MAin_0_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q1 SLICE_72I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q1 SLICE_84I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q0 SLICE_68I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q0 SLICE_69I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_66I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_72I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_74I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q0 SLICE_74I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q0 SLICE_81I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q0 SLICE_81I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_64I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_72I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_74I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_84I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_87I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_64I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_74I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_87I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q0 SLICE_58I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q0 SLICE_84I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_56I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_84I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_56I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_68I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_69I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q0 SLICE_72I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_68I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_69I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q0 SLICE_68I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q0 SLICE_69I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_9I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_67I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_70I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_90I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_9I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_67I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/F0 SLICE_9I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/F1 SLICE_9I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F1 SLICE_9I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F1 SLICE_14I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/F1 SLICE_9I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/F1 SLICE_20I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F0 SLICE_9I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/Q0 SLICE_9I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/Q0 SLICE_20I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/F0 SLICE_14I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/F0 SLICE_14I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_14I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_67I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_70I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_77I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_78I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_90I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_91I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/Q0 SLICE_14I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/Q0 SLICE_20I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_41I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_63I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_73I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_79I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_94I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_43I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_61I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_62I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_73I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_19I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_83I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_41I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_60I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_63I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_73I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_79I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_80I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F1 SLICE_43I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F1 SLICE_44I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/Q0 SLICE_67I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90I/F1 SLICE_20I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_21I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_67I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_21I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_67I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_75I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_85I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_21I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_57I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_67I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_76I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_78I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/F1 SLICE_21I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/F1 SLICE_26I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F0 SLICE_21I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/F1 SLICE_21I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/Q0 SLICE_21I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/Q0 SLICE_33I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_67I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_82I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/Q0 SLICE_33I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/Q0 SLICE_82I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q1 SLICE_22I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q1 SLICE_52I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q1 SLICE_22I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q1 SLICE_52I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_22I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_33I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_44I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_51I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_52I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_64I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_73I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/F0 SLICE_22I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F1 SLICE_68I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F1 SLICE_69I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/F1 SLICE_78I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/Q0 SLICE_58I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/F1 SLICE_76I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/Q0 SLICE_26I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/Q0 SLICE_39I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/F1 SLICE_26I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F1 SLICE_29I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F1 SLICE_61I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_29I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_59I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_61I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_59I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_73I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_94I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_31I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_42I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_61I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_83I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_41I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_44I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_50I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_59I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_61I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_62I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_73I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_79I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_30I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_42I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_42I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F0 SLICE_31I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84I/F1 SLICE_32I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/F0 SLICE_32I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_32I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_58I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_64I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_72I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/F0 SLICE_32I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/F1 SLICE_87I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_33I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_41I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_60I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_63I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_79I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDOI/PADDI SLICE_33I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDOI/PADDI SLICE_58I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/F0 SLICE_39I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_39I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_75I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_78I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_85I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_44I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39I/F1 SLICE_57I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q1 SLICE_41I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q1 SLICE_60I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_41I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_60I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_79I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_80I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/F1 SLICE_41I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/F1 SLICE_41I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q0 SLICE_42I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q1 SLICE_42I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 SLICE_61I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_43I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_61I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_62I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F0 SLICE_43I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F0 SLICE_44I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/F1 SLICE_44I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F0 SLICE_51I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/F0 SLICE_51I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/F0 SLICE_66I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/Q0 SLICE_51I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/F1 SLICE_51I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q0 SLICE_51I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F1 SLICE_52I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F1 SLICE_51I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F1 SLICE_52I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F1 SLICE_64I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/Q0 SLICE_52I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_55I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_90I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/Q0 SLICE_55I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_55I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_71I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_75I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_77I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_88I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/Q1 SLICE_56I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/Q0 SLICE_56I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/Q1 SLICE_56I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/Q0 SLICE_56I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_75I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/F1 SLICE_70I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_77I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_57I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_76I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_85I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/F1 SLICE_57I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_57I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_75I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_85I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/F0 SLICE_59I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/F1 SLICE_59I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/F1 SLICE_62I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/F1 SLICE_59I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_60I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_63I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_79I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F0 SLICE_60I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/F1 SLICE_60I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q1 SLICE_62I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q1 SLICE_80I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/F0 SLICE_62I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q0 SLICE_62I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q0 SLICE_63I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q0 SLICE_80I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/F1 SLICE_63I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/F1 SLICE_64I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/Q0 SLICE_64I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/Q1 SLICE_66I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/F0 SLICE_74I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/F1 SLICE_66I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/Q0 SLICE_90I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/Q1 SLICE_91I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_5_I/PADDI SLICE_71I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_5_I/PADDI SLICE_93I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/Q1 SLICE_93I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68I/F1 SLICE_68I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F0 SLICE_68I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F0 SLICE_69I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84I/F0 SLICE_68I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84I/F0 SLICE_69I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69I/F1 SLICE_69I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/Q1 SLICE_70I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/Q0 SLICE_70I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_7_I/PADDI SLICE_71I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_7_I/PADDI SLICE_91I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_6_I/PADDI SLICE_71I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_6_I/PADDI SLICE_92I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/F1 SLICE_71I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F1 SLICE_71I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/Q1 SLICE_71I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/F1 SLICE_72I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_3_I/PADDI SLICE_88I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_3_I/PADDI SLICE_93I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_2_I/PADDI SLICE_88I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_2_I/PADDI SLICE_92I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/Q0 SLICE_92I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/Q1 SLICE_93I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/Q0 SLICE_87I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/F1 SLICE_77I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/F1 SLICE_79I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/F1 SLICE_80I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_89I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_8_I/PADDI SLICE_89I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/Q0 SLICE_89I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/Q1 SLICE_86I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/Q0 SLICE_92I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/Q1 SLICE_91I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (0:0:0)(0:0:0)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:53:22 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1I) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20I) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55I) + (DELAY + (ABSOLUTE + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1_SLICE_65I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_B") + (INSTANCE RD_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_B") + (INSTANCE Dout_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2B") + (INSTANCE PHI2I) + (DELAY + (ABSOLUTE + (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2S) (1250:1250:1250)) + (WIDTH (negedge PHI2S) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDOB") + (INSTANCE UFMSDOI) + (DELAY + (ABSOLUTE + (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDOS) (1250:1250:1250)) + (WIDTH (negedge UFMSDOS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDIB") + (INSTANCE UFMSDII) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLKB") + (INSTANCE UFMCLKI) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCSB") + (INSTANCE nUFMCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMLB") + (INSTANCE RDQMLI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMHB") + (INSTANCE RDQMHI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCASB") + (INSTANCE nRCASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRASB") + (INSTANCE nRRASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWEB") + (INSTANCE nRWEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKEB") + (INSTANCE RCKEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLKB") + (INSTANCE RCLKI) + (DELAY + (ABSOLUTE + (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLKS) (1250:1250:1250)) + (WIDTH (negedge RCLKS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCSB") + (INSTANCE nRCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_B") + (INSTANCE RD_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_B") + (INSTANCE RD_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_B") + (INSTANCE RD_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_B") + (INSTANCE RD_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_B") + (INSTANCE RD_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_B") + (INSTANCE RD_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_B") + (INSTANCE RD_1_I0) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_B") + (INSTANCE RA_11_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_B") + (INSTANCE RA_10_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_B") + (INSTANCE RA_9_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_B") + (INSTANCE RA_8_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_B") + (INSTANCE RA_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_B") + (INSTANCE RA_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_B") + (INSTANCE RA_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_B") + (INSTANCE RA_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_B") + (INSTANCE RA_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_B") + (INSTANCE RA_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_B") + (INSTANCE RA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_B") + (INSTANCE RA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_B") + (INSTANCE RBA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_B") + (INSTANCE RBA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LEDB") + (INSTANCE LEDI) + (DELAY + (ABSOLUTE + (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWEB") + (INSTANCE nFWEI) + (DELAY + (ABSOLUTE + (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWES) (1250:1250:1250)) + (WIDTH (negedge nFWES) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRASB") + (INSTANCE nCRASI) + (DELAY + (ABSOLUTE + (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRASS) (1250:1250:1250)) + (WIDTH (negedge nCRASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCASB") + (INSTANCE nCCASI) + (DELAY + (ABSOLUTE + (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCASS) (1250:1250:1250)) + (WIDTH (negedge nCCASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_B") + (INSTANCE Dout_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_B") + (INSTANCE Dout_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_B") + (INSTANCE Dout_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_B") + (INSTANCE Dout_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_B") + (INSTANCE Dout_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_B") + (INSTANCE Dout_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_B") + (INSTANCE Dout_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_B") + (INSTANCE Din_7_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_B") + (INSTANCE Din_6_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_B") + (INSTANCE Din_5_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_B") + (INSTANCE Din_4_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_B") + (INSTANCE Din_3_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_B") + (INSTANCE Din_2_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_B") + (INSTANCE Din_1_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_B") + (INSTANCE Din_0_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_B") + (INSTANCE CROW_1_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_B") + (INSTANCE CROW_0_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_B") + (INSTANCE MAin_9_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_B") + (INSTANCE MAin_8_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_B") + (INSTANCE MAin_7_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_B") + (INSTANCE MAin_6_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_B") + (INSTANCE MAin_5_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_B") + (INSTANCE MAin_4_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_B") + (INSTANCE MAin_3_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_B") + (INSTANCE MAin_2_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_B") + (INSTANCE MAin_1_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_B") + (INSTANCE MAin_0_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q1 SLICE_72I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q1 SLICE_84I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q0 SLICE_68I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q0 SLICE_69I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_66I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_72I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_74I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q0 SLICE_74I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q0 SLICE_81I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q0 SLICE_81I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_64I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_72I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_74I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_84I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_87I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_64I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_74I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_87I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q0 SLICE_58I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q0 SLICE_84I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_56I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_84I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_56I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_68I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_69I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q0 SLICE_72I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_68I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_69I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q0 SLICE_68I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q0 SLICE_69I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_9I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_67I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_70I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_90I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_9I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_67I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/F0 SLICE_9I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/F1 SLICE_9I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F1 SLICE_9I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F1 SLICE_14I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F1 SLICE_9I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F1 SLICE_20I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F0 SLICE_9I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/Q0 SLICE_9I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/Q0 SLICE_20I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/F0 SLICE_14I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/F0 SLICE_14I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_14I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_67I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_70I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_77I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_78I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_90I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_91I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/Q0 SLICE_14I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/Q0 SLICE_20I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_41I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_63I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_73I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_79I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_94I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_43I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_61I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_62I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_73I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_19I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_83I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_41I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_60I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_63I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_73I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_79I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_80I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F1 SLICE_43I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F1 SLICE_44I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/Q0 SLICE_67I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90I/F1 SLICE_20I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_21I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_67I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_21I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_67I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_75I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_85I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_21I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_57I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_67I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_76I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_78I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/F1 SLICE_21I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/F1 SLICE_26I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F0 SLICE_21I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/F1 SLICE_21I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/Q0 SLICE_21I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/Q0 SLICE_33I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_67I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_82I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/Q0 SLICE_33I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/Q0 SLICE_82I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q1 SLICE_22I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q1 SLICE_52I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q1 SLICE_22I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q1 SLICE_52I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_22I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_33I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_44I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_51I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_52I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_64I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_73I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/F0 SLICE_22I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F1 SLICE_68I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F1 SLICE_69I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/F1 SLICE_78I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/Q0 SLICE_58I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/F1 SLICE_76I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/Q0 SLICE_26I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/Q0 SLICE_39I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/F1 SLICE_26I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F1 SLICE_29I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F1 SLICE_61I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_29I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_59I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_61I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_59I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_73I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_94I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_31I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_42I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_61I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_83I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_41I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_44I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_50I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_59I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_61I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_62I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_73I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_79I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_30I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_42I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_42I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F0 SLICE_31I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F1 SLICE_32I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/F0 SLICE_32I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_32I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_58I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_64I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_72I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/F0 SLICE_32I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/F1 SLICE_87I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_33I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_41I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_60I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_63I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_79I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDOI/PADDI SLICE_33I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDOI/PADDI SLICE_58I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/F0 SLICE_39I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_39I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_75I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_78I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_85I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_44I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/F1 SLICE_57I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q1 SLICE_41I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q1 SLICE_60I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_41I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_60I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_79I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_80I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/F1 SLICE_41I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/F1 SLICE_41I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q0 SLICE_42I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q1 SLICE_42I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 SLICE_61I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_43I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_61I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_62I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F0 SLICE_43I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F0 SLICE_44I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F1 SLICE_44I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F0 SLICE_51I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/F0 SLICE_51I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/F0 SLICE_66I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/Q0 SLICE_51I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/F1 SLICE_51I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q0 SLICE_51I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F1 SLICE_52I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F1 SLICE_51I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F1 SLICE_52I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F1 SLICE_64I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q0 SLICE_52I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_55I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_90I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/Q0 SLICE_55I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_55I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_71I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_75I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_77I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_88I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/Q1 SLICE_56I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/Q0 SLICE_56I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/Q1 SLICE_56I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/Q0 SLICE_56I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_75I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/F1 SLICE_70I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_77I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_57I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_76I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_85I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/F1 SLICE_57I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_57I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_75I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_85I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/F0 SLICE_59I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F1 SLICE_59I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F1 SLICE_62I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/F1 SLICE_59I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_60I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_63I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_79I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F0 SLICE_60I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/F1 SLICE_60I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q1 SLICE_62I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q1 SLICE_80I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/F0 SLICE_62I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q0 SLICE_62I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q0 SLICE_63I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q0 SLICE_80I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/F1 SLICE_63I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/F1 SLICE_64I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/Q0 SLICE_64I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/Q1 SLICE_66I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/F0 SLICE_74I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/F1 SLICE_66I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/Q0 SLICE_90I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/Q1 SLICE_91I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_5_I/PADDI SLICE_71I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_5_I/PADDI SLICE_93I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/Q1 SLICE_93I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68I/F1 SLICE_68I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F0 SLICE_68I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F0 SLICE_69I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F0 SLICE_68I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F0 SLICE_69I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F1 SLICE_69I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/Q1 SLICE_70I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/Q0 SLICE_70I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_7_I/PADDI SLICE_71I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_7_I/PADDI SLICE_91I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_6_I/PADDI SLICE_71I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_6_I/PADDI SLICE_92I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/F1 SLICE_71I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F1 SLICE_71I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/Q1 SLICE_71I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/F1 SLICE_72I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_3_I/PADDI SLICE_88I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_3_I/PADDI SLICE_93I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_2_I/PADDI SLICE_88I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_2_I/PADDI SLICE_92I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/Q0 SLICE_92I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/Q1 SLICE_93I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/Q0 SLICE_87I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/F1 SLICE_77I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/F1 SLICE_79I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/F1 SLICE_80I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_89I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_8_I/PADDI SLICE_89I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/Q0 SLICE_89I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/Q1 SLICE_86I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/Q0 SLICE_92I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/Q1 SLICE_91I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (0:0:0)(0:0:0)) + ) + ) + ) +) diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.vho b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.vho index e485ff2..a828046 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.vho +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvho.vho @@ -1,24885 +1,24885 @@ - --- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - --- ldbanno -n VHDL -o RAM2GS_LCMXO256C_impl1_mapvho.vho -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd --- Netlist created on Wed Aug 16 04:50:39 2023 --- Netlist written on Wed Aug 16 04:50:41 2023 --- Design is for device LCMXO256C --- Design is for package TQFP100 --- Design is for performance grade 3 - --- entity vmuxregsre - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; - - end vmuxregsre; - - architecture Structure of vmuxregsre is - component FL1P3DX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3DX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity vcc - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vcc is - port (PWR1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; - - end vcc; - - architecture Structure of vcc is - component VHI - port (Z: out Std_logic); - end component; - begin - INST1: VHI - port map (Z=>PWR1); - end Structure; - --- entity gnd - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity gnd is - port (PWR0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; - - end gnd; - - architecture Structure of gnd is - component VLO - port (Z: out Std_logic); - end component; - begin - INST1: VLO - port map (Z=>PWR0); - end Structure; - --- entity ccu2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu2B is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; - - end ccu2B; - - architecture Structure of ccu2B is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_0 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_0 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_0"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; - - end SLICE_0; - - architecture Structure of SLICE_0 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_0_FS_cry_0_0_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_0_FS_cry_0_0_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_1: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_0: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_0: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, - S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity ccu20001 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu20001 is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; - - end ccu20001; - - architecture Structure of ccu20001 is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_1 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_1 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_1"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; - - end SLICE_1; - - architecture Structure of SLICE_1 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_1_FS_cry_0_16_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_1_FS_cry_0_16_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu20001 - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_17: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_16: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_16: ccu20001 - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, - S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_2 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_2"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; - - end SLICE_2; - - architecture Structure of SLICE_2 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_2_FS_cry_0_14_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_2_FS_cry_0_14_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_15: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_14: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_14: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, - S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_3 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_3 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_3"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; - - end SLICE_3; - - architecture Structure of SLICE_3 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_3_FS_cry_0_12_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_3_FS_cry_0_12_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_13: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_12: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_12: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, - S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_4 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_4"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; - - end SLICE_4; - - architecture Structure of SLICE_4 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_4_FS_cry_0_10_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_4_FS_cry_0_10_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_11: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_10: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_10: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, - S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_5 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_5 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_5"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; - - end SLICE_5; - - architecture Structure of SLICE_5 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_5_FS_cry_0_8_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_5_FS_cry_0_8_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_9: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_8: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_8: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, - S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_6 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_6 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_6"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; - - end SLICE_6; - - architecture Structure of SLICE_6 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_6_FS_cry_0_6_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_6_FS_cry_0_6_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_7: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_6: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_6: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, - S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_7 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_7 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_7"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; - - end SLICE_7; - - architecture Structure of SLICE_7 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_7_FS_cry_0_4_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_7_FS_cry_0_4_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_5: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_4: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_4: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, - S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_8 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_8 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_8"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; - - end SLICE_8; - - architecture Structure of SLICE_8 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_8_FS_cry_0_2_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_8_FS_cry_0_2_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_3: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_2: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_2: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, - S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut4 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; - - end lut4; - - architecture Structure of lut4 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40002 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40002 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; - - end lut40002; - - architecture Structure of lut40002 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00F2") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity inverter - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity inverter is - port (I: in Std_logic; Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; - - end inverter; - - architecture Structure of inverter is - component INV - port (A: in Std_logic; Z: out Std_logic); - end component; - begin - INST1: INV - port map (A=>I, Z=>Z); - end Structure; - --- entity SLICE_9 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_9 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_9"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; - - end SLICE_9; - - architecture Structure of SLICE_9 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40002 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - ADSubmitted_r: lut40002 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - ADSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40003 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40003 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; - - end lut40003; - - architecture Structure of lut40003 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8080") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40004 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40004 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; - - end lut40004; - - architecture Structure of lut40004 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_14 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_14 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_14"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; - - end SLICE_14; - - architecture Structure of SLICE_14 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40003 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40004 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2: lut40003 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - C1Submitted_RNO: lut40004 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - C1Submitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40005 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40005 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; - - end lut40005; - - architecture Structure of lut40005 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40006 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40006 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; - - end lut40006; - - architecture Structure of lut40006 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDDDD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0007 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0007 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; - - end vmuxregsre0007; - - architecture Structure of vmuxregsre0007 is - component FL1P3IY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3IY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_19 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_19 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_19"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; - - end SLICE_19; - - architecture Structure of SLICE_19 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40006 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3_2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - S_RNO_0: lut40006 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40008 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40008 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; - - end lut40008; - - architecture Structure of lut40008 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40009 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40009 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; - - end lut40009; - - architecture Structure of lut40009 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAC8C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity selmux2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity selmux2 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; - - end selmux2; - - architecture Structure of selmux2 is - component MUX21 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - INST1: MUX21 - port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); - end Structure; - --- entity SLICE_20 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_20 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_20"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; - - end SLICE_20; - - architecture Structure of SLICE_20 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal SLICE_20_SLICE_20_K1_H1: Std_logic; - signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40008 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40009 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - SLICE_20_K1: lut40008 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, - Z=>SLICE_20_SLICE_20_K1_H1); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable_s_GATE: lut40009 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>SLICE_20_CmdEnable_s_GATE_H0); - CmdEnable: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - SLICE_20_K0K1MUX: selmux2 - port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, - SD=>M0_ipd, Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - OFX0_zd := OFX0_out; - Q0_zd := Q0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40010 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40010 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; - - end lut40010; - - architecture Structure of lut40010 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0404") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40011 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40011 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; - - end lut40011; - - architecture Structure of lut40011 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0203") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_21 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_21 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_21"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; - - end SLICE_21; - - architecture Structure of SLICE_21 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40010 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40011 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_a2_2: lut40010 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_RNO: lut40011 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdLEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40012 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40012 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; - - end lut40012; - - architecture Structure of lut40012 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_22 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_22 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_22"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; - - end SLICE_22; - - architecture Structure of SLICE_22 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_RNO: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40013 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40013 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; - - end lut40013; - - architecture Structure of lut40013 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x33AB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40014 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40014 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; - - end lut40014; - - architecture Structure of lut40014 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5151") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_26 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_26 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_26"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; - - end SLICE_26; - - architecture Structure of SLICE_26 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40014 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_0: lut40013 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Cmdn8MEGEN_RNO: lut40014 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Cmdn8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40015 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40015 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; - - end lut40015; - - architecture Structure of lut40015 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF32") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40016 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40016 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; - - end lut40016; - - architecture Structure of lut40016 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA9A9") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_29 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_29 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_29"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; - - end SLICE_29; - - architecture Structure of SLICE_29 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40015 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40016 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i: lut40015 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_0: lut40016 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_0: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40017 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40017 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; - - end lut40017; - - architecture Structure of lut40017 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7878") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40018 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40018 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; - - end lut40018; - - architecture Structure of lut40018 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x6666") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_30 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_30 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_30"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI1_CLK : VitalDelayType := 0 ns; - tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; - - end SLICE_30; - - architecture Structure of SLICE_30 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI1_ipd : std_logic := 'X'; - signal DI1_dly : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40017 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40018 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_RNO_2: lut40017 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_n1_0_x2: lut40018 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - IS_2: vmuxregsre - port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - IS_1: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI1_ipd, DI1, tipd_DI1); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI1_CLK : x01 := '0'; - VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI1_dly, - TestSignalName => "DI1", - TestDelay => tisd_DI1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI1_CLK_noedge_posedge, - SetupLow => tsetup_DI1_CLK_noedge_posedge, - HoldHigh => thold_DI1_CLK_noedge_posedge, - HoldLow => thold_DI1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI1_CLK_TimingDatash, - Violation => tviol_DI1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40019 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40019 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; - - end lut40019; - - architecture Structure of lut40019 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFEF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40020 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40020 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; - - end lut40020; - - architecture Structure of lut40020 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x6AAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_31 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_31 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_31"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; - - end SLICE_31; - - architecture Structure of SLICE_31 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40019 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40020 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RA10_RNO: lut40019 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_3: lut40020 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - IS_3: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40021 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40021 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; - - end lut40021; - - architecture Structure of lut40021 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4555") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_32 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_32 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_32"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; - - end SLICE_32; - - architecture Structure of SLICE_32 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40021 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a0: lut40021 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady_RNO: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40022 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40022 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; - - end lut40022; - - architecture Structure of lut40022 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFBFB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40023 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40023 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; - - end lut40023; - - architecture Structure of lut40023 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8B8B") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_33 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_33 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_33"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; - - end SLICE_33; - - architecture Structure of SLICE_33 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40022 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40023 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - LED_pad_RNO: lut40022 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - LEDEN_5_i_m2: lut40023 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - LEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40024 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40024 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; - - end lut40024; - - architecture Structure of lut40024 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2222") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40025 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40025 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; - - end lut40025; - - architecture Structure of lut40025 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xC6C6") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_39 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_39 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_39"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; - - end SLICE_39; - - architecture Structure of SLICE_39 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40025 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_0: lut40024 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RA11_2: lut40025 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RA11: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40026 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40026 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; - - end lut40026; - - architecture Structure of lut40026 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x70CF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40027 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40027 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; - - end lut40027; - - architecture Structure of lut40027 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCCC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_41 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_41 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_41"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; - - end SLICE_41; - - architecture Structure of SLICE_41 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40026 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40027 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_1_0: lut40026 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKEEN_8_u: lut40027 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40028 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40028 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; - - end lut40028; - - architecture Structure of lut40028 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0200") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40029 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40029 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; - - end lut40029; - - architecture Structure of lut40029 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFE30") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_42 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_42 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_42"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; - - end SLICE_42; - - architecture Structure of SLICE_42 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40029 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_5: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKE_2_0: lut40029 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKE: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40030 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40030 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; - - end lut40030; - - architecture Structure of lut40030 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5072") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40031 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40031 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; - - end lut40031; - - architecture Structure of lut40031 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAEAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_43 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_43 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_43"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; - - end SLICE_43; - - architecture Structure of SLICE_43 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40030 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40031 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_RNO: lut40030 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_RNO: lut40031 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_44 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_44 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_44"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; - - end SLICE_44; - - architecture Structure of SLICE_44 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_fast_RNO: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RASr: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Ready_fast: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40032 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40032 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; - - end lut40032; - - architecture Structure of lut40032 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0202") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_50 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_50 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_50"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; - - end SLICE_50; - - architecture Structure of SLICE_50 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40032 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_RNO: lut40032 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0_i_o2_1: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - S_1: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40033 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40033 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; - - end lut40033; - - architecture Structure of lut40033 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF2F7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40034 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40034 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; - - end lut40034; - - architecture Structure of lut40034 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1032") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_51 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_51 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_51"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; - - end SLICE_51; - - architecture Structure of SLICE_51 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40033 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40034 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMCLK_RNO_0: lut40033 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMCLK_RNO: lut40034 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40035 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40035 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; - - end lut40035; - - architecture Structure of lut40035 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3B33") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40036 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40036 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; - - end lut40036; - - architecture Structure of lut40036 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3210") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_52 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_52 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_52"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; - - end SLICE_52; - - architecture Structure of SLICE_52 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40035 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40036 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - PHI2r3_RNITCN41: lut40035 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_RNO: lut40036 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMSDI: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40037 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40037 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; - - end lut40037; - - architecture Structure of lut40037 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xACAC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_55 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_55 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_55"; - - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; - - end SLICE_55; - - architecture Structure of SLICE_55 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_4: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, - F0_out, Q0_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40038 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40038 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; - - end lut40038; - - architecture Structure of lut40038 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40039 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40039 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; - - end lut40039; - - architecture Structure of lut40039 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2C2C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_56 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_56 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_56"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; - - end SLICE_56; - - architecture Structure of SLICE_56 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40038 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40039 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_11: lut40038 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_ens2_i_o2: lut40039 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40040 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40040 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; - - end lut40040; - - architecture Structure of lut40040 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF7F0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_57 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_57 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_57"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; - - end SLICE_57; - - architecture Structure of SLICE_57 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40040 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG_3_u_0_a3_3: lut40040 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - XOR8MEG: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40041 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40041 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; - - end lut40041; - - architecture Structure of lut40041 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0101") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_58 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_58 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_58"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; - - end SLICE_58; - - architecture Structure of SLICE_58 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40023 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_en_ss0_0_a2_0: lut40041 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - n8MEGEN_5_i_m2: lut40023 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - n8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40042 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40042 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; - - end lut40042; - - architecture Structure of lut40042 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0BFB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40043 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40043 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; - - end lut40043; - - architecture Structure of lut40043 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2232") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0044 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0044 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0044 : ENTITY IS TRUE; - - end vmuxregsre0044; - - architecture Structure of vmuxregsre0044 is - component FL1P3BX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3BX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_59 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_59 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_59"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; - - end SLICE_59; - - architecture Structure of SLICE_59 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40042 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40043 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_0: lut40042 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCAS_RNO: lut40043 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCAS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40045 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40045 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; - - end lut40045; - - architecture Structure of lut40045 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xE6EE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40046 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40046 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; - - end lut40046; - - architecture Structure of lut40046 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3233") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_60 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_60 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_60"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; - - end SLICE_60; - - architecture Structure of SLICE_60 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40045 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40046 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCS_RNO_0: lut40045 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCS_RNO: lut40046 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40047 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40047 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; - - end lut40047; - - architecture Structure of lut40047 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5400") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40048 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40048 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; - - end lut40048; - - architecture Structure of lut40048 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5051") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_61 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_61 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_61"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; - - end SLICE_61; - - architecture Structure of SLICE_61 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40047 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40048 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i_0: lut40047 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRRAS_RNO: lut40048 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRRAS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40049 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40049 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; - - end lut40049; - - architecture Structure of lut40049 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40050 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40050 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; - - end lut40050; - - architecture Structure of lut40050 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF4F7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_62 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_62 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_62"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; - - end SLICE_62; - - architecture Structure of SLICE_62 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40050 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_0_sqmuxa_1_0_a3: lut40049 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRWE_RNO: lut40050 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRWE: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40051 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40051 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; - - end lut40051; - - architecture Structure of lut40051 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40052 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40052 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; - - end lut40052; - - architecture Structure of lut40052 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCEC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_63 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_63 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_63"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; - - end SLICE_63; - - architecture Structure of SLICE_63 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40051 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40052 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_0_0_a3_0: lut40051 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRowColSel_0_0: lut40052 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRowColSel: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40053 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40053 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; - - end lut40053; - - architecture Structure of lut40053 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40054 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40054 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; - - end lut40054; - - architecture Structure of lut40054 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_64 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_64 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_64"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; - - end SLICE_64; - - architecture Structure of SLICE_64 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40054 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS15_0_a2: lut40053 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nUFMCS_s_0_N_5_i: lut40054 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nUFMCS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40055 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40055 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; - - end lut40055; - - architecture Structure of lut40055 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0010") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40056 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40056 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; - - end lut40056; - - architecture Structure of lut40056 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity nRWE_RNO_1_SLICE_65 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWE_RNO_1_SLICE_65 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWE_RNO_1_SLICE_65"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; - - end nRWE_RNO_1_SLICE_65; - - architecture Structure of nRWE_RNO_1_SLICE_65 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - component lut40055 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40056 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_1_SLICE_65_K1: lut40055 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); - nRWE_RNO_1_GATE: lut40056 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); - nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 - port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, - D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, - Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_ipd, OFX0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - OFX0_zd := OFX0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 7 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 8 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40057 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40057 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; - - end lut40057; - - architecture Structure of lut40057 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0B0B") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_66 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_66 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_66"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; - - end SLICE_66; - - architecture Structure of SLICE_66 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40057 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS_s_0_N_5_i_N_2L1: lut40057 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_a2_2_2: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40058 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40058 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; - - end lut40058; - - architecture Structure of lut40058 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0059 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0059 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0059 : ENTITY IS TRUE; - - end vmuxregsre0059; - - architecture Structure of vmuxregsre0059 is - component FL1P3JY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3JY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_67 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_67 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_67"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; - - end SLICE_67; - - architecture Structure of SLICE_67 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40058 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0059 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - CmdUFMCLK_1_sqmuxa_0_a2: lut40058 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG18_0_a2: lut40005 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_5: vmuxregsre0059 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_4: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, - Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40060 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40060 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; - - end lut40060; - - architecture Structure of lut40060 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEAAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_68 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_68 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_68"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; - - end SLICE_68; - - architecture Structure of SLICE_68 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40060 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2_0_1: lut40053 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_14_i_0: lut40060 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40061 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40061 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; - - end lut40061; - - architecture Structure of lut40061 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0100") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_69 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_69 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_69"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; - - end SLICE_69; - - architecture Structure of SLICE_69 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40060 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40061 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_13_i_a2_1: lut40061 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_0: lut40060 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40062 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40062 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; - - end lut40062; - - architecture Structure of lut40062 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8888") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_70 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_70 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_70"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; - - end SLICE_70; - - architecture Structure of SLICE_70 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2: lut40062 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_71 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_71 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_71"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; - - end SLICE_71; - - architecture Structure of SLICE_71 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_4: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2_0_10: lut4 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40063 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40063 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; - - end lut40063; - - architecture Structure of lut40063 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFEFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40064 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40064 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; - - end lut40064; - - architecture Structure of lut40064 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAAC0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_72 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_72 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_72"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; - - end SLICE_72; - - architecture Structure of SLICE_72 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40063 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40064 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0: lut40063 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_m2: lut40064 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_3: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_2: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40065 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40065 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; - - end lut40065; - - architecture Structure of lut40065 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFF7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_73 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_73 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_73"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; - - end SLICE_73; - - architecture Structure of SLICE_73 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40065 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0: lut40065 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_0_sqmuxa_0_o2: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdUFMCS: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CmdUFMCLK: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_74 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_74 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_74"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; - - end SLICE_74; - - architecture Structure of SLICE_74 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - InitReady3_0_a2_3: lut40062 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady3_0_a2: lut4 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdUFMSDI: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40066 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40066 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; - - end lut40066; - - architecture Structure of lut40066 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFDFD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_75 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_75 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_75"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; - - end SLICE_75; - - architecture Structure of SLICE_75 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40066 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_o2_0: lut40066 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_4_u_i_a2_0: lut40041 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - CASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CASr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40067 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40067 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; - - end lut40067; - - architecture Structure of lut40067 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0002") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_76 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_76 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_76"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; - - end SLICE_76; - - architecture Structure of SLICE_76 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40067 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_4: lut40024 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_4_0: lut40067 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40068 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40068 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; - - end lut40068; - - architecture Structure of lut40068 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4444") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_77 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_77 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_77"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; - - end SLICE_77; - - architecture Structure of SLICE_77 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40068 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_1: lut40068 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_5: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40069 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40069 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; - - end lut40069; - - architecture Structure of lut40069 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7777") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_78 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_78 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_78"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; - - end SLICE_78; - - architecture Structure of SLICE_78 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40058 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40069 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_o2: lut40069 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable17_0_a2_4: lut40058 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CBR_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CBR: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40070 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40070 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; - - end lut40070; - - architecture Structure of lut40070 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_79 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_79 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_79"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; - - end SLICE_79; - - architecture Structure of SLICE_79 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40038 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40070 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_2: lut40070 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRWE_RNO_0: lut40038 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40071 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40071 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; - - end lut40071; - - architecture Structure of lut40071 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4101") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_80 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_80 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_80"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; - - end SLICE_80; - - architecture Structure of SLICE_80 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0059 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40071 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_RNO_1: lut40024 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRCAS_RNO_0: lut40071 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_9: vmuxregsre0059 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_8: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40072 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40072 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; - - end lut40072; - - architecture Structure of lut40072 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_81 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_81 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_81"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; - - end SLICE_81; - - architecture Structure of SLICE_81 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40072 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0_3: lut40072 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady3_0_a2_5: lut4 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - FWEr_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - FWEr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40073 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40073 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; - - end lut40073; - - architecture Structure of lut40073 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3222") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40074 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40074 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; - - end lut40074; - - architecture Structure of lut40074 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0222") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_82 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_82 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_82"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; - - end SLICE_82; - - architecture Structure of SLICE_82 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40073 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40074 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdLEDEN_4_u_i_a2: lut40073 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_1_sqmuxa_0_a2: lut40074 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CASr3: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40075 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40075 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; - - end lut40075; - - architecture Structure of lut40075 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7F7F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_83 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_83 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_83"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; - - end SLICE_83; - - architecture Structure of SLICE_83 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40063 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40075 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_o2: lut40063 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready_0_sqmuxa_0_o2: lut40075 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RBA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RBA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_84 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_84 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_84"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; - - end SLICE_84; - - architecture Structure of SLICE_84 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40061 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a2_4_2: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_a2_6: lut40061 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40076 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40076 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; - - end lut40076; - - architecture Structure of lut40076 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0040") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_85 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_85 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_85"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; - - end SLICE_85; - - architecture Structure of SLICE_85 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40076 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2_3: lut40076 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_Din_4: lut40053 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_86 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_86 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_86"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; - - end SLICE_86; - - architecture Structure of SLICE_86 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40069 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQML: lut40069 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_9: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40077 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40077 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; - - end lut40077; - - architecture Structure of lut40077 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3232") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_87 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_87 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_87"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; - - end SLICE_87; - - architecture Structure of SLICE_87 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40077 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_RNO_0: lut40077 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un1_FS_13_i_a2_8: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40078 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40078 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; - - end lut40078; - - architecture Structure of lut40078 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0808") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_88 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_88 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_88"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; - - end SLICE_88; - - architecture Structure of SLICE_88 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40078 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_3: lut40078 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nCCAS_pad_RNI01SJ: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - RowA_7: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_6: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, M1_dly, - M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40079 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40079 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; - - end lut40079; - - architecture Structure of lut40079 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBBBB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_89 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_89 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_89"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; - - end SLICE_89; - - architecture Structure of SLICE_89 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40079 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQMH: lut40079 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_8: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40080 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40080 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; - - end lut40080; - - architecture Structure of lut40080 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA8A8") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_90 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_90 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_90"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; - - end SLICE_90; - - architecture Structure of SLICE_90 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40080 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_CMDWR: lut40080 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_0: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_91 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_91 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_91"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; - - end SLICE_91; - - architecture Structure of SLICE_91 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_7: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_1: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_92 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_92 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_92"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; - - end SLICE_92; - - architecture Structure of SLICE_92 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_6: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_2: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_93 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_93 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_93"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; - - end SLICE_93; - - architecture Structure of SLICE_93 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_5: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_3: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40081 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40081 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; - - end lut40081; - - architecture Structure of lut40081 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1111") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_94 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_94 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_94"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; - - end SLICE_94; - - architecture Structure of SLICE_94 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M0_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0059 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40081 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0_RNIS63D: lut40081 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN_8_u_0_a2_1_s: lut40062 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - RA10: vmuxregsre0059 - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, M0_dly, LSR_dly, - CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf is - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; - - end mjiobuf; - - architecture Structure of mjiobuf is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - component OBW - port (I: in Std_logic; T: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PADI, O=>Z); - INST2: OBW - port map (I=>I, T=>T, O=>PAD); - end Structure; - --- entity RD_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_0_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD0 : VitalDelayType := 0 ns; - tpw_RD0_posedge : VitalDelayType := 0 ns; - tpw_RD0_negedge : VitalDelayType := 0 ns; - tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; - - end RD_0_B; - - architecture Structure of RD_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD0_ipd : std_logic := 'X'; - signal RD0_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_0: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, - PADI=>RD0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD0_ipd, RD0, tipd_RD0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD0_zd : std_logic := 'X'; - VARIABLE RD0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD0_RD0 : x01 := '0'; - VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD0_ipd, - TestSignalName => "RD0", - Period => tperiod_RD0, - PulseWidthHigh => tpw_RD0_posedge, - PulseWidthLow => tpw_RD0_negedge, - PeriodData => periodcheckinfo_RD0, - Violation => tviol_RD0_RD0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD0_zd := RD0_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD0_ipd'last_event, - PathDelay => tpd_RD0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD0, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD0, - PathCondition => TRUE)), - GlitchData => RD0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0082 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0082 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0082 : ENTITY IS TRUE; - - end mjiobuf0082; - - architecture Structure of mjiobuf0082 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity Dout_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; - - end Dout_0_B; - - architecture Structure of Dout_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout0_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_0: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) - VARIABLE Dout0_zd : std_logic := 'X'; - VARIABLE Dout0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout0_zd := Dout0_out; - - VitalPathDelay01Z ( - OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout0, - PathCondition => TRUE)), - GlitchData => Dout0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0083 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0083 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0083 : ENTITY IS TRUE; - - end mjiobuf0083; - - architecture Structure of mjiobuf0083 is - component IBPD - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPD - port map (I=>PAD, O=>Z); - end Structure; - --- entity PHI2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity PHI2B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "PHI2B"; - - tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); - tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_PHI2S : VitalDelayType := 0 ns; - tpw_PHI2S_posedge : VitalDelayType := 0 ns; - tpw_PHI2S_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; PHI2S: in Std_logic); - - ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; - - end PHI2B; - - architecture Structure of PHI2B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PHI2S_ipd : std_logic := 'X'; - - component mjiobuf0083 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - PHI2_pad: mjiobuf0083 - port map (Z=>PADDI_out, PAD=>PHI2S_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; - VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => PHI2S_ipd, - TestSignalName => "PHI2S", - Period => tperiod_PHI2S, - PulseWidthHigh => tpw_PHI2S_posedge, - PulseWidthLow => tpw_PHI2S_negedge, - PeriodData => periodcheckinfo_PHI2S, - Violation => tviol_PHI2S_PHI2S, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, - PathDelay => tpd_PHI2S_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0084 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0084 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0084 : ENTITY IS TRUE; - - end mjiobuf0084; - - architecture Structure of mjiobuf0084 is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PAD, O=>Z); - end Structure; - --- entity UFMSDOB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDOB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDOB"; - - tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); - tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_UFMSDOS : VitalDelayType := 0 ns; - tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; - tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; - - end UFMSDOB; - - architecture Structure of UFMSDOB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal UFMSDOS_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - UFMSDO_pad: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; - VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => UFMSDOS_ipd, - TestSignalName => "UFMSDOS", - Period => tperiod_UFMSDOS, - PulseWidthHigh => tpw_UFMSDOS_posedge, - PulseWidthLow => tpw_UFMSDOS_negedge, - PeriodData => periodcheckinfo_UFMSDOS, - Violation => tviol_UFMSDOS_UFMSDOS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, - PathDelay => tpd_UFMSDOS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0085 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0085 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0085 : ENTITY IS TRUE; - - end mjiobuf0085; - - architecture Structure of mjiobuf0085 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity UFMSDIB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDIB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDIB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; - - end UFMSDIB; - - architecture Structure of UFMSDIB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMSDIS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMSDI_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) - VARIABLE UFMSDIS_zd : std_logic := 'X'; - VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMSDIS_zd := UFMSDIS_out; - - VitalPathDelay01Z ( - OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMSDIS, - PathCondition => TRUE)), - GlitchData => UFMSDIS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity UFMCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMCLKB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; - - end UFMCLKB; - - architecture Structure of UFMCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMCLKS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMCLK_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) - VARIABLE UFMCLKS_zd : std_logic := 'X'; - VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMCLKS_zd := UFMCLKS_out; - - VitalPathDelay01Z ( - OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMCLKS, - PathCondition => TRUE)), - GlitchData => UFMCLKS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nUFMCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nUFMCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nUFMCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; - - end nUFMCSB; - - architecture Structure of nUFMCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nUFMCSS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nUFMCS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) - VARIABLE nUFMCSS_zd : std_logic := 'X'; - VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nUFMCSS_zd := nUFMCSS_out; - - VitalPathDelay01Z ( - OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nUFMCSS, - PathCondition => TRUE)), - GlitchData => nUFMCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMLB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMLB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMLB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; - - end RDQMLB; - - architecture Structure of RDQMLB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMLS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQML_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RDQMLS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) - VARIABLE RDQMLS_zd : std_logic := 'X'; - VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMLS_zd := RDQMLS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMLS, - PathCondition => TRUE)), - GlitchData => RDQMLS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMHB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMHB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMHB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; - - end RDQMHB; - - architecture Structure of RDQMHB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMHS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQMH_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RDQMHS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) - VARIABLE RDQMHS_zd : std_logic := 'X'; - VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMHS_zd := RDQMHS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMHS, - PathCondition => TRUE)), - GlitchData => RDQMHS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; - - end nRCASB; - - architecture Structure of nRCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCASS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCAS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRCASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) - VARIABLE nRCASS_zd : std_logic := 'X'; - VARIABLE nRCASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCASS_zd := nRCASS_out; - - VitalPathDelay01Z ( - OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCASS, - PathCondition => TRUE)), - GlitchData => nRCASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRRASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRRASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; - - end nRRASB; - - architecture Structure of nRRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRRASS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRRAS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRRASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) - VARIABLE nRRASS_zd : std_logic := 'X'; - VARIABLE nRRASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRRASS_zd := nRRASS_out; - - VitalPathDelay01Z ( - OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRRASS, - PathCondition => TRUE)), - GlitchData => nRRASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRWES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; - - end nRWEB; - - architecture Structure of nRWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRWES_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRWE_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRWES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) - VARIABLE nRWES_zd : std_logic := 'X'; - VARIABLE nRWES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRWES_zd := nRWES_out; - - VitalPathDelay01Z ( - OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRWES, - PathCondition => TRUE)), - GlitchData => nRWES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCKEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCKEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCKEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RCKES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; - - end RCKEB; - - architecture Structure of RCKEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RCKES_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RCKE_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RCKES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) - VARIABLE RCKES_zd : std_logic := 'X'; - VARIABLE RCKES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RCKES_zd := RCKES_out; - - VitalPathDelay01Z ( - OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RCKES, - PathCondition => TRUE)), - GlitchData => RCKES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCLKB"; - - tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); - tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RCLKS : VitalDelayType := 0 ns; - tpw_RCLKS_posedge : VitalDelayType := 0 ns; - tpw_RCLKS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; RCLKS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; - - end RCLKB; - - architecture Structure of RCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal RCLKS_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - RCLK_pad: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>RCLKS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; - VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RCLKS_ipd, - TestSignalName => "RCLKS", - Period => tperiod_RCLKS, - PulseWidthHigh => tpw_RCLKS_posedge, - PulseWidthLow => tpw_RCLKS_negedge, - PeriodData => periodcheckinfo_RCLKS, - Violation => tviol_RCLKS_RCLKS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, - PathDelay => tpd_RCLKS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; - - end nRCSB; - - architecture Structure of nRCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCSS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) - VARIABLE nRCSS_zd : std_logic := 'X'; - VARIABLE nRCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCSS_zd := nRCSS_out; - - VitalPathDelay01Z ( - OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCSS, - PathCondition => TRUE)), - GlitchData => nRCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_7_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD7 : VitalDelayType := 0 ns; - tpw_RD7_posedge : VitalDelayType := 0 ns; - tpw_RD7_negedge : VitalDelayType := 0 ns; - tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; - - end RD_7_B; - - architecture Structure of RD_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD7_ipd : std_logic := 'X'; - signal RD7_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_7: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, - PADI=>RD7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD7_ipd, RD7, tipd_RD7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD7_zd : std_logic := 'X'; - VARIABLE RD7_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD7_RD7 : x01 := '0'; - VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD7_ipd, - TestSignalName => "RD7", - Period => tperiod_RD7, - PulseWidthHigh => tpw_RD7_posedge, - PulseWidthLow => tpw_RD7_negedge, - PeriodData => periodcheckinfo_RD7, - Violation => tviol_RD7_RD7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD7_zd := RD7_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD7_ipd'last_event, - PathDelay => tpd_RD7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD7, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD7, - PathCondition => TRUE)), - GlitchData => RD7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_6_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD6 : VitalDelayType := 0 ns; - tpw_RD6_posedge : VitalDelayType := 0 ns; - tpw_RD6_negedge : VitalDelayType := 0 ns; - tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; - - end RD_6_B; - - architecture Structure of RD_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD6_ipd : std_logic := 'X'; - signal RD6_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_6: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, - PADI=>RD6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD6_ipd, RD6, tipd_RD6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD6_zd : std_logic := 'X'; - VARIABLE RD6_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD6_RD6 : x01 := '0'; - VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD6_ipd, - TestSignalName => "RD6", - Period => tperiod_RD6, - PulseWidthHigh => tpw_RD6_posedge, - PulseWidthLow => tpw_RD6_negedge, - PeriodData => periodcheckinfo_RD6, - Violation => tviol_RD6_RD6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD6_zd := RD6_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD6_ipd'last_event, - PathDelay => tpd_RD6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD6, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD6, - PathCondition => TRUE)), - GlitchData => RD6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_5_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD5 : VitalDelayType := 0 ns; - tpw_RD5_posedge : VitalDelayType := 0 ns; - tpw_RD5_negedge : VitalDelayType := 0 ns; - tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; - - end RD_5_B; - - architecture Structure of RD_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD5_ipd : std_logic := 'X'; - signal RD5_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_5: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, - PADI=>RD5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD5_ipd, RD5, tipd_RD5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD5_zd : std_logic := 'X'; - VARIABLE RD5_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD5_RD5 : x01 := '0'; - VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD5_ipd, - TestSignalName => "RD5", - Period => tperiod_RD5, - PulseWidthHigh => tpw_RD5_posedge, - PulseWidthLow => tpw_RD5_negedge, - PeriodData => periodcheckinfo_RD5, - Violation => tviol_RD5_RD5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD5_zd := RD5_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD5_ipd'last_event, - PathDelay => tpd_RD5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD5, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD5, - PathCondition => TRUE)), - GlitchData => RD5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_4_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD4 : VitalDelayType := 0 ns; - tpw_RD4_posedge : VitalDelayType := 0 ns; - tpw_RD4_negedge : VitalDelayType := 0 ns; - tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; - - end RD_4_B; - - architecture Structure of RD_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD4_ipd : std_logic := 'X'; - signal RD4_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_4: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, - PADI=>RD4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD4_ipd, RD4, tipd_RD4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD4_zd : std_logic := 'X'; - VARIABLE RD4_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD4_RD4 : x01 := '0'; - VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD4_ipd, - TestSignalName => "RD4", - Period => tperiod_RD4, - PulseWidthHigh => tpw_RD4_posedge, - PulseWidthLow => tpw_RD4_negedge, - PeriodData => periodcheckinfo_RD4, - Violation => tviol_RD4_RD4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD4_zd := RD4_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD4_ipd'last_event, - PathDelay => tpd_RD4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD4, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD4, - PathCondition => TRUE)), - GlitchData => RD4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_3_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD3 : VitalDelayType := 0 ns; - tpw_RD3_posedge : VitalDelayType := 0 ns; - tpw_RD3_negedge : VitalDelayType := 0 ns; - tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; - - end RD_3_B; - - architecture Structure of RD_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD3_ipd : std_logic := 'X'; - signal RD3_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_3: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, - PADI=>RD3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD3_ipd, RD3, tipd_RD3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD3_zd : std_logic := 'X'; - VARIABLE RD3_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD3_RD3 : x01 := '0'; - VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD3_ipd, - TestSignalName => "RD3", - Period => tperiod_RD3, - PulseWidthHigh => tpw_RD3_posedge, - PulseWidthLow => tpw_RD3_negedge, - PeriodData => periodcheckinfo_RD3, - Violation => tviol_RD3_RD3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD3_zd := RD3_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD3_ipd'last_event, - PathDelay => tpd_RD3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD3, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD3, - PathCondition => TRUE)), - GlitchData => RD3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_2_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD2 : VitalDelayType := 0 ns; - tpw_RD2_posedge : VitalDelayType := 0 ns; - tpw_RD2_negedge : VitalDelayType := 0 ns; - tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; - - end RD_2_B; - - architecture Structure of RD_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD2_ipd : std_logic := 'X'; - signal RD2_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_2: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, - PADI=>RD2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD2_ipd, RD2, tipd_RD2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD2_zd : std_logic := 'X'; - VARIABLE RD2_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD2_RD2 : x01 := '0'; - VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD2_ipd, - TestSignalName => "RD2", - Period => tperiod_RD2, - PulseWidthHigh => tpw_RD2_posedge, - PulseWidthLow => tpw_RD2_negedge, - PeriodData => periodcheckinfo_RD2, - Violation => tviol_RD2_RD2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD2_zd := RD2_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD2_ipd'last_event, - PathDelay => tpd_RD2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD2, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD2, - PathCondition => TRUE)), - GlitchData => RD2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_1_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD1 : VitalDelayType := 0 ns; - tpw_RD1_posedge : VitalDelayType := 0 ns; - tpw_RD1_negedge : VitalDelayType := 0 ns; - tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; - - end RD_1_B; - - architecture Structure of RD_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD1_ipd : std_logic := 'X'; - signal RD1_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_1: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, - PADI=>RD1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD1_ipd, RD1, tipd_RD1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD1_zd : std_logic := 'X'; - VARIABLE RD1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD1_RD1 : x01 := '0'; - VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD1_ipd, - TestSignalName => "RD1", - Period => tperiod_RD1, - PulseWidthHigh => tpw_RD1_posedge, - PulseWidthLow => tpw_RD1_negedge, - PeriodData => periodcheckinfo_RD1, - Violation => tviol_RD1_RD1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD1_zd := RD1_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD1_ipd'last_event, - PathDelay => tpd_RD1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD1, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD1, - PathCondition => TRUE)), - GlitchData => RD1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_11_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_11_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_11_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA11: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; - - end RA_11_B; - - architecture Structure of RA_11_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA11_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_11: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA11_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA11_out) - VARIABLE RA11_zd : std_logic := 'X'; - VARIABLE RA11_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA11_zd := RA11_out; - - VitalPathDelay01Z ( - OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA11, - PathCondition => TRUE)), - GlitchData => RA11_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_10_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_10_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_10_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA10: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; - - end RA_10_B; - - architecture Structure of RA_10_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA10_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_10: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA10_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA10_out) - VARIABLE RA10_zd : std_logic := 'X'; - VARIABLE RA10_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA10_zd := RA10_out; - - VitalPathDelay01Z ( - OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA10, - PathCondition => TRUE)), - GlitchData => RA10_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_9_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA9: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; - - end RA_9_B; - - architecture Structure of RA_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA9_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_9: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA9_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA9_out) - VARIABLE RA9_zd : std_logic := 'X'; - VARIABLE RA9_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA9_zd := RA9_out; - - VitalPathDelay01Z ( - OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA9, - PathCondition => TRUE)), - GlitchData => RA9_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_8_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA8: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; - - end RA_8_B; - - architecture Structure of RA_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA8_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_8: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA8_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA8_out) - VARIABLE RA8_zd : std_logic := 'X'; - VARIABLE RA8_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA8_zd := RA8_out; - - VitalPathDelay01Z ( - OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA8, - PathCondition => TRUE)), - GlitchData => RA8_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; - - end RA_7_B; - - architecture Structure of RA_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA7_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_7: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA7_out) - VARIABLE RA7_zd : std_logic := 'X'; - VARIABLE RA7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA7_zd := RA7_out; - - VitalPathDelay01Z ( - OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA7, - PathCondition => TRUE)), - GlitchData => RA7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; - - end RA_6_B; - - architecture Structure of RA_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA6_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_6: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA6_out) - VARIABLE RA6_zd : std_logic := 'X'; - VARIABLE RA6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA6_zd := RA6_out; - - VitalPathDelay01Z ( - OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA6, - PathCondition => TRUE)), - GlitchData => RA6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; - - end RA_5_B; - - architecture Structure of RA_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA5_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_5: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA5_out) - VARIABLE RA5_zd : std_logic := 'X'; - VARIABLE RA5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA5_zd := RA5_out; - - VitalPathDelay01Z ( - OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA5, - PathCondition => TRUE)), - GlitchData => RA5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; - - end RA_4_B; - - architecture Structure of RA_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA4_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_4: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA4_out) - VARIABLE RA4_zd : std_logic := 'X'; - VARIABLE RA4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA4_zd := RA4_out; - - VitalPathDelay01Z ( - OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA4, - PathCondition => TRUE)), - GlitchData => RA4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; - - end RA_3_B; - - architecture Structure of RA_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA3_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_3: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA3_out) - VARIABLE RA3_zd : std_logic := 'X'; - VARIABLE RA3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA3_zd := RA3_out; - - VitalPathDelay01Z ( - OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA3, - PathCondition => TRUE)), - GlitchData => RA3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; - - end RA_2_B; - - architecture Structure of RA_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA2_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_2: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA2_out) - VARIABLE RA2_zd : std_logic := 'X'; - VARIABLE RA2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA2_zd := RA2_out; - - VitalPathDelay01Z ( - OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA2, - PathCondition => TRUE)), - GlitchData => RA2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; - - end RA_1_B; - - architecture Structure of RA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA1_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_1: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA1_out) - VARIABLE RA1_zd : std_logic := 'X'; - VARIABLE RA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA1_zd := RA1_out; - - VitalPathDelay01Z ( - OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA1, - PathCondition => TRUE)), - GlitchData => RA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; - - end RA_0_B; - - architecture Structure of RA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA0_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_0: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA0_out) - VARIABLE RA0_zd : std_logic := 'X'; - VARIABLE RA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA0_zd := RA0_out; - - VitalPathDelay01Z ( - OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA0, - PathCondition => TRUE)), - GlitchData => RA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; - - end RBA_1_B; - - architecture Structure of RBA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA1_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_1: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RBA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) - VARIABLE RBA1_zd : std_logic := 'X'; - VARIABLE RBA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA1_zd := RBA1_out; - - VitalPathDelay01Z ( - OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA1, - PathCondition => TRUE)), - GlitchData => RBA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; - - end RBA_0_B; - - architecture Structure of RBA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA0_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_0: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RBA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) - VARIABLE RBA0_zd : std_logic := 'X'; - VARIABLE RBA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA0_zd := RBA0_out; - - VitalPathDelay01Z ( - OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA0, - PathCondition => TRUE)), - GlitchData => RBA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0086 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0086 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0086 : ENTITY IS TRUE; - - end mjiobuf0086; - - architecture Structure of mjiobuf0086 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity LEDB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity LEDB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "LEDB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; LEDS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; - - end LEDB; - - architecture Structure of LEDB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal LEDS_out : std_logic := 'X'; - - component mjiobuf0086 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - LED_pad: mjiobuf0086 - port map (I=>PADDO_ipd, PAD=>LEDS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) - VARIABLE LEDS_zd : std_logic := 'X'; - VARIABLE LEDS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - LEDS_zd := LEDS_out; - - VitalPathDelay01Z ( - OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_LEDS, - PathCondition => TRUE)), - GlitchData => LEDS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nFWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nFWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nFWEB"; - - tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); - tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nFWES : VitalDelayType := 0 ns; - tpw_nFWES_posedge : VitalDelayType := 0 ns; - tpw_nFWES_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nFWES: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; - - end nFWEB; - - architecture Structure of nFWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nFWES_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nFWE_pad: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>nFWES_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nFWES_nFWES : x01 := '0'; - VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nFWES_ipd, - TestSignalName => "nFWES", - Period => tperiod_nFWES, - PulseWidthHigh => tpw_nFWES_posedge, - PulseWidthLow => tpw_nFWES_negedge, - PeriodData => periodcheckinfo_nFWES, - Violation => tviol_nFWES_nFWES, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, - PathDelay => tpd_nFWES_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0087 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0087 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0087 : ENTITY IS TRUE; - - end mjiobuf0087; - - architecture Structure of mjiobuf0087 is - component IBPU - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPU - port map (I=>PAD, O=>Z); - end Structure; - --- entity nCRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCRASB"; - - tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCRASS : VitalDelayType := 0 ns; - tpw_nCRASS_posedge : VitalDelayType := 0 ns; - tpw_nCRASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCRASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; - - end nCRASB; - - architecture Structure of nCRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCRASS_ipd : std_logic := 'X'; - - component mjiobuf0087 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCRAS_pad: mjiobuf0087 - port map (Z=>PADDI_out, PAD=>nCRASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; - VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCRASS_ipd, - TestSignalName => "nCRASS", - Period => tperiod_nCRASS, - PulseWidthHigh => tpw_nCRASS_posedge, - PulseWidthLow => tpw_nCRASS_negedge, - PeriodData => periodcheckinfo_nCRASS, - Violation => tviol_nCRASS_nCRASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, - PathDelay => tpd_nCRASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nCCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCCASB"; - - tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCCASS : VitalDelayType := 0 ns; - tpw_nCCASS_posedge : VitalDelayType := 0 ns; - tpw_nCCASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCCASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; - - end nCCASB; - - architecture Structure of nCCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCCASS_ipd : std_logic := 'X'; - - component mjiobuf0087 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCCAS_pad: mjiobuf0087 - port map (Z=>PADDI_out, PAD=>nCCASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; - VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCCASS_ipd, - TestSignalName => "nCCASS", - Period => tperiod_nCCASS, - PulseWidthHigh => tpw_nCCASS_posedge, - PulseWidthLow => tpw_nCCASS_negedge, - PeriodData => periodcheckinfo_nCCASS, - Violation => tviol_nCCASS_nCCASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, - PathDelay => tpd_nCCASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; - - end Dout_7_B; - - architecture Structure of Dout_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout7_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_7: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) - VARIABLE Dout7_zd : std_logic := 'X'; - VARIABLE Dout7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout7_zd := Dout7_out; - - VitalPathDelay01Z ( - OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout7, - PathCondition => TRUE)), - GlitchData => Dout7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; - - end Dout_6_B; - - architecture Structure of Dout_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout6_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_6: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) - VARIABLE Dout6_zd : std_logic := 'X'; - VARIABLE Dout6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout6_zd := Dout6_out; - - VitalPathDelay01Z ( - OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout6, - PathCondition => TRUE)), - GlitchData => Dout6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; - - end Dout_5_B; - - architecture Structure of Dout_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout5_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_5: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) - VARIABLE Dout5_zd : std_logic := 'X'; - VARIABLE Dout5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout5_zd := Dout5_out; - - VitalPathDelay01Z ( - OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout5, - PathCondition => TRUE)), - GlitchData => Dout5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; - - end Dout_4_B; - - architecture Structure of Dout_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout4_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_4: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) - VARIABLE Dout4_zd : std_logic := 'X'; - VARIABLE Dout4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout4_zd := Dout4_out; - - VitalPathDelay01Z ( - OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout4, - PathCondition => TRUE)), - GlitchData => Dout4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; - - end Dout_3_B; - - architecture Structure of Dout_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout3_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_3: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) - VARIABLE Dout3_zd : std_logic := 'X'; - VARIABLE Dout3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout3_zd := Dout3_out; - - VitalPathDelay01Z ( - OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout3, - PathCondition => TRUE)), - GlitchData => Dout3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; - - end Dout_2_B; - - architecture Structure of Dout_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout2_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_2: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) - VARIABLE Dout2_zd : std_logic := 'X'; - VARIABLE Dout2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout2_zd := Dout2_out; - - VitalPathDelay01Z ( - OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout2, - PathCondition => TRUE)), - GlitchData => Dout2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; - - end Dout_1_B; - - architecture Structure of Dout_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout1_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_1: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) - VARIABLE Dout1_zd : std_logic := 'X'; - VARIABLE Dout1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout1_zd := Dout1_out; - - VitalPathDelay01Z ( - OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout1, - PathCondition => TRUE)), - GlitchData => Dout1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_7_B"; - - tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din7 : VitalDelayType := 0 ns; - tpw_Din7_posedge : VitalDelayType := 0 ns; - tpw_Din7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; - - end Din_7_B; - - architecture Structure of Din_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din7_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_7: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din7_ipd, Din7, tipd_Din7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din7_Din7 : x01 := '0'; - VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din7_ipd, - TestSignalName => "Din7", - Period => tperiod_Din7, - PulseWidthHigh => tpw_Din7_posedge, - PulseWidthLow => tpw_Din7_negedge, - PeriodData => periodcheckinfo_Din7, - Violation => tviol_Din7_Din7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din7_ipd'last_event, - PathDelay => tpd_Din7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_6_B"; - - tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din6 : VitalDelayType := 0 ns; - tpw_Din6_posedge : VitalDelayType := 0 ns; - tpw_Din6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; - - end Din_6_B; - - architecture Structure of Din_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din6_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_6: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din6_ipd, Din6, tipd_Din6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din6_Din6 : x01 := '0'; - VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din6_ipd, - TestSignalName => "Din6", - Period => tperiod_Din6, - PulseWidthHigh => tpw_Din6_posedge, - PulseWidthLow => tpw_Din6_negedge, - PeriodData => periodcheckinfo_Din6, - Violation => tviol_Din6_Din6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din6_ipd'last_event, - PathDelay => tpd_Din6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_5_B"; - - tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din5 : VitalDelayType := 0 ns; - tpw_Din5_posedge : VitalDelayType := 0 ns; - tpw_Din5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; - - end Din_5_B; - - architecture Structure of Din_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din5_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_5: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din5_ipd, Din5, tipd_Din5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din5_Din5 : x01 := '0'; - VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din5_ipd, - TestSignalName => "Din5", - Period => tperiod_Din5, - PulseWidthHigh => tpw_Din5_posedge, - PulseWidthLow => tpw_Din5_negedge, - PeriodData => periodcheckinfo_Din5, - Violation => tviol_Din5_Din5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din5_ipd'last_event, - PathDelay => tpd_Din5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_4_B"; - - tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din4 : VitalDelayType := 0 ns; - tpw_Din4_posedge : VitalDelayType := 0 ns; - tpw_Din4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; - - end Din_4_B; - - architecture Structure of Din_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din4_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_4: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din4_ipd, Din4, tipd_Din4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din4_Din4 : x01 := '0'; - VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din4_ipd, - TestSignalName => "Din4", - Period => tperiod_Din4, - PulseWidthHigh => tpw_Din4_posedge, - PulseWidthLow => tpw_Din4_negedge, - PeriodData => periodcheckinfo_Din4, - Violation => tviol_Din4_Din4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din4_ipd'last_event, - PathDelay => tpd_Din4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_3_B"; - - tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din3 : VitalDelayType := 0 ns; - tpw_Din3_posedge : VitalDelayType := 0 ns; - tpw_Din3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; - - end Din_3_B; - - architecture Structure of Din_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din3_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_3: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din3_ipd, Din3, tipd_Din3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din3_Din3 : x01 := '0'; - VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din3_ipd, - TestSignalName => "Din3", - Period => tperiod_Din3, - PulseWidthHigh => tpw_Din3_posedge, - PulseWidthLow => tpw_Din3_negedge, - PeriodData => periodcheckinfo_Din3, - Violation => tviol_Din3_Din3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din3_ipd'last_event, - PathDelay => tpd_Din3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_2_B"; - - tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din2 : VitalDelayType := 0 ns; - tpw_Din2_posedge : VitalDelayType := 0 ns; - tpw_Din2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; - - end Din_2_B; - - architecture Structure of Din_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din2_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_2: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din2_ipd, Din2, tipd_Din2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din2_Din2 : x01 := '0'; - VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din2_ipd, - TestSignalName => "Din2", - Period => tperiod_Din2, - PulseWidthHigh => tpw_Din2_posedge, - PulseWidthLow => tpw_Din2_negedge, - PeriodData => periodcheckinfo_Din2, - Violation => tviol_Din2_Din2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din2_ipd'last_event, - PathDelay => tpd_Din2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_1_B"; - - tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din1 : VitalDelayType := 0 ns; - tpw_Din1_posedge : VitalDelayType := 0 ns; - tpw_Din1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; - - end Din_1_B; - - architecture Structure of Din_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din1_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_1: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din1_ipd, Din1, tipd_Din1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din1_Din1 : x01 := '0'; - VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din1_ipd, - TestSignalName => "Din1", - Period => tperiod_Din1, - PulseWidthHigh => tpw_Din1_posedge, - PulseWidthLow => tpw_Din1_negedge, - PeriodData => periodcheckinfo_Din1, - Violation => tviol_Din1_Din1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din1_ipd'last_event, - PathDelay => tpd_Din1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_0_B"; - - tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din0 : VitalDelayType := 0 ns; - tpw_Din0_posedge : VitalDelayType := 0 ns; - tpw_Din0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; - - end Din_0_B; - - architecture Structure of Din_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din0_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_0: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din0_ipd, Din0, tipd_Din0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din0_Din0 : x01 := '0'; - VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din0_ipd, - TestSignalName => "Din0", - Period => tperiod_Din0, - PulseWidthHigh => tpw_Din0_posedge, - PulseWidthLow => tpw_Din0_negedge, - PeriodData => periodcheckinfo_Din0, - Violation => tviol_Din0_Din0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din0_ipd'last_event, - PathDelay => tpd_Din0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_1_B"; - - tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW1 : VitalDelayType := 0 ns; - tpw_CROW1_posedge : VitalDelayType := 0 ns; - tpw_CROW1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; - - end CROW_1_B; - - architecture Structure of CROW_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW1_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_1: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>CROW1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW1_CROW1 : x01 := '0'; - VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW1_ipd, - TestSignalName => "CROW1", - Period => tperiod_CROW1, - PulseWidthHigh => tpw_CROW1_posedge, - PulseWidthLow => tpw_CROW1_negedge, - PeriodData => periodcheckinfo_CROW1, - Violation => tviol_CROW1_CROW1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, - PathDelay => tpd_CROW1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_0_B"; - - tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW0 : VitalDelayType := 0 ns; - tpw_CROW0_posedge : VitalDelayType := 0 ns; - tpw_CROW0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; - - end CROW_0_B; - - architecture Structure of CROW_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW0_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_0: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>CROW0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW0_CROW0 : x01 := '0'; - VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW0_ipd, - TestSignalName => "CROW0", - Period => tperiod_CROW0, - PulseWidthHigh => tpw_CROW0_posedge, - PulseWidthLow => tpw_CROW0_negedge, - PeriodData => periodcheckinfo_CROW0, - Violation => tviol_CROW0_CROW0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, - PathDelay => tpd_CROW0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_9_B"; - - tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin9 : VitalDelayType := 0 ns; - tpw_MAin9_posedge : VitalDelayType := 0 ns; - tpw_MAin9_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin9: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; - - end MAin_9_B; - - architecture Structure of MAin_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin9_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_9: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin9_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin9_MAin9 : x01 := '0'; - VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin9_ipd, - TestSignalName => "MAin9", - Period => tperiod_MAin9, - PulseWidthHigh => tpw_MAin9_posedge, - PulseWidthLow => tpw_MAin9_negedge, - PeriodData => periodcheckinfo_MAin9, - Violation => tviol_MAin9_MAin9, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, - PathDelay => tpd_MAin9_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_8_B"; - - tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin8 : VitalDelayType := 0 ns; - tpw_MAin8_posedge : VitalDelayType := 0 ns; - tpw_MAin8_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin8: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; - - end MAin_8_B; - - architecture Structure of MAin_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin8_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_8: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin8_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin8_MAin8 : x01 := '0'; - VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin8_ipd, - TestSignalName => "MAin8", - Period => tperiod_MAin8, - PulseWidthHigh => tpw_MAin8_posedge, - PulseWidthLow => tpw_MAin8_negedge, - PeriodData => periodcheckinfo_MAin8, - Violation => tviol_MAin8_MAin8, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, - PathDelay => tpd_MAin8_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_7_B"; - - tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin7 : VitalDelayType := 0 ns; - tpw_MAin7_posedge : VitalDelayType := 0 ns; - tpw_MAin7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; - - end MAin_7_B; - - architecture Structure of MAin_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin7_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_7: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin7_MAin7 : x01 := '0'; - VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin7_ipd, - TestSignalName => "MAin7", - Period => tperiod_MAin7, - PulseWidthHigh => tpw_MAin7_posedge, - PulseWidthLow => tpw_MAin7_negedge, - PeriodData => periodcheckinfo_MAin7, - Violation => tviol_MAin7_MAin7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, - PathDelay => tpd_MAin7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_6_B"; - - tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin6 : VitalDelayType := 0 ns; - tpw_MAin6_posedge : VitalDelayType := 0 ns; - tpw_MAin6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; - - end MAin_6_B; - - architecture Structure of MAin_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin6_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_6: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin6_MAin6 : x01 := '0'; - VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin6_ipd, - TestSignalName => "MAin6", - Period => tperiod_MAin6, - PulseWidthHigh => tpw_MAin6_posedge, - PulseWidthLow => tpw_MAin6_negedge, - PeriodData => periodcheckinfo_MAin6, - Violation => tviol_MAin6_MAin6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, - PathDelay => tpd_MAin6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_5_B"; - - tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin5 : VitalDelayType := 0 ns; - tpw_MAin5_posedge : VitalDelayType := 0 ns; - tpw_MAin5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; - - end MAin_5_B; - - architecture Structure of MAin_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin5_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_5: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin5_MAin5 : x01 := '0'; - VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin5_ipd, - TestSignalName => "MAin5", - Period => tperiod_MAin5, - PulseWidthHigh => tpw_MAin5_posedge, - PulseWidthLow => tpw_MAin5_negedge, - PeriodData => periodcheckinfo_MAin5, - Violation => tviol_MAin5_MAin5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, - PathDelay => tpd_MAin5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_4_B"; - - tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin4 : VitalDelayType := 0 ns; - tpw_MAin4_posedge : VitalDelayType := 0 ns; - tpw_MAin4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; - - end MAin_4_B; - - architecture Structure of MAin_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin4_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_4: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin4_MAin4 : x01 := '0'; - VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin4_ipd, - TestSignalName => "MAin4", - Period => tperiod_MAin4, - PulseWidthHigh => tpw_MAin4_posedge, - PulseWidthLow => tpw_MAin4_negedge, - PeriodData => periodcheckinfo_MAin4, - Violation => tviol_MAin4_MAin4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, - PathDelay => tpd_MAin4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_3_B"; - - tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin3 : VitalDelayType := 0 ns; - tpw_MAin3_posedge : VitalDelayType := 0 ns; - tpw_MAin3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; - - end MAin_3_B; - - architecture Structure of MAin_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin3_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_3: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin3_MAin3 : x01 := '0'; - VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin3_ipd, - TestSignalName => "MAin3", - Period => tperiod_MAin3, - PulseWidthHigh => tpw_MAin3_posedge, - PulseWidthLow => tpw_MAin3_negedge, - PeriodData => periodcheckinfo_MAin3, - Violation => tviol_MAin3_MAin3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, - PathDelay => tpd_MAin3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_2_B"; - - tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin2 : VitalDelayType := 0 ns; - tpw_MAin2_posedge : VitalDelayType := 0 ns; - tpw_MAin2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; - - end MAin_2_B; - - architecture Structure of MAin_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin2_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_2: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin2_MAin2 : x01 := '0'; - VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin2_ipd, - TestSignalName => "MAin2", - Period => tperiod_MAin2, - PulseWidthHigh => tpw_MAin2_posedge, - PulseWidthLow => tpw_MAin2_negedge, - PeriodData => periodcheckinfo_MAin2, - Violation => tviol_MAin2_MAin2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, - PathDelay => tpd_MAin2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_1_B"; - - tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin1 : VitalDelayType := 0 ns; - tpw_MAin1_posedge : VitalDelayType := 0 ns; - tpw_MAin1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; - - end MAin_1_B; - - architecture Structure of MAin_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin1_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_1: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin1_MAin1 : x01 := '0'; - VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin1_ipd, - TestSignalName => "MAin1", - Period => tperiod_MAin1, - PulseWidthHigh => tpw_MAin1_posedge, - PulseWidthLow => tpw_MAin1_negedge, - PeriodData => periodcheckinfo_MAin1, - Violation => tviol_MAin1_MAin1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, - PathDelay => tpd_MAin1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_0_B"; - - tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin0 : VitalDelayType := 0 ns; - tpw_MAin0_posedge : VitalDelayType := 0 ns; - tpw_MAin0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; - - end MAin_0_B; - - architecture Structure of MAin_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin0_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_0: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin0_MAin0 : x01 := '0'; - VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin0_ipd, - TestSignalName => "MAin0", - Period => tperiod_MAin0, - PulseWidthHigh => tpw_MAin0_posedge, - PulseWidthLow => tpw_MAin0_negedge, - PeriodData => periodcheckinfo_MAin0, - Violation => tviol_MAin0_MAin0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, - PathDelay => tpd_MAin0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RAM2GS - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RAM2GS is - port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); - CROW: in Std_logic_vector (1 downto 0); - Din: in Std_logic_vector (7 downto 0); - Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; - nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; - RBA: out Std_logic_vector (1 downto 0); - RA: out Std_logic_vector (11 downto 0); - RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; - RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; - nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; - RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; - UFMSDI: out Std_logic; UFMSDO: in Std_logic); - - - - end RAM2GS; - - architecture Structure of RAM2GS is - signal FS_1: Std_logic; - signal FS_0: Std_logic; - signal RCLK_c: Std_logic; - signal FS_cry_1: Std_logic; - signal FS_17: Std_logic; - signal FS_16: Std_logic; - signal FS_cry_15: Std_logic; - signal FS_15: Std_logic; - signal FS_14: Std_logic; - signal FS_cry_13: Std_logic; - signal FS_13: Std_logic; - signal FS_12: Std_logic; - signal FS_cry_11: Std_logic; - signal FS_11: Std_logic; - signal FS_10: Std_logic; - signal FS_cry_9: Std_logic; - signal FS_9: Std_logic; - signal FS_8: Std_logic; - signal FS_cry_7: Std_logic; - signal FS_7: Std_logic; - signal FS_6: Std_logic; - signal FS_cry_5: Std_logic; - signal FS_5: Std_logic; - signal FS_4: Std_logic; - signal FS_cry_3: Std_logic; - signal FS_3: Std_logic; - signal FS_2: Std_logic; - signal N_147: Std_logic; - signal MAin_c_0: Std_logic; - signal CmdEnable17_0_a2_4: Std_logic; - signal CmdEnable17_0_a2_3: Std_logic; - signal CmdEnable16: Std_logic; - signal CmdEnable17: Std_logic; - signal C1WR_0_a2: Std_logic; - signal ADSubmitted: Std_logic; - signal ADSubmitted_r: Std_logic; - signal PHI2_c: Std_logic; - signal CmdEnable16_0_a2_5: Std_logic; - signal CmdEnable16_0_a2_4: Std_logic; - signal MAin_c_1: Std_logic; - signal C1Submitted: Std_logic; - signal C1Submitted_RNO: Std_logic; - signal S_1: Std_logic; - signal RASr2: Std_logic; - signal IS_3: Std_logic; - signal CO0: Std_logic; - signal N_177_i: Std_logic; - signal Ready_0_sqmuxa_0_a3_2: Std_logic; - signal CmdEnable: Std_logic; - signal un1_CMDWR: Std_logic; - signal CmdEnable_s: Std_logic; - signal N_128: Std_logic; - signal Din_c_5: Std_logic; - signal Din_c_3: Std_logic; - signal N_152: Std_logic; - signal N_133: Std_logic; - signal N_132: Std_logic; - signal LEDEN: Std_logic; - signal N_21_i: Std_logic; - signal XOR8MEG18: Std_logic; - signal CmdLEDEN: Std_logic; - signal PHI2r3: Std_logic; - signal PHI2r2: Std_logic; - signal InitReady: Std_logic; - signal CmdSubmitted: Std_logic; - signal CmdSubmitted_1_sqmuxa: Std_logic; - signal N_460_0: Std_logic; - signal N_136: Std_logic; - signal N_43: Std_logic; - signal Cmdn8MEGEN: Std_logic; - signal CmdEnable16_4: Std_logic; - signal n8MEGEN: Std_logic; - signal Cmdn8MEGEN_4_u_i_0: Std_logic; - signal N_19_i: Std_logic; - signal nRRAS_5_u_i_0: Std_logic; - signal N_160: Std_logic; - signal N_155: Std_logic; - signal IS_0: Std_logic; - signal Ready: Std_logic; - signal N_64_i_i: Std_logic; - signal N_24: Std_logic; - signal IS_2: Std_logic; - signal IS_1: Std_logic; - signal N_60_i_i: Std_logic; - signal N_56_i: Std_logic; - signal N_159_i: Std_logic; - signal N_159: Std_logic; - signal N_61_i_i: Std_logic; - signal RA10s_i: Std_logic; - signal UFMSDI_ens2_i_a2_4_2: Std_logic; - signal N_126: Std_logic; - signal N_51: Std_logic; - signal InitReady3: Std_logic; - signal N_461_0: Std_logic; - signal UFMSDI_ens2_i_a0: Std_logic; - signal nCRAS_c: Std_logic; - signal CBR: Std_logic; - signal UFMSDO_c: Std_logic; - signal N_70: Std_logic; - signal N_33: Std_logic; - signal LED_c: Std_logic; - signal un1_Din_4: Std_logic; - signal XOR8MEG: Std_logic; - signal Din_c_6: Std_logic; - signal RA11_2: Std_logic; - signal Ready_fast: Std_logic; - signal RA_c_11: Std_logic; - signal N_171: Std_logic; - signal FWEr_fast: Std_logic; - signal CASr2: Std_logic; - signal RCKEEN_8_u_1: Std_logic; - signal RCKEEN_8_u_0_0: Std_logic; - signal RCKEEN_8: Std_logic; - signal PHI2r: Std_logic; - signal RCKEEN: Std_logic; - signal RASr3: Std_logic; - signal RASr: Std_logic; - signal RCKE_2: Std_logic; - signal RCKE_c: Std_logic; - signal m18_0_a3_3: Std_logic; - signal S_0_i_o2_1: Std_logic; - signal N_165: Std_logic; - signal N_462_0: Std_logic; - signal Ready_0_sqmuxa: Std_logic; - signal N_463_0: Std_logic; - signal nRRAS_0_sqmuxa: Std_logic; - signal N_129: Std_logic; - signal UFMCLK_r_i_a2_2_2: Std_logic; - signal CmdUFMCLK: Std_logic; - signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; - signal UFMCLK_c: Std_logic; - signal nUFMCS15: Std_logic; - signal N_139_i: Std_logic; - signal UFMCLK_RNO: Std_logic; - signal UFMSDI_r_xx_mm_1: Std_logic; - signal UFMSDI_c: Std_logic; - signal UFMSDI_RNO: Std_logic; - signal nRowColSel: Std_logic; - signal RowA_4: Std_logic; - signal MAin_c_4: Std_logic; - signal Din_c_4: Std_logic; - signal nCCAS_c: Std_logic; - signal RA_c_4: Std_logic; - signal WRD_4: Std_logic; - signal WRD_5: Std_logic; - signal Bank_7: Std_logic; - signal Bank_6: Std_logic; - signal Bank_5: Std_logic; - signal Bank_2: Std_logic; - signal Din_c_7: Std_logic; - signal WRD_6: Std_logic; - signal C1WR_0_a2_0_11: Std_logic; - signal WRD_7: Std_logic; - signal Din_c_2: Std_logic; - signal Din_c_0: Std_logic; - signal XOR8MEG_3_u_0_a3_2: Std_logic; - signal Din_c_1: Std_logic; - signal XOR8MEG_3: Std_logic; - signal N_69: Std_logic; - signal N_31: Std_logic; - signal N_151: Std_logic; - signal g0_1: Std_logic; - signal nRCAS_0_sqmuxa_1: Std_logic; - signal N_41: Std_logic; - signal N_37_i: Std_logic; - signal nRCAS_c: Std_logic; - signal CASr3: Std_logic; - signal RCKEEN_8_u_0_a2_1_out: Std_logic; - signal N_28_i_1: Std_logic; - signal N_28_i: Std_logic; - signal nRCS_c: Std_logic; - signal N_24_i: Std_logic; - signal nRRAS_c: Std_logic; - signal CBR_fast: Std_logic; - signal m18_0_a2_1: Std_logic; - signal G_17_1: Std_logic; - signal FWEr: Std_logic; - signal N_39_i: Std_logic; - signal nRWE_c: Std_logic; - signal N_179: Std_logic; - signal nRowColSel_0_0: Std_logic; - signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; - signal nUFMCS_c: Std_logic; - signal nUFMCS_s_0_N_5_i: Std_logic; - signal CmdUFMCS: Std_logic; - signal N_95_5: Std_logic; - signal N_95_3: Std_logic; - signal RowA_0: Std_logic; - signal RowA_1: Std_logic; - signal MAin_c_5: Std_logic; - signal CmdUFMCLK_1_sqmuxa: Std_logic; - signal RowA_5: Std_logic; - signal un1_FS_14_i_a2_0_1: Std_logic; - signal N_137_8: Std_logic; - signal N_137_6: Std_logic; - signal un1_FS_13_i_a2_1: Std_logic; - signal C1WR_0_a2_0_10: Std_logic; - signal Bank_1: Std_logic; - signal Bank_0: Std_logic; - signal MAin_c_7: Std_logic; - signal MAin_c_6: Std_logic; - signal C1WR_0_a2_0_4: Std_logic; - signal C1WR_0_a2_0_3: Std_logic; - signal Bank_4: Std_logic; - signal Bank_3: Std_logic; - signal UFMSDI_ens2_i_o2_0_3: Std_logic; - signal MAin_c_3: Std_logic; - signal MAin_c_2: Std_logic; - signal RowA_2: Std_logic; - signal RowA_3: Std_logic; - signal CmdUFMSDI: Std_logic; - signal CASr: Std_logic; - signal CmdEnable16_1: Std_logic; - signal m6_0_a2_2: Std_logic; - signal WRD_0: Std_logic; - signal WRD_1: Std_logic; - signal g4_0_0_0: Std_logic; - signal MAin_c_9: Std_logic; - signal MAin_c_8: Std_logic; - signal RowA_8: Std_logic; - signal RowA_9: Std_logic; - signal nFWE_c: Std_logic; - signal CROW_c_1: Std_logic; - signal CROW_c_0: Std_logic; - signal RBA_c_0: Std_logic; - signal RBA_c_1: Std_logic; - signal WRD_2: Std_logic; - signal WRD_3: Std_logic; - signal RA_c_9: Std_logic; - signal RDQML_c: Std_logic; - signal RD_1_i: Std_logic; - signal RowA_6: Std_logic; - signal RowA_7: Std_logic; - signal RA_c_8: Std_logic; - signal RDQMH_c: Std_logic; - signal RA_c_0: Std_logic; - signal RA_c_1: Std_logic; - signal RA_c_7: Std_logic; - signal RA_c_2: Std_logic; - signal RA_c_6: Std_logic; - signal RA_c_3: Std_logic; - signal RA_c_5: Std_logic; - signal RA_c_10: Std_logic; - signal RD_in_0: Std_logic; - signal RD_in_7: Std_logic; - signal RD_in_6: Std_logic; - signal RD_in_5: Std_logic; - signal RD_in_4: Std_logic; - signal RD_in_3: Std_logic; - signal RD_in_2: Std_logic; - signal RD_in_1: Std_logic; - signal VCCI: Std_logic; - signal GNDI_TSALL: Std_logic; - component VHI - port (Z: out Std_logic); - end component; - component VLO - port (Z: out Std_logic); - end component; - component PUR - port (PUR: in Std_logic); - end component; - component GSR - port (GSR: in Std_logic); - end component; - component TSALL - port (TSALL: in Std_logic); - end component; - component SLICE_0 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - end component; - component SLICE_1 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_2 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_3 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_4 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_5 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_6 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_7 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_8 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_9 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_14 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_19 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_20 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - end component; - component SLICE_21 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_22 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_26 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_29 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_30 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_31 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_32 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_33 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_39 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_41 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_42 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_43 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_44 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_50 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_51 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_52 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_55 - port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_56 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_57 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_58 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_59 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_60 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_61 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_62 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_63 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_64 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component nRWE_RNO_1_SLICE_65 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - end component; - component SLICE_66 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_67 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_68 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_69 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_70 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_71 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_72 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_73 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_74 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_75 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_76 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_77 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_78 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_79 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_80 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_81 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_82 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_83 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_84 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_85 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_86 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_87 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_88 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_89 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_90 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_91 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_92 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_93 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_94 - port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component RD_0_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - end component; - component Dout_0_B - port (PADDO: in Std_logic; Dout0: out Std_logic); - end component; - component PHI2B - port (PADDI: out Std_logic; PHI2S: in Std_logic); - end component; - component UFMSDOB - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - end component; - component UFMSDIB - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - end component; - component UFMCLKB - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - end component; - component nUFMCSB - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - end component; - component RDQMLB - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - end component; - component RDQMHB - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - end component; - component nRCASB - port (PADDO: in Std_logic; nRCASS: out Std_logic); - end component; - component nRRASB - port (PADDO: in Std_logic; nRRASS: out Std_logic); - end component; - component nRWEB - port (PADDO: in Std_logic; nRWES: out Std_logic); - end component; - component RCKEB - port (PADDO: in Std_logic; RCKES: out Std_logic); - end component; - component RCLKB - port (PADDI: out Std_logic; RCLKS: in Std_logic); - end component; - component nRCSB - port (PADDO: in Std_logic; nRCSS: out Std_logic); - end component; - component RD_7_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - end component; - component RD_6_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - end component; - component RD_5_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - end component; - component RD_4_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - end component; - component RD_3_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - end component; - component RD_2_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - end component; - component RD_1_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - end component; - component RA_11_B - port (PADDO: in Std_logic; RA11: out Std_logic); - end component; - component RA_10_B - port (PADDO: in Std_logic; RA10: out Std_logic); - end component; - component RA_9_B - port (PADDO: in Std_logic; RA9: out Std_logic); - end component; - component RA_8_B - port (PADDO: in Std_logic; RA8: out Std_logic); - end component; - component RA_7_B - port (PADDO: in Std_logic; RA7: out Std_logic); - end component; - component RA_6_B - port (PADDO: in Std_logic; RA6: out Std_logic); - end component; - component RA_5_B - port (PADDO: in Std_logic; RA5: out Std_logic); - end component; - component RA_4_B - port (PADDO: in Std_logic; RA4: out Std_logic); - end component; - component RA_3_B - port (PADDO: in Std_logic; RA3: out Std_logic); - end component; - component RA_2_B - port (PADDO: in Std_logic; RA2: out Std_logic); - end component; - component RA_1_B - port (PADDO: in Std_logic; RA1: out Std_logic); - end component; - component RA_0_B - port (PADDO: in Std_logic; RA0: out Std_logic); - end component; - component RBA_1_B - port (PADDO: in Std_logic; RBA1: out Std_logic); - end component; - component RBA_0_B - port (PADDO: in Std_logic; RBA0: out Std_logic); - end component; - component LEDB - port (PADDO: in Std_logic; LEDS: out Std_logic); - end component; - component nFWEB - port (PADDI: out Std_logic; nFWES: in Std_logic); - end component; - component nCRASB - port (PADDI: out Std_logic; nCRASS: in Std_logic); - end component; - component nCCASB - port (PADDI: out Std_logic; nCCASS: in Std_logic); - end component; - component Dout_7_B - port (PADDO: in Std_logic; Dout7: out Std_logic); - end component; - component Dout_6_B - port (PADDO: in Std_logic; Dout6: out Std_logic); - end component; - component Dout_5_B - port (PADDO: in Std_logic; Dout5: out Std_logic); - end component; - component Dout_4_B - port (PADDO: in Std_logic; Dout4: out Std_logic); - end component; - component Dout_3_B - port (PADDO: in Std_logic; Dout3: out Std_logic); - end component; - component Dout_2_B - port (PADDO: in Std_logic; Dout2: out Std_logic); - end component; - component Dout_1_B - port (PADDO: in Std_logic; Dout1: out Std_logic); - end component; - component Din_7_B - port (PADDI: out Std_logic; Din7: in Std_logic); - end component; - component Din_6_B - port (PADDI: out Std_logic; Din6: in Std_logic); - end component; - component Din_5_B - port (PADDI: out Std_logic; Din5: in Std_logic); - end component; - component Din_4_B - port (PADDI: out Std_logic; Din4: in Std_logic); - end component; - component Din_3_B - port (PADDI: out Std_logic; Din3: in Std_logic); - end component; - component Din_2_B - port (PADDI: out Std_logic; Din2: in Std_logic); - end component; - component Din_1_B - port (PADDI: out Std_logic; Din1: in Std_logic); - end component; - component Din_0_B - port (PADDI: out Std_logic; Din0: in Std_logic); - end component; - component CROW_1_B - port (PADDI: out Std_logic; CROW1: in Std_logic); - end component; - component CROW_0_B - port (PADDI: out Std_logic; CROW0: in Std_logic); - end component; - component MAin_9_B - port (PADDI: out Std_logic; MAin9: in Std_logic); - end component; - component MAin_8_B - port (PADDI: out Std_logic; MAin8: in Std_logic); - end component; - component MAin_7_B - port (PADDI: out Std_logic; MAin7: in Std_logic); - end component; - component MAin_6_B - port (PADDI: out Std_logic; MAin6: in Std_logic); - end component; - component MAin_5_B - port (PADDI: out Std_logic; MAin5: in Std_logic); - end component; - component MAin_4_B - port (PADDI: out Std_logic; MAin4: in Std_logic); - end component; - component MAin_3_B - port (PADDI: out Std_logic; MAin3: in Std_logic); - end component; - component MAin_2_B - port (PADDI: out Std_logic; MAin2: in Std_logic); - end component; - component MAin_1_B - port (PADDI: out Std_logic; MAin1: in Std_logic); - end component; - component MAin_0_B - port (PADDI: out Std_logic; MAin0: in Std_logic); - end component; - begin - SLICE_0I: SLICE_0 - port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, - FCO=>FS_cry_1); - SLICE_1I: SLICE_1 - port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, - Q1=>FS_17); - SLICE_2I: SLICE_2 - port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, - Q1=>FS_15, FCO=>FS_cry_15); - SLICE_3I: SLICE_3 - port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, - Q1=>FS_13, FCO=>FS_cry_13); - SLICE_4I: SLICE_4 - port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, - Q1=>FS_11, FCO=>FS_cry_11); - SLICE_5I: SLICE_5 - port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, - Q1=>FS_9, FCO=>FS_cry_9); - SLICE_6I: SLICE_6 - port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, - Q1=>FS_7, FCO=>FS_cry_7); - SLICE_7I: SLICE_7 - port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, - Q1=>FS_5, FCO=>FS_cry_5); - SLICE_8I: SLICE_8 - port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, - Q1=>FS_3, FCO=>FS_cry_3); - SLICE_9I: SLICE_9 - port map (D1=>N_147, C1=>MAin_c_0, B1=>CmdEnable17_0_a2_4, - A1=>CmdEnable17_0_a2_3, D0=>CmdEnable16, C0=>CmdEnable17, - B0=>C1WR_0_a2, A0=>ADSubmitted, DI0=>ADSubmitted_r, - CLK=>PHI2_c, F0=>ADSubmitted_r, Q0=>ADSubmitted, - F1=>CmdEnable17); - SLICE_14I: SLICE_14 - port map (C1=>N_147, B1=>CmdEnable16_0_a2_5, A1=>CmdEnable16_0_a2_4, - D0=>MAin_c_1, C0=>N_147, B0=>C1Submitted, A0=>CmdEnable16, - DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, - Q0=>C1Submitted, F1=>CmdEnable16); - SLICE_19I: SLICE_19 - port map (D1=>S_1, C1=>RASr2, B1=>IS_3, A1=>CO0, B0=>S_1, A0=>CO0, - DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, - F1=>Ready_0_sqmuxa_0_a3_2); - SLICE_20I: SLICE_20 - port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>C1Submitted, C0=>un1_CMDWR, - B0=>CmdEnable, A0=>CmdEnable17, DI0=>CmdEnable_s, - M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); - SLICE_21I: SLICE_21 - port map (C1=>N_128, B1=>Din_c_5, A1=>Din_c_3, D0=>N_152, C0=>N_133, - B0=>N_132, A0=>LEDEN, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, - F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); - SLICE_22I: SLICE_22 - port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, - B0=>CmdSubmitted, A0=>CmdSubmitted_1_sqmuxa, DI0=>N_460_0, - CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); - SLICE_26I: SLICE_26 - port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, - C0=>n8MEGEN, B0=>N_152, A0=>Cmdn8MEGEN_4_u_i_0, DI0=>N_19_i, - CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, - F1=>Cmdn8MEGEN_4_u_i_0); - SLICE_29I: SLICE_29 - port map (D1=>nRRAS_5_u_i_0, C1=>N_160, B1=>N_155, A1=>IS_0, C0=>N_155, - B0=>Ready, A0=>IS_0, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, - Q0=>IS_0, F1=>N_24); - SLICE_30I: SLICE_30 - port map (C1=>IS_2, B1=>IS_1, A1=>IS_0, B0=>IS_1, A0=>IS_0, - DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); - SLICE_31I: SLICE_31 - port map (D1=>N_159, C1=>IS_3, B1=>IS_2, A1=>IS_1, D0=>IS_0, C0=>IS_1, - B0=>IS_2, A0=>IS_3, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); - SLICE_32I: SLICE_32 - port map (D1=>UFMSDI_ens2_i_a2_4_2, C1=>N_126, B1=>N_51, A1=>InitReady, - B0=>InitReady, A0=>InitReady3, DI0=>N_461_0, CLK=>RCLK_c, - F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); - SLICE_33I: SLICE_33 - port map (C1=>nCRAS_c, B1=>LEDEN, A1=>CBR, C0=>UFMSDO_c, B0=>InitReady, - A0=>CmdLEDEN, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, - Q0=>LEDEN, F1=>LED_c); - SLICE_39I: SLICE_39 - port map (B1=>un1_Din_4, A1=>XOR8MEG, C0=>n8MEGEN, B0=>XOR8MEG, - A0=>Din_c_6, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, - F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); - SLICE_41I: SLICE_41 - port map (D1=>S_1, C1=>FWEr_fast, B1=>CO0, A1=>CASr2, D0=>Ready, - C0=>RCKEEN_8_u_1, B0=>RCKEEN_8_u_0_0, A0=>CBR, DI0=>RCKEEN_8, - M1=>PHI2r, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, - F1=>RCKEEN_8_u_1, Q1=>PHI2r2); - SLICE_42I: SLICE_42 - port map (D1=>RASr2, C1=>IS_2, B1=>IS_1, A1=>IS_0, D0=>RCKEEN, C0=>RASr3, - B0=>RASr2, A0=>RASr, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, - F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); - SLICE_43I: SLICE_43 - port map (D1=>S_0_i_o2_1, C1=>InitReady, B1=>RASr2, A1=>Ready, - D0=>InitReady, C0=>N_165, B0=>Ready_0_sqmuxa_0_a3_2, A0=>Ready, - DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, - F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); - SLICE_44I: SLICE_44 - port map (D1=>Ready_0_sqmuxa_0_a3_2, C1=>Ready, B1=>N_165, A1=>InitReady, - B0=>Ready_fast, A0=>Ready_0_sqmuxa, DI0=>N_463_0, M1=>nCRAS_c, - CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, - Q1=>RASr); - SLICE_50I: SLICE_50 - port map (C1=>CO0, B1=>S_1, A1=>Ready, B0=>S_1, A0=>CO0, DI0=>S_0_i_o2_1, - LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, - F1=>nRRAS_0_sqmuxa); - SLICE_51I: SLICE_51 - port map (D1=>N_129, C1=>UFMCLK_r_i_a2_2_2, B1=>CmdUFMCLK, A1=>InitReady, - D0=>UFMCLK_r_i_m4_xx_mm_1, C0=>UFMCLK_c, B0=>nUFMCS15, - A0=>N_139_i, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, - F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, - Q1=>RASr2); - SLICE_52I: SLICE_52 - port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, - D0=>UFMSDI_r_xx_mm_1, C0=>UFMSDI_c, B0=>nUFMCS15, A0=>N_139_i, - DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, - Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); - SLICE_55I: SLICE_55 - port map (C0=>nRowColSel, B0=>RowA_4, A0=>MAin_c_4, M1=>Din_c_5, - M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); - SLICE_56I: SLICE_56 - port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, C0=>FS_9, - B0=>FS_7, A0=>FS_5, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, - F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); - SLICE_57I: SLICE_57 - port map (D1=>un1_Din_4, C1=>Din_c_3, B1=>Din_c_2, A1=>Din_c_0, - D0=>XOR8MEG_3_u_0_a3_2, C0=>N_171, B0=>LEDEN, A0=>Din_c_1, - DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, - Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); - SLICE_58I: SLICE_58 - port map (C1=>N_51, B1=>InitReady, A1=>FS_8, C0=>UFMSDO_c, B0=>InitReady, - A0=>Cmdn8MEGEN, DI0=>N_69, CE=>N_31, CLK=>RCLK_c, F0=>N_69, - Q0=>n8MEGEN, F1=>N_151); - SLICE_59I: SLICE_59 - port map (D1=>S_1, C1=>Ready, B1=>N_160, A1=>N_155, D0=>g0_1, C0=>S_1, - B0=>nRCAS_0_sqmuxa_1, A0=>N_41, DI0=>N_37_i, CLK=>RCLK_c, - F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); - SLICE_60I: SLICE_60 - port map (D1=>CASr2, C1=>CASr3, B1=>CO0, A1=>FWEr_fast, - D0=>RCKEEN_8_u_0_a2_1_out, C0=>N_28_i_1, B0=>N_24, A0=>CBR, - DI0=>N_28_i, CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); - SLICE_61I: SLICE_61 - port map (D1=>Ready, C1=>RCKE_c, B1=>RASr2, A1=>S_0_i_o2_1, D0=>IS_0, - C0=>N_155, B0=>N_160, A0=>nRRAS_5_u_i_0, DI0=>N_24_i, - CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); - SLICE_62I: SLICE_62 - port map (D1=>Ready, C1=>RASr2, B1=>S_0_i_o2_1, A1=>CBR_fast, - D0=>m18_0_a2_1, C0=>nRCAS_0_sqmuxa_1, B0=>G_17_1, A0=>FWEr, - DI0=>N_39_i, CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, - F1=>nRCAS_0_sqmuxa_1); - SLICE_63I: SLICE_63 - port map (D1=>Ready, C1=>FWEr, B1=>CBR, A1=>CASr3, D0=>S_1, C0=>Ready, - B0=>N_179, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, - CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); - SLICE_64I: SLICE_64 - port map (D1=>N_51, C1=>InitReady, B1=>FS_11, A1=>FS_10, - D0=>nUFMCS_s_0_N_5_i_N_2L1, C0=>nUFMCS_c, B0=>nUFMCS15, - A0=>N_139_i, DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, - F0=>nUFMCS_s_0_N_5_i, Q0=>nUFMCS_c, F1=>nUFMCS15); - nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 - port map (D1=>RASr2, C1=>RCKE_c, B1=>CO0, A1=>S_1, D0=>InitReady, - C0=>m18_0_a3_3, B0=>CO0, A0=>S_1, M0=>Ready, OFX0=>m18_0_a2_1); - SLICE_66I: SLICE_66 - port map (C1=>UFMCLK_r_i_a2_2_2, B1=>InitReady, A1=>CmdUFMCS, D0=>N_95_5, - C0=>N_95_3, B0=>InitReady, A0=>FS_16, M1=>MAin_c_1, - M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, - Q1=>RowA_1); - SLICE_67I: SLICE_67 - port map (D1=>Din_c_3, C1=>Din_c_5, B1=>N_128, A1=>XOR8MEG18, D0=>N_147, - C0=>MAin_c_1, B0=>MAin_c_0, A0=>CmdEnable, M1=>MAin_c_5, - M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, F0=>XOR8MEG18, - Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); - SLICE_68I: SLICE_68 - port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_14_i_a2_0_1, - C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_31, - F1=>un1_FS_14_i_a2_0_1); - SLICE_69I: SLICE_69 - port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_13_i_a2_1, - C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_33, - F1=>un1_FS_13_i_a2_1); - SLICE_70I: SLICE_70 - port map (D1=>C1WR_0_a2_0_11, C1=>C1WR_0_a2_0_10, B1=>Bank_1, A1=>Bank_0, - B0=>N_147, A0=>MAin_c_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, - F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); - SLICE_71I: SLICE_71 - port map (D1=>MAin_c_7, C1=>MAin_c_6, B1=>MAin_c_5, A1=>MAin_c_4, - D0=>C1WR_0_a2_0_4, C0=>C1WR_0_a2_0_3, B0=>Bank_4, A0=>Bank_3, - M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, - Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); - SLICE_72I: SLICE_72 - port map (C1=>UFMSDI_ens2_i_o2_0_3, B1=>FS_16, A1=>FS_12, D0=>N_51, - C0=>FS_11, B0=>FS_4, A0=>FS_1, M1=>MAin_c_3, M0=>MAin_c_2, - LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, - Q1=>RowA_3); - SLICE_73I: SLICE_73 - port map (D1=>CO0, C1=>S_1, B1=>InitReady, A1=>RASr2, B0=>Ready, - A0=>N_155, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, - CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); - SLICE_74I: SLICE_74 - port map (B1=>FS_14, A1=>FS_11, D0=>N_95_5, C0=>N_95_3, B0=>FS_16, - A0=>FS_10, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, - F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); - SLICE_75I: SLICE_75 - port map (C1=>Din_c_7, B1=>Din_c_6, A1=>Din_c_4, C0=>N_128, B0=>Din_c_5, - A0=>Din_c_1, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, - Q0=>CASr, F1=>N_128, Q1=>CASr2); - SLICE_76I: SLICE_76 - port map (B1=>Din_c_5, A1=>Din_c_0, D0=>MAin_c_0, C0=>Din_c_3, - B0=>Din_c_1, A0=>CmdEnable16_4, M1=>Din_c_5, M0=>Din_c_4, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, - F1=>CmdEnable16_4, Q1=>Bank_5); - SLICE_77I: SLICE_77 - port map (B1=>Din_c_7, A1=>Din_c_4, D0=>MAin_c_1, C0=>Din_c_6, - B0=>Din_c_2, A0=>CmdEnable16_1, M1=>Din_c_7, M0=>Din_c_6, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, - F1=>CmdEnable16_1, Q1=>Bank_7); - SLICE_78I: SLICE_78 - port map (B1=>Din_c_5, A1=>Din_c_3, D0=>N_43, C0=>MAin_c_1, B0=>Din_c_6, - A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, - F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); - SLICE_79I: SLICE_79 - port map (C1=>Ready, B1=>CASr3, A1=>CASr2, D0=>m6_0_a2_2, C0=>S_1, - B0=>CO0, A0=>CBR, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, - F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); - SLICE_80I: SLICE_80 - port map (B1=>CASr3, A1=>CASr2, D0=>g4_0_0_0, C0=>FWEr, B0=>CO0, - A0=>CBR_fast, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); - SLICE_81I: SLICE_81 - port map (D1=>FS_17, C1=>FS_15, B1=>FS_14, A1=>FS_13, D0=>FS_17, - C0=>FS_15, B0=>FS_13, A0=>FS_12, M1=>nFWE_c, M0=>nFWE_c, - CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, - Q1=>FWEr_fast); - SLICE_82I: SLICE_82 - port map (D1=>Din_c_3, C1=>Din_c_5, B1=>CmdLEDEN, A1=>N_128, D0=>Din_c_3, - C0=>Din_c_5, B0=>N_128, A0=>XOR8MEG18, M0=>CASr2, CLK=>RCLK_c, - F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); - SLICE_83I: SLICE_83 - port map (C1=>IS_3, B1=>IS_2, A1=>IS_1, C0=>IS_2, B0=>IS_1, A0=>IS_0, - M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); - SLICE_84I: SLICE_84 - port map (D1=>FS_11, C1=>FS_10, B1=>FS_8, A1=>FS_6, D0=>FS_10, C0=>FS_7, - B0=>FS_6, A0=>FS_1, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); - SLICE_85I: SLICE_85 - port map (D1=>Din_c_4, C1=>Din_c_7, B1=>Din_c_0, A1=>Din_c_1, - D0=>Din_c_7, C0=>Din_c_6, B0=>Din_c_5, A0=>Din_c_4, - M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, - Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); - SLICE_86I: SLICE_86 - port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_9, - A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQML_c); - SLICE_87I: SLICE_87 - port map (C1=>N_151, B1=>UFMSDI_ens2_i_a0, A1=>CmdUFMSDI, D0=>N_151, - C0=>FS_11, B0=>FS_9, A0=>FS_4, F0=>N_137_8, - F1=>UFMSDI_r_xx_mm_1); - SLICE_88I: SLICE_88 - port map (C1=>nFWE_c, B1=>MAin_c_3, A1=>MAin_c_2, B0=>nFWE_c, - A0=>nCCAS_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, - Q1=>RowA_7); - SLICE_89I: SLICE_89 - port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_8, - A0=>MAin_c_8, F0=>RA_c_8, F1=>RDQMH_c); - SLICE_90I: SLICE_90 - port map (C1=>MAin_c_1, B1=>MAin_c_0, A1=>N_147, C0=>nRowColSel, - B0=>RowA_0, A0=>MAin_c_0, F0=>RA_c_0, F1=>un1_CMDWR); - SLICE_91I: SLICE_91 - port map (C1=>nRowColSel, B1=>RowA_7, A1=>MAin_c_7, C0=>nRowColSel, - B0=>RowA_1, A0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); - SLICE_92I: SLICE_92 - port map (C1=>nRowColSel, B1=>RowA_6, A1=>MAin_c_6, C0=>nRowColSel, - B0=>RowA_2, A0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); - SLICE_93I: SLICE_93 - port map (C1=>nRowColSel, B1=>RowA_5, A1=>MAin_c_5, C0=>nRowColSel, - B0=>RowA_3, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); - SLICE_94I: SLICE_94 - port map (B1=>N_155, A1=>Ready, B0=>S_1, A0=>Ready, M0=>IS_0, - LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, - Q0=>RA_c_10, F1=>N_159_i); - RD_0_I: RD_0_B - port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); - Dout_0_I: Dout_0_B - port map (PADDO=>RD_in_0, Dout0=>Dout(0)); - PHI2I: PHI2B - port map (PADDI=>PHI2_c, PHI2S=>PHI2); - UFMSDOI: UFMSDOB - port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); - UFMSDII: UFMSDIB - port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); - UFMCLKI: UFMCLKB - port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); - nUFMCSI: nUFMCSB - port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); - RDQMLI: RDQMLB - port map (PADDO=>RDQML_c, RDQMLS=>RDQML); - RDQMHI: RDQMHB - port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); - nRCASI: nRCASB - port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); - nRRASI: nRRASB - port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); - nRWEI: nRWEB - port map (PADDO=>nRWE_c, nRWES=>nRWE); - RCKEI: RCKEB - port map (PADDO=>RCKE_c, RCKES=>RCKE); - RCLKI: RCLKB - port map (PADDI=>RCLK_c, RCLKS=>RCLK); - nRCSI: nRCSB - port map (PADDO=>nRCS_c, nRCSS=>nRCS); - RD_7_I: RD_7_B - port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); - RD_6_I: RD_6_B - port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); - RD_5_I: RD_5_B - port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); - RD_4_I: RD_4_B - port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); - RD_3_I: RD_3_B - port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); - RD_2_I: RD_2_B - port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); - RD_1_I0: RD_1_B - port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); - RA_11_I: RA_11_B - port map (PADDO=>RA_c_11, RA11=>RA(11)); - RA_10_I: RA_10_B - port map (PADDO=>RA_c_10, RA10=>RA(10)); - RA_9_I: RA_9_B - port map (PADDO=>RA_c_9, RA9=>RA(9)); - RA_8_I: RA_8_B - port map (PADDO=>RA_c_8, RA8=>RA(8)); - RA_7_I: RA_7_B - port map (PADDO=>RA_c_7, RA7=>RA(7)); - RA_6_I: RA_6_B - port map (PADDO=>RA_c_6, RA6=>RA(6)); - RA_5_I: RA_5_B - port map (PADDO=>RA_c_5, RA5=>RA(5)); - RA_4_I: RA_4_B - port map (PADDO=>RA_c_4, RA4=>RA(4)); - RA_3_I: RA_3_B - port map (PADDO=>RA_c_3, RA3=>RA(3)); - RA_2_I: RA_2_B - port map (PADDO=>RA_c_2, RA2=>RA(2)); - RA_1_I: RA_1_B - port map (PADDO=>RA_c_1, RA1=>RA(1)); - RA_0_I: RA_0_B - port map (PADDO=>RA_c_0, RA0=>RA(0)); - RBA_1_I: RBA_1_B - port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); - RBA_0_I: RBA_0_B - port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); - LEDI: LEDB - port map (PADDO=>LED_c, LEDS=>LED); - nFWEI: nFWEB - port map (PADDI=>nFWE_c, nFWES=>nFWE); - nCRASI: nCRASB - port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); - nCCASI: nCCASB - port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); - Dout_7_I: Dout_7_B - port map (PADDO=>RD_in_7, Dout7=>Dout(7)); - Dout_6_I: Dout_6_B - port map (PADDO=>RD_in_6, Dout6=>Dout(6)); - Dout_5_I: Dout_5_B - port map (PADDO=>RD_in_5, Dout5=>Dout(5)); - Dout_4_I: Dout_4_B - port map (PADDO=>RD_in_4, Dout4=>Dout(4)); - Dout_3_I: Dout_3_B - port map (PADDO=>RD_in_3, Dout3=>Dout(3)); - Dout_2_I: Dout_2_B - port map (PADDO=>RD_in_2, Dout2=>Dout(2)); - Dout_1_I: Dout_1_B - port map (PADDO=>RD_in_1, Dout1=>Dout(1)); - Din_7_I: Din_7_B - port map (PADDI=>Din_c_7, Din7=>Din(7)); - Din_6_I: Din_6_B - port map (PADDI=>Din_c_6, Din6=>Din(6)); - Din_5_I: Din_5_B - port map (PADDI=>Din_c_5, Din5=>Din(5)); - Din_4_I: Din_4_B - port map (PADDI=>Din_c_4, Din4=>Din(4)); - Din_3_I: Din_3_B - port map (PADDI=>Din_c_3, Din3=>Din(3)); - Din_2_I: Din_2_B - port map (PADDI=>Din_c_2, Din2=>Din(2)); - Din_1_I: Din_1_B - port map (PADDI=>Din_c_1, Din1=>Din(1)); - Din_0_I: Din_0_B - port map (PADDI=>Din_c_0, Din0=>Din(0)); - CROW_1_I: CROW_1_B - port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); - CROW_0_I: CROW_0_B - port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); - MAin_9_I: MAin_9_B - port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); - MAin_8_I: MAin_8_B - port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); - MAin_7_I: MAin_7_B - port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); - MAin_6_I: MAin_6_B - port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); - MAin_5_I: MAin_5_B - port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); - MAin_4_I: MAin_4_B - port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); - MAin_3_I: MAin_3_B - port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); - MAin_2_I: MAin_2_B - port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); - MAin_1_I: MAin_1_B - port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); - MAin_0_I: MAin_0_B - port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); - VHI_INST: VHI - port map (Z=>VCCI); - PUR_INST: PUR - port map (PUR=>VCCI); - GSR_INST: GSR - port map (GSR=>VCCI); - VLO_INST: VLO - port map (Z=>GNDI_TSALL); - TSALL_INST: TSALL - port map (TSALL=>GNDI_TSALL); - end Structure; - - - - library IEEE, vital2000, MACHXO; - configuration Structure_CON of RAM2GS is - for Structure - end for; - end Structure_CON; - - + +-- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +-- ldbanno -n VHDL -o RAM2GS_LCMXO256C_impl1_mapvho.vho -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd +-- Netlist created on Sat Aug 19 20:53:19 2023 +-- Netlist written on Sat Aug 19 20:53:21 2023 +-- Design is for device LCMXO256C +-- Design is for package TQFP100 +-- Design is for performance grade 3 + +-- entity vmuxregsre + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; + + end vmuxregsre; + + architecture Structure of vmuxregsre is + component FL1P3DX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3DX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity vcc + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vcc is + port (PWR1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; + + end vcc; + + architecture Structure of vcc is + component VHI + port (Z: out Std_logic); + end component; + begin + INST1: VHI + port map (Z=>PWR1); + end Structure; + +-- entity gnd + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity gnd is + port (PWR0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; + + end gnd; + + architecture Structure of gnd is + component VLO + port (Z: out Std_logic); + end component; + begin + INST1: VLO + port map (Z=>PWR0); + end Structure; + +-- entity ccu2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu2B is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; + + end ccu2B; + + architecture Structure of ccu2B is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_0 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_0 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_0"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; + + end SLICE_0; + + architecture Structure of SLICE_0 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_0_FS_cry_0_0_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_0_FS_cry_0_0_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_1: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_0: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_0: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, + S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20001 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu20001 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; + + end ccu20001; + + architecture Structure of ccu20001 is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_1 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_1 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_1"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; + + end SLICE_1; + + architecture Structure of SLICE_1 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_1_FS_cry_0_16_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_1_FS_cry_0_16_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20001 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_17: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_16: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_16: ccu20001 + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, + S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_2 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_2"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; + + end SLICE_2; + + architecture Structure of SLICE_2 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_2_FS_cry_0_14_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_2_FS_cry_0_14_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_15: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_14: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_14: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, + S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_3 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_3 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_3"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; + + end SLICE_3; + + architecture Structure of SLICE_3 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_3_FS_cry_0_12_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_3_FS_cry_0_12_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_13: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_12: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_12: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, + S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_4 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_4"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; + + end SLICE_4; + + architecture Structure of SLICE_4 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_4_FS_cry_0_10_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_4_FS_cry_0_10_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_11: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_10: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_10: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, + S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_5 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_5 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_5"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; + + end SLICE_5; + + architecture Structure of SLICE_5 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_5_FS_cry_0_8_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_5_FS_cry_0_8_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_9: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_8: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_8: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, + S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_6 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_6 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_6"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; + + end SLICE_6; + + architecture Structure of SLICE_6 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_6_FS_cry_0_6_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_6_FS_cry_0_6_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_7: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_6: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_6: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, + S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_7 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_7 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_7"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; + + end SLICE_7; + + architecture Structure of SLICE_7 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_7_FS_cry_0_4_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_7_FS_cry_0_4_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_5: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_4: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_4: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, + S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_8 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_8 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_8"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; + + end SLICE_8; + + architecture Structure of SLICE_8 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_8_FS_cry_0_2_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_8_FS_cry_0_2_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_3: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_2: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_2: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, + S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut4 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; + + end lut4; + + architecture Structure of lut4 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40002 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40002 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; + + end lut40002; + + architecture Structure of lut40002 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00F2") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity inverter + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity inverter is + port (I: in Std_logic; Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; + + end inverter; + + architecture Structure of inverter is + component INV + port (A: in Std_logic; Z: out Std_logic); + end component; + begin + INST1: INV + port map (A=>I, Z=>Z); + end Structure; + +-- entity SLICE_9 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_9 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_9"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; + + end SLICE_9; + + architecture Structure of SLICE_9 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40002 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ADSubmitted_r: lut40002 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + ADSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40003 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40003 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; + + end lut40003; + + architecture Structure of lut40003 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40004 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40004 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; + + end lut40004; + + architecture Structure of lut40004 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_14 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_14 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_14"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; + + end SLICE_14; + + architecture Structure of SLICE_14 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40003 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40004 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2: lut40003 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1Submitted_RNO: lut40004 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + C1Submitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40005 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40005 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; + + end lut40005; + + architecture Structure of lut40005 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40006 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40006 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; + + end lut40006; + + architecture Structure of lut40006 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDDDD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0007 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0007 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; + + end vmuxregsre0007; + + architecture Structure of vmuxregsre0007 is + component FL1P3IY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3IY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_19 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_19 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_19"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; + + end SLICE_19; + + architecture Structure of SLICE_19 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3_2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_RNO_0: lut40006 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40008 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40008 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; + + end lut40008; + + architecture Structure of lut40008 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40009 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40009 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; + + end lut40009; + + architecture Structure of lut40009 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAC8C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity selmux2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity selmux2 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; + + end selmux2; + + architecture Structure of selmux2 is + component MUX21 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + INST1: MUX21 + port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); + end Structure; + +-- entity SLICE_20 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_20 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_20"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; + + end SLICE_20; + + architecture Structure of SLICE_20 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal SLICE_20_SLICE_20_K1_H1: Std_logic; + signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40008 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40009 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + SLICE_20_K1: lut40008 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, + Z=>SLICE_20_SLICE_20_K1_H1); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable_s_GATE: lut40009 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>SLICE_20_CmdEnable_s_GATE_H0); + CmdEnable: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + SLICE_20_K0K1MUX: selmux2 + port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + OFX0_zd := OFX0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40010 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40010 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; + + end lut40010; + + architecture Structure of lut40010 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0404") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40011 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40011 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; + + end lut40011; + + architecture Structure of lut40011 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0203") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_21 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_21 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_21"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; + + end SLICE_21; + + architecture Structure of SLICE_21 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40010 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_a2_2: lut40010 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_RNO: lut40011 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdLEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40012 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40012 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; + + end lut40012; + + architecture Structure of lut40012 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_22 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_22 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_22"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; + + end SLICE_22; + + architecture Structure of SLICE_22 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_RNO: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40013 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40013 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; + + end lut40013; + + architecture Structure of lut40013 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x33AB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40014 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40014 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; + + end lut40014; + + architecture Structure of lut40014 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5151") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_26 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_26 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_26"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; + + end SLICE_26; + + architecture Structure of SLICE_26 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_0: lut40013 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Cmdn8MEGEN_RNO: lut40014 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Cmdn8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40015 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40015 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; + + end lut40015; + + architecture Structure of lut40015 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF32") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40016 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40016 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; + + end lut40016; + + architecture Structure of lut40016 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA9A9") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_29 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_29 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_29"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; + + end SLICE_29; + + architecture Structure of SLICE_29 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40015 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i: lut40015 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_0: lut40016 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40017 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40017 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; + + end lut40017; + + architecture Structure of lut40017 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7878") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40018 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40018 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; + + end lut40018; + + architecture Structure of lut40018 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x6666") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_30 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_30 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_30"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; + + end SLICE_30; + + architecture Structure of SLICE_30 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_RNO_2: lut40017 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_n1_0_x2: lut40018 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + IS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + IS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40019 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40019 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; + + end lut40019; + + architecture Structure of lut40019 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFEF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40020 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40020 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; + + end lut40020; + + architecture Structure of lut40020 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x6AAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_31 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_31 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_31"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; + + end SLICE_31; + + architecture Structure of SLICE_31 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40019 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_RNO: lut40019 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_3: lut40020 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + IS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40021 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40021 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; + + end lut40021; + + architecture Structure of lut40021 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4555") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_32 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_32 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_32"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; + + end SLICE_32; + + architecture Structure of SLICE_32 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a0: lut40021 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady_RNO: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40022 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40022 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; + + end lut40022; + + architecture Structure of lut40022 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFBFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40023 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40023 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; + + end lut40023; + + architecture Structure of lut40023 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8B8B") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_33 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_33 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_33"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; + + end SLICE_33; + + architecture Structure of SLICE_33 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LED_pad_RNO: lut40022 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + LEDEN_5_i_m2: lut40023 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + LEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40024 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40024 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; + + end lut40024; + + architecture Structure of lut40024 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40025 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40025 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; + + end lut40025; + + architecture Structure of lut40025 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xC6C6") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_39 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_39 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_39"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; + + end SLICE_39; + + architecture Structure of SLICE_39 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40025 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_0: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RA11_2: lut40025 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RA11: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40026 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40026 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; + + end lut40026; + + architecture Structure of lut40026 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x70CF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40027 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40027 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; + + end lut40027; + + architecture Structure of lut40027 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_41 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_41 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_41"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; + + end SLICE_41; + + architecture Structure of SLICE_41 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40026 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_1_0: lut40026 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKEEN_8_u: lut40027 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40028 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40028 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; + + end lut40028; + + architecture Structure of lut40028 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40029 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40029 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; + + end lut40029; + + architecture Structure of lut40029 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFE30") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_42 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_42 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_42"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; + + end SLICE_42; + + architecture Structure of SLICE_42 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_5: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKE_2_0: lut40029 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKE: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40030 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40030 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; + + end lut40030; + + architecture Structure of lut40030 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5072") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40031 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40031 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; + + end lut40031; + + architecture Structure of lut40031 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAEAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_43 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_43 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_43"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; + + end SLICE_43; + + architecture Structure of SLICE_43 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40030 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40031 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_RNO: lut40030 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_RNO: lut40031 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_44 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_44 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_44"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; + + end SLICE_44; + + architecture Structure of SLICE_44 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_fast_RNO: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RASr: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Ready_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40032 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40032 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; + + end lut40032; + + architecture Structure of lut40032 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0202") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_50 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_50 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_50"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; + + end SLICE_50; + + architecture Structure of SLICE_50 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_RNO: lut40032 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0_i_o2_1: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + S_1: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40033 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40033 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; + + end lut40033; + + architecture Structure of lut40033 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF2F7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40034 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40034 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; + + end lut40034; + + architecture Structure of lut40034 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1032") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_51 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_51 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_51"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; + + end SLICE_51; + + architecture Structure of SLICE_51 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMCLK_RNO_0: lut40033 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMCLK_RNO: lut40034 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40035 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40035 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; + + end lut40035; + + architecture Structure of lut40035 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3B33") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40036 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40036 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; + + end lut40036; + + architecture Structure of lut40036 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3210") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_52 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_52 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_52"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; + + end SLICE_52; + + architecture Structure of SLICE_52 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40035 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNITCN41: lut40035 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_RNO: lut40036 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMSDI: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40037 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40037 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; + + end lut40037; + + architecture Structure of lut40037 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xACAC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_55 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_55 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_55"; + + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; + + end SLICE_55; + + architecture Structure of SLICE_55 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_4: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, + F0_out, Q0_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40038 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40038 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; + + end lut40038; + + architecture Structure of lut40038 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40039 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40039 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; + + end lut40039; + + architecture Structure of lut40039 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2C2C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_56 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_56 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_56"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; + + end SLICE_56; + + architecture Structure of SLICE_56 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40039 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_11: lut40038 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_ens2_i_o2: lut40039 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40040 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40040 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; + + end lut40040; + + architecture Structure of lut40040 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF7F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_57 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_57 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_57"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; + + end SLICE_57; + + architecture Structure of SLICE_57 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG_3_u_0_a3_3: lut40040 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + XOR8MEG: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40041 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40041 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; + + end lut40041; + + architecture Structure of lut40041 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0101") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_58 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_58 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_58"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; + + end SLICE_58; + + architecture Structure of SLICE_58 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_en_ss0_0_a2_0: lut40041 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + n8MEGEN_5_i_m2: lut40023 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + n8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40042 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40042 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; + + end lut40042; + + architecture Structure of lut40042 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0BFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40043 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40043 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; + + end lut40043; + + architecture Structure of lut40043 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2232") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0044 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0044 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0044 : ENTITY IS TRUE; + + end vmuxregsre0044; + + architecture Structure of vmuxregsre0044 is + component FL1P3BX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3BX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_59 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_59 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_59"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; + + end SLICE_59; + + architecture Structure of SLICE_59 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40043 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_0: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_RNO: lut40043 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCAS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40045 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40045 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; + + end lut40045; + + architecture Structure of lut40045 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xE6EE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40046 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40046 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; + + end lut40046; + + architecture Structure of lut40046 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3233") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_60 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_60 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_60"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; + + end SLICE_60; + + architecture Structure of SLICE_60 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_RNO_0: lut40045 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCS_RNO: lut40046 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40047 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40047 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; + + end lut40047; + + architecture Structure of lut40047 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5400") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40048 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40048 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; + + end lut40048; + + architecture Structure of lut40048 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5051") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_61 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_61 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_61"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; + + end SLICE_61; + + architecture Structure of SLICE_61 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40048 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0: lut40047 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRRAS_RNO: lut40048 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRRAS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40049 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40049 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; + + end lut40049; + + architecture Structure of lut40049 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40050 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40050 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; + + end lut40050; + + architecture Structure of lut40050 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF4F7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_62 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_62 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_62"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; + + end SLICE_62; + + architecture Structure of SLICE_62 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40050 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_0_sqmuxa_1_0_a3: lut40049 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRWE_RNO: lut40050 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRWE: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40051 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40051 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; + + end lut40051; + + architecture Structure of lut40051 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40052 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40052 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; + + end lut40052; + + architecture Structure of lut40052 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_63 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_63 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_63"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; + + end SLICE_63; + + architecture Structure of SLICE_63 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40051 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_0_0_a3_0: lut40051 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRowColSel_0_0: lut40052 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRowColSel: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40053 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40053 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; + + end lut40053; + + architecture Structure of lut40053 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40054 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40054 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; + + end lut40054; + + architecture Structure of lut40054 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_64 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_64 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_64"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; + + end SLICE_64; + + architecture Structure of SLICE_64 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40054 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS15_0_a2: lut40053 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nUFMCS_s_0_N_5_i: lut40054 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nUFMCS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40055 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40055 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; + + end lut40055; + + architecture Structure of lut40055 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40056 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40056 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; + + end lut40056; + + architecture Structure of lut40056 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity nRWE_RNO_1_SLICE_65 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWE_RNO_1_SLICE_65 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWE_RNO_1_SLICE_65"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; + + end nRWE_RNO_1_SLICE_65; + + architecture Structure of nRWE_RNO_1_SLICE_65 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + component lut40055 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40056 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_1_SLICE_65_K1: lut40055 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); + nRWE_RNO_1_GATE: lut40056 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); + nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 + port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, + D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, + Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_ipd, OFX0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + OFX0_zd := OFX0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 7 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 8 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40057 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40057 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; + + end lut40057; + + architecture Structure of lut40057 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0B0B") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_66 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_66 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_66"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; + + end SLICE_66; + + architecture Structure of SLICE_66 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40057 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS_s_0_N_5_i_N_2L1: lut40057 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_a2_2_2: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40058 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40058 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; + + end lut40058; + + architecture Structure of lut40058 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0059 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0059 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0059 : ENTITY IS TRUE; + + end vmuxregsre0059; + + architecture Structure of vmuxregsre0059 is + component FL1P3JY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3JY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_67 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_67 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_67"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; + + end SLICE_67; + + architecture Structure of SLICE_67 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0059 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + CmdUFMCLK_1_sqmuxa_0_a2: lut40058 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG18_0_a2: lut40005 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_5: vmuxregsre0059 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_4: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40060 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40060 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; + + end lut40060; + + architecture Structure of lut40060 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEAAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_68 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_68 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_68"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; + + end SLICE_68; + + architecture Structure of SLICE_68 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2_0_1: lut40053 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_14_i_0: lut40060 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40061 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40061 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; + + end lut40061; + + architecture Structure of lut40061 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_69 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_69 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_69"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; + + end SLICE_69; + + architecture Structure of SLICE_69 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_13_i_a2_1: lut40061 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_0: lut40060 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40062 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40062 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; + + end lut40062; + + architecture Structure of lut40062 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_70 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_70 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_70"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; + + end SLICE_70; + + architecture Structure of SLICE_70 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2: lut40062 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_71 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_71 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_71"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; + + end SLICE_71; + + architecture Structure of SLICE_71 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_4: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2_0_10: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40063 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40063 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; + + end lut40063; + + architecture Structure of lut40063 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFEFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40064 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40064 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; + + end lut40064; + + architecture Structure of lut40064 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAAC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_72 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_72 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_72"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; + + end SLICE_72; + + architecture Structure of SLICE_72 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0: lut40063 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_m2: lut40064 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_3: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_2: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40065 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40065 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; + + end lut40065; + + architecture Structure of lut40065 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFF7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_73 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_73 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_73"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; + + end SLICE_73; + + architecture Structure of SLICE_73 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40065 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0: lut40065 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_0_sqmuxa_0_o2: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMCS: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CmdUFMCLK: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_74 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_74 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_74"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; + + end SLICE_74; + + architecture Structure of SLICE_74 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a2_3: lut40062 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady3_0_a2: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMSDI: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40066 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40066 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; + + end lut40066; + + architecture Structure of lut40066 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFDFD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_75 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_75 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_75"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; + + end SLICE_75; + + architecture Structure of SLICE_75 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40066 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_o2_0: lut40066 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_4_u_i_a2_0: lut40041 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + CASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CASr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40067 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40067 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; + + end lut40067; + + architecture Structure of lut40067 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0002") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_76 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_76 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_76"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; + + end SLICE_76; + + architecture Structure of SLICE_76 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40067 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_4: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_4_0: lut40067 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40068 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40068 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; + + end lut40068; + + architecture Structure of lut40068 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4444") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_77 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_77 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_77"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; + + end SLICE_77; + + architecture Structure of SLICE_77 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40068 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_1: lut40068 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_5: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40069 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40069 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; + + end lut40069; + + architecture Structure of lut40069 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7777") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_78 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_78 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_78"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; + + end SLICE_78; + + architecture Structure of SLICE_78 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_o2: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable17_0_a2_4: lut40058 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CBR_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CBR: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40070 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40070 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; + + end lut40070; + + architecture Structure of lut40070 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_79 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_79 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_79"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; + + end SLICE_79; + + architecture Structure of SLICE_79 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40070 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_2: lut40070 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRWE_RNO_0: lut40038 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40071 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40071 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; + + end lut40071; + + architecture Structure of lut40071 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4101") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_80 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_80 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_80"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; + + end SLICE_80; + + architecture Structure of SLICE_80 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0059 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40071 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_RNO_1: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRCAS_RNO_0: lut40071 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_9: vmuxregsre0059 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_8: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40072 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40072 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; + + end lut40072; + + architecture Structure of lut40072 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_81 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_81 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_81"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; + + end SLICE_81; + + architecture Structure of SLICE_81 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0_3: lut40072 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady3_0_a2_5: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + FWEr_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + FWEr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40073 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40073 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; + + end lut40073; + + architecture Structure of lut40073 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40074 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40074 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; + + end lut40074; + + architecture Structure of lut40074 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_82 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_82 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_82"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; + + end SLICE_82; + + architecture Structure of SLICE_82 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdLEDEN_4_u_i_a2: lut40073 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_1_sqmuxa_0_a2: lut40074 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40075 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40075 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; + + end lut40075; + + architecture Structure of lut40075 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7F7F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_83 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_83 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_83"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; + + end SLICE_83; + + architecture Structure of SLICE_83 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_o2: lut40063 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_0_sqmuxa_0_o2: lut40075 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RBA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RBA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_84 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_84 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_84"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; + + end SLICE_84; + + architecture Structure of SLICE_84 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a2_4_2: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_a2_6: lut40061 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40076 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40076 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; + + end lut40076; + + architecture Structure of lut40076 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_85 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_85 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_85"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; + + end SLICE_85; + + architecture Structure of SLICE_85 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40076 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2_3: lut40076 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_Din_4: lut40053 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_86 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_86 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_86"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; + + end SLICE_86; + + architecture Structure of SLICE_86 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQML: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_9: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40077 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40077 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; + + end lut40077; + + architecture Structure of lut40077 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3232") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_87 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_87 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_87"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; + + end SLICE_87; + + architecture Structure of SLICE_87 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_RNO_0: lut40077 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_FS_13_i_a2_8: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40078 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40078 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; + + end lut40078; + + architecture Structure of lut40078 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0808") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_88 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_88 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_88"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; + + end SLICE_88; + + architecture Structure of SLICE_88 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40078 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_3: lut40078 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nCCAS_pad_RNI01SJ: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_7: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_6: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, M1_dly, + M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40079 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40079 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; + + end lut40079; + + architecture Structure of lut40079 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBBBB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_89 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_89 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_89"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; + + end SLICE_89; + + architecture Structure of SLICE_89 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQMH: lut40079 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_8: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40080 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40080 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; + + end lut40080; + + architecture Structure of lut40080 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA8A8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_90 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_90 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_90"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; + + end SLICE_90; + + architecture Structure of SLICE_90 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40080 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_CMDWR: lut40080 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_0: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_91 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_91 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_91"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; + + end SLICE_91; + + architecture Structure of SLICE_91 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_7: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_1: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_92 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_92 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_92"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; + + end SLICE_92; + + architecture Structure of SLICE_92 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_6: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_2: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_93 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_93 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_93"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; + + end SLICE_93; + + architecture Structure of SLICE_93 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_5: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_3: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40081 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40081 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; + + end lut40081; + + architecture Structure of lut40081 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1111") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_94 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_94 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_94"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; + + end SLICE_94; + + architecture Structure of SLICE_94 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M0_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0059 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40081 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0_RNIS63D: lut40081 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN_8_u_0_a2_1_s: lut40062 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RA10: vmuxregsre0059 + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, M0_dly, LSR_dly, + CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf is + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; + + end mjiobuf; + + architecture Structure of mjiobuf is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + component OBW + port (I: in Std_logic; T: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PADI, O=>Z); + INST2: OBW + port map (I=>I, T=>T, O=>PAD); + end Structure; + +-- entity RD_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD0 : VitalDelayType := 0 ns; + tpw_RD0_posedge : VitalDelayType := 0 ns; + tpw_RD0_negedge : VitalDelayType := 0 ns; + tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; + + end RD_0_B; + + architecture Structure of RD_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD0_ipd : std_logic := 'X'; + signal RD0_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_0: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, + PADI=>RD0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD0_ipd, RD0, tipd_RD0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD0_zd : std_logic := 'X'; + VARIABLE RD0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD0_RD0 : x01 := '0'; + VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD0_ipd, + TestSignalName => "RD0", + Period => tperiod_RD0, + PulseWidthHigh => tpw_RD0_posedge, + PulseWidthLow => tpw_RD0_negedge, + PeriodData => periodcheckinfo_RD0, + Violation => tviol_RD0_RD0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD0_zd := RD0_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD0_ipd'last_event, + PathDelay => tpd_RD0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD0, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD0, + PathCondition => TRUE)), + GlitchData => RD0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0082 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0082 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0082 : ENTITY IS TRUE; + + end mjiobuf0082; + + architecture Structure of mjiobuf0082 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity Dout_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; + + end Dout_0_B; + + architecture Structure of Dout_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout0_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_0: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) + VARIABLE Dout0_zd : std_logic := 'X'; + VARIABLE Dout0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout0_zd := Dout0_out; + + VitalPathDelay01Z ( + OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout0, + PathCondition => TRUE)), + GlitchData => Dout0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0083 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0083 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0083 : ENTITY IS TRUE; + + end mjiobuf0083; + + architecture Structure of mjiobuf0083 is + component IBPD + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPD + port map (I=>PAD, O=>Z); + end Structure; + +-- entity PHI2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity PHI2B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2B"; + + tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); + tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_PHI2S : VitalDelayType := 0 ns; + tpw_PHI2S_posedge : VitalDelayType := 0 ns; + tpw_PHI2S_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; PHI2S: in Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; + + end PHI2B; + + architecture Structure of PHI2B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PHI2S_ipd : std_logic := 'X'; + + component mjiobuf0083 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + PHI2_pad: mjiobuf0083 + port map (Z=>PADDI_out, PAD=>PHI2S_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; + VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => PHI2S_ipd, + TestSignalName => "PHI2S", + Period => tperiod_PHI2S, + PulseWidthHigh => tpw_PHI2S_posedge, + PulseWidthLow => tpw_PHI2S_negedge, + PeriodData => periodcheckinfo_PHI2S, + Violation => tviol_PHI2S_PHI2S, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, + PathDelay => tpd_PHI2S_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0084 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0084 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0084 : ENTITY IS TRUE; + + end mjiobuf0084; + + architecture Structure of mjiobuf0084 is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PAD, O=>Z); + end Structure; + +-- entity UFMSDOB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDOB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDOB"; + + tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); + tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_UFMSDOS : VitalDelayType := 0 ns; + tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; + tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; + + end UFMSDOB; + + architecture Structure of UFMSDOB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal UFMSDOS_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + UFMSDO_pad: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; + VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => UFMSDOS_ipd, + TestSignalName => "UFMSDOS", + Period => tperiod_UFMSDOS, + PulseWidthHigh => tpw_UFMSDOS_posedge, + PulseWidthLow => tpw_UFMSDOS_negedge, + PeriodData => periodcheckinfo_UFMSDOS, + Violation => tviol_UFMSDOS_UFMSDOS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, + PathDelay => tpd_UFMSDOS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0085 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0085 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0085 : ENTITY IS TRUE; + + end mjiobuf0085; + + architecture Structure of mjiobuf0085 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity UFMSDIB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDIB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDIB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; + + end UFMSDIB; + + architecture Structure of UFMSDIB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMSDIS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMSDI_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) + VARIABLE UFMSDIS_zd : std_logic := 'X'; + VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMSDIS_zd := UFMSDIS_out; + + VitalPathDelay01Z ( + OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMSDIS, + PathCondition => TRUE)), + GlitchData => UFMSDIS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity UFMCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMCLKB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; + + end UFMCLKB; + + architecture Structure of UFMCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMCLKS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMCLK_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) + VARIABLE UFMCLKS_zd : std_logic := 'X'; + VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMCLKS_zd := UFMCLKS_out; + + VitalPathDelay01Z ( + OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMCLKS, + PathCondition => TRUE)), + GlitchData => UFMCLKS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nUFMCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nUFMCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nUFMCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; + + end nUFMCSB; + + architecture Structure of nUFMCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nUFMCSS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nUFMCS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) + VARIABLE nUFMCSS_zd : std_logic := 'X'; + VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nUFMCSS_zd := nUFMCSS_out; + + VitalPathDelay01Z ( + OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nUFMCSS, + PathCondition => TRUE)), + GlitchData => nUFMCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMLB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMLB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMLB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; + + end RDQMLB; + + architecture Structure of RDQMLB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMLS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQML_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RDQMLS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) + VARIABLE RDQMLS_zd : std_logic := 'X'; + VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMLS_zd := RDQMLS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMLS, + PathCondition => TRUE)), + GlitchData => RDQMLS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMHB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMHB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMHB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; + + end RDQMHB; + + architecture Structure of RDQMHB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMHS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQMH_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RDQMHS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) + VARIABLE RDQMHS_zd : std_logic := 'X'; + VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMHS_zd := RDQMHS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMHS, + PathCondition => TRUE)), + GlitchData => RDQMHS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; + + end nRCASB; + + architecture Structure of nRCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCASS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCAS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRCASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) + VARIABLE nRCASS_zd : std_logic := 'X'; + VARIABLE nRCASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCASS_zd := nRCASS_out; + + VitalPathDelay01Z ( + OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCASS, + PathCondition => TRUE)), + GlitchData => nRCASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRRASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; + + end nRRASB; + + architecture Structure of nRRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRRASS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRRAS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRRASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) + VARIABLE nRRASS_zd : std_logic := 'X'; + VARIABLE nRRASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRRASS_zd := nRRASS_out; + + VitalPathDelay01Z ( + OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRRASS, + PathCondition => TRUE)), + GlitchData => nRRASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRWES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; + + end nRWEB; + + architecture Structure of nRWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRWES_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRWE_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRWES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) + VARIABLE nRWES_zd : std_logic := 'X'; + VARIABLE nRWES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRWES_zd := nRWES_out; + + VitalPathDelay01Z ( + OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRWES, + PathCondition => TRUE)), + GlitchData => nRWES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCKEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCKEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCKEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RCKES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; + + end RCKEB; + + architecture Structure of RCKEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RCKES_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RCKE_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RCKES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) + VARIABLE RCKES_zd : std_logic := 'X'; + VARIABLE RCKES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RCKES_zd := RCKES_out; + + VitalPathDelay01Z ( + OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RCKES, + PathCondition => TRUE)), + GlitchData => RCKES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCLKB"; + + tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); + tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RCLKS : VitalDelayType := 0 ns; + tpw_RCLKS_posedge : VitalDelayType := 0 ns; + tpw_RCLKS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; RCLKS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; + + end RCLKB; + + architecture Structure of RCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal RCLKS_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + RCLK_pad: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>RCLKS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; + VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RCLKS_ipd, + TestSignalName => "RCLKS", + Period => tperiod_RCLKS, + PulseWidthHigh => tpw_RCLKS_posedge, + PulseWidthLow => tpw_RCLKS_negedge, + PeriodData => periodcheckinfo_RCLKS, + Violation => tviol_RCLKS_RCLKS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, + PathDelay => tpd_RCLKS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; + + end nRCSB; + + architecture Structure of nRCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCSS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) + VARIABLE nRCSS_zd : std_logic := 'X'; + VARIABLE nRCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCSS_zd := nRCSS_out; + + VitalPathDelay01Z ( + OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCSS, + PathCondition => TRUE)), + GlitchData => nRCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD7 : VitalDelayType := 0 ns; + tpw_RD7_posedge : VitalDelayType := 0 ns; + tpw_RD7_negedge : VitalDelayType := 0 ns; + tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; + + end RD_7_B; + + architecture Structure of RD_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD7_ipd : std_logic := 'X'; + signal RD7_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_7: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, + PADI=>RD7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD7_ipd, RD7, tipd_RD7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD7_zd : std_logic := 'X'; + VARIABLE RD7_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD7_RD7 : x01 := '0'; + VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD7_ipd, + TestSignalName => "RD7", + Period => tperiod_RD7, + PulseWidthHigh => tpw_RD7_posedge, + PulseWidthLow => tpw_RD7_negedge, + PeriodData => periodcheckinfo_RD7, + Violation => tviol_RD7_RD7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD7_zd := RD7_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD7_ipd'last_event, + PathDelay => tpd_RD7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD7, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD7, + PathCondition => TRUE)), + GlitchData => RD7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD6 : VitalDelayType := 0 ns; + tpw_RD6_posedge : VitalDelayType := 0 ns; + tpw_RD6_negedge : VitalDelayType := 0 ns; + tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; + + end RD_6_B; + + architecture Structure of RD_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD6_ipd : std_logic := 'X'; + signal RD6_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_6: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, + PADI=>RD6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD6_ipd, RD6, tipd_RD6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD6_zd : std_logic := 'X'; + VARIABLE RD6_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD6_RD6 : x01 := '0'; + VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD6_ipd, + TestSignalName => "RD6", + Period => tperiod_RD6, + PulseWidthHigh => tpw_RD6_posedge, + PulseWidthLow => tpw_RD6_negedge, + PeriodData => periodcheckinfo_RD6, + Violation => tviol_RD6_RD6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD6_zd := RD6_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD6_ipd'last_event, + PathDelay => tpd_RD6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD6, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD6, + PathCondition => TRUE)), + GlitchData => RD6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD5 : VitalDelayType := 0 ns; + tpw_RD5_posedge : VitalDelayType := 0 ns; + tpw_RD5_negedge : VitalDelayType := 0 ns; + tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; + + end RD_5_B; + + architecture Structure of RD_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD5_ipd : std_logic := 'X'; + signal RD5_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_5: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, + PADI=>RD5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD5_ipd, RD5, tipd_RD5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD5_zd : std_logic := 'X'; + VARIABLE RD5_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD5_RD5 : x01 := '0'; + VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD5_ipd, + TestSignalName => "RD5", + Period => tperiod_RD5, + PulseWidthHigh => tpw_RD5_posedge, + PulseWidthLow => tpw_RD5_negedge, + PeriodData => periodcheckinfo_RD5, + Violation => tviol_RD5_RD5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD5_zd := RD5_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD5_ipd'last_event, + PathDelay => tpd_RD5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD5, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD5, + PathCondition => TRUE)), + GlitchData => RD5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD4 : VitalDelayType := 0 ns; + tpw_RD4_posedge : VitalDelayType := 0 ns; + tpw_RD4_negedge : VitalDelayType := 0 ns; + tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; + + end RD_4_B; + + architecture Structure of RD_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD4_ipd : std_logic := 'X'; + signal RD4_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_4: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, + PADI=>RD4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD4_ipd, RD4, tipd_RD4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD4_zd : std_logic := 'X'; + VARIABLE RD4_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD4_RD4 : x01 := '0'; + VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD4_ipd, + TestSignalName => "RD4", + Period => tperiod_RD4, + PulseWidthHigh => tpw_RD4_posedge, + PulseWidthLow => tpw_RD4_negedge, + PeriodData => periodcheckinfo_RD4, + Violation => tviol_RD4_RD4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD4_zd := RD4_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD4_ipd'last_event, + PathDelay => tpd_RD4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD4, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD4, + PathCondition => TRUE)), + GlitchData => RD4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD3 : VitalDelayType := 0 ns; + tpw_RD3_posedge : VitalDelayType := 0 ns; + tpw_RD3_negedge : VitalDelayType := 0 ns; + tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; + + end RD_3_B; + + architecture Structure of RD_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD3_ipd : std_logic := 'X'; + signal RD3_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_3: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, + PADI=>RD3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD3_ipd, RD3, tipd_RD3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD3_zd : std_logic := 'X'; + VARIABLE RD3_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD3_RD3 : x01 := '0'; + VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD3_ipd, + TestSignalName => "RD3", + Period => tperiod_RD3, + PulseWidthHigh => tpw_RD3_posedge, + PulseWidthLow => tpw_RD3_negedge, + PeriodData => periodcheckinfo_RD3, + Violation => tviol_RD3_RD3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD3_zd := RD3_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD3_ipd'last_event, + PathDelay => tpd_RD3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD3, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD3, + PathCondition => TRUE)), + GlitchData => RD3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD2 : VitalDelayType := 0 ns; + tpw_RD2_posedge : VitalDelayType := 0 ns; + tpw_RD2_negedge : VitalDelayType := 0 ns; + tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; + + end RD_2_B; + + architecture Structure of RD_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD2_ipd : std_logic := 'X'; + signal RD2_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_2: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, + PADI=>RD2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD2_ipd, RD2, tipd_RD2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD2_zd : std_logic := 'X'; + VARIABLE RD2_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD2_RD2 : x01 := '0'; + VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD2_ipd, + TestSignalName => "RD2", + Period => tperiod_RD2, + PulseWidthHigh => tpw_RD2_posedge, + PulseWidthLow => tpw_RD2_negedge, + PeriodData => periodcheckinfo_RD2, + Violation => tviol_RD2_RD2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD2_zd := RD2_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD2_ipd'last_event, + PathDelay => tpd_RD2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD2, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD2, + PathCondition => TRUE)), + GlitchData => RD2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD1 : VitalDelayType := 0 ns; + tpw_RD1_posedge : VitalDelayType := 0 ns; + tpw_RD1_negedge : VitalDelayType := 0 ns; + tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; + + end RD_1_B; + + architecture Structure of RD_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD1_ipd : std_logic := 'X'; + signal RD1_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_1: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, + PADI=>RD1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD1_ipd, RD1, tipd_RD1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD1_zd : std_logic := 'X'; + VARIABLE RD1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD1_RD1 : x01 := '0'; + VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD1_ipd, + TestSignalName => "RD1", + Period => tperiod_RD1, + PulseWidthHigh => tpw_RD1_posedge, + PulseWidthLow => tpw_RD1_negedge, + PeriodData => periodcheckinfo_RD1, + Violation => tviol_RD1_RD1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD1_zd := RD1_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD1_ipd'last_event, + PathDelay => tpd_RD1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD1, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD1, + PathCondition => TRUE)), + GlitchData => RD1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_11_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA11: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; + + end RA_11_B; + + architecture Structure of RA_11_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA11_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_11: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA11_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA11_out) + VARIABLE RA11_zd : std_logic := 'X'; + VARIABLE RA11_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA11_zd := RA11_out; + + VitalPathDelay01Z ( + OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA11, + PathCondition => TRUE)), + GlitchData => RA11_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_10_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_10_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA10: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; + + end RA_10_B; + + architecture Structure of RA_10_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA10_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_10: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA10_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA10_out) + VARIABLE RA10_zd : std_logic := 'X'; + VARIABLE RA10_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA10_zd := RA10_out; + + VitalPathDelay01Z ( + OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA10, + PathCondition => TRUE)), + GlitchData => RA10_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_9_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA9: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; + + end RA_9_B; + + architecture Structure of RA_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA9_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_9: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA9_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA9_out) + VARIABLE RA9_zd : std_logic := 'X'; + VARIABLE RA9_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA9_zd := RA9_out; + + VitalPathDelay01Z ( + OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA9, + PathCondition => TRUE)), + GlitchData => RA9_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_8_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA8: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; + + end RA_8_B; + + architecture Structure of RA_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA8_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_8: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA8_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA8_out) + VARIABLE RA8_zd : std_logic := 'X'; + VARIABLE RA8_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA8_zd := RA8_out; + + VitalPathDelay01Z ( + OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA8, + PathCondition => TRUE)), + GlitchData => RA8_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; + + end RA_7_B; + + architecture Structure of RA_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA7_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_7: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA7_out) + VARIABLE RA7_zd : std_logic := 'X'; + VARIABLE RA7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA7_zd := RA7_out; + + VitalPathDelay01Z ( + OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA7, + PathCondition => TRUE)), + GlitchData => RA7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; + + end RA_6_B; + + architecture Structure of RA_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA6_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_6: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA6_out) + VARIABLE RA6_zd : std_logic := 'X'; + VARIABLE RA6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA6_zd := RA6_out; + + VitalPathDelay01Z ( + OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA6, + PathCondition => TRUE)), + GlitchData => RA6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; + + end RA_5_B; + + architecture Structure of RA_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA5_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_5: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA5_out) + VARIABLE RA5_zd : std_logic := 'X'; + VARIABLE RA5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA5_zd := RA5_out; + + VitalPathDelay01Z ( + OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA5, + PathCondition => TRUE)), + GlitchData => RA5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; + + end RA_4_B; + + architecture Structure of RA_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA4_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_4: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA4_out) + VARIABLE RA4_zd : std_logic := 'X'; + VARIABLE RA4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA4_zd := RA4_out; + + VitalPathDelay01Z ( + OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA4, + PathCondition => TRUE)), + GlitchData => RA4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; + + end RA_3_B; + + architecture Structure of RA_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA3_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_3: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA3_out) + VARIABLE RA3_zd : std_logic := 'X'; + VARIABLE RA3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA3_zd := RA3_out; + + VitalPathDelay01Z ( + OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA3, + PathCondition => TRUE)), + GlitchData => RA3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; + + end RA_2_B; + + architecture Structure of RA_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA2_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_2: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA2_out) + VARIABLE RA2_zd : std_logic := 'X'; + VARIABLE RA2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA2_zd := RA2_out; + + VitalPathDelay01Z ( + OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA2, + PathCondition => TRUE)), + GlitchData => RA2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; + + end RA_1_B; + + architecture Structure of RA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA1_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_1: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA1_out) + VARIABLE RA1_zd : std_logic := 'X'; + VARIABLE RA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA1_zd := RA1_out; + + VitalPathDelay01Z ( + OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA1, + PathCondition => TRUE)), + GlitchData => RA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; + + end RA_0_B; + + architecture Structure of RA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA0_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_0: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA0_out) + VARIABLE RA0_zd : std_logic := 'X'; + VARIABLE RA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA0_zd := RA0_out; + + VitalPathDelay01Z ( + OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA0, + PathCondition => TRUE)), + GlitchData => RA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; + + end RBA_1_B; + + architecture Structure of RBA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA1_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_1: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RBA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) + VARIABLE RBA1_zd : std_logic := 'X'; + VARIABLE RBA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA1_zd := RBA1_out; + + VitalPathDelay01Z ( + OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA1, + PathCondition => TRUE)), + GlitchData => RBA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; + + end RBA_0_B; + + architecture Structure of RBA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA0_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_0: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RBA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) + VARIABLE RBA0_zd : std_logic := 'X'; + VARIABLE RBA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA0_zd := RBA0_out; + + VitalPathDelay01Z ( + OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA0, + PathCondition => TRUE)), + GlitchData => RBA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0086 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0086 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0086 : ENTITY IS TRUE; + + end mjiobuf0086; + + architecture Structure of mjiobuf0086 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity LEDB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity LEDB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "LEDB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; LEDS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; + + end LEDB; + + architecture Structure of LEDB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal LEDS_out : std_logic := 'X'; + + component mjiobuf0086 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + LED_pad: mjiobuf0086 + port map (I=>PADDO_ipd, PAD=>LEDS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) + VARIABLE LEDS_zd : std_logic := 'X'; + VARIABLE LEDS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + LEDS_zd := LEDS_out; + + VitalPathDelay01Z ( + OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_LEDS, + PathCondition => TRUE)), + GlitchData => LEDS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nFWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nFWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nFWEB"; + + tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); + tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nFWES : VitalDelayType := 0 ns; + tpw_nFWES_posedge : VitalDelayType := 0 ns; + tpw_nFWES_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nFWES: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; + + end nFWEB; + + architecture Structure of nFWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nFWES_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nFWE_pad: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>nFWES_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nFWES_nFWES : x01 := '0'; + VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nFWES_ipd, + TestSignalName => "nFWES", + Period => tperiod_nFWES, + PulseWidthHigh => tpw_nFWES_posedge, + PulseWidthLow => tpw_nFWES_negedge, + PeriodData => periodcheckinfo_nFWES, + Violation => tviol_nFWES_nFWES, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, + PathDelay => tpd_nFWES_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0087 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0087 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0087 : ENTITY IS TRUE; + + end mjiobuf0087; + + architecture Structure of mjiobuf0087 is + component IBPU + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPU + port map (I=>PAD, O=>Z); + end Structure; + +-- entity nCRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCRASB"; + + tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCRASS : VitalDelayType := 0 ns; + tpw_nCRASS_posedge : VitalDelayType := 0 ns; + tpw_nCRASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCRASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; + + end nCRASB; + + architecture Structure of nCRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCRASS_ipd : std_logic := 'X'; + + component mjiobuf0087 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCRAS_pad: mjiobuf0087 + port map (Z=>PADDI_out, PAD=>nCRASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; + VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCRASS_ipd, + TestSignalName => "nCRASS", + Period => tperiod_nCRASS, + PulseWidthHigh => tpw_nCRASS_posedge, + PulseWidthLow => tpw_nCRASS_negedge, + PeriodData => periodcheckinfo_nCRASS, + Violation => tviol_nCRASS_nCRASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, + PathDelay => tpd_nCRASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCCASB"; + + tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCCASS : VitalDelayType := 0 ns; + tpw_nCCASS_posedge : VitalDelayType := 0 ns; + tpw_nCCASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCCASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; + + end nCCASB; + + architecture Structure of nCCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCCASS_ipd : std_logic := 'X'; + + component mjiobuf0087 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCCAS_pad: mjiobuf0087 + port map (Z=>PADDI_out, PAD=>nCCASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; + VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCCASS_ipd, + TestSignalName => "nCCASS", + Period => tperiod_nCCASS, + PulseWidthHigh => tpw_nCCASS_posedge, + PulseWidthLow => tpw_nCCASS_negedge, + PeriodData => periodcheckinfo_nCCASS, + Violation => tviol_nCCASS_nCCASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, + PathDelay => tpd_nCCASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; + + end Dout_7_B; + + architecture Structure of Dout_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout7_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_7: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) + VARIABLE Dout7_zd : std_logic := 'X'; + VARIABLE Dout7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout7_zd := Dout7_out; + + VitalPathDelay01Z ( + OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout7, + PathCondition => TRUE)), + GlitchData => Dout7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; + + end Dout_6_B; + + architecture Structure of Dout_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout6_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_6: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) + VARIABLE Dout6_zd : std_logic := 'X'; + VARIABLE Dout6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout6_zd := Dout6_out; + + VitalPathDelay01Z ( + OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout6, + PathCondition => TRUE)), + GlitchData => Dout6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; + + end Dout_5_B; + + architecture Structure of Dout_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout5_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_5: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) + VARIABLE Dout5_zd : std_logic := 'X'; + VARIABLE Dout5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout5_zd := Dout5_out; + + VitalPathDelay01Z ( + OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout5, + PathCondition => TRUE)), + GlitchData => Dout5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; + + end Dout_4_B; + + architecture Structure of Dout_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout4_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_4: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) + VARIABLE Dout4_zd : std_logic := 'X'; + VARIABLE Dout4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout4_zd := Dout4_out; + + VitalPathDelay01Z ( + OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout4, + PathCondition => TRUE)), + GlitchData => Dout4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; + + end Dout_3_B; + + architecture Structure of Dout_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout3_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_3: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) + VARIABLE Dout3_zd : std_logic := 'X'; + VARIABLE Dout3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout3_zd := Dout3_out; + + VitalPathDelay01Z ( + OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout3, + PathCondition => TRUE)), + GlitchData => Dout3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; + + end Dout_2_B; + + architecture Structure of Dout_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout2_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_2: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) + VARIABLE Dout2_zd : std_logic := 'X'; + VARIABLE Dout2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout2_zd := Dout2_out; + + VitalPathDelay01Z ( + OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout2, + PathCondition => TRUE)), + GlitchData => Dout2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; + + end Dout_1_B; + + architecture Structure of Dout_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout1_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_1: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) + VARIABLE Dout1_zd : std_logic := 'X'; + VARIABLE Dout1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout1_zd := Dout1_out; + + VitalPathDelay01Z ( + OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout1, + PathCondition => TRUE)), + GlitchData => Dout1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_B"; + + tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din7 : VitalDelayType := 0 ns; + tpw_Din7_posedge : VitalDelayType := 0 ns; + tpw_Din7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; + + end Din_7_B; + + architecture Structure of Din_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din7_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_7: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din7_ipd, Din7, tipd_Din7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din7_Din7 : x01 := '0'; + VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din7_ipd, + TestSignalName => "Din7", + Period => tperiod_Din7, + PulseWidthHigh => tpw_Din7_posedge, + PulseWidthLow => tpw_Din7_negedge, + PeriodData => periodcheckinfo_Din7, + Violation => tviol_Din7_Din7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din7_ipd'last_event, + PathDelay => tpd_Din7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_B"; + + tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din6 : VitalDelayType := 0 ns; + tpw_Din6_posedge : VitalDelayType := 0 ns; + tpw_Din6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; + + end Din_6_B; + + architecture Structure of Din_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din6_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_6: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din6_ipd, Din6, tipd_Din6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din6_Din6 : x01 := '0'; + VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din6_ipd, + TestSignalName => "Din6", + Period => tperiod_Din6, + PulseWidthHigh => tpw_Din6_posedge, + PulseWidthLow => tpw_Din6_negedge, + PeriodData => periodcheckinfo_Din6, + Violation => tviol_Din6_Din6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din6_ipd'last_event, + PathDelay => tpd_Din6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_B"; + + tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din5 : VitalDelayType := 0 ns; + tpw_Din5_posedge : VitalDelayType := 0 ns; + tpw_Din5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; + + end Din_5_B; + + architecture Structure of Din_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din5_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_5: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din5_ipd, Din5, tipd_Din5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din5_Din5 : x01 := '0'; + VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din5_ipd, + TestSignalName => "Din5", + Period => tperiod_Din5, + PulseWidthHigh => tpw_Din5_posedge, + PulseWidthLow => tpw_Din5_negedge, + PeriodData => periodcheckinfo_Din5, + Violation => tviol_Din5_Din5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din5_ipd'last_event, + PathDelay => tpd_Din5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_B"; + + tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din4 : VitalDelayType := 0 ns; + tpw_Din4_posedge : VitalDelayType := 0 ns; + tpw_Din4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; + + end Din_4_B; + + architecture Structure of Din_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din4_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_4: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din4_ipd, Din4, tipd_Din4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din4_Din4 : x01 := '0'; + VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din4_ipd, + TestSignalName => "Din4", + Period => tperiod_Din4, + PulseWidthHigh => tpw_Din4_posedge, + PulseWidthLow => tpw_Din4_negedge, + PeriodData => periodcheckinfo_Din4, + Violation => tviol_Din4_Din4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din4_ipd'last_event, + PathDelay => tpd_Din4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_B"; + + tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din3 : VitalDelayType := 0 ns; + tpw_Din3_posedge : VitalDelayType := 0 ns; + tpw_Din3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; + + end Din_3_B; + + architecture Structure of Din_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din3_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_3: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din3_ipd, Din3, tipd_Din3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din3_Din3 : x01 := '0'; + VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din3_ipd, + TestSignalName => "Din3", + Period => tperiod_Din3, + PulseWidthHigh => tpw_Din3_posedge, + PulseWidthLow => tpw_Din3_negedge, + PeriodData => periodcheckinfo_Din3, + Violation => tviol_Din3_Din3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din3_ipd'last_event, + PathDelay => tpd_Din3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_B"; + + tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din2 : VitalDelayType := 0 ns; + tpw_Din2_posedge : VitalDelayType := 0 ns; + tpw_Din2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; + + end Din_2_B; + + architecture Structure of Din_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din2_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_2: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din2_ipd, Din2, tipd_Din2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din2_Din2 : x01 := '0'; + VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din2_ipd, + TestSignalName => "Din2", + Period => tperiod_Din2, + PulseWidthHigh => tpw_Din2_posedge, + PulseWidthLow => tpw_Din2_negedge, + PeriodData => periodcheckinfo_Din2, + Violation => tviol_Din2_Din2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din2_ipd'last_event, + PathDelay => tpd_Din2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_B"; + + tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din1 : VitalDelayType := 0 ns; + tpw_Din1_posedge : VitalDelayType := 0 ns; + tpw_Din1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; + + end Din_1_B; + + architecture Structure of Din_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din1_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_1: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din1_ipd, Din1, tipd_Din1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din1_Din1 : x01 := '0'; + VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din1_ipd, + TestSignalName => "Din1", + Period => tperiod_Din1, + PulseWidthHigh => tpw_Din1_posedge, + PulseWidthLow => tpw_Din1_negedge, + PeriodData => periodcheckinfo_Din1, + Violation => tviol_Din1_Din1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din1_ipd'last_event, + PathDelay => tpd_Din1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_B"; + + tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din0 : VitalDelayType := 0 ns; + tpw_Din0_posedge : VitalDelayType := 0 ns; + tpw_Din0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; + + end Din_0_B; + + architecture Structure of Din_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din0_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_0: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din0_ipd, Din0, tipd_Din0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din0_Din0 : x01 := '0'; + VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din0_ipd, + TestSignalName => "Din0", + Period => tperiod_Din0, + PulseWidthHigh => tpw_Din0_posedge, + PulseWidthLow => tpw_Din0_negedge, + PeriodData => periodcheckinfo_Din0, + Violation => tviol_Din0_Din0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din0_ipd'last_event, + PathDelay => tpd_Din0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_1_B"; + + tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW1 : VitalDelayType := 0 ns; + tpw_CROW1_posedge : VitalDelayType := 0 ns; + tpw_CROW1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; + + end CROW_1_B; + + architecture Structure of CROW_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW1_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_1: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>CROW1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW1_CROW1 : x01 := '0'; + VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW1_ipd, + TestSignalName => "CROW1", + Period => tperiod_CROW1, + PulseWidthHigh => tpw_CROW1_posedge, + PulseWidthLow => tpw_CROW1_negedge, + PeriodData => periodcheckinfo_CROW1, + Violation => tviol_CROW1_CROW1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, + PathDelay => tpd_CROW1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_0_B"; + + tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW0 : VitalDelayType := 0 ns; + tpw_CROW0_posedge : VitalDelayType := 0 ns; + tpw_CROW0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; + + end CROW_0_B; + + architecture Structure of CROW_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW0_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_0: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>CROW0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW0_CROW0 : x01 := '0'; + VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW0_ipd, + TestSignalName => "CROW0", + Period => tperiod_CROW0, + PulseWidthHigh => tpw_CROW0_posedge, + PulseWidthLow => tpw_CROW0_negedge, + PeriodData => periodcheckinfo_CROW0, + Violation => tviol_CROW0_CROW0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, + PathDelay => tpd_CROW0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_9_B"; + + tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin9 : VitalDelayType := 0 ns; + tpw_MAin9_posedge : VitalDelayType := 0 ns; + tpw_MAin9_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin9: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; + + end MAin_9_B; + + architecture Structure of MAin_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin9_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_9: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin9_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin9_MAin9 : x01 := '0'; + VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin9_ipd, + TestSignalName => "MAin9", + Period => tperiod_MAin9, + PulseWidthHigh => tpw_MAin9_posedge, + PulseWidthLow => tpw_MAin9_negedge, + PeriodData => periodcheckinfo_MAin9, + Violation => tviol_MAin9_MAin9, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, + PathDelay => tpd_MAin9_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_8_B"; + + tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin8 : VitalDelayType := 0 ns; + tpw_MAin8_posedge : VitalDelayType := 0 ns; + tpw_MAin8_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin8: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; + + end MAin_8_B; + + architecture Structure of MAin_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin8_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_8: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin8_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin8_MAin8 : x01 := '0'; + VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin8_ipd, + TestSignalName => "MAin8", + Period => tperiod_MAin8, + PulseWidthHigh => tpw_MAin8_posedge, + PulseWidthLow => tpw_MAin8_negedge, + PeriodData => periodcheckinfo_MAin8, + Violation => tviol_MAin8_MAin8, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, + PathDelay => tpd_MAin8_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_7_B"; + + tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin7 : VitalDelayType := 0 ns; + tpw_MAin7_posedge : VitalDelayType := 0 ns; + tpw_MAin7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; + + end MAin_7_B; + + architecture Structure of MAin_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin7_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_7: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin7_MAin7 : x01 := '0'; + VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin7_ipd, + TestSignalName => "MAin7", + Period => tperiod_MAin7, + PulseWidthHigh => tpw_MAin7_posedge, + PulseWidthLow => tpw_MAin7_negedge, + PeriodData => periodcheckinfo_MAin7, + Violation => tviol_MAin7_MAin7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, + PathDelay => tpd_MAin7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_6_B"; + + tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin6 : VitalDelayType := 0 ns; + tpw_MAin6_posedge : VitalDelayType := 0 ns; + tpw_MAin6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; + + end MAin_6_B; + + architecture Structure of MAin_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin6_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_6: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin6_MAin6 : x01 := '0'; + VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin6_ipd, + TestSignalName => "MAin6", + Period => tperiod_MAin6, + PulseWidthHigh => tpw_MAin6_posedge, + PulseWidthLow => tpw_MAin6_negedge, + PeriodData => periodcheckinfo_MAin6, + Violation => tviol_MAin6_MAin6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, + PathDelay => tpd_MAin6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_5_B"; + + tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin5 : VitalDelayType := 0 ns; + tpw_MAin5_posedge : VitalDelayType := 0 ns; + tpw_MAin5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; + + end MAin_5_B; + + architecture Structure of MAin_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin5_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_5: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin5_MAin5 : x01 := '0'; + VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin5_ipd, + TestSignalName => "MAin5", + Period => tperiod_MAin5, + PulseWidthHigh => tpw_MAin5_posedge, + PulseWidthLow => tpw_MAin5_negedge, + PeriodData => periodcheckinfo_MAin5, + Violation => tviol_MAin5_MAin5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, + PathDelay => tpd_MAin5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_4_B"; + + tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin4 : VitalDelayType := 0 ns; + tpw_MAin4_posedge : VitalDelayType := 0 ns; + tpw_MAin4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; + + end MAin_4_B; + + architecture Structure of MAin_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin4_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_4: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin4_MAin4 : x01 := '0'; + VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin4_ipd, + TestSignalName => "MAin4", + Period => tperiod_MAin4, + PulseWidthHigh => tpw_MAin4_posedge, + PulseWidthLow => tpw_MAin4_negedge, + PeriodData => periodcheckinfo_MAin4, + Violation => tviol_MAin4_MAin4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, + PathDelay => tpd_MAin4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_3_B"; + + tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin3 : VitalDelayType := 0 ns; + tpw_MAin3_posedge : VitalDelayType := 0 ns; + tpw_MAin3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; + + end MAin_3_B; + + architecture Structure of MAin_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin3_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_3: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin3_MAin3 : x01 := '0'; + VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin3_ipd, + TestSignalName => "MAin3", + Period => tperiod_MAin3, + PulseWidthHigh => tpw_MAin3_posedge, + PulseWidthLow => tpw_MAin3_negedge, + PeriodData => periodcheckinfo_MAin3, + Violation => tviol_MAin3_MAin3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, + PathDelay => tpd_MAin3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_2_B"; + + tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin2 : VitalDelayType := 0 ns; + tpw_MAin2_posedge : VitalDelayType := 0 ns; + tpw_MAin2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; + + end MAin_2_B; + + architecture Structure of MAin_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin2_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_2: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin2_MAin2 : x01 := '0'; + VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin2_ipd, + TestSignalName => "MAin2", + Period => tperiod_MAin2, + PulseWidthHigh => tpw_MAin2_posedge, + PulseWidthLow => tpw_MAin2_negedge, + PeriodData => periodcheckinfo_MAin2, + Violation => tviol_MAin2_MAin2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, + PathDelay => tpd_MAin2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_1_B"; + + tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin1 : VitalDelayType := 0 ns; + tpw_MAin1_posedge : VitalDelayType := 0 ns; + tpw_MAin1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; + + end MAin_1_B; + + architecture Structure of MAin_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin1_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_1: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin1_MAin1 : x01 := '0'; + VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin1_ipd, + TestSignalName => "MAin1", + Period => tperiod_MAin1, + PulseWidthHigh => tpw_MAin1_posedge, + PulseWidthLow => tpw_MAin1_negedge, + PeriodData => periodcheckinfo_MAin1, + Violation => tviol_MAin1_MAin1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, + PathDelay => tpd_MAin1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_0_B"; + + tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin0 : VitalDelayType := 0 ns; + tpw_MAin0_posedge : VitalDelayType := 0 ns; + tpw_MAin0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; + + end MAin_0_B; + + architecture Structure of MAin_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin0_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_0: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin0_MAin0 : x01 := '0'; + VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin0_ipd, + TestSignalName => "MAin0", + Period => tperiod_MAin0, + PulseWidthHigh => tpw_MAin0_posedge, + PulseWidthLow => tpw_MAin0_negedge, + PeriodData => periodcheckinfo_MAin0, + Violation => tviol_MAin0_MAin0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, + PathDelay => tpd_MAin0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RAM2GS + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RAM2GS is + port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); + CROW: in Std_logic_vector (1 downto 0); + Din: in Std_logic_vector (7 downto 0); + Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; + nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; + RBA: out Std_logic_vector (1 downto 0); + RA: out Std_logic_vector (11 downto 0); + RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; + RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; + nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; + RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; + UFMSDI: out Std_logic; UFMSDO: in Std_logic); + + + + end RAM2GS; + + architecture Structure of RAM2GS is + signal FS_1: Std_logic; + signal FS_0: Std_logic; + signal RCLK_c: Std_logic; + signal FS_cry_1: Std_logic; + signal FS_17: Std_logic; + signal FS_16: Std_logic; + signal FS_cry_15: Std_logic; + signal FS_15: Std_logic; + signal FS_14: Std_logic; + signal FS_cry_13: Std_logic; + signal FS_13: Std_logic; + signal FS_12: Std_logic; + signal FS_cry_11: Std_logic; + signal FS_11: Std_logic; + signal FS_10: Std_logic; + signal FS_cry_9: Std_logic; + signal FS_9: Std_logic; + signal FS_8: Std_logic; + signal FS_cry_7: Std_logic; + signal FS_7: Std_logic; + signal FS_6: Std_logic; + signal FS_cry_5: Std_logic; + signal FS_5: Std_logic; + signal FS_4: Std_logic; + signal FS_cry_3: Std_logic; + signal FS_3: Std_logic; + signal FS_2: Std_logic; + signal N_147: Std_logic; + signal MAin_c_0: Std_logic; + signal CmdEnable17_0_a2_4: Std_logic; + signal CmdEnable17_0_a2_3: Std_logic; + signal CmdEnable16: Std_logic; + signal CmdEnable17: Std_logic; + signal C1WR_0_a2: Std_logic; + signal ADSubmitted: Std_logic; + signal ADSubmitted_r: Std_logic; + signal PHI2_c: Std_logic; + signal CmdEnable16_0_a2_5: Std_logic; + signal CmdEnable16_0_a2_4: Std_logic; + signal MAin_c_1: Std_logic; + signal C1Submitted: Std_logic; + signal C1Submitted_RNO: Std_logic; + signal S_1: Std_logic; + signal RASr2: Std_logic; + signal IS_3: Std_logic; + signal CO0: Std_logic; + signal N_177_i: Std_logic; + signal Ready_0_sqmuxa_0_a3_2: Std_logic; + signal CmdEnable: Std_logic; + signal un1_CMDWR: Std_logic; + signal CmdEnable_s: Std_logic; + signal N_128: Std_logic; + signal Din_c_5: Std_logic; + signal Din_c_3: Std_logic; + signal N_152: Std_logic; + signal N_133: Std_logic; + signal N_132: Std_logic; + signal LEDEN: Std_logic; + signal N_21_i: Std_logic; + signal XOR8MEG18: Std_logic; + signal CmdLEDEN: Std_logic; + signal PHI2r3: Std_logic; + signal PHI2r2: Std_logic; + signal InitReady: Std_logic; + signal CmdSubmitted: Std_logic; + signal CmdSubmitted_1_sqmuxa: Std_logic; + signal N_460_0: Std_logic; + signal N_136: Std_logic; + signal N_43: Std_logic; + signal Cmdn8MEGEN: Std_logic; + signal CmdEnable16_4: Std_logic; + signal n8MEGEN: Std_logic; + signal Cmdn8MEGEN_4_u_i_0: Std_logic; + signal N_19_i: Std_logic; + signal nRRAS_5_u_i_0: Std_logic; + signal N_160: Std_logic; + signal N_155: Std_logic; + signal IS_0: Std_logic; + signal Ready: Std_logic; + signal N_64_i_i: Std_logic; + signal N_24: Std_logic; + signal IS_2: Std_logic; + signal IS_1: Std_logic; + signal N_60_i_i: Std_logic; + signal N_56_i: Std_logic; + signal N_159_i: Std_logic; + signal N_159: Std_logic; + signal N_61_i_i: Std_logic; + signal RA10s_i: Std_logic; + signal UFMSDI_ens2_i_a2_4_2: Std_logic; + signal N_126: Std_logic; + signal N_51: Std_logic; + signal InitReady3: Std_logic; + signal N_461_0: Std_logic; + signal UFMSDI_ens2_i_a0: Std_logic; + signal nCRAS_c: Std_logic; + signal CBR: Std_logic; + signal UFMSDO_c: Std_logic; + signal N_70: Std_logic; + signal N_33: Std_logic; + signal LED_c: Std_logic; + signal un1_Din_4: Std_logic; + signal XOR8MEG: Std_logic; + signal Din_c_6: Std_logic; + signal RA11_2: Std_logic; + signal Ready_fast: Std_logic; + signal RA_c_11: Std_logic; + signal N_171: Std_logic; + signal FWEr_fast: Std_logic; + signal CASr2: Std_logic; + signal RCKEEN_8_u_1: Std_logic; + signal RCKEEN_8_u_0_0: Std_logic; + signal RCKEEN_8: Std_logic; + signal PHI2r: Std_logic; + signal RCKEEN: Std_logic; + signal RASr3: Std_logic; + signal RASr: Std_logic; + signal RCKE_2: Std_logic; + signal RCKE_c: Std_logic; + signal m18_0_a3_3: Std_logic; + signal S_0_i_o2_1: Std_logic; + signal N_165: Std_logic; + signal N_462_0: Std_logic; + signal Ready_0_sqmuxa: Std_logic; + signal N_463_0: Std_logic; + signal nRRAS_0_sqmuxa: Std_logic; + signal N_129: Std_logic; + signal UFMCLK_r_i_a2_2_2: Std_logic; + signal CmdUFMCLK: Std_logic; + signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; + signal UFMCLK_c: Std_logic; + signal nUFMCS15: Std_logic; + signal N_139_i: Std_logic; + signal UFMCLK_RNO: Std_logic; + signal UFMSDI_r_xx_mm_1: Std_logic; + signal UFMSDI_c: Std_logic; + signal UFMSDI_RNO: Std_logic; + signal nRowColSel: Std_logic; + signal RowA_4: Std_logic; + signal MAin_c_4: Std_logic; + signal Din_c_4: Std_logic; + signal nCCAS_c: Std_logic; + signal RA_c_4: Std_logic; + signal WRD_4: Std_logic; + signal WRD_5: Std_logic; + signal Bank_7: Std_logic; + signal Bank_6: Std_logic; + signal Bank_5: Std_logic; + signal Bank_2: Std_logic; + signal Din_c_7: Std_logic; + signal WRD_6: Std_logic; + signal C1WR_0_a2_0_11: Std_logic; + signal WRD_7: Std_logic; + signal Din_c_2: Std_logic; + signal Din_c_0: Std_logic; + signal XOR8MEG_3_u_0_a3_2: Std_logic; + signal Din_c_1: Std_logic; + signal XOR8MEG_3: Std_logic; + signal N_69: Std_logic; + signal N_31: Std_logic; + signal N_151: Std_logic; + signal g0_1: Std_logic; + signal nRCAS_0_sqmuxa_1: Std_logic; + signal N_41: Std_logic; + signal N_37_i: Std_logic; + signal nRCAS_c: Std_logic; + signal CASr3: Std_logic; + signal RCKEEN_8_u_0_a2_1_out: Std_logic; + signal N_28_i_1: Std_logic; + signal N_28_i: Std_logic; + signal nRCS_c: Std_logic; + signal N_24_i: Std_logic; + signal nRRAS_c: Std_logic; + signal CBR_fast: Std_logic; + signal m18_0_a2_1: Std_logic; + signal G_17_1: Std_logic; + signal FWEr: Std_logic; + signal N_39_i: Std_logic; + signal nRWE_c: Std_logic; + signal N_179: Std_logic; + signal nRowColSel_0_0: Std_logic; + signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; + signal nUFMCS_c: Std_logic; + signal nUFMCS_s_0_N_5_i: Std_logic; + signal CmdUFMCS: Std_logic; + signal N_95_5: Std_logic; + signal N_95_3: Std_logic; + signal RowA_0: Std_logic; + signal RowA_1: Std_logic; + signal MAin_c_5: Std_logic; + signal CmdUFMCLK_1_sqmuxa: Std_logic; + signal RowA_5: Std_logic; + signal un1_FS_14_i_a2_0_1: Std_logic; + signal N_137_8: Std_logic; + signal N_137_6: Std_logic; + signal un1_FS_13_i_a2_1: Std_logic; + signal C1WR_0_a2_0_10: Std_logic; + signal Bank_1: Std_logic; + signal Bank_0: Std_logic; + signal MAin_c_7: Std_logic; + signal MAin_c_6: Std_logic; + signal C1WR_0_a2_0_4: Std_logic; + signal C1WR_0_a2_0_3: Std_logic; + signal Bank_4: Std_logic; + signal Bank_3: Std_logic; + signal UFMSDI_ens2_i_o2_0_3: Std_logic; + signal MAin_c_3: Std_logic; + signal MAin_c_2: Std_logic; + signal RowA_2: Std_logic; + signal RowA_3: Std_logic; + signal CmdUFMSDI: Std_logic; + signal CASr: Std_logic; + signal CmdEnable16_1: Std_logic; + signal m6_0_a2_2: Std_logic; + signal WRD_0: Std_logic; + signal WRD_1: Std_logic; + signal g4_0_0_0: Std_logic; + signal MAin_c_9: Std_logic; + signal MAin_c_8: Std_logic; + signal RowA_8: Std_logic; + signal RowA_9: Std_logic; + signal nFWE_c: Std_logic; + signal CROW_c_1: Std_logic; + signal CROW_c_0: Std_logic; + signal RBA_c_0: Std_logic; + signal RBA_c_1: Std_logic; + signal WRD_2: Std_logic; + signal WRD_3: Std_logic; + signal RA_c_9: Std_logic; + signal RDQML_c: Std_logic; + signal RD_1_i: Std_logic; + signal RowA_6: Std_logic; + signal RowA_7: Std_logic; + signal RA_c_8: Std_logic; + signal RDQMH_c: Std_logic; + signal RA_c_0: Std_logic; + signal RA_c_1: Std_logic; + signal RA_c_7: Std_logic; + signal RA_c_2: Std_logic; + signal RA_c_6: Std_logic; + signal RA_c_3: Std_logic; + signal RA_c_5: Std_logic; + signal RA_c_10: Std_logic; + signal RD_in_0: Std_logic; + signal RD_in_7: Std_logic; + signal RD_in_6: Std_logic; + signal RD_in_5: Std_logic; + signal RD_in_4: Std_logic; + signal RD_in_3: Std_logic; + signal RD_in_2: Std_logic; + signal RD_in_1: Std_logic; + signal VCCI: Std_logic; + signal GNDI_TSALL: Std_logic; + component VHI + port (Z: out Std_logic); + end component; + component VLO + port (Z: out Std_logic); + end component; + component PUR + port (PUR: in Std_logic); + end component; + component GSR + port (GSR: in Std_logic); + end component; + component TSALL + port (TSALL: in Std_logic); + end component; + component SLICE_0 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_1 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_2 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_3 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_4 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_5 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_6 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_7 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_8 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_9 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_14 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_19 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_20 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_21 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_22 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_26 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_29 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_30 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_31 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_32 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_33 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_39 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_41 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_42 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_43 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_44 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_50 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_51 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_52 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_55 + port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_56 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_57 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_58 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_59 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_60 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_61 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_62 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_63 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_64 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component nRWE_RNO_1_SLICE_65 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + end component; + component SLICE_66 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_67 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_68 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_69 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_70 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_71 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_72 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_73 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_74 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_75 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_76 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_77 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_78 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_79 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_80 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_81 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_82 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_83 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_84 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_85 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_86 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_87 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_88 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_89 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_90 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_91 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_92 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_93 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_94 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component RD_0_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + end component; + component Dout_0_B + port (PADDO: in Std_logic; Dout0: out Std_logic); + end component; + component PHI2B + port (PADDI: out Std_logic; PHI2S: in Std_logic); + end component; + component UFMSDOB + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + end component; + component UFMSDIB + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + end component; + component UFMCLKB + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + end component; + component nUFMCSB + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + end component; + component RDQMLB + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + end component; + component RDQMHB + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + end component; + component nRCASB + port (PADDO: in Std_logic; nRCASS: out Std_logic); + end component; + component nRRASB + port (PADDO: in Std_logic; nRRASS: out Std_logic); + end component; + component nRWEB + port (PADDO: in Std_logic; nRWES: out Std_logic); + end component; + component RCKEB + port (PADDO: in Std_logic; RCKES: out Std_logic); + end component; + component RCLKB + port (PADDI: out Std_logic; RCLKS: in Std_logic); + end component; + component nRCSB + port (PADDO: in Std_logic; nRCSS: out Std_logic); + end component; + component RD_7_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + end component; + component RD_6_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + end component; + component RD_5_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + end component; + component RD_4_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + end component; + component RD_3_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + end component; + component RD_2_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + end component; + component RD_1_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + end component; + component RA_11_B + port (PADDO: in Std_logic; RA11: out Std_logic); + end component; + component RA_10_B + port (PADDO: in Std_logic; RA10: out Std_logic); + end component; + component RA_9_B + port (PADDO: in Std_logic; RA9: out Std_logic); + end component; + component RA_8_B + port (PADDO: in Std_logic; RA8: out Std_logic); + end component; + component RA_7_B + port (PADDO: in Std_logic; RA7: out Std_logic); + end component; + component RA_6_B + port (PADDO: in Std_logic; RA6: out Std_logic); + end component; + component RA_5_B + port (PADDO: in Std_logic; RA5: out Std_logic); + end component; + component RA_4_B + port (PADDO: in Std_logic; RA4: out Std_logic); + end component; + component RA_3_B + port (PADDO: in Std_logic; RA3: out Std_logic); + end component; + component RA_2_B + port (PADDO: in Std_logic; RA2: out Std_logic); + end component; + component RA_1_B + port (PADDO: in Std_logic; RA1: out Std_logic); + end component; + component RA_0_B + port (PADDO: in Std_logic; RA0: out Std_logic); + end component; + component RBA_1_B + port (PADDO: in Std_logic; RBA1: out Std_logic); + end component; + component RBA_0_B + port (PADDO: in Std_logic; RBA0: out Std_logic); + end component; + component LEDB + port (PADDO: in Std_logic; LEDS: out Std_logic); + end component; + component nFWEB + port (PADDI: out Std_logic; nFWES: in Std_logic); + end component; + component nCRASB + port (PADDI: out Std_logic; nCRASS: in Std_logic); + end component; + component nCCASB + port (PADDI: out Std_logic; nCCASS: in Std_logic); + end component; + component Dout_7_B + port (PADDO: in Std_logic; Dout7: out Std_logic); + end component; + component Dout_6_B + port (PADDO: in Std_logic; Dout6: out Std_logic); + end component; + component Dout_5_B + port (PADDO: in Std_logic; Dout5: out Std_logic); + end component; + component Dout_4_B + port (PADDO: in Std_logic; Dout4: out Std_logic); + end component; + component Dout_3_B + port (PADDO: in Std_logic; Dout3: out Std_logic); + end component; + component Dout_2_B + port (PADDO: in Std_logic; Dout2: out Std_logic); + end component; + component Dout_1_B + port (PADDO: in Std_logic; Dout1: out Std_logic); + end component; + component Din_7_B + port (PADDI: out Std_logic; Din7: in Std_logic); + end component; + component Din_6_B + port (PADDI: out Std_logic; Din6: in Std_logic); + end component; + component Din_5_B + port (PADDI: out Std_logic; Din5: in Std_logic); + end component; + component Din_4_B + port (PADDI: out Std_logic; Din4: in Std_logic); + end component; + component Din_3_B + port (PADDI: out Std_logic; Din3: in Std_logic); + end component; + component Din_2_B + port (PADDI: out Std_logic; Din2: in Std_logic); + end component; + component Din_1_B + port (PADDI: out Std_logic; Din1: in Std_logic); + end component; + component Din_0_B + port (PADDI: out Std_logic; Din0: in Std_logic); + end component; + component CROW_1_B + port (PADDI: out Std_logic; CROW1: in Std_logic); + end component; + component CROW_0_B + port (PADDI: out Std_logic; CROW0: in Std_logic); + end component; + component MAin_9_B + port (PADDI: out Std_logic; MAin9: in Std_logic); + end component; + component MAin_8_B + port (PADDI: out Std_logic; MAin8: in Std_logic); + end component; + component MAin_7_B + port (PADDI: out Std_logic; MAin7: in Std_logic); + end component; + component MAin_6_B + port (PADDI: out Std_logic; MAin6: in Std_logic); + end component; + component MAin_5_B + port (PADDI: out Std_logic; MAin5: in Std_logic); + end component; + component MAin_4_B + port (PADDI: out Std_logic; MAin4: in Std_logic); + end component; + component MAin_3_B + port (PADDI: out Std_logic; MAin3: in Std_logic); + end component; + component MAin_2_B + port (PADDI: out Std_logic; MAin2: in Std_logic); + end component; + component MAin_1_B + port (PADDI: out Std_logic; MAin1: in Std_logic); + end component; + component MAin_0_B + port (PADDI: out Std_logic; MAin0: in Std_logic); + end component; + begin + SLICE_0I: SLICE_0 + port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, + FCO=>FS_cry_1); + SLICE_1I: SLICE_1 + port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, + Q1=>FS_17); + SLICE_2I: SLICE_2 + port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, + Q1=>FS_15, FCO=>FS_cry_15); + SLICE_3I: SLICE_3 + port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, + Q1=>FS_13, FCO=>FS_cry_13); + SLICE_4I: SLICE_4 + port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, + Q1=>FS_11, FCO=>FS_cry_11); + SLICE_5I: SLICE_5 + port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, + Q1=>FS_9, FCO=>FS_cry_9); + SLICE_6I: SLICE_6 + port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, + Q1=>FS_7, FCO=>FS_cry_7); + SLICE_7I: SLICE_7 + port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, + Q1=>FS_5, FCO=>FS_cry_5); + SLICE_8I: SLICE_8 + port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, + Q1=>FS_3, FCO=>FS_cry_3); + SLICE_9I: SLICE_9 + port map (D1=>N_147, C1=>MAin_c_0, B1=>CmdEnable17_0_a2_4, + A1=>CmdEnable17_0_a2_3, D0=>CmdEnable16, C0=>CmdEnable17, + B0=>C1WR_0_a2, A0=>ADSubmitted, DI0=>ADSubmitted_r, + CLK=>PHI2_c, F0=>ADSubmitted_r, Q0=>ADSubmitted, + F1=>CmdEnable17); + SLICE_14I: SLICE_14 + port map (C1=>N_147, B1=>CmdEnable16_0_a2_5, A1=>CmdEnable16_0_a2_4, + D0=>MAin_c_1, C0=>N_147, B0=>C1Submitted, A0=>CmdEnable16, + DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, + Q0=>C1Submitted, F1=>CmdEnable16); + SLICE_19I: SLICE_19 + port map (D1=>S_1, C1=>RASr2, B1=>IS_3, A1=>CO0, B0=>S_1, A0=>CO0, + DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, + F1=>Ready_0_sqmuxa_0_a3_2); + SLICE_20I: SLICE_20 + port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>C1Submitted, C0=>un1_CMDWR, + B0=>CmdEnable, A0=>CmdEnable17, DI0=>CmdEnable_s, + M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); + SLICE_21I: SLICE_21 + port map (C1=>N_128, B1=>Din_c_5, A1=>Din_c_3, D0=>N_152, C0=>N_133, + B0=>N_132, A0=>LEDEN, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, + F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); + SLICE_22I: SLICE_22 + port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, + B0=>CmdSubmitted, A0=>CmdSubmitted_1_sqmuxa, DI0=>N_460_0, + CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); + SLICE_26I: SLICE_26 + port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, + C0=>n8MEGEN, B0=>N_152, A0=>Cmdn8MEGEN_4_u_i_0, DI0=>N_19_i, + CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, + F1=>Cmdn8MEGEN_4_u_i_0); + SLICE_29I: SLICE_29 + port map (D1=>nRRAS_5_u_i_0, C1=>N_160, B1=>N_155, A1=>IS_0, C0=>N_155, + B0=>Ready, A0=>IS_0, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, + Q0=>IS_0, F1=>N_24); + SLICE_30I: SLICE_30 + port map (C1=>IS_2, B1=>IS_1, A1=>IS_0, B0=>IS_1, A0=>IS_0, + DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); + SLICE_31I: SLICE_31 + port map (D1=>N_159, C1=>IS_3, B1=>IS_2, A1=>IS_1, D0=>IS_0, C0=>IS_1, + B0=>IS_2, A0=>IS_3, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); + SLICE_32I: SLICE_32 + port map (D1=>UFMSDI_ens2_i_a2_4_2, C1=>N_126, B1=>N_51, A1=>InitReady, + B0=>InitReady, A0=>InitReady3, DI0=>N_461_0, CLK=>RCLK_c, + F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); + SLICE_33I: SLICE_33 + port map (C1=>nCRAS_c, B1=>LEDEN, A1=>CBR, C0=>UFMSDO_c, B0=>InitReady, + A0=>CmdLEDEN, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, + Q0=>LEDEN, F1=>LED_c); + SLICE_39I: SLICE_39 + port map (B1=>un1_Din_4, A1=>XOR8MEG, C0=>n8MEGEN, B0=>XOR8MEG, + A0=>Din_c_6, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, + F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); + SLICE_41I: SLICE_41 + port map (D1=>S_1, C1=>FWEr_fast, B1=>CO0, A1=>CASr2, D0=>Ready, + C0=>RCKEEN_8_u_1, B0=>RCKEEN_8_u_0_0, A0=>CBR, DI0=>RCKEEN_8, + M1=>PHI2r, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, + F1=>RCKEEN_8_u_1, Q1=>PHI2r2); + SLICE_42I: SLICE_42 + port map (D1=>RASr2, C1=>IS_2, B1=>IS_1, A1=>IS_0, D0=>RCKEEN, C0=>RASr3, + B0=>RASr2, A0=>RASr, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, + F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); + SLICE_43I: SLICE_43 + port map (D1=>S_0_i_o2_1, C1=>InitReady, B1=>RASr2, A1=>Ready, + D0=>InitReady, C0=>N_165, B0=>Ready_0_sqmuxa_0_a3_2, A0=>Ready, + DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, + F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); + SLICE_44I: SLICE_44 + port map (D1=>Ready_0_sqmuxa_0_a3_2, C1=>Ready, B1=>N_165, A1=>InitReady, + B0=>Ready_fast, A0=>Ready_0_sqmuxa, DI0=>N_463_0, M1=>nCRAS_c, + CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, + Q1=>RASr); + SLICE_50I: SLICE_50 + port map (C1=>CO0, B1=>S_1, A1=>Ready, B0=>S_1, A0=>CO0, DI0=>S_0_i_o2_1, + LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, + F1=>nRRAS_0_sqmuxa); + SLICE_51I: SLICE_51 + port map (D1=>N_129, C1=>UFMCLK_r_i_a2_2_2, B1=>CmdUFMCLK, A1=>InitReady, + D0=>UFMCLK_r_i_m4_xx_mm_1, C0=>UFMCLK_c, B0=>nUFMCS15, + A0=>N_139_i, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, + F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, + Q1=>RASr2); + SLICE_52I: SLICE_52 + port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, + D0=>UFMSDI_r_xx_mm_1, C0=>UFMSDI_c, B0=>nUFMCS15, A0=>N_139_i, + DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, + Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); + SLICE_55I: SLICE_55 + port map (C0=>nRowColSel, B0=>RowA_4, A0=>MAin_c_4, M1=>Din_c_5, + M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); + SLICE_56I: SLICE_56 + port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, C0=>FS_9, + B0=>FS_7, A0=>FS_5, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, + F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); + SLICE_57I: SLICE_57 + port map (D1=>un1_Din_4, C1=>Din_c_3, B1=>Din_c_2, A1=>Din_c_0, + D0=>XOR8MEG_3_u_0_a3_2, C0=>N_171, B0=>LEDEN, A0=>Din_c_1, + DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, + Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); + SLICE_58I: SLICE_58 + port map (C1=>N_51, B1=>InitReady, A1=>FS_8, C0=>UFMSDO_c, B0=>InitReady, + A0=>Cmdn8MEGEN, DI0=>N_69, CE=>N_31, CLK=>RCLK_c, F0=>N_69, + Q0=>n8MEGEN, F1=>N_151); + SLICE_59I: SLICE_59 + port map (D1=>S_1, C1=>Ready, B1=>N_160, A1=>N_155, D0=>g0_1, C0=>S_1, + B0=>nRCAS_0_sqmuxa_1, A0=>N_41, DI0=>N_37_i, CLK=>RCLK_c, + F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); + SLICE_60I: SLICE_60 + port map (D1=>CASr2, C1=>CASr3, B1=>CO0, A1=>FWEr_fast, + D0=>RCKEEN_8_u_0_a2_1_out, C0=>N_28_i_1, B0=>N_24, A0=>CBR, + DI0=>N_28_i, CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); + SLICE_61I: SLICE_61 + port map (D1=>Ready, C1=>RCKE_c, B1=>RASr2, A1=>S_0_i_o2_1, D0=>IS_0, + C0=>N_155, B0=>N_160, A0=>nRRAS_5_u_i_0, DI0=>N_24_i, + CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); + SLICE_62I: SLICE_62 + port map (D1=>Ready, C1=>RASr2, B1=>S_0_i_o2_1, A1=>CBR_fast, + D0=>m18_0_a2_1, C0=>nRCAS_0_sqmuxa_1, B0=>G_17_1, A0=>FWEr, + DI0=>N_39_i, CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, + F1=>nRCAS_0_sqmuxa_1); + SLICE_63I: SLICE_63 + port map (D1=>Ready, C1=>FWEr, B1=>CBR, A1=>CASr3, D0=>S_1, C0=>Ready, + B0=>N_179, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, + CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); + SLICE_64I: SLICE_64 + port map (D1=>N_51, C1=>InitReady, B1=>FS_11, A1=>FS_10, + D0=>nUFMCS_s_0_N_5_i_N_2L1, C0=>nUFMCS_c, B0=>nUFMCS15, + A0=>N_139_i, DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, + F0=>nUFMCS_s_0_N_5_i, Q0=>nUFMCS_c, F1=>nUFMCS15); + nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 + port map (D1=>RASr2, C1=>RCKE_c, B1=>CO0, A1=>S_1, D0=>InitReady, + C0=>m18_0_a3_3, B0=>CO0, A0=>S_1, M0=>Ready, OFX0=>m18_0_a2_1); + SLICE_66I: SLICE_66 + port map (C1=>UFMCLK_r_i_a2_2_2, B1=>InitReady, A1=>CmdUFMCS, D0=>N_95_5, + C0=>N_95_3, B0=>InitReady, A0=>FS_16, M1=>MAin_c_1, + M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, + Q1=>RowA_1); + SLICE_67I: SLICE_67 + port map (D1=>Din_c_3, C1=>Din_c_5, B1=>N_128, A1=>XOR8MEG18, D0=>N_147, + C0=>MAin_c_1, B0=>MAin_c_0, A0=>CmdEnable, M1=>MAin_c_5, + M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, F0=>XOR8MEG18, + Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); + SLICE_68I: SLICE_68 + port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_14_i_a2_0_1, + C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_31, + F1=>un1_FS_14_i_a2_0_1); + SLICE_69I: SLICE_69 + port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_13_i_a2_1, + C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_33, + F1=>un1_FS_13_i_a2_1); + SLICE_70I: SLICE_70 + port map (D1=>C1WR_0_a2_0_11, C1=>C1WR_0_a2_0_10, B1=>Bank_1, A1=>Bank_0, + B0=>N_147, A0=>MAin_c_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, + F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); + SLICE_71I: SLICE_71 + port map (D1=>MAin_c_7, C1=>MAin_c_6, B1=>MAin_c_5, A1=>MAin_c_4, + D0=>C1WR_0_a2_0_4, C0=>C1WR_0_a2_0_3, B0=>Bank_4, A0=>Bank_3, + M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, + Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); + SLICE_72I: SLICE_72 + port map (C1=>UFMSDI_ens2_i_o2_0_3, B1=>FS_16, A1=>FS_12, D0=>N_51, + C0=>FS_11, B0=>FS_4, A0=>FS_1, M1=>MAin_c_3, M0=>MAin_c_2, + LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, + Q1=>RowA_3); + SLICE_73I: SLICE_73 + port map (D1=>CO0, C1=>S_1, B1=>InitReady, A1=>RASr2, B0=>Ready, + A0=>N_155, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, + CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); + SLICE_74I: SLICE_74 + port map (B1=>FS_14, A1=>FS_11, D0=>N_95_5, C0=>N_95_3, B0=>FS_16, + A0=>FS_10, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, + F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); + SLICE_75I: SLICE_75 + port map (C1=>Din_c_7, B1=>Din_c_6, A1=>Din_c_4, C0=>N_128, B0=>Din_c_5, + A0=>Din_c_1, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, + Q0=>CASr, F1=>N_128, Q1=>CASr2); + SLICE_76I: SLICE_76 + port map (B1=>Din_c_5, A1=>Din_c_0, D0=>MAin_c_0, C0=>Din_c_3, + B0=>Din_c_1, A0=>CmdEnable16_4, M1=>Din_c_5, M0=>Din_c_4, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, + F1=>CmdEnable16_4, Q1=>Bank_5); + SLICE_77I: SLICE_77 + port map (B1=>Din_c_7, A1=>Din_c_4, D0=>MAin_c_1, C0=>Din_c_6, + B0=>Din_c_2, A0=>CmdEnable16_1, M1=>Din_c_7, M0=>Din_c_6, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, + F1=>CmdEnable16_1, Q1=>Bank_7); + SLICE_78I: SLICE_78 + port map (B1=>Din_c_5, A1=>Din_c_3, D0=>N_43, C0=>MAin_c_1, B0=>Din_c_6, + A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, + F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); + SLICE_79I: SLICE_79 + port map (C1=>Ready, B1=>CASr3, A1=>CASr2, D0=>m6_0_a2_2, C0=>S_1, + B0=>CO0, A0=>CBR, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, + F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); + SLICE_80I: SLICE_80 + port map (B1=>CASr3, A1=>CASr2, D0=>g4_0_0_0, C0=>FWEr, B0=>CO0, + A0=>CBR_fast, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); + SLICE_81I: SLICE_81 + port map (D1=>FS_17, C1=>FS_15, B1=>FS_14, A1=>FS_13, D0=>FS_17, + C0=>FS_15, B0=>FS_13, A0=>FS_12, M1=>nFWE_c, M0=>nFWE_c, + CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, + Q1=>FWEr_fast); + SLICE_82I: SLICE_82 + port map (D1=>Din_c_3, C1=>Din_c_5, B1=>CmdLEDEN, A1=>N_128, D0=>Din_c_3, + C0=>Din_c_5, B0=>N_128, A0=>XOR8MEG18, M0=>CASr2, CLK=>RCLK_c, + F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); + SLICE_83I: SLICE_83 + port map (C1=>IS_3, B1=>IS_2, A1=>IS_1, C0=>IS_2, B0=>IS_1, A0=>IS_0, + M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); + SLICE_84I: SLICE_84 + port map (D1=>FS_11, C1=>FS_10, B1=>FS_8, A1=>FS_6, D0=>FS_10, C0=>FS_7, + B0=>FS_6, A0=>FS_1, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); + SLICE_85I: SLICE_85 + port map (D1=>Din_c_4, C1=>Din_c_7, B1=>Din_c_0, A1=>Din_c_1, + D0=>Din_c_7, C0=>Din_c_6, B0=>Din_c_5, A0=>Din_c_4, + M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, + Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); + SLICE_86I: SLICE_86 + port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_9, + A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQML_c); + SLICE_87I: SLICE_87 + port map (C1=>N_151, B1=>UFMSDI_ens2_i_a0, A1=>CmdUFMSDI, D0=>N_151, + C0=>FS_11, B0=>FS_9, A0=>FS_4, F0=>N_137_8, + F1=>UFMSDI_r_xx_mm_1); + SLICE_88I: SLICE_88 + port map (C1=>nFWE_c, B1=>MAin_c_3, A1=>MAin_c_2, B0=>nFWE_c, + A0=>nCCAS_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, + Q1=>RowA_7); + SLICE_89I: SLICE_89 + port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_8, + A0=>MAin_c_8, F0=>RA_c_8, F1=>RDQMH_c); + SLICE_90I: SLICE_90 + port map (C1=>MAin_c_1, B1=>MAin_c_0, A1=>N_147, C0=>nRowColSel, + B0=>RowA_0, A0=>MAin_c_0, F0=>RA_c_0, F1=>un1_CMDWR); + SLICE_91I: SLICE_91 + port map (C1=>nRowColSel, B1=>RowA_7, A1=>MAin_c_7, C0=>nRowColSel, + B0=>RowA_1, A0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); + SLICE_92I: SLICE_92 + port map (C1=>nRowColSel, B1=>RowA_6, A1=>MAin_c_6, C0=>nRowColSel, + B0=>RowA_2, A0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); + SLICE_93I: SLICE_93 + port map (C1=>nRowColSel, B1=>RowA_5, A1=>MAin_c_5, C0=>nRowColSel, + B0=>RowA_3, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); + SLICE_94I: SLICE_94 + port map (B1=>N_155, A1=>Ready, B0=>S_1, A0=>Ready, M0=>IS_0, + LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, + Q0=>RA_c_10, F1=>N_159_i); + RD_0_I: RD_0_B + port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); + Dout_0_I: Dout_0_B + port map (PADDO=>RD_in_0, Dout0=>Dout(0)); + PHI2I: PHI2B + port map (PADDI=>PHI2_c, PHI2S=>PHI2); + UFMSDOI: UFMSDOB + port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); + UFMSDII: UFMSDIB + port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); + UFMCLKI: UFMCLKB + port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); + nUFMCSI: nUFMCSB + port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); + RDQMLI: RDQMLB + port map (PADDO=>RDQML_c, RDQMLS=>RDQML); + RDQMHI: RDQMHB + port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); + nRCASI: nRCASB + port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); + nRRASI: nRRASB + port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); + nRWEI: nRWEB + port map (PADDO=>nRWE_c, nRWES=>nRWE); + RCKEI: RCKEB + port map (PADDO=>RCKE_c, RCKES=>RCKE); + RCLKI: RCLKB + port map (PADDI=>RCLK_c, RCLKS=>RCLK); + nRCSI: nRCSB + port map (PADDO=>nRCS_c, nRCSS=>nRCS); + RD_7_I: RD_7_B + port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); + RD_6_I: RD_6_B + port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); + RD_5_I: RD_5_B + port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); + RD_4_I: RD_4_B + port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); + RD_3_I: RD_3_B + port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); + RD_2_I: RD_2_B + port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); + RD_1_I0: RD_1_B + port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); + RA_11_I: RA_11_B + port map (PADDO=>RA_c_11, RA11=>RA(11)); + RA_10_I: RA_10_B + port map (PADDO=>RA_c_10, RA10=>RA(10)); + RA_9_I: RA_9_B + port map (PADDO=>RA_c_9, RA9=>RA(9)); + RA_8_I: RA_8_B + port map (PADDO=>RA_c_8, RA8=>RA(8)); + RA_7_I: RA_7_B + port map (PADDO=>RA_c_7, RA7=>RA(7)); + RA_6_I: RA_6_B + port map (PADDO=>RA_c_6, RA6=>RA(6)); + RA_5_I: RA_5_B + port map (PADDO=>RA_c_5, RA5=>RA(5)); + RA_4_I: RA_4_B + port map (PADDO=>RA_c_4, RA4=>RA(4)); + RA_3_I: RA_3_B + port map (PADDO=>RA_c_3, RA3=>RA(3)); + RA_2_I: RA_2_B + port map (PADDO=>RA_c_2, RA2=>RA(2)); + RA_1_I: RA_1_B + port map (PADDO=>RA_c_1, RA1=>RA(1)); + RA_0_I: RA_0_B + port map (PADDO=>RA_c_0, RA0=>RA(0)); + RBA_1_I: RBA_1_B + port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); + RBA_0_I: RBA_0_B + port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); + LEDI: LEDB + port map (PADDO=>LED_c, LEDS=>LED); + nFWEI: nFWEB + port map (PADDI=>nFWE_c, nFWES=>nFWE); + nCRASI: nCRASB + port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); + nCCASI: nCCASB + port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); + Dout_7_I: Dout_7_B + port map (PADDO=>RD_in_7, Dout7=>Dout(7)); + Dout_6_I: Dout_6_B + port map (PADDO=>RD_in_6, Dout6=>Dout(6)); + Dout_5_I: Dout_5_B + port map (PADDO=>RD_in_5, Dout5=>Dout(5)); + Dout_4_I: Dout_4_B + port map (PADDO=>RD_in_4, Dout4=>Dout(4)); + Dout_3_I: Dout_3_B + port map (PADDO=>RD_in_3, Dout3=>Dout(3)); + Dout_2_I: Dout_2_B + port map (PADDO=>RD_in_2, Dout2=>Dout(2)); + Dout_1_I: Dout_1_B + port map (PADDO=>RD_in_1, Dout1=>Dout(1)); + Din_7_I: Din_7_B + port map (PADDI=>Din_c_7, Din7=>Din(7)); + Din_6_I: Din_6_B + port map (PADDI=>Din_c_6, Din6=>Din(6)); + Din_5_I: Din_5_B + port map (PADDI=>Din_c_5, Din5=>Din(5)); + Din_4_I: Din_4_B + port map (PADDI=>Din_c_4, Din4=>Din(4)); + Din_3_I: Din_3_B + port map (PADDI=>Din_c_3, Din3=>Din(3)); + Din_2_I: Din_2_B + port map (PADDI=>Din_c_2, Din2=>Din(2)); + Din_1_I: Din_1_B + port map (PADDI=>Din_c_1, Din1=>Din(1)); + Din_0_I: Din_0_B + port map (PADDI=>Din_c_0, Din0=>Din(0)); + CROW_1_I: CROW_1_B + port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); + CROW_0_I: CROW_0_B + port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); + MAin_9_I: MAin_9_B + port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); + MAin_8_I: MAin_8_B + port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); + MAin_7_I: MAin_7_B + port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); + MAin_6_I: MAin_6_B + port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); + MAin_5_I: MAin_5_B + port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); + MAin_4_I: MAin_4_B + port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); + MAin_3_I: MAin_3_B + port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); + MAin_2_I: MAin_2_B + port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); + MAin_1_I: MAin_1_B + port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); + MAin_0_I: MAin_0_B + port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); + VHI_INST: VHI + port map (Z=>VCCI); + PUR_INST: PUR + port map (PUR=>VCCI); + GSR_INST: GSR + port map (GSR=>VCCI); + VLO_INST: VLO + port map (Z=>GNDI_TSALL); + TSALL_INST: TSALL + port map (TSALL=>GNDI_TSALL); + end Structure; + + + + library IEEE, vital2000, MACHXO; + configuration Structure_CON of RAM2GS is + for Structure + end for; + end Structure_CON; + + diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.sdf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.sdf index 0c971b3..08a955b 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.sdf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.sdf @@ -1,2922 +1,2922 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:41 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20) - (DELAY - (ABSOLUTE - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55) - (DELAY - (ABSOLUTE - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1\/SLICE_65) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_") - (INSTANCE RD\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_") - (INSTANCE Dout\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2") - (INSTANCE PHI2_I) - (DELAY - (ABSOLUTE - (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2) (1250:1250:1250)) - (WIDTH (negedge PHI2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDO") - (INSTANCE UFMSDO_I) - (DELAY - (ABSOLUTE - (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDO) (1250:1250:1250)) - (WIDTH (negedge UFMSDO) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDI") - (INSTANCE UFMSDI_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLK") - (INSTANCE UFMCLK_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCS") - (INSTANCE nUFMCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQML") - (INSTANCE RDQML_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMH") - (INSTANCE RDQMH_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCAS") - (INSTANCE nRCAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRAS") - (INSTANCE nRRAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWE") - (INSTANCE nRWE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKE") - (INSTANCE RCKE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLK") - (INSTANCE RCLK_I) - (DELAY - (ABSOLUTE - (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLK) (1250:1250:1250)) - (WIDTH (negedge RCLK) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCS") - (INSTANCE nRCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_") - (INSTANCE RD\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_") - (INSTANCE RD\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_") - (INSTANCE RD\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_") - (INSTANCE RD\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_") - (INSTANCE RD\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_") - (INSTANCE RD\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_") - (INSTANCE RD\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_") - (INSTANCE RA\[11\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_") - (INSTANCE RA\[10\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_") - (INSTANCE RA\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_") - (INSTANCE RA\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_") - (INSTANCE RA\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_") - (INSTANCE RA\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_") - (INSTANCE RA\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_") - (INSTANCE RA\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_") - (INSTANCE RA\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_") - (INSTANCE RA\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_") - (INSTANCE RA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_") - (INSTANCE RA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_") - (INSTANCE RBA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_") - (INSTANCE RBA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LED") - (INSTANCE LED_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWE") - (INSTANCE nFWE_I) - (DELAY - (ABSOLUTE - (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWE) (1250:1250:1250)) - (WIDTH (negedge nFWE) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRAS") - (INSTANCE nCRAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRAS) (1250:1250:1250)) - (WIDTH (negedge nCRAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCAS") - (INSTANCE nCCAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCAS) (1250:1250:1250)) - (WIDTH (negedge nCCAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_") - (INSTANCE Dout\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_") - (INSTANCE Dout\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_") - (INSTANCE Dout\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_") - (INSTANCE Dout\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_") - (INSTANCE Dout\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_") - (INSTANCE Dout\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_") - (INSTANCE Dout\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_") - (INSTANCE Din\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_") - (INSTANCE Din\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_") - (INSTANCE Din\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_") - (INSTANCE Din\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_") - (INSTANCE Din\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_") - (INSTANCE Din\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_") - (INSTANCE Din\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_") - (INSTANCE Din\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_") - (INSTANCE CROW\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_") - (INSTANCE CROW\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_") - (INSTANCE MAin\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_") - (INSTANCE MAin\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_") - (INSTANCE MAin\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_") - (INSTANCE MAin\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_") - (INSTANCE MAin\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_") - (INSTANCE MAin\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_") - (INSTANCE MAin\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_") - (INSTANCE MAin\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_") - (INSTANCE MAin\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_") - (INSTANCE MAin\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q1 SLICE_72/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q1 SLICE_84/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q0 SLICE_68/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q0 SLICE_69/A1 (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_66/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_72/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_74/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q0 SLICE_74/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q0 SLICE_81/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q0 SLICE_81/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_64/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_72/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_74/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_84/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_87/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_64/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_74/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_87/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q0 SLICE_58/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q0 SLICE_84/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_56/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_84/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_56/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_68/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_69/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q0 SLICE_72/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_68/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_69/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q0 SLICE_68/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q0 SLICE_69/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_9/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_14/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_14/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_67/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_70/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_90/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/F0 SLICE_9/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/F1 SLICE_9/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F1 SLICE_9/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F1 SLICE_14/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/F1 SLICE_9/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/F1 SLICE_20/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F0 SLICE_9/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/Q0 SLICE_9/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/Q0 SLICE_20/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/F0 SLICE_14/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/F0 SLICE_14/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/Q0 SLICE_14/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/Q0 SLICE_20/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_41/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_63/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_73/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_79/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_94/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_43/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_61/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_62/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_73/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_19/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_83/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_41/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_60/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_63/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_73/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_79/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_80/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F1 SLICE_43/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F1 SLICE_44/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/Q0 SLICE_67/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90/F1 SLICE_20/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_21/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_67/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_82/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/F1 SLICE_21/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/F1 SLICE_26/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F0 SLICE_21/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/F1 SLICE_21/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/Q0 SLICE_21/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/Q0 SLICE_33/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_21/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_26/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_57/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_67/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_82/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/Q0 SLICE_33/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/Q0 SLICE_82/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q1 SLICE_22/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q1 SLICE_52/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q1 SLICE_22/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q1 SLICE_52/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_22/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_33/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_44/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_51/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_52/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_64/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_73/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/F0 SLICE_22/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F1 SLICE_68/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F1 SLICE_69/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/F1 SLICE_78/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/Q0 SLICE_58/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/F1 SLICE_76/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/Q0 SLICE_26/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/Q0 SLICE_39/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/F1 SLICE_26/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F1 SLICE_29/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F1 SLICE_61/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_29/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_59/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_61/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_29/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_29/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_59/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_73/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_94/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_31/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_42/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_61/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_83/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_41/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_44/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_50/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_59/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_61/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_62/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_73/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_79/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_30/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_42/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_42/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F1 SLICE_30/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F1 SLICE_31/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F0 SLICE_31/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84/F1 SLICE_32/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/F0 SLICE_32/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_32/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_58/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_64/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_72/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/F0 SLICE_32/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/F1 SLICE_87/B1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_33/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_41/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_60/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_63/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_79/A0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_33/C0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_58/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69/F0 SLICE_33/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/F1 LED_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/F0 SLICE_39/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_44/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39/F1 SLICE_57/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q1 SLICE_41/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q1 SLICE_60/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_41/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_60/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_79/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_80/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/F1 SLICE_41/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/F1 SLICE_41/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q0 SLICE_42/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q1 SLICE_42/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 SLICE_61/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_43/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_61/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_62/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F0 SLICE_43/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F0 SLICE_44/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/F1 SLICE_44/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F0 SLICE_51/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/F0 SLICE_51/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/F0 SLICE_66/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/Q0 SLICE_51/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/F1 SLICE_51/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q0 SLICE_51/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F1 SLICE_52/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F1 SLICE_51/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F1 SLICE_52/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F1 SLICE_64/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/Q0 SLICE_52/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_55/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_90/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/Q0 SLICE_55/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_88/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/Q1 SLICE_56/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/Q0 SLICE_56/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/Q1 SLICE_56/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/Q0 SLICE_56/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/F1 SLICE_70/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/F1 SLICE_57/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68/F0 SLICE_58/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F1 SLICE_87/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/F0 SLICE_59/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/F1 SLICE_59/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/F1 SLICE_62/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/F1 SLICE_59/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_60/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_63/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_79/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F0 SLICE_60/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q1 SLICE_62/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q1 SLICE_80/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/F0 SLICE_62/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q0 SLICE_62/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q0 SLICE_63/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q0 SLICE_80/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/F1 SLICE_63/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/F1 SLICE_64/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/Q0 SLICE_64/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/Q1 SLICE_66/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/F0 SLICE_74/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/F1 SLICE_66/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/Q0 SLICE_90/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/Q1 SLICE_91/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F1 SLICE_73/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F1 SLICE_74/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/Q1 SLICE_93/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68/F1 SLICE_68/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F0 SLICE_68/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F0 SLICE_69/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84/F0 SLICE_68/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84/F0 SLICE_69/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69/F1 SLICE_69/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/Q1 SLICE_70/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/Q0 SLICE_70/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/D1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/F1 SLICE_71/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F1 SLICE_71/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/Q1 SLICE_71/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/F1 SLICE_72/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/Q0 SLICE_92/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/Q1 SLICE_93/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/Q0 SLICE_87/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/F1 SLICE_77/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/F1 SLICE_79/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/F1 SLICE_80/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/Q0 SLICE_89/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/Q1 SLICE_86/B0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/B0 (0:0:0)(0:0:0)) - (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (0:0:0)(0:0:0)) - (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/Q0 SLICE_92/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/Q1 SLICE_91/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (0:0:0)(0:0:0)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:53:21 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55) + (DELAY + (ABSOLUTE + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1\/SLICE_65) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_") + (INSTANCE RD\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_") + (INSTANCE Dout\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2") + (INSTANCE PHI2_I) + (DELAY + (ABSOLUTE + (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2) (1250:1250:1250)) + (WIDTH (negedge PHI2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDO") + (INSTANCE UFMSDO_I) + (DELAY + (ABSOLUTE + (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDO) (1250:1250:1250)) + (WIDTH (negedge UFMSDO) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDI") + (INSTANCE UFMSDI_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLK") + (INSTANCE UFMCLK_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCS") + (INSTANCE nUFMCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQML") + (INSTANCE RDQML_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMH") + (INSTANCE RDQMH_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS") + (INSTANCE nRCAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS") + (INSTANCE nRRAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE") + (INSTANCE nRWE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKE") + (INSTANCE RCKE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLK") + (INSTANCE RCLK_I) + (DELAY + (ABSOLUTE + (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLK) (1250:1250:1250)) + (WIDTH (negedge RCLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCS") + (INSTANCE nRCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_") + (INSTANCE RD\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_") + (INSTANCE RD\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_") + (INSTANCE RD\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_") + (INSTANCE RD\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_") + (INSTANCE RD\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_") + (INSTANCE RD\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_") + (INSTANCE RD\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_") + (INSTANCE RA\[11\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_") + (INSTANCE RA\[10\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_") + (INSTANCE RA\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_") + (INSTANCE RA\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_") + (INSTANCE RA\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_") + (INSTANCE RA\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_") + (INSTANCE RA\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_") + (INSTANCE RA\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_") + (INSTANCE RA\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_") + (INSTANCE RA\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_") + (INSTANCE RA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_") + (INSTANCE RA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_") + (INSTANCE RBA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_") + (INSTANCE RBA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LED") + (INSTANCE LED_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWE") + (INSTANCE nFWE_I) + (DELAY + (ABSOLUTE + (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWE) (1250:1250:1250)) + (WIDTH (negedge nFWE) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRAS") + (INSTANCE nCRAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRAS) (1250:1250:1250)) + (WIDTH (negedge nCRAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCAS") + (INSTANCE nCCAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCAS) (1250:1250:1250)) + (WIDTH (negedge nCCAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_") + (INSTANCE Dout\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_") + (INSTANCE Dout\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_") + (INSTANCE Dout\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_") + (INSTANCE Dout\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_") + (INSTANCE Dout\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_") + (INSTANCE Dout\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_") + (INSTANCE Dout\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_") + (INSTANCE Din\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_") + (INSTANCE Din\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_") + (INSTANCE Din\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_") + (INSTANCE Din\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_") + (INSTANCE Din\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_") + (INSTANCE Din\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_") + (INSTANCE Din\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_") + (INSTANCE Din\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_") + (INSTANCE CROW\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_") + (INSTANCE CROW\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_") + (INSTANCE MAin\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_") + (INSTANCE MAin\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_") + (INSTANCE MAin\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_") + (INSTANCE MAin\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_") + (INSTANCE MAin\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_") + (INSTANCE MAin\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_") + (INSTANCE MAin\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_") + (INSTANCE MAin\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_") + (INSTANCE MAin\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_") + (INSTANCE MAin\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q1 SLICE_72/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q1 SLICE_84/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q0 SLICE_68/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q0 SLICE_69/A1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_66/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_72/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_74/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_74/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_81/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_81/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_64/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_72/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_74/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_84/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_87/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_64/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_74/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_87/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_58/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_84/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_56/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_84/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_56/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_68/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_69/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_72/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_68/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_69/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_68/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_69/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_9/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_14/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_14/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_67/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_70/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_90/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F0 SLICE_9/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F1 SLICE_9/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F1 SLICE_9/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F1 SLICE_14/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F1 SLICE_9/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F1 SLICE_20/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F0 SLICE_9/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q0 SLICE_9/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q0 SLICE_20/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F0 SLICE_14/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F0 SLICE_14/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/Q0 SLICE_14/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/Q0 SLICE_20/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_41/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_63/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_73/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_79/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_94/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_43/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_61/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_62/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_73/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_19/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_83/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_41/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_60/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_63/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_73/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_79/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_80/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F1 SLICE_43/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F1 SLICE_44/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_67/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F1 SLICE_20/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_21/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_67/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_82/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F1 SLICE_21/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F1 SLICE_26/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F0 SLICE_21/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F1 SLICE_21/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/Q0 SLICE_21/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/Q0 SLICE_33/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_21/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_26/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_57/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_67/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_82/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_33/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_82/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q1 SLICE_22/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q1 SLICE_52/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_22/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_52/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_22/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_33/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_44/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_51/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_52/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_64/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_73/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F0 SLICE_22/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_68/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_69/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F1 SLICE_78/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_58/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_76/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_26/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_39/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 SLICE_26/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F1 SLICE_29/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F1 SLICE_61/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_29/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_59/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_61/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_29/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_29/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_59/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_73/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_94/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_31/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_42/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_61/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_83/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_41/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_44/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_50/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_59/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_61/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_62/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_73/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_79/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_30/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_42/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_42/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_30/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_31/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F0 SLICE_31/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F1 SLICE_32/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F0 SLICE_32/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_32/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_58/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_64/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_72/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F0 SLICE_32/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F1 SLICE_87/B1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_33/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_41/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_60/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_63/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_79/A0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_33/C0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_58/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_33/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/F1 LED_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F0 SLICE_39/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_44/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F1 SLICE_57/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q1 SLICE_41/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q1 SLICE_60/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_41/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_60/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_79/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_80/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F1 SLICE_41/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F1 SLICE_41/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q0 SLICE_42/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q1 SLICE_42/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 SLICE_61/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_43/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_61/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_62/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F0 SLICE_43/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F0 SLICE_44/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F1 SLICE_44/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F0 SLICE_51/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F0 SLICE_51/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F0 SLICE_66/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q0 SLICE_51/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F1 SLICE_51/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q0 SLICE_51/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 SLICE_52/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_51/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_52/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_64/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q0 SLICE_52/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_55/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_90/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/Q0 SLICE_55/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_88/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/Q1 SLICE_56/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/Q0 SLICE_56/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/Q1 SLICE_56/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/Q0 SLICE_56/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F1 SLICE_70/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F1 SLICE_57/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F0 SLICE_58/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F1 SLICE_87/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/F0 SLICE_59/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_59/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_62/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F1 SLICE_59/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_60/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_63/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_79/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F0 SLICE_60/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q1 SLICE_62/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q1 SLICE_80/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/F0 SLICE_62/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q0 SLICE_62/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q0 SLICE_63/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q0 SLICE_80/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_63/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F1 SLICE_64/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/Q0 SLICE_64/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q1 SLICE_66/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F0 SLICE_74/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F1 SLICE_66/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/Q0 SLICE_90/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/Q1 SLICE_91/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_73/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_74/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/Q1 SLICE_93/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F1 SLICE_68/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F0 SLICE_68/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F0 SLICE_69/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F0 SLICE_68/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F0 SLICE_69/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F1 SLICE_69/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/Q1 SLICE_70/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/Q0 SLICE_70/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/D1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F1 SLICE_71/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F1 SLICE_71/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/Q1 SLICE_71/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F1 SLICE_72/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/Q0 SLICE_92/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/Q1 SLICE_93/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/Q0 SLICE_87/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F1 SLICE_77/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/F1 SLICE_79/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/F1 SLICE_80/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/Q0 SLICE_89/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/Q1 SLICE_86/B0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/B0 (0:0:0)(0:0:0)) + (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (0:0:0)(0:0:0)) + (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/Q0 SLICE_92/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/Q1 SLICE_91/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (0:0:0)(0:0:0)) + ) + ) + ) +) diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.vo b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.vo index 3408875..7551d74 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.vo +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mapvo.vo @@ -1,3540 +1,3540 @@ - -// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - -// ldbanno -n Verilog -o RAM2GS_LCMXO256C_impl1_mapvo.vo -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd -// Netlist created on Wed Aug 16 04:50:39 2023 -// Netlist written on Wed Aug 16 04:50:41 2023 -// Design is for device LCMXO256C -// Design is for package TQFP100 -// Design is for performance grade 3 - -`timescale 1 ns / 1 ps - -module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, - RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, - UFMCLK, UFMSDI, UFMSDO ); - input PHI2; - input [9:0] MAin; - input [1:0] CROW; - input [7:0] Din; - input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; - output [7:0] Dout; - output LED; - output [1:0] RBA; - output [11:0] RA; - output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; - inout [7:0] RD; - wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , - \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , - \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , - \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , - \FS_cry[3] , \FS[3] , \FS[2] , N_147, \MAin_c[0] , CmdEnable17_0_a2_4, - CmdEnable17_0_a2_3, CmdEnable16, CmdEnable17, C1WR_0_a2, ADSubmitted, - ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, CmdEnable16_0_a2_4, - \MAin_c[1] , C1Submitted, C1Submitted_RNO, \S[1] , RASr2, \IS[3] , - CO0, N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, - CmdEnable_s, N_128, \Din_c[5] , \Din_c[3] , N_152, N_133, N_132, - LEDEN, N_21_i, XOR8MEG18, CmdLEDEN, PHI2r3, PHI2r2, InitReady, - CmdSubmitted, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, Cmdn8MEGEN, - CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, nRRAS_5_u_i_0, - N_160, N_155, \IS[0] , Ready, N_64_i_i, N_24, \IS[2] , \IS[1] , - N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, - UFMSDI_ens2_i_a2_4_2, N_126, N_51, InitReady3, N_461_0, - UFMSDI_ens2_i_a0, nCRAS_c, CBR, UFMSDO_c, N_70, N_33, LED_c, - un1_Din_4, XOR8MEG, \Din_c[6] , RA11_2, Ready_fast, \RA_c[11] , N_171, - FWEr_fast, CASr2, RCKEEN_8_u_1, RCKEEN_8_u_0_0, RCKEEN_8, PHI2r, - RCKEEN, RASr3, RASr, RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, - N_462_0, Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, N_129, - UFMCLK_r_i_a2_2_2, CmdUFMCLK, UFMCLK_r_i_m4_xx_mm_1, UFMCLK_c, - nUFMCS15, N_139_i, UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, - nRowColSel, \RowA[4] , \MAin_c[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , - \WRD[4] , \WRD[5] , \Bank[7] , \Bank[6] , \Bank[5] , \Bank[2] , - \Din_c[7] , \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[2] , - \Din_c[0] , XOR8MEG_3_u_0_a3_2, \Din_c[1] , XOR8MEG_3, N_69, N_31, - N_151, g0_1, nRCAS_0_sqmuxa_1, N_41, N_37_i, nRCAS_c, CASr3, - RCKEEN_8_u_0_a2_1_out, N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, - CBR_fast, m18_0_a2_1, G_17_1, FWEr, N_39_i, nRWE_c, N_179, - nRowColSel_0_0, nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_c, nUFMCS_s_0_N_5_i, - CmdUFMCS, N_95_5, N_95_3, \RowA[0] , \RowA[1] , \MAin_c[5] , - CmdUFMCLK_1_sqmuxa, \RowA[5] , un1_FS_14_i_a2_0_1, N_137_8, N_137_6, - un1_FS_13_i_a2_1, C1WR_0_a2_0_10, \Bank[1] , \Bank[0] , \MAin_c[7] , - \MAin_c[6] , C1WR_0_a2_0_4, C1WR_0_a2_0_3, \Bank[4] , \Bank[3] , - UFMSDI_ens2_i_o2_0_3, \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , - CmdUFMSDI, CASr, CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , - g4_0_0_0, \MAin_c[9] , \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, - \CROW_c[1] , \CROW_c[0] , \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , - \RA_c[9] , RDQML_c, RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, - \RA_c[0] , \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , - \RA_c[5] , \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , - \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; - - SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), - .Q1(\FS[1] ), .FCO(\FS_cry[1] )); - SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), - .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); - SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), - .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); - SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), - .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); - SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), - .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); - SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), - .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); - SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), - .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); - SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), - .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); - SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), - .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); - SLICE_9 SLICE_9( .D1(N_147), .C1(\MAin_c[0] ), .B1(CmdEnable17_0_a2_4), - .A1(CmdEnable17_0_a2_3), .D0(CmdEnable16), .C0(CmdEnable17), - .B0(C1WR_0_a2), .A0(ADSubmitted), .DI0(ADSubmitted_r), .CLK(PHI2_c), - .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); - SLICE_14 SLICE_14( .C1(N_147), .B1(CmdEnable16_0_a2_5), - .A1(CmdEnable16_0_a2_4), .D0(\MAin_c[1] ), .C0(N_147), .B0(C1Submitted), - .A0(CmdEnable16), .DI0(C1Submitted_RNO), .CLK(PHI2_c), - .F0(C1Submitted_RNO), .Q0(C1Submitted), .F1(CmdEnable16)); - SLICE_19 SLICE_19( .D1(\S[1] ), .C1(RASr2), .B1(\IS[3] ), .A1(CO0), - .B0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), - .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); - SLICE_20 SLICE_20( .B1(ADSubmitted), .A1(CmdEnable), .D0(C1Submitted), - .C0(un1_CMDWR), .B0(CmdEnable), .A0(CmdEnable17), .DI0(CmdEnable_s), - .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); - SLICE_21 SLICE_21( .C1(N_128), .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_152), - .C0(N_133), .B0(N_132), .A0(LEDEN), .DI0(N_21_i), .CE(XOR8MEG18), - .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); - SLICE_22 SLICE_22( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), - .A1(CmdSubmitted), .B0(CmdSubmitted), .A0(CmdSubmitted_1_sqmuxa), - .DI0(N_460_0), .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); - SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), - .A1(CmdEnable16_4), .C0(n8MEGEN), .B0(N_152), .A0(Cmdn8MEGEN_4_u_i_0), - .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), - .F1(Cmdn8MEGEN_4_u_i_0)); - SLICE_29 SLICE_29( .D1(nRRAS_5_u_i_0), .C1(N_160), .B1(N_155), .A1(\IS[0] ), - .C0(N_155), .B0(Ready), .A0(\IS[0] ), .DI0(N_64_i_i), .CLK(RCLK_c), - .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); - SLICE_30 SLICE_30( .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), .B0(\IS[1] ), - .A0(\IS[0] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), - .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); - SLICE_31 SLICE_31( .D1(N_159), .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), - .D0(\IS[0] ), .C0(\IS[1] ), .B0(\IS[2] ), .A0(\IS[3] ), .DI0(N_61_i_i), - .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); - SLICE_32 SLICE_32( .D1(UFMSDI_ens2_i_a2_4_2), .C1(N_126), .B1(N_51), - .A1(InitReady), .B0(InitReady), .A0(InitReady3), .DI0(N_461_0), - .CLK(RCLK_c), .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); - SLICE_33 SLICE_33( .C1(nCRAS_c), .B1(LEDEN), .A1(CBR), .C0(UFMSDO_c), - .B0(InitReady), .A0(CmdLEDEN), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), - .F0(N_70), .Q0(LEDEN), .F1(LED_c)); - SLICE_39 SLICE_39( .B1(un1_Din_4), .A1(XOR8MEG), .C0(n8MEGEN), .B0(XOR8MEG), - .A0(\Din_c[6] ), .DI0(RA11_2), .LSR(Ready_fast), .CLK(PHI2_c), .F0(RA11_2), - .Q0(\RA_c[11] ), .F1(N_171)); - SLICE_41 SLICE_41( .D1(\S[1] ), .C1(FWEr_fast), .B1(CO0), .A1(CASr2), - .D0(Ready), .C0(RCKEEN_8_u_1), .B0(RCKEEN_8_u_0_0), .A0(CBR), - .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), - .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); - SLICE_42 SLICE_42( .D1(RASr2), .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), - .D0(RCKEEN), .C0(RASr3), .B0(RASr2), .A0(RASr), .DI0(RCKE_2), .M1(PHI2_c), - .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); - SLICE_43 SLICE_43( .D1(\S_0_i_o2[1] ), .C1(InitReady), .B1(RASr2), - .A1(Ready), .D0(InitReady), .C0(N_165), .B0(Ready_0_sqmuxa_0_a3_2), - .A0(Ready), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), .F0(N_462_0), - .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); - SLICE_44 SLICE_44( .D1(Ready_0_sqmuxa_0_a3_2), .C1(Ready), .B1(N_165), - .A1(InitReady), .B0(Ready_fast), .A0(Ready_0_sqmuxa), .DI0(N_463_0), - .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), - .F1(Ready_0_sqmuxa), .Q1(RASr)); - SLICE_50 SLICE_50( .C1(CO0), .B1(\S[1] ), .A1(Ready), .B0(\S[1] ), .A0(CO0), - .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), - .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); - SLICE_51 SLICE_51( .D1(N_129), .C1(UFMCLK_r_i_a2_2_2), .B1(CmdUFMCLK), - .A1(InitReady), .D0(UFMCLK_r_i_m4_xx_mm_1), .C0(UFMCLK_c), .B0(nUFMCS15), - .A0(N_139_i), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), .F0(UFMCLK_RNO), - .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); - SLICE_52 SLICE_52( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), - .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(UFMSDI_c), .B0(nUFMCS15), - .A0(N_139_i), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), - .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); - SLICE_55 SLICE_55( .C0(nRowColSel), .B0(\RowA[4] ), .A0(\MAin_c[4] ), - .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), - .Q0(\WRD[4] ), .Q1(\WRD[5] )); - SLICE_56 SLICE_56( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), - .A1(\Bank[2] ), .C0(\FS[9] ), .B0(\FS[7] ), .A0(\FS[5] ), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), - .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); - SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[3] ), .B1(\Din_c[2] ), - .A1(\Din_c[0] ), .D0(XOR8MEG_3_u_0_a3_2), .C0(N_171), .B0(LEDEN), - .A0(\Din_c[1] ), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), - .F0(XOR8MEG_3), .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); - SLICE_58 SLICE_58( .C1(N_51), .B1(InitReady), .A1(\FS[8] ), .C0(UFMSDO_c), - .B0(InitReady), .A0(Cmdn8MEGEN), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), - .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); - SLICE_59 SLICE_59( .D1(\S[1] ), .C1(Ready), .B1(N_160), .A1(N_155), - .D0(g0_1), .C0(\S[1] ), .B0(nRCAS_0_sqmuxa_1), .A0(N_41), .DI0(N_37_i), - .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); - SLICE_60 SLICE_60( .D1(CASr2), .C1(CASr3), .B1(CO0), .A1(FWEr_fast), - .D0(RCKEEN_8_u_0_a2_1_out), .C0(N_28_i_1), .B0(N_24), .A0(CBR), - .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); - SLICE_61 SLICE_61( .D1(Ready), .C1(RCKE_c), .B1(RASr2), .A1(\S_0_i_o2[1] ), - .D0(\IS[0] ), .C0(N_155), .B0(N_160), .A0(nRRAS_5_u_i_0), .DI0(N_24_i), - .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); - SLICE_62 SLICE_62( .D1(Ready), .C1(RASr2), .B1(\S_0_i_o2[1] ), .A1(CBR_fast), - .D0(m18_0_a2_1), .C0(nRCAS_0_sqmuxa_1), .B0(G_17_1), .A0(FWEr), - .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), - .F1(nRCAS_0_sqmuxa_1)); - SLICE_63 SLICE_63( .D1(Ready), .C1(FWEr), .B1(CBR), .A1(CASr3), .D0(\S[1] ), - .C0(Ready), .B0(N_179), .A0(CO0), .DI0(nRowColSel_0_0), - .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), - .F1(N_179)); - SLICE_64 SLICE_64( .D1(N_51), .C1(InitReady), .B1(\FS[11] ), .A1(\FS[10] ), - .D0(nUFMCS_s_0_N_5_i_N_2L1), .C0(nUFMCS_c), .B0(nUFMCS15), .A0(N_139_i), - .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), - .F1(nUFMCS15)); - nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(RCKE_c), .B1(CO0), - .A1(\S[1] ), .D0(InitReady), .C0(m18_0_a3_3), .B0(CO0), .A0(\S[1] ), - .M0(Ready), .OFX0(m18_0_a2_1)); - SLICE_66 SLICE_66( .C1(UFMCLK_r_i_a2_2_2), .B1(InitReady), .A1(CmdUFMCS), - .D0(N_95_5), .C0(N_95_3), .B0(InitReady), .A0(\FS[16] ), .M1(\MAin_c[1] ), - .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), - .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); - SLICE_67 SLICE_67( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(N_128), - .A1(XOR8MEG18), .D0(N_147), .C0(\MAin_c[1] ), .B0(\MAin_c[0] ), - .A0(CmdEnable), .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), - .CLK(nCRAS_c), .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), - .Q1(\RowA[5] )); - SLICE_68 SLICE_68( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), - .D0(un1_FS_14_i_a2_0_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_31), - .F1(un1_FS_14_i_a2_0_1)); - SLICE_69 SLICE_69( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), - .D0(un1_FS_13_i_a2_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_33), - .F1(un1_FS_13_i_a2_1)); - SLICE_70 SLICE_70( .D1(C1WR_0_a2_0_11), .C1(C1WR_0_a2_0_10), .B1(\Bank[1] ), - .A1(\Bank[0] ), .B0(N_147), .A0(\MAin_c[1] ), .M1(\Din_c[1] ), - .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), - .Q1(\Bank[1] )); - SLICE_71 SLICE_71( .D1(\MAin_c[7] ), .C1(\MAin_c[6] ), .B1(\MAin_c[5] ), - .A1(\MAin_c[4] ), .D0(C1WR_0_a2_0_4), .C0(C1WR_0_a2_0_3), .B0(\Bank[4] ), - .A0(\Bank[3] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), - .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); - SLICE_72 SLICE_72( .C1(UFMSDI_ens2_i_o2_0_3), .B1(\FS[16] ), .A1(\FS[12] ), - .D0(N_51), .C0(\FS[11] ), .B0(\FS[4] ), .A0(\FS[1] ), .M1(\MAin_c[3] ), - .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), - .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); - SLICE_73 SLICE_73( .D1(CO0), .C1(\S[1] ), .B1(InitReady), .A1(RASr2), - .B0(Ready), .A0(N_155), .M1(\Din_c[2] ), .M0(\Din_c[1] ), - .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), - .F1(N_155), .Q1(CmdUFMCS)); - SLICE_74 SLICE_74( .B1(\FS[14] ), .A1(\FS[11] ), .D0(N_95_5), .C0(N_95_3), - .B0(\FS[16] ), .A0(\FS[10] ), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), - .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); - SLICE_75 SLICE_75( .C1(\Din_c[7] ), .B1(\Din_c[6] ), .A1(\Din_c[4] ), - .C0(N_128), .B0(\Din_c[5] ), .A0(\Din_c[1] ), .M1(CASr), .M0(nCCAS_c), - .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); - SLICE_76 SLICE_76( .B1(\Din_c[5] ), .A1(\Din_c[0] ), .D0(\MAin_c[0] ), - .C0(\Din_c[3] ), .B0(\Din_c[1] ), .A0(CmdEnable16_4), .M1(\Din_c[5] ), - .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), - .F1(CmdEnable16_4), .Q1(\Bank[5] )); - SLICE_77 SLICE_77( .B1(\Din_c[7] ), .A1(\Din_c[4] ), .D0(\MAin_c[1] ), - .C0(\Din_c[6] ), .B0(\Din_c[2] ), .A0(CmdEnable16_1), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), - .F1(CmdEnable16_1), .Q1(\Bank[7] )); - SLICE_78 SLICE_78( .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_43), - .C0(\MAin_c[1] ), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(nCCAS_c), - .M0(nCCAS_c), .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), - .Q1(CBR_fast)); - SLICE_79 SLICE_79( .C1(Ready), .B1(CASr3), .A1(CASr2), .D0(m6_0_a2_2), - .C0(\S[1] ), .B0(CO0), .A0(CBR), .M1(\Din_c[1] ), .M0(\Din_c[0] ), - .CLK(nCCAS_c), .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); - SLICE_80 SLICE_80( .B1(CASr3), .A1(CASr2), .D0(g4_0_0_0), .C0(FWEr), - .B0(CO0), .A0(CBR_fast), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), - .Q1(\RowA[9] )); - SLICE_81 SLICE_81( .D1(\FS[17] ), .C1(\FS[15] ), .B1(\FS[14] ), - .A1(\FS[13] ), .D0(\FS[17] ), .C0(\FS[15] ), .B0(\FS[13] ), .A0(\FS[12] ), - .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), - .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); - SLICE_82 SLICE_82( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(CmdLEDEN), - .A1(N_128), .D0(\Din_c[3] ), .C0(\Din_c[5] ), .B0(N_128), .A0(XOR8MEG18), - .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), .Q0(CASr3), - .F1(N_132)); - SLICE_83 SLICE_83( .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), .C0(\IS[2] ), - .B0(\IS[1] ), .A0(\IS[0] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), - .Q1(\RBA_c[1] )); - SLICE_84 SLICE_84( .D1(\FS[11] ), .C1(\FS[10] ), .B1(\FS[8] ), .A1(\FS[6] ), - .D0(\FS[10] ), .C0(\FS[7] ), .B0(\FS[6] ), .A0(\FS[1] ), .F0(N_137_6), - .F1(UFMSDI_ens2_i_a2_4_2)); - SLICE_85 SLICE_85( .D1(\Din_c[4] ), .C1(\Din_c[7] ), .B1(\Din_c[0] ), - .A1(\Din_c[1] ), .D0(\Din_c[7] ), .C0(\Din_c[6] ), .B0(\Din_c[5] ), - .A0(\Din_c[4] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), - .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); - SLICE_86 SLICE_86( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), - .B0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQML_c)); - SLICE_87 SLICE_87( .C1(N_151), .B1(UFMSDI_ens2_i_a0), .A1(CmdUFMSDI), - .D0(N_151), .C0(\FS[11] ), .B0(\FS[9] ), .A0(\FS[4] ), .F0(N_137_8), - .F1(UFMSDI_r_xx_mm_1)); - SLICE_88 SLICE_88( .C1(nFWE_c), .B1(\MAin_c[3] ), .A1(\MAin_c[2] ), - .B0(nFWE_c), .A0(nCCAS_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), - .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); - SLICE_89 SLICE_89( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), - .B0(\RowA[8] ), .A0(\MAin_c[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); - SLICE_90 SLICE_90( .C1(\MAin_c[1] ), .B1(\MAin_c[0] ), .A1(N_147), - .C0(nRowColSel), .B0(\RowA[0] ), .A0(\MAin_c[0] ), .F0(\RA_c[0] ), - .F1(un1_CMDWR)); - SLICE_91 SLICE_91( .C1(nRowColSel), .B1(\RowA[7] ), .A1(\MAin_c[7] ), - .C0(nRowColSel), .B0(\RowA[1] ), .A0(\MAin_c[1] ), .F0(\RA_c[1] ), - .F1(\RA_c[7] )); - SLICE_92 SLICE_92( .C1(nRowColSel), .B1(\RowA[6] ), .A1(\MAin_c[6] ), - .C0(nRowColSel), .B0(\RowA[2] ), .A0(\MAin_c[2] ), .F0(\RA_c[2] ), - .F1(\RA_c[6] )); - SLICE_93 SLICE_93( .C1(nRowColSel), .B1(\RowA[5] ), .A1(\MAin_c[5] ), - .C0(nRowColSel), .B0(\RowA[3] ), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), - .F1(\RA_c[5] )); - SLICE_94 SLICE_94( .B1(N_155), .A1(Ready), .B0(\S[1] ), .A0(Ready), - .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), - .Q0(\RA_c[10] ), .F1(N_159_i)); - RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), - .RD0(RD[0])); - Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); - PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); - UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); - UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); - UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); - nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); - RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); - RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); - nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); - nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); - nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); - RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); - RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); - nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); - RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), - .RD7(RD[7])); - RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), - .RD6(RD[6])); - RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), - .RD5(RD[5])); - RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), - .RD4(RD[4])); - RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), - .RD3(RD[3])); - RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), - .RD2(RD[2])); - RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), - .RD1(RD[1])); - RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); - RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); - RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); - RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); - RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); - RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); - RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); - RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); - RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); - RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); - RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); - RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); - RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); - RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); - LED LED_I( .PADDO(LED_c), .LED(LED)); - nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); - nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); - nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); - Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); - Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); - Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); - Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); - Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); - Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); - Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); - Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); - Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); - Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); - Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); - Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); - Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); - Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); - Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); - CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); - CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); - MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); - MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); - MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); - MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); - MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); - MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); - MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); - MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); - MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); - MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); - VHI VHI_INST( .Z(VCCI)); - PUR PUR_INST( .PUR(VCCI)); - GSR GSR_INST( .GSR(VCCI)); - VLO VLO_INST( .Z(GNDI_TSALL)); - TSALL TSALL_INST( .TSALL(GNDI_TSALL)); -endmodule - -module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); - wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , - A1_dly, CLK_dly, A0_dly; - - vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), - .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - endspecify - -endmodule - -module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module vcc ( output PWR1 ); - - VHI INST1( .Z(PWR1)); -endmodule - -module gnd ( output PWR0 ); - - VLO INST1( .Z(PWR0)); -endmodule - -module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h300a; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); - wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), - .CO1()); - - specify - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h5002; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; - - lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut4 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40002 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00F2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module inverter ( input I, output Z ); - - INV INST1( .A(I), .Z(Z)); -endmodule - -module SLICE_14 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40003 CmdEnable16_0_a2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40003 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40004 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_19 ( input D1, C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40006 \S_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40005 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40006 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDDDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_20 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); - wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, - CLK_NOTIN, DI0_dly, CLK_dly; - - lut40008 SLICE_20_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), - .Z(\SLICE_20/SLICE_20_K1_H1 )); - gnd DRIVEGND( .PWR0(GNDI)); - lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); - vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), - .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40008 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40009 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAC8C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module selmux2 ( input D0, D1, SD, output Z ); - - MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); -endmodule - -module SLICE_21 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40010 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40011 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0203) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_22 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40005 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 CmdSubmitted_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40012 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_26 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40013 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40014 Cmdn8MEGEN_RNO( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40013 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40014 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5151) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_29 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40015 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40016 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40015 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF32) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40016 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_30 ( input C1, B1, A1, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; - - lut40017 \IS_RNO[2] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40018 IS_n1_0_x2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40017 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7878) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40018 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h6666) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40019 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40020 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40019 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40020 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_32 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40021 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40021 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4555) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_33 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40022 LED_pad_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40023 LEDEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40022 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFBFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40023 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8B8B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_39 ( input B1, A1, C0, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40024 XOR8MEG_3_u_0_a3_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40025 RA11_2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40024 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40025 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hC6C6) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40026 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40027 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40026 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h70CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40027 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40028 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40029 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40028 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40029 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFE30) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40030 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40031 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40030 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5072) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40031 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAEAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_44 ( input D1, C1, B1, A1, B0, A0, DI0, M1, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; - - lut40028 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module SLICE_50 ( input C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40032 nRowColSel_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40012 \S_0_i_o2[1] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40032 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0202) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40033 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40034 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40033 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF2F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40034 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1032) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40035 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40036 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40035 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3B33) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40036 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3210) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_55 ( input C0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40037 \un9_RA[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40037 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hACAC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_56 ( input D1, C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40038 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40039 UFMSDI_ens2_i_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40038 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40039 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2C2C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40005 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40040 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40040 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF7F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_58 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40041 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40023 n8MEGEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40041 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40042 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40043 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40042 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0BFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40043 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0044 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40045 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40046 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40045 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hE6EE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40046 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3233) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40047 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40048 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40047 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40048 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5051) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40049 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40050 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40049 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40050 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF4F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output - F0, Q0, F1 ); - wire VCCI, DI0_dly, CLK_dly, LSR_dly; - - lut40051 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40052 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40051 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40052 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40053 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40054 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40053 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40054 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output - OFX0 ); - wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , - \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; - - lut40055 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); - lut40056 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); - selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( - .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), - .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (D1 => OFX0) = (0:0:0,0:0:0); - (C1 => OFX0) = (0:0:0,0:0:0); - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40055 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40056 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40057 nUFMCS_s_0_N_5_i_N_2L1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40049 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40057 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0B0B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, - output F0, Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40058 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40005 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0059 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40058 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0059 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40053 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40060 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40060 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEAAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40061 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40060 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40061 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_70 ( input D1, C1, B1, A1, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut4 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40062 C1WR_0_a2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40062 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; - - lut4 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut4 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module SLICE_72 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40063 UFMSDI_ens2_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40064 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40063 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40064 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAAC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_73 ( input D1, C1, B1, A1, B0, A0, M1, M0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; - - lut40065 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 IS_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40065 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFF7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_74 ( input B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; - - lut40062 InitReady3_0_a2_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut4 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module SLICE_75 ( input C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40066 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40041 CmdLEDEN_4_u_i_a2_0( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40066 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFDFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_76 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40024 CmdEnable16_0_a2_4( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40067 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40067 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_77 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40068 CmdEnable16_0_a2_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40049 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40068 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_78 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40069 CmdEnable17_0_o2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40058 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40069 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7777) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_79 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40070 nRWE_RNO_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40038 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40070 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_80 ( input B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40024 nRCAS_RNO_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40071 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0059 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40071 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40072 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut4 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40072 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, - F1 ); - wire VCCI, GNDI, M0_dly, CLK_dly; - - lut40073 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40074 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40073 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40074 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_83 ( input C1, B1, A1, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40063 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40075 Ready_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40075 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40028 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40061 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40076 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40053 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40076 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_86 ( input B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40069 RDQML( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_87 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40077 UFMSDI_RNO_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40049 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40077 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_88 ( input C1, B1, A1, B0, A0, M1, M0, LSR, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40078 C1WR_0_a2_0_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40012 nCCAS_pad_RNI01SJ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40078 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_89 ( input B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40079 RDQMH( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[8] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40079 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBBBB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_90 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40080 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40080 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA8A8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_91 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40037 \un9_RA[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[1] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_92 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40037 \un9_RA[6] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_93 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40037 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[3] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_94 ( input B1, A1, B0, A0, M0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; - - lut40081 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A1), .B(B1), .C(GNDI), .D(GNDI), - .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40062 RCKEEN_8_u_0_a2_1_s( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre0059 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40081 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); - - mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); - - specify - (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD0) = (0:0:0,0:0:0); - (RD0 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD0, 0:0:0); - $width (negedge RD0, 0:0:0); - endspecify - -endmodule - -module mjiobuf ( input I, T, output Z, PAD, input PADI ); - - IB INST1( .I(PADI), .O(Z)); - OBW INST2( .I(I), .T(T), .O(PAD)); -endmodule - -module Dout_0_ ( input PADDO, output Dout0 ); - - mjiobuf0082 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); - - specify - (PADDO => Dout0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0082 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module PHI2 ( output PADDI, input PHI2 ); - - mjiobuf0083 PHI2_pad( .Z(PADDI), .PAD(PHI2)); - - specify - (PHI2 => PADDI) = (0:0:0,0:0:0); - $width (posedge PHI2, 0:0:0); - $width (negedge PHI2, 0:0:0); - endspecify - -endmodule - -module mjiobuf0083 ( output Z, input PAD ); - - IBPD INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDO ( output PADDI, input UFMSDO ); - - mjiobuf0084 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); - - specify - (UFMSDO => PADDI) = (0:0:0,0:0:0); - $width (posedge UFMSDO, 0:0:0); - $width (negedge UFMSDO, 0:0:0); - endspecify - -endmodule - -module mjiobuf0084 ( output Z, input PAD ); - - IB INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDI ( input PADDO, output UFMSDI ); - - mjiobuf0085 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); - - specify - (PADDO => UFMSDI) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0085 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module UFMCLK ( input PADDO, output UFMCLK ); - - mjiobuf0085 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); - - specify - (PADDO => UFMCLK) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nUFMCS ( input PADDO, output nUFMCS ); - - mjiobuf0085 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); - - specify - (PADDO => nUFMCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQML ( input PADDO, output RDQML ); - - mjiobuf0085 RDQML_pad( .I(PADDO), .PAD(RDQML)); - - specify - (PADDO => RDQML) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQMH ( input PADDO, output RDQMH ); - - mjiobuf0085 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); - - specify - (PADDO => RDQMH) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRCAS ( input PADDO, output nRCAS ); - - mjiobuf0085 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); - - specify - (PADDO => nRCAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRRAS ( input PADDO, output nRRAS ); - - mjiobuf0085 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); - - specify - (PADDO => nRRAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRWE ( input PADDO, output nRWE ); - - mjiobuf0085 nRWE_pad( .I(PADDO), .PAD(nRWE)); - - specify - (PADDO => nRWE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCKE ( input PADDO, output RCKE ); - - mjiobuf0085 RCKE_pad( .I(PADDO), .PAD(RCKE)); - - specify - (PADDO => RCKE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCLK ( output PADDI, input RCLK ); - - mjiobuf0084 RCLK_pad( .Z(PADDI), .PAD(RCLK)); - - specify - (RCLK => PADDI) = (0:0:0,0:0:0); - $width (posedge RCLK, 0:0:0); - $width (negedge RCLK, 0:0:0); - endspecify - -endmodule - -module nRCS ( input PADDO, output nRCS ); - - mjiobuf0085 nRCS_pad( .I(PADDO), .PAD(nRCS)); - - specify - (PADDO => nRCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); - - mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); - - specify - (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD7) = (0:0:0,0:0:0); - (RD7 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD7, 0:0:0); - $width (negedge RD7, 0:0:0); - endspecify - -endmodule - -module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); - - mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); - - specify - (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD6) = (0:0:0,0:0:0); - (RD6 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD6, 0:0:0); - $width (negedge RD6, 0:0:0); - endspecify - -endmodule - -module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); - - mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); - - specify - (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD5) = (0:0:0,0:0:0); - (RD5 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD5, 0:0:0); - $width (negedge RD5, 0:0:0); - endspecify - -endmodule - -module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); - - mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); - - specify - (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD4) = (0:0:0,0:0:0); - (RD4 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD4, 0:0:0); - $width (negedge RD4, 0:0:0); - endspecify - -endmodule - -module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); - - mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); - - specify - (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD3) = (0:0:0,0:0:0); - (RD3 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD3, 0:0:0); - $width (negedge RD3, 0:0:0); - endspecify - -endmodule - -module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); - - mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); - - specify - (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD2) = (0:0:0,0:0:0); - (RD2 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD2, 0:0:0); - $width (negedge RD2, 0:0:0); - endspecify - -endmodule - -module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); - - mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); - - specify - (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD1) = (0:0:0,0:0:0); - (RD1 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD1, 0:0:0); - $width (negedge RD1, 0:0:0); - endspecify - -endmodule - -module RA_11_ ( input PADDO, output RA11 ); - - mjiobuf0085 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); - - specify - (PADDO => RA11) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_10_ ( input PADDO, output RA10 ); - - mjiobuf0085 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); - - specify - (PADDO => RA10) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_9_ ( input PADDO, output RA9 ); - - mjiobuf0085 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); - - specify - (PADDO => RA9) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_8_ ( input PADDO, output RA8 ); - - mjiobuf0085 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); - - specify - (PADDO => RA8) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_7_ ( input PADDO, output RA7 ); - - mjiobuf0085 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); - - specify - (PADDO => RA7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_6_ ( input PADDO, output RA6 ); - - mjiobuf0085 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); - - specify - (PADDO => RA6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_5_ ( input PADDO, output RA5 ); - - mjiobuf0085 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); - - specify - (PADDO => RA5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_4_ ( input PADDO, output RA4 ); - - mjiobuf0085 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); - - specify - (PADDO => RA4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_3_ ( input PADDO, output RA3 ); - - mjiobuf0085 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); - - specify - (PADDO => RA3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_2_ ( input PADDO, output RA2 ); - - mjiobuf0085 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); - - specify - (PADDO => RA2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_1_ ( input PADDO, output RA1 ); - - mjiobuf0085 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); - - specify - (PADDO => RA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_0_ ( input PADDO, output RA0 ); - - mjiobuf0085 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); - - specify - (PADDO => RA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_1_ ( input PADDO, output RBA1 ); - - mjiobuf0085 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); - - specify - (PADDO => RBA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_0_ ( input PADDO, output RBA0 ); - - mjiobuf0085 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); - - specify - (PADDO => RBA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module LED ( input PADDO, output LED ); - - mjiobuf0086 LED_pad( .I(PADDO), .PAD(LED)); - - specify - (PADDO => LED) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0086 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module nFWE ( output PADDI, input nFWE ); - - mjiobuf0084 nFWE_pad( .Z(PADDI), .PAD(nFWE)); - - specify - (nFWE => PADDI) = (0:0:0,0:0:0); - $width (posedge nFWE, 0:0:0); - $width (negedge nFWE, 0:0:0); - endspecify - -endmodule - -module nCRAS ( output PADDI, input nCRAS ); - - mjiobuf0087 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); - - specify - (nCRAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCRAS, 0:0:0); - $width (negedge nCRAS, 0:0:0); - endspecify - -endmodule - -module mjiobuf0087 ( output Z, input PAD ); - - IBPU INST1( .I(PAD), .O(Z)); -endmodule - -module nCCAS ( output PADDI, input nCCAS ); - - mjiobuf0087 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); - - specify - (nCCAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCCAS, 0:0:0); - $width (negedge nCCAS, 0:0:0); - endspecify - -endmodule - -module Dout_7_ ( input PADDO, output Dout7 ); - - mjiobuf0082 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); - - specify - (PADDO => Dout7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_6_ ( input PADDO, output Dout6 ); - - mjiobuf0082 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); - - specify - (PADDO => Dout6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_5_ ( input PADDO, output Dout5 ); - - mjiobuf0082 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); - - specify - (PADDO => Dout5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_4_ ( input PADDO, output Dout4 ); - - mjiobuf0082 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); - - specify - (PADDO => Dout4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_3_ ( input PADDO, output Dout3 ); - - mjiobuf0082 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); - - specify - (PADDO => Dout3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_2_ ( input PADDO, output Dout2 ); - - mjiobuf0082 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); - - specify - (PADDO => Dout2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_1_ ( input PADDO, output Dout1 ); - - mjiobuf0082 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); - - specify - (PADDO => Dout1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Din_7_ ( output PADDI, input Din7 ); - - mjiobuf0084 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); - - specify - (Din7 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din7, 0:0:0); - $width (negedge Din7, 0:0:0); - endspecify - -endmodule - -module Din_6_ ( output PADDI, input Din6 ); - - mjiobuf0084 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); - - specify - (Din6 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din6, 0:0:0); - $width (negedge Din6, 0:0:0); - endspecify - -endmodule - -module Din_5_ ( output PADDI, input Din5 ); - - mjiobuf0084 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); - - specify - (Din5 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din5, 0:0:0); - $width (negedge Din5, 0:0:0); - endspecify - -endmodule - -module Din_4_ ( output PADDI, input Din4 ); - - mjiobuf0084 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); - - specify - (Din4 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din4, 0:0:0); - $width (negedge Din4, 0:0:0); - endspecify - -endmodule - -module Din_3_ ( output PADDI, input Din3 ); - - mjiobuf0084 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); - - specify - (Din3 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din3, 0:0:0); - $width (negedge Din3, 0:0:0); - endspecify - -endmodule - -module Din_2_ ( output PADDI, input Din2 ); - - mjiobuf0084 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); - - specify - (Din2 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din2, 0:0:0); - $width (negedge Din2, 0:0:0); - endspecify - -endmodule - -module Din_1_ ( output PADDI, input Din1 ); - - mjiobuf0084 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); - - specify - (Din1 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din1, 0:0:0); - $width (negedge Din1, 0:0:0); - endspecify - -endmodule - -module Din_0_ ( output PADDI, input Din0 ); - - mjiobuf0084 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); - - specify - (Din0 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din0, 0:0:0); - $width (negedge Din0, 0:0:0); - endspecify - -endmodule - -module CROW_1_ ( output PADDI, input CROW1 ); - - mjiobuf0084 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); - - specify - (CROW1 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW1, 0:0:0); - $width (negedge CROW1, 0:0:0); - endspecify - -endmodule - -module CROW_0_ ( output PADDI, input CROW0 ); - - mjiobuf0084 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); - - specify - (CROW0 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW0, 0:0:0); - $width (negedge CROW0, 0:0:0); - endspecify - -endmodule - -module MAin_9_ ( output PADDI, input MAin9 ); - - mjiobuf0084 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); - - specify - (MAin9 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin9, 0:0:0); - $width (negedge MAin9, 0:0:0); - endspecify - -endmodule - -module MAin_8_ ( output PADDI, input MAin8 ); - - mjiobuf0084 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); - - specify - (MAin8 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin8, 0:0:0); - $width (negedge MAin8, 0:0:0); - endspecify - -endmodule - -module MAin_7_ ( output PADDI, input MAin7 ); - - mjiobuf0084 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); - - specify - (MAin7 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin7, 0:0:0); - $width (negedge MAin7, 0:0:0); - endspecify - -endmodule - -module MAin_6_ ( output PADDI, input MAin6 ); - - mjiobuf0084 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); - - specify - (MAin6 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin6, 0:0:0); - $width (negedge MAin6, 0:0:0); - endspecify - -endmodule - -module MAin_5_ ( output PADDI, input MAin5 ); - - mjiobuf0084 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); - - specify - (MAin5 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin5, 0:0:0); - $width (negedge MAin5, 0:0:0); - endspecify - -endmodule - -module MAin_4_ ( output PADDI, input MAin4 ); - - mjiobuf0084 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); - - specify - (MAin4 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin4, 0:0:0); - $width (negedge MAin4, 0:0:0); - endspecify - -endmodule - -module MAin_3_ ( output PADDI, input MAin3 ); - - mjiobuf0084 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); - - specify - (MAin3 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin3, 0:0:0); - $width (negedge MAin3, 0:0:0); - endspecify - -endmodule - -module MAin_2_ ( output PADDI, input MAin2 ); - - mjiobuf0084 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); - - specify - (MAin2 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin2, 0:0:0); - $width (negedge MAin2, 0:0:0); - endspecify - -endmodule - -module MAin_1_ ( output PADDI, input MAin1 ); - - mjiobuf0084 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); - - specify - (MAin1 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin1, 0:0:0); - $width (negedge MAin1, 0:0:0); - endspecify - -endmodule - -module MAin_0_ ( output PADDI, input MAin0 ); - - mjiobuf0084 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); - - specify - (MAin0 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin0, 0:0:0); - $width (negedge MAin0, 0:0:0); - endspecify - -endmodule + +// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +// ldbanno -n Verilog -o RAM2GS_LCMXO256C_impl1_mapvo.vo -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd +// Netlist created on Sat Aug 19 20:53:19 2023 +// Netlist written on Sat Aug 19 20:53:21 2023 +// Design is for device LCMXO256C +// Design is for package TQFP100 +// Design is for performance grade 3 + +`timescale 1 ns / 1 ps + +module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, + RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, + UFMCLK, UFMSDI, UFMSDO ); + input PHI2; + input [9:0] MAin; + input [1:0] CROW; + input [7:0] Din; + input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; + output [7:0] Dout; + output LED; + output [1:0] RBA; + output [11:0] RA; + output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; + inout [7:0] RD; + wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , + \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , + \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , + \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , + \FS_cry[3] , \FS[3] , \FS[2] , N_147, \MAin_c[0] , CmdEnable17_0_a2_4, + CmdEnable17_0_a2_3, CmdEnable16, CmdEnable17, C1WR_0_a2, ADSubmitted, + ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, CmdEnable16_0_a2_4, + \MAin_c[1] , C1Submitted, C1Submitted_RNO, \S[1] , RASr2, \IS[3] , + CO0, N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, + CmdEnable_s, N_128, \Din_c[5] , \Din_c[3] , N_152, N_133, N_132, + LEDEN, N_21_i, XOR8MEG18, CmdLEDEN, PHI2r3, PHI2r2, InitReady, + CmdSubmitted, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, Cmdn8MEGEN, + CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, nRRAS_5_u_i_0, + N_160, N_155, \IS[0] , Ready, N_64_i_i, N_24, \IS[2] , \IS[1] , + N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, + UFMSDI_ens2_i_a2_4_2, N_126, N_51, InitReady3, N_461_0, + UFMSDI_ens2_i_a0, nCRAS_c, CBR, UFMSDO_c, N_70, N_33, LED_c, + un1_Din_4, XOR8MEG, \Din_c[6] , RA11_2, Ready_fast, \RA_c[11] , N_171, + FWEr_fast, CASr2, RCKEEN_8_u_1, RCKEEN_8_u_0_0, RCKEEN_8, PHI2r, + RCKEEN, RASr3, RASr, RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, + N_462_0, Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, N_129, + UFMCLK_r_i_a2_2_2, CmdUFMCLK, UFMCLK_r_i_m4_xx_mm_1, UFMCLK_c, + nUFMCS15, N_139_i, UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, + nRowColSel, \RowA[4] , \MAin_c[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , + \WRD[4] , \WRD[5] , \Bank[7] , \Bank[6] , \Bank[5] , \Bank[2] , + \Din_c[7] , \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[2] , + \Din_c[0] , XOR8MEG_3_u_0_a3_2, \Din_c[1] , XOR8MEG_3, N_69, N_31, + N_151, g0_1, nRCAS_0_sqmuxa_1, N_41, N_37_i, nRCAS_c, CASr3, + RCKEEN_8_u_0_a2_1_out, N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, + CBR_fast, m18_0_a2_1, G_17_1, FWEr, N_39_i, nRWE_c, N_179, + nRowColSel_0_0, nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_c, nUFMCS_s_0_N_5_i, + CmdUFMCS, N_95_5, N_95_3, \RowA[0] , \RowA[1] , \MAin_c[5] , + CmdUFMCLK_1_sqmuxa, \RowA[5] , un1_FS_14_i_a2_0_1, N_137_8, N_137_6, + un1_FS_13_i_a2_1, C1WR_0_a2_0_10, \Bank[1] , \Bank[0] , \MAin_c[7] , + \MAin_c[6] , C1WR_0_a2_0_4, C1WR_0_a2_0_3, \Bank[4] , \Bank[3] , + UFMSDI_ens2_i_o2_0_3, \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , + CmdUFMSDI, CASr, CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , + g4_0_0_0, \MAin_c[9] , \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, + \CROW_c[1] , \CROW_c[0] , \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , + \RA_c[9] , RDQML_c, RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, + \RA_c[0] , \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , + \RA_c[5] , \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , + \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; + + SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), + .Q1(\FS[1] ), .FCO(\FS_cry[1] )); + SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), + .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); + SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), + .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); + SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), + .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); + SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), + .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); + SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), + .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); + SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), + .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); + SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), + .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); + SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), + .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); + SLICE_9 SLICE_9( .D1(N_147), .C1(\MAin_c[0] ), .B1(CmdEnable17_0_a2_4), + .A1(CmdEnable17_0_a2_3), .D0(CmdEnable16), .C0(CmdEnable17), + .B0(C1WR_0_a2), .A0(ADSubmitted), .DI0(ADSubmitted_r), .CLK(PHI2_c), + .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); + SLICE_14 SLICE_14( .C1(N_147), .B1(CmdEnable16_0_a2_5), + .A1(CmdEnable16_0_a2_4), .D0(\MAin_c[1] ), .C0(N_147), .B0(C1Submitted), + .A0(CmdEnable16), .DI0(C1Submitted_RNO), .CLK(PHI2_c), + .F0(C1Submitted_RNO), .Q0(C1Submitted), .F1(CmdEnable16)); + SLICE_19 SLICE_19( .D1(\S[1] ), .C1(RASr2), .B1(\IS[3] ), .A1(CO0), + .B0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), + .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); + SLICE_20 SLICE_20( .B1(ADSubmitted), .A1(CmdEnable), .D0(C1Submitted), + .C0(un1_CMDWR), .B0(CmdEnable), .A0(CmdEnable17), .DI0(CmdEnable_s), + .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); + SLICE_21 SLICE_21( .C1(N_128), .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_152), + .C0(N_133), .B0(N_132), .A0(LEDEN), .DI0(N_21_i), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); + SLICE_22 SLICE_22( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), + .A1(CmdSubmitted), .B0(CmdSubmitted), .A0(CmdSubmitted_1_sqmuxa), + .DI0(N_460_0), .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); + SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), + .A1(CmdEnable16_4), .C0(n8MEGEN), .B0(N_152), .A0(Cmdn8MEGEN_4_u_i_0), + .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), + .F1(Cmdn8MEGEN_4_u_i_0)); + SLICE_29 SLICE_29( .D1(nRRAS_5_u_i_0), .C1(N_160), .B1(N_155), .A1(\IS[0] ), + .C0(N_155), .B0(Ready), .A0(\IS[0] ), .DI0(N_64_i_i), .CLK(RCLK_c), + .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); + SLICE_30 SLICE_30( .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), .B0(\IS[1] ), + .A0(\IS[0] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), + .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); + SLICE_31 SLICE_31( .D1(N_159), .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), + .D0(\IS[0] ), .C0(\IS[1] ), .B0(\IS[2] ), .A0(\IS[3] ), .DI0(N_61_i_i), + .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); + SLICE_32 SLICE_32( .D1(UFMSDI_ens2_i_a2_4_2), .C1(N_126), .B1(N_51), + .A1(InitReady), .B0(InitReady), .A0(InitReady3), .DI0(N_461_0), + .CLK(RCLK_c), .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); + SLICE_33 SLICE_33( .C1(nCRAS_c), .B1(LEDEN), .A1(CBR), .C0(UFMSDO_c), + .B0(InitReady), .A0(CmdLEDEN), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), + .F0(N_70), .Q0(LEDEN), .F1(LED_c)); + SLICE_39 SLICE_39( .B1(un1_Din_4), .A1(XOR8MEG), .C0(n8MEGEN), .B0(XOR8MEG), + .A0(\Din_c[6] ), .DI0(RA11_2), .LSR(Ready_fast), .CLK(PHI2_c), .F0(RA11_2), + .Q0(\RA_c[11] ), .F1(N_171)); + SLICE_41 SLICE_41( .D1(\S[1] ), .C1(FWEr_fast), .B1(CO0), .A1(CASr2), + .D0(Ready), .C0(RCKEEN_8_u_1), .B0(RCKEEN_8_u_0_0), .A0(CBR), + .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), + .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); + SLICE_42 SLICE_42( .D1(RASr2), .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), + .D0(RCKEEN), .C0(RASr3), .B0(RASr2), .A0(RASr), .DI0(RCKE_2), .M1(PHI2_c), + .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); + SLICE_43 SLICE_43( .D1(\S_0_i_o2[1] ), .C1(InitReady), .B1(RASr2), + .A1(Ready), .D0(InitReady), .C0(N_165), .B0(Ready_0_sqmuxa_0_a3_2), + .A0(Ready), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), .F0(N_462_0), + .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); + SLICE_44 SLICE_44( .D1(Ready_0_sqmuxa_0_a3_2), .C1(Ready), .B1(N_165), + .A1(InitReady), .B0(Ready_fast), .A0(Ready_0_sqmuxa), .DI0(N_463_0), + .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), + .F1(Ready_0_sqmuxa), .Q1(RASr)); + SLICE_50 SLICE_50( .C1(CO0), .B1(\S[1] ), .A1(Ready), .B0(\S[1] ), .A0(CO0), + .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), + .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); + SLICE_51 SLICE_51( .D1(N_129), .C1(UFMCLK_r_i_a2_2_2), .B1(CmdUFMCLK), + .A1(InitReady), .D0(UFMCLK_r_i_m4_xx_mm_1), .C0(UFMCLK_c), .B0(nUFMCS15), + .A0(N_139_i), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), .F0(UFMCLK_RNO), + .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); + SLICE_52 SLICE_52( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), + .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(UFMSDI_c), .B0(nUFMCS15), + .A0(N_139_i), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), + .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); + SLICE_55 SLICE_55( .C0(nRowColSel), .B0(\RowA[4] ), .A0(\MAin_c[4] ), + .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), + .Q0(\WRD[4] ), .Q1(\WRD[5] )); + SLICE_56 SLICE_56( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), + .A1(\Bank[2] ), .C0(\FS[9] ), .B0(\FS[7] ), .A0(\FS[5] ), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), + .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); + SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[3] ), .B1(\Din_c[2] ), + .A1(\Din_c[0] ), .D0(XOR8MEG_3_u_0_a3_2), .C0(N_171), .B0(LEDEN), + .A0(\Din_c[1] ), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), + .F0(XOR8MEG_3), .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); + SLICE_58 SLICE_58( .C1(N_51), .B1(InitReady), .A1(\FS[8] ), .C0(UFMSDO_c), + .B0(InitReady), .A0(Cmdn8MEGEN), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), + .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); + SLICE_59 SLICE_59( .D1(\S[1] ), .C1(Ready), .B1(N_160), .A1(N_155), + .D0(g0_1), .C0(\S[1] ), .B0(nRCAS_0_sqmuxa_1), .A0(N_41), .DI0(N_37_i), + .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); + SLICE_60 SLICE_60( .D1(CASr2), .C1(CASr3), .B1(CO0), .A1(FWEr_fast), + .D0(RCKEEN_8_u_0_a2_1_out), .C0(N_28_i_1), .B0(N_24), .A0(CBR), + .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); + SLICE_61 SLICE_61( .D1(Ready), .C1(RCKE_c), .B1(RASr2), .A1(\S_0_i_o2[1] ), + .D0(\IS[0] ), .C0(N_155), .B0(N_160), .A0(nRRAS_5_u_i_0), .DI0(N_24_i), + .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); + SLICE_62 SLICE_62( .D1(Ready), .C1(RASr2), .B1(\S_0_i_o2[1] ), .A1(CBR_fast), + .D0(m18_0_a2_1), .C0(nRCAS_0_sqmuxa_1), .B0(G_17_1), .A0(FWEr), + .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), + .F1(nRCAS_0_sqmuxa_1)); + SLICE_63 SLICE_63( .D1(Ready), .C1(FWEr), .B1(CBR), .A1(CASr3), .D0(\S[1] ), + .C0(Ready), .B0(N_179), .A0(CO0), .DI0(nRowColSel_0_0), + .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), + .F1(N_179)); + SLICE_64 SLICE_64( .D1(N_51), .C1(InitReady), .B1(\FS[11] ), .A1(\FS[10] ), + .D0(nUFMCS_s_0_N_5_i_N_2L1), .C0(nUFMCS_c), .B0(nUFMCS15), .A0(N_139_i), + .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), + .F1(nUFMCS15)); + nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(RCKE_c), .B1(CO0), + .A1(\S[1] ), .D0(InitReady), .C0(m18_0_a3_3), .B0(CO0), .A0(\S[1] ), + .M0(Ready), .OFX0(m18_0_a2_1)); + SLICE_66 SLICE_66( .C1(UFMCLK_r_i_a2_2_2), .B1(InitReady), .A1(CmdUFMCS), + .D0(N_95_5), .C0(N_95_3), .B0(InitReady), .A0(\FS[16] ), .M1(\MAin_c[1] ), + .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), + .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); + SLICE_67 SLICE_67( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(N_128), + .A1(XOR8MEG18), .D0(N_147), .C0(\MAin_c[1] ), .B0(\MAin_c[0] ), + .A0(CmdEnable), .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), + .CLK(nCRAS_c), .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), + .Q1(\RowA[5] )); + SLICE_68 SLICE_68( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), + .D0(un1_FS_14_i_a2_0_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_31), + .F1(un1_FS_14_i_a2_0_1)); + SLICE_69 SLICE_69( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), + .D0(un1_FS_13_i_a2_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_33), + .F1(un1_FS_13_i_a2_1)); + SLICE_70 SLICE_70( .D1(C1WR_0_a2_0_11), .C1(C1WR_0_a2_0_10), .B1(\Bank[1] ), + .A1(\Bank[0] ), .B0(N_147), .A0(\MAin_c[1] ), .M1(\Din_c[1] ), + .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), + .Q1(\Bank[1] )); + SLICE_71 SLICE_71( .D1(\MAin_c[7] ), .C1(\MAin_c[6] ), .B1(\MAin_c[5] ), + .A1(\MAin_c[4] ), .D0(C1WR_0_a2_0_4), .C0(C1WR_0_a2_0_3), .B0(\Bank[4] ), + .A0(\Bank[3] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), + .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); + SLICE_72 SLICE_72( .C1(UFMSDI_ens2_i_o2_0_3), .B1(\FS[16] ), .A1(\FS[12] ), + .D0(N_51), .C0(\FS[11] ), .B0(\FS[4] ), .A0(\FS[1] ), .M1(\MAin_c[3] ), + .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), + .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); + SLICE_73 SLICE_73( .D1(CO0), .C1(\S[1] ), .B1(InitReady), .A1(RASr2), + .B0(Ready), .A0(N_155), .M1(\Din_c[2] ), .M0(\Din_c[1] ), + .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), + .F1(N_155), .Q1(CmdUFMCS)); + SLICE_74 SLICE_74( .B1(\FS[14] ), .A1(\FS[11] ), .D0(N_95_5), .C0(N_95_3), + .B0(\FS[16] ), .A0(\FS[10] ), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), + .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); + SLICE_75 SLICE_75( .C1(\Din_c[7] ), .B1(\Din_c[6] ), .A1(\Din_c[4] ), + .C0(N_128), .B0(\Din_c[5] ), .A0(\Din_c[1] ), .M1(CASr), .M0(nCCAS_c), + .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); + SLICE_76 SLICE_76( .B1(\Din_c[5] ), .A1(\Din_c[0] ), .D0(\MAin_c[0] ), + .C0(\Din_c[3] ), .B0(\Din_c[1] ), .A0(CmdEnable16_4), .M1(\Din_c[5] ), + .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), + .F1(CmdEnable16_4), .Q1(\Bank[5] )); + SLICE_77 SLICE_77( .B1(\Din_c[7] ), .A1(\Din_c[4] ), .D0(\MAin_c[1] ), + .C0(\Din_c[6] ), .B0(\Din_c[2] ), .A0(CmdEnable16_1), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), + .F1(CmdEnable16_1), .Q1(\Bank[7] )); + SLICE_78 SLICE_78( .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_43), + .C0(\MAin_c[1] ), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(nCCAS_c), + .M0(nCCAS_c), .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), + .Q1(CBR_fast)); + SLICE_79 SLICE_79( .C1(Ready), .B1(CASr3), .A1(CASr2), .D0(m6_0_a2_2), + .C0(\S[1] ), .B0(CO0), .A0(CBR), .M1(\Din_c[1] ), .M0(\Din_c[0] ), + .CLK(nCCAS_c), .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); + SLICE_80 SLICE_80( .B1(CASr3), .A1(CASr2), .D0(g4_0_0_0), .C0(FWEr), + .B0(CO0), .A0(CBR_fast), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), + .Q1(\RowA[9] )); + SLICE_81 SLICE_81( .D1(\FS[17] ), .C1(\FS[15] ), .B1(\FS[14] ), + .A1(\FS[13] ), .D0(\FS[17] ), .C0(\FS[15] ), .B0(\FS[13] ), .A0(\FS[12] ), + .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), + .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); + SLICE_82 SLICE_82( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(CmdLEDEN), + .A1(N_128), .D0(\Din_c[3] ), .C0(\Din_c[5] ), .B0(N_128), .A0(XOR8MEG18), + .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), .Q0(CASr3), + .F1(N_132)); + SLICE_83 SLICE_83( .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), .C0(\IS[2] ), + .B0(\IS[1] ), .A0(\IS[0] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), + .Q1(\RBA_c[1] )); + SLICE_84 SLICE_84( .D1(\FS[11] ), .C1(\FS[10] ), .B1(\FS[8] ), .A1(\FS[6] ), + .D0(\FS[10] ), .C0(\FS[7] ), .B0(\FS[6] ), .A0(\FS[1] ), .F0(N_137_6), + .F1(UFMSDI_ens2_i_a2_4_2)); + SLICE_85 SLICE_85( .D1(\Din_c[4] ), .C1(\Din_c[7] ), .B1(\Din_c[0] ), + .A1(\Din_c[1] ), .D0(\Din_c[7] ), .C0(\Din_c[6] ), .B0(\Din_c[5] ), + .A0(\Din_c[4] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), + .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); + SLICE_86 SLICE_86( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQML_c)); + SLICE_87 SLICE_87( .C1(N_151), .B1(UFMSDI_ens2_i_a0), .A1(CmdUFMSDI), + .D0(N_151), .C0(\FS[11] ), .B0(\FS[9] ), .A0(\FS[4] ), .F0(N_137_8), + .F1(UFMSDI_r_xx_mm_1)); + SLICE_88 SLICE_88( .C1(nFWE_c), .B1(\MAin_c[3] ), .A1(\MAin_c[2] ), + .B0(nFWE_c), .A0(nCCAS_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), + .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); + SLICE_89 SLICE_89( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\RowA[8] ), .A0(\MAin_c[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); + SLICE_90 SLICE_90( .C1(\MAin_c[1] ), .B1(\MAin_c[0] ), .A1(N_147), + .C0(nRowColSel), .B0(\RowA[0] ), .A0(\MAin_c[0] ), .F0(\RA_c[0] ), + .F1(un1_CMDWR)); + SLICE_91 SLICE_91( .C1(nRowColSel), .B1(\RowA[7] ), .A1(\MAin_c[7] ), + .C0(nRowColSel), .B0(\RowA[1] ), .A0(\MAin_c[1] ), .F0(\RA_c[1] ), + .F1(\RA_c[7] )); + SLICE_92 SLICE_92( .C1(nRowColSel), .B1(\RowA[6] ), .A1(\MAin_c[6] ), + .C0(nRowColSel), .B0(\RowA[2] ), .A0(\MAin_c[2] ), .F0(\RA_c[2] ), + .F1(\RA_c[6] )); + SLICE_93 SLICE_93( .C1(nRowColSel), .B1(\RowA[5] ), .A1(\MAin_c[5] ), + .C0(nRowColSel), .B0(\RowA[3] ), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), + .F1(\RA_c[5] )); + SLICE_94 SLICE_94( .B1(N_155), .A1(Ready), .B0(\S[1] ), .A0(Ready), + .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), + .Q0(\RA_c[10] ), .F1(N_159_i)); + RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), + .RD0(RD[0])); + Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); + PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); + UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); + UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); + UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); + nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); + RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); + RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); + nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); + nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); + nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); + RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); + RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); + nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); + RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), + .RD7(RD[7])); + RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), + .RD6(RD[6])); + RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), + .RD5(RD[5])); + RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), + .RD4(RD[4])); + RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), + .RD3(RD[3])); + RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), + .RD2(RD[2])); + RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), + .RD1(RD[1])); + RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); + RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); + RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); + RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); + RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); + RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); + RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); + RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); + RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); + RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); + RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); + RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); + RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); + RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); + LED LED_I( .PADDO(LED_c), .LED(LED)); + nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); + nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); + nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); + Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); + Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); + Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); + Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); + Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); + Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); + Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); + Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); + Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); + Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); + Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); + Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); + Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); + Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); + Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); + CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); + CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); + MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); + MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); + MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); + MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); + MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); + MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); + MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); + MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); + MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); + MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); + VHI VHI_INST( .Z(VCCI)); + PUR PUR_INST( .PUR(VCCI)); + GSR GSR_INST( .GSR(VCCI)); + VLO VLO_INST( .Z(GNDI_TSALL)); + TSALL TSALL_INST( .TSALL(GNDI_TSALL)); +endmodule + +module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); + wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , + A1_dly, CLK_dly, A0_dly; + + vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), + .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + endspecify + +endmodule + +module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module vcc ( output PWR1 ); + + VHI INST1( .Z(PWR1)); +endmodule + +module gnd ( output PWR0 ); + + VLO INST1( .Z(PWR0)); +endmodule + +module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h300a; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); + wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), + .CO1()); + + specify + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h5002; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; + + lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut4 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40002 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00F2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module inverter ( input I, output Z ); + + INV INST1( .A(I), .Z(Z)); +endmodule + +module SLICE_14 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40003 CmdEnable16_0_a2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40003 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40004 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_19 ( input D1, C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40006 \S_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40005 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40006 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDDDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_20 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); + wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, + CLK_NOTIN, DI0_dly, CLK_dly; + + lut40008 SLICE_20_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(\SLICE_20/SLICE_20_K1_H1 )); + gnd DRIVEGND( .PWR0(GNDI)); + lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); + vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), + .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40008 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40009 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAC8C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module selmux2 ( input D0, D1, SD, output Z ); + + MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); +endmodule + +module SLICE_21 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40010 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40011 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0203) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_22 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40005 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 CmdSubmitted_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40012 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_26 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40013 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40014 Cmdn8MEGEN_RNO( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40013 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40014 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5151) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_29 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40015 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40016 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40015 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF32) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40016 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_30 ( input C1, B1, A1, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40017 \IS_RNO[2] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40018 IS_n1_0_x2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40017 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7878) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40018 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h6666) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40019 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40020 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40019 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40020 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_32 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40021 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40021 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4555) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_33 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40022 LED_pad_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40023 LEDEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40022 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFBFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40023 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8B8B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_39 ( input B1, A1, C0, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40024 XOR8MEG_3_u_0_a3_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40025 RA11_2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40024 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40025 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hC6C6) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40026 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40027 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40026 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h70CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40027 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40028 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40029 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40028 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40029 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFE30) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40030 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40031 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40030 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5072) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40031 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAEAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_44 ( input D1, C1, B1, A1, B0, A0, DI0, M1, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40028 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_50 ( input C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40032 nRowColSel_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \S_0_i_o2[1] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40032 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0202) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40033 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40034 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40033 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF2F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40034 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1032) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40035 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40036 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40035 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3B33) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40036 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3210) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_55 ( input C0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40037 \un9_RA[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40037 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hACAC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_56 ( input D1, C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40038 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40039 UFMSDI_ens2_i_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40038 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40039 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2C2C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40005 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40040 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40040 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF7F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_58 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40041 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40023 n8MEGEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40041 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40042 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40043 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40042 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0BFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40043 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0044 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40045 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40046 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40045 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hE6EE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40046 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3233) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40047 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40048 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40047 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40048 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5051) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40049 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40050 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40049 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40050 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF4F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output + F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40051 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40052 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40051 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40052 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40053 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40054 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40053 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40054 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output + OFX0 ); + wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , + \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; + + lut40055 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); + lut40056 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); + selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( + .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), + .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (C1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40055 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40056 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40057 nUFMCS_s_0_N_5_i_N_2L1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40049 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40057 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0B0B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40058 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40005 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0059 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40058 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0059 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40053 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40060 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40060 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEAAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40061 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40060 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40061 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_70 ( input D1, C1, B1, A1, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut4 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40062 C1WR_0_a2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40062 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; + + lut4 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut4 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_72 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40063 UFMSDI_ens2_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40064 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40063 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40064 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAAC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_73 ( input D1, C1, B1, A1, B0, A0, M1, M0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; + + lut40065 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 IS_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40065 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFF7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_74 ( input B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; + + lut40062 InitReady3_0_a2_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut4 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module SLICE_75 ( input C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40066 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40041 CmdLEDEN_4_u_i_a2_0( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40066 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFDFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_76 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40024 CmdEnable16_0_a2_4( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40067 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40067 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_77 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40068 CmdEnable16_0_a2_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40049 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40068 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_78 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40069 CmdEnable17_0_o2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40058 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40069 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7777) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_79 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40070 nRWE_RNO_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40038 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40070 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_80 ( input B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40024 nRCAS_RNO_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40071 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0059 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40071 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40072 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut4 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40072 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, + F1 ); + wire VCCI, GNDI, M0_dly, CLK_dly; + + lut40073 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40074 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40073 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40074 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_83 ( input C1, B1, A1, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40063 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40075 Ready_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40075 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40028 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40061 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40076 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40053 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40076 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_86 ( input B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40069 RDQML( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_87 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40077 UFMSDI_RNO_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40049 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40077 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_88 ( input C1, B1, A1, B0, A0, M1, M0, LSR, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40078 C1WR_0_a2_0_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 nCCAS_pad_RNI01SJ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40078 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_89 ( input B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40079 RDQMH( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[8] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40079 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBBBB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_90 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40080 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40080 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA8A8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_91 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 \un9_RA[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[1] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_92 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 \un9_RA[6] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_93 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[3] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_94 ( input B1, A1, B0, A0, M0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; + + lut40081 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40062 RCKEEN_8_u_0_a2_1_s( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre0059 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40081 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); + + mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); + + specify + (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD0) = (0:0:0,0:0:0); + (RD0 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD0, 0:0:0); + $width (negedge RD0, 0:0:0); + endspecify + +endmodule + +module mjiobuf ( input I, T, output Z, PAD, input PADI ); + + IB INST1( .I(PADI), .O(Z)); + OBW INST2( .I(I), .T(T), .O(PAD)); +endmodule + +module Dout_0_ ( input PADDO, output Dout0 ); + + mjiobuf0082 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); + + specify + (PADDO => Dout0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0082 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module PHI2 ( output PADDI, input PHI2 ); + + mjiobuf0083 PHI2_pad( .Z(PADDI), .PAD(PHI2)); + + specify + (PHI2 => PADDI) = (0:0:0,0:0:0); + $width (posedge PHI2, 0:0:0); + $width (negedge PHI2, 0:0:0); + endspecify + +endmodule + +module mjiobuf0083 ( output Z, input PAD ); + + IBPD INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDO ( output PADDI, input UFMSDO ); + + mjiobuf0084 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); + + specify + (UFMSDO => PADDI) = (0:0:0,0:0:0); + $width (posedge UFMSDO, 0:0:0); + $width (negedge UFMSDO, 0:0:0); + endspecify + +endmodule + +module mjiobuf0084 ( output Z, input PAD ); + + IB INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDI ( input PADDO, output UFMSDI ); + + mjiobuf0085 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); + + specify + (PADDO => UFMSDI) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0085 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module UFMCLK ( input PADDO, output UFMCLK ); + + mjiobuf0085 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); + + specify + (PADDO => UFMCLK) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nUFMCS ( input PADDO, output nUFMCS ); + + mjiobuf0085 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); + + specify + (PADDO => nUFMCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQML ( input PADDO, output RDQML ); + + mjiobuf0085 RDQML_pad( .I(PADDO), .PAD(RDQML)); + + specify + (PADDO => RDQML) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQMH ( input PADDO, output RDQMH ); + + mjiobuf0085 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); + + specify + (PADDO => RDQMH) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS ( input PADDO, output nRCAS ); + + mjiobuf0085 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); + + specify + (PADDO => nRCAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRRAS ( input PADDO, output nRRAS ); + + mjiobuf0085 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); + + specify + (PADDO => nRRAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRWE ( input PADDO, output nRWE ); + + mjiobuf0085 nRWE_pad( .I(PADDO), .PAD(nRWE)); + + specify + (PADDO => nRWE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCKE ( input PADDO, output RCKE ); + + mjiobuf0085 RCKE_pad( .I(PADDO), .PAD(RCKE)); + + specify + (PADDO => RCKE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCLK ( output PADDI, input RCLK ); + + mjiobuf0084 RCLK_pad( .Z(PADDI), .PAD(RCLK)); + + specify + (RCLK => PADDI) = (0:0:0,0:0:0); + $width (posedge RCLK, 0:0:0); + $width (negedge RCLK, 0:0:0); + endspecify + +endmodule + +module nRCS ( input PADDO, output nRCS ); + + mjiobuf0085 nRCS_pad( .I(PADDO), .PAD(nRCS)); + + specify + (PADDO => nRCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); + + mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); + + specify + (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD7) = (0:0:0,0:0:0); + (RD7 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD7, 0:0:0); + $width (negedge RD7, 0:0:0); + endspecify + +endmodule + +module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); + + mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); + + specify + (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD6) = (0:0:0,0:0:0); + (RD6 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD6, 0:0:0); + $width (negedge RD6, 0:0:0); + endspecify + +endmodule + +module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); + + mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); + + specify + (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD5) = (0:0:0,0:0:0); + (RD5 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD5, 0:0:0); + $width (negedge RD5, 0:0:0); + endspecify + +endmodule + +module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); + + mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); + + specify + (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD4) = (0:0:0,0:0:0); + (RD4 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD4, 0:0:0); + $width (negedge RD4, 0:0:0); + endspecify + +endmodule + +module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); + + mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); + + specify + (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD3) = (0:0:0,0:0:0); + (RD3 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD3, 0:0:0); + $width (negedge RD3, 0:0:0); + endspecify + +endmodule + +module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); + + mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); + + specify + (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD2) = (0:0:0,0:0:0); + (RD2 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD2, 0:0:0); + $width (negedge RD2, 0:0:0); + endspecify + +endmodule + +module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); + + mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); + + specify + (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD1) = (0:0:0,0:0:0); + (RD1 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD1, 0:0:0); + $width (negedge RD1, 0:0:0); + endspecify + +endmodule + +module RA_11_ ( input PADDO, output RA11 ); + + mjiobuf0085 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); + + specify + (PADDO => RA11) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_10_ ( input PADDO, output RA10 ); + + mjiobuf0085 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); + + specify + (PADDO => RA10) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_9_ ( input PADDO, output RA9 ); + + mjiobuf0085 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); + + specify + (PADDO => RA9) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_8_ ( input PADDO, output RA8 ); + + mjiobuf0085 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); + + specify + (PADDO => RA8) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_7_ ( input PADDO, output RA7 ); + + mjiobuf0085 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); + + specify + (PADDO => RA7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_6_ ( input PADDO, output RA6 ); + + mjiobuf0085 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); + + specify + (PADDO => RA6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_5_ ( input PADDO, output RA5 ); + + mjiobuf0085 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); + + specify + (PADDO => RA5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_4_ ( input PADDO, output RA4 ); + + mjiobuf0085 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); + + specify + (PADDO => RA4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_3_ ( input PADDO, output RA3 ); + + mjiobuf0085 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); + + specify + (PADDO => RA3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_2_ ( input PADDO, output RA2 ); + + mjiobuf0085 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); + + specify + (PADDO => RA2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_1_ ( input PADDO, output RA1 ); + + mjiobuf0085 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); + + specify + (PADDO => RA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_0_ ( input PADDO, output RA0 ); + + mjiobuf0085 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); + + specify + (PADDO => RA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1_ ( input PADDO, output RBA1 ); + + mjiobuf0085 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); + + specify + (PADDO => RBA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_0_ ( input PADDO, output RBA0 ); + + mjiobuf0085 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); + + specify + (PADDO => RBA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module LED ( input PADDO, output LED ); + + mjiobuf0086 LED_pad( .I(PADDO), .PAD(LED)); + + specify + (PADDO => LED) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0086 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module nFWE ( output PADDI, input nFWE ); + + mjiobuf0084 nFWE_pad( .Z(PADDI), .PAD(nFWE)); + + specify + (nFWE => PADDI) = (0:0:0,0:0:0); + $width (posedge nFWE, 0:0:0); + $width (negedge nFWE, 0:0:0); + endspecify + +endmodule + +module nCRAS ( output PADDI, input nCRAS ); + + mjiobuf0087 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); + + specify + (nCRAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCRAS, 0:0:0); + $width (negedge nCRAS, 0:0:0); + endspecify + +endmodule + +module mjiobuf0087 ( output Z, input PAD ); + + IBPU INST1( .I(PAD), .O(Z)); +endmodule + +module nCCAS ( output PADDI, input nCCAS ); + + mjiobuf0087 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); + + specify + (nCCAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCCAS, 0:0:0); + $width (negedge nCCAS, 0:0:0); + endspecify + +endmodule + +module Dout_7_ ( input PADDO, output Dout7 ); + + mjiobuf0082 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); + + specify + (PADDO => Dout7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_6_ ( input PADDO, output Dout6 ); + + mjiobuf0082 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); + + specify + (PADDO => Dout6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_5_ ( input PADDO, output Dout5 ); + + mjiobuf0082 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); + + specify + (PADDO => Dout5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_4_ ( input PADDO, output Dout4 ); + + mjiobuf0082 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); + + specify + (PADDO => Dout4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_3_ ( input PADDO, output Dout3 ); + + mjiobuf0082 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); + + specify + (PADDO => Dout3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_2_ ( input PADDO, output Dout2 ); + + mjiobuf0082 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); + + specify + (PADDO => Dout2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_1_ ( input PADDO, output Dout1 ); + + mjiobuf0082 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); + + specify + (PADDO => Dout1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Din_7_ ( output PADDI, input Din7 ); + + mjiobuf0084 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); + + specify + (Din7 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din7, 0:0:0); + $width (negedge Din7, 0:0:0); + endspecify + +endmodule + +module Din_6_ ( output PADDI, input Din6 ); + + mjiobuf0084 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); + + specify + (Din6 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din6, 0:0:0); + $width (negedge Din6, 0:0:0); + endspecify + +endmodule + +module Din_5_ ( output PADDI, input Din5 ); + + mjiobuf0084 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); + + specify + (Din5 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din5, 0:0:0); + $width (negedge Din5, 0:0:0); + endspecify + +endmodule + +module Din_4_ ( output PADDI, input Din4 ); + + mjiobuf0084 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); + + specify + (Din4 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din4, 0:0:0); + $width (negedge Din4, 0:0:0); + endspecify + +endmodule + +module Din_3_ ( output PADDI, input Din3 ); + + mjiobuf0084 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); + + specify + (Din3 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din3, 0:0:0); + $width (negedge Din3, 0:0:0); + endspecify + +endmodule + +module Din_2_ ( output PADDI, input Din2 ); + + mjiobuf0084 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); + + specify + (Din2 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din2, 0:0:0); + $width (negedge Din2, 0:0:0); + endspecify + +endmodule + +module Din_1_ ( output PADDI, input Din1 ); + + mjiobuf0084 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); + + specify + (Din1 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din1, 0:0:0); + $width (negedge Din1, 0:0:0); + endspecify + +endmodule + +module Din_0_ ( output PADDI, input Din0 ); + + mjiobuf0084 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); + + specify + (Din0 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din0, 0:0:0); + $width (negedge Din0, 0:0:0); + endspecify + +endmodule + +module CROW_1_ ( output PADDI, input CROW1 ); + + mjiobuf0084 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); + + specify + (CROW1 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW1, 0:0:0); + $width (negedge CROW1, 0:0:0); + endspecify + +endmodule + +module CROW_0_ ( output PADDI, input CROW0 ); + + mjiobuf0084 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); + + specify + (CROW0 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW0, 0:0:0); + $width (negedge CROW0, 0:0:0); + endspecify + +endmodule + +module MAin_9_ ( output PADDI, input MAin9 ); + + mjiobuf0084 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); + + specify + (MAin9 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin9, 0:0:0); + $width (negedge MAin9, 0:0:0); + endspecify + +endmodule + +module MAin_8_ ( output PADDI, input MAin8 ); + + mjiobuf0084 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); + + specify + (MAin8 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin8, 0:0:0); + $width (negedge MAin8, 0:0:0); + endspecify + +endmodule + +module MAin_7_ ( output PADDI, input MAin7 ); + + mjiobuf0084 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); + + specify + (MAin7 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin7, 0:0:0); + $width (negedge MAin7, 0:0:0); + endspecify + +endmodule + +module MAin_6_ ( output PADDI, input MAin6 ); + + mjiobuf0084 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); + + specify + (MAin6 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin6, 0:0:0); + $width (negedge MAin6, 0:0:0); + endspecify + +endmodule + +module MAin_5_ ( output PADDI, input MAin5 ); + + mjiobuf0084 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); + + specify + (MAin5 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin5, 0:0:0); + $width (negedge MAin5, 0:0:0); + endspecify + +endmodule + +module MAin_4_ ( output PADDI, input MAin4 ); + + mjiobuf0084 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); + + specify + (MAin4 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin4, 0:0:0); + $width (negedge MAin4, 0:0:0); + endspecify + +endmodule + +module MAin_3_ ( output PADDI, input MAin3 ); + + mjiobuf0084 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); + + specify + (MAin3 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin3, 0:0:0); + $width (negedge MAin3, 0:0:0); + endspecify + +endmodule + +module MAin_2_ ( output PADDI, input MAin2 ); + + mjiobuf0084 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); + + specify + (MAin2 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin2, 0:0:0); + $width (negedge MAin2, 0:0:0); + endspecify + +endmodule + +module MAin_1_ ( output PADDI, input MAin1 ); + + mjiobuf0084 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); + + specify + (MAin1 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin1, 0:0:0); + $width (negedge MAin1, 0:0:0); + endspecify + +endmodule + +module MAin_0_ ( output PADDI, input MAin0 ); + + mjiobuf0084 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); + + specify + (MAin0 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin0, 0:0:0); + $width (negedge MAin0, 0:0:0); + endspecify + +endmodule diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mrp.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mrp.html index 90f3ed2..63745f3 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mrp.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_mrp.html @@ -15,17 +15,15 @@ Command line: map -a MachXO -p LCMXO256C -t TQFP100 -s 3 -oc Commercial -ioreg b RAM2GS_LCMXO256C_impl1.ngd -o RAM2GS_LCMXO256C_impl1_map.ncd -pr - RAM2GS_LCMXO256C_impl1.prf -mp RAM2GS_LCMXO256C_impl1.mrp -lpf D:/OneDrive/ - Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplif - y.lpf -lpf - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf -c - 0 -gui -msgset - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml + RAM2GS_LCMXO256C_impl1.prf -mp RAM2GS_LCMXO256C_impl1.mrp -lpf + Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf + -lpf Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO.lpf -c 0 -gui -msgset + Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml Target Vendor: LATTICE Target Device: LCMXO256CTQFP100 Target Performance: 3 Mapper: mj5g00, version: Diamond (64-bit) 3.12.1.454 -Mapped on: 08/16/23 04:50:39 +Mapped on: 08/19/23 20:53:19 Design Summary @@ -67,9 +65,9 @@ Mapped on: 08/16/23 04:50:39 Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs Net RASr2: 2 loads, 2 LSLICEs Net Ready_fast: 7 loads, 7 LSLICEs - Number of nets driven by tri-state buffers: 0 Top 10 highest fanout non-clock nets: + Net InitReady: 16 loads Net Ready: 16 loads Net S[1]: 13 loads @@ -127,9 +125,9 @@ Mapped on: 08/16/23 04:50:39 +---------------------+-----------+-----------+------------+------------+ | nRWE | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ - | RCKE | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ + | RCLK | INPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ | nRCS | OUTPUT | LVCMOS33 | | | @@ -184,9 +182,9 @@ Mapped on: 08/16/23 04:50:39 +---------------------+-----------+-----------+------------+------------+ | nCCAS | INPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ - | Dout[7] | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ + | Dout[6] | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ | Dout[5] | OUTPUT | LVCMOS33 | | | @@ -244,6 +242,8 @@ Mapped on: 08/16/23 04:50:39 + + Removed logic Block GSR_INST undriven or does not drive anything - clipped. @@ -285,7 +285,7 @@ Block VCC was optimized away. Total CPU Time: 0 secs Total REAL Time: 0 secs - Peak Memory Usage: 29 MB + Peak Memory Usage: 50 MB diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_ngd.asd b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_ngd.asd index c265c78..8440a7e 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_ngd.asd +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_ngd.asd @@ -1 +1 @@ -[ActiveSupport NGD] +[ActiveSupport NGD] diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_pad.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_pad.html index b7ff036..79408b2 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_pad.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_pad.html @@ -14,7 +14,7 @@ Performance Grade: 3 PACKAGE: TQFP100 Package Status: Final Version 1.19 -Wed Aug 16 04:50:47 2023 +Sat Aug 19 20:53:29 2023 Pinout by Port Name: +-----------+----------+---------------+------+----------------------------------+ @@ -276,7 +276,7 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:47 2023 +Sat Aug 19 20:53:29 2023 diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_par.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_par.html index ccd443c..c0c129b 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_par.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_par.html @@ -12,12 +12,12 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:41 2023 +Sat Aug 19 20:53:22 2023 C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO256C_impl1.p2t RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir RAM2GS_LCMXO256C_impl1.prf -gui -msgset -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml +Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml Preference file: RAM2GS_LCMXO256C_impl1.prf. @@ -26,22 +26,22 @@ Preference file: RAM2GS_LCMXO256C_impl1.prf. Level/ Number Worst Timing Worst Timing Run NCD Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ---------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 8.213 0 0.273 0 06 Completed +5_1 * 0 8.213 0 0.273 0 08 Completed * : Design saved. -Total (real) run time for 1-seed: 6 secs +Total (real) run time for 1-seed: 8 secs par done! Note: user must run 'Trace' for timing closure signoff. Lattice Place and Route Report for Design "RAM2GS_LCMXO256C_impl1_map.ncd" -Wed Aug 16 04:50:41 2023 +Sat Aug 19 20:53:22 2023 Best Par Run PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir/5_1.ncd RAM2GS_LCMXO256C_impl1.prf +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir/5_1.ncd RAM2GS_LCMXO256C_impl1.prf Preference file: RAM2GS_LCMXO256C_impl1.prf. Placement level-cost: 5-1. Routing Iterations: 6 @@ -90,12 +90,12 @@ Finished Placer Phase 0. REAL time: 0 secs Starting Placer Phase 1. ................. Placer score = 582801. -Finished Placer Phase 1. REAL time: 6 secs +Finished Placer Phase 1. REAL time: 7 secs Starting Placer Phase 2. . Placer score = 582334 -Finished Placer Phase 2. REAL time: 6 secs +Finished Placer Phase 2. REAL time: 7 secs @@ -130,7 +130,7 @@ I/O Bank Usage Summary: | 1 | 31 / 37 ( 83%) | 3.3V | - | - | +----------+----------------+------------+------------+------------+ -Total placer CPU time: 5 secs +Total placer CPU time: 7 secs Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. @@ -142,9 +142,9 @@ WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. Signal=nCCAS_c loads=8 clock_loads=4 -Completed router resource preassignment. Real time: 6 secs +Completed router resource preassignment. Real time: 8 secs -Start NBR router at 04:50:47 08/16/23 +Start NBR router at 20:53:30 08/19/23 ***************************************************************** Info: NBR allows conflicts(one node used by more than one signal) @@ -159,41 +159,41 @@ Note: NBR uses a different method to calculate timing slacks. The your design. ***************************************************************** -Start NBR special constraint process at 04:50:47 08/16/23 +Start NBR special constraint process at 20:53:30 08/19/23 -Start NBR section for initial routing at 04:50:47 08/16/23 +Start NBR section for initial routing at 20:53:30 08/19/23 Level 1, iteration 1 0(0.00%) conflict; 545(86.10%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.344ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.344ns/0.000ns; real time: 8 secs Level 2, iteration 1 0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.344ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.344ns/0.000ns; real time: 8 secs Level 3, iteration 1 0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.405ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.405ns/0.000ns; real time: 8 secs Level 4, iteration 1 10(0.08%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 8 secs Info: Initial congestion level at 75% usage is 0 Info: Initial congestion area at 75% usage is 0 (0.00%) -Start NBR section for normal routing at 04:50:47 08/16/23 +Start NBR section for normal routing at 20:53:30 08/19/23 Level 4, iteration 1 5(0.04%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 8 secs Level 4, iteration 2 0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 8 secs -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:47 08/16/23 +Start NBR section for setup/hold timing optimization with effort level 3 at 20:53:30 08/19/23 -Start NBR section for re-routing at 04:50:47 08/16/23 +Start NBR section for re-routing at 20:53:30 08/19/23 Level 4, iteration 1 0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 6 secs +Estimated worst slack/total negative slack<setup>: 8.213ns/0.000ns; real time: 8 secs -Start NBR section for post-routing at 04:50:47 08/16/23 +Start NBR section for post-routing at 20:53:30 08/19/23 End NBR router with 0 unrouted connection @@ -211,8 +211,8 @@ Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. Signal=nCCAS_c loads=8 clock_loads=4 -Total CPU time 5 secs -Total REAL time: 6 secs +Total CPU time 8 secs +Total REAL time: 8 secs Completely routed. End of route. 633 routed (100.00%); 0 unrouted. @@ -234,8 +234,8 @@ PAR_SUMMARY::Worst slack<hold /<ns>> = 0.273 PAR_SUMMARY::Timing score<hold /<ns>> = 0.000 PAR_SUMMARY::Number of errors = 0 -Total CPU time to completion: 5 secs -Total REAL time to completion: 6 secs +Total CPU time to completion: 8 secs +Total REAL time to completion: 8 secs par done! diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_scck.rpt b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_scck.rpt index 1ea018d..7cd5bf3 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_scck.rpt +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_scck.rpt @@ -1,59 +1,59 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 - -# Written on Wed Aug 16 04:50:33 2023 - -##### FILES SYNTAX CHECKED ############################################## -Constraint File(s): "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc" - -#Run constraint checker to find more issues with constraints. -######################################################################### - - - -No issues found in constraint syntax. - - - -Clock Summary -************* - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - -Clock Load Summary -****************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 + +# Written on Sat Aug 19 20:53:13 2023 + +##### FILES SYNTAX CHECKED ############################################## +Constraint File(s): "Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc" + +#Run constraint checker to find more issues with constraints. +######################################################################### + + + +No issues found in constraint syntax. + + + +Clock Summary +************* + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + +Clock Load Summary +****************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_summary.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_summary.html index cb134d2..6269b4a 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_summary.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_summary.html @@ -24,7 +24,7 @@ Last Process: -VHDL Simulation File +IBIS Model State: Passed @@ -48,7 +48,7 @@ Logic preference file: -RAM2GS_LCMXO256C.lpf +RAM2GS-LCMXO.lpf Physical Preference file: @@ -62,15 +62,15 @@ Updated: -2023/08/16 05:03:18 +2023/08/20 05:55:46 Implementation Location: -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1 +Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1 Project File: -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf +Y:/Repos/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf
    diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.html index 682b70c..860c5d7 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.html @@ -10,9 +10,9 @@ #Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 #install: C:\lscc\diamond\3.12\synpbase #OS: Windows 8 6.2 -#Hostname: ZANEPC +#Hostname: ZANEMACWIN11 -# Wed Aug 16 04:50:31 2023 +# Sat Aug 19 20:53:10 2023 #Implementation: impl1 @@ -27,7 +27,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -45,7 +45,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -57,29 +57,27 @@ Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 202 @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - +Options changed - recompiling Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) For a summary of runtime and memory usage per design unit, please see file: ========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:31 2023 +# Sat Aug 19 20:53:11 2023 ###########################################################] ###########################################################[ @@ -94,34 +92,34 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @N|Running in 64-bit mode -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:31 2023 +# Sat Aug 19 20:53:11 2023 ###########################################################] For a summary of runtime and memory usage for all design units, please see file: ========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv @END -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:31 2023 +# Sat Aug 19 20:53:11 2023 ###########################################################] ###########################################################[ @@ -136,7 +134,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -144,15 +142,17 @@ Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug @N|Running in 64-bit mode File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:32 2023 +# Sat Aug 19 20:53:12 2023 ###########################################################] -# Wed Aug 16 04:50:33 2023 +Premap Report + +# Sat Aug 19 20:53:12 2023 Copyright (C) 1994-2021 Synopsys, Inc. @@ -165,34 +165,34 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 140MB) -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" @N: MF916 |Option synthesis_strategy=base is enabled. @N: MF248 |Running in 64-bit mode. @N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) @N: FX493 |Applying initial value "0" on instance InitReady. @W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. @@ -218,20 +218,20 @@ Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h @N: FX493 |Applying initial value "0" on instance CmdEnable. @N: FX493 |Applying initial value "1" on instance nRWE. -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) @N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) @@ -298,23 +298,25 @@ Clock Tree ID Driving Element Drive Element Type Fanout Sample I @N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. Finished Pre Mapping Phase. -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) Pre-mapping successful! -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:34 2023 +# Sat Aug 19 20:53:14 2023 ###########################################################] -# Wed Aug 16 04:50:35 2023 +Map & Optimize Report + +# Sat Aug 19 20:53:14 2023 Copyright (C) 1994-2021 Synopsys, Inc. @@ -327,70 +329,70 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) @N: MF916 |Option synthesis_strategy=base is enabled. @N: MF248 |Running in 64-bit mode. @N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] @N: FX493 |Applying initial value "0" on instance IS[0]. @W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. @N: FX493 |Applying initial value "0" on instance IS[1]. @N: FX493 |Applying initial value "0" on instance IS[2]. @N: FX493 |Applying initial value "0" on instance IS[3]. -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 173MB peak: 173MB) +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) Available hyper_sources - for debug and ip models None Found -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------ @@ -400,9 +402,9 @@ Pass CPU time Worst Slack Luts / Registers 4 0h:00m:01s -3.23ns 123 / 89 5 0h:00m:01s -3.23ns 124 / 89 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. Timing driven replication report Added 3 Registers via timing driven replication Added 1 LUTs via timing driven replication @@ -416,29 +418,29 @@ Added 1 LUTs via timing driven replication 11 0h:00m:01s -3.19ns 127 / 92 12 0h:00m:01s -3.19ns 127 / 92 -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 190MB) -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 142MB peak: 179MB) +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 179MB peak: 179MB) +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB) Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi @N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 184MB) +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 185MB) +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) @N: MT615 |Found clock RCLK with period 16.00ns @N: MT615 |Found clock PHI2 with period 350.00ns @@ -447,7 +449,7 @@ Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:0 ##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:38 2023 +# Timing report written on Sat Aug 19 20:53:17 2023 # @@ -455,7 +457,7 @@ Top view: RAM2GS Requested Frequency: 2.9 MHz Wire load mode: top Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc @N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. @@ -934,10 +936,10 @@ nRCAS FD1S3AY D In 0.000 3.510 f - Timing exceptions that could not be applied -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) --------------------------------------- Resource Usage Report @@ -967,10 +969,10 @@ VHI: 1 VLO: 1 Mapper successful! -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 80MB peak: 196MB) Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 04:50:38 2023 +# Sat Aug 19 20:53:17 2023 ###########################################################] diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf index 2b0f89b..ca24d6c 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf @@ -1,24 +1,24 @@ -# -# Logical Preferences generated for Lattice by Synplify map202103lat, Build 070R. -# - -# Period Constraints -FREQUENCY PORT "PHI2" 2.9 MHz; -FREQUENCY PORT "nCCAS" 2.9 MHz; -FREQUENCY PORT "nCRAS" 2.9 MHz; -FREQUENCY PORT "RCLK" 62.5 MHz; - - -# Output Constraints - -# Input Constraints - -# Point-to-point Delay Constraints - - - -# Block Path Constraints - -BLOCK ASYNCPATHS; - -# End of generated Logical Preferences. +# +# Logical Preferences generated for Lattice by Synplify map202103lat, Build 070R. +# + +# Period Constraints +FREQUENCY PORT "PHI2" 2.9 MHz; +FREQUENCY PORT "nCCAS" 2.9 MHz; +FREQUENCY PORT "nCRAS" 2.9 MHz; +FREQUENCY PORT "RCLK" 62.5 MHz; + + +# Output Constraints + +# Input Constraints + +# Point-to-point Delay Constraints + + + +# Block Path Constraints + +BLOCK ASYNCPATHS; + +# End of generated Logical Preferences. diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.tcl b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.tcl index 6c51127..017d401 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.tcl +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.tcl @@ -1,65 +1,65 @@ -#-- Lattice Semiconductor Corporation Ltd. -#-- Synplify OEM project file - -#device options -set_option -technology MACHXO -set_option -part LCMXO256C -set_option -package T100C -set_option -speed_grade -3 - -#compilation/mapping options -set_option -symbolic_fsm_compiler true -set_option -resource_sharing true - -#use verilog 2001 standard option -set_option -vlog_std v2001 - -#map options -set_option -frequency 70 -set_option -maxfan 1000 -set_option -auto_constrain_io 0 -set_option -disable_io_insertion false -set_option -retiming false; set_option -pipe false -set_option -force_gsr auto -set_option -compiler_compatible 0 -set_option -dup false - -add_file -constraint {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc} -set_option -default_enum_encoding default - -#simulation options - - -#timing analysis options -set_option -num_critical_paths 3 - - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#synplifyPro options -set_option -fix_gated_and_generated_clocks 1 -set_option -update_models_cp 0 -set_option -resolve_multiple_driver 0 - - -set_option -seqshift_no_replicate 0 - -#-- add_file options -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C} -add_file -verilog -vlog_std v2001 {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v} - -#-- top module name -set_option -top_module RAM2GS - -#-- set result format/file last -project -result_file {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi} - -#-- error message log file -project -log_file {RAM2GS_LCMXO256C_impl1.srf} - -#-- set any command lines input by customer - - -#-- run Synplify with 'arrange HDL file' -project -run -clean +#-- Lattice Semiconductor Corporation Ltd. +#-- Synplify OEM project file + +#device options +set_option -technology MACHXO +set_option -part LCMXO256C +set_option -package T100C +set_option -speed_grade -3 + +#compilation/mapping options +set_option -symbolic_fsm_compiler true +set_option -resource_sharing true + +#use verilog 2001 standard option +set_option -vlog_std v2001 + +#map options +set_option -frequency 70 +set_option -maxfan 1000 +set_option -auto_constrain_io 0 +set_option -disable_io_insertion false +set_option -retiming false; set_option -pipe false +set_option -force_gsr auto +set_option -compiler_compatible 0 +set_option -dup false + +add_file -constraint {Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc} +set_option -default_enum_encoding default + +#simulation options + + +#timing analysis options +set_option -num_critical_paths 3 + + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#synplifyPro options +set_option -fix_gated_and_generated_clocks 1 +set_option -update_models_cp 0 +set_option -resolve_multiple_driver 0 + + +set_option -seqshift_no_replicate 0 + +#-- add_file options +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO256C} +add_file -verilog -vlog_std v2001 {Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v} + +#-- top module name +set_option -top_module RAM2GS + +#-- set result format/file last +project -result_file {Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi} + +#-- error message log file +project -log_file {RAM2GS_LCMXO256C_impl1.srf} + +#-- set any command lines input by customer + + +#-- run Synplify with 'arrange HDL file' +project -run -clean diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_tw1.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_tw1.html index ae0b1f0..664bb71 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_tw1.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_tw1.html @@ -22,7 +22,7 @@ Setup and Hold Report -------------------------------------------------------------------------------- Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:40 2023 +Sat Aug 19 20:53:20 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -32,7 +32,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO256C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.prf +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO256C_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.prf Design file: ram2gs_lcmxo256c_impl1_map.ncd Preference file: ram2gs_lcmxo256c_impl1.prf Device,speed: LCMXO256C,3 @@ -253,7 +253,7 @@ Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) -------------------------------------------------------------------------------- Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:40 2023 +Sat Aug 19 20:53:20 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -263,7 +263,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO256C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.prf +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO256C_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.prf Design file: ram2gs_lcmxo256c_impl1_map.ncd Preference file: ram2gs_lcmxo256c_impl1.prf Device,speed: LCMXO256C,M diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_twr.html b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_twr.html index 9e01f86..e3d51c1 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_twr.html +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_twr.html @@ -22,7 +22,7 @@ Setup and Hold Report -------------------------------------------------------------------------------- Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:48 2023 +Sat Aug 19 20:53:31 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -32,7 +32,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO256C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf +Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO256C_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf Design file: ram2gs_lcmxo256c_impl1.ncd Preference file: ram2gs_lcmxo256c_impl1.prf Device,speed: LCMXO256C,3 @@ -1223,7 +1223,7 @@ Constraints cover 517 paths, 4 nets, and 420 connections (66.35% coverage) -------------------------------------------------------------------------------- Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:48 2023 +Sat Aug 19 20:53:31 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -1233,7 +1233,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO256C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf +Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO256C_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf Design file: ram2gs_lcmxo256c_impl1.ncd Preference file: ram2gs_lcmxo256c_impl1.prf Device,speed: LCMXO256C,m diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.sdf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.sdf index f861f76..86eb853 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.sdf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.sdf @@ -1,2927 +1,2927 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:50 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1I) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20I) - (DELAY - (ABSOLUTE - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55I) - (DELAY - (ABSOLUTE - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1_SLICE_65I) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_B") - (INSTANCE RD_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_B") - (INSTANCE Dout_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2B") - (INSTANCE PHI2I) - (DELAY - (ABSOLUTE - (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2S) (1250:1250:1250)) - (WIDTH (negedge PHI2S) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDOB") - (INSTANCE UFMSDOI) - (DELAY - (ABSOLUTE - (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDOS) (1250:1250:1250)) - (WIDTH (negedge UFMSDOS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDIB") - (INSTANCE UFMSDII) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLKB") - (INSTANCE UFMCLKI) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCSB") - (INSTANCE nUFMCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMLB") - (INSTANCE RDQMLI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMHB") - (INSTANCE RDQMHI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCASB") - (INSTANCE nRCASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRASB") - (INSTANCE nRRASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWEB") - (INSTANCE nRWEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKEB") - (INSTANCE RCKEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLKB") - (INSTANCE RCLKI) - (DELAY - (ABSOLUTE - (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLKS) (1250:1250:1250)) - (WIDTH (negedge RCLKS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCSB") - (INSTANCE nRCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_B") - (INSTANCE RD_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_B") - (INSTANCE RD_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_B") - (INSTANCE RD_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_B") - (INSTANCE RD_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_B") - (INSTANCE RD_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_B") - (INSTANCE RD_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_B") - (INSTANCE RD_1_I0) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_B") - (INSTANCE RA_11_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_B") - (INSTANCE RA_10_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_B") - (INSTANCE RA_9_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_B") - (INSTANCE RA_8_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_B") - (INSTANCE RA_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_B") - (INSTANCE RA_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_B") - (INSTANCE RA_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_B") - (INSTANCE RA_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_B") - (INSTANCE RA_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_B") - (INSTANCE RA_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_B") - (INSTANCE RA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_B") - (INSTANCE RA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_B") - (INSTANCE RBA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_B") - (INSTANCE RBA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LEDB") - (INSTANCE LEDI) - (DELAY - (ABSOLUTE - (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWEB") - (INSTANCE nFWEI) - (DELAY - (ABSOLUTE - (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWES) (1250:1250:1250)) - (WIDTH (negedge nFWES) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRASB") - (INSTANCE nCRASI) - (DELAY - (ABSOLUTE - (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRASS) (1250:1250:1250)) - (WIDTH (negedge nCRASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCASB") - (INSTANCE nCCASI) - (DELAY - (ABSOLUTE - (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCASS) (1250:1250:1250)) - (WIDTH (negedge nCCASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_B") - (INSTANCE Dout_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_B") - (INSTANCE Dout_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_B") - (INSTANCE Dout_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_B") - (INSTANCE Dout_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_B") - (INSTANCE Dout_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_B") - (INSTANCE Dout_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_B") - (INSTANCE Dout_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_B") - (INSTANCE Din_7_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_B") - (INSTANCE Din_6_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_B") - (INSTANCE Din_5_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_B") - (INSTANCE Din_4_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_B") - (INSTANCE Din_3_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_B") - (INSTANCE Din_2_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_B") - (INSTANCE Din_1_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_B") - (INSTANCE Din_0_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_B") - (INSTANCE CROW_1_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_B") - (INSTANCE CROW_0_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_B") - (INSTANCE MAin_9_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_B") - (INSTANCE MAin_8_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_B") - (INSTANCE MAin_7_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_B") - (INSTANCE MAin_6_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_B") - (INSTANCE MAin_5_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_B") - (INSTANCE MAin_4_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_B") - (INSTANCE MAin_3_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_B") - (INSTANCE MAin_2_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_B") - (INSTANCE MAin_1_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_B") - (INSTANCE MAin_0_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_0I/Q1 SLICE_72I/A0 (1232:1375:1519)(1232:1375:1519)) - (INTERCONNECT SLICE_0I/Q1 SLICE_84I/B0 (1203:1339:1475)(1203:1339:1475)) - (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_0I/Q0 SLICE_68I/B1 (903:1005:1108)(903:1005:1108)) - (INTERCONNECT SLICE_0I/Q0 SLICE_69I/D1 (588:652:716)(588:652:716)) - (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/A1 (1146:1276:1406)(1146:1276:1406)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/C0 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_1I/Q0 SLICE_66I/A0 (862:958:1054)(862:958:1054)) - (INTERCONNECT SLICE_1I/Q0 SLICE_72I/C1 (1151:1263:1376)(1151:1263:1376)) - (INTERCONNECT SLICE_1I/Q0 SLICE_74I/B0 (908:1011:1114)(908:1011:1114)) - (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B1 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B0 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_2I/Q0 SLICE_74I/A1 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_2I/Q0 SLICE_81I/C1 (1118:1249:1380)(1118:1249:1380)) - (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/D1 (956:1070:1185)(956:1070:1185)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/D0 (956:1070:1185)(956:1070:1185)) - (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (1663:1816:1970)(1663:1816:1970)) - (INTERCONNECT SLICE_3I/Q0 SLICE_81I/A0 (1260:1384:1509)(1260:1384:1509)) - (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_4I/Q1 SLICE_64I/D1 (1001:1094:1188)(1001:1094:1188)) - (INTERCONNECT SLICE_4I/Q1 SLICE_72I/B0 (1733:1895:2058)(1733:1895:2058)) - (INTERCONNECT SLICE_4I/Q1 SLICE_74I/B1 (1733:1895:2058)(1733:1895:2058)) - (INTERCONNECT SLICE_4I/Q1 SLICE_84I/B1 (1316:1448:1580)(1316:1448:1580)) - (INTERCONNECT SLICE_4I/Q1 SLICE_87I/B0 (1733:1895:2058)(1733:1895:2058)) - (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_4I/Q0 SLICE_64I/A1 (1245:1393:1541)(1245:1393:1541)) - (INTERCONNECT SLICE_4I/Q0 SLICE_74I/A0 (1648:1825:2002)(1648:1825:2002)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (1131:1266:1402)(1131:1266:1402)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C0 (1131:1266:1402)(1131:1266:1402)) - (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (1652:1794:1936)(1652:1794:1936)) - (INTERCONNECT SLICE_5I/Q1 SLICE_87I/C0 (750:837:924)(750:837:924)) - (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_5I/Q0 SLICE_58I/A1 (857:952:1048)(857:952:1048)) - (INTERCONNECT SLICE_5I/Q0 SLICE_84I/A1 (1663:1816:1970)(1663:1816:1970)) - (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_6I/Q1 SLICE_56I/B0 (1844:2015:2186)(1844:2015:2186)) - (INTERCONNECT SLICE_6I/Q1 SLICE_84I/D0 (599:662:725)(599:662:725)) - (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/D1 (595:663:731)(595:663:731)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A0 (864:963:1063)(864:963:1063)) - (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_7I/Q1 SLICE_56I/D0 (1497:1620:1743)(1497:1620:1743)) - (INTERCONNECT SLICE_7I/Q1 SLICE_68I/D1 (603:667:731)(603:667:731)) - (INTERCONNECT SLICE_7I/Q1 SLICE_69I/B1 (918:1020:1123)(918:1020:1123)) - (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_7I/Q0 SLICE_72I/D0 (1002:1094:1186)(1002:1094:1186)) - (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (1232:1375:1519)(1232:1375:1519)) - (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8I/Q1 SLICE_68I/A1 (1675:1841:2008)(1675:1841:2008)) - (INTERCONNECT SLICE_8I/Q1 SLICE_69I/C1 (1561:1715:1869)(1561:1715:1869)) - (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8I/Q0 SLICE_68I/C1 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_8I/Q0 SLICE_69I/A1 (857:952:1048)(857:952:1048)) - (INTERCONNECT SLICE_78I/F0 SLICE_9I/D1 (568:631:694)(568:631:694)) - (INTERCONNECT SLICE_85I/F1 SLICE_9I/C1 (1087:1218:1349)(1087:1218:1349)) - (INTERCONNECT MAin_0_I/PADDI SLICE_9I/B1 (1843:2032:2222)(1843:2032:2222)) - (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (1203:1325:1448)(1203:1325:1448)) - (INTERCONNECT MAin_0_I/PADDI SLICE_67I/C0 (1683:1853:2023)(1683:1853:2023)) - (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (1528:1679:1830)(1528:1679:1830)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/D1 (2744:2982:3221)(2744:2982:3221)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/D0 (2744:2982:3221)(2744:2982:3221)) - (INTERCONNECT SLICE_70I/F1 SLICE_9I/A1 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/A1 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/A0 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70I/F1 SLICE_67I/A0 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70I/F1 SLICE_70I/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_70I/F1 SLICE_90I/B1 (1317:1447:1578)(1317:1447:1578)) - (INTERCONNECT SLICE_9I/Q0 SLICE_9I/D0 (517:575:634)(517:575:634)) - (INTERCONNECT SLICE_9I/Q0 SLICE_20I/B1 (832:929:1026)(832:929:1026)) - (INTERCONNECT SLICE_9I/F1 SLICE_9I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_9I/F1 SLICE_20I/D0 (261:290:320)(261:290:320)) - (INTERCONNECT SLICE_14I/F1 SLICE_9I/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_14I/F1 SLICE_14I/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (559:618:678)(559:618:678)) - (INTERCONNECT SLICE_70I/F0 SLICE_9I/A0 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (2182:2416:2650)(2182:2416:2650)) - (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT SLICE_77I/F0 SLICE_14I/D1 (564:632:700)(564:632:700)) - (INTERCONNECT SLICE_76I/F0 SLICE_14I/C1 (1530:1676:1822)(1530:1676:1822)) - (INTERCONNECT MAin_1_I/PADDI SLICE_14I/D0 (1225:1351:1478)(1225:1351:1478)) - (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (1525:1685:1846)(1525:1685:1846)) - (INTERCONNECT MAin_1_I/PADDI SLICE_67I/B0 (1540:1705:1870)(1540:1705:1870)) - (INTERCONNECT MAin_1_I/PADDI SLICE_70I/A0 (1879:2062:2246)(1879:2062:2246)) - (INTERCONNECT MAin_1_I/PADDI SLICE_77I/C0 (1373:1516:1660)(1373:1516:1660)) - (INTERCONNECT MAin_1_I/PADDI SLICE_78I/D0 (1225:1351:1478)(1225:1351:1478)) - (INTERCONNECT MAin_1_I/PADDI SLICE_90I/C1 (1784:1959:2134)(1784:1959:2134)) - (INTERCONNECT MAin_1_I/PADDI SLICE_91I/B0 (1541:1706:1872)(1541:1706:1872)) - (INTERCONNECT SLICE_14I/Q0 SLICE_14I/B0 (832:929:1026)(832:929:1026)) - (INTERCONNECT SLICE_14I/Q0 SLICE_20I/B0 (832:929:1026)(832:929:1026)) - (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/D1 (956:1070:1185)(956:1070:1185)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (2110:2331:2552)(2110:2331:2552)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/C1 (2657:2925:3193)(2657:2925:3193)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/A0 (2482:2728:2974)(2482:2728:2974)) - (INTERCONNECT SLICE_51I/Q1 SLICE_43I/C1 (2365:2598:2832)(2365:2598:2832)) - (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (2110:2331:2552)(2110:2331:2552)) - (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (2620:2864:3109)(2620:2864:3109)) - (INTERCONNECT SLICE_51I/Q1 SLICE_61I/A1 (2054:2267:2480)(2054:2267:2480)) - (INTERCONNECT SLICE_51I/Q1 SLICE_62I/D1 (1793:1977:2161)(1793:1977:2161)) - (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (2210:2424:2639) - (2210:2424:2639)) - (INTERCONNECT SLICE_51I/Q1 SLICE_73I/B1 (895:1001:1108)(895:1001:1108)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C1 (763:846:930)(763:846:930)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C0 (763:846:930)(763:846:930)) - (INTERCONNECT SLICE_50I/Q0 SLICE_41I/C1 (1581:1730:1879)(1581:1730:1879)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (1769:1942:2115)(1769:1942:2115)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C1 (2019:2202:2385)(2019:2202:2385)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C0 (2019:2202:2385)(2019:2202:2385)) - (INTERCONNECT SLICE_50I/Q0 SLICE_63I/D0 (1454:1588:1723)(1454:1588:1723)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/C1 (757:844:932)(757:844:932)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/C0 (757:844:932)(757:844:932)) - (INTERCONNECT SLICE_50I/Q0 SLICE_73I/C1 (2026:2210:2394)(2026:2210:2394)) - (INTERCONNECT SLICE_50I/Q0 SLICE_79I/C0 (2026:2210:2394)(2026:2210:2394)) - (INTERCONNECT SLICE_50I/Q0 SLICE_94I/C0 (2026:2210:2394)(2026:2210:2394)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/B1 (878:975:1072)(878:975:1072)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_19I/Q0 SLICE_41I/B1 (938:1041:1144)(938:1041:1144)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C0 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_19I/Q0 SLICE_60I/C1 (1181:1293:1406)(1181:1293:1406)) - (INTERCONNECT SLICE_19I/Q0 SLICE_63I/A0 (892:988:1084)(892:988:1084)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (1362:1496:1631) - (1362:1496:1631)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (1362:1496:1631) - (1362:1496:1631)) - (INTERCONNECT SLICE_19I/Q0 SLICE_73I/A1 (1316:1443:1571)(1316:1443:1571)) - (INTERCONNECT SLICE_19I/Q0 SLICE_79I/D0 (1047:1143:1239)(1047:1143:1239)) - (INTERCONNECT SLICE_19I/Q0 SLICE_80I/C0 (718:795:873)(718:795:873)) - (INTERCONNECT SLICE_31I/Q0 SLICE_19I/A1 (1286:1409:1533)(1286:1409:1533)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A1 (825:914:1004)(825:914:1004)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_31I/Q0 SLICE_83I/B1 (1424:1556:1689)(1424:1556:1689)) - (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F1 SLICE_43I/A0 (849:948:1048)(849:948:1048)) - (INTERCONNECT SLICE_19I/F1 SLICE_44I/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A1 (810:899:989)(810:899:989)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_20I/Q0 SLICE_67I/D0 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_90I/F1 SLICE_20I/C0 (1218:1331:1444)(1218:1331:1444)) - (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_21I/D1 (321:350:380)(321:350:380)) - (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (640:708:776)(640:708:776)) - (INTERCONNECT SLICE_75I/F1 SLICE_67I/D1 (1047:1139:1231)(1047:1139:1231)) - (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (476:524:573)(476:524:573)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/C1 (476:524:573)(476:524:573)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (901:997:1094)(901:997:1094)) - (INTERCONNECT Din_5_I/PADDI SLICE_21I/B1 (1546:1711:1877)(1546:1711:1877)) - (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (2468:2685:2903)(2468:2685:2903)) - (INTERCONNECT Din_5_I/PADDI SLICE_67I/B1 (1949:2143:2338)(1949:2143:2338)) - (INTERCONNECT Din_5_I/PADDI SLICE_75I/B0 (2795:3059:3324)(2795:3059:3324)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/B1 (2795:3059:3324)(2795:3059:3324)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (1962:2156:2351)(1962:2156:2351)) - (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (2795:3059:3324)(2795:3059:3324)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/A1 (1500:1658:1817)(1500:1658:1817)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/A0 (1500:1658:1817)(1500:1658:1817)) - (INTERCONNECT Din_5_I/PADDI SLICE_85I/D0 (1944:2137:2330)(1944:2137:2330)) - (INTERCONNECT Din_3_I/PADDI SLICE_21I/A1 (1398:1552:1707)(1398:1552:1707)) - (INTERCONNECT Din_3_I/PADDI SLICE_57I/A1 (988:1113:1238)(988:1113:1238)) - (INTERCONNECT Din_3_I/PADDI SLICE_67I/C1 (1556:1731:1906)(1556:1731:1906)) - (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (712:804:897)(712:804:897)) - (INTERCONNECT Din_3_I/PADDI SLICE_76I/A0 (988:1113:1238)(988:1113:1238)) - (INTERCONNECT Din_3_I/PADDI SLICE_78I/D1 (709:801:894)(709:801:894)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/D1 (1418:1575:1733)(1418:1575:1733)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/C0 (1277:1418:1560)(1277:1418:1560)) - (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (712:804:897)(712:804:897)) - (INTERCONNECT SLICE_75I/F0 SLICE_21I/D0 (245:274:304)(245:274:304)) - (INTERCONNECT SLICE_21I/F1 SLICE_21I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_21I/F1 SLICE_26I/A0 (853:947:1042)(853:947:1042)) - (INTERCONNECT SLICE_82I/F1 SLICE_21I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_33I/Q0 SLICE_21I/A0 (1514:1694:1875)(1514:1694:1875)) - (INTERCONNECT SLICE_33I/Q0 SLICE_33I/C1 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (1674:1856:2038)(1674:1856:2038)) - (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (1285:1433:1581)(1285:1433:1581)) - (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (921:1020:1119)(921:1020:1119)) - (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (1696:1875:2055)(1696:1875:2055)) - (INTERCONNECT SLICE_67I/F0 SLICE_67I/A1 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_67I/F0 SLICE_82I/D0 (986:1100:1215)(986:1100:1215)) - (INTERCONNECT SLICE_21I/Q0 SLICE_33I/A0 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_21I/Q0 SLICE_82I/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (1682:1846:2010)(1682:1846:2010)) - (INTERCONNECT SLICE_32I/Q0 SLICE_22I/C1 (1201:1313:1426)(1201:1313:1426)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A1 (854:945:1036)(854:945:1036)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A0 (575:636:697)(575:636:697)) - (INTERCONNECT SLICE_32I/Q0 SLICE_33I/C0 (1611:1753:1895)(1611:1753:1895)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D1 (1477:1603:1729)(1477:1603:1729)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D0 (1477:1603:1729)(1477:1603:1729)) - (INTERCONNECT SLICE_32I/Q0 SLICE_44I/C1 (2035:2209:2383)(2035:2209:2383)) - (INTERCONNECT SLICE_32I/Q0 SLICE_51I/B1 (1769:1941:2114)(1769:1941:2114)) - (INTERCONNECT SLICE_32I/Q0 SLICE_52I/B1 (1771:1932:2094)(1771:1932:2094)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/C1 (740:818:897)(740:818:897)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/C0 (740:818:897)(740:818:897)) - (INTERCONNECT SLICE_32I/Q0 SLICE_64I/C1 (784:866:948)(784:866:948)) - (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/A0 (1746:1903:2061) - (1746:1903:2061)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B1 (1777:1952:2127)(1777:1952:2127)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B0 (1777:1952:2127)(1777:1952:2127)) - (INTERCONNECT SLICE_32I/Q0 SLICE_73I/D1 (1477:1603:1729)(1477:1603:1729)) - (INTERCONNECT SLICE_43I/Q1 SLICE_22I/B1 (1302:1432:1563)(1302:1432:1563)) - (INTERCONNECT SLICE_43I/Q1 SLICE_52I/C1 (1103:1234:1365)(1103:1234:1365)) - (INTERCONNECT SLICE_41I/Q1 SLICE_22I/A1 (1260:1384:1509)(1260:1384:1509)) - (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (544:603:663)(544:603:663)) - (INTERCONNECT SLICE_41I/Q1 SLICE_52I/D1 (991:1084:1177)(991:1084:1177)) - (INTERCONNECT SLICE_82I/F0 SLICE_22I/C0 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F1 SLICE_68I/C0 (1133:1244:1356)(1133:1244:1356)) - (INTERCONNECT SLICE_22I/F1 SLICE_69I/C0 (1133:1244:1356)(1133:1244:1356)) - (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_78I/F1 SLICE_78I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_26I/Q0 SLICE_58I/B0 (899:1000:1102)(899:1000:1102)) - (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_76I/F1 SLICE_76I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_58I/Q0 SLICE_26I/D0 (572:636:700)(572:636:700)) - (INTERCONNECT SLICE_58I/Q0 SLICE_39I/C0 (1936:2106:2276)(1936:2106:2276)) - (INTERCONNECT SLICE_26I/F1 SLICE_26I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F1 SLICE_29I/D1 (584:647:710)(584:647:710)) - (INTERCONNECT SLICE_61I/F1 SLICE_61I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/C1 (726:803:880)(726:803:880)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/D0 (571:629:687)(571:629:687)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D1 (643:708:773)(643:708:773)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D0 (643:708:773)(643:708:773)) - (INTERCONNECT SLICE_29I/Q0 SLICE_31I/C0 (798:882:966)(798:882:966)) - (INTERCONNECT SLICE_29I/Q0 SLICE_42I/D1 (1534:1657:1781)(1534:1657:1781)) - (INTERCONNECT SLICE_29I/Q0 SLICE_61I/D0 (932:1031:1131)(932:1031:1131)) - (INTERCONNECT SLICE_29I/Q0 SLICE_83I/B0 (2655:2875:3095)(2655:2875:3095)) - (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (1300:1448:1596)(1300:1448:1596)) - (INTERCONNECT SLICE_83I/F1 SLICE_29I/B1 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_83I/F1 SLICE_59I/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_83I/F1 SLICE_61I/A0 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/A1 (1297:1422:1547)(1297:1422:1547)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/A0 (1297:1422:1547)(1297:1422:1547)) - (INTERCONNECT SLICE_73I/F1 SLICE_59I/D1 (1109:1203:1297)(1109:1203:1297)) - (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (1062:1179:1297)(1062:1179:1297)) - (INTERCONNECT SLICE_73I/F1 SLICE_73I/C0 (446:494:543)(446:494:543)) - (INTERCONNECT SLICE_73I/F1 SLICE_94I/B1 (871:967:1064)(871:967:1064)) - (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (2198:2404:2610)(2198:2404:2610)) - (INTERCONNECT SLICE_43I/Q0 SLICE_41I/C0 (733:810:888)(733:810:888)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/B1 (886:982:1079)(886:982:1079)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/C0 (733:810:888)(733:810:888)) - (INTERCONNECT SLICE_43I/Q0 SLICE_44I/D1 (632:700:769)(632:700:769)) - (INTERCONNECT SLICE_43I/Q0 SLICE_50I/D1 (1490:1629:1769)(1490:1629:1769)) - (INTERCONNECT SLICE_43I/Q0 SLICE_59I/B1 (2511:2758:3006)(2511:2758:3006)) - (INTERCONNECT SLICE_43I/Q0 SLICE_61I/B1 (2087:2299:2511)(2087:2299:2511)) - (INTERCONNECT SLICE_43I/Q0 SLICE_62I/B1 (2087:2299:2511)(2087:2299:2511)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/B1 (1805:1983:2161)(1805:1983:2161)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/B0 (1805:1983:2161)(1805:1983:2161)) - (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (948:1049:1150)(948:1049:1150)) - (INTERCONNECT SLICE_43I/Q0 SLICE_73I/A0 (1199:1330:1461)(1199:1330:1461)) - (INTERCONNECT SLICE_43I/Q0 SLICE_79I/A1 (894:993:1093)(894:993:1093)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A1 (907:1003:1099)(907:1003:1099)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A0 (907:1003:1099)(907:1003:1099)) - (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B1 (885:983:1081)(885:983:1081)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B1 (885:983:1081)(885:983:1081)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B0 (885:983:1081)(885:983:1081)) - (INTERCONNECT SLICE_30I/Q0 SLICE_42I/A1 (1378:1503:1629)(1378:1503:1629)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/C1 (1179:1290:1402)(1179:1290:1402)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/C0 (1179:1290:1402)(1179:1290:1402)) - (INTERCONNECT SLICE_30I/Q1 SLICE_30I/A1 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D1 (563:621:680)(563:621:680)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D0 (563:621:680)(563:621:680)) - (INTERCONNECT SLICE_30I/Q1 SLICE_42I/B1 (1424:1556:1689)(1424:1556:1689)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/A1 (1293:1417:1541)(1293:1417:1541)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/A0 (1293:1417:1541)(1293:1417:1541)) - (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (947:1062:1178)(947:1062:1178)) - (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (947:1062:1178)(947:1062:1178)) - (INTERCONNECT SLICE_73I/F0 SLICE_31I/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (575:639:703)(575:639:703)) - (INTERCONNECT SLICE_56I/F0 SLICE_32I/D1 (1352:1480:1609)(1352:1480:1609)) - (INTERCONNECT SLICE_72I/F1 SLICE_32I/C1 (446:494:543)(446:494:543)) - (INTERCONNECT SLICE_72I/F1 SLICE_58I/D1 (291:320:350)(291:320:350)) - (INTERCONNECT SLICE_72I/F1 SLICE_64I/B1 (929:1030:1132)(929:1030:1132)) - (INTERCONNECT SLICE_72I/F1 SLICE_72I/C0 (446:494:543)(446:494:543)) - (INTERCONNECT SLICE_84I/F1 SLICE_32I/B1 (879:985:1092)(879:985:1092)) - (INTERCONNECT SLICE_74I/F0 SLICE_32I/B0 (883:984:1086)(883:984:1086)) - (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/F1 SLICE_87I/D1 (510:568:626)(510:568:626)) - (INTERCONNECT nCRASI/PADDI SLICE_33I/D1 (2857:3462:4068)(2857:3462:4068)) - (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (3532:4217:4903)(3532:4217:4903)) - (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_78I/Q0 SLICE_41I/D0 (1365:1507:1650)(1365:1507:1650)) - (INTERCONNECT SLICE_78I/Q0 SLICE_60I/A0 (1681:1846:2012)(1681:1846:2012)) - (INTERCONNECT SLICE_78I/Q0 SLICE_63I/A1 (1239:1386:1534)(1239:1386:1534)) - (INTERCONNECT SLICE_78I/Q0 SLICE_79I/A0 (1239:1386:1534)(1239:1386:1534)) - (INTERCONNECT UFMSDOI/PADDI SLICE_33I/D0 (702:793:885)(702:793:885)) - (INTERCONNECT UFMSDOI/PADDI SLICE_58I/D0 (1105:1225:1346)(1105:1225:1346)) - (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (939:1052:1165)(939:1052:1165)) - (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_85I/F0 SLICE_39I/D1 (1514:1646:1779)(1514:1646:1779)) - (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A1 (2147:2339:2531)(2147:2339:2531)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A0 (2147:2339:2531)(2147:2339:2531)) - (INTERCONNECT Din_6_I/PADDI SLICE_39I/D0 (2053:2245:2437)(2053:2245:2437)) - (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (3194:3483:3773)(3194:3483:3773)) - (INTERCONNECT Din_6_I/PADDI SLICE_75I/B1 (1519:1680:1842)(1519:1680:1842)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/D0 (2081:2276:2472)(2081:2276:2472)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (2388:2619:2851)(2388:2619:2851)) - (INTERCONNECT Din_6_I/PADDI SLICE_78I/B0 (2396:2630:2864)(2396:2630:2864)) - (INTERCONNECT Din_6_I/PADDI SLICE_85I/B0 (2799:3062:3325)(2799:3062:3325)) - (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (1313:1442:1571)(1313:1442:1571)) - (INTERCONNECT SLICE_44I/Q0 SLICE_44I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (1447:1581:1716)(1447:1581:1716)) - (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (1447:1581:1716)(1447:1581:1716)) - (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (1850:2013:2177)(1850:2013:2177)) - (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (559:618:678)(559:618:678)) - (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (1842:2003:2164)(1842:2003:2164)) - (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (1447:1581:1716)(1447:1581:1716)) - (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_39I/F1 SLICE_57I/A0 (1767:1931:2095)(1767:1931:2095)) - (INTERCONNECT SLICE_75I/Q1 SLICE_41I/D1 (960:1076:1193)(960:1076:1193)) - (INTERCONNECT SLICE_75I/Q1 SLICE_60I/B1 (1967:2185:2404)(1967:2185:2404)) - (INTERCONNECT SLICE_75I/Q1 SLICE_79I/B1 (1275:1430:1585)(1275:1430:1585)) - (INTERCONNECT SLICE_75I/Q1 SLICE_80I/D1 (1370:1516:1662)(1370:1516:1662)) - (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (1780:1956:2132)(1780:1956:2132)) - (INTERCONNECT SLICE_81I/Q1 SLICE_41I/A1 (2097:2301:2505)(2097:2301:2505)) - (INTERCONNECT SLICE_81I/Q1 SLICE_60I/D1 (2924:3195:3466)(2924:3195:3466)) - (INTERCONNECT SLICE_43I/F1 SLICE_41I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_41I/F1 SLICE_41I/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (1342:1484:1626)(1342:1484:1626)) - (INTERCONNECT SLICE_41I/Q0 SLICE_42I/D0 (1352:1480:1609)(1352:1480:1609)) - (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (1218:1331:1444)(1218:1331:1444)) - (INTERCONNECT SLICE_44I/Q1 SLICE_42I/B0 (1293:1424:1555)(1293:1424:1555)) - (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (2091:2277:2464)(2091:2277:2464)) - (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 SLICE_61I/C1 (1543:1684:1825)(1543:1684:1825)) - (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/A1 (2060:2242:2425) - (2060:2242:2425)) - (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (1978:2217:2456)(1978:2217:2456)) - (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/D0 (932:1044:1156)(932:1044:1156)) - (INTERCONNECT SLICE_50I/F0 SLICE_43I/A1 (1270:1395:1520)(1270:1395:1520)) - (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (16:16:16)(16:16:16)) - (INTERCONNECT SLICE_50I/F0 SLICE_61I/D1 (1001:1094:1188)(1001:1094:1188)) - (INTERCONNECT SLICE_50I/F0 SLICE_62I/C1 (1156:1268:1381)(1156:1268:1381)) - (INTERCONNECT SLICE_83I/F0 SLICE_43I/B0 (1255:1408:1561)(1255:1408:1561)) - (INTERCONNECT SLICE_83I/F0 SLICE_44I/A1 (1612:1787:1962)(1612:1787:1962)) - (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/F1 SLICE_44I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_73I/Q0 SLICE_51I/D1 (1375:1502:1629)(1375:1502:1629)) - (INTERCONNECT SLICE_72I/F0 SLICE_51I/C1 (1126:1237:1348)(1126:1237:1348)) - (INTERCONNECT SLICE_66I/F0 SLICE_51I/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_66I/F0 SLICE_66I/C1 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_51I/Q0 SLICE_51I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (1548:1774:2000)(1548:1774:2000)) - (INTERCONNECT SLICE_51I/F1 SLICE_51I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (1409:1541:1674)(1409:1541:1674)) - (INTERCONNECT SLICE_64I/F1 SLICE_52I/A0 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_52I/F1 SLICE_51I/A0 (1157:1286:1415)(1157:1286:1415)) - (INTERCONNECT SLICE_52I/F1 SLICE_52I/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_52I/F1 SLICE_64I/D0 (1002:1094:1186)(1002:1094:1186)) - (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (568:631:694)(568:631:694)) - (INTERCONNECT SLICE_52I/Q0 SLICE_52I/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_55I/D0 (1207:1330:1453)(1207:1330:1453)) - (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (1949:2146:2344)(1949:2146:2344)) - (INTERCONNECT MAin_4_I/PADDI SLICE_71I/B1 (1914:2103:2292)(1914:2103:2292)) - (INTERCONNECT SLICE_63I/Q0 SLICE_55I/B0 (1997:2204:2411)(1997:2204:2411)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/D1 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/D0 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D1 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D0 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63I/Q0 SLICE_90I/A0 (2415:2652:2889)(2415:2652:2889)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C1 (2426:2645:2865)(2426:2645:2865)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (2426:2645:2865)(2426:2645:2865)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C1 (1898:2093:2289)(1898:2093:2289)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C0 (1898:2093:2289)(1898:2093:2289)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/A1 (2415:2652:2889)(2415:2652:2889)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/B0 (2176:2385:2595)(2176:2385:2595)) - (INTERCONNECT SLICE_67I/Q0 SLICE_55I/A0 (1201:1344:1488)(1201:1344:1488)) - (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (2322:2541:2761)(2322:2541:2761)) - (INTERCONNECT Din_4_I/PADDI SLICE_75I/A1 (1473:1628:1784)(1473:1628:1784)) - (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (1635:1791:1948)(1635:1791:1948)) - (INTERCONNECT Din_4_I/PADDI SLICE_77I/D1 (1628:1783:1939)(1628:1783:1939)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/D1 (1628:1783:1939)(1628:1783:1939)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/C0 (2072:2281:2490)(2072:2281:2490)) - (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (2787:3031:3276)(2787:3031:3276)) - (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (2787:3031:3276)(2787:3031:3276)) - (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (2225:2440:2655)(2225:2440:2655)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (1818:2004:2190)(1818:2004:2190)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (1818:2004:2190)(1818:2004:2190)) - (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (2377:2592:2807)(2377:2592:2807)) - (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (1564:1720:1877)(1564:1720:1877)) - (INTERCONNECT nCCASI/PADDI SLICE_88I/A0 (1798:1981:2164)(1798:1981:2164)) - (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (2042:2305:2568)(2042:2305:2568)) - (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (2630:2955:3280)(2630:2955:3280)) - (INTERCONNECT SLICE_77I/Q1 SLICE_56I/D1 (1260:1386:1513)(1260:1386:1513)) - (INTERCONNECT SLICE_77I/Q0 SLICE_56I/C1 (1126:1237:1348)(1126:1237:1348)) - (INTERCONNECT SLICE_76I/Q1 SLICE_56I/B1 (1286:1416:1547)(1286:1416:1547)) - (INTERCONNECT SLICE_71I/Q0 SLICE_56I/A1 (1332:1457:1583)(1332:1457:1583)) - (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (2232:2447:2663)(2232:2447:2663)) - (INTERCONNECT Din_7_I/PADDI SLICE_75I/D1 (1515:1665:1815)(1515:1665:1815)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/A1 (2604:2844:3085)(2604:2844:3085)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (2642:2887:3132)(2642:2887:3132)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/A1 (1381:1533:1686)(1381:1533:1686)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/A0 (1381:1533:1686)(1381:1533:1686)) - (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_56I/F1 SLICE_70I/B1 (1378:1510:1643)(1378:1510:1643)) - (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT Din_0_I/PADDI SLICE_57I/C1 (1277:1418:1559)(1277:1418:1559)) - (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (1839:2026:2214)(1839:2026:2214)) - (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (2242:2458:2675)(2242:2458:2675)) - (INTERCONNECT Din_0_I/PADDI SLICE_76I/D1 (1532:1683:1835)(1532:1683:1835)) - (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (3049:3329:3610)(3049:3329:3610)) - (INTERCONNECT Din_0_I/PADDI SLICE_85I/C1 (1566:1741:1917)(1566:1741:1917)) - (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (1437:1597:1758)(1437:1597:1758)) - (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (1129:1252:1375)(1129:1252:1375)) - (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (1411:1566:1722)(1411:1566:1722)) - (INTERCONNECT Din_2_I/PADDI SLICE_77I/A0 (1384:1536:1689)(1384:1536:1689)) - (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (1673:1860:2047)(1673:1860:2047)) - (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (1429:1587:1745)(1429:1587:1745)) - (INTERCONNECT Din_1_I/PADDI SLICE_57I/D0 (710:802:894)(710:802:894)) - (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (1420:1577:1734)(1420:1577:1734)) - (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (1933:2113:2294)(1933:2113:2294)) - (INTERCONNECT Din_1_I/PADDI SLICE_75I/D0 (1113:1234:1355)(1113:1234:1355)) - (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (1025:1155:1286)(1025:1155:1286)) - (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (2233:2448:2664)(2233:2448:2664)) - (INTERCONNECT Din_1_I/PADDI SLICE_85I/B1 (1025:1155:1286)(1025:1155:1286)) - (INTERCONNECT SLICE_57I/F1 SLICE_57I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (875:974:1073)(875:974:1073)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/B1 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_59I/F1 SLICE_59I/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_80I/F0 SLICE_59I/B0 (1286:1416:1547)(1286:1416:1547)) - (INTERCONNECT SLICE_62I/F1 SLICE_59I/A0 (1751:1905:2060)(1751:1905:2060)) - (INTERCONNECT SLICE_62I/F1 SLICE_62I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (1723:1947:2172)(1723:1947:2172)) - (INTERCONNECT SLICE_82I/Q0 SLICE_60I/A1 (1751:1905:2060)(1751:1905:2060)) - (INTERCONNECT SLICE_82I/Q0 SLICE_63I/C1 (748:831:915)(748:831:915)) - (INTERCONNECT SLICE_82I/Q0 SLICE_79I/D1 (996:1089:1183)(996:1089:1183)) - (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (908:1011:1114)(908:1011:1114)) - (INTERCONNECT SLICE_94I/F0 SLICE_60I/D0 (1382:1514:1647)(1382:1514:1647)) - (INTERCONNECT SLICE_60I/F1 SLICE_60I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT SLICE_78I/Q1 SLICE_62I/A1 (1348:1473:1599)(1348:1473:1599)) - (INTERCONNECT SLICE_78I/Q1 SLICE_80I/A0 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/D0 (568:631:694)(568:631:694)) - (INTERCONNECT SLICE_81I/Q0 SLICE_62I/B0 (1797:1958:2120)(1797:1958:2120)) - (INTERCONNECT SLICE_81I/Q0 SLICE_63I/D1 (588:652:716)(588:652:716)) - (INTERCONNECT SLICE_81I/Q0 SLICE_80I/D0 (1395:1523:1651)(1395:1523:1651)) - (INTERCONNECT SLICE_79I/F0 SLICE_62I/A0 (1201:1344:1488)(1201:1344:1488)) - (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_63I/F1 SLICE_63I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/Q0 SLICE_64I/C0 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (1990:2225:2460)(1990:2225:2460)) - (INTERCONNECT SLICE_66I/F1 SLICE_64I/A0 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/Q1 SLICE_66I/D1 (1335:1476:1617)(1335:1476:1617)) - (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_81I/F0 SLICE_74I/D0 (261:290:320)(261:290:320)) - (INTERCONNECT SLICE_74I/F1 SLICE_66I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_66I/Q0 SLICE_90I/B0 (2100:2300:2500)(2100:2300:2500)) - (INTERCONNECT SLICE_66I/Q1 SLICE_91I/D0 (1063:1157:1251)(1063:1157:1251)) - (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (1219:1345:1472)(1219:1345:1472)) - (INTERCONNECT MAin_5_I/PADDI SLICE_71I/A1 (1884:2070:2256)(1884:2070:2256)) - (INTERCONNECT MAin_5_I/PADDI SLICE_93I/C1 (1794:1974:2155)(1794:1974:2155)) - (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (579:644:709)(579:644:709)) - (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (982:1076:1170)(982:1076:1170)) - (INTERCONNECT SLICE_67I/Q1 SLICE_93I/B1 (1378:1510:1643)(1378:1510:1643)) - (INTERCONNECT SLICE_87I/F0 SLICE_68I/D0 (572:636:700)(572:636:700)) - (INTERCONNECT SLICE_87I/F0 SLICE_69I/D0 (572:636:700)(572:636:700)) - (INTERCONNECT SLICE_68I/F1 SLICE_68I/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_84I/F0 SLICE_68I/A0 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_84I/F0 SLICE_69I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_69I/F1 SLICE_69I/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_70I/Q0 SLICE_70I/D1 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_70I/Q1 SLICE_70I/A1 (514:575:636)(514:575:636)) - (INTERCONNECT MAin_6_I/PADDI SLICE_71I/D1 (1647:1811:1975)(1647:1811:1975)) - (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT MAin_6_I/PADDI SLICE_92I/A1 (1876:2059:2243)(1876:2059:2243)) - (INTERCONNECT MAin_7_I/PADDI SLICE_71I/C1 (1765:1936:2107)(1765:1936:2107)) - (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (1917:2105:2293)(1917:2105:2293)) - (INTERCONNECT MAin_7_I/PADDI SLICE_91I/D1 (2013:2194:2375)(2013:2194:2375)) - (INTERCONNECT SLICE_88I/F1 SLICE_71I/D0 (564:632:700)(564:632:700)) - (INTERCONNECT SLICE_71I/Q1 SLICE_71I/C0 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (879:985:1092)(879:985:1092)) - (INTERCONNECT SLICE_71I/F1 SLICE_71I/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_81I/F1 SLICE_72I/D1 (564:632:700)(564:632:700)) - (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (1611:1765:1919)(1611:1765:1919)) - (INTERCONNECT MAin_3_I/PADDI SLICE_88I/B1 (1926:2118:2310)(1926:2118:2310)) - (INTERCONNECT MAin_3_I/PADDI SLICE_93I/D0 (2417:2628:2840)(2417:2628:2840)) - (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (1115:1236:1357)(1115:1236:1357)) - (INTERCONNECT MAin_2_I/PADDI SLICE_88I/D1 (1921:2099:2278)(1921:2099:2278)) - (INTERCONNECT MAin_2_I/PADDI SLICE_92I/D0 (2324:2531:2739)(2324:2531:2739)) - (INTERCONNECT SLICE_72I/Q0 SLICE_92I/B0 (1689:1848:2008)(1689:1848:2008)) - (INTERCONNECT SLICE_72I/Q1 SLICE_93I/A0 (1735:1889:2044)(1735:1889:2044)) - (INTERCONNECT SLICE_74I/Q0 SLICE_87I/A1 (833:932:1032)(833:932:1032)) - (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_77I/F1 SLICE_77I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_79I/F1 SLICE_79I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (1164:1346:1528)(1164:1346:1528)) - (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_80I/F1 SLICE_80I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (1943:2141:2340)(1943:2141:2340)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A1 (2322:2546:2771)(2322:2546:2771)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A0 (2322:2546:2771)(2322:2546:2771)) - (INTERCONNECT MAin_9_I/PADDI SLICE_89I/C1 (2208:2420:2632)(2208:2420:2632)) - (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (1508:1668:1828)(1508:1668:1828)) - (INTERCONNECT MAin_8_I/PADDI SLICE_89I/B0 (1919:2110:2302)(1919:2110:2302)) - (INTERCONNECT SLICE_80I/Q0 SLICE_89I/A0 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_80I/Q1 SLICE_86I/C0 (723:805:887)(723:805:887)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (1514:1673:1833)(1514:1673:1833)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (1514:1673:1833)(1514:1673:1833)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (1802:1985:2168)(1802:1985:2168)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/C0 (1802:1985:2168)(1802:1985:2168)) - (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (1635:1796:1957)(1635:1796:1957)) - (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (1635:1796:1957)(1635:1796:1957)) - (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (2063:2303:2544)(2063:2303:2544)) - (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (1971:2209:2448)(1971:2209:2448)) - (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (1974:2209:2444)(1974:2209:2444)) - (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (1165:1345:1526)(1165:1345:1526)) - (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (1974:2209:2444)(1974:2209:2444)) - (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (1748:1996:2245)(1748:1996:2245)) - (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (2544:2849:3155)(2544:2849:3155)) - (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (2544:2849:3155)(2544:2849:3155)) - (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (2544:2849:3155)(2544:2849:3155)) - (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (3364:3728:4093)(3364:3728:4093)) - (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (3364:3728:4093)(3364:3728:4093)) - (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (1783:2025:2267)(1783:2025:2267)) - (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (3357:3721:4085)(3357:3721:4085)) - (INTERCONNECT SLICE_88I/Q0 SLICE_92I/D1 (1063:1157:1251)(1063:1157:1251)) - (INTERCONNECT SLICE_88I/Q1 SLICE_91I/A1 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (1932:2190:2449)(1932:2190:2449)) - (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (1168:1345:1522)(1168:1345:1522)) - (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (1974:2209:2444)(1974:2209:2444)) - (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (1288:1474:1660)(1288:1474:1660)) - (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (1168:1345:1522)(1168:1345:1522)) - (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (2063:2303:2544)(2063:2303:2544)) - (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (2288:2578:2869)(2288:2578:2869)) - (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (1418:1631:1845)(1418:1631:1845)) - (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (1421:1631:1841)(1421:1631:1841)) - (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (2196:2460:2725)(2196:2460:2725)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:53:34 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1I) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20I) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55I) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1_SLICE_65I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_B") + (INSTANCE RD_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_B") + (INSTANCE Dout_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2B") + (INSTANCE PHI2I) + (DELAY + (ABSOLUTE + (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2S) (1250:1250:1250)) + (WIDTH (negedge PHI2S) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDOB") + (INSTANCE UFMSDOI) + (DELAY + (ABSOLUTE + (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDOS) (1250:1250:1250)) + (WIDTH (negedge UFMSDOS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDIB") + (INSTANCE UFMSDII) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLKB") + (INSTANCE UFMCLKI) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCSB") + (INSTANCE nUFMCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMLB") + (INSTANCE RDQMLI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMHB") + (INSTANCE RDQMHI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCASB") + (INSTANCE nRCASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRASB") + (INSTANCE nRRASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWEB") + (INSTANCE nRWEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKEB") + (INSTANCE RCKEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLKB") + (INSTANCE RCLKI) + (DELAY + (ABSOLUTE + (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLKS) (1250:1250:1250)) + (WIDTH (negedge RCLKS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCSB") + (INSTANCE nRCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_B") + (INSTANCE RD_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_B") + (INSTANCE RD_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_B") + (INSTANCE RD_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_B") + (INSTANCE RD_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_B") + (INSTANCE RD_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_B") + (INSTANCE RD_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_B") + (INSTANCE RD_1_I0) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_B") + (INSTANCE RA_11_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_B") + (INSTANCE RA_10_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_B") + (INSTANCE RA_9_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_B") + (INSTANCE RA_8_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_B") + (INSTANCE RA_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_B") + (INSTANCE RA_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_B") + (INSTANCE RA_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_B") + (INSTANCE RA_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_B") + (INSTANCE RA_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_B") + (INSTANCE RA_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_B") + (INSTANCE RA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_B") + (INSTANCE RA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_B") + (INSTANCE RBA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_B") + (INSTANCE RBA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LEDB") + (INSTANCE LEDI) + (DELAY + (ABSOLUTE + (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWEB") + (INSTANCE nFWEI) + (DELAY + (ABSOLUTE + (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWES) (1250:1250:1250)) + (WIDTH (negedge nFWES) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRASB") + (INSTANCE nCRASI) + (DELAY + (ABSOLUTE + (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRASS) (1250:1250:1250)) + (WIDTH (negedge nCRASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCASB") + (INSTANCE nCCASI) + (DELAY + (ABSOLUTE + (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCASS) (1250:1250:1250)) + (WIDTH (negedge nCCASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_B") + (INSTANCE Dout_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_B") + (INSTANCE Dout_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_B") + (INSTANCE Dout_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_B") + (INSTANCE Dout_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_B") + (INSTANCE Dout_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_B") + (INSTANCE Dout_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_B") + (INSTANCE Dout_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_B") + (INSTANCE Din_7_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_B") + (INSTANCE Din_6_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_B") + (INSTANCE Din_5_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_B") + (INSTANCE Din_4_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_B") + (INSTANCE Din_3_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_B") + (INSTANCE Din_2_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_B") + (INSTANCE Din_1_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_B") + (INSTANCE Din_0_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_B") + (INSTANCE CROW_1_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_B") + (INSTANCE CROW_0_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_B") + (INSTANCE MAin_9_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_B") + (INSTANCE MAin_8_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_B") + (INSTANCE MAin_7_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_B") + (INSTANCE MAin_6_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_B") + (INSTANCE MAin_5_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_B") + (INSTANCE MAin_4_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_B") + (INSTANCE MAin_3_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_B") + (INSTANCE MAin_2_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_B") + (INSTANCE MAin_1_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_B") + (INSTANCE MAin_0_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_0I/Q1 SLICE_72I/A0 (1232:1375:1519)(1232:1375:1519)) + (INTERCONNECT SLICE_0I/Q1 SLICE_84I/B0 (1203:1339:1475)(1203:1339:1475)) + (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_0I/Q0 SLICE_68I/B1 (903:1005:1108)(903:1005:1108)) + (INTERCONNECT SLICE_0I/Q0 SLICE_69I/D1 (588:652:716)(588:652:716)) + (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/A1 (1146:1276:1406)(1146:1276:1406)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/C0 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_1I/Q0 SLICE_66I/A0 (862:958:1054)(862:958:1054)) + (INTERCONNECT SLICE_1I/Q0 SLICE_72I/C1 (1151:1263:1376)(1151:1263:1376)) + (INTERCONNECT SLICE_1I/Q0 SLICE_74I/B0 (908:1011:1114)(908:1011:1114)) + (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B1 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B0 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_2I/Q0 SLICE_74I/A1 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_2I/Q0 SLICE_81I/C1 (1118:1249:1380)(1118:1249:1380)) + (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/D1 (956:1070:1185)(956:1070:1185)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/D0 (956:1070:1185)(956:1070:1185)) + (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (1663:1816:1970)(1663:1816:1970)) + (INTERCONNECT SLICE_3I/Q0 SLICE_81I/A0 (1260:1384:1509)(1260:1384:1509)) + (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_4I/Q1 SLICE_64I/D1 (1001:1094:1188)(1001:1094:1188)) + (INTERCONNECT SLICE_4I/Q1 SLICE_72I/B0 (1733:1895:2058)(1733:1895:2058)) + (INTERCONNECT SLICE_4I/Q1 SLICE_74I/B1 (1733:1895:2058)(1733:1895:2058)) + (INTERCONNECT SLICE_4I/Q1 SLICE_84I/B1 (1316:1448:1580)(1316:1448:1580)) + (INTERCONNECT SLICE_4I/Q1 SLICE_87I/B0 (1733:1895:2058)(1733:1895:2058)) + (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_4I/Q0 SLICE_64I/A1 (1245:1393:1541)(1245:1393:1541)) + (INTERCONNECT SLICE_4I/Q0 SLICE_74I/A0 (1648:1825:2002)(1648:1825:2002)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (1131:1266:1402)(1131:1266:1402)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C0 (1131:1266:1402)(1131:1266:1402)) + (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (1652:1794:1936)(1652:1794:1936)) + (INTERCONNECT SLICE_5I/Q1 SLICE_87I/C0 (750:837:924)(750:837:924)) + (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_5I/Q0 SLICE_58I/A1 (857:952:1048)(857:952:1048)) + (INTERCONNECT SLICE_5I/Q0 SLICE_84I/A1 (1663:1816:1970)(1663:1816:1970)) + (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_6I/Q1 SLICE_56I/B0 (1844:2015:2186)(1844:2015:2186)) + (INTERCONNECT SLICE_6I/Q1 SLICE_84I/D0 (599:662:725)(599:662:725)) + (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/D1 (595:663:731)(595:663:731)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A0 (864:963:1063)(864:963:1063)) + (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_7I/Q1 SLICE_56I/D0 (1497:1620:1743)(1497:1620:1743)) + (INTERCONNECT SLICE_7I/Q1 SLICE_68I/D1 (603:667:731)(603:667:731)) + (INTERCONNECT SLICE_7I/Q1 SLICE_69I/B1 (918:1020:1123)(918:1020:1123)) + (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_7I/Q0 SLICE_72I/D0 (1002:1094:1186)(1002:1094:1186)) + (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (1232:1375:1519)(1232:1375:1519)) + (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8I/Q1 SLICE_68I/A1 (1675:1841:2008)(1675:1841:2008)) + (INTERCONNECT SLICE_8I/Q1 SLICE_69I/C1 (1561:1715:1869)(1561:1715:1869)) + (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8I/Q0 SLICE_68I/C1 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_8I/Q0 SLICE_69I/A1 (857:952:1048)(857:952:1048)) + (INTERCONNECT SLICE_78I/F0 SLICE_9I/D1 (568:631:694)(568:631:694)) + (INTERCONNECT SLICE_85I/F1 SLICE_9I/C1 (1087:1218:1349)(1087:1218:1349)) + (INTERCONNECT MAin_0_I/PADDI SLICE_9I/B1 (1843:2032:2222)(1843:2032:2222)) + (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (1203:1325:1448)(1203:1325:1448)) + (INTERCONNECT MAin_0_I/PADDI SLICE_67I/C0 (1683:1853:2023)(1683:1853:2023)) + (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (1528:1679:1830)(1528:1679:1830)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/D1 (2744:2982:3221)(2744:2982:3221)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/D0 (2744:2982:3221)(2744:2982:3221)) + (INTERCONNECT SLICE_70I/F1 SLICE_9I/A1 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/A1 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/A0 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70I/F1 SLICE_67I/A0 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70I/F1 SLICE_70I/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_70I/F1 SLICE_90I/B1 (1317:1447:1578)(1317:1447:1578)) + (INTERCONNECT SLICE_9I/Q0 SLICE_9I/D0 (517:575:634)(517:575:634)) + (INTERCONNECT SLICE_9I/Q0 SLICE_20I/B1 (832:929:1026)(832:929:1026)) + (INTERCONNECT SLICE_9I/F1 SLICE_9I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_9I/F1 SLICE_20I/D0 (261:290:320)(261:290:320)) + (INTERCONNECT SLICE_14I/F1 SLICE_9I/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_14I/F1 SLICE_14I/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (559:618:678)(559:618:678)) + (INTERCONNECT SLICE_70I/F0 SLICE_9I/A0 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (2182:2416:2650)(2182:2416:2650)) + (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT SLICE_77I/F0 SLICE_14I/D1 (564:632:700)(564:632:700)) + (INTERCONNECT SLICE_76I/F0 SLICE_14I/C1 (1530:1676:1822)(1530:1676:1822)) + (INTERCONNECT MAin_1_I/PADDI SLICE_14I/D0 (1225:1351:1478)(1225:1351:1478)) + (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (1525:1685:1846)(1525:1685:1846)) + (INTERCONNECT MAin_1_I/PADDI SLICE_67I/B0 (1540:1705:1870)(1540:1705:1870)) + (INTERCONNECT MAin_1_I/PADDI SLICE_70I/A0 (1879:2062:2246)(1879:2062:2246)) + (INTERCONNECT MAin_1_I/PADDI SLICE_77I/C0 (1373:1516:1660)(1373:1516:1660)) + (INTERCONNECT MAin_1_I/PADDI SLICE_78I/D0 (1225:1351:1478)(1225:1351:1478)) + (INTERCONNECT MAin_1_I/PADDI SLICE_90I/C1 (1784:1959:2134)(1784:1959:2134)) + (INTERCONNECT MAin_1_I/PADDI SLICE_91I/B0 (1541:1706:1872)(1541:1706:1872)) + (INTERCONNECT SLICE_14I/Q0 SLICE_14I/B0 (832:929:1026)(832:929:1026)) + (INTERCONNECT SLICE_14I/Q0 SLICE_20I/B0 (832:929:1026)(832:929:1026)) + (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/D1 (956:1070:1185)(956:1070:1185)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (2110:2331:2552)(2110:2331:2552)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/C1 (2657:2925:3193)(2657:2925:3193)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/A0 (2482:2728:2974)(2482:2728:2974)) + (INTERCONNECT SLICE_51I/Q1 SLICE_43I/C1 (2365:2598:2832)(2365:2598:2832)) + (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (2110:2331:2552)(2110:2331:2552)) + (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (2620:2864:3109)(2620:2864:3109)) + (INTERCONNECT SLICE_51I/Q1 SLICE_61I/A1 (2054:2267:2480)(2054:2267:2480)) + (INTERCONNECT SLICE_51I/Q1 SLICE_62I/D1 (1793:1977:2161)(1793:1977:2161)) + (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (2210:2424:2639) + (2210:2424:2639)) + (INTERCONNECT SLICE_51I/Q1 SLICE_73I/B1 (895:1001:1108)(895:1001:1108)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C1 (763:846:930)(763:846:930)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C0 (763:846:930)(763:846:930)) + (INTERCONNECT SLICE_50I/Q0 SLICE_41I/C1 (1581:1730:1879)(1581:1730:1879)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (1769:1942:2115)(1769:1942:2115)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C1 (2019:2202:2385)(2019:2202:2385)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C0 (2019:2202:2385)(2019:2202:2385)) + (INTERCONNECT SLICE_50I/Q0 SLICE_63I/D0 (1454:1588:1723)(1454:1588:1723)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/C1 (757:844:932)(757:844:932)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/C0 (757:844:932)(757:844:932)) + (INTERCONNECT SLICE_50I/Q0 SLICE_73I/C1 (2026:2210:2394)(2026:2210:2394)) + (INTERCONNECT SLICE_50I/Q0 SLICE_79I/C0 (2026:2210:2394)(2026:2210:2394)) + (INTERCONNECT SLICE_50I/Q0 SLICE_94I/C0 (2026:2210:2394)(2026:2210:2394)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/B1 (878:975:1072)(878:975:1072)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_19I/Q0 SLICE_41I/B1 (938:1041:1144)(938:1041:1144)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C0 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_19I/Q0 SLICE_60I/C1 (1181:1293:1406)(1181:1293:1406)) + (INTERCONNECT SLICE_19I/Q0 SLICE_63I/A0 (892:988:1084)(892:988:1084)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (1362:1496:1631) + (1362:1496:1631)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (1362:1496:1631) + (1362:1496:1631)) + (INTERCONNECT SLICE_19I/Q0 SLICE_73I/A1 (1316:1443:1571)(1316:1443:1571)) + (INTERCONNECT SLICE_19I/Q0 SLICE_79I/D0 (1047:1143:1239)(1047:1143:1239)) + (INTERCONNECT SLICE_19I/Q0 SLICE_80I/C0 (718:795:873)(718:795:873)) + (INTERCONNECT SLICE_31I/Q0 SLICE_19I/A1 (1286:1409:1533)(1286:1409:1533)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A1 (825:914:1004)(825:914:1004)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_31I/Q0 SLICE_83I/B1 (1424:1556:1689)(1424:1556:1689)) + (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F1 SLICE_43I/A0 (849:948:1048)(849:948:1048)) + (INTERCONNECT SLICE_19I/F1 SLICE_44I/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A1 (810:899:989)(810:899:989)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_20I/Q0 SLICE_67I/D0 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_90I/F1 SLICE_20I/C0 (1218:1331:1444)(1218:1331:1444)) + (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_21I/D1 (321:350:380)(321:350:380)) + (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (640:708:776)(640:708:776)) + (INTERCONNECT SLICE_75I/F1 SLICE_67I/D1 (1047:1139:1231)(1047:1139:1231)) + (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (476:524:573)(476:524:573)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/C1 (476:524:573)(476:524:573)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (901:997:1094)(901:997:1094)) + (INTERCONNECT Din_5_I/PADDI SLICE_21I/B1 (1546:1711:1877)(1546:1711:1877)) + (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (2468:2685:2903)(2468:2685:2903)) + (INTERCONNECT Din_5_I/PADDI SLICE_67I/B1 (1949:2143:2338)(1949:2143:2338)) + (INTERCONNECT Din_5_I/PADDI SLICE_75I/B0 (2795:3059:3324)(2795:3059:3324)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/B1 (2795:3059:3324)(2795:3059:3324)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (1962:2156:2351)(1962:2156:2351)) + (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (2795:3059:3324)(2795:3059:3324)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/A1 (1500:1658:1817)(1500:1658:1817)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/A0 (1500:1658:1817)(1500:1658:1817)) + (INTERCONNECT Din_5_I/PADDI SLICE_85I/D0 (1944:2137:2330)(1944:2137:2330)) + (INTERCONNECT Din_3_I/PADDI SLICE_21I/A1 (1398:1552:1707)(1398:1552:1707)) + (INTERCONNECT Din_3_I/PADDI SLICE_57I/A1 (988:1113:1238)(988:1113:1238)) + (INTERCONNECT Din_3_I/PADDI SLICE_67I/C1 (1556:1731:1906)(1556:1731:1906)) + (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (712:804:897)(712:804:897)) + (INTERCONNECT Din_3_I/PADDI SLICE_76I/A0 (988:1113:1238)(988:1113:1238)) + (INTERCONNECT Din_3_I/PADDI SLICE_78I/D1 (709:801:894)(709:801:894)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/D1 (1418:1575:1733)(1418:1575:1733)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/C0 (1277:1418:1560)(1277:1418:1560)) + (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (712:804:897)(712:804:897)) + (INTERCONNECT SLICE_75I/F0 SLICE_21I/D0 (245:274:304)(245:274:304)) + (INTERCONNECT SLICE_21I/F1 SLICE_21I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_21I/F1 SLICE_26I/A0 (853:947:1042)(853:947:1042)) + (INTERCONNECT SLICE_82I/F1 SLICE_21I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_33I/Q0 SLICE_21I/A0 (1514:1694:1875)(1514:1694:1875)) + (INTERCONNECT SLICE_33I/Q0 SLICE_33I/C1 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (1674:1856:2038)(1674:1856:2038)) + (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (1285:1433:1581)(1285:1433:1581)) + (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (921:1020:1119)(921:1020:1119)) + (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (1696:1875:2055)(1696:1875:2055)) + (INTERCONNECT SLICE_67I/F0 SLICE_67I/A1 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_67I/F0 SLICE_82I/D0 (986:1100:1215)(986:1100:1215)) + (INTERCONNECT SLICE_21I/Q0 SLICE_33I/A0 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_21I/Q0 SLICE_82I/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (1682:1846:2010)(1682:1846:2010)) + (INTERCONNECT SLICE_32I/Q0 SLICE_22I/C1 (1201:1313:1426)(1201:1313:1426)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A1 (854:945:1036)(854:945:1036)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A0 (575:636:697)(575:636:697)) + (INTERCONNECT SLICE_32I/Q0 SLICE_33I/C0 (1611:1753:1895)(1611:1753:1895)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D1 (1477:1603:1729)(1477:1603:1729)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D0 (1477:1603:1729)(1477:1603:1729)) + (INTERCONNECT SLICE_32I/Q0 SLICE_44I/C1 (2035:2209:2383)(2035:2209:2383)) + (INTERCONNECT SLICE_32I/Q0 SLICE_51I/B1 (1769:1941:2114)(1769:1941:2114)) + (INTERCONNECT SLICE_32I/Q0 SLICE_52I/B1 (1771:1932:2094)(1771:1932:2094)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/C1 (740:818:897)(740:818:897)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/C0 (740:818:897)(740:818:897)) + (INTERCONNECT SLICE_32I/Q0 SLICE_64I/C1 (784:866:948)(784:866:948)) + (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/A0 (1746:1903:2061) + (1746:1903:2061)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B1 (1777:1952:2127)(1777:1952:2127)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B0 (1777:1952:2127)(1777:1952:2127)) + (INTERCONNECT SLICE_32I/Q0 SLICE_73I/D1 (1477:1603:1729)(1477:1603:1729)) + (INTERCONNECT SLICE_43I/Q1 SLICE_22I/B1 (1302:1432:1563)(1302:1432:1563)) + (INTERCONNECT SLICE_43I/Q1 SLICE_52I/C1 (1103:1234:1365)(1103:1234:1365)) + (INTERCONNECT SLICE_41I/Q1 SLICE_22I/A1 (1260:1384:1509)(1260:1384:1509)) + (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (544:603:663)(544:603:663)) + (INTERCONNECT SLICE_41I/Q1 SLICE_52I/D1 (991:1084:1177)(991:1084:1177)) + (INTERCONNECT SLICE_82I/F0 SLICE_22I/C0 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F1 SLICE_68I/C0 (1133:1244:1356)(1133:1244:1356)) + (INTERCONNECT SLICE_22I/F1 SLICE_69I/C0 (1133:1244:1356)(1133:1244:1356)) + (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_78I/F1 SLICE_78I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_26I/Q0 SLICE_58I/B0 (899:1000:1102)(899:1000:1102)) + (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_76I/F1 SLICE_76I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_58I/Q0 SLICE_26I/D0 (572:636:700)(572:636:700)) + (INTERCONNECT SLICE_58I/Q0 SLICE_39I/C0 (1936:2106:2276)(1936:2106:2276)) + (INTERCONNECT SLICE_26I/F1 SLICE_26I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F1 SLICE_29I/D1 (584:647:710)(584:647:710)) + (INTERCONNECT SLICE_61I/F1 SLICE_61I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/C1 (726:803:880)(726:803:880)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/D0 (571:629:687)(571:629:687)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D1 (643:708:773)(643:708:773)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D0 (643:708:773)(643:708:773)) + (INTERCONNECT SLICE_29I/Q0 SLICE_31I/C0 (798:882:966)(798:882:966)) + (INTERCONNECT SLICE_29I/Q0 SLICE_42I/D1 (1534:1657:1781)(1534:1657:1781)) + (INTERCONNECT SLICE_29I/Q0 SLICE_61I/D0 (932:1031:1131)(932:1031:1131)) + (INTERCONNECT SLICE_29I/Q0 SLICE_83I/B0 (2655:2875:3095)(2655:2875:3095)) + (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (1300:1448:1596)(1300:1448:1596)) + (INTERCONNECT SLICE_83I/F1 SLICE_29I/B1 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_83I/F1 SLICE_59I/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_83I/F1 SLICE_61I/A0 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/A1 (1297:1422:1547)(1297:1422:1547)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/A0 (1297:1422:1547)(1297:1422:1547)) + (INTERCONNECT SLICE_73I/F1 SLICE_59I/D1 (1109:1203:1297)(1109:1203:1297)) + (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (1062:1179:1297)(1062:1179:1297)) + (INTERCONNECT SLICE_73I/F1 SLICE_73I/C0 (446:494:543)(446:494:543)) + (INTERCONNECT SLICE_73I/F1 SLICE_94I/B1 (871:967:1064)(871:967:1064)) + (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (2198:2404:2610)(2198:2404:2610)) + (INTERCONNECT SLICE_43I/Q0 SLICE_41I/C0 (733:810:888)(733:810:888)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/B1 (886:982:1079)(886:982:1079)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/C0 (733:810:888)(733:810:888)) + (INTERCONNECT SLICE_43I/Q0 SLICE_44I/D1 (632:700:769)(632:700:769)) + (INTERCONNECT SLICE_43I/Q0 SLICE_50I/D1 (1490:1629:1769)(1490:1629:1769)) + (INTERCONNECT SLICE_43I/Q0 SLICE_59I/B1 (2511:2758:3006)(2511:2758:3006)) + (INTERCONNECT SLICE_43I/Q0 SLICE_61I/B1 (2087:2299:2511)(2087:2299:2511)) + (INTERCONNECT SLICE_43I/Q0 SLICE_62I/B1 (2087:2299:2511)(2087:2299:2511)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/B1 (1805:1983:2161)(1805:1983:2161)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/B0 (1805:1983:2161)(1805:1983:2161)) + (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (948:1049:1150)(948:1049:1150)) + (INTERCONNECT SLICE_43I/Q0 SLICE_73I/A0 (1199:1330:1461)(1199:1330:1461)) + (INTERCONNECT SLICE_43I/Q0 SLICE_79I/A1 (894:993:1093)(894:993:1093)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A1 (907:1003:1099)(907:1003:1099)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A0 (907:1003:1099)(907:1003:1099)) + (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B1 (885:983:1081)(885:983:1081)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B1 (885:983:1081)(885:983:1081)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B0 (885:983:1081)(885:983:1081)) + (INTERCONNECT SLICE_30I/Q0 SLICE_42I/A1 (1378:1503:1629)(1378:1503:1629)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/C1 (1179:1290:1402)(1179:1290:1402)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/C0 (1179:1290:1402)(1179:1290:1402)) + (INTERCONNECT SLICE_30I/Q1 SLICE_30I/A1 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D1 (563:621:680)(563:621:680)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D0 (563:621:680)(563:621:680)) + (INTERCONNECT SLICE_30I/Q1 SLICE_42I/B1 (1424:1556:1689)(1424:1556:1689)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/A1 (1293:1417:1541)(1293:1417:1541)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/A0 (1293:1417:1541)(1293:1417:1541)) + (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (947:1062:1178)(947:1062:1178)) + (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (947:1062:1178)(947:1062:1178)) + (INTERCONNECT SLICE_73I/F0 SLICE_31I/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (575:639:703)(575:639:703)) + (INTERCONNECT SLICE_56I/F0 SLICE_32I/D1 (1352:1480:1609)(1352:1480:1609)) + (INTERCONNECT SLICE_72I/F1 SLICE_32I/C1 (446:494:543)(446:494:543)) + (INTERCONNECT SLICE_72I/F1 SLICE_58I/D1 (291:320:350)(291:320:350)) + (INTERCONNECT SLICE_72I/F1 SLICE_64I/B1 (929:1030:1132)(929:1030:1132)) + (INTERCONNECT SLICE_72I/F1 SLICE_72I/C0 (446:494:543)(446:494:543)) + (INTERCONNECT SLICE_84I/F1 SLICE_32I/B1 (879:985:1092)(879:985:1092)) + (INTERCONNECT SLICE_74I/F0 SLICE_32I/B0 (883:984:1086)(883:984:1086)) + (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/F1 SLICE_87I/D1 (510:568:626)(510:568:626)) + (INTERCONNECT nCRASI/PADDI SLICE_33I/D1 (2857:3462:4068)(2857:3462:4068)) + (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (3532:4217:4903)(3532:4217:4903)) + (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_78I/Q0 SLICE_41I/D0 (1365:1507:1650)(1365:1507:1650)) + (INTERCONNECT SLICE_78I/Q0 SLICE_60I/A0 (1681:1846:2012)(1681:1846:2012)) + (INTERCONNECT SLICE_78I/Q0 SLICE_63I/A1 (1239:1386:1534)(1239:1386:1534)) + (INTERCONNECT SLICE_78I/Q0 SLICE_79I/A0 (1239:1386:1534)(1239:1386:1534)) + (INTERCONNECT UFMSDOI/PADDI SLICE_33I/D0 (702:793:885)(702:793:885)) + (INTERCONNECT UFMSDOI/PADDI SLICE_58I/D0 (1105:1225:1346)(1105:1225:1346)) + (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (939:1052:1165)(939:1052:1165)) + (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_85I/F0 SLICE_39I/D1 (1514:1646:1779)(1514:1646:1779)) + (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A1 (2147:2339:2531)(2147:2339:2531)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A0 (2147:2339:2531)(2147:2339:2531)) + (INTERCONNECT Din_6_I/PADDI SLICE_39I/D0 (2053:2245:2437)(2053:2245:2437)) + (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (3194:3483:3773)(3194:3483:3773)) + (INTERCONNECT Din_6_I/PADDI SLICE_75I/B1 (1519:1680:1842)(1519:1680:1842)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/D0 (2081:2276:2472)(2081:2276:2472)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (2388:2619:2851)(2388:2619:2851)) + (INTERCONNECT Din_6_I/PADDI SLICE_78I/B0 (2396:2630:2864)(2396:2630:2864)) + (INTERCONNECT Din_6_I/PADDI SLICE_85I/B0 (2799:3062:3325)(2799:3062:3325)) + (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (1313:1442:1571)(1313:1442:1571)) + (INTERCONNECT SLICE_44I/Q0 SLICE_44I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (1447:1581:1716)(1447:1581:1716)) + (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (1447:1581:1716)(1447:1581:1716)) + (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (1850:2013:2177)(1850:2013:2177)) + (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (559:618:678)(559:618:678)) + (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (1842:2003:2164)(1842:2003:2164)) + (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (1447:1581:1716)(1447:1581:1716)) + (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_39I/F1 SLICE_57I/A0 (1767:1931:2095)(1767:1931:2095)) + (INTERCONNECT SLICE_75I/Q1 SLICE_41I/D1 (960:1076:1193)(960:1076:1193)) + (INTERCONNECT SLICE_75I/Q1 SLICE_60I/B1 (1967:2185:2404)(1967:2185:2404)) + (INTERCONNECT SLICE_75I/Q1 SLICE_79I/B1 (1275:1430:1585)(1275:1430:1585)) + (INTERCONNECT SLICE_75I/Q1 SLICE_80I/D1 (1370:1516:1662)(1370:1516:1662)) + (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (1780:1956:2132)(1780:1956:2132)) + (INTERCONNECT SLICE_81I/Q1 SLICE_41I/A1 (2097:2301:2505)(2097:2301:2505)) + (INTERCONNECT SLICE_81I/Q1 SLICE_60I/D1 (2924:3195:3466)(2924:3195:3466)) + (INTERCONNECT SLICE_43I/F1 SLICE_41I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_41I/F1 SLICE_41I/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (1342:1484:1626)(1342:1484:1626)) + (INTERCONNECT SLICE_41I/Q0 SLICE_42I/D0 (1352:1480:1609)(1352:1480:1609)) + (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (1218:1331:1444)(1218:1331:1444)) + (INTERCONNECT SLICE_44I/Q1 SLICE_42I/B0 (1293:1424:1555)(1293:1424:1555)) + (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (2091:2277:2464)(2091:2277:2464)) + (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 SLICE_61I/C1 (1543:1684:1825)(1543:1684:1825)) + (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/A1 (2060:2242:2425) + (2060:2242:2425)) + (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (1978:2217:2456)(1978:2217:2456)) + (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/D0 (932:1044:1156)(932:1044:1156)) + (INTERCONNECT SLICE_50I/F0 SLICE_43I/A1 (1270:1395:1520)(1270:1395:1520)) + (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (16:16:16)(16:16:16)) + (INTERCONNECT SLICE_50I/F0 SLICE_61I/D1 (1001:1094:1188)(1001:1094:1188)) + (INTERCONNECT SLICE_50I/F0 SLICE_62I/C1 (1156:1268:1381)(1156:1268:1381)) + (INTERCONNECT SLICE_83I/F0 SLICE_43I/B0 (1255:1408:1561)(1255:1408:1561)) + (INTERCONNECT SLICE_83I/F0 SLICE_44I/A1 (1612:1787:1962)(1612:1787:1962)) + (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F1 SLICE_44I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_73I/Q0 SLICE_51I/D1 (1375:1502:1629)(1375:1502:1629)) + (INTERCONNECT SLICE_72I/F0 SLICE_51I/C1 (1126:1237:1348)(1126:1237:1348)) + (INTERCONNECT SLICE_66I/F0 SLICE_51I/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_66I/F0 SLICE_66I/C1 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_51I/Q0 SLICE_51I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (1548:1774:2000)(1548:1774:2000)) + (INTERCONNECT SLICE_51I/F1 SLICE_51I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (1409:1541:1674)(1409:1541:1674)) + (INTERCONNECT SLICE_64I/F1 SLICE_52I/A0 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_52I/F1 SLICE_51I/A0 (1157:1286:1415)(1157:1286:1415)) + (INTERCONNECT SLICE_52I/F1 SLICE_52I/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_52I/F1 SLICE_64I/D0 (1002:1094:1186)(1002:1094:1186)) + (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (568:631:694)(568:631:694)) + (INTERCONNECT SLICE_52I/Q0 SLICE_52I/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_55I/D0 (1207:1330:1453)(1207:1330:1453)) + (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (1949:2146:2344)(1949:2146:2344)) + (INTERCONNECT MAin_4_I/PADDI SLICE_71I/B1 (1914:2103:2292)(1914:2103:2292)) + (INTERCONNECT SLICE_63I/Q0 SLICE_55I/B0 (1997:2204:2411)(1997:2204:2411)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/D1 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/D0 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D1 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D0 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63I/Q0 SLICE_90I/A0 (2415:2652:2889)(2415:2652:2889)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C1 (2426:2645:2865)(2426:2645:2865)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (2426:2645:2865)(2426:2645:2865)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C1 (1898:2093:2289)(1898:2093:2289)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C0 (1898:2093:2289)(1898:2093:2289)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/A1 (2415:2652:2889)(2415:2652:2889)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/B0 (2176:2385:2595)(2176:2385:2595)) + (INTERCONNECT SLICE_67I/Q0 SLICE_55I/A0 (1201:1344:1488)(1201:1344:1488)) + (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (2322:2541:2761)(2322:2541:2761)) + (INTERCONNECT Din_4_I/PADDI SLICE_75I/A1 (1473:1628:1784)(1473:1628:1784)) + (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (1635:1791:1948)(1635:1791:1948)) + (INTERCONNECT Din_4_I/PADDI SLICE_77I/D1 (1628:1783:1939)(1628:1783:1939)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/D1 (1628:1783:1939)(1628:1783:1939)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/C0 (2072:2281:2490)(2072:2281:2490)) + (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (2787:3031:3276)(2787:3031:3276)) + (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (2787:3031:3276)(2787:3031:3276)) + (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (1818:2004:2190)(1818:2004:2190)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (1818:2004:2190)(1818:2004:2190)) + (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (2377:2592:2807)(2377:2592:2807)) + (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (1564:1720:1877)(1564:1720:1877)) + (INTERCONNECT nCCASI/PADDI SLICE_88I/A0 (1798:1981:2164)(1798:1981:2164)) + (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (2042:2305:2568)(2042:2305:2568)) + (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (2630:2955:3280)(2630:2955:3280)) + (INTERCONNECT SLICE_77I/Q1 SLICE_56I/D1 (1260:1386:1513)(1260:1386:1513)) + (INTERCONNECT SLICE_77I/Q0 SLICE_56I/C1 (1126:1237:1348)(1126:1237:1348)) + (INTERCONNECT SLICE_76I/Q1 SLICE_56I/B1 (1286:1416:1547)(1286:1416:1547)) + (INTERCONNECT SLICE_71I/Q0 SLICE_56I/A1 (1332:1457:1583)(1332:1457:1583)) + (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (2232:2447:2663)(2232:2447:2663)) + (INTERCONNECT Din_7_I/PADDI SLICE_75I/D1 (1515:1665:1815)(1515:1665:1815)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/A1 (2604:2844:3085)(2604:2844:3085)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (2642:2887:3132)(2642:2887:3132)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/A1 (1381:1533:1686)(1381:1533:1686)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/A0 (1381:1533:1686)(1381:1533:1686)) + (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_56I/F1 SLICE_70I/B1 (1378:1510:1643)(1378:1510:1643)) + (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT Din_0_I/PADDI SLICE_57I/C1 (1277:1418:1559)(1277:1418:1559)) + (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (1839:2026:2214)(1839:2026:2214)) + (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (2242:2458:2675)(2242:2458:2675)) + (INTERCONNECT Din_0_I/PADDI SLICE_76I/D1 (1532:1683:1835)(1532:1683:1835)) + (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (3049:3329:3610)(3049:3329:3610)) + (INTERCONNECT Din_0_I/PADDI SLICE_85I/C1 (1566:1741:1917)(1566:1741:1917)) + (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (1437:1597:1758)(1437:1597:1758)) + (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (1129:1252:1375)(1129:1252:1375)) + (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (1411:1566:1722)(1411:1566:1722)) + (INTERCONNECT Din_2_I/PADDI SLICE_77I/A0 (1384:1536:1689)(1384:1536:1689)) + (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (1673:1860:2047)(1673:1860:2047)) + (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (1429:1587:1745)(1429:1587:1745)) + (INTERCONNECT Din_1_I/PADDI SLICE_57I/D0 (710:802:894)(710:802:894)) + (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (1420:1577:1734)(1420:1577:1734)) + (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (1933:2113:2294)(1933:2113:2294)) + (INTERCONNECT Din_1_I/PADDI SLICE_75I/D0 (1113:1234:1355)(1113:1234:1355)) + (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (1025:1155:1286)(1025:1155:1286)) + (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (2233:2448:2664)(2233:2448:2664)) + (INTERCONNECT Din_1_I/PADDI SLICE_85I/B1 (1025:1155:1286)(1025:1155:1286)) + (INTERCONNECT SLICE_57I/F1 SLICE_57I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (875:974:1073)(875:974:1073)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/B1 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_59I/F1 SLICE_59I/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_80I/F0 SLICE_59I/B0 (1286:1416:1547)(1286:1416:1547)) + (INTERCONNECT SLICE_62I/F1 SLICE_59I/A0 (1751:1905:2060)(1751:1905:2060)) + (INTERCONNECT SLICE_62I/F1 SLICE_62I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (1723:1947:2172)(1723:1947:2172)) + (INTERCONNECT SLICE_82I/Q0 SLICE_60I/A1 (1751:1905:2060)(1751:1905:2060)) + (INTERCONNECT SLICE_82I/Q0 SLICE_63I/C1 (748:831:915)(748:831:915)) + (INTERCONNECT SLICE_82I/Q0 SLICE_79I/D1 (996:1089:1183)(996:1089:1183)) + (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (908:1011:1114)(908:1011:1114)) + (INTERCONNECT SLICE_94I/F0 SLICE_60I/D0 (1382:1514:1647)(1382:1514:1647)) + (INTERCONNECT SLICE_60I/F1 SLICE_60I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT SLICE_78I/Q1 SLICE_62I/A1 (1348:1473:1599)(1348:1473:1599)) + (INTERCONNECT SLICE_78I/Q1 SLICE_80I/A0 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/D0 (568:631:694)(568:631:694)) + (INTERCONNECT SLICE_81I/Q0 SLICE_62I/B0 (1797:1958:2120)(1797:1958:2120)) + (INTERCONNECT SLICE_81I/Q0 SLICE_63I/D1 (588:652:716)(588:652:716)) + (INTERCONNECT SLICE_81I/Q0 SLICE_80I/D0 (1395:1523:1651)(1395:1523:1651)) + (INTERCONNECT SLICE_79I/F0 SLICE_62I/A0 (1201:1344:1488)(1201:1344:1488)) + (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_63I/F1 SLICE_63I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/Q0 SLICE_64I/C0 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (1990:2225:2460)(1990:2225:2460)) + (INTERCONNECT SLICE_66I/F1 SLICE_64I/A0 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/Q1 SLICE_66I/D1 (1335:1476:1617)(1335:1476:1617)) + (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_81I/F0 SLICE_74I/D0 (261:290:320)(261:290:320)) + (INTERCONNECT SLICE_74I/F1 SLICE_66I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_66I/Q0 SLICE_90I/B0 (2100:2300:2500)(2100:2300:2500)) + (INTERCONNECT SLICE_66I/Q1 SLICE_91I/D0 (1063:1157:1251)(1063:1157:1251)) + (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (1219:1345:1472)(1219:1345:1472)) + (INTERCONNECT MAin_5_I/PADDI SLICE_71I/A1 (1884:2070:2256)(1884:2070:2256)) + (INTERCONNECT MAin_5_I/PADDI SLICE_93I/C1 (1794:1974:2155)(1794:1974:2155)) + (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (579:644:709)(579:644:709)) + (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (982:1076:1170)(982:1076:1170)) + (INTERCONNECT SLICE_67I/Q1 SLICE_93I/B1 (1378:1510:1643)(1378:1510:1643)) + (INTERCONNECT SLICE_87I/F0 SLICE_68I/D0 (572:636:700)(572:636:700)) + (INTERCONNECT SLICE_87I/F0 SLICE_69I/D0 (572:636:700)(572:636:700)) + (INTERCONNECT SLICE_68I/F1 SLICE_68I/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_84I/F0 SLICE_68I/A0 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_84I/F0 SLICE_69I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_69I/F1 SLICE_69I/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_70I/Q0 SLICE_70I/D1 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_70I/Q1 SLICE_70I/A1 (514:575:636)(514:575:636)) + (INTERCONNECT MAin_6_I/PADDI SLICE_71I/D1 (1647:1811:1975)(1647:1811:1975)) + (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT MAin_6_I/PADDI SLICE_92I/A1 (1876:2059:2243)(1876:2059:2243)) + (INTERCONNECT MAin_7_I/PADDI SLICE_71I/C1 (1765:1936:2107)(1765:1936:2107)) + (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (1917:2105:2293)(1917:2105:2293)) + (INTERCONNECT MAin_7_I/PADDI SLICE_91I/D1 (2013:2194:2375)(2013:2194:2375)) + (INTERCONNECT SLICE_88I/F1 SLICE_71I/D0 (564:632:700)(564:632:700)) + (INTERCONNECT SLICE_71I/Q1 SLICE_71I/C0 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (879:985:1092)(879:985:1092)) + (INTERCONNECT SLICE_71I/F1 SLICE_71I/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_81I/F1 SLICE_72I/D1 (564:632:700)(564:632:700)) + (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (1611:1765:1919)(1611:1765:1919)) + (INTERCONNECT MAin_3_I/PADDI SLICE_88I/B1 (1926:2118:2310)(1926:2118:2310)) + (INTERCONNECT MAin_3_I/PADDI SLICE_93I/D0 (2417:2628:2840)(2417:2628:2840)) + (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (1115:1236:1357)(1115:1236:1357)) + (INTERCONNECT MAin_2_I/PADDI SLICE_88I/D1 (1921:2099:2278)(1921:2099:2278)) + (INTERCONNECT MAin_2_I/PADDI SLICE_92I/D0 (2324:2531:2739)(2324:2531:2739)) + (INTERCONNECT SLICE_72I/Q0 SLICE_92I/B0 (1689:1848:2008)(1689:1848:2008)) + (INTERCONNECT SLICE_72I/Q1 SLICE_93I/A0 (1735:1889:2044)(1735:1889:2044)) + (INTERCONNECT SLICE_74I/Q0 SLICE_87I/A1 (833:932:1032)(833:932:1032)) + (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_77I/F1 SLICE_77I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_79I/F1 SLICE_79I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (1164:1346:1528)(1164:1346:1528)) + (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_80I/F1 SLICE_80I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (1943:2141:2340)(1943:2141:2340)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A1 (2322:2546:2771)(2322:2546:2771)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A0 (2322:2546:2771)(2322:2546:2771)) + (INTERCONNECT MAin_9_I/PADDI SLICE_89I/C1 (2208:2420:2632)(2208:2420:2632)) + (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (1508:1668:1828)(1508:1668:1828)) + (INTERCONNECT MAin_8_I/PADDI SLICE_89I/B0 (1919:2110:2302)(1919:2110:2302)) + (INTERCONNECT SLICE_80I/Q0 SLICE_89I/A0 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_80I/Q1 SLICE_86I/C0 (723:805:887)(723:805:887)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (1514:1673:1833)(1514:1673:1833)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (1514:1673:1833)(1514:1673:1833)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (1802:1985:2168)(1802:1985:2168)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/C0 (1802:1985:2168)(1802:1985:2168)) + (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (1635:1796:1957)(1635:1796:1957)) + (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (1635:1796:1957)(1635:1796:1957)) + (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (2063:2303:2544)(2063:2303:2544)) + (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (1971:2209:2448)(1971:2209:2448)) + (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (1974:2209:2444)(1974:2209:2444)) + (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (1165:1345:1526)(1165:1345:1526)) + (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (1974:2209:2444)(1974:2209:2444)) + (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (1748:1996:2245)(1748:1996:2245)) + (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (2544:2849:3155)(2544:2849:3155)) + (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (2544:2849:3155)(2544:2849:3155)) + (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (2544:2849:3155)(2544:2849:3155)) + (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (3364:3728:4093)(3364:3728:4093)) + (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (3364:3728:4093)(3364:3728:4093)) + (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (1783:2025:2267)(1783:2025:2267)) + (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (3357:3721:4085)(3357:3721:4085)) + (INTERCONNECT SLICE_88I/Q0 SLICE_92I/D1 (1063:1157:1251)(1063:1157:1251)) + (INTERCONNECT SLICE_88I/Q1 SLICE_91I/A1 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (1932:2190:2449)(1932:2190:2449)) + (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (1168:1345:1522)(1168:1345:1522)) + (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (1974:2209:2444)(1974:2209:2444)) + (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (1288:1474:1660)(1288:1474:1660)) + (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (1168:1345:1522)(1168:1345:1522)) + (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (2063:2303:2544)(2063:2303:2544)) + (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (2288:2578:2869)(2288:2578:2869)) + (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (1418:1631:1845)(1418:1631:1845)) + (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (1421:1631:1841)(1421:1631:1841)) + (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (2196:2460:2725)(2196:2460:2725)) + ) + ) + ) +) diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.vho b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.vho index 5800c96..e5fc1b3 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.vho +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vho.vho @@ -1,25810 +1,25810 @@ - --- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - --- ldbanno -n VHDL -o RAM2GS_LCMXO256C_impl1_vho.vho -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd --- Netlist created on Wed Aug 16 04:50:39 2023 --- Netlist written on Wed Aug 16 04:50:50 2023 --- Design is for device LCMXO256C --- Design is for package TQFP100 --- Design is for performance grade 3 - --- entity vmuxregsre - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; - - end vmuxregsre; - - architecture Structure of vmuxregsre is - component FL1P3DX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3DX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity vcc - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vcc is - port (PWR1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; - - end vcc; - - architecture Structure of vcc is - component VHI - port (Z: out Std_logic); - end component; - begin - INST1: VHI - port map (Z=>PWR1); - end Structure; - --- entity gnd - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity gnd is - port (PWR0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; - - end gnd; - - architecture Structure of gnd is - component VLO - port (Z: out Std_logic); - end component; - begin - INST1: VLO - port map (Z=>PWR0); - end Structure; - --- entity ccu2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu2B is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; - - end ccu2B; - - architecture Structure of ccu2B is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_0 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_0 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_0"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; - - end SLICE_0; - - architecture Structure of SLICE_0 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_0_FS_cry_0_0_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_0_FS_cry_0_0_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_1: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_0: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_0: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, - S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity ccu20001 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu20001 is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; - - end ccu20001; - - architecture Structure of ccu20001 is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_1 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_1 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_1"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; - - end SLICE_1; - - architecture Structure of SLICE_1 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_1_FS_cry_0_16_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_1_FS_cry_0_16_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu20001 - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_17: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_16: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_16: ccu20001 - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, - S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_2 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_2"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; - - end SLICE_2; - - architecture Structure of SLICE_2 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_2_FS_cry_0_14_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_2_FS_cry_0_14_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_15: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_14: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_14: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, - S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_3 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_3 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_3"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; - - end SLICE_3; - - architecture Structure of SLICE_3 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_3_FS_cry_0_12_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_3_FS_cry_0_12_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_13: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_12: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_12: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, - S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_4 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_4"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; - - end SLICE_4; - - architecture Structure of SLICE_4 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_4_FS_cry_0_10_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_4_FS_cry_0_10_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_11: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_10: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_10: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, - S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_5 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_5 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_5"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; - - end SLICE_5; - - architecture Structure of SLICE_5 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_5_FS_cry_0_8_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_5_FS_cry_0_8_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_9: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_8: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_8: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, - S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_6 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_6 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_6"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; - - end SLICE_6; - - architecture Structure of SLICE_6 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_6_FS_cry_0_6_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_6_FS_cry_0_6_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_7: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_6: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_6: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, - S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_7 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_7 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_7"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; - - end SLICE_7; - - architecture Structure of SLICE_7 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_7_FS_cry_0_4_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_7_FS_cry_0_4_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_5: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_4: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_4: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, - S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_8 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_8 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_8"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; - - end SLICE_8; - - architecture Structure of SLICE_8 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_8_FS_cry_0_2_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_8_FS_cry_0_2_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_3: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_2: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_2: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, - S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut4 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; - - end lut4; - - architecture Structure of lut4 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40002 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40002 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; - - end lut40002; - - architecture Structure of lut40002 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3130") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity inverter - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity inverter is - port (I: in Std_logic; Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; - - end inverter; - - architecture Structure of inverter is - component INV - port (A: in Std_logic; Z: out Std_logic); - end component; - begin - INST1: INV - port map (A=>I, Z=>Z); - end Structure; - --- entity SLICE_9 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_9 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_9"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; - - end SLICE_9; - - architecture Structure of SLICE_9 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40002 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - ADSubmitted_r: lut40002 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - ADSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40003 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40003 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; - - end lut40003; - - architecture Structure of lut40003 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40004 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40004 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; - - end lut40004; - - architecture Structure of lut40004 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF4FC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_14 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_14 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_14"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; - - end SLICE_14; - - architecture Structure of SLICE_14 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40003 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40004 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2: lut40003 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - C1Submitted_RNO: lut40004 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - C1Submitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40005 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40005 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; - - end lut40005; - - architecture Structure of lut40005 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0080") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40006 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40006 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; - - end lut40006; - - architecture Structure of lut40006 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF5F5") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0007 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0007 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; - - end vmuxregsre0007; - - architecture Structure of vmuxregsre0007 is - component FL1P3IY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3IY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_19 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_19 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_19"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; - - end SLICE_19; - - architecture Structure of SLICE_19 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40006 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3_2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - S_RNO_0: lut40006 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, - DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40008 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40008 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; - - end lut40008; - - architecture Structure of lut40008 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40009 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40009 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; - - end lut40009; - - architecture Structure of lut40009 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEA0A") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity selmux2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity selmux2 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; - - end selmux2; - - architecture Structure of selmux2 is - component MUX21 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - INST1: MUX21 - port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); - end Structure; - --- entity SLICE_20 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_20 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_20"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; - - end SLICE_20; - - architecture Structure of SLICE_20 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal SLICE_20_SLICE_20_K1_H1: Std_logic; - signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40008 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40009 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - SLICE_20_K1: lut40008 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, - Z=>SLICE_20_SLICE_20_K1_H1); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable_s_GATE: lut40009 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>SLICE_20_CmdEnable_s_GATE_H0); - CmdEnable: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - SLICE_20_K0K1MUX: selmux2 - port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, - SD=>M0_ipd, Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - OFX0_zd := OFX0_out; - Q0_zd := Q0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40010 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40010 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; - - end lut40010; - - architecture Structure of lut40010 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0044") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40011 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40011 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; - - end lut40011; - - architecture Structure of lut40011 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0023") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_21 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_21 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_21"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; - - end SLICE_21; - - architecture Structure of SLICE_21 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40010 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40011 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_a2_2: lut40010 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_RNO: lut40011 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdLEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40012 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40012 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; - - end lut40012; - - architecture Structure of lut40012 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40013 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40013 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; - - end lut40013; - - architecture Structure of lut40013 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFAFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_22 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_22 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_22"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; - - end SLICE_22; - - architecture Structure of SLICE_22 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2: lut40012 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_RNO: lut40013 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40014 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40014 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; - - end lut40014; - - architecture Structure of lut40014 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x33AB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40015 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40015 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; - - end lut40015; - - architecture Structure of lut40015 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0F05") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_26 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_26 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_26"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; - - end SLICE_26; - - architecture Structure of SLICE_26 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40014 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40015 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_0: lut40014 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Cmdn8MEGEN_RNO: lut40015 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Cmdn8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40016 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40016 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; - - end lut40016; - - architecture Structure of lut40016 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF54") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40017 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40017 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; - - end lut40017; - - architecture Structure of lut40017 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEE11") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_29 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_29 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_29"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; - - end SLICE_29; - - architecture Structure of SLICE_29 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40016 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40017 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i: lut40016 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_0: lut40017 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_0: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40018 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40018 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; - - end lut40018; - - architecture Structure of lut40018 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x66AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40019 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40019 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; - - end lut40019; - - architecture Structure of lut40019 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x55AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_30 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_30 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_30"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI1_CLK : VitalDelayType := 0 ns; - tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; - - end SLICE_30; - - architecture Structure of SLICE_30 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI1_ipd : std_logic := 'X'; - signal DI1_dly : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40018 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40019 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_RNO_2: lut40018 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_n1_0_x2: lut40019 - port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); - IS_2: vmuxregsre - port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - IS_1: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI1_ipd, DI1, tipd_DI1); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, DI1_dly, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI1_CLK : x01 := '0'; - VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI1_dly, - TestSignalName => "DI1", - TestDelay => tisd_DI1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI1_CLK_noedge_posedge, - SetupLow => tsetup_DI1_CLK_noedge_posedge, - HoldHigh => thold_DI1_CLK_noedge_posedge, - HoldLow => thold_DI1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI1_CLK_TimingDatash, - Violation => tviol_DI1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40020 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40020 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; - - end lut40020; - - architecture Structure of lut40020 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40021 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40021 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; - - end lut40021; - - architecture Structure of lut40021 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x6AAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_31 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_31 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_31"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; - - end SLICE_31; - - architecture Structure of SLICE_31 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40020 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40021 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RA10_RNO: lut40020 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_3: lut40021 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - IS_3: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40022 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40022 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; - - end lut40022; - - architecture Structure of lut40022 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5155") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40023 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40023 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; - - end lut40023; - - architecture Structure of lut40023 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_32 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_32 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_32"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; - - end SLICE_32; - - architecture Structure of SLICE_32 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40022 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40023 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a0: lut40022 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady_RNO: lut40023 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40024 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40024 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; - - end lut40024; - - architecture Structure of lut40024 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFAF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40025 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40025 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; - - end lut40025; - - architecture Structure of lut40025 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA0AF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_33 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_33 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_33"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; - - end SLICE_33; - - architecture Structure of SLICE_33 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40025 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - LED_pad_RNO: lut40024 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - LEDEN_5_i_m2: lut40025 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - LEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40026 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40026 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; - - end lut40026; - - architecture Structure of lut40026 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40027 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40027 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; - - end lut40027; - - architecture Structure of lut40027 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA5AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_39 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_39 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_39"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; - - end SLICE_39; - - architecture Structure of SLICE_39 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40026 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40027 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_0: lut40026 - port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RA11_2: lut40027 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RA11: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40028 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40028 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; - - end lut40028; - - architecture Structure of lut40028 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2DAD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40029 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40029 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; - - end lut40029; - - architecture Structure of lut40029 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCCEC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_41 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_41 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_41"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; - - end SLICE_41; - - architecture Structure of SLICE_41 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40029 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_1_0: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKEEN_8_u: lut40029 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40030 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40030 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; - - end lut40030; - - architecture Structure of lut40030 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40031 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40031 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; - - end lut40031; - - architecture Structure of lut40031 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFE50") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_42 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_42 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_42"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; - - end SLICE_42; - - architecture Structure of SLICE_42 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40030 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40031 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_5: lut40030 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKE_2_0: lut40031 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKE: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40032 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40032 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; - - end lut40032; - - architecture Structure of lut40032 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3704") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40033 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40033 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; - - end lut40033; - - architecture Structure of lut40033 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF2F0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_43 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_43 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_43"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; - - end SLICE_43; - - architecture Structure of SLICE_43 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40032 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40033 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_RNO: lut40032 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_RNO: lut40033 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40034 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40034 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; - - end lut40034; - - architecture Structure of lut40034 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0040") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_44 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_44 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_44"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; - - end SLICE_44; - - architecture Structure of SLICE_44 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40034 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3: lut40034 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_fast_RNO: lut40013 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RASr: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Ready_fast: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, - DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40035 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40035 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; - - end lut40035; - - architecture Structure of lut40035 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0300") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_50 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_50 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_50"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; - - end SLICE_50; - - architecture Structure of SLICE_50 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40035 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_RNO: lut40035 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0_i_o2_1: lut40013 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - S_1: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, C0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40036 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40036 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; - - end lut40036; - - architecture Structure of lut40036 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xABEF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40037 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40037 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; - - end lut40037; - - architecture Structure of lut40037 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1302") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_51 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_51 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_51"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; - - end SLICE_51; - - architecture Structure of SLICE_51 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40036 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMCLK_RNO_0: lut40036 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMCLK_RNO: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40038 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40038 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; - - end lut40038; - - architecture Structure of lut40038 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x33B3") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40039 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40039 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; - - end lut40039; - - architecture Structure of lut40039 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5404") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_52 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_52 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_52"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; - - end SLICE_52; - - architecture Structure of SLICE_52 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40038 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40039 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - PHI2r3_RNITCN41: lut40038 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_RNO: lut40039 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMSDI: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40040 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40040 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; - - end lut40040; - - architecture Structure of lut40040 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEE22") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_55 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_55 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_55"; - - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; - - end SLICE_55; - - architecture Structure of SLICE_55 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40040 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_4: lut40040 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, - F0_out, Q0_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40041 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40041 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; - - end lut40041; - - architecture Structure of lut40041 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40042 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40042 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; - - end lut40042; - - architecture Structure of lut40042 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3C0C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_56 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_56 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_56"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; - - end SLICE_56; - - architecture Structure of SLICE_56 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40042 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_11: lut40041 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_ens2_i_o2: lut40042 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40043 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40043 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; - - end lut40043; - - architecture Structure of lut40043 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40044 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40044 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40044 : ENTITY IS TRUE; - - end lut40044; - - architecture Structure of lut40044 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBAFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_57 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_57 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_57"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; - - end SLICE_57; - - architecture Structure of SLICE_57 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40043 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40044 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_2: lut40043 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG_3_u_0_a3_3: lut40044 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - XOR8MEG: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40045 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40045 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; - - end lut40045; - - architecture Structure of lut40045 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0005") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40046 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40046 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; - - end lut40046; - - architecture Structure of lut40046 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xC0CF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_58 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_58 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_58"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; - - end SLICE_58; - - architecture Structure of SLICE_58 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40045 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40046 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_en_ss0_0_a2_0: lut40045 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - n8MEGEN_5_i_m2: lut40046 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - n8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40047 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40047 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; - - end lut40047; - - architecture Structure of lut40047 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3F1D") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40048 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40048 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; - - end lut40048; - - architecture Structure of lut40048 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5510") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0049 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0049 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0049 : ENTITY IS TRUE; - - end vmuxregsre0049; - - architecture Structure of vmuxregsre0049 is - component FL1P3BX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3BX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_59 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_59 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_59"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; - - end SLICE_59; - - architecture Structure of SLICE_59 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40047 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40048 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0049 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_0: lut40047 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCAS_RNO: lut40048 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCAS: vmuxregsre0049 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40050 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40050 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; - - end lut40050; - - architecture Structure of lut40050 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBFF0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40051 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40051 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; - - end lut40051; - - architecture Structure of lut40051 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3233") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_60 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_60 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_60"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; - - end SLICE_60; - - architecture Structure of SLICE_60 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0049 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40050 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40051 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCS_RNO_0: lut40050 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCS_RNO: lut40051 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCS: vmuxregsre0049 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40052 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40052 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; - - end lut40052; - - architecture Structure of lut40052 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00C8") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40053 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40053 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; - - end lut40053; - - architecture Structure of lut40053 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3031") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_61 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_61 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_61"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; - - end SLICE_61; - - architecture Structure of SLICE_61 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0049 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40052 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i_0: lut40052 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRRAS_RNO: lut40053 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRRAS: vmuxregsre0049 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40054 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40054 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; - - end lut40054; - - architecture Structure of lut40054 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40055 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40055 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; - - end lut40055; - - architecture Structure of lut40055 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF2F7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_62 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_62 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_62"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; - - end SLICE_62; - - architecture Structure of SLICE_62 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0049 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40054 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40055 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_0_sqmuxa_1_0_a3: lut40054 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRWE_RNO: lut40055 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRWE: vmuxregsre0049 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40056 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40056 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; - - end lut40056; - - architecture Structure of lut40056 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0400") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40057 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40057 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; - - end lut40057; - - architecture Structure of lut40057 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF4F8") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_63 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_63 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_63"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; - - end SLICE_63; - - architecture Structure of SLICE_63 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40056 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40057 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_0_0_a3_0: lut40056 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRowColSel_0_0: lut40057 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRowColSel: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40058 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40058 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; - - end lut40058; - - architecture Structure of lut40058 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40059 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40059 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40059 : ENTITY IS TRUE; - - end lut40059; - - architecture Structure of lut40059 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDDFC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_64 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_64 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_64"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; - - end SLICE_64; - - architecture Structure of SLICE_64 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0049 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40058 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40059 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS15_0_a2: lut40058 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nUFMCS_s_0_N_5_i: lut40059 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nUFMCS: vmuxregsre0049 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40060 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40060 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; - - end lut40060; - - architecture Structure of lut40060 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0002") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40061 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40061 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; - - end lut40061; - - architecture Structure of lut40061 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0200") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity nRWE_RNO_1_SLICE_65 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWE_RNO_1_SLICE_65 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWE_RNO_1_SLICE_65"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; - - end nRWE_RNO_1_SLICE_65; - - architecture Structure of nRWE_RNO_1_SLICE_65 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - component lut40060 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40061 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_1_SLICE_65_K1: lut40060 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); - nRWE_RNO_1_GATE: lut40061 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); - nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 - port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, - D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, - Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_ipd, OFX0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - OFX0_zd := OFX0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 7 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 8 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40062 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40062 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; - - end lut40062; - - architecture Structure of lut40062 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0F03") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40063 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40063 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; - - end lut40063; - - architecture Structure of lut40063 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_66 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_66 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_66"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; - - end SLICE_66; - - architecture Structure of SLICE_66 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40063 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS_s_0_N_5_i_N_2L1: lut40062 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_a2_2_2: lut40063 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40064 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40064 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; - - end lut40064; - - architecture Structure of lut40064 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0008") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40065 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40065 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; - - end lut40065; - - architecture Structure of lut40065 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0066 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0066 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0066 : ENTITY IS TRUE; - - end vmuxregsre0066; - - architecture Structure of vmuxregsre0066 is - component FL1P3JY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3JY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_67 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_67 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_67"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; - - end SLICE_67; - - architecture Structure of SLICE_67 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40064 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40065 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0066 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - CmdUFMCLK_1_sqmuxa_0_a2: lut40064 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG18_0_a2: lut40065 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_5: vmuxregsre0066 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_4: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, - Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40067 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40067 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; - - end lut40067; - - architecture Structure of lut40067 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40068 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40068 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; - - end lut40068; - - architecture Structure of lut40068 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF8F0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_68 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_68 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_68"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; - - end SLICE_68; - - architecture Structure of SLICE_68 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40067 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40068 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2_0_1: lut40067 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_14_i_0: lut40068 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40069 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40069 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; - - end lut40069; - - architecture Structure of lut40069 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0004") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40070 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40070 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; - - end lut40070; - - architecture Structure of lut40070 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF8F0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_69 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_69 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_69"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; - - end SLICE_69; - - architecture Structure of SLICE_69 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40069 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40070 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_13_i_a2_1: lut40069 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_0: lut40070 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40071 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40071 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; - - end lut40071; - - architecture Structure of lut40071 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40072 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40072 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; - - end lut40072; - - architecture Structure of lut40072 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA0A0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_70 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_70 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_70"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; - - end SLICE_70; - - architecture Structure of SLICE_70 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40071 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40072 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0: lut40071 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2: lut40072 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40073 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40073 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; - - end lut40073; - - architecture Structure of lut40073 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40074 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40074 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; - - end lut40074; - - architecture Structure of lut40074 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_71 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_71 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_71"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; - - end SLICE_71; - - architecture Structure of SLICE_71 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40073 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40074 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_4: lut40073 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2_0_10: lut40074 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40075 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40075 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; - - end lut40075; - - architecture Structure of lut40075 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40076 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40076 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; - - end lut40076; - - architecture Structure of lut40076 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xACA0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_72 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_72 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_72"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; - - end SLICE_72; - - architecture Structure of SLICE_72 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40075 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40076 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0: lut40075 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_m2: lut40076 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_3: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_2: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40077 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40077 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; - - end lut40077; - - architecture Structure of lut40077 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFBFF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_73 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_73 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_73"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; - - end SLICE_73; - - architecture Structure of SLICE_73 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40077 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0: lut40077 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_0_sqmuxa_0_o2: lut40013 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdUFMCS: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CmdUFMCLK: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, - M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40078 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40078 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; - - end lut40078; - - architecture Structure of lut40078 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8888") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40079 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40079 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; - - end lut40079; - - architecture Structure of lut40079 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_74 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_74 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_74"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; - - end SLICE_74; - - architecture Structure of SLICE_74 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40078 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40079 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - InitReady3_0_a2_3: lut40078 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady3_0_a2: lut40079 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdUFMSDI: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40080 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40080 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; - - end lut40080; - - architecture Structure of lut40080 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFDD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40081 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40081 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; - - end lut40081; - - architecture Structure of lut40081 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0003") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_75 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_75 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_75"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; - - end SLICE_75; - - architecture Structure of SLICE_75 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40080 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40081 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_o2_0: lut40080 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_4_u_i_a2_0: lut40081 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CASr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40082 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40082 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40082 : ENTITY IS TRUE; - - end lut40082; - - architecture Structure of lut40082 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3300") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40083 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40083 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40083 : ENTITY IS TRUE; - - end lut40083; - - architecture Structure of lut40083 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0010") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_76 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_76 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_76"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; - - end SLICE_76; - - architecture Structure of SLICE_76 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40082 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40083 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_4: lut40082 - port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_4_0: lut40083 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40084 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40084 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40084 : ENTITY IS TRUE; - - end lut40084; - - architecture Structure of lut40084 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40085 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40085 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40085 : ENTITY IS TRUE; - - end lut40085; - - architecture Structure of lut40085 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_77 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_77 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_77"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; - - end SLICE_77; - - architecture Structure of SLICE_77 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40084 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40085 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_1: lut40084 - port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_5: lut40085 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40086 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40086 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40086 : ENTITY IS TRUE; - - end lut40086; - - architecture Structure of lut40086 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x33FF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40087 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40087 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40087 : ENTITY IS TRUE; - - end lut40087; - - architecture Structure of lut40087 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0200") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_78 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_78 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_78"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; - - end SLICE_78; - - architecture Structure of SLICE_78 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40086 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40087 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_o2: lut40086 - port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable17_0_a2_4: lut40087 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CBR_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CBR: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40088 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40088 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40088 : ENTITY IS TRUE; - - end lut40088; - - architecture Structure of lut40088 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0088") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40089 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40089 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40089 : ENTITY IS TRUE; - - end lut40089; - - architecture Structure of lut40089 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_79 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_79 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_79"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; - - end SLICE_79; - - architecture Structure of SLICE_79 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40088 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40089 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_2: lut40088 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRWE_RNO_0: lut40089 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40090 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40090 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40090 : ENTITY IS TRUE; - - end lut40090; - - architecture Structure of lut40090 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4005") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_80 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_80 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_80"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; - - end SLICE_80; - - architecture Structure of SLICE_80 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vmuxregsre0066 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40082 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40090 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_RNO_1: lut40082 - port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRCAS_RNO_0: lut40090 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_9: vmuxregsre0066 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_8: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40091 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40091 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40091 : ENTITY IS TRUE; - - end lut40091; - - architecture Structure of lut40091 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40092 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40092 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40092 : ENTITY IS TRUE; - - end lut40092; - - architecture Structure of lut40092 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_81 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_81 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_81"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; - - end SLICE_81; - - architecture Structure of SLICE_81 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40091 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40092 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0_3: lut40091 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady3_0_a2_5: lut40092 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - FWEr_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - FWEr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40093 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40093 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40093 : ENTITY IS TRUE; - - end lut40093; - - architecture Structure of lut40093 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3230") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40094 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40094 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40094 : ENTITY IS TRUE; - - end lut40094; - - architecture Structure of lut40094 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1300") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_82 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_82 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_82"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; - - end SLICE_82; - - architecture Structure of SLICE_82 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40093 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40094 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdLEDEN_4_u_i_a2: lut40093 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_1_sqmuxa_0_a2: lut40094 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CASr3: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40095 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40095 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40095 : ENTITY IS TRUE; - - end lut40095; - - architecture Structure of lut40095 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFEFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40096 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40096 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40096 : ENTITY IS TRUE; - - end lut40096; - - architecture Structure of lut40096 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7F7F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_83 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_83 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_83"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; - - end SLICE_83; - - architecture Structure of SLICE_83 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40095 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40096 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_o2: lut40095 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready_0_sqmuxa_0_o2: lut40096 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RBA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RBA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40097 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40097 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40097 : ENTITY IS TRUE; - - end lut40097; - - architecture Structure of lut40097 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0400") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40098 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40098 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40098 : ENTITY IS TRUE; - - end lut40098; - - architecture Structure of lut40098 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0010") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_84 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_84 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_84"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; - - end SLICE_84; - - architecture Structure of SLICE_84 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40097 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40098 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a2_4_2: lut40097 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_a2_6: lut40098 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40099 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40099 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40099 : ENTITY IS TRUE; - - end lut40099; - - architecture Structure of lut40099 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40100 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40100 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40100 : ENTITY IS TRUE; - - end lut40100; - - architecture Structure of lut40100 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_85 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_85 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_85"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; - - end SLICE_85; - - architecture Structure of SLICE_85 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40099 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40100 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2_3: lut40099 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_Din_4: lut40100 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40101 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40101 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40101 : ENTITY IS TRUE; - - end lut40101; - - architecture Structure of lut40101 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x55FF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40102 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40102 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40102 : ENTITY IS TRUE; - - end lut40102; - - architecture Structure of lut40102 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAAF0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_86 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_86 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_86"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; - - end SLICE_86; - - architecture Structure of SLICE_86 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40101 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40102 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQML: lut40101 - port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_9: lut40102 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40103 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40103 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40103 : ENTITY IS TRUE; - - end lut40103; - - architecture Structure of lut40103 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00EE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40104 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40104 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40104 : ENTITY IS TRUE; - - end lut40104; - - architecture Structure of lut40104 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_87 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_87 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_87"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; - - end SLICE_87; - - architecture Structure of SLICE_87 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40103 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40104 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_RNO_0: lut40103 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un1_FS_13_i_a2_8: lut40104 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40105 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40105 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40105 : ENTITY IS TRUE; - - end lut40105; - - architecture Structure of lut40105 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0C00") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40106 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40106 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40106 : ENTITY IS TRUE; - - end lut40106; - - architecture Structure of lut40106 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFAFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_88 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_88 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_88"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - C0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; - - end SLICE_88; - - architecture Structure of SLICE_88 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40105 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40106 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_3: lut40105 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nCCAS_pad_RNI01SJ: lut40106 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RowA_7: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_6: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, C0_ipd, A0_ipd, M1_dly, - M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40107 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40107 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40107 : ENTITY IS TRUE; - - end lut40107; - - architecture Structure of lut40107 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF0FF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40108 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40108 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40108 : ENTITY IS TRUE; - - end lut40108; - - architecture Structure of lut40108 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCCAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_89 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_89 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_89"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; - - end SLICE_89; - - architecture Structure of SLICE_89 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40107 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40108 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQMH: lut40107 - port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_8: lut40108 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, D0_ipd, B0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40109 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40109 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40109 : ENTITY IS TRUE; - - end lut40109; - - architecture Structure of lut40109 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCCC0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40110 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40110 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40110 : ENTITY IS TRUE; - - end lut40110; - - architecture Structure of lut40110 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEE44") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_90 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_90 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_90"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; - - end SLICE_90; - - architecture Structure of SLICE_90 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40109 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40110 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_CMDWR: lut40109 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_0: lut40110 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40111 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40111 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40111 : ENTITY IS TRUE; - - end lut40111; - - architecture Structure of lut40111 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFA0A") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40112 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40112 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40112 : ENTITY IS TRUE; - - end lut40112; - - architecture Structure of lut40112 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCFC0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_91 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_91 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_91"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; - - end SLICE_91; - - architecture Structure of SLICE_91 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40111 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40112 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_7: lut40111 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_1: lut40112 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40113 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40113 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40113 : ENTITY IS TRUE; - - end lut40113; - - architecture Structure of lut40113 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAFA0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40114 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40114 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40114 : ENTITY IS TRUE; - - end lut40114; - - architecture Structure of lut40114 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFC0C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_92 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_92 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_92"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; - - end SLICE_92; - - architecture Structure of SLICE_92 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40113 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40114 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_6: lut40113 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_2: lut40114 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40115 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40115 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40115 : ENTITY IS TRUE; - - end lut40115; - - architecture Structure of lut40115 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xE4E4") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_93 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_93 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_93"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; - - end SLICE_93; - - architecture Structure of SLICE_93 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40040 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40115 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_5: lut40115 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_3: lut40040 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40116 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40116 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40116 : ENTITY IS TRUE; - - end lut40116; - - architecture Structure of lut40116 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1111") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_94 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_94 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_94"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; - - end SLICE_94; - - architecture Structure of SLICE_94 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M0_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0066 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40072 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40116 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0_RNIS63D: lut40116 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN_8_u_0_a2_1_s: lut40072 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RA10: vmuxregsre0066 - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, A0_ipd, M0_dly, LSR_dly, - CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf is - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; - - end mjiobuf; - - architecture Structure of mjiobuf is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - component OBW - port (I: in Std_logic; T: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PADI, O=>Z); - INST2: OBW - port map (I=>I, T=>T, O=>PAD); - end Structure; - --- entity RD_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_0_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD0 : VitalDelayType := 0 ns; - tpw_RD0_posedge : VitalDelayType := 0 ns; - tpw_RD0_negedge : VitalDelayType := 0 ns; - tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; - - end RD_0_B; - - architecture Structure of RD_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD0_ipd : std_logic := 'X'; - signal RD0_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_0: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, - PADI=>RD0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD0_ipd, RD0, tipd_RD0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD0_zd : std_logic := 'X'; - VARIABLE RD0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD0_RD0 : x01 := '0'; - VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD0_ipd, - TestSignalName => "RD0", - Period => tperiod_RD0, - PulseWidthHigh => tpw_RD0_posedge, - PulseWidthLow => tpw_RD0_negedge, - PeriodData => periodcheckinfo_RD0, - Violation => tviol_RD0_RD0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD0_zd := RD0_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD0_ipd'last_event, - PathDelay => tpd_RD0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD0, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD0, - PathCondition => TRUE)), - GlitchData => RD0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0117 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0117 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0117 : ENTITY IS TRUE; - - end mjiobuf0117; - - architecture Structure of mjiobuf0117 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity Dout_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; - - end Dout_0_B; - - architecture Structure of Dout_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout0_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_0: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) - VARIABLE Dout0_zd : std_logic := 'X'; - VARIABLE Dout0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout0_zd := Dout0_out; - - VitalPathDelay01Z ( - OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout0, - PathCondition => TRUE)), - GlitchData => Dout0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0118 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0118 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0118 : ENTITY IS TRUE; - - end mjiobuf0118; - - architecture Structure of mjiobuf0118 is - component IBPD - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPD - port map (I=>PAD, O=>Z); - end Structure; - --- entity PHI2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity PHI2B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "PHI2B"; - - tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); - tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_PHI2S : VitalDelayType := 0 ns; - tpw_PHI2S_posedge : VitalDelayType := 0 ns; - tpw_PHI2S_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; PHI2S: in Std_logic); - - ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; - - end PHI2B; - - architecture Structure of PHI2B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PHI2S_ipd : std_logic := 'X'; - - component mjiobuf0118 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - PHI2_pad: mjiobuf0118 - port map (Z=>PADDI_out, PAD=>PHI2S_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; - VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => PHI2S_ipd, - TestSignalName => "PHI2S", - Period => tperiod_PHI2S, - PulseWidthHigh => tpw_PHI2S_posedge, - PulseWidthLow => tpw_PHI2S_negedge, - PeriodData => periodcheckinfo_PHI2S, - Violation => tviol_PHI2S_PHI2S, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, - PathDelay => tpd_PHI2S_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0119 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0119 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0119 : ENTITY IS TRUE; - - end mjiobuf0119; - - architecture Structure of mjiobuf0119 is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PAD, O=>Z); - end Structure; - --- entity UFMSDOB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDOB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDOB"; - - tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); - tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_UFMSDOS : VitalDelayType := 0 ns; - tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; - tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; - - end UFMSDOB; - - architecture Structure of UFMSDOB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal UFMSDOS_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - UFMSDO_pad: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; - VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => UFMSDOS_ipd, - TestSignalName => "UFMSDOS", - Period => tperiod_UFMSDOS, - PulseWidthHigh => tpw_UFMSDOS_posedge, - PulseWidthLow => tpw_UFMSDOS_negedge, - PeriodData => periodcheckinfo_UFMSDOS, - Violation => tviol_UFMSDOS_UFMSDOS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, - PathDelay => tpd_UFMSDOS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0120 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0120 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0120 : ENTITY IS TRUE; - - end mjiobuf0120; - - architecture Structure of mjiobuf0120 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity UFMSDIB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDIB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDIB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; - - end UFMSDIB; - - architecture Structure of UFMSDIB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMSDIS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMSDI_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) - VARIABLE UFMSDIS_zd : std_logic := 'X'; - VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMSDIS_zd := UFMSDIS_out; - - VitalPathDelay01Z ( - OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMSDIS, - PathCondition => TRUE)), - GlitchData => UFMSDIS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity UFMCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMCLKB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; - - end UFMCLKB; - - architecture Structure of UFMCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMCLKS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMCLK_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) - VARIABLE UFMCLKS_zd : std_logic := 'X'; - VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMCLKS_zd := UFMCLKS_out; - - VitalPathDelay01Z ( - OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMCLKS, - PathCondition => TRUE)), - GlitchData => UFMCLKS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nUFMCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nUFMCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nUFMCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; - - end nUFMCSB; - - architecture Structure of nUFMCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nUFMCSS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nUFMCS_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) - VARIABLE nUFMCSS_zd : std_logic := 'X'; - VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nUFMCSS_zd := nUFMCSS_out; - - VitalPathDelay01Z ( - OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nUFMCSS, - PathCondition => TRUE)), - GlitchData => nUFMCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMLB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMLB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMLB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; - - end RDQMLB; - - architecture Structure of RDQMLB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMLS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQML_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RDQMLS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) - VARIABLE RDQMLS_zd : std_logic := 'X'; - VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMLS_zd := RDQMLS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMLS, - PathCondition => TRUE)), - GlitchData => RDQMLS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMHB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMHB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMHB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; - - end RDQMHB; - - architecture Structure of RDQMHB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMHS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQMH_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RDQMHS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) - VARIABLE RDQMHS_zd : std_logic := 'X'; - VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMHS_zd := RDQMHS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMHS, - PathCondition => TRUE)), - GlitchData => RDQMHS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; - - end nRCASB; - - architecture Structure of nRCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCASS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCAS_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>nRCASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) - VARIABLE nRCASS_zd : std_logic := 'X'; - VARIABLE nRCASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCASS_zd := nRCASS_out; - - VitalPathDelay01Z ( - OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCASS, - PathCondition => TRUE)), - GlitchData => nRCASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRRASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRRASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; - - end nRRASB; - - architecture Structure of nRRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRRASS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRRAS_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>nRRASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) - VARIABLE nRRASS_zd : std_logic := 'X'; - VARIABLE nRRASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRRASS_zd := nRRASS_out; - - VitalPathDelay01Z ( - OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRRASS, - PathCondition => TRUE)), - GlitchData => nRRASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRWES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; - - end nRWEB; - - architecture Structure of nRWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRWES_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRWE_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>nRWES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) - VARIABLE nRWES_zd : std_logic := 'X'; - VARIABLE nRWES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRWES_zd := nRWES_out; - - VitalPathDelay01Z ( - OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRWES, - PathCondition => TRUE)), - GlitchData => nRWES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCKEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCKEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCKEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RCKES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; - - end RCKEB; - - architecture Structure of RCKEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RCKES_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RCKE_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RCKES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) - VARIABLE RCKES_zd : std_logic := 'X'; - VARIABLE RCKES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RCKES_zd := RCKES_out; - - VitalPathDelay01Z ( - OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RCKES, - PathCondition => TRUE)), - GlitchData => RCKES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCLKB"; - - tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); - tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RCLKS : VitalDelayType := 0 ns; - tpw_RCLKS_posedge : VitalDelayType := 0 ns; - tpw_RCLKS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; RCLKS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; - - end RCLKB; - - architecture Structure of RCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal RCLKS_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - RCLK_pad: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>RCLKS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; - VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RCLKS_ipd, - TestSignalName => "RCLKS", - Period => tperiod_RCLKS, - PulseWidthHigh => tpw_RCLKS_posedge, - PulseWidthLow => tpw_RCLKS_negedge, - PeriodData => periodcheckinfo_RCLKS, - Violation => tviol_RCLKS_RCLKS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, - PathDelay => tpd_RCLKS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; - - end nRCSB; - - architecture Structure of nRCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCSS_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCS_pad: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>nRCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) - VARIABLE nRCSS_zd : std_logic := 'X'; - VARIABLE nRCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCSS_zd := nRCSS_out; - - VitalPathDelay01Z ( - OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCSS, - PathCondition => TRUE)), - GlitchData => nRCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_7_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD7 : VitalDelayType := 0 ns; - tpw_RD7_posedge : VitalDelayType := 0 ns; - tpw_RD7_negedge : VitalDelayType := 0 ns; - tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; - - end RD_7_B; - - architecture Structure of RD_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD7_ipd : std_logic := 'X'; - signal RD7_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_7: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, - PADI=>RD7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD7_ipd, RD7, tipd_RD7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD7_zd : std_logic := 'X'; - VARIABLE RD7_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD7_RD7 : x01 := '0'; - VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD7_ipd, - TestSignalName => "RD7", - Period => tperiod_RD7, - PulseWidthHigh => tpw_RD7_posedge, - PulseWidthLow => tpw_RD7_negedge, - PeriodData => periodcheckinfo_RD7, - Violation => tviol_RD7_RD7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD7_zd := RD7_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD7_ipd'last_event, - PathDelay => tpd_RD7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD7, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD7, - PathCondition => TRUE)), - GlitchData => RD7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_6_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD6 : VitalDelayType := 0 ns; - tpw_RD6_posedge : VitalDelayType := 0 ns; - tpw_RD6_negedge : VitalDelayType := 0 ns; - tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; - - end RD_6_B; - - architecture Structure of RD_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD6_ipd : std_logic := 'X'; - signal RD6_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_6: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, - PADI=>RD6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD6_ipd, RD6, tipd_RD6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD6_zd : std_logic := 'X'; - VARIABLE RD6_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD6_RD6 : x01 := '0'; - VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD6_ipd, - TestSignalName => "RD6", - Period => tperiod_RD6, - PulseWidthHigh => tpw_RD6_posedge, - PulseWidthLow => tpw_RD6_negedge, - PeriodData => periodcheckinfo_RD6, - Violation => tviol_RD6_RD6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD6_zd := RD6_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD6_ipd'last_event, - PathDelay => tpd_RD6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD6, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD6, - PathCondition => TRUE)), - GlitchData => RD6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_5_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD5 : VitalDelayType := 0 ns; - tpw_RD5_posedge : VitalDelayType := 0 ns; - tpw_RD5_negedge : VitalDelayType := 0 ns; - tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; - - end RD_5_B; - - architecture Structure of RD_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD5_ipd : std_logic := 'X'; - signal RD5_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_5: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, - PADI=>RD5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD5_ipd, RD5, tipd_RD5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD5_zd : std_logic := 'X'; - VARIABLE RD5_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD5_RD5 : x01 := '0'; - VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD5_ipd, - TestSignalName => "RD5", - Period => tperiod_RD5, - PulseWidthHigh => tpw_RD5_posedge, - PulseWidthLow => tpw_RD5_negedge, - PeriodData => periodcheckinfo_RD5, - Violation => tviol_RD5_RD5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD5_zd := RD5_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD5_ipd'last_event, - PathDelay => tpd_RD5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD5, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD5, - PathCondition => TRUE)), - GlitchData => RD5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_4_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD4 : VitalDelayType := 0 ns; - tpw_RD4_posedge : VitalDelayType := 0 ns; - tpw_RD4_negedge : VitalDelayType := 0 ns; - tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; - - end RD_4_B; - - architecture Structure of RD_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD4_ipd : std_logic := 'X'; - signal RD4_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_4: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, - PADI=>RD4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD4_ipd, RD4, tipd_RD4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD4_zd : std_logic := 'X'; - VARIABLE RD4_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD4_RD4 : x01 := '0'; - VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD4_ipd, - TestSignalName => "RD4", - Period => tperiod_RD4, - PulseWidthHigh => tpw_RD4_posedge, - PulseWidthLow => tpw_RD4_negedge, - PeriodData => periodcheckinfo_RD4, - Violation => tviol_RD4_RD4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD4_zd := RD4_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD4_ipd'last_event, - PathDelay => tpd_RD4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD4, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD4, - PathCondition => TRUE)), - GlitchData => RD4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_3_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD3 : VitalDelayType := 0 ns; - tpw_RD3_posedge : VitalDelayType := 0 ns; - tpw_RD3_negedge : VitalDelayType := 0 ns; - tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; - - end RD_3_B; - - architecture Structure of RD_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD3_ipd : std_logic := 'X'; - signal RD3_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_3: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, - PADI=>RD3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD3_ipd, RD3, tipd_RD3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD3_zd : std_logic := 'X'; - VARIABLE RD3_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD3_RD3 : x01 := '0'; - VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD3_ipd, - TestSignalName => "RD3", - Period => tperiod_RD3, - PulseWidthHigh => tpw_RD3_posedge, - PulseWidthLow => tpw_RD3_negedge, - PeriodData => periodcheckinfo_RD3, - Violation => tviol_RD3_RD3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD3_zd := RD3_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD3_ipd'last_event, - PathDelay => tpd_RD3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD3, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD3, - PathCondition => TRUE)), - GlitchData => RD3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_2_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD2 : VitalDelayType := 0 ns; - tpw_RD2_posedge : VitalDelayType := 0 ns; - tpw_RD2_negedge : VitalDelayType := 0 ns; - tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; - - end RD_2_B; - - architecture Structure of RD_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD2_ipd : std_logic := 'X'; - signal RD2_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_2: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, - PADI=>RD2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD2_ipd, RD2, tipd_RD2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD2_zd : std_logic := 'X'; - VARIABLE RD2_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD2_RD2 : x01 := '0'; - VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD2_ipd, - TestSignalName => "RD2", - Period => tperiod_RD2, - PulseWidthHigh => tpw_RD2_posedge, - PulseWidthLow => tpw_RD2_negedge, - PeriodData => periodcheckinfo_RD2, - Violation => tviol_RD2_RD2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD2_zd := RD2_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD2_ipd'last_event, - PathDelay => tpd_RD2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD2, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD2, - PathCondition => TRUE)), - GlitchData => RD2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_1_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD1 : VitalDelayType := 0 ns; - tpw_RD1_posedge : VitalDelayType := 0 ns; - tpw_RD1_negedge : VitalDelayType := 0 ns; - tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; - - end RD_1_B; - - architecture Structure of RD_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD1_ipd : std_logic := 'X'; - signal RD1_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_1: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, - PADI=>RD1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD1_ipd, RD1, tipd_RD1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD1_zd : std_logic := 'X'; - VARIABLE RD1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD1_RD1 : x01 := '0'; - VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD1_ipd, - TestSignalName => "RD1", - Period => tperiod_RD1, - PulseWidthHigh => tpw_RD1_posedge, - PulseWidthLow => tpw_RD1_negedge, - PeriodData => periodcheckinfo_RD1, - Violation => tviol_RD1_RD1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD1_zd := RD1_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD1_ipd'last_event, - PathDelay => tpd_RD1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD1, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD1, - PathCondition => TRUE)), - GlitchData => RD1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_11_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_11_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_11_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA11: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; - - end RA_11_B; - - architecture Structure of RA_11_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA11_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_11: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA11_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA11_out) - VARIABLE RA11_zd : std_logic := 'X'; - VARIABLE RA11_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA11_zd := RA11_out; - - VitalPathDelay01Z ( - OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA11, - PathCondition => TRUE)), - GlitchData => RA11_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_10_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_10_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_10_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA10: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; - - end RA_10_B; - - architecture Structure of RA_10_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA10_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_10: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA10_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA10_out) - VARIABLE RA10_zd : std_logic := 'X'; - VARIABLE RA10_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA10_zd := RA10_out; - - VitalPathDelay01Z ( - OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA10, - PathCondition => TRUE)), - GlitchData => RA10_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_9_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA9: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; - - end RA_9_B; - - architecture Structure of RA_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA9_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_9: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA9_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA9_out) - VARIABLE RA9_zd : std_logic := 'X'; - VARIABLE RA9_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA9_zd := RA9_out; - - VitalPathDelay01Z ( - OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA9, - PathCondition => TRUE)), - GlitchData => RA9_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_8_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA8: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; - - end RA_8_B; - - architecture Structure of RA_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA8_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_8: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA8_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA8_out) - VARIABLE RA8_zd : std_logic := 'X'; - VARIABLE RA8_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA8_zd := RA8_out; - - VitalPathDelay01Z ( - OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA8, - PathCondition => TRUE)), - GlitchData => RA8_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; - - end RA_7_B; - - architecture Structure of RA_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA7_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_7: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA7_out) - VARIABLE RA7_zd : std_logic := 'X'; - VARIABLE RA7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA7_zd := RA7_out; - - VitalPathDelay01Z ( - OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA7, - PathCondition => TRUE)), - GlitchData => RA7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; - - end RA_6_B; - - architecture Structure of RA_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA6_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_6: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA6_out) - VARIABLE RA6_zd : std_logic := 'X'; - VARIABLE RA6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA6_zd := RA6_out; - - VitalPathDelay01Z ( - OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA6, - PathCondition => TRUE)), - GlitchData => RA6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; - - end RA_5_B; - - architecture Structure of RA_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA5_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_5: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA5_out) - VARIABLE RA5_zd : std_logic := 'X'; - VARIABLE RA5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA5_zd := RA5_out; - - VitalPathDelay01Z ( - OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA5, - PathCondition => TRUE)), - GlitchData => RA5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; - - end RA_4_B; - - architecture Structure of RA_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA4_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_4: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA4_out) - VARIABLE RA4_zd : std_logic := 'X'; - VARIABLE RA4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA4_zd := RA4_out; - - VitalPathDelay01Z ( - OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA4, - PathCondition => TRUE)), - GlitchData => RA4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; - - end RA_3_B; - - architecture Structure of RA_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA3_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_3: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA3_out) - VARIABLE RA3_zd : std_logic := 'X'; - VARIABLE RA3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA3_zd := RA3_out; - - VitalPathDelay01Z ( - OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA3, - PathCondition => TRUE)), - GlitchData => RA3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; - - end RA_2_B; - - architecture Structure of RA_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA2_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_2: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA2_out) - VARIABLE RA2_zd : std_logic := 'X'; - VARIABLE RA2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA2_zd := RA2_out; - - VitalPathDelay01Z ( - OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA2, - PathCondition => TRUE)), - GlitchData => RA2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; - - end RA_1_B; - - architecture Structure of RA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA1_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_1: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA1_out) - VARIABLE RA1_zd : std_logic := 'X'; - VARIABLE RA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA1_zd := RA1_out; - - VitalPathDelay01Z ( - OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA1, - PathCondition => TRUE)), - GlitchData => RA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; - - end RA_0_B; - - architecture Structure of RA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA0_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_0: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA0_out) - VARIABLE RA0_zd : std_logic := 'X'; - VARIABLE RA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA0_zd := RA0_out; - - VitalPathDelay01Z ( - OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA0, - PathCondition => TRUE)), - GlitchData => RA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; - - end RBA_1_B; - - architecture Structure of RBA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA1_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_1: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RBA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) - VARIABLE RBA1_zd : std_logic := 'X'; - VARIABLE RBA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA1_zd := RBA1_out; - - VitalPathDelay01Z ( - OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA1, - PathCondition => TRUE)), - GlitchData => RBA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; - - end RBA_0_B; - - architecture Structure of RBA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA0_out : std_logic := 'X'; - - component mjiobuf0120 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_0: mjiobuf0120 - port map (I=>PADDO_ipd, PAD=>RBA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) - VARIABLE RBA0_zd : std_logic := 'X'; - VARIABLE RBA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA0_zd := RBA0_out; - - VitalPathDelay01Z ( - OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA0, - PathCondition => TRUE)), - GlitchData => RBA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0121 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0121 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0121 : ENTITY IS TRUE; - - end mjiobuf0121; - - architecture Structure of mjiobuf0121 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity LEDB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity LEDB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "LEDB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; LEDS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; - - end LEDB; - - architecture Structure of LEDB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal LEDS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - LED_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>LEDS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) - VARIABLE LEDS_zd : std_logic := 'X'; - VARIABLE LEDS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - LEDS_zd := LEDS_out; - - VitalPathDelay01Z ( - OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_LEDS, - PathCondition => TRUE)), - GlitchData => LEDS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nFWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nFWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nFWEB"; - - tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); - tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nFWES : VitalDelayType := 0 ns; - tpw_nFWES_posedge : VitalDelayType := 0 ns; - tpw_nFWES_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nFWES: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; - - end nFWEB; - - architecture Structure of nFWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nFWES_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nFWE_pad: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>nFWES_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nFWES_nFWES : x01 := '0'; - VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nFWES_ipd, - TestSignalName => "nFWES", - Period => tperiod_nFWES, - PulseWidthHigh => tpw_nFWES_posedge, - PulseWidthLow => tpw_nFWES_negedge, - PeriodData => periodcheckinfo_nFWES, - Violation => tviol_nFWES_nFWES, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, - PathDelay => tpd_nFWES_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0122 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0122 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0122 : ENTITY IS TRUE; - - end mjiobuf0122; - - architecture Structure of mjiobuf0122 is - component IBPU - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPU - port map (I=>PAD, O=>Z); - end Structure; - --- entity nCRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCRASB"; - - tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCRASS : VitalDelayType := 0 ns; - tpw_nCRASS_posedge : VitalDelayType := 0 ns; - tpw_nCRASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCRASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; - - end nCRASB; - - architecture Structure of nCRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCRASS_ipd : std_logic := 'X'; - - component mjiobuf0122 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCRAS_pad: mjiobuf0122 - port map (Z=>PADDI_out, PAD=>nCRASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; - VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCRASS_ipd, - TestSignalName => "nCRASS", - Period => tperiod_nCRASS, - PulseWidthHigh => tpw_nCRASS_posedge, - PulseWidthLow => tpw_nCRASS_negedge, - PeriodData => periodcheckinfo_nCRASS, - Violation => tviol_nCRASS_nCRASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, - PathDelay => tpd_nCRASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nCCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCCASB"; - - tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCCASS : VitalDelayType := 0 ns; - tpw_nCCASS_posedge : VitalDelayType := 0 ns; - tpw_nCCASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCCASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; - - end nCCASB; - - architecture Structure of nCCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCCASS_ipd : std_logic := 'X'; - - component mjiobuf0122 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCCAS_pad: mjiobuf0122 - port map (Z=>PADDI_out, PAD=>nCCASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; - VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCCASS_ipd, - TestSignalName => "nCCASS", - Period => tperiod_nCCASS, - PulseWidthHigh => tpw_nCCASS_posedge, - PulseWidthLow => tpw_nCCASS_negedge, - PeriodData => periodcheckinfo_nCCASS, - Violation => tviol_nCCASS_nCCASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, - PathDelay => tpd_nCCASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; - - end Dout_7_B; - - architecture Structure of Dout_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout7_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_7: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) - VARIABLE Dout7_zd : std_logic := 'X'; - VARIABLE Dout7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout7_zd := Dout7_out; - - VitalPathDelay01Z ( - OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout7, - PathCondition => TRUE)), - GlitchData => Dout7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; - - end Dout_6_B; - - architecture Structure of Dout_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout6_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_6: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) - VARIABLE Dout6_zd : std_logic := 'X'; - VARIABLE Dout6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout6_zd := Dout6_out; - - VitalPathDelay01Z ( - OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout6, - PathCondition => TRUE)), - GlitchData => Dout6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; - - end Dout_5_B; - - architecture Structure of Dout_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout5_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_5: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) - VARIABLE Dout5_zd : std_logic := 'X'; - VARIABLE Dout5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout5_zd := Dout5_out; - - VitalPathDelay01Z ( - OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout5, - PathCondition => TRUE)), - GlitchData => Dout5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; - - end Dout_4_B; - - architecture Structure of Dout_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout4_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_4: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) - VARIABLE Dout4_zd : std_logic := 'X'; - VARIABLE Dout4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout4_zd := Dout4_out; - - VitalPathDelay01Z ( - OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout4, - PathCondition => TRUE)), - GlitchData => Dout4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; - - end Dout_3_B; - - architecture Structure of Dout_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout3_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_3: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) - VARIABLE Dout3_zd : std_logic := 'X'; - VARIABLE Dout3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout3_zd := Dout3_out; - - VitalPathDelay01Z ( - OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout3, - PathCondition => TRUE)), - GlitchData => Dout3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; - - end Dout_2_B; - - architecture Structure of Dout_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout2_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_2: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) - VARIABLE Dout2_zd : std_logic := 'X'; - VARIABLE Dout2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout2_zd := Dout2_out; - - VitalPathDelay01Z ( - OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout2, - PathCondition => TRUE)), - GlitchData => Dout2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; - - end Dout_1_B; - - architecture Structure of Dout_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout1_out : std_logic := 'X'; - - component mjiobuf0117 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_1: mjiobuf0117 - port map (I=>PADDO_ipd, PAD=>Dout1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) - VARIABLE Dout1_zd : std_logic := 'X'; - VARIABLE Dout1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout1_zd := Dout1_out; - - VitalPathDelay01Z ( - OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout1, - PathCondition => TRUE)), - GlitchData => Dout1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_7_B"; - - tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din7 : VitalDelayType := 0 ns; - tpw_Din7_posedge : VitalDelayType := 0 ns; - tpw_Din7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; - - end Din_7_B; - - architecture Structure of Din_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din7_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_7: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din7_ipd, Din7, tipd_Din7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din7_Din7 : x01 := '0'; - VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din7_ipd, - TestSignalName => "Din7", - Period => tperiod_Din7, - PulseWidthHigh => tpw_Din7_posedge, - PulseWidthLow => tpw_Din7_negedge, - PeriodData => periodcheckinfo_Din7, - Violation => tviol_Din7_Din7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din7_ipd'last_event, - PathDelay => tpd_Din7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_6_B"; - - tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din6 : VitalDelayType := 0 ns; - tpw_Din6_posedge : VitalDelayType := 0 ns; - tpw_Din6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; - - end Din_6_B; - - architecture Structure of Din_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din6_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_6: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din6_ipd, Din6, tipd_Din6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din6_Din6 : x01 := '0'; - VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din6_ipd, - TestSignalName => "Din6", - Period => tperiod_Din6, - PulseWidthHigh => tpw_Din6_posedge, - PulseWidthLow => tpw_Din6_negedge, - PeriodData => periodcheckinfo_Din6, - Violation => tviol_Din6_Din6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din6_ipd'last_event, - PathDelay => tpd_Din6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_5_B"; - - tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din5 : VitalDelayType := 0 ns; - tpw_Din5_posedge : VitalDelayType := 0 ns; - tpw_Din5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; - - end Din_5_B; - - architecture Structure of Din_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din5_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_5: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din5_ipd, Din5, tipd_Din5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din5_Din5 : x01 := '0'; - VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din5_ipd, - TestSignalName => "Din5", - Period => tperiod_Din5, - PulseWidthHigh => tpw_Din5_posedge, - PulseWidthLow => tpw_Din5_negedge, - PeriodData => periodcheckinfo_Din5, - Violation => tviol_Din5_Din5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din5_ipd'last_event, - PathDelay => tpd_Din5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_4_B"; - - tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din4 : VitalDelayType := 0 ns; - tpw_Din4_posedge : VitalDelayType := 0 ns; - tpw_Din4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; - - end Din_4_B; - - architecture Structure of Din_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din4_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_4: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din4_ipd, Din4, tipd_Din4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din4_Din4 : x01 := '0'; - VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din4_ipd, - TestSignalName => "Din4", - Period => tperiod_Din4, - PulseWidthHigh => tpw_Din4_posedge, - PulseWidthLow => tpw_Din4_negedge, - PeriodData => periodcheckinfo_Din4, - Violation => tviol_Din4_Din4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din4_ipd'last_event, - PathDelay => tpd_Din4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_3_B"; - - tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din3 : VitalDelayType := 0 ns; - tpw_Din3_posedge : VitalDelayType := 0 ns; - tpw_Din3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; - - end Din_3_B; - - architecture Structure of Din_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din3_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_3: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din3_ipd, Din3, tipd_Din3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din3_Din3 : x01 := '0'; - VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din3_ipd, - TestSignalName => "Din3", - Period => tperiod_Din3, - PulseWidthHigh => tpw_Din3_posedge, - PulseWidthLow => tpw_Din3_negedge, - PeriodData => periodcheckinfo_Din3, - Violation => tviol_Din3_Din3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din3_ipd'last_event, - PathDelay => tpd_Din3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_2_B"; - - tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din2 : VitalDelayType := 0 ns; - tpw_Din2_posedge : VitalDelayType := 0 ns; - tpw_Din2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; - - end Din_2_B; - - architecture Structure of Din_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din2_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_2: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din2_ipd, Din2, tipd_Din2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din2_Din2 : x01 := '0'; - VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din2_ipd, - TestSignalName => "Din2", - Period => tperiod_Din2, - PulseWidthHigh => tpw_Din2_posedge, - PulseWidthLow => tpw_Din2_negedge, - PeriodData => periodcheckinfo_Din2, - Violation => tviol_Din2_Din2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din2_ipd'last_event, - PathDelay => tpd_Din2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_1_B"; - - tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din1 : VitalDelayType := 0 ns; - tpw_Din1_posedge : VitalDelayType := 0 ns; - tpw_Din1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; - - end Din_1_B; - - architecture Structure of Din_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din1_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_1: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din1_ipd, Din1, tipd_Din1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din1_Din1 : x01 := '0'; - VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din1_ipd, - TestSignalName => "Din1", - Period => tperiod_Din1, - PulseWidthHigh => tpw_Din1_posedge, - PulseWidthLow => tpw_Din1_negedge, - PeriodData => periodcheckinfo_Din1, - Violation => tviol_Din1_Din1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din1_ipd'last_event, - PathDelay => tpd_Din1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_0_B"; - - tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din0 : VitalDelayType := 0 ns; - tpw_Din0_posedge : VitalDelayType := 0 ns; - tpw_Din0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; - - end Din_0_B; - - architecture Structure of Din_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din0_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_0: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>Din0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din0_ipd, Din0, tipd_Din0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din0_Din0 : x01 := '0'; - VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din0_ipd, - TestSignalName => "Din0", - Period => tperiod_Din0, - PulseWidthHigh => tpw_Din0_posedge, - PulseWidthLow => tpw_Din0_negedge, - PeriodData => periodcheckinfo_Din0, - Violation => tviol_Din0_Din0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din0_ipd'last_event, - PathDelay => tpd_Din0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_1_B"; - - tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW1 : VitalDelayType := 0 ns; - tpw_CROW1_posedge : VitalDelayType := 0 ns; - tpw_CROW1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; - - end CROW_1_B; - - architecture Structure of CROW_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW1_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_1: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>CROW1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW1_CROW1 : x01 := '0'; - VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW1_ipd, - TestSignalName => "CROW1", - Period => tperiod_CROW1, - PulseWidthHigh => tpw_CROW1_posedge, - PulseWidthLow => tpw_CROW1_negedge, - PeriodData => periodcheckinfo_CROW1, - Violation => tviol_CROW1_CROW1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, - PathDelay => tpd_CROW1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_0_B"; - - tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW0 : VitalDelayType := 0 ns; - tpw_CROW0_posedge : VitalDelayType := 0 ns; - tpw_CROW0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; - - end CROW_0_B; - - architecture Structure of CROW_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW0_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_0: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>CROW0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW0_CROW0 : x01 := '0'; - VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW0_ipd, - TestSignalName => "CROW0", - Period => tperiod_CROW0, - PulseWidthHigh => tpw_CROW0_posedge, - PulseWidthLow => tpw_CROW0_negedge, - PeriodData => periodcheckinfo_CROW0, - Violation => tviol_CROW0_CROW0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, - PathDelay => tpd_CROW0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_9_B"; - - tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin9 : VitalDelayType := 0 ns; - tpw_MAin9_posedge : VitalDelayType := 0 ns; - tpw_MAin9_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin9: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; - - end MAin_9_B; - - architecture Structure of MAin_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin9_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_9: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin9_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin9_MAin9 : x01 := '0'; - VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin9_ipd, - TestSignalName => "MAin9", - Period => tperiod_MAin9, - PulseWidthHigh => tpw_MAin9_posedge, - PulseWidthLow => tpw_MAin9_negedge, - PeriodData => periodcheckinfo_MAin9, - Violation => tviol_MAin9_MAin9, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, - PathDelay => tpd_MAin9_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_8_B"; - - tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin8 : VitalDelayType := 0 ns; - tpw_MAin8_posedge : VitalDelayType := 0 ns; - tpw_MAin8_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin8: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; - - end MAin_8_B; - - architecture Structure of MAin_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin8_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_8: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin8_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin8_MAin8 : x01 := '0'; - VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin8_ipd, - TestSignalName => "MAin8", - Period => tperiod_MAin8, - PulseWidthHigh => tpw_MAin8_posedge, - PulseWidthLow => tpw_MAin8_negedge, - PeriodData => periodcheckinfo_MAin8, - Violation => tviol_MAin8_MAin8, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, - PathDelay => tpd_MAin8_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_7_B"; - - tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin7 : VitalDelayType := 0 ns; - tpw_MAin7_posedge : VitalDelayType := 0 ns; - tpw_MAin7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; - - end MAin_7_B; - - architecture Structure of MAin_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin7_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_7: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin7_MAin7 : x01 := '0'; - VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin7_ipd, - TestSignalName => "MAin7", - Period => tperiod_MAin7, - PulseWidthHigh => tpw_MAin7_posedge, - PulseWidthLow => tpw_MAin7_negedge, - PeriodData => periodcheckinfo_MAin7, - Violation => tviol_MAin7_MAin7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, - PathDelay => tpd_MAin7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_6_B"; - - tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin6 : VitalDelayType := 0 ns; - tpw_MAin6_posedge : VitalDelayType := 0 ns; - tpw_MAin6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; - - end MAin_6_B; - - architecture Structure of MAin_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin6_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_6: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin6_MAin6 : x01 := '0'; - VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin6_ipd, - TestSignalName => "MAin6", - Period => tperiod_MAin6, - PulseWidthHigh => tpw_MAin6_posedge, - PulseWidthLow => tpw_MAin6_negedge, - PeriodData => periodcheckinfo_MAin6, - Violation => tviol_MAin6_MAin6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, - PathDelay => tpd_MAin6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_5_B"; - - tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin5 : VitalDelayType := 0 ns; - tpw_MAin5_posedge : VitalDelayType := 0 ns; - tpw_MAin5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; - - end MAin_5_B; - - architecture Structure of MAin_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin5_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_5: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin5_MAin5 : x01 := '0'; - VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin5_ipd, - TestSignalName => "MAin5", - Period => tperiod_MAin5, - PulseWidthHigh => tpw_MAin5_posedge, - PulseWidthLow => tpw_MAin5_negedge, - PeriodData => periodcheckinfo_MAin5, - Violation => tviol_MAin5_MAin5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, - PathDelay => tpd_MAin5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_4_B"; - - tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin4 : VitalDelayType := 0 ns; - tpw_MAin4_posedge : VitalDelayType := 0 ns; - tpw_MAin4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; - - end MAin_4_B; - - architecture Structure of MAin_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin4_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_4: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin4_MAin4 : x01 := '0'; - VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin4_ipd, - TestSignalName => "MAin4", - Period => tperiod_MAin4, - PulseWidthHigh => tpw_MAin4_posedge, - PulseWidthLow => tpw_MAin4_negedge, - PeriodData => periodcheckinfo_MAin4, - Violation => tviol_MAin4_MAin4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, - PathDelay => tpd_MAin4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_3_B"; - - tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin3 : VitalDelayType := 0 ns; - tpw_MAin3_posedge : VitalDelayType := 0 ns; - tpw_MAin3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; - - end MAin_3_B; - - architecture Structure of MAin_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin3_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_3: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin3_MAin3 : x01 := '0'; - VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin3_ipd, - TestSignalName => "MAin3", - Period => tperiod_MAin3, - PulseWidthHigh => tpw_MAin3_posedge, - PulseWidthLow => tpw_MAin3_negedge, - PeriodData => periodcheckinfo_MAin3, - Violation => tviol_MAin3_MAin3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, - PathDelay => tpd_MAin3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_2_B"; - - tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin2 : VitalDelayType := 0 ns; - tpw_MAin2_posedge : VitalDelayType := 0 ns; - tpw_MAin2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; - - end MAin_2_B; - - architecture Structure of MAin_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin2_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_2: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin2_MAin2 : x01 := '0'; - VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin2_ipd, - TestSignalName => "MAin2", - Period => tperiod_MAin2, - PulseWidthHigh => tpw_MAin2_posedge, - PulseWidthLow => tpw_MAin2_negedge, - PeriodData => periodcheckinfo_MAin2, - Violation => tviol_MAin2_MAin2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, - PathDelay => tpd_MAin2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_1_B"; - - tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin1 : VitalDelayType := 0 ns; - tpw_MAin1_posedge : VitalDelayType := 0 ns; - tpw_MAin1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; - - end MAin_1_B; - - architecture Structure of MAin_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin1_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_1: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin1_MAin1 : x01 := '0'; - VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin1_ipd, - TestSignalName => "MAin1", - Period => tperiod_MAin1, - PulseWidthHigh => tpw_MAin1_posedge, - PulseWidthLow => tpw_MAin1_negedge, - PeriodData => periodcheckinfo_MAin1, - Violation => tviol_MAin1_MAin1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, - PathDelay => tpd_MAin1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_0_B"; - - tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin0 : VitalDelayType := 0 ns; - tpw_MAin0_posedge : VitalDelayType := 0 ns; - tpw_MAin0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; - - end MAin_0_B; - - architecture Structure of MAin_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin0_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_0: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>MAin0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin0_MAin0 : x01 := '0'; - VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin0_ipd, - TestSignalName => "MAin0", - Period => tperiod_MAin0, - PulseWidthHigh => tpw_MAin0_posedge, - PulseWidthLow => tpw_MAin0_negedge, - PeriodData => periodcheckinfo_MAin0, - Violation => tviol_MAin0_MAin0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, - PathDelay => tpd_MAin0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RAM2GS - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RAM2GS is - port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); - CROW: in Std_logic_vector (1 downto 0); - Din: in Std_logic_vector (7 downto 0); - Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; - nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; - RBA: out Std_logic_vector (1 downto 0); - RA: out Std_logic_vector (11 downto 0); - RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; - RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; - nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; - RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; - UFMSDI: out Std_logic; UFMSDO: in Std_logic); - - - - end RAM2GS; - - architecture Structure of RAM2GS is - signal FS_1: Std_logic; - signal FS_0: Std_logic; - signal RCLK_c: Std_logic; - signal FS_cry_1: Std_logic; - signal FS_17: Std_logic; - signal FS_16: Std_logic; - signal FS_cry_15: Std_logic; - signal FS_15: Std_logic; - signal FS_14: Std_logic; - signal FS_cry_13: Std_logic; - signal FS_13: Std_logic; - signal FS_12: Std_logic; - signal FS_cry_11: Std_logic; - signal FS_11: Std_logic; - signal FS_10: Std_logic; - signal FS_cry_9: Std_logic; - signal FS_9: Std_logic; - signal FS_8: Std_logic; - signal FS_cry_7: Std_logic; - signal FS_7: Std_logic; - signal FS_6: Std_logic; - signal FS_cry_5: Std_logic; - signal FS_5: Std_logic; - signal FS_4: Std_logic; - signal FS_cry_3: Std_logic; - signal FS_3: Std_logic; - signal FS_2: Std_logic; - signal CmdEnable17_0_a2_4: Std_logic; - signal CmdEnable17_0_a2_3: Std_logic; - signal MAin_c_0: Std_logic; - signal N_147: Std_logic; - signal ADSubmitted: Std_logic; - signal CmdEnable17: Std_logic; - signal CmdEnable16: Std_logic; - signal C1WR_0_a2: Std_logic; - signal ADSubmitted_r: Std_logic; - signal PHI2_c: Std_logic; - signal CmdEnable16_0_a2_5: Std_logic; - signal CmdEnable16_0_a2_4: Std_logic; - signal MAin_c_1: Std_logic; - signal C1Submitted: Std_logic; - signal C1Submitted_RNO: Std_logic; - signal RASr2: Std_logic; - signal S_1: Std_logic; - signal CO0: Std_logic; - signal IS_3: Std_logic; - signal N_177_i: Std_logic; - signal Ready_0_sqmuxa_0_a3_2: Std_logic; - signal CmdEnable: Std_logic; - signal un1_CMDWR: Std_logic; - signal CmdEnable_s: Std_logic; - signal N_128: Std_logic; - signal Din_c_5: Std_logic; - signal Din_c_3: Std_logic; - signal N_133: Std_logic; - signal N_152: Std_logic; - signal N_132: Std_logic; - signal LEDEN: Std_logic; - signal N_21_i: Std_logic; - signal XOR8MEG18: Std_logic; - signal CmdLEDEN: Std_logic; - signal CmdSubmitted: Std_logic; - signal InitReady: Std_logic; - signal PHI2r3: Std_logic; - signal PHI2r2: Std_logic; - signal CmdSubmitted_1_sqmuxa: Std_logic; - signal N_460_0: Std_logic; - signal N_136: Std_logic; - signal N_43: Std_logic; - signal Cmdn8MEGEN: Std_logic; - signal CmdEnable16_4: Std_logic; - signal n8MEGEN: Std_logic; - signal Cmdn8MEGEN_4_u_i_0: Std_logic; - signal N_19_i: Std_logic; - signal nRRAS_5_u_i_0: Std_logic; - signal IS_0: Std_logic; - signal N_160: Std_logic; - signal N_155: Std_logic; - signal Ready: Std_logic; - signal N_64_i_i: Std_logic; - signal N_24: Std_logic; - signal IS_1: Std_logic; - signal IS_2: Std_logic; - signal N_60_i_i: Std_logic; - signal N_56_i: Std_logic; - signal N_159_i: Std_logic; - signal N_159: Std_logic; - signal N_61_i_i: Std_logic; - signal RA10s_i: Std_logic; - signal N_126: Std_logic; - signal N_51: Std_logic; - signal UFMSDI_ens2_i_a2_4_2: Std_logic; - signal InitReady3: Std_logic; - signal N_461_0: Std_logic; - signal UFMSDI_ens2_i_a0: Std_logic; - signal nCRAS_c: Std_logic; - signal CBR: Std_logic; - signal UFMSDO_c: Std_logic; - signal N_70: Std_logic; - signal N_33: Std_logic; - signal LED_c: Std_logic; - signal un1_Din_4: Std_logic; - signal XOR8MEG: Std_logic; - signal Din_c_6: Std_logic; - signal RA11_2: Std_logic; - signal Ready_fast: Std_logic; - signal RA_c_11: Std_logic; - signal N_171: Std_logic; - signal CASr2: Std_logic; - signal FWEr_fast: Std_logic; - signal RCKEEN_8_u_0_0: Std_logic; - signal RCKEEN_8_u_1: Std_logic; - signal RCKEEN_8: Std_logic; - signal PHI2r: Std_logic; - signal RCKEEN: Std_logic; - signal RASr3: Std_logic; - signal RASr: Std_logic; - signal RCKE_2: Std_logic; - signal RCKE_c: Std_logic; - signal m18_0_a3_3: Std_logic; - signal S_0_i_o2_1: Std_logic; - signal N_165: Std_logic; - signal N_462_0: Std_logic; - signal Ready_0_sqmuxa: Std_logic; - signal N_463_0: Std_logic; - signal nRRAS_0_sqmuxa: Std_logic; - signal CmdUFMCLK: Std_logic; - signal N_129: Std_logic; - signal UFMCLK_r_i_a2_2_2: Std_logic; - signal UFMCLK_c: Std_logic; - signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; - signal nUFMCS15: Std_logic; - signal N_139_i: Std_logic; - signal UFMCLK_RNO: Std_logic; - signal UFMSDI_r_xx_mm_1: Std_logic; - signal UFMSDI_c: Std_logic; - signal UFMSDI_RNO: Std_logic; - signal MAin_c_4: Std_logic; - signal nRowColSel: Std_logic; - signal RowA_4: Std_logic; - signal Din_c_4: Std_logic; - signal nCCAS_c: Std_logic; - signal RA_c_4: Std_logic; - signal WRD_4: Std_logic; - signal WRD_5: Std_logic; - signal Bank_7: Std_logic; - signal Bank_6: Std_logic; - signal Bank_5: Std_logic; - signal Bank_2: Std_logic; - signal Din_c_7: Std_logic; - signal WRD_6: Std_logic; - signal C1WR_0_a2_0_11: Std_logic; - signal WRD_7: Std_logic; - signal Din_c_0: Std_logic; - signal Din_c_2: Std_logic; - signal Din_c_1: Std_logic; - signal XOR8MEG_3_u_0_a3_2: Std_logic; - signal XOR8MEG_3: Std_logic; - signal N_69: Std_logic; - signal N_31: Std_logic; - signal N_151: Std_logic; - signal N_41: Std_logic; - signal g0_1: Std_logic; - signal nRCAS_0_sqmuxa_1: Std_logic; - signal N_37_i: Std_logic; - signal nRCAS_c: Std_logic; - signal CASr3: Std_logic; - signal RCKEEN_8_u_0_a2_1_out: Std_logic; - signal N_28_i_1: Std_logic; - signal N_28_i: Std_logic; - signal nRCS_c: Std_logic; - signal N_24_i: Std_logic; - signal nRRAS_c: Std_logic; - signal CBR_fast: Std_logic; - signal m18_0_a2_1: Std_logic; - signal FWEr: Std_logic; - signal G_17_1: Std_logic; - signal N_39_i: Std_logic; - signal nRWE_c: Std_logic; - signal N_179: Std_logic; - signal nRowColSel_0_0: Std_logic; - signal nUFMCS_c: Std_logic; - signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; - signal nUFMCS_s_0_N_5_i: Std_logic; - signal CmdUFMCS: Std_logic; - signal N_95_5: Std_logic; - signal N_95_3: Std_logic; - signal RowA_0: Std_logic; - signal RowA_1: Std_logic; - signal MAin_c_5: Std_logic; - signal CmdUFMCLK_1_sqmuxa: Std_logic; - signal RowA_5: Std_logic; - signal N_137_8: Std_logic; - signal un1_FS_14_i_a2_0_1: Std_logic; - signal N_137_6: Std_logic; - signal un1_FS_13_i_a2_1: Std_logic; - signal Bank_0: Std_logic; - signal C1WR_0_a2_0_10: Std_logic; - signal Bank_1: Std_logic; - signal MAin_c_6: Std_logic; - signal MAin_c_7: Std_logic; - signal C1WR_0_a2_0_3: Std_logic; - signal Bank_3: Std_logic; - signal Bank_4: Std_logic; - signal C1WR_0_a2_0_4: Std_logic; - signal UFMSDI_ens2_i_o2_0_3: Std_logic; - signal MAin_c_3: Std_logic; - signal MAin_c_2: Std_logic; - signal RowA_2: Std_logic; - signal RowA_3: Std_logic; - signal CmdUFMSDI: Std_logic; - signal CASr: Std_logic; - signal CmdEnable16_1: Std_logic; - signal m6_0_a2_2: Std_logic; - signal WRD_0: Std_logic; - signal WRD_1: Std_logic; - signal g4_0_0_0: Std_logic; - signal MAin_c_9: Std_logic; - signal MAin_c_8: Std_logic; - signal RowA_8: Std_logic; - signal RowA_9: Std_logic; - signal nFWE_c: Std_logic; - signal CROW_c_1: Std_logic; - signal CROW_c_0: Std_logic; - signal RBA_c_0: Std_logic; - signal RBA_c_1: Std_logic; - signal WRD_2: Std_logic; - signal WRD_3: Std_logic; - signal RA_c_9: Std_logic; - signal RDQML_c: Std_logic; - signal RD_1_i: Std_logic; - signal RowA_6: Std_logic; - signal RowA_7: Std_logic; - signal RA_c_8: Std_logic; - signal RDQMH_c: Std_logic; - signal RA_c_0: Std_logic; - signal RA_c_1: Std_logic; - signal RA_c_7: Std_logic; - signal RA_c_2: Std_logic; - signal RA_c_6: Std_logic; - signal RA_c_3: Std_logic; - signal RA_c_5: Std_logic; - signal RA_c_10: Std_logic; - signal RD_in_0: Std_logic; - signal RD_in_7: Std_logic; - signal RD_in_6: Std_logic; - signal RD_in_5: Std_logic; - signal RD_in_4: Std_logic; - signal RD_in_3: Std_logic; - signal RD_in_2: Std_logic; - signal RD_in_1: Std_logic; - signal VCCI: Std_logic; - signal GNDI_TSALL: Std_logic; - component VHI - port (Z: out Std_logic); - end component; - component VLO - port (Z: out Std_logic); - end component; - component PUR - port (PUR: in Std_logic); - end component; - component GSR - port (GSR: in Std_logic); - end component; - component TSALL - port (TSALL: in Std_logic); - end component; - component SLICE_0 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - end component; - component SLICE_1 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_2 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_3 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_4 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_5 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_6 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_7 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_8 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_9 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_14 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_19 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_20 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - end component; - component SLICE_21 - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_22 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_26 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_29 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_30 - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_31 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_32 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_33 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_39 - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_41 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_42 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_43 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_44 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_50 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_51 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_52 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_55 - port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_56 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_57 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_58 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_59 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_60 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_61 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_62 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_63 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_64 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component nRWE_RNO_1_SLICE_65 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - end component; - component SLICE_66 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_67 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_68 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_69 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_70 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_71 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_72 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_73 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_74 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_75 - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_76 - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_77 - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_78 - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_79 - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_80 - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_81 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_82 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_83 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_84 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_85 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_86 - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_87 - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_88 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - C0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_89 - port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_90 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_91 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_92 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_93 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_94 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component RD_0_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - end component; - component Dout_0_B - port (PADDO: in Std_logic; Dout0: out Std_logic); - end component; - component PHI2B - port (PADDI: out Std_logic; PHI2S: in Std_logic); - end component; - component UFMSDOB - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - end component; - component UFMSDIB - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - end component; - component UFMCLKB - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - end component; - component nUFMCSB - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - end component; - component RDQMLB - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - end component; - component RDQMHB - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - end component; - component nRCASB - port (PADDO: in Std_logic; nRCASS: out Std_logic); - end component; - component nRRASB - port (PADDO: in Std_logic; nRRASS: out Std_logic); - end component; - component nRWEB - port (PADDO: in Std_logic; nRWES: out Std_logic); - end component; - component RCKEB - port (PADDO: in Std_logic; RCKES: out Std_logic); - end component; - component RCLKB - port (PADDI: out Std_logic; RCLKS: in Std_logic); - end component; - component nRCSB - port (PADDO: in Std_logic; nRCSS: out Std_logic); - end component; - component RD_7_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - end component; - component RD_6_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - end component; - component RD_5_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - end component; - component RD_4_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - end component; - component RD_3_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - end component; - component RD_2_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - end component; - component RD_1_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - end component; - component RA_11_B - port (PADDO: in Std_logic; RA11: out Std_logic); - end component; - component RA_10_B - port (PADDO: in Std_logic; RA10: out Std_logic); - end component; - component RA_9_B - port (PADDO: in Std_logic; RA9: out Std_logic); - end component; - component RA_8_B - port (PADDO: in Std_logic; RA8: out Std_logic); - end component; - component RA_7_B - port (PADDO: in Std_logic; RA7: out Std_logic); - end component; - component RA_6_B - port (PADDO: in Std_logic; RA6: out Std_logic); - end component; - component RA_5_B - port (PADDO: in Std_logic; RA5: out Std_logic); - end component; - component RA_4_B - port (PADDO: in Std_logic; RA4: out Std_logic); - end component; - component RA_3_B - port (PADDO: in Std_logic; RA3: out Std_logic); - end component; - component RA_2_B - port (PADDO: in Std_logic; RA2: out Std_logic); - end component; - component RA_1_B - port (PADDO: in Std_logic; RA1: out Std_logic); - end component; - component RA_0_B - port (PADDO: in Std_logic; RA0: out Std_logic); - end component; - component RBA_1_B - port (PADDO: in Std_logic; RBA1: out Std_logic); - end component; - component RBA_0_B - port (PADDO: in Std_logic; RBA0: out Std_logic); - end component; - component LEDB - port (PADDO: in Std_logic; LEDS: out Std_logic); - end component; - component nFWEB - port (PADDI: out Std_logic; nFWES: in Std_logic); - end component; - component nCRASB - port (PADDI: out Std_logic; nCRASS: in Std_logic); - end component; - component nCCASB - port (PADDI: out Std_logic; nCCASS: in Std_logic); - end component; - component Dout_7_B - port (PADDO: in Std_logic; Dout7: out Std_logic); - end component; - component Dout_6_B - port (PADDO: in Std_logic; Dout6: out Std_logic); - end component; - component Dout_5_B - port (PADDO: in Std_logic; Dout5: out Std_logic); - end component; - component Dout_4_B - port (PADDO: in Std_logic; Dout4: out Std_logic); - end component; - component Dout_3_B - port (PADDO: in Std_logic; Dout3: out Std_logic); - end component; - component Dout_2_B - port (PADDO: in Std_logic; Dout2: out Std_logic); - end component; - component Dout_1_B - port (PADDO: in Std_logic; Dout1: out Std_logic); - end component; - component Din_7_B - port (PADDI: out Std_logic; Din7: in Std_logic); - end component; - component Din_6_B - port (PADDI: out Std_logic; Din6: in Std_logic); - end component; - component Din_5_B - port (PADDI: out Std_logic; Din5: in Std_logic); - end component; - component Din_4_B - port (PADDI: out Std_logic; Din4: in Std_logic); - end component; - component Din_3_B - port (PADDI: out Std_logic; Din3: in Std_logic); - end component; - component Din_2_B - port (PADDI: out Std_logic; Din2: in Std_logic); - end component; - component Din_1_B - port (PADDI: out Std_logic; Din1: in Std_logic); - end component; - component Din_0_B - port (PADDI: out Std_logic; Din0: in Std_logic); - end component; - component CROW_1_B - port (PADDI: out Std_logic; CROW1: in Std_logic); - end component; - component CROW_0_B - port (PADDI: out Std_logic; CROW0: in Std_logic); - end component; - component MAin_9_B - port (PADDI: out Std_logic; MAin9: in Std_logic); - end component; - component MAin_8_B - port (PADDI: out Std_logic; MAin8: in Std_logic); - end component; - component MAin_7_B - port (PADDI: out Std_logic; MAin7: in Std_logic); - end component; - component MAin_6_B - port (PADDI: out Std_logic; MAin6: in Std_logic); - end component; - component MAin_5_B - port (PADDI: out Std_logic; MAin5: in Std_logic); - end component; - component MAin_4_B - port (PADDI: out Std_logic; MAin4: in Std_logic); - end component; - component MAin_3_B - port (PADDI: out Std_logic; MAin3: in Std_logic); - end component; - component MAin_2_B - port (PADDI: out Std_logic; MAin2: in Std_logic); - end component; - component MAin_1_B - port (PADDI: out Std_logic; MAin1: in Std_logic); - end component; - component MAin_0_B - port (PADDI: out Std_logic; MAin0: in Std_logic); - end component; - begin - SLICE_0I: SLICE_0 - port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, - FCO=>FS_cry_1); - SLICE_1I: SLICE_1 - port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, - Q1=>FS_17); - SLICE_2I: SLICE_2 - port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, - Q1=>FS_15, FCO=>FS_cry_15); - SLICE_3I: SLICE_3 - port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, - Q1=>FS_13, FCO=>FS_cry_13); - SLICE_4I: SLICE_4 - port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, - Q1=>FS_11, FCO=>FS_cry_11); - SLICE_5I: SLICE_5 - port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, - Q1=>FS_9, FCO=>FS_cry_9); - SLICE_6I: SLICE_6 - port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, - Q1=>FS_7, FCO=>FS_cry_7); - SLICE_7I: SLICE_7 - port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, - Q1=>FS_5, FCO=>FS_cry_5); - SLICE_8I: SLICE_8 - port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, - Q1=>FS_3, FCO=>FS_cry_3); - SLICE_9I: SLICE_9 - port map (D1=>CmdEnable17_0_a2_4, C1=>CmdEnable17_0_a2_3, B1=>MAin_c_0, - A1=>N_147, D0=>ADSubmitted, C0=>CmdEnable17, B0=>CmdEnable16, - A0=>C1WR_0_a2, DI0=>ADSubmitted_r, CLK=>PHI2_c, - F0=>ADSubmitted_r, Q0=>ADSubmitted, F1=>CmdEnable17); - SLICE_14I: SLICE_14 - port map (D1=>CmdEnable16_0_a2_5, C1=>CmdEnable16_0_a2_4, A1=>N_147, - D0=>MAin_c_1, C0=>CmdEnable16, B0=>C1Submitted, A0=>N_147, - DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, - Q0=>C1Submitted, F1=>CmdEnable16); - SLICE_19I: SLICE_19 - port map (D1=>RASr2, C1=>S_1, B1=>CO0, A1=>IS_3, C0=>S_1, A0=>CO0, - DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, - F1=>Ready_0_sqmuxa_0_a3_2); - SLICE_20I: SLICE_20 - port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>CmdEnable17, C0=>un1_CMDWR, - B0=>C1Submitted, A0=>CmdEnable, DI0=>CmdEnable_s, - M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); - SLICE_21I: SLICE_21 - port map (D1=>N_128, B1=>Din_c_5, A1=>Din_c_3, D0=>N_133, C0=>N_152, - B0=>N_132, A0=>LEDEN, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, - F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); - SLICE_22I: SLICE_22 - port map (D1=>CmdSubmitted, C1=>InitReady, B1=>PHI2r3, A1=>PHI2r2, - C0=>CmdSubmitted_1_sqmuxa, A0=>CmdSubmitted, DI0=>N_460_0, - CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); - SLICE_26I: SLICE_26 - port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, - D0=>n8MEGEN, C0=>Cmdn8MEGEN_4_u_i_0, A0=>N_152, DI0=>N_19_i, - CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, - F1=>Cmdn8MEGEN_4_u_i_0); - SLICE_29I: SLICE_29 - port map (D1=>nRRAS_5_u_i_0, C1=>IS_0, B1=>N_160, A1=>N_155, D0=>IS_0, - B0=>Ready, A0=>N_155, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, - Q0=>IS_0, F1=>N_24); - SLICE_30I: SLICE_30 - port map (D1=>IS_0, B1=>IS_1, A1=>IS_2, D0=>IS_0, A0=>IS_1, - DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); - SLICE_31I: SLICE_31 - port map (D1=>IS_2, C1=>N_159, B1=>IS_1, A1=>IS_3, D0=>IS_2, C0=>IS_0, - B0=>IS_1, A0=>IS_3, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); - SLICE_32I: SLICE_32 - port map (D1=>N_126, C1=>N_51, B1=>UFMSDI_ens2_i_a2_4_2, A1=>InitReady, - B0=>InitReady3, A0=>InitReady, DI0=>N_461_0, CLK=>RCLK_c, - F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); - SLICE_33I: SLICE_33 - port map (D1=>nCRAS_c, C1=>LEDEN, A1=>CBR, D0=>UFMSDO_c, C0=>InitReady, - A0=>CmdLEDEN, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, - Q0=>LEDEN, F1=>LED_c); - SLICE_39I: SLICE_39 - port map (D1=>un1_Din_4, A1=>XOR8MEG, D0=>Din_c_6, C0=>n8MEGEN, - A0=>XOR8MEG, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, - F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); - SLICE_41I: SLICE_41 - port map (D1=>CASr2, C1=>S_1, B1=>CO0, A1=>FWEr_fast, D0=>CBR, C0=>Ready, - B0=>RCKEEN_8_u_0_0, A0=>RCKEEN_8_u_1, DI0=>RCKEEN_8, M1=>PHI2r, - CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, F1=>RCKEEN_8_u_1, - Q1=>PHI2r2); - SLICE_42I: SLICE_42 - port map (D1=>IS_0, C1=>RASr2, B1=>IS_2, A1=>IS_1, D0=>RCKEEN, C0=>RASr3, - B0=>RASr, A0=>RASr2, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, - F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); - SLICE_43I: SLICE_43 - port map (D1=>InitReady, C1=>RASr2, B1=>Ready, A1=>S_0_i_o2_1, - D0=>InitReady, C0=>Ready, B0=>N_165, A0=>Ready_0_sqmuxa_0_a3_2, - DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, - F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); - SLICE_44I: SLICE_44 - port map (D1=>Ready, C1=>InitReady, B1=>Ready_0_sqmuxa_0_a3_2, A1=>N_165, - C0=>Ready_0_sqmuxa, A0=>Ready_fast, DI0=>N_463_0, M1=>nCRAS_c, - CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, - Q1=>RASr); - SLICE_50I: SLICE_50 - port map (D1=>Ready, C1=>CO0, B1=>S_1, C0=>CO0, A0=>S_1, DI0=>S_0_i_o2_1, - LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, - F1=>nRRAS_0_sqmuxa); - SLICE_51I: SLICE_51 - port map (D1=>CmdUFMCLK, C1=>N_129, B1=>InitReady, A1=>UFMCLK_r_i_a2_2_2, - D0=>UFMCLK_c, C0=>UFMCLK_r_i_m4_xx_mm_1, B0=>nUFMCS15, - A0=>N_139_i, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, - F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, - Q1=>RASr2); - SLICE_52I: SLICE_52 - port map (D1=>PHI2r2, C1=>PHI2r3, B1=>InitReady, A1=>CmdSubmitted, - D0=>UFMSDI_r_xx_mm_1, C0=>N_139_i, B0=>UFMSDI_c, A0=>nUFMCS15, - DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, - Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); - SLICE_55I: SLICE_55 - port map (D0=>MAin_c_4, B0=>nRowColSel, A0=>RowA_4, M1=>Din_c_5, - M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); - SLICE_56I: SLICE_56 - port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, D0=>FS_5, - C0=>FS_9, B0=>FS_7, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, - F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); - SLICE_57I: SLICE_57 - port map (D1=>un1_Din_4, C1=>Din_c_0, B1=>Din_c_2, A1=>Din_c_3, - D0=>Din_c_1, C0=>XOR8MEG_3_u_0_a3_2, B0=>LEDEN, A0=>N_171, - DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, - Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); - SLICE_58I: SLICE_58 - port map (D1=>N_51, C1=>InitReady, A1=>FS_8, D0=>UFMSDO_c, C0=>InitReady, - B0=>Cmdn8MEGEN, DI0=>N_69, CE=>N_31, CLK=>RCLK_c, F0=>N_69, - Q0=>n8MEGEN, F1=>N_151); - SLICE_59I: SLICE_59 - port map (D1=>N_155, C1=>S_1, B1=>Ready, A1=>N_160, D0=>N_41, C0=>S_1, - B0=>g0_1, A0=>nRCAS_0_sqmuxa_1, DI0=>N_37_i, CLK=>RCLK_c, - F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); - SLICE_60I: SLICE_60 - port map (D1=>FWEr_fast, C1=>CO0, B1=>CASr2, A1=>CASr3, - D0=>RCKEEN_8_u_0_a2_1_out, C0=>N_28_i_1, B0=>N_24, A0=>CBR, - DI0=>N_28_i, CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); - SLICE_61I: SLICE_61 - port map (D1=>S_0_i_o2_1, C1=>RCKE_c, B1=>Ready, A1=>RASr2, D0=>IS_0, - C0=>N_155, B0=>nRRAS_5_u_i_0, A0=>N_160, DI0=>N_24_i, - CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); - SLICE_62I: SLICE_62 - port map (D1=>RASr2, C1=>S_0_i_o2_1, B1=>Ready, A1=>CBR_fast, - D0=>m18_0_a2_1, C0=>nRCAS_0_sqmuxa_1, B0=>FWEr, A0=>G_17_1, - DI0=>N_39_i, CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, - F1=>nRCAS_0_sqmuxa_1); - SLICE_63I: SLICE_63 - port map (D1=>FWEr, C1=>CASr3, B1=>Ready, A1=>CBR, D0=>S_1, C0=>N_179, - B0=>Ready, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, - CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); - SLICE_64I: SLICE_64 - port map (D1=>FS_11, C1=>InitReady, B1=>N_51, A1=>FS_10, D0=>N_139_i, - C0=>nUFMCS_c, B0=>nUFMCS15, A0=>nUFMCS_s_0_N_5_i_N_2L1, - DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, F0=>nUFMCS_s_0_N_5_i, - Q0=>nUFMCS_c, F1=>nUFMCS15); - nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 - port map (D1=>RASr2, C1=>S_1, B1=>CO0, A1=>RCKE_c, D0=>m18_0_a3_3, - C0=>S_1, B0=>CO0, A0=>InitReady, M0=>Ready, OFX0=>m18_0_a2_1); - SLICE_66I: SLICE_66 - port map (D1=>CmdUFMCS, C1=>UFMCLK_r_i_a2_2_2, B1=>InitReady, D0=>N_95_5, - C0=>N_95_3, B0=>InitReady, A0=>FS_16, M1=>MAin_c_1, - M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, - Q1=>RowA_1); - SLICE_67I: SLICE_67 - port map (D1=>N_128, C1=>Din_c_3, B1=>Din_c_5, A1=>XOR8MEG18, - D0=>CmdEnable, C0=>MAin_c_0, B0=>MAin_c_1, A0=>N_147, - M1=>MAin_c_5, M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>XOR8MEG18, Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); - SLICE_68I: SLICE_68 - port map (D1=>FS_5, C1=>FS_2, B1=>FS_0, A1=>FS_3, D0=>N_137_8, C0=>N_136, - B0=>un1_FS_14_i_a2_0_1, A0=>N_137_6, F0=>N_31, - F1=>un1_FS_14_i_a2_0_1); - SLICE_69I: SLICE_69 - port map (D1=>FS_0, C1=>FS_3, B1=>FS_5, A1=>FS_2, D0=>N_137_8, C0=>N_136, - B0=>N_137_6, A0=>un1_FS_13_i_a2_1, F0=>N_33, - F1=>un1_FS_13_i_a2_1); - SLICE_70I: SLICE_70 - port map (D1=>Bank_0, C1=>C1WR_0_a2_0_10, B1=>C1WR_0_a2_0_11, A1=>Bank_1, - C0=>N_147, A0=>MAin_c_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, - F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); - SLICE_71I: SLICE_71 - port map (D1=>MAin_c_6, C1=>MAin_c_7, B1=>MAin_c_4, A1=>MAin_c_5, - D0=>C1WR_0_a2_0_3, C0=>Bank_3, B0=>Bank_4, A0=>C1WR_0_a2_0_4, - M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, - Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); - SLICE_72I: SLICE_72 - port map (D1=>UFMSDI_ens2_i_o2_0_3, C1=>FS_16, A1=>FS_12, D0=>FS_4, - C0=>N_51, B0=>FS_11, A0=>FS_1, M1=>MAin_c_3, M0=>MAin_c_2, - LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, - Q1=>RowA_3); - SLICE_73I: SLICE_73 - port map (D1=>InitReady, C1=>S_1, B1=>RASr2, A1=>CO0, C0=>N_155, - A0=>Ready, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, - CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); - SLICE_74I: SLICE_74 - port map (B1=>FS_11, A1=>FS_14, D0=>N_95_5, C0=>N_95_3, B0=>FS_16, - A0=>FS_10, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, - F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); - SLICE_75I: SLICE_75 - port map (D1=>Din_c_7, B1=>Din_c_6, A1=>Din_c_4, D0=>Din_c_1, C0=>N_128, - B0=>Din_c_5, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, - Q0=>CASr, F1=>N_128, Q1=>CASr2); - SLICE_76I: SLICE_76 - port map (D1=>Din_c_0, B1=>Din_c_5, D0=>MAin_c_0, C0=>CmdEnable16_4, - B0=>Din_c_1, A0=>Din_c_3, M1=>Din_c_5, M0=>Din_c_4, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, - F1=>CmdEnable16_4, Q1=>Bank_5); - SLICE_77I: SLICE_77 - port map (D1=>Din_c_4, A1=>Din_c_7, D0=>Din_c_6, C0=>MAin_c_1, - B0=>CmdEnable16_1, A0=>Din_c_2, M1=>Din_c_7, M0=>Din_c_6, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, - F1=>CmdEnable16_1, Q1=>Bank_7); - SLICE_78I: SLICE_78 - port map (D1=>Din_c_3, B1=>Din_c_5, D0=>MAin_c_1, C0=>N_43, B0=>Din_c_6, - A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, - F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); - SLICE_79I: SLICE_79 - port map (D1=>CASr3, B1=>CASr2, A1=>Ready, D0=>CO0, C0=>S_1, - B0=>m6_0_a2_2, A0=>CBR, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, - F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); - SLICE_80I: SLICE_80 - port map (D1=>CASr2, B1=>CASr3, D0=>FWEr, C0=>CO0, B0=>g4_0_0_0, - A0=>CBR_fast, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); - SLICE_81I: SLICE_81 - port map (D1=>FS_13, C1=>FS_14, B1=>FS_15, A1=>FS_17, D0=>FS_13, - C0=>FS_17, B0=>FS_15, A0=>FS_12, M1=>nFWE_c, M0=>nFWE_c, - CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, - Q1=>FWEr_fast); - SLICE_82I: SLICE_82 - port map (D1=>Din_c_3, C1=>N_128, B1=>CmdLEDEN, A1=>Din_c_5, - D0=>XOR8MEG18, C0=>Din_c_3, B0=>N_128, A0=>Din_c_5, M0=>CASr2, - CLK=>RCLK_c, F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); - SLICE_83I: SLICE_83 - port map (C1=>IS_1, B1=>IS_3, A1=>IS_2, C0=>IS_1, B0=>IS_0, A0=>IS_2, - M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); - SLICE_84I: SLICE_84 - port map (D1=>FS_6, C1=>FS_10, B1=>FS_11, A1=>FS_8, D0=>FS_7, C0=>FS_10, - B0=>FS_1, A0=>FS_6, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); - SLICE_85I: SLICE_85 - port map (D1=>Din_c_4, C1=>Din_c_0, B1=>Din_c_1, A1=>Din_c_7, - D0=>Din_c_5, C0=>Din_c_4, B0=>Din_c_6, A0=>Din_c_7, - M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, - Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); - SLICE_86I: SLICE_86 - port map (D1=>nRowColSel, A1=>MAin_c_9, D0=>nRowColSel, C0=>RowA_9, - A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQML_c); - SLICE_87I: SLICE_87 - port map (D1=>UFMSDI_ens2_i_a0, B1=>N_151, A1=>CmdUFMSDI, D0=>N_151, - C0=>FS_9, B0=>FS_11, A0=>FS_4, F0=>N_137_8, - F1=>UFMSDI_r_xx_mm_1); - SLICE_88I: SLICE_88 - port map (D1=>MAin_c_2, C1=>nFWE_c, B1=>MAin_c_3, C0=>nFWE_c, - A0=>nCCAS_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, - Q1=>RowA_7); - SLICE_89I: SLICE_89 - port map (D1=>nRowColSel, C1=>MAin_c_9, D0=>nRowColSel, B0=>MAin_c_8, - A0=>RowA_8, F0=>RA_c_8, F1=>RDQMH_c); - SLICE_90I: SLICE_90 - port map (D1=>MAin_c_0, C1=>MAin_c_1, B1=>N_147, D0=>MAin_c_0, - B0=>RowA_0, A0=>nRowColSel, F0=>RA_c_0, F1=>un1_CMDWR); - SLICE_91I: SLICE_91 - port map (D1=>MAin_c_7, C1=>nRowColSel, A1=>RowA_7, D0=>RowA_1, - C0=>nRowColSel, B0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); - SLICE_92I: SLICE_92 - port map (D1=>RowA_6, C1=>nRowColSel, A1=>MAin_c_6, D0=>MAin_c_2, - C0=>nRowColSel, B0=>RowA_2, F0=>RA_c_2, F1=>RA_c_6); - SLICE_93I: SLICE_93 - port map (C1=>MAin_c_5, B1=>RowA_5, A1=>nRowColSel, D0=>MAin_c_3, - B0=>nRowColSel, A0=>RowA_3, F0=>RA_c_3, F1=>RA_c_5); - SLICE_94I: SLICE_94 - port map (B1=>N_155, A1=>Ready, C0=>S_1, A0=>Ready, M0=>IS_0, - LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, - Q0=>RA_c_10, F1=>N_159_i); - RD_0_I: RD_0_B - port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); - Dout_0_I: Dout_0_B - port map (PADDO=>RD_in_0, Dout0=>Dout(0)); - PHI2I: PHI2B - port map (PADDI=>PHI2_c, PHI2S=>PHI2); - UFMSDOI: UFMSDOB - port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); - UFMSDII: UFMSDIB - port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); - UFMCLKI: UFMCLKB - port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); - nUFMCSI: nUFMCSB - port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); - RDQMLI: RDQMLB - port map (PADDO=>RDQML_c, RDQMLS=>RDQML); - RDQMHI: RDQMHB - port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); - nRCASI: nRCASB - port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); - nRRASI: nRRASB - port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); - nRWEI: nRWEB - port map (PADDO=>nRWE_c, nRWES=>nRWE); - RCKEI: RCKEB - port map (PADDO=>RCKE_c, RCKES=>RCKE); - RCLKI: RCLKB - port map (PADDI=>RCLK_c, RCLKS=>RCLK); - nRCSI: nRCSB - port map (PADDO=>nRCS_c, nRCSS=>nRCS); - RD_7_I: RD_7_B - port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); - RD_6_I: RD_6_B - port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); - RD_5_I: RD_5_B - port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); - RD_4_I: RD_4_B - port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); - RD_3_I: RD_3_B - port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); - RD_2_I: RD_2_B - port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); - RD_1_I0: RD_1_B - port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); - RA_11_I: RA_11_B - port map (PADDO=>RA_c_11, RA11=>RA(11)); - RA_10_I: RA_10_B - port map (PADDO=>RA_c_10, RA10=>RA(10)); - RA_9_I: RA_9_B - port map (PADDO=>RA_c_9, RA9=>RA(9)); - RA_8_I: RA_8_B - port map (PADDO=>RA_c_8, RA8=>RA(8)); - RA_7_I: RA_7_B - port map (PADDO=>RA_c_7, RA7=>RA(7)); - RA_6_I: RA_6_B - port map (PADDO=>RA_c_6, RA6=>RA(6)); - RA_5_I: RA_5_B - port map (PADDO=>RA_c_5, RA5=>RA(5)); - RA_4_I: RA_4_B - port map (PADDO=>RA_c_4, RA4=>RA(4)); - RA_3_I: RA_3_B - port map (PADDO=>RA_c_3, RA3=>RA(3)); - RA_2_I: RA_2_B - port map (PADDO=>RA_c_2, RA2=>RA(2)); - RA_1_I: RA_1_B - port map (PADDO=>RA_c_1, RA1=>RA(1)); - RA_0_I: RA_0_B - port map (PADDO=>RA_c_0, RA0=>RA(0)); - RBA_1_I: RBA_1_B - port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); - RBA_0_I: RBA_0_B - port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); - LEDI: LEDB - port map (PADDO=>LED_c, LEDS=>LED); - nFWEI: nFWEB - port map (PADDI=>nFWE_c, nFWES=>nFWE); - nCRASI: nCRASB - port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); - nCCASI: nCCASB - port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); - Dout_7_I: Dout_7_B - port map (PADDO=>RD_in_7, Dout7=>Dout(7)); - Dout_6_I: Dout_6_B - port map (PADDO=>RD_in_6, Dout6=>Dout(6)); - Dout_5_I: Dout_5_B - port map (PADDO=>RD_in_5, Dout5=>Dout(5)); - Dout_4_I: Dout_4_B - port map (PADDO=>RD_in_4, Dout4=>Dout(4)); - Dout_3_I: Dout_3_B - port map (PADDO=>RD_in_3, Dout3=>Dout(3)); - Dout_2_I: Dout_2_B - port map (PADDO=>RD_in_2, Dout2=>Dout(2)); - Dout_1_I: Dout_1_B - port map (PADDO=>RD_in_1, Dout1=>Dout(1)); - Din_7_I: Din_7_B - port map (PADDI=>Din_c_7, Din7=>Din(7)); - Din_6_I: Din_6_B - port map (PADDI=>Din_c_6, Din6=>Din(6)); - Din_5_I: Din_5_B - port map (PADDI=>Din_c_5, Din5=>Din(5)); - Din_4_I: Din_4_B - port map (PADDI=>Din_c_4, Din4=>Din(4)); - Din_3_I: Din_3_B - port map (PADDI=>Din_c_3, Din3=>Din(3)); - Din_2_I: Din_2_B - port map (PADDI=>Din_c_2, Din2=>Din(2)); - Din_1_I: Din_1_B - port map (PADDI=>Din_c_1, Din1=>Din(1)); - Din_0_I: Din_0_B - port map (PADDI=>Din_c_0, Din0=>Din(0)); - CROW_1_I: CROW_1_B - port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); - CROW_0_I: CROW_0_B - port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); - MAin_9_I: MAin_9_B - port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); - MAin_8_I: MAin_8_B - port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); - MAin_7_I: MAin_7_B - port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); - MAin_6_I: MAin_6_B - port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); - MAin_5_I: MAin_5_B - port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); - MAin_4_I: MAin_4_B - port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); - MAin_3_I: MAin_3_B - port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); - MAin_2_I: MAin_2_B - port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); - MAin_1_I: MAin_1_B - port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); - MAin_0_I: MAin_0_B - port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); - VHI_INST: VHI - port map (Z=>VCCI); - PUR_INST: PUR - port map (PUR=>VCCI); - GSR_INST: GSR - port map (GSR=>VCCI); - VLO_INST: VLO - port map (Z=>GNDI_TSALL); - TSALL_INST: TSALL - port map (TSALL=>GNDI_TSALL); - end Structure; - - - - library IEEE, vital2000, MACHXO; - configuration Structure_CON of RAM2GS is - for Structure - end for; - end Structure_CON; - - + +-- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +-- ldbanno -n VHDL -o RAM2GS_LCMXO256C_impl1_vho.vho -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd +-- Netlist created on Sat Aug 19 20:53:19 2023 +-- Netlist written on Sat Aug 19 20:53:34 2023 +-- Design is for device LCMXO256C +-- Design is for package TQFP100 +-- Design is for performance grade 3 + +-- entity vmuxregsre + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; + + end vmuxregsre; + + architecture Structure of vmuxregsre is + component FL1P3DX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3DX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity vcc + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vcc is + port (PWR1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; + + end vcc; + + architecture Structure of vcc is + component VHI + port (Z: out Std_logic); + end component; + begin + INST1: VHI + port map (Z=>PWR1); + end Structure; + +-- entity gnd + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity gnd is + port (PWR0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; + + end gnd; + + architecture Structure of gnd is + component VLO + port (Z: out Std_logic); + end component; + begin + INST1: VLO + port map (Z=>PWR0); + end Structure; + +-- entity ccu2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu2B is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; + + end ccu2B; + + architecture Structure of ccu2B is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_0 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_0 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_0"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; + + end SLICE_0; + + architecture Structure of SLICE_0 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_0_FS_cry_0_0_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_0_FS_cry_0_0_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_1: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_0: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_0: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, + S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20001 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu20001 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; + + end ccu20001; + + architecture Structure of ccu20001 is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_1 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_1 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_1"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; + + end SLICE_1; + + architecture Structure of SLICE_1 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_1_FS_cry_0_16_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_1_FS_cry_0_16_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20001 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_17: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_16: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_16: ccu20001 + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, + S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_2 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_2"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; + + end SLICE_2; + + architecture Structure of SLICE_2 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_2_FS_cry_0_14_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_2_FS_cry_0_14_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_15: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_14: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_14: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, + S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_3 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_3 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_3"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; + + end SLICE_3; + + architecture Structure of SLICE_3 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_3_FS_cry_0_12_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_3_FS_cry_0_12_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_13: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_12: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_12: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, + S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_4 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_4"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; + + end SLICE_4; + + architecture Structure of SLICE_4 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_4_FS_cry_0_10_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_4_FS_cry_0_10_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_11: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_10: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_10: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, + S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_5 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_5 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_5"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; + + end SLICE_5; + + architecture Structure of SLICE_5 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_5_FS_cry_0_8_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_5_FS_cry_0_8_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_9: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_8: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_8: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, + S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_6 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_6 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_6"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; + + end SLICE_6; + + architecture Structure of SLICE_6 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_6_FS_cry_0_6_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_6_FS_cry_0_6_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_7: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_6: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_6: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, + S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_7 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_7 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_7"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; + + end SLICE_7; + + architecture Structure of SLICE_7 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_7_FS_cry_0_4_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_7_FS_cry_0_4_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_5: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_4: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_4: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, + S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_8 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_8 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_8"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; + + end SLICE_8; + + architecture Structure of SLICE_8 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_8_FS_cry_0_2_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_8_FS_cry_0_2_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_3: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_2: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_2: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, + S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut4 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; + + end lut4; + + architecture Structure of lut4 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40002 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40002 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; + + end lut40002; + + architecture Structure of lut40002 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3130") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity inverter + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity inverter is + port (I: in Std_logic; Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; + + end inverter; + + architecture Structure of inverter is + component INV + port (A: in Std_logic; Z: out Std_logic); + end component; + begin + INST1: INV + port map (A=>I, Z=>Z); + end Structure; + +-- entity SLICE_9 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_9 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_9"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; + + end SLICE_9; + + architecture Structure of SLICE_9 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40002 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ADSubmitted_r: lut40002 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + ADSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40003 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40003 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; + + end lut40003; + + architecture Structure of lut40003 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40004 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40004 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; + + end lut40004; + + architecture Structure of lut40004 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF4FC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_14 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_14 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_14"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; + + end SLICE_14; + + architecture Structure of SLICE_14 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40003 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40004 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2: lut40003 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1Submitted_RNO: lut40004 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + C1Submitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40005 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40005 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; + + end lut40005; + + architecture Structure of lut40005 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40006 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40006 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; + + end lut40006; + + architecture Structure of lut40006 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF5F5") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0007 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0007 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; + + end vmuxregsre0007; + + architecture Structure of vmuxregsre0007 is + component FL1P3IY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3IY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_19 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_19 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_19"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; + + end SLICE_19; + + architecture Structure of SLICE_19 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3_2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_RNO_0: lut40006 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40008 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40008 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; + + end lut40008; + + architecture Structure of lut40008 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40009 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40009 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; + + end lut40009; + + architecture Structure of lut40009 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEA0A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity selmux2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity selmux2 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; + + end selmux2; + + architecture Structure of selmux2 is + component MUX21 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + INST1: MUX21 + port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); + end Structure; + +-- entity SLICE_20 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_20 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_20"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; + + end SLICE_20; + + architecture Structure of SLICE_20 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal SLICE_20_SLICE_20_K1_H1: Std_logic; + signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40008 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40009 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + SLICE_20_K1: lut40008 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, + Z=>SLICE_20_SLICE_20_K1_H1); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable_s_GATE: lut40009 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>SLICE_20_CmdEnable_s_GATE_H0); + CmdEnable: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + SLICE_20_K0K1MUX: selmux2 + port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + OFX0_zd := OFX0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40010 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40010 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; + + end lut40010; + + architecture Structure of lut40010 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0044") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40011 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40011 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; + + end lut40011; + + architecture Structure of lut40011 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0023") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_21 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_21 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_21"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; + + end SLICE_21; + + architecture Structure of SLICE_21 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40010 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_a2_2: lut40010 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_RNO: lut40011 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdLEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40012 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40012 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; + + end lut40012; + + architecture Structure of lut40012 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40013 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40013 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; + + end lut40013; + + architecture Structure of lut40013 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFAFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_22 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_22 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_22"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; + + end SLICE_22; + + architecture Structure of SLICE_22 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2: lut40012 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_RNO: lut40013 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40014 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40014 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; + + end lut40014; + + architecture Structure of lut40014 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x33AB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40015 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40015 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; + + end lut40015; + + architecture Structure of lut40015 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0F05") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_26 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_26 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_26"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; + + end SLICE_26; + + architecture Structure of SLICE_26 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40015 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_0: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Cmdn8MEGEN_RNO: lut40015 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Cmdn8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40016 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40016 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; + + end lut40016; + + architecture Structure of lut40016 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF54") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40017 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40017 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; + + end lut40017; + + architecture Structure of lut40017 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEE11") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_29 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_29 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_29"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; + + end SLICE_29; + + architecture Structure of SLICE_29 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i: lut40016 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_0: lut40017 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40018 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40018 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; + + end lut40018; + + architecture Structure of lut40018 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x66AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40019 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40019 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; + + end lut40019; + + architecture Structure of lut40019 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x55AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_30 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_30 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_30"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; + + end SLICE_30; + + architecture Structure of SLICE_30 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40019 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_RNO_2: lut40018 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_n1_0_x2: lut40019 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + IS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + IS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40020 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40020 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; + + end lut40020; + + architecture Structure of lut40020 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40021 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40021 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; + + end lut40021; + + architecture Structure of lut40021 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x6AAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_31 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_31 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_31"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; + + end SLICE_31; + + architecture Structure of SLICE_31 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_RNO: lut40020 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_3: lut40021 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + IS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40022 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40022 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; + + end lut40022; + + architecture Structure of lut40022 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5155") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40023 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40023 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; + + end lut40023; + + architecture Structure of lut40023 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_32 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_32 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_32"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; + + end SLICE_32; + + architecture Structure of SLICE_32 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a0: lut40022 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady_RNO: lut40023 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40024 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40024 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; + + end lut40024; + + architecture Structure of lut40024 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFAF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40025 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40025 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; + + end lut40025; + + architecture Structure of lut40025 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA0AF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_33 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_33 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_33"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; + + end SLICE_33; + + architecture Structure of SLICE_33 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40025 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LED_pad_RNO: lut40024 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + LEDEN_5_i_m2: lut40025 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + LEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40026 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40026 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; + + end lut40026; + + architecture Structure of lut40026 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40027 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40027 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; + + end lut40027; + + architecture Structure of lut40027 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA5AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_39 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_39 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_39"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; + + end SLICE_39; + + architecture Structure of SLICE_39 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40026 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_0: lut40026 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RA11_2: lut40027 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RA11: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40028 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40028 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; + + end lut40028; + + architecture Structure of lut40028 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2DAD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40029 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40029 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; + + end lut40029; + + architecture Structure of lut40029 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCCEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_41 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_41 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_41"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; + + end SLICE_41; + + architecture Structure of SLICE_41 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_1_0: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKEEN_8_u: lut40029 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40030 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40030 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; + + end lut40030; + + architecture Structure of lut40030 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40031 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40031 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; + + end lut40031; + + architecture Structure of lut40031 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFE50") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_42 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_42 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_42"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; + + end SLICE_42; + + architecture Structure of SLICE_42 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40030 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40031 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_5: lut40030 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKE_2_0: lut40031 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKE: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40032 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40032 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; + + end lut40032; + + architecture Structure of lut40032 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3704") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40033 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40033 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; + + end lut40033; + + architecture Structure of lut40033 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF2F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_43 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_43 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_43"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; + + end SLICE_43; + + architecture Structure of SLICE_43 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_RNO: lut40032 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_RNO: lut40033 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40034 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40034 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; + + end lut40034; + + architecture Structure of lut40034 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_44 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_44 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_44"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; + + end SLICE_44; + + architecture Structure of SLICE_44 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3: lut40034 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_fast_RNO: lut40013 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RASr: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Ready_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40035 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40035 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; + + end lut40035; + + architecture Structure of lut40035 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0300") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_50 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_50 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_50"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; + + end SLICE_50; + + architecture Structure of SLICE_50 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40035 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_RNO: lut40035 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0_i_o2_1: lut40013 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + S_1: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, C0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40036 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40036 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; + + end lut40036; + + architecture Structure of lut40036 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xABEF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40037 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40037 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; + + end lut40037; + + architecture Structure of lut40037 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1302") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_51 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_51 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_51"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; + + end SLICE_51; + + architecture Structure of SLICE_51 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMCLK_RNO_0: lut40036 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMCLK_RNO: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40038 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40038 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; + + end lut40038; + + architecture Structure of lut40038 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x33B3") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40039 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40039 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; + + end lut40039; + + architecture Structure of lut40039 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5404") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_52 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_52 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_52"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; + + end SLICE_52; + + architecture Structure of SLICE_52 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40039 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNITCN41: lut40038 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_RNO: lut40039 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMSDI: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40040 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40040 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; + + end lut40040; + + architecture Structure of lut40040 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEE22") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_55 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_55 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_55"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; + + end SLICE_55; + + architecture Structure of SLICE_55 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_4: lut40040 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, + F0_out, Q0_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40041 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40041 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; + + end lut40041; + + architecture Structure of lut40041 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40042 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40042 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; + + end lut40042; + + architecture Structure of lut40042 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3C0C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_56 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_56 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_56"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; + + end SLICE_56; + + architecture Structure of SLICE_56 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_11: lut40041 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_ens2_i_o2: lut40042 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40043 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40043 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; + + end lut40043; + + architecture Structure of lut40043 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40044 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40044 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40044 : ENTITY IS TRUE; + + end lut40044; + + architecture Structure of lut40044 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBAFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_57 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_57 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_57"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; + + end SLICE_57; + + architecture Structure of SLICE_57 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40043 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40044 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_2: lut40043 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG_3_u_0_a3_3: lut40044 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + XOR8MEG: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40045 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40045 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; + + end lut40045; + + architecture Structure of lut40045 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0005") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40046 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40046 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; + + end lut40046; + + architecture Structure of lut40046 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xC0CF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_58 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_58 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_58"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; + + end SLICE_58; + + architecture Structure of SLICE_58 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_en_ss0_0_a2_0: lut40045 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + n8MEGEN_5_i_m2: lut40046 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + n8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40047 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40047 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; + + end lut40047; + + architecture Structure of lut40047 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3F1D") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40048 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40048 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; + + end lut40048; + + architecture Structure of lut40048 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5510") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0049 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0049 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0049 : ENTITY IS TRUE; + + end vmuxregsre0049; + + architecture Structure of vmuxregsre0049 is + component FL1P3BX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3BX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_59 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_59 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_59"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; + + end SLICE_59; + + architecture Structure of SLICE_59 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40048 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0049 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_0: lut40047 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_RNO: lut40048 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCAS: vmuxregsre0049 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40050 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40050 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; + + end lut40050; + + architecture Structure of lut40050 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBFF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40051 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40051 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; + + end lut40051; + + architecture Structure of lut40051 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3233") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_60 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_60 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_60"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; + + end SLICE_60; + + architecture Structure of SLICE_60 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0049 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40050 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40051 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_RNO_0: lut40050 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCS_RNO: lut40051 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCS: vmuxregsre0049 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40052 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40052 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; + + end lut40052; + + architecture Structure of lut40052 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00C8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40053 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40053 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; + + end lut40053; + + architecture Structure of lut40053 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3031") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_61 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_61 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_61"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; + + end SLICE_61; + + architecture Structure of SLICE_61 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0049 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0: lut40052 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRRAS_RNO: lut40053 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRRAS: vmuxregsre0049 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40054 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40054 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; + + end lut40054; + + architecture Structure of lut40054 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40055 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40055 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; + + end lut40055; + + architecture Structure of lut40055 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF2F7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_62 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_62 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_62"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; + + end SLICE_62; + + architecture Structure of SLICE_62 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0049 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40054 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40055 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_0_sqmuxa_1_0_a3: lut40054 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRWE_RNO: lut40055 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRWE: vmuxregsre0049 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40056 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40056 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; + + end lut40056; + + architecture Structure of lut40056 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0400") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40057 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40057 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; + + end lut40057; + + architecture Structure of lut40057 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF4F8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_63 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_63 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_63"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; + + end SLICE_63; + + architecture Structure of SLICE_63 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40056 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40057 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_0_0_a3_0: lut40056 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRowColSel_0_0: lut40057 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRowColSel: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40058 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40058 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; + + end lut40058; + + architecture Structure of lut40058 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40059 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40059 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40059 : ENTITY IS TRUE; + + end lut40059; + + architecture Structure of lut40059 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDDFC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_64 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_64 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_64"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; + + end SLICE_64; + + architecture Structure of SLICE_64 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0049 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40059 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS15_0_a2: lut40058 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nUFMCS_s_0_N_5_i: lut40059 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nUFMCS: vmuxregsre0049 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40060 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40060 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; + + end lut40060; + + architecture Structure of lut40060 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0002") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40061 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40061 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; + + end lut40061; + + architecture Structure of lut40061 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity nRWE_RNO_1_SLICE_65 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWE_RNO_1_SLICE_65 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWE_RNO_1_SLICE_65"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; + + end nRWE_RNO_1_SLICE_65; + + architecture Structure of nRWE_RNO_1_SLICE_65 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_1_SLICE_65_K1: lut40060 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); + nRWE_RNO_1_GATE: lut40061 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); + nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 + port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, + D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, + Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_ipd, OFX0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + OFX0_zd := OFX0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 7 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 8 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40062 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40062 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; + + end lut40062; + + architecture Structure of lut40062 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0F03") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40063 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40063 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; + + end lut40063; + + architecture Structure of lut40063 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_66 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_66 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_66"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; + + end SLICE_66; + + architecture Structure of SLICE_66 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS_s_0_N_5_i_N_2L1: lut40062 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_a2_2_2: lut40063 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40064 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40064 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; + + end lut40064; + + architecture Structure of lut40064 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0008") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40065 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40065 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; + + end lut40065; + + architecture Structure of lut40065 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0066 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0066 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0066 : ENTITY IS TRUE; + + end vmuxregsre0066; + + architecture Structure of vmuxregsre0066 is + component FL1P3JY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3JY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_67 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_67 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_67"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; + + end SLICE_67; + + architecture Structure of SLICE_67 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40065 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0066 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + CmdUFMCLK_1_sqmuxa_0_a2: lut40064 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG18_0_a2: lut40065 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_5: vmuxregsre0066 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_4: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40067 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40067 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; + + end lut40067; + + architecture Structure of lut40067 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40068 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40068 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; + + end lut40068; + + architecture Structure of lut40068 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF8F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_68 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_68 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_68"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; + + end SLICE_68; + + architecture Structure of SLICE_68 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40067 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40068 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2_0_1: lut40067 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_14_i_0: lut40068 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40069 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40069 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; + + end lut40069; + + architecture Structure of lut40069 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40070 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40070 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; + + end lut40070; + + architecture Structure of lut40070 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF8F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_69 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_69 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_69"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; + + end SLICE_69; + + architecture Structure of SLICE_69 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40070 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_13_i_a2_1: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_0: lut40070 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40071 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40071 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; + + end lut40071; + + architecture Structure of lut40071 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40072 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40072 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; + + end lut40072; + + architecture Structure of lut40072 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA0A0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_70 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_70 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_70"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; + + end SLICE_70; + + architecture Structure of SLICE_70 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40071 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0: lut40071 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2: lut40072 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40073 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40073 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; + + end lut40073; + + architecture Structure of lut40073 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40074 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40074 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; + + end lut40074; + + architecture Structure of lut40074 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_71 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_71 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_71"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; + + end SLICE_71; + + architecture Structure of SLICE_71 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_4: lut40073 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2_0_10: lut40074 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40075 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40075 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; + + end lut40075; + + architecture Structure of lut40075 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40076 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40076 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; + + end lut40076; + + architecture Structure of lut40076 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xACA0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_72 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_72 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_72"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; + + end SLICE_72; + + architecture Structure of SLICE_72 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40076 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0: lut40075 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_m2: lut40076 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_3: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_2: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40077 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40077 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; + + end lut40077; + + architecture Structure of lut40077 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFBFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_73 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_73 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_73"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; + + end SLICE_73; + + architecture Structure of SLICE_73 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0: lut40077 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_0_sqmuxa_0_o2: lut40013 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMCS: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CmdUFMCLK: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40078 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40078 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; + + end lut40078; + + architecture Structure of lut40078 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40079 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40079 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; + + end lut40079; + + architecture Structure of lut40079 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_74 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_74 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_74"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; + + end SLICE_74; + + architecture Structure of SLICE_74 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40078 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a2_3: lut40078 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady3_0_a2: lut40079 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMSDI: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40080 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40080 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; + + end lut40080; + + architecture Structure of lut40080 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFDD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40081 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40081 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; + + end lut40081; + + architecture Structure of lut40081 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0003") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_75 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_75 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_75"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; + + end SLICE_75; + + architecture Structure of SLICE_75 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40080 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40081 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_o2_0: lut40080 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_4_u_i_a2_0: lut40081 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CASr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40082 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40082 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40082 : ENTITY IS TRUE; + + end lut40082; + + architecture Structure of lut40082 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3300") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40083 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40083 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40083 : ENTITY IS TRUE; + + end lut40083; + + architecture Structure of lut40083 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_76 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_76 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_76"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; + + end SLICE_76; + + architecture Structure of SLICE_76 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40082 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40083 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_4: lut40082 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_4_0: lut40083 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40084 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40084 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40084 : ENTITY IS TRUE; + + end lut40084; + + architecture Structure of lut40084 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40085 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40085 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40085 : ENTITY IS TRUE; + + end lut40085; + + architecture Structure of lut40085 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_77 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_77 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_77"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; + + end SLICE_77; + + architecture Structure of SLICE_77 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40084 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40085 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_1: lut40084 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_5: lut40085 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40086 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40086 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40086 : ENTITY IS TRUE; + + end lut40086; + + architecture Structure of lut40086 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x33FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40087 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40087 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40087 : ENTITY IS TRUE; + + end lut40087; + + architecture Structure of lut40087 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_78 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_78 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_78"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; + + end SLICE_78; + + architecture Structure of SLICE_78 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40086 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40087 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_o2: lut40086 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable17_0_a2_4: lut40087 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CBR_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CBR: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40088 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40088 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40088 : ENTITY IS TRUE; + + end lut40088; + + architecture Structure of lut40088 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0088") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40089 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40089 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40089 : ENTITY IS TRUE; + + end lut40089; + + architecture Structure of lut40089 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_79 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_79 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_79"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; + + end SLICE_79; + + architecture Structure of SLICE_79 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40088 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40089 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_2: lut40088 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRWE_RNO_0: lut40089 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40090 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40090 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40090 : ENTITY IS TRUE; + + end lut40090; + + architecture Structure of lut40090 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4005") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_80 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_80 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_80"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; + + end SLICE_80; + + architecture Structure of SLICE_80 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vmuxregsre0066 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40082 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40090 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_RNO_1: lut40082 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRCAS_RNO_0: lut40090 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_9: vmuxregsre0066 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_8: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40091 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40091 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40091 : ENTITY IS TRUE; + + end lut40091; + + architecture Structure of lut40091 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40092 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40092 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40092 : ENTITY IS TRUE; + + end lut40092; + + architecture Structure of lut40092 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_81 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_81 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_81"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; + + end SLICE_81; + + architecture Structure of SLICE_81 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40091 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40092 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0_3: lut40091 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady3_0_a2_5: lut40092 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + FWEr_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + FWEr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40093 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40093 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40093 : ENTITY IS TRUE; + + end lut40093; + + architecture Structure of lut40093 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3230") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40094 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40094 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40094 : ENTITY IS TRUE; + + end lut40094; + + architecture Structure of lut40094 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1300") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_82 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_82 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_82"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; + + end SLICE_82; + + architecture Structure of SLICE_82 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40093 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40094 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdLEDEN_4_u_i_a2: lut40093 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_1_sqmuxa_0_a2: lut40094 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40095 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40095 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40095 : ENTITY IS TRUE; + + end lut40095; + + architecture Structure of lut40095 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFEFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40096 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40096 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40096 : ENTITY IS TRUE; + + end lut40096; + + architecture Structure of lut40096 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7F7F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_83 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_83 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_83"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; + + end SLICE_83; + + architecture Structure of SLICE_83 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40095 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40096 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_o2: lut40095 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_0_sqmuxa_0_o2: lut40096 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RBA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RBA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40097 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40097 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40097 : ENTITY IS TRUE; + + end lut40097; + + architecture Structure of lut40097 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0400") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40098 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40098 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40098 : ENTITY IS TRUE; + + end lut40098; + + architecture Structure of lut40098 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_84 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_84 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_84"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; + + end SLICE_84; + + architecture Structure of SLICE_84 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40097 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40098 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a2_4_2: lut40097 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_a2_6: lut40098 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40099 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40099 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40099 : ENTITY IS TRUE; + + end lut40099; + + architecture Structure of lut40099 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40100 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40100 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40100 : ENTITY IS TRUE; + + end lut40100; + + architecture Structure of lut40100 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_85 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_85 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_85"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; + + end SLICE_85; + + architecture Structure of SLICE_85 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40099 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40100 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2_3: lut40099 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_Din_4: lut40100 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40101 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40101 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40101 : ENTITY IS TRUE; + + end lut40101; + + architecture Structure of lut40101 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x55FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40102 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40102 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40102 : ENTITY IS TRUE; + + end lut40102; + + architecture Structure of lut40102 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAAF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_86 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_86 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_86"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; + + end SLICE_86; + + architecture Structure of SLICE_86 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40101 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40102 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQML: lut40101 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_9: lut40102 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40103 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40103 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40103 : ENTITY IS TRUE; + + end lut40103; + + architecture Structure of lut40103 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00EE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40104 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40104 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40104 : ENTITY IS TRUE; + + end lut40104; + + architecture Structure of lut40104 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_87 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_87 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_87"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; + + end SLICE_87; + + architecture Structure of SLICE_87 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40103 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40104 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_RNO_0: lut40103 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_FS_13_i_a2_8: lut40104 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40105 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40105 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40105 : ENTITY IS TRUE; + + end lut40105; + + architecture Structure of lut40105 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0C00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40106 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40106 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40106 : ENTITY IS TRUE; + + end lut40106; + + architecture Structure of lut40106 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFAFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_88 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_88 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_88"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; + + end SLICE_88; + + architecture Structure of SLICE_88 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40105 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40106 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_3: lut40105 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nCCAS_pad_RNI01SJ: lut40106 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RowA_7: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_6: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, C0_ipd, A0_ipd, M1_dly, + M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40107 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40107 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40107 : ENTITY IS TRUE; + + end lut40107; + + architecture Structure of lut40107 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF0FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40108 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40108 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40108 : ENTITY IS TRUE; + + end lut40108; + + architecture Structure of lut40108 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCCAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_89 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_89 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_89"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; + + end SLICE_89; + + architecture Structure of SLICE_89 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40107 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40108 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQMH: lut40107 + port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_8: lut40108 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, D0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40109 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40109 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40109 : ENTITY IS TRUE; + + end lut40109; + + architecture Structure of lut40109 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCCC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40110 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40110 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40110 : ENTITY IS TRUE; + + end lut40110; + + architecture Structure of lut40110 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEE44") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_90 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_90 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_90"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; + + end SLICE_90; + + architecture Structure of SLICE_90 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40109 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40110 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_CMDWR: lut40109 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_0: lut40110 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40111 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40111 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40111 : ENTITY IS TRUE; + + end lut40111; + + architecture Structure of lut40111 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFA0A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40112 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40112 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40112 : ENTITY IS TRUE; + + end lut40112; + + architecture Structure of lut40112 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCFC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_91 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_91 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_91"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; + + end SLICE_91; + + architecture Structure of SLICE_91 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40111 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40112 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_7: lut40111 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_1: lut40112 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40113 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40113 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40113 : ENTITY IS TRUE; + + end lut40113; + + architecture Structure of lut40113 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAFA0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40114 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40114 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40114 : ENTITY IS TRUE; + + end lut40114; + + architecture Structure of lut40114 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFC0C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_92 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_92 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_92"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; + + end SLICE_92; + + architecture Structure of SLICE_92 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40113 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40114 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_6: lut40113 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_2: lut40114 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40115 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40115 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40115 : ENTITY IS TRUE; + + end lut40115; + + architecture Structure of lut40115 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xE4E4") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_93 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_93 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_93"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; + + end SLICE_93; + + architecture Structure of SLICE_93 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40115 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_5: lut40115 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_3: lut40040 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40116 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40116 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40116 : ENTITY IS TRUE; + + end lut40116; + + architecture Structure of lut40116 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1111") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_94 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_94 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_94"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; + + end SLICE_94; + + architecture Structure of SLICE_94 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M0_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0066 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40116 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0_RNIS63D: lut40116 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN_8_u_0_a2_1_s: lut40072 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RA10: vmuxregsre0066 + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, A0_ipd, M0_dly, LSR_dly, + CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf is + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; + + end mjiobuf; + + architecture Structure of mjiobuf is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + component OBW + port (I: in Std_logic; T: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PADI, O=>Z); + INST2: OBW + port map (I=>I, T=>T, O=>PAD); + end Structure; + +-- entity RD_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD0 : VitalDelayType := 0 ns; + tpw_RD0_posedge : VitalDelayType := 0 ns; + tpw_RD0_negedge : VitalDelayType := 0 ns; + tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; + + end RD_0_B; + + architecture Structure of RD_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD0_ipd : std_logic := 'X'; + signal RD0_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_0: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, + PADI=>RD0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD0_ipd, RD0, tipd_RD0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD0_zd : std_logic := 'X'; + VARIABLE RD0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD0_RD0 : x01 := '0'; + VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD0_ipd, + TestSignalName => "RD0", + Period => tperiod_RD0, + PulseWidthHigh => tpw_RD0_posedge, + PulseWidthLow => tpw_RD0_negedge, + PeriodData => periodcheckinfo_RD0, + Violation => tviol_RD0_RD0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD0_zd := RD0_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD0_ipd'last_event, + PathDelay => tpd_RD0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD0, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD0, + PathCondition => TRUE)), + GlitchData => RD0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0117 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0117 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0117 : ENTITY IS TRUE; + + end mjiobuf0117; + + architecture Structure of mjiobuf0117 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity Dout_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; + + end Dout_0_B; + + architecture Structure of Dout_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout0_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_0: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) + VARIABLE Dout0_zd : std_logic := 'X'; + VARIABLE Dout0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout0_zd := Dout0_out; + + VitalPathDelay01Z ( + OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout0, + PathCondition => TRUE)), + GlitchData => Dout0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0118 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0118 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0118 : ENTITY IS TRUE; + + end mjiobuf0118; + + architecture Structure of mjiobuf0118 is + component IBPD + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPD + port map (I=>PAD, O=>Z); + end Structure; + +-- entity PHI2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity PHI2B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2B"; + + tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); + tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_PHI2S : VitalDelayType := 0 ns; + tpw_PHI2S_posedge : VitalDelayType := 0 ns; + tpw_PHI2S_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; PHI2S: in Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; + + end PHI2B; + + architecture Structure of PHI2B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PHI2S_ipd : std_logic := 'X'; + + component mjiobuf0118 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + PHI2_pad: mjiobuf0118 + port map (Z=>PADDI_out, PAD=>PHI2S_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; + VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => PHI2S_ipd, + TestSignalName => "PHI2S", + Period => tperiod_PHI2S, + PulseWidthHigh => tpw_PHI2S_posedge, + PulseWidthLow => tpw_PHI2S_negedge, + PeriodData => periodcheckinfo_PHI2S, + Violation => tviol_PHI2S_PHI2S, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, + PathDelay => tpd_PHI2S_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0119 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0119 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0119 : ENTITY IS TRUE; + + end mjiobuf0119; + + architecture Structure of mjiobuf0119 is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PAD, O=>Z); + end Structure; + +-- entity UFMSDOB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDOB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDOB"; + + tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); + tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_UFMSDOS : VitalDelayType := 0 ns; + tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; + tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; + + end UFMSDOB; + + architecture Structure of UFMSDOB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal UFMSDOS_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + UFMSDO_pad: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; + VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => UFMSDOS_ipd, + TestSignalName => "UFMSDOS", + Period => tperiod_UFMSDOS, + PulseWidthHigh => tpw_UFMSDOS_posedge, + PulseWidthLow => tpw_UFMSDOS_negedge, + PeriodData => periodcheckinfo_UFMSDOS, + Violation => tviol_UFMSDOS_UFMSDOS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, + PathDelay => tpd_UFMSDOS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0120 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0120 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0120 : ENTITY IS TRUE; + + end mjiobuf0120; + + architecture Structure of mjiobuf0120 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity UFMSDIB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDIB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDIB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; + + end UFMSDIB; + + architecture Structure of UFMSDIB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMSDIS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMSDI_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) + VARIABLE UFMSDIS_zd : std_logic := 'X'; + VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMSDIS_zd := UFMSDIS_out; + + VitalPathDelay01Z ( + OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMSDIS, + PathCondition => TRUE)), + GlitchData => UFMSDIS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity UFMCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMCLKB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; + + end UFMCLKB; + + architecture Structure of UFMCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMCLKS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMCLK_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) + VARIABLE UFMCLKS_zd : std_logic := 'X'; + VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMCLKS_zd := UFMCLKS_out; + + VitalPathDelay01Z ( + OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMCLKS, + PathCondition => TRUE)), + GlitchData => UFMCLKS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nUFMCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nUFMCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nUFMCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; + + end nUFMCSB; + + architecture Structure of nUFMCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nUFMCSS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nUFMCS_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) + VARIABLE nUFMCSS_zd : std_logic := 'X'; + VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nUFMCSS_zd := nUFMCSS_out; + + VitalPathDelay01Z ( + OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nUFMCSS, + PathCondition => TRUE)), + GlitchData => nUFMCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMLB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMLB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMLB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; + + end RDQMLB; + + architecture Structure of RDQMLB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMLS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQML_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RDQMLS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) + VARIABLE RDQMLS_zd : std_logic := 'X'; + VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMLS_zd := RDQMLS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMLS, + PathCondition => TRUE)), + GlitchData => RDQMLS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMHB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMHB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMHB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; + + end RDQMHB; + + architecture Structure of RDQMHB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMHS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQMH_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RDQMHS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) + VARIABLE RDQMHS_zd : std_logic := 'X'; + VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMHS_zd := RDQMHS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMHS, + PathCondition => TRUE)), + GlitchData => RDQMHS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; + + end nRCASB; + + architecture Structure of nRCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCASS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCAS_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>nRCASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) + VARIABLE nRCASS_zd : std_logic := 'X'; + VARIABLE nRCASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCASS_zd := nRCASS_out; + + VitalPathDelay01Z ( + OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCASS, + PathCondition => TRUE)), + GlitchData => nRCASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRRASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; + + end nRRASB; + + architecture Structure of nRRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRRASS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRRAS_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>nRRASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) + VARIABLE nRRASS_zd : std_logic := 'X'; + VARIABLE nRRASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRRASS_zd := nRRASS_out; + + VitalPathDelay01Z ( + OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRRASS, + PathCondition => TRUE)), + GlitchData => nRRASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRWES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; + + end nRWEB; + + architecture Structure of nRWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRWES_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRWE_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>nRWES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) + VARIABLE nRWES_zd : std_logic := 'X'; + VARIABLE nRWES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRWES_zd := nRWES_out; + + VitalPathDelay01Z ( + OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRWES, + PathCondition => TRUE)), + GlitchData => nRWES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCKEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCKEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCKEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RCKES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; + + end RCKEB; + + architecture Structure of RCKEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RCKES_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RCKE_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RCKES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) + VARIABLE RCKES_zd : std_logic := 'X'; + VARIABLE RCKES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RCKES_zd := RCKES_out; + + VitalPathDelay01Z ( + OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RCKES, + PathCondition => TRUE)), + GlitchData => RCKES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCLKB"; + + tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); + tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RCLKS : VitalDelayType := 0 ns; + tpw_RCLKS_posedge : VitalDelayType := 0 ns; + tpw_RCLKS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; RCLKS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; + + end RCLKB; + + architecture Structure of RCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal RCLKS_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + RCLK_pad: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>RCLKS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; + VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RCLKS_ipd, + TestSignalName => "RCLKS", + Period => tperiod_RCLKS, + PulseWidthHigh => tpw_RCLKS_posedge, + PulseWidthLow => tpw_RCLKS_negedge, + PeriodData => periodcheckinfo_RCLKS, + Violation => tviol_RCLKS_RCLKS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, + PathDelay => tpd_RCLKS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; + + end nRCSB; + + architecture Structure of nRCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCSS_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCS_pad: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>nRCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) + VARIABLE nRCSS_zd : std_logic := 'X'; + VARIABLE nRCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCSS_zd := nRCSS_out; + + VitalPathDelay01Z ( + OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCSS, + PathCondition => TRUE)), + GlitchData => nRCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD7 : VitalDelayType := 0 ns; + tpw_RD7_posedge : VitalDelayType := 0 ns; + tpw_RD7_negedge : VitalDelayType := 0 ns; + tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; + + end RD_7_B; + + architecture Structure of RD_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD7_ipd : std_logic := 'X'; + signal RD7_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_7: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, + PADI=>RD7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD7_ipd, RD7, tipd_RD7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD7_zd : std_logic := 'X'; + VARIABLE RD7_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD7_RD7 : x01 := '0'; + VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD7_ipd, + TestSignalName => "RD7", + Period => tperiod_RD7, + PulseWidthHigh => tpw_RD7_posedge, + PulseWidthLow => tpw_RD7_negedge, + PeriodData => periodcheckinfo_RD7, + Violation => tviol_RD7_RD7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD7_zd := RD7_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD7_ipd'last_event, + PathDelay => tpd_RD7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD7, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD7, + PathCondition => TRUE)), + GlitchData => RD7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD6 : VitalDelayType := 0 ns; + tpw_RD6_posedge : VitalDelayType := 0 ns; + tpw_RD6_negedge : VitalDelayType := 0 ns; + tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; + + end RD_6_B; + + architecture Structure of RD_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD6_ipd : std_logic := 'X'; + signal RD6_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_6: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, + PADI=>RD6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD6_ipd, RD6, tipd_RD6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD6_zd : std_logic := 'X'; + VARIABLE RD6_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD6_RD6 : x01 := '0'; + VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD6_ipd, + TestSignalName => "RD6", + Period => tperiod_RD6, + PulseWidthHigh => tpw_RD6_posedge, + PulseWidthLow => tpw_RD6_negedge, + PeriodData => periodcheckinfo_RD6, + Violation => tviol_RD6_RD6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD6_zd := RD6_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD6_ipd'last_event, + PathDelay => tpd_RD6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD6, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD6, + PathCondition => TRUE)), + GlitchData => RD6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD5 : VitalDelayType := 0 ns; + tpw_RD5_posedge : VitalDelayType := 0 ns; + tpw_RD5_negedge : VitalDelayType := 0 ns; + tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; + + end RD_5_B; + + architecture Structure of RD_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD5_ipd : std_logic := 'X'; + signal RD5_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_5: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, + PADI=>RD5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD5_ipd, RD5, tipd_RD5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD5_zd : std_logic := 'X'; + VARIABLE RD5_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD5_RD5 : x01 := '0'; + VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD5_ipd, + TestSignalName => "RD5", + Period => tperiod_RD5, + PulseWidthHigh => tpw_RD5_posedge, + PulseWidthLow => tpw_RD5_negedge, + PeriodData => periodcheckinfo_RD5, + Violation => tviol_RD5_RD5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD5_zd := RD5_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD5_ipd'last_event, + PathDelay => tpd_RD5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD5, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD5, + PathCondition => TRUE)), + GlitchData => RD5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD4 : VitalDelayType := 0 ns; + tpw_RD4_posedge : VitalDelayType := 0 ns; + tpw_RD4_negedge : VitalDelayType := 0 ns; + tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; + + end RD_4_B; + + architecture Structure of RD_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD4_ipd : std_logic := 'X'; + signal RD4_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_4: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, + PADI=>RD4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD4_ipd, RD4, tipd_RD4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD4_zd : std_logic := 'X'; + VARIABLE RD4_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD4_RD4 : x01 := '0'; + VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD4_ipd, + TestSignalName => "RD4", + Period => tperiod_RD4, + PulseWidthHigh => tpw_RD4_posedge, + PulseWidthLow => tpw_RD4_negedge, + PeriodData => periodcheckinfo_RD4, + Violation => tviol_RD4_RD4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD4_zd := RD4_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD4_ipd'last_event, + PathDelay => tpd_RD4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD4, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD4, + PathCondition => TRUE)), + GlitchData => RD4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD3 : VitalDelayType := 0 ns; + tpw_RD3_posedge : VitalDelayType := 0 ns; + tpw_RD3_negedge : VitalDelayType := 0 ns; + tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; + + end RD_3_B; + + architecture Structure of RD_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD3_ipd : std_logic := 'X'; + signal RD3_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_3: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, + PADI=>RD3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD3_ipd, RD3, tipd_RD3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD3_zd : std_logic := 'X'; + VARIABLE RD3_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD3_RD3 : x01 := '0'; + VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD3_ipd, + TestSignalName => "RD3", + Period => tperiod_RD3, + PulseWidthHigh => tpw_RD3_posedge, + PulseWidthLow => tpw_RD3_negedge, + PeriodData => periodcheckinfo_RD3, + Violation => tviol_RD3_RD3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD3_zd := RD3_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD3_ipd'last_event, + PathDelay => tpd_RD3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD3, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD3, + PathCondition => TRUE)), + GlitchData => RD3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD2 : VitalDelayType := 0 ns; + tpw_RD2_posedge : VitalDelayType := 0 ns; + tpw_RD2_negedge : VitalDelayType := 0 ns; + tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; + + end RD_2_B; + + architecture Structure of RD_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD2_ipd : std_logic := 'X'; + signal RD2_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_2: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, + PADI=>RD2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD2_ipd, RD2, tipd_RD2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD2_zd : std_logic := 'X'; + VARIABLE RD2_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD2_RD2 : x01 := '0'; + VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD2_ipd, + TestSignalName => "RD2", + Period => tperiod_RD2, + PulseWidthHigh => tpw_RD2_posedge, + PulseWidthLow => tpw_RD2_negedge, + PeriodData => periodcheckinfo_RD2, + Violation => tviol_RD2_RD2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD2_zd := RD2_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD2_ipd'last_event, + PathDelay => tpd_RD2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD2, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD2, + PathCondition => TRUE)), + GlitchData => RD2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD1 : VitalDelayType := 0 ns; + tpw_RD1_posedge : VitalDelayType := 0 ns; + tpw_RD1_negedge : VitalDelayType := 0 ns; + tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; + + end RD_1_B; + + architecture Structure of RD_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD1_ipd : std_logic := 'X'; + signal RD1_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_1: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, + PADI=>RD1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD1_ipd, RD1, tipd_RD1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD1_zd : std_logic := 'X'; + VARIABLE RD1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD1_RD1 : x01 := '0'; + VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD1_ipd, + TestSignalName => "RD1", + Period => tperiod_RD1, + PulseWidthHigh => tpw_RD1_posedge, + PulseWidthLow => tpw_RD1_negedge, + PeriodData => periodcheckinfo_RD1, + Violation => tviol_RD1_RD1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD1_zd := RD1_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD1_ipd'last_event, + PathDelay => tpd_RD1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD1, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD1, + PathCondition => TRUE)), + GlitchData => RD1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_11_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA11: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; + + end RA_11_B; + + architecture Structure of RA_11_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA11_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_11: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA11_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA11_out) + VARIABLE RA11_zd : std_logic := 'X'; + VARIABLE RA11_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA11_zd := RA11_out; + + VitalPathDelay01Z ( + OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA11, + PathCondition => TRUE)), + GlitchData => RA11_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_10_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_10_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA10: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; + + end RA_10_B; + + architecture Structure of RA_10_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA10_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_10: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA10_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA10_out) + VARIABLE RA10_zd : std_logic := 'X'; + VARIABLE RA10_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA10_zd := RA10_out; + + VitalPathDelay01Z ( + OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA10, + PathCondition => TRUE)), + GlitchData => RA10_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_9_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA9: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; + + end RA_9_B; + + architecture Structure of RA_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA9_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_9: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA9_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA9_out) + VARIABLE RA9_zd : std_logic := 'X'; + VARIABLE RA9_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA9_zd := RA9_out; + + VitalPathDelay01Z ( + OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA9, + PathCondition => TRUE)), + GlitchData => RA9_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_8_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA8: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; + + end RA_8_B; + + architecture Structure of RA_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA8_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_8: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA8_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA8_out) + VARIABLE RA8_zd : std_logic := 'X'; + VARIABLE RA8_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA8_zd := RA8_out; + + VitalPathDelay01Z ( + OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA8, + PathCondition => TRUE)), + GlitchData => RA8_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; + + end RA_7_B; + + architecture Structure of RA_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA7_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_7: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA7_out) + VARIABLE RA7_zd : std_logic := 'X'; + VARIABLE RA7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA7_zd := RA7_out; + + VitalPathDelay01Z ( + OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA7, + PathCondition => TRUE)), + GlitchData => RA7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; + + end RA_6_B; + + architecture Structure of RA_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA6_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_6: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA6_out) + VARIABLE RA6_zd : std_logic := 'X'; + VARIABLE RA6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA6_zd := RA6_out; + + VitalPathDelay01Z ( + OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA6, + PathCondition => TRUE)), + GlitchData => RA6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; + + end RA_5_B; + + architecture Structure of RA_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA5_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_5: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA5_out) + VARIABLE RA5_zd : std_logic := 'X'; + VARIABLE RA5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA5_zd := RA5_out; + + VitalPathDelay01Z ( + OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA5, + PathCondition => TRUE)), + GlitchData => RA5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; + + end RA_4_B; + + architecture Structure of RA_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA4_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_4: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA4_out) + VARIABLE RA4_zd : std_logic := 'X'; + VARIABLE RA4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA4_zd := RA4_out; + + VitalPathDelay01Z ( + OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA4, + PathCondition => TRUE)), + GlitchData => RA4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; + + end RA_3_B; + + architecture Structure of RA_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA3_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_3: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA3_out) + VARIABLE RA3_zd : std_logic := 'X'; + VARIABLE RA3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA3_zd := RA3_out; + + VitalPathDelay01Z ( + OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA3, + PathCondition => TRUE)), + GlitchData => RA3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; + + end RA_2_B; + + architecture Structure of RA_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA2_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_2: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA2_out) + VARIABLE RA2_zd : std_logic := 'X'; + VARIABLE RA2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA2_zd := RA2_out; + + VitalPathDelay01Z ( + OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA2, + PathCondition => TRUE)), + GlitchData => RA2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; + + end RA_1_B; + + architecture Structure of RA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA1_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_1: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA1_out) + VARIABLE RA1_zd : std_logic := 'X'; + VARIABLE RA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA1_zd := RA1_out; + + VitalPathDelay01Z ( + OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA1, + PathCondition => TRUE)), + GlitchData => RA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; + + end RA_0_B; + + architecture Structure of RA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA0_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_0: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA0_out) + VARIABLE RA0_zd : std_logic := 'X'; + VARIABLE RA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA0_zd := RA0_out; + + VitalPathDelay01Z ( + OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA0, + PathCondition => TRUE)), + GlitchData => RA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; + + end RBA_1_B; + + architecture Structure of RBA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA1_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_1: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RBA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) + VARIABLE RBA1_zd : std_logic := 'X'; + VARIABLE RBA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA1_zd := RBA1_out; + + VitalPathDelay01Z ( + OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA1, + PathCondition => TRUE)), + GlitchData => RBA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; + + end RBA_0_B; + + architecture Structure of RBA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA0_out : std_logic := 'X'; + + component mjiobuf0120 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_0: mjiobuf0120 + port map (I=>PADDO_ipd, PAD=>RBA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) + VARIABLE RBA0_zd : std_logic := 'X'; + VARIABLE RBA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA0_zd := RBA0_out; + + VitalPathDelay01Z ( + OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA0, + PathCondition => TRUE)), + GlitchData => RBA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0121 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0121 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0121 : ENTITY IS TRUE; + + end mjiobuf0121; + + architecture Structure of mjiobuf0121 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity LEDB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity LEDB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "LEDB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; LEDS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; + + end LEDB; + + architecture Structure of LEDB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal LEDS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + LED_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>LEDS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) + VARIABLE LEDS_zd : std_logic := 'X'; + VARIABLE LEDS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + LEDS_zd := LEDS_out; + + VitalPathDelay01Z ( + OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_LEDS, + PathCondition => TRUE)), + GlitchData => LEDS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nFWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nFWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nFWEB"; + + tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); + tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nFWES : VitalDelayType := 0 ns; + tpw_nFWES_posedge : VitalDelayType := 0 ns; + tpw_nFWES_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nFWES: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; + + end nFWEB; + + architecture Structure of nFWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nFWES_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nFWE_pad: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>nFWES_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nFWES_nFWES : x01 := '0'; + VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nFWES_ipd, + TestSignalName => "nFWES", + Period => tperiod_nFWES, + PulseWidthHigh => tpw_nFWES_posedge, + PulseWidthLow => tpw_nFWES_negedge, + PeriodData => periodcheckinfo_nFWES, + Violation => tviol_nFWES_nFWES, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, + PathDelay => tpd_nFWES_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0122 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0122 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0122 : ENTITY IS TRUE; + + end mjiobuf0122; + + architecture Structure of mjiobuf0122 is + component IBPU + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPU + port map (I=>PAD, O=>Z); + end Structure; + +-- entity nCRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCRASB"; + + tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCRASS : VitalDelayType := 0 ns; + tpw_nCRASS_posedge : VitalDelayType := 0 ns; + tpw_nCRASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCRASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; + + end nCRASB; + + architecture Structure of nCRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCRASS_ipd : std_logic := 'X'; + + component mjiobuf0122 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCRAS_pad: mjiobuf0122 + port map (Z=>PADDI_out, PAD=>nCRASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; + VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCRASS_ipd, + TestSignalName => "nCRASS", + Period => tperiod_nCRASS, + PulseWidthHigh => tpw_nCRASS_posedge, + PulseWidthLow => tpw_nCRASS_negedge, + PeriodData => periodcheckinfo_nCRASS, + Violation => tviol_nCRASS_nCRASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, + PathDelay => tpd_nCRASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCCASB"; + + tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCCASS : VitalDelayType := 0 ns; + tpw_nCCASS_posedge : VitalDelayType := 0 ns; + tpw_nCCASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCCASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; + + end nCCASB; + + architecture Structure of nCCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCCASS_ipd : std_logic := 'X'; + + component mjiobuf0122 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCCAS_pad: mjiobuf0122 + port map (Z=>PADDI_out, PAD=>nCCASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; + VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCCASS_ipd, + TestSignalName => "nCCASS", + Period => tperiod_nCCASS, + PulseWidthHigh => tpw_nCCASS_posedge, + PulseWidthLow => tpw_nCCASS_negedge, + PeriodData => periodcheckinfo_nCCASS, + Violation => tviol_nCCASS_nCCASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, + PathDelay => tpd_nCCASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; + + end Dout_7_B; + + architecture Structure of Dout_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout7_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_7: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) + VARIABLE Dout7_zd : std_logic := 'X'; + VARIABLE Dout7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout7_zd := Dout7_out; + + VitalPathDelay01Z ( + OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout7, + PathCondition => TRUE)), + GlitchData => Dout7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; + + end Dout_6_B; + + architecture Structure of Dout_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout6_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_6: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) + VARIABLE Dout6_zd : std_logic := 'X'; + VARIABLE Dout6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout6_zd := Dout6_out; + + VitalPathDelay01Z ( + OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout6, + PathCondition => TRUE)), + GlitchData => Dout6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; + + end Dout_5_B; + + architecture Structure of Dout_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout5_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_5: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) + VARIABLE Dout5_zd : std_logic := 'X'; + VARIABLE Dout5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout5_zd := Dout5_out; + + VitalPathDelay01Z ( + OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout5, + PathCondition => TRUE)), + GlitchData => Dout5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; + + end Dout_4_B; + + architecture Structure of Dout_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout4_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_4: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) + VARIABLE Dout4_zd : std_logic := 'X'; + VARIABLE Dout4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout4_zd := Dout4_out; + + VitalPathDelay01Z ( + OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout4, + PathCondition => TRUE)), + GlitchData => Dout4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; + + end Dout_3_B; + + architecture Structure of Dout_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout3_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_3: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) + VARIABLE Dout3_zd : std_logic := 'X'; + VARIABLE Dout3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout3_zd := Dout3_out; + + VitalPathDelay01Z ( + OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout3, + PathCondition => TRUE)), + GlitchData => Dout3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; + + end Dout_2_B; + + architecture Structure of Dout_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout2_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_2: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) + VARIABLE Dout2_zd : std_logic := 'X'; + VARIABLE Dout2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout2_zd := Dout2_out; + + VitalPathDelay01Z ( + OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout2, + PathCondition => TRUE)), + GlitchData => Dout2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; + + end Dout_1_B; + + architecture Structure of Dout_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout1_out : std_logic := 'X'; + + component mjiobuf0117 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_1: mjiobuf0117 + port map (I=>PADDO_ipd, PAD=>Dout1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) + VARIABLE Dout1_zd : std_logic := 'X'; + VARIABLE Dout1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout1_zd := Dout1_out; + + VitalPathDelay01Z ( + OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout1, + PathCondition => TRUE)), + GlitchData => Dout1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_B"; + + tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din7 : VitalDelayType := 0 ns; + tpw_Din7_posedge : VitalDelayType := 0 ns; + tpw_Din7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; + + end Din_7_B; + + architecture Structure of Din_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din7_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_7: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din7_ipd, Din7, tipd_Din7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din7_Din7 : x01 := '0'; + VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din7_ipd, + TestSignalName => "Din7", + Period => tperiod_Din7, + PulseWidthHigh => tpw_Din7_posedge, + PulseWidthLow => tpw_Din7_negedge, + PeriodData => periodcheckinfo_Din7, + Violation => tviol_Din7_Din7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din7_ipd'last_event, + PathDelay => tpd_Din7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_B"; + + tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din6 : VitalDelayType := 0 ns; + tpw_Din6_posedge : VitalDelayType := 0 ns; + tpw_Din6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; + + end Din_6_B; + + architecture Structure of Din_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din6_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_6: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din6_ipd, Din6, tipd_Din6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din6_Din6 : x01 := '0'; + VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din6_ipd, + TestSignalName => "Din6", + Period => tperiod_Din6, + PulseWidthHigh => tpw_Din6_posedge, + PulseWidthLow => tpw_Din6_negedge, + PeriodData => periodcheckinfo_Din6, + Violation => tviol_Din6_Din6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din6_ipd'last_event, + PathDelay => tpd_Din6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_B"; + + tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din5 : VitalDelayType := 0 ns; + tpw_Din5_posedge : VitalDelayType := 0 ns; + tpw_Din5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; + + end Din_5_B; + + architecture Structure of Din_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din5_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_5: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din5_ipd, Din5, tipd_Din5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din5_Din5 : x01 := '0'; + VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din5_ipd, + TestSignalName => "Din5", + Period => tperiod_Din5, + PulseWidthHigh => tpw_Din5_posedge, + PulseWidthLow => tpw_Din5_negedge, + PeriodData => periodcheckinfo_Din5, + Violation => tviol_Din5_Din5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din5_ipd'last_event, + PathDelay => tpd_Din5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_B"; + + tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din4 : VitalDelayType := 0 ns; + tpw_Din4_posedge : VitalDelayType := 0 ns; + tpw_Din4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; + + end Din_4_B; + + architecture Structure of Din_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din4_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_4: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din4_ipd, Din4, tipd_Din4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din4_Din4 : x01 := '0'; + VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din4_ipd, + TestSignalName => "Din4", + Period => tperiod_Din4, + PulseWidthHigh => tpw_Din4_posedge, + PulseWidthLow => tpw_Din4_negedge, + PeriodData => periodcheckinfo_Din4, + Violation => tviol_Din4_Din4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din4_ipd'last_event, + PathDelay => tpd_Din4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_B"; + + tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din3 : VitalDelayType := 0 ns; + tpw_Din3_posedge : VitalDelayType := 0 ns; + tpw_Din3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; + + end Din_3_B; + + architecture Structure of Din_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din3_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_3: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din3_ipd, Din3, tipd_Din3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din3_Din3 : x01 := '0'; + VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din3_ipd, + TestSignalName => "Din3", + Period => tperiod_Din3, + PulseWidthHigh => tpw_Din3_posedge, + PulseWidthLow => tpw_Din3_negedge, + PeriodData => periodcheckinfo_Din3, + Violation => tviol_Din3_Din3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din3_ipd'last_event, + PathDelay => tpd_Din3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_B"; + + tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din2 : VitalDelayType := 0 ns; + tpw_Din2_posedge : VitalDelayType := 0 ns; + tpw_Din2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; + + end Din_2_B; + + architecture Structure of Din_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din2_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_2: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din2_ipd, Din2, tipd_Din2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din2_Din2 : x01 := '0'; + VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din2_ipd, + TestSignalName => "Din2", + Period => tperiod_Din2, + PulseWidthHigh => tpw_Din2_posedge, + PulseWidthLow => tpw_Din2_negedge, + PeriodData => periodcheckinfo_Din2, + Violation => tviol_Din2_Din2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din2_ipd'last_event, + PathDelay => tpd_Din2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_B"; + + tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din1 : VitalDelayType := 0 ns; + tpw_Din1_posedge : VitalDelayType := 0 ns; + tpw_Din1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; + + end Din_1_B; + + architecture Structure of Din_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din1_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_1: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din1_ipd, Din1, tipd_Din1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din1_Din1 : x01 := '0'; + VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din1_ipd, + TestSignalName => "Din1", + Period => tperiod_Din1, + PulseWidthHigh => tpw_Din1_posedge, + PulseWidthLow => tpw_Din1_negedge, + PeriodData => periodcheckinfo_Din1, + Violation => tviol_Din1_Din1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din1_ipd'last_event, + PathDelay => tpd_Din1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_B"; + + tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din0 : VitalDelayType := 0 ns; + tpw_Din0_posedge : VitalDelayType := 0 ns; + tpw_Din0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; + + end Din_0_B; + + architecture Structure of Din_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din0_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_0: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>Din0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din0_ipd, Din0, tipd_Din0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din0_Din0 : x01 := '0'; + VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din0_ipd, + TestSignalName => "Din0", + Period => tperiod_Din0, + PulseWidthHigh => tpw_Din0_posedge, + PulseWidthLow => tpw_Din0_negedge, + PeriodData => periodcheckinfo_Din0, + Violation => tviol_Din0_Din0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din0_ipd'last_event, + PathDelay => tpd_Din0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_1_B"; + + tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW1 : VitalDelayType := 0 ns; + tpw_CROW1_posedge : VitalDelayType := 0 ns; + tpw_CROW1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; + + end CROW_1_B; + + architecture Structure of CROW_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW1_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_1: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>CROW1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW1_CROW1 : x01 := '0'; + VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW1_ipd, + TestSignalName => "CROW1", + Period => tperiod_CROW1, + PulseWidthHigh => tpw_CROW1_posedge, + PulseWidthLow => tpw_CROW1_negedge, + PeriodData => periodcheckinfo_CROW1, + Violation => tviol_CROW1_CROW1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, + PathDelay => tpd_CROW1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_0_B"; + + tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW0 : VitalDelayType := 0 ns; + tpw_CROW0_posedge : VitalDelayType := 0 ns; + tpw_CROW0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; + + end CROW_0_B; + + architecture Structure of CROW_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW0_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_0: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>CROW0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW0_CROW0 : x01 := '0'; + VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW0_ipd, + TestSignalName => "CROW0", + Period => tperiod_CROW0, + PulseWidthHigh => tpw_CROW0_posedge, + PulseWidthLow => tpw_CROW0_negedge, + PeriodData => periodcheckinfo_CROW0, + Violation => tviol_CROW0_CROW0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, + PathDelay => tpd_CROW0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_9_B"; + + tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin9 : VitalDelayType := 0 ns; + tpw_MAin9_posedge : VitalDelayType := 0 ns; + tpw_MAin9_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin9: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; + + end MAin_9_B; + + architecture Structure of MAin_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin9_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_9: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin9_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin9_MAin9 : x01 := '0'; + VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin9_ipd, + TestSignalName => "MAin9", + Period => tperiod_MAin9, + PulseWidthHigh => tpw_MAin9_posedge, + PulseWidthLow => tpw_MAin9_negedge, + PeriodData => periodcheckinfo_MAin9, + Violation => tviol_MAin9_MAin9, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, + PathDelay => tpd_MAin9_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_8_B"; + + tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin8 : VitalDelayType := 0 ns; + tpw_MAin8_posedge : VitalDelayType := 0 ns; + tpw_MAin8_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin8: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; + + end MAin_8_B; + + architecture Structure of MAin_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin8_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_8: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin8_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin8_MAin8 : x01 := '0'; + VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin8_ipd, + TestSignalName => "MAin8", + Period => tperiod_MAin8, + PulseWidthHigh => tpw_MAin8_posedge, + PulseWidthLow => tpw_MAin8_negedge, + PeriodData => periodcheckinfo_MAin8, + Violation => tviol_MAin8_MAin8, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, + PathDelay => tpd_MAin8_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_7_B"; + + tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin7 : VitalDelayType := 0 ns; + tpw_MAin7_posedge : VitalDelayType := 0 ns; + tpw_MAin7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; + + end MAin_7_B; + + architecture Structure of MAin_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin7_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_7: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin7_MAin7 : x01 := '0'; + VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin7_ipd, + TestSignalName => "MAin7", + Period => tperiod_MAin7, + PulseWidthHigh => tpw_MAin7_posedge, + PulseWidthLow => tpw_MAin7_negedge, + PeriodData => periodcheckinfo_MAin7, + Violation => tviol_MAin7_MAin7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, + PathDelay => tpd_MAin7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_6_B"; + + tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin6 : VitalDelayType := 0 ns; + tpw_MAin6_posedge : VitalDelayType := 0 ns; + tpw_MAin6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; + + end MAin_6_B; + + architecture Structure of MAin_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin6_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_6: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin6_MAin6 : x01 := '0'; + VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin6_ipd, + TestSignalName => "MAin6", + Period => tperiod_MAin6, + PulseWidthHigh => tpw_MAin6_posedge, + PulseWidthLow => tpw_MAin6_negedge, + PeriodData => periodcheckinfo_MAin6, + Violation => tviol_MAin6_MAin6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, + PathDelay => tpd_MAin6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_5_B"; + + tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin5 : VitalDelayType := 0 ns; + tpw_MAin5_posedge : VitalDelayType := 0 ns; + tpw_MAin5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; + + end MAin_5_B; + + architecture Structure of MAin_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin5_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_5: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin5_MAin5 : x01 := '0'; + VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin5_ipd, + TestSignalName => "MAin5", + Period => tperiod_MAin5, + PulseWidthHigh => tpw_MAin5_posedge, + PulseWidthLow => tpw_MAin5_negedge, + PeriodData => periodcheckinfo_MAin5, + Violation => tviol_MAin5_MAin5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, + PathDelay => tpd_MAin5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_4_B"; + + tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin4 : VitalDelayType := 0 ns; + tpw_MAin4_posedge : VitalDelayType := 0 ns; + tpw_MAin4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; + + end MAin_4_B; + + architecture Structure of MAin_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin4_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_4: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin4_MAin4 : x01 := '0'; + VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin4_ipd, + TestSignalName => "MAin4", + Period => tperiod_MAin4, + PulseWidthHigh => tpw_MAin4_posedge, + PulseWidthLow => tpw_MAin4_negedge, + PeriodData => periodcheckinfo_MAin4, + Violation => tviol_MAin4_MAin4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, + PathDelay => tpd_MAin4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_3_B"; + + tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin3 : VitalDelayType := 0 ns; + tpw_MAin3_posedge : VitalDelayType := 0 ns; + tpw_MAin3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; + + end MAin_3_B; + + architecture Structure of MAin_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin3_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_3: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin3_MAin3 : x01 := '0'; + VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin3_ipd, + TestSignalName => "MAin3", + Period => tperiod_MAin3, + PulseWidthHigh => tpw_MAin3_posedge, + PulseWidthLow => tpw_MAin3_negedge, + PeriodData => periodcheckinfo_MAin3, + Violation => tviol_MAin3_MAin3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, + PathDelay => tpd_MAin3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_2_B"; + + tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin2 : VitalDelayType := 0 ns; + tpw_MAin2_posedge : VitalDelayType := 0 ns; + tpw_MAin2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; + + end MAin_2_B; + + architecture Structure of MAin_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin2_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_2: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin2_MAin2 : x01 := '0'; + VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin2_ipd, + TestSignalName => "MAin2", + Period => tperiod_MAin2, + PulseWidthHigh => tpw_MAin2_posedge, + PulseWidthLow => tpw_MAin2_negedge, + PeriodData => periodcheckinfo_MAin2, + Violation => tviol_MAin2_MAin2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, + PathDelay => tpd_MAin2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_1_B"; + + tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin1 : VitalDelayType := 0 ns; + tpw_MAin1_posedge : VitalDelayType := 0 ns; + tpw_MAin1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; + + end MAin_1_B; + + architecture Structure of MAin_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin1_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_1: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin1_MAin1 : x01 := '0'; + VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin1_ipd, + TestSignalName => "MAin1", + Period => tperiod_MAin1, + PulseWidthHigh => tpw_MAin1_posedge, + PulseWidthLow => tpw_MAin1_negedge, + PeriodData => periodcheckinfo_MAin1, + Violation => tviol_MAin1_MAin1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, + PathDelay => tpd_MAin1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_0_B"; + + tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin0 : VitalDelayType := 0 ns; + tpw_MAin0_posedge : VitalDelayType := 0 ns; + tpw_MAin0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; + + end MAin_0_B; + + architecture Structure of MAin_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin0_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_0: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>MAin0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin0_MAin0 : x01 := '0'; + VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin0_ipd, + TestSignalName => "MAin0", + Period => tperiod_MAin0, + PulseWidthHigh => tpw_MAin0_posedge, + PulseWidthLow => tpw_MAin0_negedge, + PeriodData => periodcheckinfo_MAin0, + Violation => tviol_MAin0_MAin0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, + PathDelay => tpd_MAin0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RAM2GS + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RAM2GS is + port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); + CROW: in Std_logic_vector (1 downto 0); + Din: in Std_logic_vector (7 downto 0); + Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; + nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; + RBA: out Std_logic_vector (1 downto 0); + RA: out Std_logic_vector (11 downto 0); + RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; + RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; + nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; + RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; + UFMSDI: out Std_logic; UFMSDO: in Std_logic); + + + + end RAM2GS; + + architecture Structure of RAM2GS is + signal FS_1: Std_logic; + signal FS_0: Std_logic; + signal RCLK_c: Std_logic; + signal FS_cry_1: Std_logic; + signal FS_17: Std_logic; + signal FS_16: Std_logic; + signal FS_cry_15: Std_logic; + signal FS_15: Std_logic; + signal FS_14: Std_logic; + signal FS_cry_13: Std_logic; + signal FS_13: Std_logic; + signal FS_12: Std_logic; + signal FS_cry_11: Std_logic; + signal FS_11: Std_logic; + signal FS_10: Std_logic; + signal FS_cry_9: Std_logic; + signal FS_9: Std_logic; + signal FS_8: Std_logic; + signal FS_cry_7: Std_logic; + signal FS_7: Std_logic; + signal FS_6: Std_logic; + signal FS_cry_5: Std_logic; + signal FS_5: Std_logic; + signal FS_4: Std_logic; + signal FS_cry_3: Std_logic; + signal FS_3: Std_logic; + signal FS_2: Std_logic; + signal CmdEnable17_0_a2_4: Std_logic; + signal CmdEnable17_0_a2_3: Std_logic; + signal MAin_c_0: Std_logic; + signal N_147: Std_logic; + signal ADSubmitted: Std_logic; + signal CmdEnable17: Std_logic; + signal CmdEnable16: Std_logic; + signal C1WR_0_a2: Std_logic; + signal ADSubmitted_r: Std_logic; + signal PHI2_c: Std_logic; + signal CmdEnable16_0_a2_5: Std_logic; + signal CmdEnable16_0_a2_4: Std_logic; + signal MAin_c_1: Std_logic; + signal C1Submitted: Std_logic; + signal C1Submitted_RNO: Std_logic; + signal RASr2: Std_logic; + signal S_1: Std_logic; + signal CO0: Std_logic; + signal IS_3: Std_logic; + signal N_177_i: Std_logic; + signal Ready_0_sqmuxa_0_a3_2: Std_logic; + signal CmdEnable: Std_logic; + signal un1_CMDWR: Std_logic; + signal CmdEnable_s: Std_logic; + signal N_128: Std_logic; + signal Din_c_5: Std_logic; + signal Din_c_3: Std_logic; + signal N_133: Std_logic; + signal N_152: Std_logic; + signal N_132: Std_logic; + signal LEDEN: Std_logic; + signal N_21_i: Std_logic; + signal XOR8MEG18: Std_logic; + signal CmdLEDEN: Std_logic; + signal CmdSubmitted: Std_logic; + signal InitReady: Std_logic; + signal PHI2r3: Std_logic; + signal PHI2r2: Std_logic; + signal CmdSubmitted_1_sqmuxa: Std_logic; + signal N_460_0: Std_logic; + signal N_136: Std_logic; + signal N_43: Std_logic; + signal Cmdn8MEGEN: Std_logic; + signal CmdEnable16_4: Std_logic; + signal n8MEGEN: Std_logic; + signal Cmdn8MEGEN_4_u_i_0: Std_logic; + signal N_19_i: Std_logic; + signal nRRAS_5_u_i_0: Std_logic; + signal IS_0: Std_logic; + signal N_160: Std_logic; + signal N_155: Std_logic; + signal Ready: Std_logic; + signal N_64_i_i: Std_logic; + signal N_24: Std_logic; + signal IS_1: Std_logic; + signal IS_2: Std_logic; + signal N_60_i_i: Std_logic; + signal N_56_i: Std_logic; + signal N_159_i: Std_logic; + signal N_159: Std_logic; + signal N_61_i_i: Std_logic; + signal RA10s_i: Std_logic; + signal N_126: Std_logic; + signal N_51: Std_logic; + signal UFMSDI_ens2_i_a2_4_2: Std_logic; + signal InitReady3: Std_logic; + signal N_461_0: Std_logic; + signal UFMSDI_ens2_i_a0: Std_logic; + signal nCRAS_c: Std_logic; + signal CBR: Std_logic; + signal UFMSDO_c: Std_logic; + signal N_70: Std_logic; + signal N_33: Std_logic; + signal LED_c: Std_logic; + signal un1_Din_4: Std_logic; + signal XOR8MEG: Std_logic; + signal Din_c_6: Std_logic; + signal RA11_2: Std_logic; + signal Ready_fast: Std_logic; + signal RA_c_11: Std_logic; + signal N_171: Std_logic; + signal CASr2: Std_logic; + signal FWEr_fast: Std_logic; + signal RCKEEN_8_u_0_0: Std_logic; + signal RCKEEN_8_u_1: Std_logic; + signal RCKEEN_8: Std_logic; + signal PHI2r: Std_logic; + signal RCKEEN: Std_logic; + signal RASr3: Std_logic; + signal RASr: Std_logic; + signal RCKE_2: Std_logic; + signal RCKE_c: Std_logic; + signal m18_0_a3_3: Std_logic; + signal S_0_i_o2_1: Std_logic; + signal N_165: Std_logic; + signal N_462_0: Std_logic; + signal Ready_0_sqmuxa: Std_logic; + signal N_463_0: Std_logic; + signal nRRAS_0_sqmuxa: Std_logic; + signal CmdUFMCLK: Std_logic; + signal N_129: Std_logic; + signal UFMCLK_r_i_a2_2_2: Std_logic; + signal UFMCLK_c: Std_logic; + signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; + signal nUFMCS15: Std_logic; + signal N_139_i: Std_logic; + signal UFMCLK_RNO: Std_logic; + signal UFMSDI_r_xx_mm_1: Std_logic; + signal UFMSDI_c: Std_logic; + signal UFMSDI_RNO: Std_logic; + signal MAin_c_4: Std_logic; + signal nRowColSel: Std_logic; + signal RowA_4: Std_logic; + signal Din_c_4: Std_logic; + signal nCCAS_c: Std_logic; + signal RA_c_4: Std_logic; + signal WRD_4: Std_logic; + signal WRD_5: Std_logic; + signal Bank_7: Std_logic; + signal Bank_6: Std_logic; + signal Bank_5: Std_logic; + signal Bank_2: Std_logic; + signal Din_c_7: Std_logic; + signal WRD_6: Std_logic; + signal C1WR_0_a2_0_11: Std_logic; + signal WRD_7: Std_logic; + signal Din_c_0: Std_logic; + signal Din_c_2: Std_logic; + signal Din_c_1: Std_logic; + signal XOR8MEG_3_u_0_a3_2: Std_logic; + signal XOR8MEG_3: Std_logic; + signal N_69: Std_logic; + signal N_31: Std_logic; + signal N_151: Std_logic; + signal N_41: Std_logic; + signal g0_1: Std_logic; + signal nRCAS_0_sqmuxa_1: Std_logic; + signal N_37_i: Std_logic; + signal nRCAS_c: Std_logic; + signal CASr3: Std_logic; + signal RCKEEN_8_u_0_a2_1_out: Std_logic; + signal N_28_i_1: Std_logic; + signal N_28_i: Std_logic; + signal nRCS_c: Std_logic; + signal N_24_i: Std_logic; + signal nRRAS_c: Std_logic; + signal CBR_fast: Std_logic; + signal m18_0_a2_1: Std_logic; + signal FWEr: Std_logic; + signal G_17_1: Std_logic; + signal N_39_i: Std_logic; + signal nRWE_c: Std_logic; + signal N_179: Std_logic; + signal nRowColSel_0_0: Std_logic; + signal nUFMCS_c: Std_logic; + signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; + signal nUFMCS_s_0_N_5_i: Std_logic; + signal CmdUFMCS: Std_logic; + signal N_95_5: Std_logic; + signal N_95_3: Std_logic; + signal RowA_0: Std_logic; + signal RowA_1: Std_logic; + signal MAin_c_5: Std_logic; + signal CmdUFMCLK_1_sqmuxa: Std_logic; + signal RowA_5: Std_logic; + signal N_137_8: Std_logic; + signal un1_FS_14_i_a2_0_1: Std_logic; + signal N_137_6: Std_logic; + signal un1_FS_13_i_a2_1: Std_logic; + signal Bank_0: Std_logic; + signal C1WR_0_a2_0_10: Std_logic; + signal Bank_1: Std_logic; + signal MAin_c_6: Std_logic; + signal MAin_c_7: Std_logic; + signal C1WR_0_a2_0_3: Std_logic; + signal Bank_3: Std_logic; + signal Bank_4: Std_logic; + signal C1WR_0_a2_0_4: Std_logic; + signal UFMSDI_ens2_i_o2_0_3: Std_logic; + signal MAin_c_3: Std_logic; + signal MAin_c_2: Std_logic; + signal RowA_2: Std_logic; + signal RowA_3: Std_logic; + signal CmdUFMSDI: Std_logic; + signal CASr: Std_logic; + signal CmdEnable16_1: Std_logic; + signal m6_0_a2_2: Std_logic; + signal WRD_0: Std_logic; + signal WRD_1: Std_logic; + signal g4_0_0_0: Std_logic; + signal MAin_c_9: Std_logic; + signal MAin_c_8: Std_logic; + signal RowA_8: Std_logic; + signal RowA_9: Std_logic; + signal nFWE_c: Std_logic; + signal CROW_c_1: Std_logic; + signal CROW_c_0: Std_logic; + signal RBA_c_0: Std_logic; + signal RBA_c_1: Std_logic; + signal WRD_2: Std_logic; + signal WRD_3: Std_logic; + signal RA_c_9: Std_logic; + signal RDQML_c: Std_logic; + signal RD_1_i: Std_logic; + signal RowA_6: Std_logic; + signal RowA_7: Std_logic; + signal RA_c_8: Std_logic; + signal RDQMH_c: Std_logic; + signal RA_c_0: Std_logic; + signal RA_c_1: Std_logic; + signal RA_c_7: Std_logic; + signal RA_c_2: Std_logic; + signal RA_c_6: Std_logic; + signal RA_c_3: Std_logic; + signal RA_c_5: Std_logic; + signal RA_c_10: Std_logic; + signal RD_in_0: Std_logic; + signal RD_in_7: Std_logic; + signal RD_in_6: Std_logic; + signal RD_in_5: Std_logic; + signal RD_in_4: Std_logic; + signal RD_in_3: Std_logic; + signal RD_in_2: Std_logic; + signal RD_in_1: Std_logic; + signal VCCI: Std_logic; + signal GNDI_TSALL: Std_logic; + component VHI + port (Z: out Std_logic); + end component; + component VLO + port (Z: out Std_logic); + end component; + component PUR + port (PUR: in Std_logic); + end component; + component GSR + port (GSR: in Std_logic); + end component; + component TSALL + port (TSALL: in Std_logic); + end component; + component SLICE_0 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_1 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_2 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_3 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_4 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_5 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_6 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_7 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_8 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_9 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_14 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_19 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_20 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_21 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_22 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_26 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_29 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_30 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_31 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_32 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_33 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_39 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_41 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_42 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_43 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_44 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_50 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_51 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_52 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_55 + port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_56 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_57 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_58 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_59 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_60 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_61 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_62 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_63 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_64 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component nRWE_RNO_1_SLICE_65 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + end component; + component SLICE_66 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_67 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_68 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_69 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_70 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_71 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_72 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_73 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_74 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_75 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_76 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_77 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_78 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_79 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_80 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_81 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_82 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_83 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_84 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_85 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_86 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_87 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_88 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_89 + port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_90 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_91 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_92 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_93 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_94 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component RD_0_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + end component; + component Dout_0_B + port (PADDO: in Std_logic; Dout0: out Std_logic); + end component; + component PHI2B + port (PADDI: out Std_logic; PHI2S: in Std_logic); + end component; + component UFMSDOB + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + end component; + component UFMSDIB + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + end component; + component UFMCLKB + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + end component; + component nUFMCSB + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + end component; + component RDQMLB + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + end component; + component RDQMHB + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + end component; + component nRCASB + port (PADDO: in Std_logic; nRCASS: out Std_logic); + end component; + component nRRASB + port (PADDO: in Std_logic; nRRASS: out Std_logic); + end component; + component nRWEB + port (PADDO: in Std_logic; nRWES: out Std_logic); + end component; + component RCKEB + port (PADDO: in Std_logic; RCKES: out Std_logic); + end component; + component RCLKB + port (PADDI: out Std_logic; RCLKS: in Std_logic); + end component; + component nRCSB + port (PADDO: in Std_logic; nRCSS: out Std_logic); + end component; + component RD_7_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + end component; + component RD_6_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + end component; + component RD_5_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + end component; + component RD_4_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + end component; + component RD_3_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + end component; + component RD_2_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + end component; + component RD_1_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + end component; + component RA_11_B + port (PADDO: in Std_logic; RA11: out Std_logic); + end component; + component RA_10_B + port (PADDO: in Std_logic; RA10: out Std_logic); + end component; + component RA_9_B + port (PADDO: in Std_logic; RA9: out Std_logic); + end component; + component RA_8_B + port (PADDO: in Std_logic; RA8: out Std_logic); + end component; + component RA_7_B + port (PADDO: in Std_logic; RA7: out Std_logic); + end component; + component RA_6_B + port (PADDO: in Std_logic; RA6: out Std_logic); + end component; + component RA_5_B + port (PADDO: in Std_logic; RA5: out Std_logic); + end component; + component RA_4_B + port (PADDO: in Std_logic; RA4: out Std_logic); + end component; + component RA_3_B + port (PADDO: in Std_logic; RA3: out Std_logic); + end component; + component RA_2_B + port (PADDO: in Std_logic; RA2: out Std_logic); + end component; + component RA_1_B + port (PADDO: in Std_logic; RA1: out Std_logic); + end component; + component RA_0_B + port (PADDO: in Std_logic; RA0: out Std_logic); + end component; + component RBA_1_B + port (PADDO: in Std_logic; RBA1: out Std_logic); + end component; + component RBA_0_B + port (PADDO: in Std_logic; RBA0: out Std_logic); + end component; + component LEDB + port (PADDO: in Std_logic; LEDS: out Std_logic); + end component; + component nFWEB + port (PADDI: out Std_logic; nFWES: in Std_logic); + end component; + component nCRASB + port (PADDI: out Std_logic; nCRASS: in Std_logic); + end component; + component nCCASB + port (PADDI: out Std_logic; nCCASS: in Std_logic); + end component; + component Dout_7_B + port (PADDO: in Std_logic; Dout7: out Std_logic); + end component; + component Dout_6_B + port (PADDO: in Std_logic; Dout6: out Std_logic); + end component; + component Dout_5_B + port (PADDO: in Std_logic; Dout5: out Std_logic); + end component; + component Dout_4_B + port (PADDO: in Std_logic; Dout4: out Std_logic); + end component; + component Dout_3_B + port (PADDO: in Std_logic; Dout3: out Std_logic); + end component; + component Dout_2_B + port (PADDO: in Std_logic; Dout2: out Std_logic); + end component; + component Dout_1_B + port (PADDO: in Std_logic; Dout1: out Std_logic); + end component; + component Din_7_B + port (PADDI: out Std_logic; Din7: in Std_logic); + end component; + component Din_6_B + port (PADDI: out Std_logic; Din6: in Std_logic); + end component; + component Din_5_B + port (PADDI: out Std_logic; Din5: in Std_logic); + end component; + component Din_4_B + port (PADDI: out Std_logic; Din4: in Std_logic); + end component; + component Din_3_B + port (PADDI: out Std_logic; Din3: in Std_logic); + end component; + component Din_2_B + port (PADDI: out Std_logic; Din2: in Std_logic); + end component; + component Din_1_B + port (PADDI: out Std_logic; Din1: in Std_logic); + end component; + component Din_0_B + port (PADDI: out Std_logic; Din0: in Std_logic); + end component; + component CROW_1_B + port (PADDI: out Std_logic; CROW1: in Std_logic); + end component; + component CROW_0_B + port (PADDI: out Std_logic; CROW0: in Std_logic); + end component; + component MAin_9_B + port (PADDI: out Std_logic; MAin9: in Std_logic); + end component; + component MAin_8_B + port (PADDI: out Std_logic; MAin8: in Std_logic); + end component; + component MAin_7_B + port (PADDI: out Std_logic; MAin7: in Std_logic); + end component; + component MAin_6_B + port (PADDI: out Std_logic; MAin6: in Std_logic); + end component; + component MAin_5_B + port (PADDI: out Std_logic; MAin5: in Std_logic); + end component; + component MAin_4_B + port (PADDI: out Std_logic; MAin4: in Std_logic); + end component; + component MAin_3_B + port (PADDI: out Std_logic; MAin3: in Std_logic); + end component; + component MAin_2_B + port (PADDI: out Std_logic; MAin2: in Std_logic); + end component; + component MAin_1_B + port (PADDI: out Std_logic; MAin1: in Std_logic); + end component; + component MAin_0_B + port (PADDI: out Std_logic; MAin0: in Std_logic); + end component; + begin + SLICE_0I: SLICE_0 + port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, + FCO=>FS_cry_1); + SLICE_1I: SLICE_1 + port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, + Q1=>FS_17); + SLICE_2I: SLICE_2 + port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, + Q1=>FS_15, FCO=>FS_cry_15); + SLICE_3I: SLICE_3 + port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, + Q1=>FS_13, FCO=>FS_cry_13); + SLICE_4I: SLICE_4 + port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, + Q1=>FS_11, FCO=>FS_cry_11); + SLICE_5I: SLICE_5 + port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, + Q1=>FS_9, FCO=>FS_cry_9); + SLICE_6I: SLICE_6 + port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, + Q1=>FS_7, FCO=>FS_cry_7); + SLICE_7I: SLICE_7 + port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, + Q1=>FS_5, FCO=>FS_cry_5); + SLICE_8I: SLICE_8 + port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, + Q1=>FS_3, FCO=>FS_cry_3); + SLICE_9I: SLICE_9 + port map (D1=>CmdEnable17_0_a2_4, C1=>CmdEnable17_0_a2_3, B1=>MAin_c_0, + A1=>N_147, D0=>ADSubmitted, C0=>CmdEnable17, B0=>CmdEnable16, + A0=>C1WR_0_a2, DI0=>ADSubmitted_r, CLK=>PHI2_c, + F0=>ADSubmitted_r, Q0=>ADSubmitted, F1=>CmdEnable17); + SLICE_14I: SLICE_14 + port map (D1=>CmdEnable16_0_a2_5, C1=>CmdEnable16_0_a2_4, A1=>N_147, + D0=>MAin_c_1, C0=>CmdEnable16, B0=>C1Submitted, A0=>N_147, + DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, + Q0=>C1Submitted, F1=>CmdEnable16); + SLICE_19I: SLICE_19 + port map (D1=>RASr2, C1=>S_1, B1=>CO0, A1=>IS_3, C0=>S_1, A0=>CO0, + DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, + F1=>Ready_0_sqmuxa_0_a3_2); + SLICE_20I: SLICE_20 + port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>CmdEnable17, C0=>un1_CMDWR, + B0=>C1Submitted, A0=>CmdEnable, DI0=>CmdEnable_s, + M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); + SLICE_21I: SLICE_21 + port map (D1=>N_128, B1=>Din_c_5, A1=>Din_c_3, D0=>N_133, C0=>N_152, + B0=>N_132, A0=>LEDEN, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, + F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); + SLICE_22I: SLICE_22 + port map (D1=>CmdSubmitted, C1=>InitReady, B1=>PHI2r3, A1=>PHI2r2, + C0=>CmdSubmitted_1_sqmuxa, A0=>CmdSubmitted, DI0=>N_460_0, + CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); + SLICE_26I: SLICE_26 + port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, + D0=>n8MEGEN, C0=>Cmdn8MEGEN_4_u_i_0, A0=>N_152, DI0=>N_19_i, + CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, + F1=>Cmdn8MEGEN_4_u_i_0); + SLICE_29I: SLICE_29 + port map (D1=>nRRAS_5_u_i_0, C1=>IS_0, B1=>N_160, A1=>N_155, D0=>IS_0, + B0=>Ready, A0=>N_155, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, + Q0=>IS_0, F1=>N_24); + SLICE_30I: SLICE_30 + port map (D1=>IS_0, B1=>IS_1, A1=>IS_2, D0=>IS_0, A0=>IS_1, + DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); + SLICE_31I: SLICE_31 + port map (D1=>IS_2, C1=>N_159, B1=>IS_1, A1=>IS_3, D0=>IS_2, C0=>IS_0, + B0=>IS_1, A0=>IS_3, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); + SLICE_32I: SLICE_32 + port map (D1=>N_126, C1=>N_51, B1=>UFMSDI_ens2_i_a2_4_2, A1=>InitReady, + B0=>InitReady3, A0=>InitReady, DI0=>N_461_0, CLK=>RCLK_c, + F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); + SLICE_33I: SLICE_33 + port map (D1=>nCRAS_c, C1=>LEDEN, A1=>CBR, D0=>UFMSDO_c, C0=>InitReady, + A0=>CmdLEDEN, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, + Q0=>LEDEN, F1=>LED_c); + SLICE_39I: SLICE_39 + port map (D1=>un1_Din_4, A1=>XOR8MEG, D0=>Din_c_6, C0=>n8MEGEN, + A0=>XOR8MEG, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, + F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); + SLICE_41I: SLICE_41 + port map (D1=>CASr2, C1=>S_1, B1=>CO0, A1=>FWEr_fast, D0=>CBR, C0=>Ready, + B0=>RCKEEN_8_u_0_0, A0=>RCKEEN_8_u_1, DI0=>RCKEEN_8, M1=>PHI2r, + CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, F1=>RCKEEN_8_u_1, + Q1=>PHI2r2); + SLICE_42I: SLICE_42 + port map (D1=>IS_0, C1=>RASr2, B1=>IS_2, A1=>IS_1, D0=>RCKEEN, C0=>RASr3, + B0=>RASr, A0=>RASr2, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, + F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); + SLICE_43I: SLICE_43 + port map (D1=>InitReady, C1=>RASr2, B1=>Ready, A1=>S_0_i_o2_1, + D0=>InitReady, C0=>Ready, B0=>N_165, A0=>Ready_0_sqmuxa_0_a3_2, + DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, + F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); + SLICE_44I: SLICE_44 + port map (D1=>Ready, C1=>InitReady, B1=>Ready_0_sqmuxa_0_a3_2, A1=>N_165, + C0=>Ready_0_sqmuxa, A0=>Ready_fast, DI0=>N_463_0, M1=>nCRAS_c, + CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, + Q1=>RASr); + SLICE_50I: SLICE_50 + port map (D1=>Ready, C1=>CO0, B1=>S_1, C0=>CO0, A0=>S_1, DI0=>S_0_i_o2_1, + LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, + F1=>nRRAS_0_sqmuxa); + SLICE_51I: SLICE_51 + port map (D1=>CmdUFMCLK, C1=>N_129, B1=>InitReady, A1=>UFMCLK_r_i_a2_2_2, + D0=>UFMCLK_c, C0=>UFMCLK_r_i_m4_xx_mm_1, B0=>nUFMCS15, + A0=>N_139_i, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, + F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, + Q1=>RASr2); + SLICE_52I: SLICE_52 + port map (D1=>PHI2r2, C1=>PHI2r3, B1=>InitReady, A1=>CmdSubmitted, + D0=>UFMSDI_r_xx_mm_1, C0=>N_139_i, B0=>UFMSDI_c, A0=>nUFMCS15, + DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, + Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); + SLICE_55I: SLICE_55 + port map (D0=>MAin_c_4, B0=>nRowColSel, A0=>RowA_4, M1=>Din_c_5, + M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); + SLICE_56I: SLICE_56 + port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, D0=>FS_5, + C0=>FS_9, B0=>FS_7, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, + F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); + SLICE_57I: SLICE_57 + port map (D1=>un1_Din_4, C1=>Din_c_0, B1=>Din_c_2, A1=>Din_c_3, + D0=>Din_c_1, C0=>XOR8MEG_3_u_0_a3_2, B0=>LEDEN, A0=>N_171, + DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, + Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); + SLICE_58I: SLICE_58 + port map (D1=>N_51, C1=>InitReady, A1=>FS_8, D0=>UFMSDO_c, C0=>InitReady, + B0=>Cmdn8MEGEN, DI0=>N_69, CE=>N_31, CLK=>RCLK_c, F0=>N_69, + Q0=>n8MEGEN, F1=>N_151); + SLICE_59I: SLICE_59 + port map (D1=>N_155, C1=>S_1, B1=>Ready, A1=>N_160, D0=>N_41, C0=>S_1, + B0=>g0_1, A0=>nRCAS_0_sqmuxa_1, DI0=>N_37_i, CLK=>RCLK_c, + F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); + SLICE_60I: SLICE_60 + port map (D1=>FWEr_fast, C1=>CO0, B1=>CASr2, A1=>CASr3, + D0=>RCKEEN_8_u_0_a2_1_out, C0=>N_28_i_1, B0=>N_24, A0=>CBR, + DI0=>N_28_i, CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); + SLICE_61I: SLICE_61 + port map (D1=>S_0_i_o2_1, C1=>RCKE_c, B1=>Ready, A1=>RASr2, D0=>IS_0, + C0=>N_155, B0=>nRRAS_5_u_i_0, A0=>N_160, DI0=>N_24_i, + CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); + SLICE_62I: SLICE_62 + port map (D1=>RASr2, C1=>S_0_i_o2_1, B1=>Ready, A1=>CBR_fast, + D0=>m18_0_a2_1, C0=>nRCAS_0_sqmuxa_1, B0=>FWEr, A0=>G_17_1, + DI0=>N_39_i, CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, + F1=>nRCAS_0_sqmuxa_1); + SLICE_63I: SLICE_63 + port map (D1=>FWEr, C1=>CASr3, B1=>Ready, A1=>CBR, D0=>S_1, C0=>N_179, + B0=>Ready, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, + CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); + SLICE_64I: SLICE_64 + port map (D1=>FS_11, C1=>InitReady, B1=>N_51, A1=>FS_10, D0=>N_139_i, + C0=>nUFMCS_c, B0=>nUFMCS15, A0=>nUFMCS_s_0_N_5_i_N_2L1, + DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, F0=>nUFMCS_s_0_N_5_i, + Q0=>nUFMCS_c, F1=>nUFMCS15); + nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 + port map (D1=>RASr2, C1=>S_1, B1=>CO0, A1=>RCKE_c, D0=>m18_0_a3_3, + C0=>S_1, B0=>CO0, A0=>InitReady, M0=>Ready, OFX0=>m18_0_a2_1); + SLICE_66I: SLICE_66 + port map (D1=>CmdUFMCS, C1=>UFMCLK_r_i_a2_2_2, B1=>InitReady, D0=>N_95_5, + C0=>N_95_3, B0=>InitReady, A0=>FS_16, M1=>MAin_c_1, + M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, + Q1=>RowA_1); + SLICE_67I: SLICE_67 + port map (D1=>N_128, C1=>Din_c_3, B1=>Din_c_5, A1=>XOR8MEG18, + D0=>CmdEnable, C0=>MAin_c_0, B0=>MAin_c_1, A0=>N_147, + M1=>MAin_c_5, M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>XOR8MEG18, Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); + SLICE_68I: SLICE_68 + port map (D1=>FS_5, C1=>FS_2, B1=>FS_0, A1=>FS_3, D0=>N_137_8, C0=>N_136, + B0=>un1_FS_14_i_a2_0_1, A0=>N_137_6, F0=>N_31, + F1=>un1_FS_14_i_a2_0_1); + SLICE_69I: SLICE_69 + port map (D1=>FS_0, C1=>FS_3, B1=>FS_5, A1=>FS_2, D0=>N_137_8, C0=>N_136, + B0=>N_137_6, A0=>un1_FS_13_i_a2_1, F0=>N_33, + F1=>un1_FS_13_i_a2_1); + SLICE_70I: SLICE_70 + port map (D1=>Bank_0, C1=>C1WR_0_a2_0_10, B1=>C1WR_0_a2_0_11, A1=>Bank_1, + C0=>N_147, A0=>MAin_c_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, + F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); + SLICE_71I: SLICE_71 + port map (D1=>MAin_c_6, C1=>MAin_c_7, B1=>MAin_c_4, A1=>MAin_c_5, + D0=>C1WR_0_a2_0_3, C0=>Bank_3, B0=>Bank_4, A0=>C1WR_0_a2_0_4, + M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, + Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); + SLICE_72I: SLICE_72 + port map (D1=>UFMSDI_ens2_i_o2_0_3, C1=>FS_16, A1=>FS_12, D0=>FS_4, + C0=>N_51, B0=>FS_11, A0=>FS_1, M1=>MAin_c_3, M0=>MAin_c_2, + LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, + Q1=>RowA_3); + SLICE_73I: SLICE_73 + port map (D1=>InitReady, C1=>S_1, B1=>RASr2, A1=>CO0, C0=>N_155, + A0=>Ready, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, + CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); + SLICE_74I: SLICE_74 + port map (B1=>FS_11, A1=>FS_14, D0=>N_95_5, C0=>N_95_3, B0=>FS_16, + A0=>FS_10, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, + F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); + SLICE_75I: SLICE_75 + port map (D1=>Din_c_7, B1=>Din_c_6, A1=>Din_c_4, D0=>Din_c_1, C0=>N_128, + B0=>Din_c_5, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, + Q0=>CASr, F1=>N_128, Q1=>CASr2); + SLICE_76I: SLICE_76 + port map (D1=>Din_c_0, B1=>Din_c_5, D0=>MAin_c_0, C0=>CmdEnable16_4, + B0=>Din_c_1, A0=>Din_c_3, M1=>Din_c_5, M0=>Din_c_4, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, + F1=>CmdEnable16_4, Q1=>Bank_5); + SLICE_77I: SLICE_77 + port map (D1=>Din_c_4, A1=>Din_c_7, D0=>Din_c_6, C0=>MAin_c_1, + B0=>CmdEnable16_1, A0=>Din_c_2, M1=>Din_c_7, M0=>Din_c_6, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, + F1=>CmdEnable16_1, Q1=>Bank_7); + SLICE_78I: SLICE_78 + port map (D1=>Din_c_3, B1=>Din_c_5, D0=>MAin_c_1, C0=>N_43, B0=>Din_c_6, + A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, + F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); + SLICE_79I: SLICE_79 + port map (D1=>CASr3, B1=>CASr2, A1=>Ready, D0=>CO0, C0=>S_1, + B0=>m6_0_a2_2, A0=>CBR, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, + F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); + SLICE_80I: SLICE_80 + port map (D1=>CASr2, B1=>CASr3, D0=>FWEr, C0=>CO0, B0=>g4_0_0_0, + A0=>CBR_fast, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); + SLICE_81I: SLICE_81 + port map (D1=>FS_13, C1=>FS_14, B1=>FS_15, A1=>FS_17, D0=>FS_13, + C0=>FS_17, B0=>FS_15, A0=>FS_12, M1=>nFWE_c, M0=>nFWE_c, + CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, + Q1=>FWEr_fast); + SLICE_82I: SLICE_82 + port map (D1=>Din_c_3, C1=>N_128, B1=>CmdLEDEN, A1=>Din_c_5, + D0=>XOR8MEG18, C0=>Din_c_3, B0=>N_128, A0=>Din_c_5, M0=>CASr2, + CLK=>RCLK_c, F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); + SLICE_83I: SLICE_83 + port map (C1=>IS_1, B1=>IS_3, A1=>IS_2, C0=>IS_1, B0=>IS_0, A0=>IS_2, + M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); + SLICE_84I: SLICE_84 + port map (D1=>FS_6, C1=>FS_10, B1=>FS_11, A1=>FS_8, D0=>FS_7, C0=>FS_10, + B0=>FS_1, A0=>FS_6, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); + SLICE_85I: SLICE_85 + port map (D1=>Din_c_4, C1=>Din_c_0, B1=>Din_c_1, A1=>Din_c_7, + D0=>Din_c_5, C0=>Din_c_4, B0=>Din_c_6, A0=>Din_c_7, + M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, + Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); + SLICE_86I: SLICE_86 + port map (D1=>nRowColSel, A1=>MAin_c_9, D0=>nRowColSel, C0=>RowA_9, + A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQML_c); + SLICE_87I: SLICE_87 + port map (D1=>UFMSDI_ens2_i_a0, B1=>N_151, A1=>CmdUFMSDI, D0=>N_151, + C0=>FS_9, B0=>FS_11, A0=>FS_4, F0=>N_137_8, + F1=>UFMSDI_r_xx_mm_1); + SLICE_88I: SLICE_88 + port map (D1=>MAin_c_2, C1=>nFWE_c, B1=>MAin_c_3, C0=>nFWE_c, + A0=>nCCAS_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, + Q1=>RowA_7); + SLICE_89I: SLICE_89 + port map (D1=>nRowColSel, C1=>MAin_c_9, D0=>nRowColSel, B0=>MAin_c_8, + A0=>RowA_8, F0=>RA_c_8, F1=>RDQMH_c); + SLICE_90I: SLICE_90 + port map (D1=>MAin_c_0, C1=>MAin_c_1, B1=>N_147, D0=>MAin_c_0, + B0=>RowA_0, A0=>nRowColSel, F0=>RA_c_0, F1=>un1_CMDWR); + SLICE_91I: SLICE_91 + port map (D1=>MAin_c_7, C1=>nRowColSel, A1=>RowA_7, D0=>RowA_1, + C0=>nRowColSel, B0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); + SLICE_92I: SLICE_92 + port map (D1=>RowA_6, C1=>nRowColSel, A1=>MAin_c_6, D0=>MAin_c_2, + C0=>nRowColSel, B0=>RowA_2, F0=>RA_c_2, F1=>RA_c_6); + SLICE_93I: SLICE_93 + port map (C1=>MAin_c_5, B1=>RowA_5, A1=>nRowColSel, D0=>MAin_c_3, + B0=>nRowColSel, A0=>RowA_3, F0=>RA_c_3, F1=>RA_c_5); + SLICE_94I: SLICE_94 + port map (B1=>N_155, A1=>Ready, C0=>S_1, A0=>Ready, M0=>IS_0, + LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, + Q0=>RA_c_10, F1=>N_159_i); + RD_0_I: RD_0_B + port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); + Dout_0_I: Dout_0_B + port map (PADDO=>RD_in_0, Dout0=>Dout(0)); + PHI2I: PHI2B + port map (PADDI=>PHI2_c, PHI2S=>PHI2); + UFMSDOI: UFMSDOB + port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); + UFMSDII: UFMSDIB + port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); + UFMCLKI: UFMCLKB + port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); + nUFMCSI: nUFMCSB + port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); + RDQMLI: RDQMLB + port map (PADDO=>RDQML_c, RDQMLS=>RDQML); + RDQMHI: RDQMHB + port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); + nRCASI: nRCASB + port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); + nRRASI: nRRASB + port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); + nRWEI: nRWEB + port map (PADDO=>nRWE_c, nRWES=>nRWE); + RCKEI: RCKEB + port map (PADDO=>RCKE_c, RCKES=>RCKE); + RCLKI: RCLKB + port map (PADDI=>RCLK_c, RCLKS=>RCLK); + nRCSI: nRCSB + port map (PADDO=>nRCS_c, nRCSS=>nRCS); + RD_7_I: RD_7_B + port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); + RD_6_I: RD_6_B + port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); + RD_5_I: RD_5_B + port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); + RD_4_I: RD_4_B + port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); + RD_3_I: RD_3_B + port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); + RD_2_I: RD_2_B + port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); + RD_1_I0: RD_1_B + port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); + RA_11_I: RA_11_B + port map (PADDO=>RA_c_11, RA11=>RA(11)); + RA_10_I: RA_10_B + port map (PADDO=>RA_c_10, RA10=>RA(10)); + RA_9_I: RA_9_B + port map (PADDO=>RA_c_9, RA9=>RA(9)); + RA_8_I: RA_8_B + port map (PADDO=>RA_c_8, RA8=>RA(8)); + RA_7_I: RA_7_B + port map (PADDO=>RA_c_7, RA7=>RA(7)); + RA_6_I: RA_6_B + port map (PADDO=>RA_c_6, RA6=>RA(6)); + RA_5_I: RA_5_B + port map (PADDO=>RA_c_5, RA5=>RA(5)); + RA_4_I: RA_4_B + port map (PADDO=>RA_c_4, RA4=>RA(4)); + RA_3_I: RA_3_B + port map (PADDO=>RA_c_3, RA3=>RA(3)); + RA_2_I: RA_2_B + port map (PADDO=>RA_c_2, RA2=>RA(2)); + RA_1_I: RA_1_B + port map (PADDO=>RA_c_1, RA1=>RA(1)); + RA_0_I: RA_0_B + port map (PADDO=>RA_c_0, RA0=>RA(0)); + RBA_1_I: RBA_1_B + port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); + RBA_0_I: RBA_0_B + port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); + LEDI: LEDB + port map (PADDO=>LED_c, LEDS=>LED); + nFWEI: nFWEB + port map (PADDI=>nFWE_c, nFWES=>nFWE); + nCRASI: nCRASB + port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); + nCCASI: nCCASB + port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); + Dout_7_I: Dout_7_B + port map (PADDO=>RD_in_7, Dout7=>Dout(7)); + Dout_6_I: Dout_6_B + port map (PADDO=>RD_in_6, Dout6=>Dout(6)); + Dout_5_I: Dout_5_B + port map (PADDO=>RD_in_5, Dout5=>Dout(5)); + Dout_4_I: Dout_4_B + port map (PADDO=>RD_in_4, Dout4=>Dout(4)); + Dout_3_I: Dout_3_B + port map (PADDO=>RD_in_3, Dout3=>Dout(3)); + Dout_2_I: Dout_2_B + port map (PADDO=>RD_in_2, Dout2=>Dout(2)); + Dout_1_I: Dout_1_B + port map (PADDO=>RD_in_1, Dout1=>Dout(1)); + Din_7_I: Din_7_B + port map (PADDI=>Din_c_7, Din7=>Din(7)); + Din_6_I: Din_6_B + port map (PADDI=>Din_c_6, Din6=>Din(6)); + Din_5_I: Din_5_B + port map (PADDI=>Din_c_5, Din5=>Din(5)); + Din_4_I: Din_4_B + port map (PADDI=>Din_c_4, Din4=>Din(4)); + Din_3_I: Din_3_B + port map (PADDI=>Din_c_3, Din3=>Din(3)); + Din_2_I: Din_2_B + port map (PADDI=>Din_c_2, Din2=>Din(2)); + Din_1_I: Din_1_B + port map (PADDI=>Din_c_1, Din1=>Din(1)); + Din_0_I: Din_0_B + port map (PADDI=>Din_c_0, Din0=>Din(0)); + CROW_1_I: CROW_1_B + port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); + CROW_0_I: CROW_0_B + port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); + MAin_9_I: MAin_9_B + port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); + MAin_8_I: MAin_8_B + port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); + MAin_7_I: MAin_7_B + port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); + MAin_6_I: MAin_6_B + port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); + MAin_5_I: MAin_5_B + port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); + MAin_4_I: MAin_4_B + port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); + MAin_3_I: MAin_3_B + port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); + MAin_2_I: MAin_2_B + port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); + MAin_1_I: MAin_1_B + port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); + MAin_0_I: MAin_0_B + port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); + VHI_INST: VHI + port map (Z=>VCCI); + PUR_INST: PUR + port map (PUR=>VCCI); + GSR_INST: GSR + port map (GSR=>VCCI); + VLO_INST: VLO + port map (Z=>GNDI_TSALL); + TSALL_INST: TSALL + port map (TSALL=>GNDI_TSALL); + end Structure; + + + + library IEEE, vital2000, MACHXO; + configuration Structure_CON of RAM2GS is + for Structure + end for; + end Structure_CON; + + diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.sdf b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.sdf index 840a29c..6f63be3 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.sdf +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.sdf @@ -1,2922 +1,2922 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:49 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20) - (DELAY - (ABSOLUTE - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55) - (DELAY - (ABSOLUTE - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1\/SLICE_65) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_") - (INSTANCE RD\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_") - (INSTANCE Dout\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2") - (INSTANCE PHI2_I) - (DELAY - (ABSOLUTE - (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2) (1250:1250:1250)) - (WIDTH (negedge PHI2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDO") - (INSTANCE UFMSDO_I) - (DELAY - (ABSOLUTE - (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDO) (1250:1250:1250)) - (WIDTH (negedge UFMSDO) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDI") - (INSTANCE UFMSDI_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLK") - (INSTANCE UFMCLK_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCS") - (INSTANCE nUFMCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQML") - (INSTANCE RDQML_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMH") - (INSTANCE RDQMH_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCAS") - (INSTANCE nRCAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRAS") - (INSTANCE nRRAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWE") - (INSTANCE nRWE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKE") - (INSTANCE RCKE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLK") - (INSTANCE RCLK_I) - (DELAY - (ABSOLUTE - (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLK) (1250:1250:1250)) - (WIDTH (negedge RCLK) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCS") - (INSTANCE nRCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_") - (INSTANCE RD\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_") - (INSTANCE RD\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_") - (INSTANCE RD\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_") - (INSTANCE RD\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_") - (INSTANCE RD\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_") - (INSTANCE RD\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_") - (INSTANCE RD\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_") - (INSTANCE RA\[11\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_") - (INSTANCE RA\[10\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_") - (INSTANCE RA\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_") - (INSTANCE RA\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_") - (INSTANCE RA\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_") - (INSTANCE RA\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_") - (INSTANCE RA\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_") - (INSTANCE RA\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_") - (INSTANCE RA\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_") - (INSTANCE RA\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_") - (INSTANCE RA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_") - (INSTANCE RA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_") - (INSTANCE RBA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_") - (INSTANCE RBA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LED") - (INSTANCE LED_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWE") - (INSTANCE nFWE_I) - (DELAY - (ABSOLUTE - (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWE) (1250:1250:1250)) - (WIDTH (negedge nFWE) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRAS") - (INSTANCE nCRAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRAS) (1250:1250:1250)) - (WIDTH (negedge nCRAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCAS") - (INSTANCE nCCAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCAS) (1250:1250:1250)) - (WIDTH (negedge nCCAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_") - (INSTANCE Dout\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_") - (INSTANCE Dout\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_") - (INSTANCE Dout\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_") - (INSTANCE Dout\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_") - (INSTANCE Dout\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_") - (INSTANCE Dout\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_") - (INSTANCE Dout\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_") - (INSTANCE Din\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_") - (INSTANCE Din\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_") - (INSTANCE Din\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_") - (INSTANCE Din\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_") - (INSTANCE Din\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_") - (INSTANCE Din\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_") - (INSTANCE Din\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_") - (INSTANCE Din\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_") - (INSTANCE CROW\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_") - (INSTANCE CROW\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_") - (INSTANCE MAin\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_") - (INSTANCE MAin\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_") - (INSTANCE MAin\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_") - (INSTANCE MAin\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_") - (INSTANCE MAin\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_") - (INSTANCE MAin\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_") - (INSTANCE MAin\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_") - (INSTANCE MAin\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_") - (INSTANCE MAin\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_") - (INSTANCE MAin\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_0/Q1 SLICE_72/A0 (1232:1375:1519)(1232:1375:1519)) - (INTERCONNECT SLICE_0/Q1 SLICE_84/B0 (1203:1339:1475)(1203:1339:1475)) - (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_0/Q0 SLICE_68/B1 (903:1005:1108)(903:1005:1108)) - (INTERCONNECT SLICE_0/Q0 SLICE_69/D1 (588:652:716)(588:652:716)) - (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (730:1041:1353)(730:1041:1353)) - (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/A1 (1146:1276:1406)(1146:1276:1406)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/C0 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_1/Q0 SLICE_66/A0 (862:958:1054)(862:958:1054)) - (INTERCONNECT SLICE_1/Q0 SLICE_72/C1 (1151:1263:1376)(1151:1263:1376)) - (INTERCONNECT SLICE_1/Q0 SLICE_74/B0 (908:1011:1114)(908:1011:1114)) - (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/B1 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/B0 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_2/Q0 SLICE_74/A1 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_2/Q0 SLICE_81/C1 (1118:1249:1380)(1118:1249:1380)) - (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/D1 (956:1070:1185)(956:1070:1185)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/D0 (956:1070:1185)(956:1070:1185)) - (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (1663:1816:1970)(1663:1816:1970)) - (INTERCONNECT SLICE_3/Q0 SLICE_81/A0 (1260:1384:1509)(1260:1384:1509)) - (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_4/Q1 SLICE_64/D1 (1001:1094:1188)(1001:1094:1188)) - (INTERCONNECT SLICE_4/Q1 SLICE_72/B0 (1733:1895:2058)(1733:1895:2058)) - (INTERCONNECT SLICE_4/Q1 SLICE_74/B1 (1733:1895:2058)(1733:1895:2058)) - (INTERCONNECT SLICE_4/Q1 SLICE_84/B1 (1316:1448:1580)(1316:1448:1580)) - (INTERCONNECT SLICE_4/Q1 SLICE_87/B0 (1733:1895:2058)(1733:1895:2058)) - (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_4/Q0 SLICE_64/A1 (1245:1393:1541)(1245:1393:1541)) - (INTERCONNECT SLICE_4/Q0 SLICE_74/A0 (1648:1825:2002)(1648:1825:2002)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (1131:1266:1402)(1131:1266:1402)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/C0 (1131:1266:1402)(1131:1266:1402)) - (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (1652:1794:1936)(1652:1794:1936)) - (INTERCONNECT SLICE_5/Q1 SLICE_87/C0 (750:837:924)(750:837:924)) - (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_5/Q0 SLICE_58/A1 (857:952:1048)(857:952:1048)) - (INTERCONNECT SLICE_5/Q0 SLICE_84/A1 (1663:1816:1970)(1663:1816:1970)) - (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_6/Q1 SLICE_56/B0 (1844:2015:2186)(1844:2015:2186)) - (INTERCONNECT SLICE_6/Q1 SLICE_84/D0 (599:662:725)(599:662:725)) - (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/D1 (595:663:731)(595:663:731)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/A0 (864:963:1063)(864:963:1063)) - (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_7/Q1 SLICE_56/D0 (1497:1620:1743)(1497:1620:1743)) - (INTERCONNECT SLICE_7/Q1 SLICE_68/D1 (603:667:731)(603:667:731)) - (INTERCONNECT SLICE_7/Q1 SLICE_69/B1 (918:1020:1123)(918:1020:1123)) - (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_7/Q0 SLICE_72/D0 (1002:1094:1186)(1002:1094:1186)) - (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (1232:1375:1519)(1232:1375:1519)) - (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8/Q1 SLICE_68/A1 (1675:1841:2008)(1675:1841:2008)) - (INTERCONNECT SLICE_8/Q1 SLICE_69/C1 (1561:1715:1869)(1561:1715:1869)) - (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8/Q0 SLICE_68/C1 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_8/Q0 SLICE_69/A1 (857:952:1048)(857:952:1048)) - (INTERCONNECT SLICE_78/F0 SLICE_9/D1 (568:631:694)(568:631:694)) - (INTERCONNECT SLICE_85/F1 SLICE_9/C1 (1087:1218:1349)(1087:1218:1349)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/B1 (1843:2032:2222)(1843:2032:2222)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (1203:1325:1448)(1203:1325:1448)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/C0 (1683:1853:2023)(1683:1853:2023)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (1528:1679:1830)(1528:1679:1830)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/D1 (2744:2982:3221)(2744:2982:3221)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/D0 (2744:2982:3221)(2744:2982:3221)) - (INTERCONNECT SLICE_70/F1 SLICE_9/A1 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70/F1 SLICE_14/A1 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70/F1 SLICE_14/A0 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70/F1 SLICE_67/A0 (882:978:1075)(882:978:1075)) - (INTERCONNECT SLICE_70/F1 SLICE_70/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_70/F1 SLICE_90/B1 (1317:1447:1578)(1317:1447:1578)) - (INTERCONNECT SLICE_9/Q0 SLICE_9/D0 (517:575:634)(517:575:634)) - (INTERCONNECT SLICE_9/Q0 SLICE_20/B1 (832:929:1026)(832:929:1026)) - (INTERCONNECT SLICE_9/F1 SLICE_9/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_9/F1 SLICE_20/D0 (261:290:320)(261:290:320)) - (INTERCONNECT SLICE_14/F1 SLICE_9/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_14/F1 SLICE_14/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (559:618:678)(559:618:678)) - (INTERCONNECT SLICE_70/F0 SLICE_9/A0 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (2182:2416:2650)(2182:2416:2650)) - (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (2731:3325:3919)(2731:3325:3919)) - (INTERCONNECT SLICE_77/F0 SLICE_14/D1 (564:632:700)(564:632:700)) - (INTERCONNECT SLICE_76/F0 SLICE_14/C1 (1530:1676:1822)(1530:1676:1822)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/D0 (1225:1351:1478)(1225:1351:1478)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (1525:1685:1846)(1525:1685:1846)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/B0 (1540:1705:1870)(1540:1705:1870)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/A0 (1879:2062:2246)(1879:2062:2246)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/C0 (1373:1516:1660)(1373:1516:1660)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/D0 (1225:1351:1478)(1225:1351:1478)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/C1 (1784:1959:2134)(1784:1959:2134)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/B0 (1541:1706:1872)(1541:1706:1872)) - (INTERCONNECT SLICE_14/Q0 SLICE_14/B0 (832:929:1026)(832:929:1026)) - (INTERCONNECT SLICE_14/Q0 SLICE_20/B0 (832:929:1026)(832:929:1026)) - (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/D1 (956:1070:1185)(956:1070:1185)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (2110:2331:2552)(2110:2331:2552)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/C1 (2657:2925:3193)(2657:2925:3193)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/A0 (2482:2728:2974)(2482:2728:2974)) - (INTERCONNECT SLICE_51/Q1 SLICE_43/C1 (2365:2598:2832)(2365:2598:2832)) - (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (2110:2331:2552)(2110:2331:2552)) - (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (2620:2864:3109)(2620:2864:3109)) - (INTERCONNECT SLICE_51/Q1 SLICE_61/A1 (2054:2267:2480)(2054:2267:2480)) - (INTERCONNECT SLICE_51/Q1 SLICE_62/D1 (1793:1977:2161)(1793:1977:2161)) - (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (2210:2424:2639)(2210:2424:2639)) - (INTERCONNECT SLICE_51/Q1 SLICE_73/B1 (895:1001:1108)(895:1001:1108)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/C1 (763:846:930)(763:846:930)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/C0 (763:846:930)(763:846:930)) - (INTERCONNECT SLICE_50/Q0 SLICE_41/C1 (1581:1730:1879)(1581:1730:1879)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (1769:1942:2115)(1769:1942:2115)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/C1 (2019:2202:2385)(2019:2202:2385)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/C0 (2019:2202:2385)(2019:2202:2385)) - (INTERCONNECT SLICE_50/Q0 SLICE_63/D0 (1454:1588:1723)(1454:1588:1723)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/C1 (757:844:932)(757:844:932)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/C0 (757:844:932)(757:844:932)) - (INTERCONNECT SLICE_50/Q0 SLICE_73/C1 (2026:2210:2394)(2026:2210:2394)) - (INTERCONNECT SLICE_50/Q0 SLICE_79/C0 (2026:2210:2394)(2026:2210:2394)) - (INTERCONNECT SLICE_50/Q0 SLICE_94/C0 (2026:2210:2394)(2026:2210:2394)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/B1 (878:975:1072)(878:975:1072)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_19/Q0 SLICE_41/B1 (938:1041:1144)(938:1041:1144)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/C0 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_19/Q0 SLICE_60/C1 (1181:1293:1406)(1181:1293:1406)) - (INTERCONNECT SLICE_19/Q0 SLICE_63/A0 (892:988:1084)(892:988:1084)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (1362:1496:1631)(1362:1496:1631)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (1362:1496:1631)(1362:1496:1631)) - (INTERCONNECT SLICE_19/Q0 SLICE_73/A1 (1316:1443:1571)(1316:1443:1571)) - (INTERCONNECT SLICE_19/Q0 SLICE_79/D0 (1047:1143:1239)(1047:1143:1239)) - (INTERCONNECT SLICE_19/Q0 SLICE_80/C0 (718:795:873)(718:795:873)) - (INTERCONNECT SLICE_31/Q0 SLICE_19/A1 (1286:1409:1533)(1286:1409:1533)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/A1 (825:914:1004)(825:914:1004)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_31/Q0 SLICE_83/B1 (1424:1556:1689)(1424:1556:1689)) - (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F1 SLICE_43/A0 (849:948:1048)(849:948:1048)) - (INTERCONNECT SLICE_19/F1 SLICE_44/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/A1 (810:899:989)(810:899:989)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_20/Q0 SLICE_67/D0 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_90/F1 SLICE_20/C0 (1218:1331:1444)(1218:1331:1444)) - (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_21/D1 (321:350:380)(321:350:380)) - (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (640:708:776)(640:708:776)) - (INTERCONNECT SLICE_75/F1 SLICE_67/D1 (1047:1139:1231)(1047:1139:1231)) - (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (476:524:573)(476:524:573)) - (INTERCONNECT SLICE_75/F1 SLICE_82/C1 (476:524:573)(476:524:573)) - (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (901:997:1094)(901:997:1094)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/B1 (1546:1711:1877)(1546:1711:1877)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (2468:2685:2903)(2468:2685:2903)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/B1 (1949:2143:2338)(1949:2143:2338)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/B0 (2795:3059:3324)(2795:3059:3324)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/B1 (2795:3059:3324)(2795:3059:3324)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (1962:2156:2351)(1962:2156:2351)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (2795:3059:3324)(2795:3059:3324)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/A1 (1500:1658:1817)(1500:1658:1817)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/A0 (1500:1658:1817)(1500:1658:1817)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/D0 (1944:2137:2330)(1944:2137:2330)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/A1 (1398:1552:1707)(1398:1552:1707)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/A1 (988:1113:1238)(988:1113:1238)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/C1 (1556:1731:1906)(1556:1731:1906)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (712:804:897)(712:804:897)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/A0 (988:1113:1238)(988:1113:1238)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/D1 (709:801:894)(709:801:894)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D1 (1418:1575:1733)(1418:1575:1733)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/C0 (1277:1418:1560)(1277:1418:1560)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (712:804:897)(712:804:897)) - (INTERCONNECT SLICE_75/F0 SLICE_21/D0 (245:274:304)(245:274:304)) - (INTERCONNECT SLICE_21/F1 SLICE_21/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_21/F1 SLICE_26/A0 (853:947:1042)(853:947:1042)) - (INTERCONNECT SLICE_82/F1 SLICE_21/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_33/Q0 SLICE_21/A0 (1514:1694:1875)(1514:1694:1875)) - (INTERCONNECT SLICE_33/Q0 SLICE_33/C1 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (1674:1856:2038)(1674:1856:2038)) - (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_21/CE (1285:1433:1581)(1285:1433:1581)) - (INTERCONNECT SLICE_67/F0 SLICE_26/CE (921:1020:1119)(921:1020:1119)) - (INTERCONNECT SLICE_67/F0 SLICE_57/CE (1696:1875:2055)(1696:1875:2055)) - (INTERCONNECT SLICE_67/F0 SLICE_67/A1 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_67/F0 SLICE_82/D0 (986:1100:1215)(986:1100:1215)) - (INTERCONNECT SLICE_21/Q0 SLICE_33/A0 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_21/Q0 SLICE_82/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (1682:1846:2010)(1682:1846:2010)) - (INTERCONNECT SLICE_32/Q0 SLICE_22/C1 (1201:1313:1426)(1201:1313:1426)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/A1 (854:945:1036)(854:945:1036)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/A0 (575:636:697)(575:636:697)) - (INTERCONNECT SLICE_32/Q0 SLICE_33/C0 (1611:1753:1895)(1611:1753:1895)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/D1 (1477:1603:1729)(1477:1603:1729)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/D0 (1477:1603:1729)(1477:1603:1729)) - (INTERCONNECT SLICE_32/Q0 SLICE_44/C1 (2035:2209:2383)(2035:2209:2383)) - (INTERCONNECT SLICE_32/Q0 SLICE_51/B1 (1769:1941:2114)(1769:1941:2114)) - (INTERCONNECT SLICE_32/Q0 SLICE_52/B1 (1771:1932:2094)(1771:1932:2094)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/C1 (740:818:897)(740:818:897)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/C0 (740:818:897)(740:818:897)) - (INTERCONNECT SLICE_32/Q0 SLICE_64/C1 (784:866:948)(784:866:948)) - (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/A0 (1746:1903:2061)(1746:1903:2061)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/B1 (1777:1952:2127)(1777:1952:2127)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/B0 (1777:1952:2127)(1777:1952:2127)) - (INTERCONNECT SLICE_32/Q0 SLICE_73/D1 (1477:1603:1729)(1477:1603:1729)) - (INTERCONNECT SLICE_43/Q1 SLICE_22/B1 (1302:1432:1563)(1302:1432:1563)) - (INTERCONNECT SLICE_43/Q1 SLICE_52/C1 (1103:1234:1365)(1103:1234:1365)) - (INTERCONNECT SLICE_41/Q1 SLICE_22/A1 (1260:1384:1509)(1260:1384:1509)) - (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (544:603:663)(544:603:663)) - (INTERCONNECT SLICE_41/Q1 SLICE_52/D1 (991:1084:1177)(991:1084:1177)) - (INTERCONNECT SLICE_82/F0 SLICE_22/C0 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F1 SLICE_68/C0 (1133:1244:1356)(1133:1244:1356)) - (INTERCONNECT SLICE_22/F1 SLICE_69/C0 (1133:1244:1356)(1133:1244:1356)) - (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_78/F1 SLICE_78/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_26/Q0 SLICE_58/B0 (899:1000:1102)(899:1000:1102)) - (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_76/F1 SLICE_76/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_58/Q0 SLICE_26/D0 (572:636:700)(572:636:700)) - (INTERCONNECT SLICE_58/Q0 SLICE_39/C0 (1936:2106:2276)(1936:2106:2276)) - (INTERCONNECT SLICE_26/F1 SLICE_26/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F1 SLICE_29/D1 (584:647:710)(584:647:710)) - (INTERCONNECT SLICE_61/F1 SLICE_61/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/C1 (726:803:880)(726:803:880)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/D0 (571:629:687)(571:629:687)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/D1 (643:708:773)(643:708:773)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/D0 (643:708:773)(643:708:773)) - (INTERCONNECT SLICE_29/Q0 SLICE_31/C0 (798:882:966)(798:882:966)) - (INTERCONNECT SLICE_29/Q0 SLICE_42/D1 (1534:1657:1781)(1534:1657:1781)) - (INTERCONNECT SLICE_29/Q0 SLICE_61/D0 (932:1031:1131)(932:1031:1131)) - (INTERCONNECT SLICE_29/Q0 SLICE_83/B0 (2655:2875:3095)(2655:2875:3095)) - (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (1300:1448:1596)(1300:1448:1596)) - (INTERCONNECT SLICE_83/F1 SLICE_29/B1 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_83/F1 SLICE_59/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_83/F1 SLICE_61/A0 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_73/F1 SLICE_29/A1 (1297:1422:1547)(1297:1422:1547)) - (INTERCONNECT SLICE_73/F1 SLICE_29/A0 (1297:1422:1547)(1297:1422:1547)) - (INTERCONNECT SLICE_73/F1 SLICE_59/D1 (1109:1203:1297)(1109:1203:1297)) - (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (1062:1179:1297)(1062:1179:1297)) - (INTERCONNECT SLICE_73/F1 SLICE_73/C0 (446:494:543)(446:494:543)) - (INTERCONNECT SLICE_73/F1 SLICE_94/B1 (871:967:1064)(871:967:1064)) - (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (2198:2404:2610)(2198:2404:2610)) - (INTERCONNECT SLICE_43/Q0 SLICE_41/C0 (733:810:888)(733:810:888)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/B1 (886:982:1079)(886:982:1079)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/C0 (733:810:888)(733:810:888)) - (INTERCONNECT SLICE_43/Q0 SLICE_44/D1 (632:700:769)(632:700:769)) - (INTERCONNECT SLICE_43/Q0 SLICE_50/D1 (1490:1629:1769)(1490:1629:1769)) - (INTERCONNECT SLICE_43/Q0 SLICE_59/B1 (2511:2758:3006)(2511:2758:3006)) - (INTERCONNECT SLICE_43/Q0 SLICE_61/B1 (2087:2299:2511)(2087:2299:2511)) - (INTERCONNECT SLICE_43/Q0 SLICE_62/B1 (2087:2299:2511)(2087:2299:2511)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/B1 (1805:1983:2161)(1805:1983:2161)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/B0 (1805:1983:2161)(1805:1983:2161)) - (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (948:1049:1150)(948:1049:1150)) - (INTERCONNECT SLICE_43/Q0 SLICE_73/A0 (1199:1330:1461)(1199:1330:1461)) - (INTERCONNECT SLICE_43/Q0 SLICE_79/A1 (894:993:1093)(894:993:1093)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/A1 (907:1003:1099)(907:1003:1099)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/A0 (907:1003:1099)(907:1003:1099)) - (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/B1 (885:983:1081)(885:983:1081)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/B1 (885:983:1081)(885:983:1081)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/B0 (885:983:1081)(885:983:1081)) - (INTERCONNECT SLICE_30/Q0 SLICE_42/A1 (1378:1503:1629)(1378:1503:1629)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/C1 (1179:1290:1402)(1179:1290:1402)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/C0 (1179:1290:1402)(1179:1290:1402)) - (INTERCONNECT SLICE_30/Q1 SLICE_30/A1 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/D1 (563:621:680)(563:621:680)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/D0 (563:621:680)(563:621:680)) - (INTERCONNECT SLICE_30/Q1 SLICE_42/B1 (1424:1556:1689)(1424:1556:1689)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/A1 (1293:1417:1541)(1293:1417:1541)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/A0 (1293:1417:1541)(1293:1417:1541)) - (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F1 SLICE_30/CE (947:1062:1178)(947:1062:1178)) - (INTERCONNECT SLICE_94/F1 SLICE_31/CE (947:1062:1178)(947:1062:1178)) - (INTERCONNECT SLICE_73/F0 SLICE_31/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (575:639:703)(575:639:703)) - (INTERCONNECT SLICE_56/F0 SLICE_32/D1 (1352:1480:1609)(1352:1480:1609)) - (INTERCONNECT SLICE_72/F1 SLICE_32/C1 (446:494:543)(446:494:543)) - (INTERCONNECT SLICE_72/F1 SLICE_58/D1 (291:320:350)(291:320:350)) - (INTERCONNECT SLICE_72/F1 SLICE_64/B1 (929:1030:1132)(929:1030:1132)) - (INTERCONNECT SLICE_72/F1 SLICE_72/C0 (446:494:543)(446:494:543)) - (INTERCONNECT SLICE_84/F1 SLICE_32/B1 (879:985:1092)(879:985:1092)) - (INTERCONNECT SLICE_74/F0 SLICE_32/B0 (883:984:1086)(883:984:1086)) - (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/F1 SLICE_87/D1 (510:568:626)(510:568:626)) - (INTERCONNECT nCRAS_I/PADDI SLICE_33/D1 (2857:3462:4068)(2857:3462:4068)) - (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (3532:4217:4903)(3532:4217:4903)) - (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (2293:2830:3368)(2293:2830:3368)) - (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_78/Q0 SLICE_41/D0 (1365:1507:1650)(1365:1507:1650)) - (INTERCONNECT SLICE_78/Q0 SLICE_60/A0 (1681:1846:2012)(1681:1846:2012)) - (INTERCONNECT SLICE_78/Q0 SLICE_63/A1 (1239:1386:1534)(1239:1386:1534)) - (INTERCONNECT SLICE_78/Q0 SLICE_79/A0 (1239:1386:1534)(1239:1386:1534)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_33/D0 (702:793:885)(702:793:885)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_58/D0 (1105:1225:1346)(1105:1225:1346)) - (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69/F0 SLICE_33/CE (939:1052:1165)(939:1052:1165)) - (INTERCONNECT SLICE_33/F1 LED_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_85/F0 SLICE_39/D1 (1514:1646:1779)(1514:1646:1779)) - (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/A1 (2147:2339:2531)(2147:2339:2531)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/A0 (2147:2339:2531)(2147:2339:2531)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/D0 (2053:2245:2437)(2053:2245:2437)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (3194:3483:3773)(3194:3483:3773)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/B1 (1519:1680:1842)(1519:1680:1842)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/D0 (2081:2276:2472)(2081:2276:2472)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (2388:2619:2851)(2388:2619:2851)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/B0 (2396:2630:2864)(2396:2630:2864)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/B0 (2799:3062:3325)(2799:3062:3325)) - (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (1313:1442:1571)(1313:1442:1571)) - (INTERCONNECT SLICE_44/Q0 SLICE_44/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (1447:1581:1716)(1447:1581:1716)) - (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (1447:1581:1716)(1447:1581:1716)) - (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (1850:2013:2177)(1850:2013:2177)) - (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (559:618:678)(559:618:678)) - (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (1842:2003:2164)(1842:2003:2164)) - (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (1447:1581:1716)(1447:1581:1716)) - (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_39/F1 SLICE_57/A0 (1767:1931:2095)(1767:1931:2095)) - (INTERCONNECT SLICE_75/Q1 SLICE_41/D1 (960:1076:1193)(960:1076:1193)) - (INTERCONNECT SLICE_75/Q1 SLICE_60/B1 (1967:2185:2404)(1967:2185:2404)) - (INTERCONNECT SLICE_75/Q1 SLICE_79/B1 (1275:1430:1585)(1275:1430:1585)) - (INTERCONNECT SLICE_75/Q1 SLICE_80/D1 (1370:1516:1662)(1370:1516:1662)) - (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (1780:1956:2132)(1780:1956:2132)) - (INTERCONNECT SLICE_81/Q1 SLICE_41/A1 (2097:2301:2505)(2097:2301:2505)) - (INTERCONNECT SLICE_81/Q1 SLICE_60/D1 (2924:3195:3466)(2924:3195:3466)) - (INTERCONNECT SLICE_43/F1 SLICE_41/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_41/F1 SLICE_41/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (1342:1484:1626)(1342:1484:1626)) - (INTERCONNECT SLICE_41/Q0 SLICE_42/D0 (1352:1480:1609)(1352:1480:1609)) - (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (1218:1331:1444)(1218:1331:1444)) - (INTERCONNECT SLICE_44/Q1 SLICE_42/B0 (1293:1424:1555)(1293:1424:1555)) - (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (2091:2277:2464)(2091:2277:2464)) - (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 SLICE_61/C1 (1543:1684:1825)(1543:1684:1825)) - (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/A1 (2060:2242:2425)(2060:2242:2425)) - (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (1978:2217:2456)(1978:2217:2456)) - (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/D0 (932:1044:1156)(932:1044:1156)) - (INTERCONNECT SLICE_50/F0 SLICE_43/A1 (1270:1395:1520)(1270:1395:1520)) - (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (16:16:16)(16:16:16)) - (INTERCONNECT SLICE_50/F0 SLICE_61/D1 (1001:1094:1188)(1001:1094:1188)) - (INTERCONNECT SLICE_50/F0 SLICE_62/C1 (1156:1268:1381)(1156:1268:1381)) - (INTERCONNECT SLICE_83/F0 SLICE_43/B0 (1255:1408:1561)(1255:1408:1561)) - (INTERCONNECT SLICE_83/F0 SLICE_44/A1 (1612:1787:1962)(1612:1787:1962)) - (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/F1 SLICE_44/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_73/Q0 SLICE_51/D1 (1375:1502:1629)(1375:1502:1629)) - (INTERCONNECT SLICE_72/F0 SLICE_51/C1 (1126:1237:1348)(1126:1237:1348)) - (INTERCONNECT SLICE_66/F0 SLICE_51/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_66/F0 SLICE_66/C1 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_51/Q0 SLICE_51/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (1548:1774:2000)(1548:1774:2000)) - (INTERCONNECT SLICE_51/F1 SLICE_51/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (1409:1541:1674)(1409:1541:1674)) - (INTERCONNECT SLICE_64/F1 SLICE_52/A0 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_52/F1 SLICE_51/A0 (1157:1286:1415)(1157:1286:1415)) - (INTERCONNECT SLICE_52/F1 SLICE_52/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_52/F1 SLICE_64/D0 (1002:1094:1186)(1002:1094:1186)) - (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (568:631:694)(568:631:694)) - (INTERCONNECT SLICE_52/Q0 SLICE_52/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/D0 (1207:1330:1453)(1207:1330:1453)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (1949:2146:2344)(1949:2146:2344)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/B1 (1914:2103:2292)(1914:2103:2292)) - (INTERCONNECT SLICE_63/Q0 SLICE_55/B0 (1997:2204:2411)(1997:2204:2411)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/D1 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/D0 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/D1 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/D0 (1451:1592:1734)(1451:1592:1734)) - (INTERCONNECT SLICE_63/Q0 SLICE_90/A0 (2415:2652:2889)(2415:2652:2889)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C1 (2426:2645:2865)(2426:2645:2865)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (2426:2645:2865)(2426:2645:2865)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/C1 (1898:2093:2289)(1898:2093:2289)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/C0 (1898:2093:2289)(1898:2093:2289)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/A1 (2415:2652:2889)(2415:2652:2889)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/B0 (2176:2385:2595)(2176:2385:2595)) - (INTERCONNECT SLICE_67/Q0 SLICE_55/A0 (1201:1344:1488)(1201:1344:1488)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (2322:2541:2761)(2322:2541:2761)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/A1 (1473:1628:1784)(1473:1628:1784)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (1635:1791:1948)(1635:1791:1948)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/D1 (1628:1783:1939)(1628:1783:1939)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/D1 (1628:1783:1939)(1628:1783:1939)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/C0 (2072:2281:2490)(2072:2281:2490)) - (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (2787:3031:3276)(2787:3031:3276)) - (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (2787:3031:3276)(2787:3031:3276)) - (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (2225:2440:2655)(2225:2440:2655)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (1818:2004:2190)(1818:2004:2190)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (1818:2004:2190)(1818:2004:2190)) - (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (2377:2592:2807)(2377:2592:2807)) - (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (1564:1720:1877)(1564:1720:1877)) - (INTERCONNECT nCCAS_I/PADDI SLICE_88/A0 (1798:1981:2164)(1798:1981:2164)) - (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (2042:2305:2568)(2042:2305:2568)) - (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (2630:2955:3280)(2630:2955:3280)) - (INTERCONNECT SLICE_77/Q1 SLICE_56/D1 (1260:1386:1513)(1260:1386:1513)) - (INTERCONNECT SLICE_77/Q0 SLICE_56/C1 (1126:1237:1348)(1126:1237:1348)) - (INTERCONNECT SLICE_76/Q1 SLICE_56/B1 (1286:1416:1547)(1286:1416:1547)) - (INTERCONNECT SLICE_71/Q0 SLICE_56/A1 (1332:1457:1583)(1332:1457:1583)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (2232:2447:2663)(2232:2447:2663)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/D1 (1515:1665:1815)(1515:1665:1815)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/A1 (2604:2844:3085)(2604:2844:3085)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (2642:2887:3132)(2642:2887:3132)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/A1 (1381:1533:1686)(1381:1533:1686)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/A0 (1381:1533:1686)(1381:1533:1686)) - (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_56/F1 SLICE_70/B1 (1378:1510:1643)(1378:1510:1643)) - (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/C1 (1277:1418:1559)(1277:1418:1559)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (1839:2026:2214)(1839:2026:2214)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (2242:2458:2675)(2242:2458:2675)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/D1 (1532:1683:1835)(1532:1683:1835)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (3049:3329:3610)(3049:3329:3610)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/C1 (1566:1741:1917)(1566:1741:1917)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (1437:1597:1758)(1437:1597:1758)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (1129:1252:1375)(1129:1252:1375)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (1411:1566:1722)(1411:1566:1722)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/A0 (1384:1536:1689)(1384:1536:1689)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (1673:1860:2047)(1673:1860:2047)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (1429:1587:1745)(1429:1587:1745)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/D0 (710:802:894)(710:802:894)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (1420:1577:1734)(1420:1577:1734)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (1933:2113:2294)(1933:2113:2294)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/D0 (1113:1234:1355)(1113:1234:1355)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (1025:1155:1286)(1025:1155:1286)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (2233:2448:2664)(2233:2448:2664)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/B1 (1025:1155:1286)(1025:1155:1286)) - (INTERCONNECT SLICE_57/F1 SLICE_57/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68/F0 SLICE_58/CE (875:974:1073)(875:974:1073)) - (INTERCONNECT SLICE_58/F1 SLICE_87/B1 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_59/F1 SLICE_59/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_80/F0 SLICE_59/B0 (1286:1416:1547)(1286:1416:1547)) - (INTERCONNECT SLICE_62/F1 SLICE_59/A0 (1751:1905:2060)(1751:1905:2060)) - (INTERCONNECT SLICE_62/F1 SLICE_62/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (1723:1947:2172)(1723:1947:2172)) - (INTERCONNECT SLICE_82/Q0 SLICE_60/A1 (1751:1905:2060)(1751:1905:2060)) - (INTERCONNECT SLICE_82/Q0 SLICE_63/C1 (748:831:915)(748:831:915)) - (INTERCONNECT SLICE_82/Q0 SLICE_79/D1 (996:1089:1183)(996:1089:1183)) - (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (908:1011:1114)(908:1011:1114)) - (INTERCONNECT SLICE_94/F0 SLICE_60/D0 (1382:1514:1647)(1382:1514:1647)) - (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT SLICE_78/Q1 SLICE_62/A1 (1348:1473:1599)(1348:1473:1599)) - (INTERCONNECT SLICE_78/Q1 SLICE_80/A0 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/D0 (568:631:694)(568:631:694)) - (INTERCONNECT SLICE_81/Q0 SLICE_62/B0 (1797:1958:2120)(1797:1958:2120)) - (INTERCONNECT SLICE_81/Q0 SLICE_63/D1 (588:652:716)(588:652:716)) - (INTERCONNECT SLICE_81/Q0 SLICE_80/D0 (1395:1523:1651)(1395:1523:1651)) - (INTERCONNECT SLICE_79/F0 SLICE_62/A0 (1201:1344:1488)(1201:1344:1488)) - (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_63/F1 SLICE_63/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/Q0 SLICE_64/C0 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (1990:2225:2460)(1990:2225:2460)) - (INTERCONNECT SLICE_66/F1 SLICE_64/A0 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/Q1 SLICE_66/D1 (1335:1476:1617)(1335:1476:1617)) - (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_81/F0 SLICE_74/D0 (261:290:320)(261:290:320)) - (INTERCONNECT SLICE_74/F1 SLICE_66/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_66/Q0 SLICE_90/B0 (2100:2300:2500)(2100:2300:2500)) - (INTERCONNECT SLICE_66/Q1 SLICE_91/D0 (1063:1157:1251)(1063:1157:1251)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (1219:1345:1472)(1219:1345:1472)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/A1 (1884:2070:2256)(1884:2070:2256)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/C1 (1794:1974:2155)(1794:1974:2155)) - (INTERCONNECT SLICE_67/F1 SLICE_73/CE (579:644:709)(579:644:709)) - (INTERCONNECT SLICE_67/F1 SLICE_74/CE (982:1076:1170)(982:1076:1170)) - (INTERCONNECT SLICE_67/Q1 SLICE_93/B1 (1378:1510:1643)(1378:1510:1643)) - (INTERCONNECT SLICE_87/F0 SLICE_68/D0 (572:636:700)(572:636:700)) - (INTERCONNECT SLICE_87/F0 SLICE_69/D0 (572:636:700)(572:636:700)) - (INTERCONNECT SLICE_68/F1 SLICE_68/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_84/F0 SLICE_68/A0 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_84/F0 SLICE_69/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_69/F1 SLICE_69/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_70/Q0 SLICE_70/D1 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_70/Q1 SLICE_70/A1 (514:575:636)(514:575:636)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/D1 (1647:1811:1975)(1647:1811:1975)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/A1 (1876:2059:2243)(1876:2059:2243)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/C1 (1765:1936:2107)(1765:1936:2107)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (1917:2105:2293)(1917:2105:2293)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/D1 (2013:2194:2375)(2013:2194:2375)) - (INTERCONNECT SLICE_88/F1 SLICE_71/D0 (564:632:700)(564:632:700)) - (INTERCONNECT SLICE_71/Q1 SLICE_71/C0 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (879:985:1092)(879:985:1092)) - (INTERCONNECT SLICE_71/F1 SLICE_71/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_81/F1 SLICE_72/D1 (564:632:700)(564:632:700)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (1611:1765:1919)(1611:1765:1919)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/B1 (1926:2118:2310)(1926:2118:2310)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/D0 (2417:2628:2840)(2417:2628:2840)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (1115:1236:1357)(1115:1236:1357)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/D1 (1921:2099:2278)(1921:2099:2278)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/D0 (2324:2531:2739)(2324:2531:2739)) - (INTERCONNECT SLICE_72/Q0 SLICE_92/B0 (1689:1848:2008)(1689:1848:2008)) - (INTERCONNECT SLICE_72/Q1 SLICE_93/A0 (1735:1889:2044)(1735:1889:2044)) - (INTERCONNECT SLICE_74/Q0 SLICE_87/A1 (833:932:1032)(833:932:1032)) - (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_77/F1 SLICE_77/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_79/F1 SLICE_79/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (1164:1346:1528)(1164:1346:1528)) - (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_80/F1 SLICE_80/B0 (560:628:696)(560:628:696)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (1943:2141:2340)(1943:2141:2340)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A1 (2322:2546:2771)(2322:2546:2771)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A0 (2322:2546:2771)(2322:2546:2771)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/C1 (2208:2420:2632)(2208:2420:2632)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (1508:1668:1828)(1508:1668:1828)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/B0 (1919:2110:2302)(1919:2110:2302)) - (INTERCONNECT SLICE_80/Q0 SLICE_89/A0 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_80/Q1 SLICE_86/C0 (723:805:887)(723:805:887)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (1514:1673:1833)(1514:1673:1833)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (1514:1673:1833)(1514:1673:1833)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (1802:1985:2168)(1802:1985:2168)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/C0 (1802:1985:2168)(1802:1985:2168)) - (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (1635:1796:1957)(1635:1796:1957)) - (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (1635:1796:1957)(1635:1796:1957)) - (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (2063:2303:2544)(2063:2303:2544)) - (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (1971:2209:2448)(1971:2209:2448)) - (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (1974:2209:2444)(1974:2209:2444)) - (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (1165:1345:1526)(1165:1345:1526)) - (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (1974:2209:2444)(1974:2209:2444)) - (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (1748:1996:2245)(1748:1996:2245)) - (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (2544:2849:3155)(2544:2849:3155)) - (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (2544:2849:3155)(2544:2849:3155)) - (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (2544:2849:3155)(2544:2849:3155)) - (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (3364:3728:4093)(3364:3728:4093)) - (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (3364:3728:4093)(3364:3728:4093)) - (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (1783:2025:2267)(1783:2025:2267)) - (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (3357:3721:4085)(3357:3721:4085)) - (INTERCONNECT SLICE_88/Q0 SLICE_92/D1 (1063:1157:1251)(1063:1157:1251)) - (INTERCONNECT SLICE_88/Q1 SLICE_91/A1 (837:931:1026)(837:931:1026)) - (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (1932:2190:2449)(1932:2190:2449)) - (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (1168:1345:1522)(1168:1345:1522)) - (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (1974:2209:2444)(1974:2209:2444)) - (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (1288:1474:1660)(1288:1474:1660)) - (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (1168:1345:1522)(1168:1345:1522)) - (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (2063:2303:2544)(2063:2303:2544)) - (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (2288:2578:2869)(2288:2578:2869)) - (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (1418:1631:1845)(1418:1631:1845)) - (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (1421:1631:1841)(1421:1631:1841)) - (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) - (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:53:33 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1\/SLICE_65) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_") + (INSTANCE RD\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_") + (INSTANCE Dout\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2") + (INSTANCE PHI2_I) + (DELAY + (ABSOLUTE + (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2) (1250:1250:1250)) + (WIDTH (negedge PHI2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDO") + (INSTANCE UFMSDO_I) + (DELAY + (ABSOLUTE + (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDO) (1250:1250:1250)) + (WIDTH (negedge UFMSDO) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDI") + (INSTANCE UFMSDI_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLK") + (INSTANCE UFMCLK_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCS") + (INSTANCE nUFMCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQML") + (INSTANCE RDQML_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMH") + (INSTANCE RDQMH_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS") + (INSTANCE nRCAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS") + (INSTANCE nRRAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE") + (INSTANCE nRWE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKE") + (INSTANCE RCKE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLK") + (INSTANCE RCLK_I) + (DELAY + (ABSOLUTE + (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLK) (1250:1250:1250)) + (WIDTH (negedge RCLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCS") + (INSTANCE nRCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_") + (INSTANCE RD\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_") + (INSTANCE RD\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_") + (INSTANCE RD\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_") + (INSTANCE RD\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_") + (INSTANCE RD\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_") + (INSTANCE RD\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_") + (INSTANCE RD\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_") + (INSTANCE RA\[11\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_") + (INSTANCE RA\[10\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_") + (INSTANCE RA\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_") + (INSTANCE RA\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_") + (INSTANCE RA\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_") + (INSTANCE RA\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_") + (INSTANCE RA\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_") + (INSTANCE RA\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_") + (INSTANCE RA\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_") + (INSTANCE RA\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_") + (INSTANCE RA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_") + (INSTANCE RA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_") + (INSTANCE RBA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_") + (INSTANCE RBA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LED") + (INSTANCE LED_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWE") + (INSTANCE nFWE_I) + (DELAY + (ABSOLUTE + (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWE) (1250:1250:1250)) + (WIDTH (negedge nFWE) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRAS") + (INSTANCE nCRAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRAS) (1250:1250:1250)) + (WIDTH (negedge nCRAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCAS") + (INSTANCE nCCAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCAS) (1250:1250:1250)) + (WIDTH (negedge nCCAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_") + (INSTANCE Dout\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_") + (INSTANCE Dout\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_") + (INSTANCE Dout\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_") + (INSTANCE Dout\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_") + (INSTANCE Dout\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_") + (INSTANCE Dout\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_") + (INSTANCE Dout\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_") + (INSTANCE Din\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_") + (INSTANCE Din\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_") + (INSTANCE Din\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_") + (INSTANCE Din\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_") + (INSTANCE Din\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_") + (INSTANCE Din\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_") + (INSTANCE Din\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_") + (INSTANCE Din\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_") + (INSTANCE CROW\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_") + (INSTANCE CROW\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_") + (INSTANCE MAin\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_") + (INSTANCE MAin\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_") + (INSTANCE MAin\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_") + (INSTANCE MAin\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_") + (INSTANCE MAin\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_") + (INSTANCE MAin\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_") + (INSTANCE MAin\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_") + (INSTANCE MAin\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_") + (INSTANCE MAin\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_") + (INSTANCE MAin\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_0/Q1 SLICE_72/A0 (1232:1375:1519)(1232:1375:1519)) + (INTERCONNECT SLICE_0/Q1 SLICE_84/B0 (1203:1339:1475)(1203:1339:1475)) + (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_0/Q0 SLICE_68/B1 (903:1005:1108)(903:1005:1108)) + (INTERCONNECT SLICE_0/Q0 SLICE_69/D1 (588:652:716)(588:652:716)) + (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (730:1041:1353)(730:1041:1353)) + (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/A1 (1146:1276:1406)(1146:1276:1406)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/C0 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_1/Q0 SLICE_66/A0 (862:958:1054)(862:958:1054)) + (INTERCONNECT SLICE_1/Q0 SLICE_72/C1 (1151:1263:1376)(1151:1263:1376)) + (INTERCONNECT SLICE_1/Q0 SLICE_74/B0 (908:1011:1114)(908:1011:1114)) + (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/B1 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/B0 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_2/Q0 SLICE_74/A1 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_2/Q0 SLICE_81/C1 (1118:1249:1380)(1118:1249:1380)) + (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/D1 (956:1070:1185)(956:1070:1185)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/D0 (956:1070:1185)(956:1070:1185)) + (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (1663:1816:1970)(1663:1816:1970)) + (INTERCONNECT SLICE_3/Q0 SLICE_81/A0 (1260:1384:1509)(1260:1384:1509)) + (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_4/Q1 SLICE_64/D1 (1001:1094:1188)(1001:1094:1188)) + (INTERCONNECT SLICE_4/Q1 SLICE_72/B0 (1733:1895:2058)(1733:1895:2058)) + (INTERCONNECT SLICE_4/Q1 SLICE_74/B1 (1733:1895:2058)(1733:1895:2058)) + (INTERCONNECT SLICE_4/Q1 SLICE_84/B1 (1316:1448:1580)(1316:1448:1580)) + (INTERCONNECT SLICE_4/Q1 SLICE_87/B0 (1733:1895:2058)(1733:1895:2058)) + (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_4/Q0 SLICE_64/A1 (1245:1393:1541)(1245:1393:1541)) + (INTERCONNECT SLICE_4/Q0 SLICE_74/A0 (1648:1825:2002)(1648:1825:2002)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (1131:1266:1402)(1131:1266:1402)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/C0 (1131:1266:1402)(1131:1266:1402)) + (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (1652:1794:1936)(1652:1794:1936)) + (INTERCONNECT SLICE_5/Q1 SLICE_87/C0 (750:837:924)(750:837:924)) + (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_5/Q0 SLICE_58/A1 (857:952:1048)(857:952:1048)) + (INTERCONNECT SLICE_5/Q0 SLICE_84/A1 (1663:1816:1970)(1663:1816:1970)) + (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_6/Q1 SLICE_56/B0 (1844:2015:2186)(1844:2015:2186)) + (INTERCONNECT SLICE_6/Q1 SLICE_84/D0 (599:662:725)(599:662:725)) + (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/D1 (595:663:731)(595:663:731)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/A0 (864:963:1063)(864:963:1063)) + (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_7/Q1 SLICE_56/D0 (1497:1620:1743)(1497:1620:1743)) + (INTERCONNECT SLICE_7/Q1 SLICE_68/D1 (603:667:731)(603:667:731)) + (INTERCONNECT SLICE_7/Q1 SLICE_69/B1 (918:1020:1123)(918:1020:1123)) + (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_7/Q0 SLICE_72/D0 (1002:1094:1186)(1002:1094:1186)) + (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (1232:1375:1519)(1232:1375:1519)) + (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8/Q1 SLICE_68/A1 (1675:1841:2008)(1675:1841:2008)) + (INTERCONNECT SLICE_8/Q1 SLICE_69/C1 (1561:1715:1869)(1561:1715:1869)) + (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8/Q0 SLICE_68/C1 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_8/Q0 SLICE_69/A1 (857:952:1048)(857:952:1048)) + (INTERCONNECT SLICE_78/F0 SLICE_9/D1 (568:631:694)(568:631:694)) + (INTERCONNECT SLICE_85/F1 SLICE_9/C1 (1087:1218:1349)(1087:1218:1349)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/B1 (1843:2032:2222)(1843:2032:2222)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (1203:1325:1448)(1203:1325:1448)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/C0 (1683:1853:2023)(1683:1853:2023)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (1528:1679:1830)(1528:1679:1830)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/D1 (2744:2982:3221)(2744:2982:3221)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/D0 (2744:2982:3221)(2744:2982:3221)) + (INTERCONNECT SLICE_70/F1 SLICE_9/A1 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70/F1 SLICE_14/A1 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70/F1 SLICE_14/A0 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70/F1 SLICE_67/A0 (882:978:1075)(882:978:1075)) + (INTERCONNECT SLICE_70/F1 SLICE_70/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_70/F1 SLICE_90/B1 (1317:1447:1578)(1317:1447:1578)) + (INTERCONNECT SLICE_9/Q0 SLICE_9/D0 (517:575:634)(517:575:634)) + (INTERCONNECT SLICE_9/Q0 SLICE_20/B1 (832:929:1026)(832:929:1026)) + (INTERCONNECT SLICE_9/F1 SLICE_9/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_9/F1 SLICE_20/D0 (261:290:320)(261:290:320)) + (INTERCONNECT SLICE_14/F1 SLICE_9/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_14/F1 SLICE_14/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (559:618:678)(559:618:678)) + (INTERCONNECT SLICE_70/F0 SLICE_9/A0 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (2182:2416:2650)(2182:2416:2650)) + (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (2731:3325:3919)(2731:3325:3919)) + (INTERCONNECT SLICE_77/F0 SLICE_14/D1 (564:632:700)(564:632:700)) + (INTERCONNECT SLICE_76/F0 SLICE_14/C1 (1530:1676:1822)(1530:1676:1822)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/D0 (1225:1351:1478)(1225:1351:1478)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (1525:1685:1846)(1525:1685:1846)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/B0 (1540:1705:1870)(1540:1705:1870)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/A0 (1879:2062:2246)(1879:2062:2246)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/C0 (1373:1516:1660)(1373:1516:1660)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/D0 (1225:1351:1478)(1225:1351:1478)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/C1 (1784:1959:2134)(1784:1959:2134)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/B0 (1541:1706:1872)(1541:1706:1872)) + (INTERCONNECT SLICE_14/Q0 SLICE_14/B0 (832:929:1026)(832:929:1026)) + (INTERCONNECT SLICE_14/Q0 SLICE_20/B0 (832:929:1026)(832:929:1026)) + (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/D1 (956:1070:1185)(956:1070:1185)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (2110:2331:2552)(2110:2331:2552)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/C1 (2657:2925:3193)(2657:2925:3193)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/A0 (2482:2728:2974)(2482:2728:2974)) + (INTERCONNECT SLICE_51/Q1 SLICE_43/C1 (2365:2598:2832)(2365:2598:2832)) + (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (2110:2331:2552)(2110:2331:2552)) + (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (2620:2864:3109)(2620:2864:3109)) + (INTERCONNECT SLICE_51/Q1 SLICE_61/A1 (2054:2267:2480)(2054:2267:2480)) + (INTERCONNECT SLICE_51/Q1 SLICE_62/D1 (1793:1977:2161)(1793:1977:2161)) + (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (2210:2424:2639)(2210:2424:2639)) + (INTERCONNECT SLICE_51/Q1 SLICE_73/B1 (895:1001:1108)(895:1001:1108)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/C1 (763:846:930)(763:846:930)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/C0 (763:846:930)(763:846:930)) + (INTERCONNECT SLICE_50/Q0 SLICE_41/C1 (1581:1730:1879)(1581:1730:1879)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (1769:1942:2115)(1769:1942:2115)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/C1 (2019:2202:2385)(2019:2202:2385)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/C0 (2019:2202:2385)(2019:2202:2385)) + (INTERCONNECT SLICE_50/Q0 SLICE_63/D0 (1454:1588:1723)(1454:1588:1723)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/C1 (757:844:932)(757:844:932)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/C0 (757:844:932)(757:844:932)) + (INTERCONNECT SLICE_50/Q0 SLICE_73/C1 (2026:2210:2394)(2026:2210:2394)) + (INTERCONNECT SLICE_50/Q0 SLICE_79/C0 (2026:2210:2394)(2026:2210:2394)) + (INTERCONNECT SLICE_50/Q0 SLICE_94/C0 (2026:2210:2394)(2026:2210:2394)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/B1 (878:975:1072)(878:975:1072)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_19/Q0 SLICE_41/B1 (938:1041:1144)(938:1041:1144)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/C0 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_19/Q0 SLICE_60/C1 (1181:1293:1406)(1181:1293:1406)) + (INTERCONNECT SLICE_19/Q0 SLICE_63/A0 (892:988:1084)(892:988:1084)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (1362:1496:1631)(1362:1496:1631)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (1362:1496:1631)(1362:1496:1631)) + (INTERCONNECT SLICE_19/Q0 SLICE_73/A1 (1316:1443:1571)(1316:1443:1571)) + (INTERCONNECT SLICE_19/Q0 SLICE_79/D0 (1047:1143:1239)(1047:1143:1239)) + (INTERCONNECT SLICE_19/Q0 SLICE_80/C0 (718:795:873)(718:795:873)) + (INTERCONNECT SLICE_31/Q0 SLICE_19/A1 (1286:1409:1533)(1286:1409:1533)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/A1 (825:914:1004)(825:914:1004)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_31/Q0 SLICE_83/B1 (1424:1556:1689)(1424:1556:1689)) + (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F1 SLICE_43/A0 (849:948:1048)(849:948:1048)) + (INTERCONNECT SLICE_19/F1 SLICE_44/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A1 (810:899:989)(810:899:989)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_20/Q0 SLICE_67/D0 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_90/F1 SLICE_20/C0 (1218:1331:1444)(1218:1331:1444)) + (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_21/D1 (321:350:380)(321:350:380)) + (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (640:708:776)(640:708:776)) + (INTERCONNECT SLICE_75/F1 SLICE_67/D1 (1047:1139:1231)(1047:1139:1231)) + (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (476:524:573)(476:524:573)) + (INTERCONNECT SLICE_75/F1 SLICE_82/C1 (476:524:573)(476:524:573)) + (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (901:997:1094)(901:997:1094)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/B1 (1546:1711:1877)(1546:1711:1877)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (2468:2685:2903)(2468:2685:2903)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/B1 (1949:2143:2338)(1949:2143:2338)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/B0 (2795:3059:3324)(2795:3059:3324)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/B1 (2795:3059:3324)(2795:3059:3324)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (1962:2156:2351)(1962:2156:2351)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (2795:3059:3324)(2795:3059:3324)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/A1 (1500:1658:1817)(1500:1658:1817)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/A0 (1500:1658:1817)(1500:1658:1817)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/D0 (1944:2137:2330)(1944:2137:2330)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/A1 (1398:1552:1707)(1398:1552:1707)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/A1 (988:1113:1238)(988:1113:1238)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/C1 (1556:1731:1906)(1556:1731:1906)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (712:804:897)(712:804:897)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/A0 (988:1113:1238)(988:1113:1238)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/D1 (709:801:894)(709:801:894)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D1 (1418:1575:1733)(1418:1575:1733)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/C0 (1277:1418:1560)(1277:1418:1560)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (712:804:897)(712:804:897)) + (INTERCONNECT SLICE_75/F0 SLICE_21/D0 (245:274:304)(245:274:304)) + (INTERCONNECT SLICE_21/F1 SLICE_21/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_21/F1 SLICE_26/A0 (853:947:1042)(853:947:1042)) + (INTERCONNECT SLICE_82/F1 SLICE_21/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_33/Q0 SLICE_21/A0 (1514:1694:1875)(1514:1694:1875)) + (INTERCONNECT SLICE_33/Q0 SLICE_33/C1 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (1674:1856:2038)(1674:1856:2038)) + (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_21/CE (1285:1433:1581)(1285:1433:1581)) + (INTERCONNECT SLICE_67/F0 SLICE_26/CE (921:1020:1119)(921:1020:1119)) + (INTERCONNECT SLICE_67/F0 SLICE_57/CE (1696:1875:2055)(1696:1875:2055)) + (INTERCONNECT SLICE_67/F0 SLICE_67/A1 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_67/F0 SLICE_82/D0 (986:1100:1215)(986:1100:1215)) + (INTERCONNECT SLICE_21/Q0 SLICE_33/A0 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_21/Q0 SLICE_82/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (1682:1846:2010)(1682:1846:2010)) + (INTERCONNECT SLICE_32/Q0 SLICE_22/C1 (1201:1313:1426)(1201:1313:1426)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/A1 (854:945:1036)(854:945:1036)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/A0 (575:636:697)(575:636:697)) + (INTERCONNECT SLICE_32/Q0 SLICE_33/C0 (1611:1753:1895)(1611:1753:1895)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/D1 (1477:1603:1729)(1477:1603:1729)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/D0 (1477:1603:1729)(1477:1603:1729)) + (INTERCONNECT SLICE_32/Q0 SLICE_44/C1 (2035:2209:2383)(2035:2209:2383)) + (INTERCONNECT SLICE_32/Q0 SLICE_51/B1 (1769:1941:2114)(1769:1941:2114)) + (INTERCONNECT SLICE_32/Q0 SLICE_52/B1 (1771:1932:2094)(1771:1932:2094)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/C1 (740:818:897)(740:818:897)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/C0 (740:818:897)(740:818:897)) + (INTERCONNECT SLICE_32/Q0 SLICE_64/C1 (784:866:948)(784:866:948)) + (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/A0 (1746:1903:2061)(1746:1903:2061)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/B1 (1777:1952:2127)(1777:1952:2127)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/B0 (1777:1952:2127)(1777:1952:2127)) + (INTERCONNECT SLICE_32/Q0 SLICE_73/D1 (1477:1603:1729)(1477:1603:1729)) + (INTERCONNECT SLICE_43/Q1 SLICE_22/B1 (1302:1432:1563)(1302:1432:1563)) + (INTERCONNECT SLICE_43/Q1 SLICE_52/C1 (1103:1234:1365)(1103:1234:1365)) + (INTERCONNECT SLICE_41/Q1 SLICE_22/A1 (1260:1384:1509)(1260:1384:1509)) + (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (544:603:663)(544:603:663)) + (INTERCONNECT SLICE_41/Q1 SLICE_52/D1 (991:1084:1177)(991:1084:1177)) + (INTERCONNECT SLICE_82/F0 SLICE_22/C0 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_68/C0 (1133:1244:1356)(1133:1244:1356)) + (INTERCONNECT SLICE_22/F1 SLICE_69/C0 (1133:1244:1356)(1133:1244:1356)) + (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_78/F1 SLICE_78/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_26/Q0 SLICE_58/B0 (899:1000:1102)(899:1000:1102)) + (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_76/F1 SLICE_76/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_58/Q0 SLICE_26/D0 (572:636:700)(572:636:700)) + (INTERCONNECT SLICE_58/Q0 SLICE_39/C0 (1936:2106:2276)(1936:2106:2276)) + (INTERCONNECT SLICE_26/F1 SLICE_26/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F1 SLICE_29/D1 (584:647:710)(584:647:710)) + (INTERCONNECT SLICE_61/F1 SLICE_61/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/C1 (726:803:880)(726:803:880)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/D0 (571:629:687)(571:629:687)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/D1 (643:708:773)(643:708:773)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/D0 (643:708:773)(643:708:773)) + (INTERCONNECT SLICE_29/Q0 SLICE_31/C0 (798:882:966)(798:882:966)) + (INTERCONNECT SLICE_29/Q0 SLICE_42/D1 (1534:1657:1781)(1534:1657:1781)) + (INTERCONNECT SLICE_29/Q0 SLICE_61/D0 (932:1031:1131)(932:1031:1131)) + (INTERCONNECT SLICE_29/Q0 SLICE_83/B0 (2655:2875:3095)(2655:2875:3095)) + (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (1300:1448:1596)(1300:1448:1596)) + (INTERCONNECT SLICE_83/F1 SLICE_29/B1 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_83/F1 SLICE_59/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_83/F1 SLICE_61/A0 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_73/F1 SLICE_29/A1 (1297:1422:1547)(1297:1422:1547)) + (INTERCONNECT SLICE_73/F1 SLICE_29/A0 (1297:1422:1547)(1297:1422:1547)) + (INTERCONNECT SLICE_73/F1 SLICE_59/D1 (1109:1203:1297)(1109:1203:1297)) + (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (1062:1179:1297)(1062:1179:1297)) + (INTERCONNECT SLICE_73/F1 SLICE_73/C0 (446:494:543)(446:494:543)) + (INTERCONNECT SLICE_73/F1 SLICE_94/B1 (871:967:1064)(871:967:1064)) + (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (2198:2404:2610)(2198:2404:2610)) + (INTERCONNECT SLICE_43/Q0 SLICE_41/C0 (733:810:888)(733:810:888)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/B1 (886:982:1079)(886:982:1079)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/C0 (733:810:888)(733:810:888)) + (INTERCONNECT SLICE_43/Q0 SLICE_44/D1 (632:700:769)(632:700:769)) + (INTERCONNECT SLICE_43/Q0 SLICE_50/D1 (1490:1629:1769)(1490:1629:1769)) + (INTERCONNECT SLICE_43/Q0 SLICE_59/B1 (2511:2758:3006)(2511:2758:3006)) + (INTERCONNECT SLICE_43/Q0 SLICE_61/B1 (2087:2299:2511)(2087:2299:2511)) + (INTERCONNECT SLICE_43/Q0 SLICE_62/B1 (2087:2299:2511)(2087:2299:2511)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/B1 (1805:1983:2161)(1805:1983:2161)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/B0 (1805:1983:2161)(1805:1983:2161)) + (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (948:1049:1150)(948:1049:1150)) + (INTERCONNECT SLICE_43/Q0 SLICE_73/A0 (1199:1330:1461)(1199:1330:1461)) + (INTERCONNECT SLICE_43/Q0 SLICE_79/A1 (894:993:1093)(894:993:1093)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/A1 (907:1003:1099)(907:1003:1099)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/A0 (907:1003:1099)(907:1003:1099)) + (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/B1 (885:983:1081)(885:983:1081)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/B1 (885:983:1081)(885:983:1081)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/B0 (885:983:1081)(885:983:1081)) + (INTERCONNECT SLICE_30/Q0 SLICE_42/A1 (1378:1503:1629)(1378:1503:1629)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/C1 (1179:1290:1402)(1179:1290:1402)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/C0 (1179:1290:1402)(1179:1290:1402)) + (INTERCONNECT SLICE_30/Q1 SLICE_30/A1 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/D1 (563:621:680)(563:621:680)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/D0 (563:621:680)(563:621:680)) + (INTERCONNECT SLICE_30/Q1 SLICE_42/B1 (1424:1556:1689)(1424:1556:1689)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/A1 (1293:1417:1541)(1293:1417:1541)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/A0 (1293:1417:1541)(1293:1417:1541)) + (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_30/CE (947:1062:1178)(947:1062:1178)) + (INTERCONNECT SLICE_94/F1 SLICE_31/CE (947:1062:1178)(947:1062:1178)) + (INTERCONNECT SLICE_73/F0 SLICE_31/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (575:639:703)(575:639:703)) + (INTERCONNECT SLICE_56/F0 SLICE_32/D1 (1352:1480:1609)(1352:1480:1609)) + (INTERCONNECT SLICE_72/F1 SLICE_32/C1 (446:494:543)(446:494:543)) + (INTERCONNECT SLICE_72/F1 SLICE_58/D1 (291:320:350)(291:320:350)) + (INTERCONNECT SLICE_72/F1 SLICE_64/B1 (929:1030:1132)(929:1030:1132)) + (INTERCONNECT SLICE_72/F1 SLICE_72/C0 (446:494:543)(446:494:543)) + (INTERCONNECT SLICE_84/F1 SLICE_32/B1 (879:985:1092)(879:985:1092)) + (INTERCONNECT SLICE_74/F0 SLICE_32/B0 (883:984:1086)(883:984:1086)) + (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F1 SLICE_87/D1 (510:568:626)(510:568:626)) + (INTERCONNECT nCRAS_I/PADDI SLICE_33/D1 (2857:3462:4068)(2857:3462:4068)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (3532:4217:4903)(3532:4217:4903)) + (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (2293:2830:3368)(2293:2830:3368)) + (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_78/Q0 SLICE_41/D0 (1365:1507:1650)(1365:1507:1650)) + (INTERCONNECT SLICE_78/Q0 SLICE_60/A0 (1681:1846:2012)(1681:1846:2012)) + (INTERCONNECT SLICE_78/Q0 SLICE_63/A1 (1239:1386:1534)(1239:1386:1534)) + (INTERCONNECT SLICE_78/Q0 SLICE_79/A0 (1239:1386:1534)(1239:1386:1534)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_33/D0 (702:793:885)(702:793:885)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_58/D0 (1105:1225:1346)(1105:1225:1346)) + (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_33/CE (939:1052:1165)(939:1052:1165)) + (INTERCONNECT SLICE_33/F1 LED_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_85/F0 SLICE_39/D1 (1514:1646:1779)(1514:1646:1779)) + (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/A1 (2147:2339:2531)(2147:2339:2531)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/A0 (2147:2339:2531)(2147:2339:2531)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/D0 (2053:2245:2437)(2053:2245:2437)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (3194:3483:3773)(3194:3483:3773)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/B1 (1519:1680:1842)(1519:1680:1842)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/D0 (2081:2276:2472)(2081:2276:2472)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (2388:2619:2851)(2388:2619:2851)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/B0 (2396:2630:2864)(2396:2630:2864)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/B0 (2799:3062:3325)(2799:3062:3325)) + (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (1313:1442:1571)(1313:1442:1571)) + (INTERCONNECT SLICE_44/Q0 SLICE_44/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (1447:1581:1716)(1447:1581:1716)) + (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (1447:1581:1716)(1447:1581:1716)) + (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (1850:2013:2177)(1850:2013:2177)) + (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (559:618:678)(559:618:678)) + (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (1842:2003:2164)(1842:2003:2164)) + (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (1447:1581:1716)(1447:1581:1716)) + (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_39/F1 SLICE_57/A0 (1767:1931:2095)(1767:1931:2095)) + (INTERCONNECT SLICE_75/Q1 SLICE_41/D1 (960:1076:1193)(960:1076:1193)) + (INTERCONNECT SLICE_75/Q1 SLICE_60/B1 (1967:2185:2404)(1967:2185:2404)) + (INTERCONNECT SLICE_75/Q1 SLICE_79/B1 (1275:1430:1585)(1275:1430:1585)) + (INTERCONNECT SLICE_75/Q1 SLICE_80/D1 (1370:1516:1662)(1370:1516:1662)) + (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (1780:1956:2132)(1780:1956:2132)) + (INTERCONNECT SLICE_81/Q1 SLICE_41/A1 (2097:2301:2505)(2097:2301:2505)) + (INTERCONNECT SLICE_81/Q1 SLICE_60/D1 (2924:3195:3466)(2924:3195:3466)) + (INTERCONNECT SLICE_43/F1 SLICE_41/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_41/F1 SLICE_41/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (1342:1484:1626)(1342:1484:1626)) + (INTERCONNECT SLICE_41/Q0 SLICE_42/D0 (1352:1480:1609)(1352:1480:1609)) + (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (1218:1331:1444)(1218:1331:1444)) + (INTERCONNECT SLICE_44/Q1 SLICE_42/B0 (1293:1424:1555)(1293:1424:1555)) + (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (2091:2277:2464)(2091:2277:2464)) + (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 SLICE_61/C1 (1543:1684:1825)(1543:1684:1825)) + (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/A1 (2060:2242:2425)(2060:2242:2425)) + (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (1978:2217:2456)(1978:2217:2456)) + (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/D0 (932:1044:1156)(932:1044:1156)) + (INTERCONNECT SLICE_50/F0 SLICE_43/A1 (1270:1395:1520)(1270:1395:1520)) + (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (16:16:16)(16:16:16)) + (INTERCONNECT SLICE_50/F0 SLICE_61/D1 (1001:1094:1188)(1001:1094:1188)) + (INTERCONNECT SLICE_50/F0 SLICE_62/C1 (1156:1268:1381)(1156:1268:1381)) + (INTERCONNECT SLICE_83/F0 SLICE_43/B0 (1255:1408:1561)(1255:1408:1561)) + (INTERCONNECT SLICE_83/F0 SLICE_44/A1 (1612:1787:1962)(1612:1787:1962)) + (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F1 SLICE_44/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_73/Q0 SLICE_51/D1 (1375:1502:1629)(1375:1502:1629)) + (INTERCONNECT SLICE_72/F0 SLICE_51/C1 (1126:1237:1348)(1126:1237:1348)) + (INTERCONNECT SLICE_66/F0 SLICE_51/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_66/F0 SLICE_66/C1 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_51/Q0 SLICE_51/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (1548:1774:2000)(1548:1774:2000)) + (INTERCONNECT SLICE_51/F1 SLICE_51/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (1409:1541:1674)(1409:1541:1674)) + (INTERCONNECT SLICE_64/F1 SLICE_52/A0 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_52/F1 SLICE_51/A0 (1157:1286:1415)(1157:1286:1415)) + (INTERCONNECT SLICE_52/F1 SLICE_52/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_52/F1 SLICE_64/D0 (1002:1094:1186)(1002:1094:1186)) + (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (568:631:694)(568:631:694)) + (INTERCONNECT SLICE_52/Q0 SLICE_52/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/D0 (1207:1330:1453)(1207:1330:1453)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (1949:2146:2344)(1949:2146:2344)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/B1 (1914:2103:2292)(1914:2103:2292)) + (INTERCONNECT SLICE_63/Q0 SLICE_55/B0 (1997:2204:2411)(1997:2204:2411)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/D1 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/D0 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/D1 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/D0 (1451:1592:1734)(1451:1592:1734)) + (INTERCONNECT SLICE_63/Q0 SLICE_90/A0 (2415:2652:2889)(2415:2652:2889)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C1 (2426:2645:2865)(2426:2645:2865)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (2426:2645:2865)(2426:2645:2865)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/C1 (1898:2093:2289)(1898:2093:2289)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/C0 (1898:2093:2289)(1898:2093:2289)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/A1 (2415:2652:2889)(2415:2652:2889)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/B0 (2176:2385:2595)(2176:2385:2595)) + (INTERCONNECT SLICE_67/Q0 SLICE_55/A0 (1201:1344:1488)(1201:1344:1488)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (2322:2541:2761)(2322:2541:2761)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/A1 (1473:1628:1784)(1473:1628:1784)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (1635:1791:1948)(1635:1791:1948)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/D1 (1628:1783:1939)(1628:1783:1939)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/D1 (1628:1783:1939)(1628:1783:1939)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/C0 (2072:2281:2490)(2072:2281:2490)) + (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (2787:3031:3276)(2787:3031:3276)) + (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (2787:3031:3276)(2787:3031:3276)) + (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (2225:2440:2655)(2225:2440:2655)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (1818:2004:2190)(1818:2004:2190)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (1818:2004:2190)(1818:2004:2190)) + (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (2377:2592:2807)(2377:2592:2807)) + (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (1564:1720:1877)(1564:1720:1877)) + (INTERCONNECT nCCAS_I/PADDI SLICE_88/A0 (1798:1981:2164)(1798:1981:2164)) + (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (2042:2305:2568)(2042:2305:2568)) + (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (2630:2955:3280)(2630:2955:3280)) + (INTERCONNECT SLICE_77/Q1 SLICE_56/D1 (1260:1386:1513)(1260:1386:1513)) + (INTERCONNECT SLICE_77/Q0 SLICE_56/C1 (1126:1237:1348)(1126:1237:1348)) + (INTERCONNECT SLICE_76/Q1 SLICE_56/B1 (1286:1416:1547)(1286:1416:1547)) + (INTERCONNECT SLICE_71/Q0 SLICE_56/A1 (1332:1457:1583)(1332:1457:1583)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (2232:2447:2663)(2232:2447:2663)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/D1 (1515:1665:1815)(1515:1665:1815)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/A1 (2604:2844:3085)(2604:2844:3085)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (2642:2887:3132)(2642:2887:3132)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/A1 (1381:1533:1686)(1381:1533:1686)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/A0 (1381:1533:1686)(1381:1533:1686)) + (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_56/F1 SLICE_70/B1 (1378:1510:1643)(1378:1510:1643)) + (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/C1 (1277:1418:1559)(1277:1418:1559)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (1839:2026:2214)(1839:2026:2214)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (2242:2458:2675)(2242:2458:2675)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/D1 (1532:1683:1835)(1532:1683:1835)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (3049:3329:3610)(3049:3329:3610)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/C1 (1566:1741:1917)(1566:1741:1917)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (1437:1597:1758)(1437:1597:1758)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (1129:1252:1375)(1129:1252:1375)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (1411:1566:1722)(1411:1566:1722)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/A0 (1384:1536:1689)(1384:1536:1689)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (1673:1860:2047)(1673:1860:2047)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (1429:1587:1745)(1429:1587:1745)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/D0 (710:802:894)(710:802:894)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (1420:1577:1734)(1420:1577:1734)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (1933:2113:2294)(1933:2113:2294)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/D0 (1113:1234:1355)(1113:1234:1355)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (1025:1155:1286)(1025:1155:1286)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (2233:2448:2664)(2233:2448:2664)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/B1 (1025:1155:1286)(1025:1155:1286)) + (INTERCONNECT SLICE_57/F1 SLICE_57/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F0 SLICE_58/CE (875:974:1073)(875:974:1073)) + (INTERCONNECT SLICE_58/F1 SLICE_87/B1 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_59/F1 SLICE_59/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_80/F0 SLICE_59/B0 (1286:1416:1547)(1286:1416:1547)) + (INTERCONNECT SLICE_62/F1 SLICE_59/A0 (1751:1905:2060)(1751:1905:2060)) + (INTERCONNECT SLICE_62/F1 SLICE_62/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (1723:1947:2172)(1723:1947:2172)) + (INTERCONNECT SLICE_82/Q0 SLICE_60/A1 (1751:1905:2060)(1751:1905:2060)) + (INTERCONNECT SLICE_82/Q0 SLICE_63/C1 (748:831:915)(748:831:915)) + (INTERCONNECT SLICE_82/Q0 SLICE_79/D1 (996:1089:1183)(996:1089:1183)) + (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (908:1011:1114)(908:1011:1114)) + (INTERCONNECT SLICE_94/F0 SLICE_60/D0 (1382:1514:1647)(1382:1514:1647)) + (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT SLICE_78/Q1 SLICE_62/A1 (1348:1473:1599)(1348:1473:1599)) + (INTERCONNECT SLICE_78/Q1 SLICE_80/A0 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/D0 (568:631:694)(568:631:694)) + (INTERCONNECT SLICE_81/Q0 SLICE_62/B0 (1797:1958:2120)(1797:1958:2120)) + (INTERCONNECT SLICE_81/Q0 SLICE_63/D1 (588:652:716)(588:652:716)) + (INTERCONNECT SLICE_81/Q0 SLICE_80/D0 (1395:1523:1651)(1395:1523:1651)) + (INTERCONNECT SLICE_79/F0 SLICE_62/A0 (1201:1344:1488)(1201:1344:1488)) + (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_63/F1 SLICE_63/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/Q0 SLICE_64/C0 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (1990:2225:2460)(1990:2225:2460)) + (INTERCONNECT SLICE_66/F1 SLICE_64/A0 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q1 SLICE_66/D1 (1335:1476:1617)(1335:1476:1617)) + (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_81/F0 SLICE_74/D0 (261:290:320)(261:290:320)) + (INTERCONNECT SLICE_74/F1 SLICE_66/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_66/Q0 SLICE_90/B0 (2100:2300:2500)(2100:2300:2500)) + (INTERCONNECT SLICE_66/Q1 SLICE_91/D0 (1063:1157:1251)(1063:1157:1251)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (1219:1345:1472)(1219:1345:1472)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/A1 (1884:2070:2256)(1884:2070:2256)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/C1 (1794:1974:2155)(1794:1974:2155)) + (INTERCONNECT SLICE_67/F1 SLICE_73/CE (579:644:709)(579:644:709)) + (INTERCONNECT SLICE_67/F1 SLICE_74/CE (982:1076:1170)(982:1076:1170)) + (INTERCONNECT SLICE_67/Q1 SLICE_93/B1 (1378:1510:1643)(1378:1510:1643)) + (INTERCONNECT SLICE_87/F0 SLICE_68/D0 (572:636:700)(572:636:700)) + (INTERCONNECT SLICE_87/F0 SLICE_69/D0 (572:636:700)(572:636:700)) + (INTERCONNECT SLICE_68/F1 SLICE_68/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_84/F0 SLICE_68/A0 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_84/F0 SLICE_69/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_69/F1 SLICE_69/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_70/Q0 SLICE_70/D1 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_70/Q1 SLICE_70/A1 (514:575:636)(514:575:636)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/D1 (1647:1811:1975)(1647:1811:1975)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/A1 (1876:2059:2243)(1876:2059:2243)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/C1 (1765:1936:2107)(1765:1936:2107)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (1917:2105:2293)(1917:2105:2293)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/D1 (2013:2194:2375)(2013:2194:2375)) + (INTERCONNECT SLICE_88/F1 SLICE_71/D0 (564:632:700)(564:632:700)) + (INTERCONNECT SLICE_71/Q1 SLICE_71/C0 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (879:985:1092)(879:985:1092)) + (INTERCONNECT SLICE_71/F1 SLICE_71/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_81/F1 SLICE_72/D1 (564:632:700)(564:632:700)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (1611:1765:1919)(1611:1765:1919)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/B1 (1926:2118:2310)(1926:2118:2310)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/D0 (2417:2628:2840)(2417:2628:2840)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (1115:1236:1357)(1115:1236:1357)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/D1 (1921:2099:2278)(1921:2099:2278)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/D0 (2324:2531:2739)(2324:2531:2739)) + (INTERCONNECT SLICE_72/Q0 SLICE_92/B0 (1689:1848:2008)(1689:1848:2008)) + (INTERCONNECT SLICE_72/Q1 SLICE_93/A0 (1735:1889:2044)(1735:1889:2044)) + (INTERCONNECT SLICE_74/Q0 SLICE_87/A1 (833:932:1032)(833:932:1032)) + (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_77/F1 SLICE_77/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_79/F1 SLICE_79/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (1164:1346:1528)(1164:1346:1528)) + (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_80/F1 SLICE_80/B0 (560:628:696)(560:628:696)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (1943:2141:2340)(1943:2141:2340)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A1 (2322:2546:2771)(2322:2546:2771)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A0 (2322:2546:2771)(2322:2546:2771)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/C1 (2208:2420:2632)(2208:2420:2632)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (1508:1668:1828)(1508:1668:1828)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/B0 (1919:2110:2302)(1919:2110:2302)) + (INTERCONNECT SLICE_80/Q0 SLICE_89/A0 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_80/Q1 SLICE_86/C0 (723:805:887)(723:805:887)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (1514:1673:1833)(1514:1673:1833)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (1514:1673:1833)(1514:1673:1833)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (1802:1985:2168)(1802:1985:2168)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/C0 (1802:1985:2168)(1802:1985:2168)) + (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (1635:1796:1957)(1635:1796:1957)) + (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (1635:1796:1957)(1635:1796:1957)) + (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (2063:2303:2544)(2063:2303:2544)) + (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (1971:2209:2448)(1971:2209:2448)) + (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (1974:2209:2444)(1974:2209:2444)) + (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (1165:1345:1526)(1165:1345:1526)) + (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (1974:2209:2444)(1974:2209:2444)) + (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (1748:1996:2245)(1748:1996:2245)) + (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (2544:2849:3155)(2544:2849:3155)) + (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (2544:2849:3155)(2544:2849:3155)) + (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (2544:2849:3155)(2544:2849:3155)) + (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (3364:3728:4093)(3364:3728:4093)) + (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (3364:3728:4093)(3364:3728:4093)) + (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (1783:2025:2267)(1783:2025:2267)) + (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (3357:3721:4085)(3357:3721:4085)) + (INTERCONNECT SLICE_88/Q0 SLICE_92/D1 (1063:1157:1251)(1063:1157:1251)) + (INTERCONNECT SLICE_88/Q1 SLICE_91/A1 (837:931:1026)(837:931:1026)) + (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (1932:2190:2449)(1932:2190:2449)) + (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (1168:1345:1522)(1168:1345:1522)) + (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (1974:2209:2444)(1974:2209:2444)) + (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (1288:1474:1660)(1288:1474:1660)) + (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (1168:1345:1522)(1168:1345:1522)) + (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (2063:2303:2544)(2063:2303:2544)) + (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (2288:2578:2869)(2288:2578:2869)) + (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (1418:1631:1845)(1418:1631:1845)) + (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (1421:1631:1841)(1421:1631:1841)) + (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) + (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (2196:2460:2725)(2196:2460:2725)) + ) + ) + ) +) diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.vo b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.vo index 28dbed9..e9279a7 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.vo +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_vo.vo @@ -1,3714 +1,3714 @@ - -// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - -// ldbanno -n Verilog -o RAM2GS_LCMXO256C_impl1_vo.vo -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd -// Netlist created on Wed Aug 16 04:50:39 2023 -// Netlist written on Wed Aug 16 04:50:49 2023 -// Design is for device LCMXO256C -// Design is for package TQFP100 -// Design is for performance grade 3 - -`timescale 1 ns / 1 ps - -module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, - RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, - UFMCLK, UFMSDI, UFMSDO ); - input PHI2; - input [9:0] MAin; - input [1:0] CROW; - input [7:0] Din; - input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; - output [7:0] Dout; - output LED; - output [1:0] RBA; - output [11:0] RA; - output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; - inout [7:0] RD; - wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , - \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , - \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , - \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , - \FS_cry[3] , \FS[3] , \FS[2] , CmdEnable17_0_a2_4, CmdEnable17_0_a2_3, - \MAin_c[0] , N_147, ADSubmitted, CmdEnable17, CmdEnable16, C1WR_0_a2, - ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, CmdEnable16_0_a2_4, - \MAin_c[1] , C1Submitted, C1Submitted_RNO, RASr2, \S[1] , CO0, - \IS[3] , N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, - CmdEnable_s, N_128, \Din_c[5] , \Din_c[3] , N_133, N_152, N_132, - LEDEN, N_21_i, XOR8MEG18, CmdLEDEN, CmdSubmitted, InitReady, PHI2r3, - PHI2r2, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, Cmdn8MEGEN, - CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, nRRAS_5_u_i_0, - \IS[0] , N_160, N_155, Ready, N_64_i_i, N_24, \IS[1] , \IS[2] , - N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, N_126, N_51, - UFMSDI_ens2_i_a2_4_2, InitReady3, N_461_0, UFMSDI_ens2_i_a0, nCRAS_c, - CBR, UFMSDO_c, N_70, N_33, LED_c, un1_Din_4, XOR8MEG, \Din_c[6] , - RA11_2, Ready_fast, \RA_c[11] , N_171, CASr2, FWEr_fast, - RCKEEN_8_u_0_0, RCKEEN_8_u_1, RCKEEN_8, PHI2r, RCKEEN, RASr3, RASr, - RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, N_462_0, - Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, CmdUFMCLK, N_129, - UFMCLK_r_i_a2_2_2, UFMCLK_c, UFMCLK_r_i_m4_xx_mm_1, nUFMCS15, N_139_i, - UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, \MAin_c[4] , - nRowColSel, \RowA[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , \WRD[4] , - \WRD[5] , \Bank[7] , \Bank[6] , \Bank[5] , \Bank[2] , \Din_c[7] , - \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[0] , \Din_c[2] , - \Din_c[1] , XOR8MEG_3_u_0_a3_2, XOR8MEG_3, N_69, N_31, N_151, N_41, - g0_1, nRCAS_0_sqmuxa_1, N_37_i, nRCAS_c, CASr3, RCKEEN_8_u_0_a2_1_out, - N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, CBR_fast, m18_0_a2_1, FWEr, - G_17_1, N_39_i, nRWE_c, N_179, nRowColSel_0_0, nUFMCS_c, - nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_s_0_N_5_i, CmdUFMCS, N_95_5, N_95_3, - \RowA[0] , \RowA[1] , \MAin_c[5] , CmdUFMCLK_1_sqmuxa, \RowA[5] , - N_137_8, un1_FS_14_i_a2_0_1, N_137_6, un1_FS_13_i_a2_1, \Bank[0] , - C1WR_0_a2_0_10, \Bank[1] , \MAin_c[6] , \MAin_c[7] , C1WR_0_a2_0_3, - \Bank[3] , \Bank[4] , C1WR_0_a2_0_4, UFMSDI_ens2_i_o2_0_3, - \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , CmdUFMSDI, CASr, - CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , g4_0_0_0, \MAin_c[9] , - \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, \CROW_c[1] , \CROW_c[0] , - \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , \RA_c[9] , RDQML_c, - RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, \RA_c[0] , - \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , \RA_c[5] , - \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , - \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; - - SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), - .Q1(\FS[1] ), .FCO(\FS_cry[1] )); - SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), - .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); - SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), - .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); - SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), - .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); - SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), - .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); - SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), - .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); - SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), - .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); - SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), - .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); - SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), - .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); - SLICE_9 SLICE_9( .D1(CmdEnable17_0_a2_4), .C1(CmdEnable17_0_a2_3), - .B1(\MAin_c[0] ), .A1(N_147), .D0(ADSubmitted), .C0(CmdEnable17), - .B0(CmdEnable16), .A0(C1WR_0_a2), .DI0(ADSubmitted_r), .CLK(PHI2_c), - .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); - SLICE_14 SLICE_14( .D1(CmdEnable16_0_a2_5), .C1(CmdEnable16_0_a2_4), - .A1(N_147), .D0(\MAin_c[1] ), .C0(CmdEnable16), .B0(C1Submitted), - .A0(N_147), .DI0(C1Submitted_RNO), .CLK(PHI2_c), .F0(C1Submitted_RNO), - .Q0(C1Submitted), .F1(CmdEnable16)); - SLICE_19 SLICE_19( .D1(RASr2), .C1(\S[1] ), .B1(CO0), .A1(\IS[3] ), - .C0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), - .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); - SLICE_20 SLICE_20( .B1(ADSubmitted), .A1(CmdEnable), .D0(CmdEnable17), - .C0(un1_CMDWR), .B0(C1Submitted), .A0(CmdEnable), .DI0(CmdEnable_s), - .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); - SLICE_21 SLICE_21( .D1(N_128), .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_133), - .C0(N_152), .B0(N_132), .A0(LEDEN), .DI0(N_21_i), .CE(XOR8MEG18), - .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); - SLICE_22 SLICE_22( .D1(CmdSubmitted), .C1(InitReady), .B1(PHI2r3), - .A1(PHI2r2), .C0(CmdSubmitted_1_sqmuxa), .A0(CmdSubmitted), .DI0(N_460_0), - .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); - SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), - .A1(CmdEnable16_4), .D0(n8MEGEN), .C0(Cmdn8MEGEN_4_u_i_0), .A0(N_152), - .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), - .F1(Cmdn8MEGEN_4_u_i_0)); - SLICE_29 SLICE_29( .D1(nRRAS_5_u_i_0), .C1(\IS[0] ), .B1(N_160), .A1(N_155), - .D0(\IS[0] ), .B0(Ready), .A0(N_155), .DI0(N_64_i_i), .CLK(RCLK_c), - .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); - SLICE_30 SLICE_30( .D1(\IS[0] ), .B1(\IS[1] ), .A1(\IS[2] ), .D0(\IS[0] ), - .A0(\IS[1] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), - .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); - SLICE_31 SLICE_31( .D1(\IS[2] ), .C1(N_159), .B1(\IS[1] ), .A1(\IS[3] ), - .D0(\IS[2] ), .C0(\IS[0] ), .B0(\IS[1] ), .A0(\IS[3] ), .DI0(N_61_i_i), - .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); - SLICE_32 SLICE_32( .D1(N_126), .C1(N_51), .B1(UFMSDI_ens2_i_a2_4_2), - .A1(InitReady), .B0(InitReady3), .A0(InitReady), .DI0(N_461_0), - .CLK(RCLK_c), .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); - SLICE_33 SLICE_33( .D1(nCRAS_c), .C1(LEDEN), .A1(CBR), .D0(UFMSDO_c), - .C0(InitReady), .A0(CmdLEDEN), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), - .F0(N_70), .Q0(LEDEN), .F1(LED_c)); - SLICE_39 SLICE_39( .D1(un1_Din_4), .A1(XOR8MEG), .D0(\Din_c[6] ), - .C0(n8MEGEN), .A0(XOR8MEG), .DI0(RA11_2), .LSR(Ready_fast), .CLK(PHI2_c), - .F0(RA11_2), .Q0(\RA_c[11] ), .F1(N_171)); - SLICE_41 SLICE_41( .D1(CASr2), .C1(\S[1] ), .B1(CO0), .A1(FWEr_fast), - .D0(CBR), .C0(Ready), .B0(RCKEEN_8_u_0_0), .A0(RCKEEN_8_u_1), - .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), - .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); - SLICE_42 SLICE_42( .D1(\IS[0] ), .C1(RASr2), .B1(\IS[2] ), .A1(\IS[1] ), - .D0(RCKEEN), .C0(RASr3), .B0(RASr), .A0(RASr2), .DI0(RCKE_2), .M1(PHI2_c), - .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); - SLICE_43 SLICE_43( .D1(InitReady), .C1(RASr2), .B1(Ready), - .A1(\S_0_i_o2[1] ), .D0(InitReady), .C0(Ready), .B0(N_165), - .A0(Ready_0_sqmuxa_0_a3_2), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), - .F0(N_462_0), .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); - SLICE_44 SLICE_44( .D1(Ready), .C1(InitReady), .B1(Ready_0_sqmuxa_0_a3_2), - .A1(N_165), .C0(Ready_0_sqmuxa), .A0(Ready_fast), .DI0(N_463_0), - .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), - .F1(Ready_0_sqmuxa), .Q1(RASr)); - SLICE_50 SLICE_50( .D1(Ready), .C1(CO0), .B1(\S[1] ), .C0(CO0), .A0(\S[1] ), - .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), - .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); - SLICE_51 SLICE_51( .D1(CmdUFMCLK), .C1(N_129), .B1(InitReady), - .A1(UFMCLK_r_i_a2_2_2), .D0(UFMCLK_c), .C0(UFMCLK_r_i_m4_xx_mm_1), - .B0(nUFMCS15), .A0(N_139_i), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), - .F0(UFMCLK_RNO), .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); - SLICE_52 SLICE_52( .D1(PHI2r2), .C1(PHI2r3), .B1(InitReady), - .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(N_139_i), .B0(UFMSDI_c), - .A0(nUFMCS15), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), - .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); - SLICE_55 SLICE_55( .D0(\MAin_c[4] ), .B0(nRowColSel), .A0(\RowA[4] ), - .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), - .Q0(\WRD[4] ), .Q1(\WRD[5] )); - SLICE_56 SLICE_56( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), - .A1(\Bank[2] ), .D0(\FS[5] ), .C0(\FS[9] ), .B0(\FS[7] ), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), - .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); - SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[0] ), .B1(\Din_c[2] ), - .A1(\Din_c[3] ), .D0(\Din_c[1] ), .C0(XOR8MEG_3_u_0_a3_2), .B0(LEDEN), - .A0(N_171), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(XOR8MEG_3), - .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); - SLICE_58 SLICE_58( .D1(N_51), .C1(InitReady), .A1(\FS[8] ), .D0(UFMSDO_c), - .C0(InitReady), .B0(Cmdn8MEGEN), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), - .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); - SLICE_59 SLICE_59( .D1(N_155), .C1(\S[1] ), .B1(Ready), .A1(N_160), - .D0(N_41), .C0(\S[1] ), .B0(g0_1), .A0(nRCAS_0_sqmuxa_1), .DI0(N_37_i), - .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); - SLICE_60 SLICE_60( .D1(FWEr_fast), .C1(CO0), .B1(CASr2), .A1(CASr3), - .D0(RCKEEN_8_u_0_a2_1_out), .C0(N_28_i_1), .B0(N_24), .A0(CBR), - .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); - SLICE_61 SLICE_61( .D1(\S_0_i_o2[1] ), .C1(RCKE_c), .B1(Ready), .A1(RASr2), - .D0(\IS[0] ), .C0(N_155), .B0(nRRAS_5_u_i_0), .A0(N_160), .DI0(N_24_i), - .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); - SLICE_62 SLICE_62( .D1(RASr2), .C1(\S_0_i_o2[1] ), .B1(Ready), .A1(CBR_fast), - .D0(m18_0_a2_1), .C0(nRCAS_0_sqmuxa_1), .B0(FWEr), .A0(G_17_1), - .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), - .F1(nRCAS_0_sqmuxa_1)); - SLICE_63 SLICE_63( .D1(FWEr), .C1(CASr3), .B1(Ready), .A1(CBR), .D0(\S[1] ), - .C0(N_179), .B0(Ready), .A0(CO0), .DI0(nRowColSel_0_0), - .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), - .F1(N_179)); - SLICE_64 SLICE_64( .D1(\FS[11] ), .C1(InitReady), .B1(N_51), .A1(\FS[10] ), - .D0(N_139_i), .C0(nUFMCS_c), .B0(nUFMCS15), .A0(nUFMCS_s_0_N_5_i_N_2L1), - .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), - .F1(nUFMCS15)); - nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(\S[1] ), .B1(CO0), - .A1(RCKE_c), .D0(m18_0_a3_3), .C0(\S[1] ), .B0(CO0), .A0(InitReady), - .M0(Ready), .OFX0(m18_0_a2_1)); - SLICE_66 SLICE_66( .D1(CmdUFMCS), .C1(UFMCLK_r_i_a2_2_2), .B1(InitReady), - .D0(N_95_5), .C0(N_95_3), .B0(InitReady), .A0(\FS[16] ), .M1(\MAin_c[1] ), - .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), - .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); - SLICE_67 SLICE_67( .D1(N_128), .C1(\Din_c[3] ), .B1(\Din_c[5] ), - .A1(XOR8MEG18), .D0(CmdEnable), .C0(\MAin_c[0] ), .B0(\MAin_c[1] ), - .A0(N_147), .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), - .CLK(nCRAS_c), .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), - .Q1(\RowA[5] )); - SLICE_68 SLICE_68( .D1(\FS[5] ), .C1(\FS[2] ), .B1(\FS[0] ), .A1(\FS[3] ), - .D0(N_137_8), .C0(N_136), .B0(un1_FS_14_i_a2_0_1), .A0(N_137_6), .F0(N_31), - .F1(un1_FS_14_i_a2_0_1)); - SLICE_69 SLICE_69( .D1(\FS[0] ), .C1(\FS[3] ), .B1(\FS[5] ), .A1(\FS[2] ), - .D0(N_137_8), .C0(N_136), .B0(N_137_6), .A0(un1_FS_13_i_a2_1), .F0(N_33), - .F1(un1_FS_13_i_a2_1)); - SLICE_70 SLICE_70( .D1(\Bank[0] ), .C1(C1WR_0_a2_0_10), .B1(C1WR_0_a2_0_11), - .A1(\Bank[1] ), .C0(N_147), .A0(\MAin_c[1] ), .M1(\Din_c[1] ), - .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), - .Q1(\Bank[1] )); - SLICE_71 SLICE_71( .D1(\MAin_c[6] ), .C1(\MAin_c[7] ), .B1(\MAin_c[4] ), - .A1(\MAin_c[5] ), .D0(C1WR_0_a2_0_3), .C0(\Bank[3] ), .B0(\Bank[4] ), - .A0(C1WR_0_a2_0_4), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), - .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); - SLICE_72 SLICE_72( .D1(UFMSDI_ens2_i_o2_0_3), .C1(\FS[16] ), .A1(\FS[12] ), - .D0(\FS[4] ), .C0(N_51), .B0(\FS[11] ), .A0(\FS[1] ), .M1(\MAin_c[3] ), - .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), - .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); - SLICE_73 SLICE_73( .D1(InitReady), .C1(\S[1] ), .B1(RASr2), .A1(CO0), - .C0(N_155), .A0(Ready), .M1(\Din_c[2] ), .M0(\Din_c[1] ), - .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), - .F1(N_155), .Q1(CmdUFMCS)); - SLICE_74 SLICE_74( .B1(\FS[11] ), .A1(\FS[14] ), .D0(N_95_5), .C0(N_95_3), - .B0(\FS[16] ), .A0(\FS[10] ), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), - .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); - SLICE_75 SLICE_75( .D1(\Din_c[7] ), .B1(\Din_c[6] ), .A1(\Din_c[4] ), - .D0(\Din_c[1] ), .C0(N_128), .B0(\Din_c[5] ), .M1(CASr), .M0(nCCAS_c), - .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); - SLICE_76 SLICE_76( .D1(\Din_c[0] ), .B1(\Din_c[5] ), .D0(\MAin_c[0] ), - .C0(CmdEnable16_4), .B0(\Din_c[1] ), .A0(\Din_c[3] ), .M1(\Din_c[5] ), - .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), - .F1(CmdEnable16_4), .Q1(\Bank[5] )); - SLICE_77 SLICE_77( .D1(\Din_c[4] ), .A1(\Din_c[7] ), .D0(\Din_c[6] ), - .C0(\MAin_c[1] ), .B0(CmdEnable16_1), .A0(\Din_c[2] ), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), - .F1(CmdEnable16_1), .Q1(\Bank[7] )); - SLICE_78 SLICE_78( .D1(\Din_c[3] ), .B1(\Din_c[5] ), .D0(\MAin_c[1] ), - .C0(N_43), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(nCCAS_c), .M0(nCCAS_c), - .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), .Q1(CBR_fast)); - SLICE_79 SLICE_79( .D1(CASr3), .B1(CASr2), .A1(Ready), .D0(CO0), .C0(\S[1] ), - .B0(m6_0_a2_2), .A0(CBR), .M1(\Din_c[1] ), .M0(\Din_c[0] ), .CLK(nCCAS_c), - .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); - SLICE_80 SLICE_80( .D1(CASr2), .B1(CASr3), .D0(FWEr), .C0(CO0), - .B0(g4_0_0_0), .A0(CBR_fast), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), - .Q1(\RowA[9] )); - SLICE_81 SLICE_81( .D1(\FS[13] ), .C1(\FS[14] ), .B1(\FS[15] ), - .A1(\FS[17] ), .D0(\FS[13] ), .C0(\FS[17] ), .B0(\FS[15] ), .A0(\FS[12] ), - .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), - .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); - SLICE_82 SLICE_82( .D1(\Din_c[3] ), .C1(N_128), .B1(CmdLEDEN), - .A1(\Din_c[5] ), .D0(XOR8MEG18), .C0(\Din_c[3] ), .B0(N_128), - .A0(\Din_c[5] ), .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), - .Q0(CASr3), .F1(N_132)); - SLICE_83 SLICE_83( .C1(\IS[1] ), .B1(\IS[3] ), .A1(\IS[2] ), .C0(\IS[1] ), - .B0(\IS[0] ), .A0(\IS[2] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), - .Q1(\RBA_c[1] )); - SLICE_84 SLICE_84( .D1(\FS[6] ), .C1(\FS[10] ), .B1(\FS[11] ), .A1(\FS[8] ), - .D0(\FS[7] ), .C0(\FS[10] ), .B0(\FS[1] ), .A0(\FS[6] ), .F0(N_137_6), - .F1(UFMSDI_ens2_i_a2_4_2)); - SLICE_85 SLICE_85( .D1(\Din_c[4] ), .C1(\Din_c[0] ), .B1(\Din_c[1] ), - .A1(\Din_c[7] ), .D0(\Din_c[5] ), .C0(\Din_c[4] ), .B0(\Din_c[6] ), - .A0(\Din_c[7] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), - .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); - SLICE_86 SLICE_86( .D1(nRowColSel), .A1(\MAin_c[9] ), .D0(nRowColSel), - .C0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQML_c)); - SLICE_87 SLICE_87( .D1(UFMSDI_ens2_i_a0), .B1(N_151), .A1(CmdUFMSDI), - .D0(N_151), .C0(\FS[9] ), .B0(\FS[11] ), .A0(\FS[4] ), .F0(N_137_8), - .F1(UFMSDI_r_xx_mm_1)); - SLICE_88 SLICE_88( .D1(\MAin_c[2] ), .C1(nFWE_c), .B1(\MAin_c[3] ), - .C0(nFWE_c), .A0(nCCAS_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), - .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); - SLICE_89 SLICE_89( .D1(nRowColSel), .C1(\MAin_c[9] ), .D0(nRowColSel), - .B0(\MAin_c[8] ), .A0(\RowA[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); - SLICE_90 SLICE_90( .D1(\MAin_c[0] ), .C1(\MAin_c[1] ), .B1(N_147), - .D0(\MAin_c[0] ), .B0(\RowA[0] ), .A0(nRowColSel), .F0(\RA_c[0] ), - .F1(un1_CMDWR)); - SLICE_91 SLICE_91( .D1(\MAin_c[7] ), .C1(nRowColSel), .A1(\RowA[7] ), - .D0(\RowA[1] ), .C0(nRowColSel), .B0(\MAin_c[1] ), .F0(\RA_c[1] ), - .F1(\RA_c[7] )); - SLICE_92 SLICE_92( .D1(\RowA[6] ), .C1(nRowColSel), .A1(\MAin_c[6] ), - .D0(\MAin_c[2] ), .C0(nRowColSel), .B0(\RowA[2] ), .F0(\RA_c[2] ), - .F1(\RA_c[6] )); - SLICE_93 SLICE_93( .C1(\MAin_c[5] ), .B1(\RowA[5] ), .A1(nRowColSel), - .D0(\MAin_c[3] ), .B0(nRowColSel), .A0(\RowA[3] ), .F0(\RA_c[3] ), - .F1(\RA_c[5] )); - SLICE_94 SLICE_94( .B1(N_155), .A1(Ready), .C0(\S[1] ), .A0(Ready), - .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), - .Q0(\RA_c[10] ), .F1(N_159_i)); - RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), - .RD0(RD[0])); - Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); - PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); - UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); - UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); - UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); - nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); - RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); - RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); - nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); - nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); - nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); - RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); - RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); - nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); - RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), - .RD7(RD[7])); - RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), - .RD6(RD[6])); - RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), - .RD5(RD[5])); - RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), - .RD4(RD[4])); - RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), - .RD3(RD[3])); - RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), - .RD2(RD[2])); - RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), - .RD1(RD[1])); - RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); - RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); - RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); - RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); - RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); - RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); - RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); - RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); - RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); - RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); - RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); - RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); - RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); - RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); - LED LED_I( .PADDO(LED_c), .LED(LED)); - nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); - nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); - nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); - Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); - Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); - Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); - Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); - Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); - Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); - Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); - Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); - Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); - Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); - Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); - Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); - Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); - Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); - Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); - CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); - CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); - MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); - MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); - MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); - MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); - MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); - MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); - MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); - MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); - MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); - MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); - VHI VHI_INST( .Z(VCCI)); - PUR PUR_INST( .PUR(VCCI)); - GSR GSR_INST( .GSR(VCCI)); - VLO VLO_INST( .Z(GNDI_TSALL)); - TSALL TSALL_INST( .TSALL(GNDI_TSALL)); -endmodule - -module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); - wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , - A1_dly, CLK_dly, A0_dly; - - vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), - .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - endspecify - -endmodule - -module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module vcc ( output PWR1 ); - - VHI INST1( .Z(PWR1)); -endmodule - -module gnd ( output PWR0 ); - - VLO INST1( .Z(PWR0)); -endmodule - -module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h300a; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); - wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), - .CO1()); - - specify - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h5002; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; - - lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut4 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40002 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3130) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module inverter ( input I, output Z ); - - INV INST1( .A(I), .Z(Z)); -endmodule - -module SLICE_14 ( input D1, C1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40003 CmdEnable16_0_a2( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40003 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40004 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF4FC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_19 ( input D1, C1, B1, A1, C0, A0, DI0, LSR, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40006 \S_RNO[0] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40005 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40006 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF5F5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_20 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); - wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, - CLK_NOTIN, DI0_dly, CLK_dly; - - lut40008 SLICE_20_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), - .Z(\SLICE_20/SLICE_20_K1_H1 )); - gnd DRIVEGND( .PWR0(GNDI)); - lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); - vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), - .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40008 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40009 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEA0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module selmux2 ( input D0, D1, SD, output Z ); - - MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); -endmodule - -module SLICE_21 ( input D1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40010 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0044) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40011 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0023) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_22 ( input D1, C1, B1, A1, C0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40012 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40013 CmdSubmitted_RNO( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40012 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40013 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_26 ( input D1, C1, B1, A1, D0, C0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40014 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40015 Cmdn8MEGEN_RNO( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40014 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40015 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0F05) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_29 ( input D1, C1, B1, A1, D0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40016 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40017 \IS_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40016 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF54) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40017 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEE11) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_30 ( input D1, B1, A1, D0, A0, DI1, DI0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; - - lut40018 \IS_RNO[2] ( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40019 IS_n1_0_x2( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); - vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40018 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h66AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40019 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h55AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40020 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40021 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40020 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40021 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_32 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40022 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40023 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40022 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5155) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40023 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_33 ( input D1, C1, A1, D0, C0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40024 LED_pad_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40025 LEDEN_5_i_m2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40024 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFAF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40025 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA0AF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_39 ( input D1, A1, D0, C0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40026 XOR8MEG_3_u_0_a3_0( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40027 RA11_2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40026 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40027 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA5AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40028 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40029 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40028 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2DAD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40029 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40030 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40031 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40030 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40031 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFE50) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40032 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40033 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40032 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3704) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40033 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF2F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_44 ( input D1, C1, B1, A1, C0, A0, DI0, M1, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; - - lut40034 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40013 Ready_fast_RNO( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40034 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_50 ( input D1, C1, B1, C0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40035 nRowColSel_RNO( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40013 \S_0_i_o2[1] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40035 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40036 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40037 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40036 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hABEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40037 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1302) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40038 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40039 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40038 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h33B3) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40039 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_55 ( input D0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40040 \un9_RA[4] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40040 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEE22) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_56 ( input D1, C1, B1, A1, D0, C0, B0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40041 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40042 UFMSDI_ens2_i_o2( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40041 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40042 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3C0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40043 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40044 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40043 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40044 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_58 ( input D1, C1, A1, D0, C0, B0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40045 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40046 n8MEGEN_5_i_m2( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40045 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40046 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hC0CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40047 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40048 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0049 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40047 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3F1D) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40048 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5510) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0049 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40050 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40051 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0049 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40050 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBFF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40051 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3233) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40052 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40053 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0049 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40052 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00C8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40053 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3031) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40054 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40055 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0049 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40054 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40055 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF2F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output - F0, Q0, F1 ); - wire VCCI, DI0_dly, CLK_dly, LSR_dly; - - lut40056 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40057 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40056 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40057 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF4F8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40058 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40059 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0049 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40058 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40059 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDDFC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output - OFX0 ); - wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , - \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; - - lut40060 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); - lut40061 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); - selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( - .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), - .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (D1 => OFX0) = (0:0:0,0:0:0); - (C1 => OFX0) = (0:0:0,0:0:0); - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40060 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40061 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_66 ( input D1, C1, B1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40062 nUFMCS_s_0_N_5_i_N_2L1( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40063 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40062 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0F03) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40063 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, - output F0, Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40064 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40065 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0066 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40064 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40065 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0066 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40067 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40068 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40067 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40068 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40069 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40070 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40069 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40070 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_70 ( input D1, C1, B1, A1, C0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40071 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40072 C1WR_0_a2( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40071 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40072 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA0A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; - - lut40073 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40074 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40073 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40074 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_72 ( input D1, C1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40075 UFMSDI_ens2_i_o2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40076 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40075 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40076 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hACA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_73 ( input D1, C1, B1, A1, C0, A0, M1, M0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; - - lut40077 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40013 IS_0_sqmuxa_0_o2( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40077 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFBFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_74 ( input B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; - - lut40078 InitReady3_0_a2_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40079 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40078 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40079 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_75 ( input D1, B1, A1, D0, C0, B0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40080 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40081 CmdLEDEN_4_u_i_a2_0( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40080 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40081 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0003) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_76 ( input D1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40082 CmdEnable16_0_a2_4( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40083 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40082 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40083 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_77 ( input D1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40084 CmdEnable16_0_a2_1( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40085 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40084 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40085 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_78 ( input D1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40086 CmdEnable17_0_o2( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40087 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40086 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h33FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40087 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_79 ( input D1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40088 nRWE_RNO_2( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40089 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40088 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0088) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40089 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_80 ( input D1, B1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40082 nRCAS_RNO_1( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40090 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0066 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40090 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40091 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40092 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40091 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40092 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, - F1 ); - wire VCCI, GNDI, M0_dly, CLK_dly; - - lut40093 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40094 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40093 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3230) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40094 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_83 ( input C1, B1, A1, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40095 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40096 Ready_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40095 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40096 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40097 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40098 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40097 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40098 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40099 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40100 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40099 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40100 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_86 ( input D1, A1, D0, C0, A0, output F0, F1 ); - wire GNDI; - - lut40101 RDQML( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40102 \un9_RA[9] ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40101 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h55FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40102 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAAF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_87 ( input D1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40103 UFMSDI_RNO_0( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40104 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40103 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00EE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40104 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_88 ( input D1, C1, B1, C0, A0, M1, M0, LSR, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40105 C1WR_0_a2_0_3( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40106 nCCAS_pad_RNI01SJ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40105 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0C00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40106 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_89 ( input D1, C1, D0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40107 RDQMH( .A(GNDI), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40108 \un9_RA[8] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40107 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF0FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40108 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCCAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_90 ( input D1, C1, B1, D0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40109 un1_CMDWR( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40110 \un9_RA[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40109 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCCC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40110 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEE44) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_91 ( input D1, C1, A1, D0, C0, B0, output F0, F1 ); - wire GNDI; - - lut40111 \un9_RA[7] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40112 \un9_RA[1] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40111 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFA0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40112 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCFC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_92 ( input D1, C1, A1, D0, C0, B0, output F0, F1 ); - wire GNDI; - - lut40113 \un9_RA[6] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40114 \un9_RA[2] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40113 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAFA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40114 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFC0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_93 ( input C1, B1, A1, D0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40115 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40040 \un9_RA[3] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40115 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hE4E4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_94 ( input B1, A1, C0, A0, M0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; - - lut40116 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A1), .B(B1), .C(GNDI), .D(GNDI), - .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40072 RCKEEN_8_u_0_a2_1_s( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0066 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40116 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); - - mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); - - specify - (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD0) = (0:0:0,0:0:0); - (RD0 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD0, 0:0:0); - $width (negedge RD0, 0:0:0); - endspecify - -endmodule - -module mjiobuf ( input I, T, output Z, PAD, input PADI ); - - IB INST1( .I(PADI), .O(Z)); - OBW INST2( .I(I), .T(T), .O(PAD)); -endmodule - -module Dout_0_ ( input PADDO, output Dout0 ); - - mjiobuf0117 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); - - specify - (PADDO => Dout0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0117 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module PHI2 ( output PADDI, input PHI2 ); - - mjiobuf0118 PHI2_pad( .Z(PADDI), .PAD(PHI2)); - - specify - (PHI2 => PADDI) = (0:0:0,0:0:0); - $width (posedge PHI2, 0:0:0); - $width (negedge PHI2, 0:0:0); - endspecify - -endmodule - -module mjiobuf0118 ( output Z, input PAD ); - - IBPD INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDO ( output PADDI, input UFMSDO ); - - mjiobuf0119 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); - - specify - (UFMSDO => PADDI) = (0:0:0,0:0:0); - $width (posedge UFMSDO, 0:0:0); - $width (negedge UFMSDO, 0:0:0); - endspecify - -endmodule - -module mjiobuf0119 ( output Z, input PAD ); - - IB INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDI ( input PADDO, output UFMSDI ); - - mjiobuf0120 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); - - specify - (PADDO => UFMSDI) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0120 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module UFMCLK ( input PADDO, output UFMCLK ); - - mjiobuf0120 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); - - specify - (PADDO => UFMCLK) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nUFMCS ( input PADDO, output nUFMCS ); - - mjiobuf0120 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); - - specify - (PADDO => nUFMCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQML ( input PADDO, output RDQML ); - - mjiobuf0120 RDQML_pad( .I(PADDO), .PAD(RDQML)); - - specify - (PADDO => RDQML) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQMH ( input PADDO, output RDQMH ); - - mjiobuf0120 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); - - specify - (PADDO => RDQMH) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRCAS ( input PADDO, output nRCAS ); - - mjiobuf0120 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); - - specify - (PADDO => nRCAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRRAS ( input PADDO, output nRRAS ); - - mjiobuf0120 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); - - specify - (PADDO => nRRAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRWE ( input PADDO, output nRWE ); - - mjiobuf0120 nRWE_pad( .I(PADDO), .PAD(nRWE)); - - specify - (PADDO => nRWE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCKE ( input PADDO, output RCKE ); - - mjiobuf0120 RCKE_pad( .I(PADDO), .PAD(RCKE)); - - specify - (PADDO => RCKE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCLK ( output PADDI, input RCLK ); - - mjiobuf0119 RCLK_pad( .Z(PADDI), .PAD(RCLK)); - - specify - (RCLK => PADDI) = (0:0:0,0:0:0); - $width (posedge RCLK, 0:0:0); - $width (negedge RCLK, 0:0:0); - endspecify - -endmodule - -module nRCS ( input PADDO, output nRCS ); - - mjiobuf0120 nRCS_pad( .I(PADDO), .PAD(nRCS)); - - specify - (PADDO => nRCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); - - mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); - - specify - (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD7) = (0:0:0,0:0:0); - (RD7 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD7, 0:0:0); - $width (negedge RD7, 0:0:0); - endspecify - -endmodule - -module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); - - mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); - - specify - (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD6) = (0:0:0,0:0:0); - (RD6 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD6, 0:0:0); - $width (negedge RD6, 0:0:0); - endspecify - -endmodule - -module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); - - mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); - - specify - (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD5) = (0:0:0,0:0:0); - (RD5 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD5, 0:0:0); - $width (negedge RD5, 0:0:0); - endspecify - -endmodule - -module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); - - mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); - - specify - (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD4) = (0:0:0,0:0:0); - (RD4 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD4, 0:0:0); - $width (negedge RD4, 0:0:0); - endspecify - -endmodule - -module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); - - mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); - - specify - (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD3) = (0:0:0,0:0:0); - (RD3 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD3, 0:0:0); - $width (negedge RD3, 0:0:0); - endspecify - -endmodule - -module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); - - mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); - - specify - (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD2) = (0:0:0,0:0:0); - (RD2 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD2, 0:0:0); - $width (negedge RD2, 0:0:0); - endspecify - -endmodule - -module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); - - mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); - - specify - (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD1) = (0:0:0,0:0:0); - (RD1 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD1, 0:0:0); - $width (negedge RD1, 0:0:0); - endspecify - -endmodule - -module RA_11_ ( input PADDO, output RA11 ); - - mjiobuf0120 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); - - specify - (PADDO => RA11) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_10_ ( input PADDO, output RA10 ); - - mjiobuf0120 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); - - specify - (PADDO => RA10) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_9_ ( input PADDO, output RA9 ); - - mjiobuf0120 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); - - specify - (PADDO => RA9) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_8_ ( input PADDO, output RA8 ); - - mjiobuf0120 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); - - specify - (PADDO => RA8) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_7_ ( input PADDO, output RA7 ); - - mjiobuf0120 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); - - specify - (PADDO => RA7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_6_ ( input PADDO, output RA6 ); - - mjiobuf0120 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); - - specify - (PADDO => RA6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_5_ ( input PADDO, output RA5 ); - - mjiobuf0120 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); - - specify - (PADDO => RA5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_4_ ( input PADDO, output RA4 ); - - mjiobuf0120 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); - - specify - (PADDO => RA4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_3_ ( input PADDO, output RA3 ); - - mjiobuf0120 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); - - specify - (PADDO => RA3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_2_ ( input PADDO, output RA2 ); - - mjiobuf0120 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); - - specify - (PADDO => RA2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_1_ ( input PADDO, output RA1 ); - - mjiobuf0120 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); - - specify - (PADDO => RA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_0_ ( input PADDO, output RA0 ); - - mjiobuf0120 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); - - specify - (PADDO => RA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_1_ ( input PADDO, output RBA1 ); - - mjiobuf0120 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); - - specify - (PADDO => RBA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_0_ ( input PADDO, output RBA0 ); - - mjiobuf0120 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); - - specify - (PADDO => RBA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module LED ( input PADDO, output LED ); - - mjiobuf0121 LED_pad( .I(PADDO), .PAD(LED)); - - specify - (PADDO => LED) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0121 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module nFWE ( output PADDI, input nFWE ); - - mjiobuf0119 nFWE_pad( .Z(PADDI), .PAD(nFWE)); - - specify - (nFWE => PADDI) = (0:0:0,0:0:0); - $width (posedge nFWE, 0:0:0); - $width (negedge nFWE, 0:0:0); - endspecify - -endmodule - -module nCRAS ( output PADDI, input nCRAS ); - - mjiobuf0122 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); - - specify - (nCRAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCRAS, 0:0:0); - $width (negedge nCRAS, 0:0:0); - endspecify - -endmodule - -module mjiobuf0122 ( output Z, input PAD ); - - IBPU INST1( .I(PAD), .O(Z)); -endmodule - -module nCCAS ( output PADDI, input nCCAS ); - - mjiobuf0122 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); - - specify - (nCCAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCCAS, 0:0:0); - $width (negedge nCCAS, 0:0:0); - endspecify - -endmodule - -module Dout_7_ ( input PADDO, output Dout7 ); - - mjiobuf0117 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); - - specify - (PADDO => Dout7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_6_ ( input PADDO, output Dout6 ); - - mjiobuf0117 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); - - specify - (PADDO => Dout6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_5_ ( input PADDO, output Dout5 ); - - mjiobuf0117 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); - - specify - (PADDO => Dout5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_4_ ( input PADDO, output Dout4 ); - - mjiobuf0117 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); - - specify - (PADDO => Dout4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_3_ ( input PADDO, output Dout3 ); - - mjiobuf0117 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); - - specify - (PADDO => Dout3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_2_ ( input PADDO, output Dout2 ); - - mjiobuf0117 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); - - specify - (PADDO => Dout2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_1_ ( input PADDO, output Dout1 ); - - mjiobuf0117 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); - - specify - (PADDO => Dout1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Din_7_ ( output PADDI, input Din7 ); - - mjiobuf0119 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); - - specify - (Din7 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din7, 0:0:0); - $width (negedge Din7, 0:0:0); - endspecify - -endmodule - -module Din_6_ ( output PADDI, input Din6 ); - - mjiobuf0119 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); - - specify - (Din6 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din6, 0:0:0); - $width (negedge Din6, 0:0:0); - endspecify - -endmodule - -module Din_5_ ( output PADDI, input Din5 ); - - mjiobuf0119 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); - - specify - (Din5 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din5, 0:0:0); - $width (negedge Din5, 0:0:0); - endspecify - -endmodule - -module Din_4_ ( output PADDI, input Din4 ); - - mjiobuf0119 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); - - specify - (Din4 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din4, 0:0:0); - $width (negedge Din4, 0:0:0); - endspecify - -endmodule - -module Din_3_ ( output PADDI, input Din3 ); - - mjiobuf0119 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); - - specify - (Din3 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din3, 0:0:0); - $width (negedge Din3, 0:0:0); - endspecify - -endmodule - -module Din_2_ ( output PADDI, input Din2 ); - - mjiobuf0119 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); - - specify - (Din2 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din2, 0:0:0); - $width (negedge Din2, 0:0:0); - endspecify - -endmodule - -module Din_1_ ( output PADDI, input Din1 ); - - mjiobuf0119 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); - - specify - (Din1 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din1, 0:0:0); - $width (negedge Din1, 0:0:0); - endspecify - -endmodule - -module Din_0_ ( output PADDI, input Din0 ); - - mjiobuf0119 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); - - specify - (Din0 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din0, 0:0:0); - $width (negedge Din0, 0:0:0); - endspecify - -endmodule - -module CROW_1_ ( output PADDI, input CROW1 ); - - mjiobuf0119 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); - - specify - (CROW1 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW1, 0:0:0); - $width (negedge CROW1, 0:0:0); - endspecify - -endmodule - -module CROW_0_ ( output PADDI, input CROW0 ); - - mjiobuf0119 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); - - specify - (CROW0 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW0, 0:0:0); - $width (negedge CROW0, 0:0:0); - endspecify - -endmodule - -module MAin_9_ ( output PADDI, input MAin9 ); - - mjiobuf0119 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); - - specify - (MAin9 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin9, 0:0:0); - $width (negedge MAin9, 0:0:0); - endspecify - -endmodule - -module MAin_8_ ( output PADDI, input MAin8 ); - - mjiobuf0119 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); - - specify - (MAin8 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin8, 0:0:0); - $width (negedge MAin8, 0:0:0); - endspecify - -endmodule - -module MAin_7_ ( output PADDI, input MAin7 ); - - mjiobuf0119 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); - - specify - (MAin7 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin7, 0:0:0); - $width (negedge MAin7, 0:0:0); - endspecify - -endmodule - -module MAin_6_ ( output PADDI, input MAin6 ); - - mjiobuf0119 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); - - specify - (MAin6 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin6, 0:0:0); - $width (negedge MAin6, 0:0:0); - endspecify - -endmodule - -module MAin_5_ ( output PADDI, input MAin5 ); - - mjiobuf0119 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); - - specify - (MAin5 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin5, 0:0:0); - $width (negedge MAin5, 0:0:0); - endspecify - -endmodule - -module MAin_4_ ( output PADDI, input MAin4 ); - - mjiobuf0119 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); - - specify - (MAin4 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin4, 0:0:0); - $width (negedge MAin4, 0:0:0); - endspecify - -endmodule - -module MAin_3_ ( output PADDI, input MAin3 ); - - mjiobuf0119 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); - - specify - (MAin3 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin3, 0:0:0); - $width (negedge MAin3, 0:0:0); - endspecify - -endmodule - -module MAin_2_ ( output PADDI, input MAin2 ); - - mjiobuf0119 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); - - specify - (MAin2 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin2, 0:0:0); - $width (negedge MAin2, 0:0:0); - endspecify - -endmodule - -module MAin_1_ ( output PADDI, input MAin1 ); - - mjiobuf0119 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); - - specify - (MAin1 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin1, 0:0:0); - $width (negedge MAin1, 0:0:0); - endspecify - -endmodule - -module MAin_0_ ( output PADDI, input MAin0 ); - - mjiobuf0119 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); - - specify - (MAin0 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin0, 0:0:0); - $width (negedge MAin0, 0:0:0); - endspecify - -endmodule + +// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +// ldbanno -n Verilog -o RAM2GS_LCMXO256C_impl1_vo.vo -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd +// Netlist created on Sat Aug 19 20:53:19 2023 +// Netlist written on Sat Aug 19 20:53:33 2023 +// Design is for device LCMXO256C +// Design is for package TQFP100 +// Design is for performance grade 3 + +`timescale 1 ns / 1 ps + +module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, + RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, + UFMCLK, UFMSDI, UFMSDO ); + input PHI2; + input [9:0] MAin; + input [1:0] CROW; + input [7:0] Din; + input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; + output [7:0] Dout; + output LED; + output [1:0] RBA; + output [11:0] RA; + output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; + inout [7:0] RD; + wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , + \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , + \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , + \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , + \FS_cry[3] , \FS[3] , \FS[2] , CmdEnable17_0_a2_4, CmdEnable17_0_a2_3, + \MAin_c[0] , N_147, ADSubmitted, CmdEnable17, CmdEnable16, C1WR_0_a2, + ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, CmdEnable16_0_a2_4, + \MAin_c[1] , C1Submitted, C1Submitted_RNO, RASr2, \S[1] , CO0, + \IS[3] , N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, + CmdEnable_s, N_128, \Din_c[5] , \Din_c[3] , N_133, N_152, N_132, + LEDEN, N_21_i, XOR8MEG18, CmdLEDEN, CmdSubmitted, InitReady, PHI2r3, + PHI2r2, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, Cmdn8MEGEN, + CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, nRRAS_5_u_i_0, + \IS[0] , N_160, N_155, Ready, N_64_i_i, N_24, \IS[1] , \IS[2] , + N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, N_126, N_51, + UFMSDI_ens2_i_a2_4_2, InitReady3, N_461_0, UFMSDI_ens2_i_a0, nCRAS_c, + CBR, UFMSDO_c, N_70, N_33, LED_c, un1_Din_4, XOR8MEG, \Din_c[6] , + RA11_2, Ready_fast, \RA_c[11] , N_171, CASr2, FWEr_fast, + RCKEEN_8_u_0_0, RCKEEN_8_u_1, RCKEEN_8, PHI2r, RCKEEN, RASr3, RASr, + RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, N_462_0, + Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, CmdUFMCLK, N_129, + UFMCLK_r_i_a2_2_2, UFMCLK_c, UFMCLK_r_i_m4_xx_mm_1, nUFMCS15, N_139_i, + UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, \MAin_c[4] , + nRowColSel, \RowA[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , \WRD[4] , + \WRD[5] , \Bank[7] , \Bank[6] , \Bank[5] , \Bank[2] , \Din_c[7] , + \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[0] , \Din_c[2] , + \Din_c[1] , XOR8MEG_3_u_0_a3_2, XOR8MEG_3, N_69, N_31, N_151, N_41, + g0_1, nRCAS_0_sqmuxa_1, N_37_i, nRCAS_c, CASr3, RCKEEN_8_u_0_a2_1_out, + N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, CBR_fast, m18_0_a2_1, FWEr, + G_17_1, N_39_i, nRWE_c, N_179, nRowColSel_0_0, nUFMCS_c, + nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_s_0_N_5_i, CmdUFMCS, N_95_5, N_95_3, + \RowA[0] , \RowA[1] , \MAin_c[5] , CmdUFMCLK_1_sqmuxa, \RowA[5] , + N_137_8, un1_FS_14_i_a2_0_1, N_137_6, un1_FS_13_i_a2_1, \Bank[0] , + C1WR_0_a2_0_10, \Bank[1] , \MAin_c[6] , \MAin_c[7] , C1WR_0_a2_0_3, + \Bank[3] , \Bank[4] , C1WR_0_a2_0_4, UFMSDI_ens2_i_o2_0_3, + \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , CmdUFMSDI, CASr, + CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , g4_0_0_0, \MAin_c[9] , + \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, \CROW_c[1] , \CROW_c[0] , + \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , \RA_c[9] , RDQML_c, + RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, \RA_c[0] , + \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , \RA_c[5] , + \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , + \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; + + SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), + .Q1(\FS[1] ), .FCO(\FS_cry[1] )); + SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), + .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); + SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), + .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); + SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), + .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); + SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), + .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); + SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), + .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); + SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), + .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); + SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), + .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); + SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), + .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); + SLICE_9 SLICE_9( .D1(CmdEnable17_0_a2_4), .C1(CmdEnable17_0_a2_3), + .B1(\MAin_c[0] ), .A1(N_147), .D0(ADSubmitted), .C0(CmdEnable17), + .B0(CmdEnable16), .A0(C1WR_0_a2), .DI0(ADSubmitted_r), .CLK(PHI2_c), + .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); + SLICE_14 SLICE_14( .D1(CmdEnable16_0_a2_5), .C1(CmdEnable16_0_a2_4), + .A1(N_147), .D0(\MAin_c[1] ), .C0(CmdEnable16), .B0(C1Submitted), + .A0(N_147), .DI0(C1Submitted_RNO), .CLK(PHI2_c), .F0(C1Submitted_RNO), + .Q0(C1Submitted), .F1(CmdEnable16)); + SLICE_19 SLICE_19( .D1(RASr2), .C1(\S[1] ), .B1(CO0), .A1(\IS[3] ), + .C0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), + .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); + SLICE_20 SLICE_20( .B1(ADSubmitted), .A1(CmdEnable), .D0(CmdEnable17), + .C0(un1_CMDWR), .B0(C1Submitted), .A0(CmdEnable), .DI0(CmdEnable_s), + .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); + SLICE_21 SLICE_21( .D1(N_128), .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_133), + .C0(N_152), .B0(N_132), .A0(LEDEN), .DI0(N_21_i), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); + SLICE_22 SLICE_22( .D1(CmdSubmitted), .C1(InitReady), .B1(PHI2r3), + .A1(PHI2r2), .C0(CmdSubmitted_1_sqmuxa), .A0(CmdSubmitted), .DI0(N_460_0), + .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); + SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), + .A1(CmdEnable16_4), .D0(n8MEGEN), .C0(Cmdn8MEGEN_4_u_i_0), .A0(N_152), + .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), + .F1(Cmdn8MEGEN_4_u_i_0)); + SLICE_29 SLICE_29( .D1(nRRAS_5_u_i_0), .C1(\IS[0] ), .B1(N_160), .A1(N_155), + .D0(\IS[0] ), .B0(Ready), .A0(N_155), .DI0(N_64_i_i), .CLK(RCLK_c), + .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); + SLICE_30 SLICE_30( .D1(\IS[0] ), .B1(\IS[1] ), .A1(\IS[2] ), .D0(\IS[0] ), + .A0(\IS[1] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), + .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); + SLICE_31 SLICE_31( .D1(\IS[2] ), .C1(N_159), .B1(\IS[1] ), .A1(\IS[3] ), + .D0(\IS[2] ), .C0(\IS[0] ), .B0(\IS[1] ), .A0(\IS[3] ), .DI0(N_61_i_i), + .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); + SLICE_32 SLICE_32( .D1(N_126), .C1(N_51), .B1(UFMSDI_ens2_i_a2_4_2), + .A1(InitReady), .B0(InitReady3), .A0(InitReady), .DI0(N_461_0), + .CLK(RCLK_c), .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); + SLICE_33 SLICE_33( .D1(nCRAS_c), .C1(LEDEN), .A1(CBR), .D0(UFMSDO_c), + .C0(InitReady), .A0(CmdLEDEN), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), + .F0(N_70), .Q0(LEDEN), .F1(LED_c)); + SLICE_39 SLICE_39( .D1(un1_Din_4), .A1(XOR8MEG), .D0(\Din_c[6] ), + .C0(n8MEGEN), .A0(XOR8MEG), .DI0(RA11_2), .LSR(Ready_fast), .CLK(PHI2_c), + .F0(RA11_2), .Q0(\RA_c[11] ), .F1(N_171)); + SLICE_41 SLICE_41( .D1(CASr2), .C1(\S[1] ), .B1(CO0), .A1(FWEr_fast), + .D0(CBR), .C0(Ready), .B0(RCKEEN_8_u_0_0), .A0(RCKEEN_8_u_1), + .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), + .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); + SLICE_42 SLICE_42( .D1(\IS[0] ), .C1(RASr2), .B1(\IS[2] ), .A1(\IS[1] ), + .D0(RCKEEN), .C0(RASr3), .B0(RASr), .A0(RASr2), .DI0(RCKE_2), .M1(PHI2_c), + .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); + SLICE_43 SLICE_43( .D1(InitReady), .C1(RASr2), .B1(Ready), + .A1(\S_0_i_o2[1] ), .D0(InitReady), .C0(Ready), .B0(N_165), + .A0(Ready_0_sqmuxa_0_a3_2), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), + .F0(N_462_0), .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); + SLICE_44 SLICE_44( .D1(Ready), .C1(InitReady), .B1(Ready_0_sqmuxa_0_a3_2), + .A1(N_165), .C0(Ready_0_sqmuxa), .A0(Ready_fast), .DI0(N_463_0), + .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), + .F1(Ready_0_sqmuxa), .Q1(RASr)); + SLICE_50 SLICE_50( .D1(Ready), .C1(CO0), .B1(\S[1] ), .C0(CO0), .A0(\S[1] ), + .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), + .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); + SLICE_51 SLICE_51( .D1(CmdUFMCLK), .C1(N_129), .B1(InitReady), + .A1(UFMCLK_r_i_a2_2_2), .D0(UFMCLK_c), .C0(UFMCLK_r_i_m4_xx_mm_1), + .B0(nUFMCS15), .A0(N_139_i), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), + .F0(UFMCLK_RNO), .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); + SLICE_52 SLICE_52( .D1(PHI2r2), .C1(PHI2r3), .B1(InitReady), + .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(N_139_i), .B0(UFMSDI_c), + .A0(nUFMCS15), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), + .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); + SLICE_55 SLICE_55( .D0(\MAin_c[4] ), .B0(nRowColSel), .A0(\RowA[4] ), + .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), + .Q0(\WRD[4] ), .Q1(\WRD[5] )); + SLICE_56 SLICE_56( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), + .A1(\Bank[2] ), .D0(\FS[5] ), .C0(\FS[9] ), .B0(\FS[7] ), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), + .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); + SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[0] ), .B1(\Din_c[2] ), + .A1(\Din_c[3] ), .D0(\Din_c[1] ), .C0(XOR8MEG_3_u_0_a3_2), .B0(LEDEN), + .A0(N_171), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(XOR8MEG_3), + .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); + SLICE_58 SLICE_58( .D1(N_51), .C1(InitReady), .A1(\FS[8] ), .D0(UFMSDO_c), + .C0(InitReady), .B0(Cmdn8MEGEN), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), + .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); + SLICE_59 SLICE_59( .D1(N_155), .C1(\S[1] ), .B1(Ready), .A1(N_160), + .D0(N_41), .C0(\S[1] ), .B0(g0_1), .A0(nRCAS_0_sqmuxa_1), .DI0(N_37_i), + .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); + SLICE_60 SLICE_60( .D1(FWEr_fast), .C1(CO0), .B1(CASr2), .A1(CASr3), + .D0(RCKEEN_8_u_0_a2_1_out), .C0(N_28_i_1), .B0(N_24), .A0(CBR), + .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); + SLICE_61 SLICE_61( .D1(\S_0_i_o2[1] ), .C1(RCKE_c), .B1(Ready), .A1(RASr2), + .D0(\IS[0] ), .C0(N_155), .B0(nRRAS_5_u_i_0), .A0(N_160), .DI0(N_24_i), + .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); + SLICE_62 SLICE_62( .D1(RASr2), .C1(\S_0_i_o2[1] ), .B1(Ready), .A1(CBR_fast), + .D0(m18_0_a2_1), .C0(nRCAS_0_sqmuxa_1), .B0(FWEr), .A0(G_17_1), + .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), + .F1(nRCAS_0_sqmuxa_1)); + SLICE_63 SLICE_63( .D1(FWEr), .C1(CASr3), .B1(Ready), .A1(CBR), .D0(\S[1] ), + .C0(N_179), .B0(Ready), .A0(CO0), .DI0(nRowColSel_0_0), + .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), + .F1(N_179)); + SLICE_64 SLICE_64( .D1(\FS[11] ), .C1(InitReady), .B1(N_51), .A1(\FS[10] ), + .D0(N_139_i), .C0(nUFMCS_c), .B0(nUFMCS15), .A0(nUFMCS_s_0_N_5_i_N_2L1), + .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), + .F1(nUFMCS15)); + nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(\S[1] ), .B1(CO0), + .A1(RCKE_c), .D0(m18_0_a3_3), .C0(\S[1] ), .B0(CO0), .A0(InitReady), + .M0(Ready), .OFX0(m18_0_a2_1)); + SLICE_66 SLICE_66( .D1(CmdUFMCS), .C1(UFMCLK_r_i_a2_2_2), .B1(InitReady), + .D0(N_95_5), .C0(N_95_3), .B0(InitReady), .A0(\FS[16] ), .M1(\MAin_c[1] ), + .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), + .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); + SLICE_67 SLICE_67( .D1(N_128), .C1(\Din_c[3] ), .B1(\Din_c[5] ), + .A1(XOR8MEG18), .D0(CmdEnable), .C0(\MAin_c[0] ), .B0(\MAin_c[1] ), + .A0(N_147), .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), + .CLK(nCRAS_c), .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), + .Q1(\RowA[5] )); + SLICE_68 SLICE_68( .D1(\FS[5] ), .C1(\FS[2] ), .B1(\FS[0] ), .A1(\FS[3] ), + .D0(N_137_8), .C0(N_136), .B0(un1_FS_14_i_a2_0_1), .A0(N_137_6), .F0(N_31), + .F1(un1_FS_14_i_a2_0_1)); + SLICE_69 SLICE_69( .D1(\FS[0] ), .C1(\FS[3] ), .B1(\FS[5] ), .A1(\FS[2] ), + .D0(N_137_8), .C0(N_136), .B0(N_137_6), .A0(un1_FS_13_i_a2_1), .F0(N_33), + .F1(un1_FS_13_i_a2_1)); + SLICE_70 SLICE_70( .D1(\Bank[0] ), .C1(C1WR_0_a2_0_10), .B1(C1WR_0_a2_0_11), + .A1(\Bank[1] ), .C0(N_147), .A0(\MAin_c[1] ), .M1(\Din_c[1] ), + .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), + .Q1(\Bank[1] )); + SLICE_71 SLICE_71( .D1(\MAin_c[6] ), .C1(\MAin_c[7] ), .B1(\MAin_c[4] ), + .A1(\MAin_c[5] ), .D0(C1WR_0_a2_0_3), .C0(\Bank[3] ), .B0(\Bank[4] ), + .A0(C1WR_0_a2_0_4), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), + .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); + SLICE_72 SLICE_72( .D1(UFMSDI_ens2_i_o2_0_3), .C1(\FS[16] ), .A1(\FS[12] ), + .D0(\FS[4] ), .C0(N_51), .B0(\FS[11] ), .A0(\FS[1] ), .M1(\MAin_c[3] ), + .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), + .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); + SLICE_73 SLICE_73( .D1(InitReady), .C1(\S[1] ), .B1(RASr2), .A1(CO0), + .C0(N_155), .A0(Ready), .M1(\Din_c[2] ), .M0(\Din_c[1] ), + .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), + .F1(N_155), .Q1(CmdUFMCS)); + SLICE_74 SLICE_74( .B1(\FS[11] ), .A1(\FS[14] ), .D0(N_95_5), .C0(N_95_3), + .B0(\FS[16] ), .A0(\FS[10] ), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), + .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); + SLICE_75 SLICE_75( .D1(\Din_c[7] ), .B1(\Din_c[6] ), .A1(\Din_c[4] ), + .D0(\Din_c[1] ), .C0(N_128), .B0(\Din_c[5] ), .M1(CASr), .M0(nCCAS_c), + .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); + SLICE_76 SLICE_76( .D1(\Din_c[0] ), .B1(\Din_c[5] ), .D0(\MAin_c[0] ), + .C0(CmdEnable16_4), .B0(\Din_c[1] ), .A0(\Din_c[3] ), .M1(\Din_c[5] ), + .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), + .F1(CmdEnable16_4), .Q1(\Bank[5] )); + SLICE_77 SLICE_77( .D1(\Din_c[4] ), .A1(\Din_c[7] ), .D0(\Din_c[6] ), + .C0(\MAin_c[1] ), .B0(CmdEnable16_1), .A0(\Din_c[2] ), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), + .F1(CmdEnable16_1), .Q1(\Bank[7] )); + SLICE_78 SLICE_78( .D1(\Din_c[3] ), .B1(\Din_c[5] ), .D0(\MAin_c[1] ), + .C0(N_43), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(nCCAS_c), .M0(nCCAS_c), + .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), .Q1(CBR_fast)); + SLICE_79 SLICE_79( .D1(CASr3), .B1(CASr2), .A1(Ready), .D0(CO0), .C0(\S[1] ), + .B0(m6_0_a2_2), .A0(CBR), .M1(\Din_c[1] ), .M0(\Din_c[0] ), .CLK(nCCAS_c), + .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); + SLICE_80 SLICE_80( .D1(CASr2), .B1(CASr3), .D0(FWEr), .C0(CO0), + .B0(g4_0_0_0), .A0(CBR_fast), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), + .Q1(\RowA[9] )); + SLICE_81 SLICE_81( .D1(\FS[13] ), .C1(\FS[14] ), .B1(\FS[15] ), + .A1(\FS[17] ), .D0(\FS[13] ), .C0(\FS[17] ), .B0(\FS[15] ), .A0(\FS[12] ), + .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), + .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); + SLICE_82 SLICE_82( .D1(\Din_c[3] ), .C1(N_128), .B1(CmdLEDEN), + .A1(\Din_c[5] ), .D0(XOR8MEG18), .C0(\Din_c[3] ), .B0(N_128), + .A0(\Din_c[5] ), .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), + .Q0(CASr3), .F1(N_132)); + SLICE_83 SLICE_83( .C1(\IS[1] ), .B1(\IS[3] ), .A1(\IS[2] ), .C0(\IS[1] ), + .B0(\IS[0] ), .A0(\IS[2] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), + .Q1(\RBA_c[1] )); + SLICE_84 SLICE_84( .D1(\FS[6] ), .C1(\FS[10] ), .B1(\FS[11] ), .A1(\FS[8] ), + .D0(\FS[7] ), .C0(\FS[10] ), .B0(\FS[1] ), .A0(\FS[6] ), .F0(N_137_6), + .F1(UFMSDI_ens2_i_a2_4_2)); + SLICE_85 SLICE_85( .D1(\Din_c[4] ), .C1(\Din_c[0] ), .B1(\Din_c[1] ), + .A1(\Din_c[7] ), .D0(\Din_c[5] ), .C0(\Din_c[4] ), .B0(\Din_c[6] ), + .A0(\Din_c[7] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), + .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); + SLICE_86 SLICE_86( .D1(nRowColSel), .A1(\MAin_c[9] ), .D0(nRowColSel), + .C0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQML_c)); + SLICE_87 SLICE_87( .D1(UFMSDI_ens2_i_a0), .B1(N_151), .A1(CmdUFMSDI), + .D0(N_151), .C0(\FS[9] ), .B0(\FS[11] ), .A0(\FS[4] ), .F0(N_137_8), + .F1(UFMSDI_r_xx_mm_1)); + SLICE_88 SLICE_88( .D1(\MAin_c[2] ), .C1(nFWE_c), .B1(\MAin_c[3] ), + .C0(nFWE_c), .A0(nCCAS_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), + .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); + SLICE_89 SLICE_89( .D1(nRowColSel), .C1(\MAin_c[9] ), .D0(nRowColSel), + .B0(\MAin_c[8] ), .A0(\RowA[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); + SLICE_90 SLICE_90( .D1(\MAin_c[0] ), .C1(\MAin_c[1] ), .B1(N_147), + .D0(\MAin_c[0] ), .B0(\RowA[0] ), .A0(nRowColSel), .F0(\RA_c[0] ), + .F1(un1_CMDWR)); + SLICE_91 SLICE_91( .D1(\MAin_c[7] ), .C1(nRowColSel), .A1(\RowA[7] ), + .D0(\RowA[1] ), .C0(nRowColSel), .B0(\MAin_c[1] ), .F0(\RA_c[1] ), + .F1(\RA_c[7] )); + SLICE_92 SLICE_92( .D1(\RowA[6] ), .C1(nRowColSel), .A1(\MAin_c[6] ), + .D0(\MAin_c[2] ), .C0(nRowColSel), .B0(\RowA[2] ), .F0(\RA_c[2] ), + .F1(\RA_c[6] )); + SLICE_93 SLICE_93( .C1(\MAin_c[5] ), .B1(\RowA[5] ), .A1(nRowColSel), + .D0(\MAin_c[3] ), .B0(nRowColSel), .A0(\RowA[3] ), .F0(\RA_c[3] ), + .F1(\RA_c[5] )); + SLICE_94 SLICE_94( .B1(N_155), .A1(Ready), .C0(\S[1] ), .A0(Ready), + .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), + .Q0(\RA_c[10] ), .F1(N_159_i)); + RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), + .RD0(RD[0])); + Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); + PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); + UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); + UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); + UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); + nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); + RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); + RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); + nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); + nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); + nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); + RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); + RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); + nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); + RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), + .RD7(RD[7])); + RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), + .RD6(RD[6])); + RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), + .RD5(RD[5])); + RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), + .RD4(RD[4])); + RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), + .RD3(RD[3])); + RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), + .RD2(RD[2])); + RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), + .RD1(RD[1])); + RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); + RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); + RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); + RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); + RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); + RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); + RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); + RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); + RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); + RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); + RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); + RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); + RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); + RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); + LED LED_I( .PADDO(LED_c), .LED(LED)); + nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); + nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); + nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); + Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); + Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); + Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); + Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); + Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); + Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); + Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); + Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); + Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); + Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); + Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); + Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); + Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); + Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); + Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); + CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); + CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); + MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); + MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); + MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); + MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); + MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); + MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); + MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); + MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); + MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); + MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); + VHI VHI_INST( .Z(VCCI)); + PUR PUR_INST( .PUR(VCCI)); + GSR GSR_INST( .GSR(VCCI)); + VLO VLO_INST( .Z(GNDI_TSALL)); + TSALL TSALL_INST( .TSALL(GNDI_TSALL)); +endmodule + +module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); + wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , + A1_dly, CLK_dly, A0_dly; + + vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), + .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + endspecify + +endmodule + +module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module vcc ( output PWR1 ); + + VHI INST1( .Z(PWR1)); +endmodule + +module gnd ( output PWR0 ); + + VLO INST1( .Z(PWR0)); +endmodule + +module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h300a; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); + wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), + .CO1()); + + specify + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h5002; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; + + lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut4 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40002 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3130) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module inverter ( input I, output Z ); + + INV INST1( .A(I), .Z(Z)); +endmodule + +module SLICE_14 ( input D1, C1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40003 CmdEnable16_0_a2( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40003 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40004 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF4FC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_19 ( input D1, C1, B1, A1, C0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40006 \S_RNO[0] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40005 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40006 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF5F5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_20 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); + wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, + CLK_NOTIN, DI0_dly, CLK_dly; + + lut40008 SLICE_20_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(\SLICE_20/SLICE_20_K1_H1 )); + gnd DRIVEGND( .PWR0(GNDI)); + lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); + vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), + .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40008 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40009 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEA0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module selmux2 ( input D0, D1, SD, output Z ); + + MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); +endmodule + +module SLICE_21 ( input D1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40010 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0044) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40011 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0023) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_22 ( input D1, C1, B1, A1, C0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40012 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40013 CmdSubmitted_RNO( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40012 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40013 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_26 ( input D1, C1, B1, A1, D0, C0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40014 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40015 Cmdn8MEGEN_RNO( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40014 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40015 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0F05) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_29 ( input D1, C1, B1, A1, D0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40016 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40017 \IS_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40016 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF54) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40017 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEE11) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_30 ( input D1, B1, A1, D0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40018 \IS_RNO[2] ( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40019 IS_n1_0_x2( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40018 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h66AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40019 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h55AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40020 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40021 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40020 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40021 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_32 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40022 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40023 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40022 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5155) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40023 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_33 ( input D1, C1, A1, D0, C0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40024 LED_pad_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40025 LEDEN_5_i_m2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40024 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFAF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40025 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA0AF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_39 ( input D1, A1, D0, C0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40026 XOR8MEG_3_u_0_a3_0( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40027 RA11_2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40026 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40027 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA5AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40028 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40029 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40028 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2DAD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40029 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40030 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40031 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40030 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40031 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFE50) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40032 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40033 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40032 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3704) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40033 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF2F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_44 ( input D1, C1, B1, A1, C0, A0, DI0, M1, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40034 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40013 Ready_fast_RNO( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40034 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_50 ( input D1, C1, B1, C0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40035 nRowColSel_RNO( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40013 \S_0_i_o2[1] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40035 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40036 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40037 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40036 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hABEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40037 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1302) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40038 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40039 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40038 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h33B3) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40039 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_55 ( input D0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40040 \un9_RA[4] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40040 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEE22) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_56 ( input D1, C1, B1, A1, D0, C0, B0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40041 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40042 UFMSDI_ens2_i_o2( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40041 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40042 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3C0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40043 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40044 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40043 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40044 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_58 ( input D1, C1, A1, D0, C0, B0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40045 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40046 n8MEGEN_5_i_m2( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40045 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40046 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hC0CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40047 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40048 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0049 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40047 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3F1D) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40048 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5510) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0049 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40050 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40051 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0049 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40050 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBFF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40051 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3233) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40052 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40053 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0049 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40052 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00C8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40053 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3031) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40054 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40055 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0049 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40054 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40055 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF2F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output + F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40056 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40057 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40056 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40057 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF4F8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40058 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40059 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0049 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40058 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40059 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDDFC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output + OFX0 ); + wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , + \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; + + lut40060 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); + lut40061 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); + selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( + .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), + .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (C1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40060 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40061 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_66 ( input D1, C1, B1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40062 nUFMCS_s_0_N_5_i_N_2L1( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40063 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40062 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0F03) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40063 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40064 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40065 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0066 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40064 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40065 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0066 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40067 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40068 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40067 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40068 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40069 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40070 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40069 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40070 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF8F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_70 ( input D1, C1, B1, A1, C0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40071 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40072 C1WR_0_a2( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40071 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40072 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA0A0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; + + lut40073 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40074 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40073 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40074 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_72 ( input D1, C1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40075 UFMSDI_ens2_i_o2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40076 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40075 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40076 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hACA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_73 ( input D1, C1, B1, A1, C0, A0, M1, M0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; + + lut40077 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40013 IS_0_sqmuxa_0_o2( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40077 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFBFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_74 ( input B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; + + lut40078 InitReady3_0_a2_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40079 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40078 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40079 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_75 ( input D1, B1, A1, D0, C0, B0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40080 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40081 CmdLEDEN_4_u_i_a2_0( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40080 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40081 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0003) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_76 ( input D1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40082 CmdEnable16_0_a2_4( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40083 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40082 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40083 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_77 ( input D1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40084 CmdEnable16_0_a2_1( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40085 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40084 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40085 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_78 ( input D1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40086 CmdEnable17_0_o2( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40087 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40086 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h33FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40087 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_79 ( input D1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40088 nRWE_RNO_2( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40089 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40088 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0088) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40089 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_80 ( input D1, B1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40082 nRCAS_RNO_1( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40090 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0066 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40090 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40091 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40092 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40091 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40092 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, + F1 ); + wire VCCI, GNDI, M0_dly, CLK_dly; + + lut40093 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40094 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40093 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3230) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40094 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_83 ( input C1, B1, A1, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40095 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40096 Ready_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40095 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40096 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40097 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40098 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40097 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40098 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40099 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40100 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40099 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40100 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_86 ( input D1, A1, D0, C0, A0, output F0, F1 ); + wire GNDI; + + lut40101 RDQML( .A(A1), .B(GNDI), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40102 \un9_RA[9] ( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40101 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h55FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40102 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAAF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_87 ( input D1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40103 UFMSDI_RNO_0( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40104 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40103 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00EE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40104 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_88 ( input D1, C1, B1, C0, A0, M1, M0, LSR, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40105 C1WR_0_a2_0_3( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40106 nCCAS_pad_RNI01SJ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40105 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0C00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40106 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_89 ( input D1, C1, D0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40107 RDQMH( .A(GNDI), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40108 \un9_RA[8] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40107 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF0FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40108 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCCAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_90 ( input D1, C1, B1, D0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40109 un1_CMDWR( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40110 \un9_RA[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40109 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCCC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40110 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEE44) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_91 ( input D1, C1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40111 \un9_RA[7] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40112 \un9_RA[1] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40111 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFA0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40112 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCFC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_92 ( input D1, C1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40113 \un9_RA[6] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40114 \un9_RA[2] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40113 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAFA0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40114 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFC0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_93 ( input C1, B1, A1, D0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40115 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40040 \un9_RA[3] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40115 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hE4E4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_94 ( input B1, A1, C0, A0, M0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; + + lut40116 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40072 RCKEEN_8_u_0_a2_1_s( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0066 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40116 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); + + mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); + + specify + (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD0) = (0:0:0,0:0:0); + (RD0 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD0, 0:0:0); + $width (negedge RD0, 0:0:0); + endspecify + +endmodule + +module mjiobuf ( input I, T, output Z, PAD, input PADI ); + + IB INST1( .I(PADI), .O(Z)); + OBW INST2( .I(I), .T(T), .O(PAD)); +endmodule + +module Dout_0_ ( input PADDO, output Dout0 ); + + mjiobuf0117 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); + + specify + (PADDO => Dout0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0117 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module PHI2 ( output PADDI, input PHI2 ); + + mjiobuf0118 PHI2_pad( .Z(PADDI), .PAD(PHI2)); + + specify + (PHI2 => PADDI) = (0:0:0,0:0:0); + $width (posedge PHI2, 0:0:0); + $width (negedge PHI2, 0:0:0); + endspecify + +endmodule + +module mjiobuf0118 ( output Z, input PAD ); + + IBPD INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDO ( output PADDI, input UFMSDO ); + + mjiobuf0119 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); + + specify + (UFMSDO => PADDI) = (0:0:0,0:0:0); + $width (posedge UFMSDO, 0:0:0); + $width (negedge UFMSDO, 0:0:0); + endspecify + +endmodule + +module mjiobuf0119 ( output Z, input PAD ); + + IB INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDI ( input PADDO, output UFMSDI ); + + mjiobuf0120 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); + + specify + (PADDO => UFMSDI) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0120 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module UFMCLK ( input PADDO, output UFMCLK ); + + mjiobuf0120 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); + + specify + (PADDO => UFMCLK) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nUFMCS ( input PADDO, output nUFMCS ); + + mjiobuf0120 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); + + specify + (PADDO => nUFMCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQML ( input PADDO, output RDQML ); + + mjiobuf0120 RDQML_pad( .I(PADDO), .PAD(RDQML)); + + specify + (PADDO => RDQML) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQMH ( input PADDO, output RDQMH ); + + mjiobuf0120 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); + + specify + (PADDO => RDQMH) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS ( input PADDO, output nRCAS ); + + mjiobuf0120 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); + + specify + (PADDO => nRCAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRRAS ( input PADDO, output nRRAS ); + + mjiobuf0120 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); + + specify + (PADDO => nRRAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRWE ( input PADDO, output nRWE ); + + mjiobuf0120 nRWE_pad( .I(PADDO), .PAD(nRWE)); + + specify + (PADDO => nRWE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCKE ( input PADDO, output RCKE ); + + mjiobuf0120 RCKE_pad( .I(PADDO), .PAD(RCKE)); + + specify + (PADDO => RCKE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCLK ( output PADDI, input RCLK ); + + mjiobuf0119 RCLK_pad( .Z(PADDI), .PAD(RCLK)); + + specify + (RCLK => PADDI) = (0:0:0,0:0:0); + $width (posedge RCLK, 0:0:0); + $width (negedge RCLK, 0:0:0); + endspecify + +endmodule + +module nRCS ( input PADDO, output nRCS ); + + mjiobuf0120 nRCS_pad( .I(PADDO), .PAD(nRCS)); + + specify + (PADDO => nRCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); + + mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); + + specify + (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD7) = (0:0:0,0:0:0); + (RD7 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD7, 0:0:0); + $width (negedge RD7, 0:0:0); + endspecify + +endmodule + +module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); + + mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); + + specify + (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD6) = (0:0:0,0:0:0); + (RD6 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD6, 0:0:0); + $width (negedge RD6, 0:0:0); + endspecify + +endmodule + +module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); + + mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); + + specify + (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD5) = (0:0:0,0:0:0); + (RD5 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD5, 0:0:0); + $width (negedge RD5, 0:0:0); + endspecify + +endmodule + +module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); + + mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); + + specify + (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD4) = (0:0:0,0:0:0); + (RD4 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD4, 0:0:0); + $width (negedge RD4, 0:0:0); + endspecify + +endmodule + +module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); + + mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); + + specify + (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD3) = (0:0:0,0:0:0); + (RD3 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD3, 0:0:0); + $width (negedge RD3, 0:0:0); + endspecify + +endmodule + +module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); + + mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); + + specify + (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD2) = (0:0:0,0:0:0); + (RD2 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD2, 0:0:0); + $width (negedge RD2, 0:0:0); + endspecify + +endmodule + +module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); + + mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); + + specify + (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD1) = (0:0:0,0:0:0); + (RD1 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD1, 0:0:0); + $width (negedge RD1, 0:0:0); + endspecify + +endmodule + +module RA_11_ ( input PADDO, output RA11 ); + + mjiobuf0120 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); + + specify + (PADDO => RA11) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_10_ ( input PADDO, output RA10 ); + + mjiobuf0120 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); + + specify + (PADDO => RA10) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_9_ ( input PADDO, output RA9 ); + + mjiobuf0120 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); + + specify + (PADDO => RA9) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_8_ ( input PADDO, output RA8 ); + + mjiobuf0120 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); + + specify + (PADDO => RA8) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_7_ ( input PADDO, output RA7 ); + + mjiobuf0120 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); + + specify + (PADDO => RA7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_6_ ( input PADDO, output RA6 ); + + mjiobuf0120 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); + + specify + (PADDO => RA6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_5_ ( input PADDO, output RA5 ); + + mjiobuf0120 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); + + specify + (PADDO => RA5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_4_ ( input PADDO, output RA4 ); + + mjiobuf0120 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); + + specify + (PADDO => RA4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_3_ ( input PADDO, output RA3 ); + + mjiobuf0120 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); + + specify + (PADDO => RA3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_2_ ( input PADDO, output RA2 ); + + mjiobuf0120 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); + + specify + (PADDO => RA2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_1_ ( input PADDO, output RA1 ); + + mjiobuf0120 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); + + specify + (PADDO => RA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_0_ ( input PADDO, output RA0 ); + + mjiobuf0120 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); + + specify + (PADDO => RA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1_ ( input PADDO, output RBA1 ); + + mjiobuf0120 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); + + specify + (PADDO => RBA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_0_ ( input PADDO, output RBA0 ); + + mjiobuf0120 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); + + specify + (PADDO => RBA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module LED ( input PADDO, output LED ); + + mjiobuf0121 LED_pad( .I(PADDO), .PAD(LED)); + + specify + (PADDO => LED) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0121 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module nFWE ( output PADDI, input nFWE ); + + mjiobuf0119 nFWE_pad( .Z(PADDI), .PAD(nFWE)); + + specify + (nFWE => PADDI) = (0:0:0,0:0:0); + $width (posedge nFWE, 0:0:0); + $width (negedge nFWE, 0:0:0); + endspecify + +endmodule + +module nCRAS ( output PADDI, input nCRAS ); + + mjiobuf0122 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); + + specify + (nCRAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCRAS, 0:0:0); + $width (negedge nCRAS, 0:0:0); + endspecify + +endmodule + +module mjiobuf0122 ( output Z, input PAD ); + + IBPU INST1( .I(PAD), .O(Z)); +endmodule + +module nCCAS ( output PADDI, input nCCAS ); + + mjiobuf0122 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); + + specify + (nCCAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCCAS, 0:0:0); + $width (negedge nCCAS, 0:0:0); + endspecify + +endmodule + +module Dout_7_ ( input PADDO, output Dout7 ); + + mjiobuf0117 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); + + specify + (PADDO => Dout7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_6_ ( input PADDO, output Dout6 ); + + mjiobuf0117 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); + + specify + (PADDO => Dout6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_5_ ( input PADDO, output Dout5 ); + + mjiobuf0117 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); + + specify + (PADDO => Dout5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_4_ ( input PADDO, output Dout4 ); + + mjiobuf0117 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); + + specify + (PADDO => Dout4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_3_ ( input PADDO, output Dout3 ); + + mjiobuf0117 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); + + specify + (PADDO => Dout3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_2_ ( input PADDO, output Dout2 ); + + mjiobuf0117 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); + + specify + (PADDO => Dout2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_1_ ( input PADDO, output Dout1 ); + + mjiobuf0117 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); + + specify + (PADDO => Dout1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Din_7_ ( output PADDI, input Din7 ); + + mjiobuf0119 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); + + specify + (Din7 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din7, 0:0:0); + $width (negedge Din7, 0:0:0); + endspecify + +endmodule + +module Din_6_ ( output PADDI, input Din6 ); + + mjiobuf0119 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); + + specify + (Din6 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din6, 0:0:0); + $width (negedge Din6, 0:0:0); + endspecify + +endmodule + +module Din_5_ ( output PADDI, input Din5 ); + + mjiobuf0119 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); + + specify + (Din5 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din5, 0:0:0); + $width (negedge Din5, 0:0:0); + endspecify + +endmodule + +module Din_4_ ( output PADDI, input Din4 ); + + mjiobuf0119 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); + + specify + (Din4 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din4, 0:0:0); + $width (negedge Din4, 0:0:0); + endspecify + +endmodule + +module Din_3_ ( output PADDI, input Din3 ); + + mjiobuf0119 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); + + specify + (Din3 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din3, 0:0:0); + $width (negedge Din3, 0:0:0); + endspecify + +endmodule + +module Din_2_ ( output PADDI, input Din2 ); + + mjiobuf0119 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); + + specify + (Din2 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din2, 0:0:0); + $width (negedge Din2, 0:0:0); + endspecify + +endmodule + +module Din_1_ ( output PADDI, input Din1 ); + + mjiobuf0119 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); + + specify + (Din1 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din1, 0:0:0); + $width (negedge Din1, 0:0:0); + endspecify + +endmodule + +module Din_0_ ( output PADDI, input Din0 ); + + mjiobuf0119 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); + + specify + (Din0 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din0, 0:0:0); + $width (negedge Din0, 0:0:0); + endspecify + +endmodule + +module CROW_1_ ( output PADDI, input CROW1 ); + + mjiobuf0119 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); + + specify + (CROW1 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW1, 0:0:0); + $width (negedge CROW1, 0:0:0); + endspecify + +endmodule + +module CROW_0_ ( output PADDI, input CROW0 ); + + mjiobuf0119 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); + + specify + (CROW0 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW0, 0:0:0); + $width (negedge CROW0, 0:0:0); + endspecify + +endmodule + +module MAin_9_ ( output PADDI, input MAin9 ); + + mjiobuf0119 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); + + specify + (MAin9 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin9, 0:0:0); + $width (negedge MAin9, 0:0:0); + endspecify + +endmodule + +module MAin_8_ ( output PADDI, input MAin8 ); + + mjiobuf0119 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); + + specify + (MAin8 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin8, 0:0:0); + $width (negedge MAin8, 0:0:0); + endspecify + +endmodule + +module MAin_7_ ( output PADDI, input MAin7 ); + + mjiobuf0119 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); + + specify + (MAin7 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin7, 0:0:0); + $width (negedge MAin7, 0:0:0); + endspecify + +endmodule + +module MAin_6_ ( output PADDI, input MAin6 ); + + mjiobuf0119 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); + + specify + (MAin6 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin6, 0:0:0); + $width (negedge MAin6, 0:0:0); + endspecify + +endmodule + +module MAin_5_ ( output PADDI, input MAin5 ); + + mjiobuf0119 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); + + specify + (MAin5 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin5, 0:0:0); + $width (negedge MAin5, 0:0:0); + endspecify + +endmodule + +module MAin_4_ ( output PADDI, input MAin4 ); + + mjiobuf0119 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); + + specify + (MAin4 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin4, 0:0:0); + $width (negedge MAin4, 0:0:0); + endspecify + +endmodule + +module MAin_3_ ( output PADDI, input MAin3 ); + + mjiobuf0119 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); + + specify + (MAin3 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin3, 0:0:0); + $width (negedge MAin3, 0:0:0); + endspecify + +endmodule + +module MAin_2_ ( output PADDI, input MAin2 ); + + mjiobuf0119 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); + + specify + (MAin2 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin2, 0:0:0); + $width (negedge MAin2, 0:0:0); + endspecify + +endmodule + +module MAin_1_ ( output PADDI, input MAin1 ); + + mjiobuf0119 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); + + specify + (MAin1 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin1, 0:0:0); + $width (negedge MAin1, 0:0:0); + endspecify + +endmodule + +module MAin_0_ ( output PADDI, input MAin0 ); + + mjiobuf0119 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); + + specify + (MAin0 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin0, 0:0:0); + $width (negedge MAin0, 0:0:0); + endspecify + +endmodule diff --git a/CPLD/LCMXO256C/impl1/automake.log b/CPLD/LCMXO256C/impl1/automake.log index 68dd2e3..86f7796 100644 --- a/CPLD/LCMXO256C/impl1/automake.log +++ b/CPLD/LCMXO256C/impl1/automake.log @@ -1,2244 +1,490 @@ -synpwrap -msg -prj "RAM2GS_LCMXO256C_impl1_synplify.tcl" -log "RAM2GS_LCMXO256C_impl1.srf" -Copyright (C) 1992-2020 Lattice Semiconductor Corporation. All rights reserved. -Lattice Diamond Version 3.12.1.454 - - -==contents of RAM2GS_LCMXO256C_impl1.srf -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 -#install: C:\lscc\diamond\3.12\synpbase -#OS: Windows 8 6.2 -#Hostname: ZANEPC - -# Wed Aug 16 04:50:31 2023 - -#Implementation: impl1 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:32 2023 - -###########################################################] -# Wed Aug 16 04:50:33 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:34 2023 - -###########################################################] -# Wed Aug 16 04:50:35 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:01s -2.99ns 128 / 92 - - - 8 0h:00m:01s -2.99ns 127 / 92 - 9 0h:00m:01s -3.09ns 127 / 92 - 10 0h:00m:01s -3.19ns 127 / 92 - 11 0h:00m:01s -3.19ns 127 / 92 - 12 0h:00m:01s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 142MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:38 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo256c-3 - -Register bits: 92 of 256 (36%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 04:50:38 2023 - -###########################################################] - - -Synthesis exit by 0. - -edif2ngd -l "MachXO" -d LCMXO256C -path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1" -path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi" "RAM2GS_LCMXO256C_impl1.ngo" -edif2ngd: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Writing the design to RAM2GS_LCMXO256C_impl1.ngo... - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 11 MB - - -ngdbuild -a "MachXO" -d LCMXO256C -p "C:/lscc/diamond/3.12/ispfpga/mj5g00/data" -p "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1" -p "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C" "RAM2GS_LCMXO256C_impl1.ngo" "RAM2GS_LCMXO256C_impl1.ngd" -ngdbuild: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Reading 'RAM2GS_LCMXO256C_impl1.ngo' ... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/mj5g00/data/mj5glib.ngl'... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/mg5g00/data/mg5glib.ngl'... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/or5g00/data/orc5glib.ngl'... - - -Running DRC... - - - - - - - - - - - - - -Design Results: - 300 blocks expanded -Complete the first expansion. -Writing 'RAM2GS_LCMXO256C_impl1.ngd' ... -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 18 MB - - -map -a "MachXO" -p LCMXO256C -t TQFP100 -s 3 -oc Commercial -ioreg b "RAM2GS_LCMXO256C_impl1.ngd" -o "RAM2GS_LCMXO256C_impl1_map.ncd" -pr "RAM2GS_LCMXO256C_impl1.prf" -mp "RAM2GS_LCMXO256C_impl1.mrp" -lpf "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf" -lpf "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf" -c 0 -map: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - Process the file: RAM2GS_LCMXO256C_impl1.ngd - Picdevice="LCMXO256C" - - Pictype="TQFP100" - - Picspeed=3 - - Remove unused logic - - Do not produce over sized NCDs. - -Part used: LCMXO256CTQFP100, Performance used: 3. - -Loading device for application map from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Running general design DRC... - -Removing unused logic... - -Optimizing... - - - - -Design Summary: - Number of PFU registers: 92 out of 256 (36%) - Number of SLICEs: 69 out of 128 (54%) - SLICEs as Logic/ROM: 69 out of 128 (54%) - SLICEs as RAM: 0 out of 64 (0%) - SLICEs as Carry: 9 out of 128 (7%) - Number of LUT4s: 137 out of 256 (54%) - Number used as logic LUTs: 119 - Number used as distributed RAM: 0 - Number used as ripple logic: 18 - Number used as shift registers: 0 - Number of external PIOs: 67 out of 78 (86%) - Number of GSRs: 0 out of 1 (0%) - JTAG used : No - Readback used : No - Oscillator used : No - Startup used : No - Number of TSALL: 0 out of 1 (0%) - Notes:- - 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of distributed RAMs) + 2*(Number of ripple logic) - 2. Number of logic LUT4s does not include count of distributed RAM and ripple logic. - Number of clocks: 4 - Net PHI2_c: 14 loads, 5 rising, 9 falling (Driver: PIO PHI2 ) - Net RCLK_c: 32 loads, 32 rising, 0 falling (Driver: PIO RCLK ) - Net nCRAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 5 - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_31: 1 loads, 1 LSLICEs - Net N_33: 1 loads, 1 LSLICEs - Net N_159_i: 2 loads, 2 LSLICEs - Net CmdUFMCLK_1_sqmuxa: 2 loads, 2 LSLICEs - Number of LSRs: 4 - Net RA10s_i: 1 loads, 1 LSLICEs - Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs - Net RASr2: 2 loads, 2 LSLICEs - Net Ready_fast: 7 loads, 7 LSLICEs - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 16 loads - Net Ready: 16 loads - Net S[1]: 13 loads - Net CO0: 12 loads - Net nRowColSel: 12 loads - Net RASr2: 11 loads - Net Din_c[5]: 10 loads - Net Din_c[3]: 9 loads - Net IS[0]: 9 loads - Net MAin_c[1]: 8 loads - - - Number of warnings: 0 - Number of errors: 0 - - - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 29 MB - -Dumping design to file RAM2GS_LCMXO256C_impl1_map.ncd. - -ncd2eqn "RAM2GS_LCMXO256C_impl1_map.ncd" -ncd2eqn: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Start loading RAM2GS_LCMXO256C_impl1_map.ncd. - -Loading design for application ncd2eqn from file RAM2GS_LCMXO256C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application ncd2eqn from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Finish loading RAM2GS_LCMXO256C_impl1_map.ncd. -ncd2eqn runs successfully. - -trce -f "RAM2GS_LCMXO256C_impl1.mt" -o "RAM2GS_LCMXO256C_impl1.tw1" "RAM2GS_LCMXO256C_impl1_map.ncd" "RAM2GS_LCMXO256C_impl1.prf" -trce: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Loading design for application trce from file ram2gs_lcmxo256c_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application trce from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Setup and Hold Report - --------------------------------------------------------------------------------- -Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:40 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO256C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.prf -Design file: ram2gs_lcmxo256c_impl1_map.ncd -Preference file: ram2gs_lcmxo256c_impl1.prf -Device,speed: LCMXO256C,3 -Report level: verbose report, limited to 1 item per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Setup): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) - --------------------------------------------------------------------------------- -Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:40 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO256C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.prf -Design file: ram2gs_lcmxo256c_impl1_map.ncd -Preference file: ram2gs_lcmxo256c_impl1.prf -Device,speed: LCMXO256C,M -Report level: verbose report, limited to 1 item per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Hold): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) - - - -Timing summary (Setup and Hold): ---------------- - -Timing errors: 0 (setup), 0 (hold) -Score: 0 (setup), 0 (hold) -Cumulative negative slack: 0 (0+0) --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 30 MB - - -ldbanno "RAM2GS_LCMXO256C_impl1_map.ncd" -n Verilog -o "RAM2GS_LCMXO256C_impl1_mapvo.vo" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a Verilog netlist using the orca library type based on the RAM2GS_LCMXO256C_impl1_map design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO256C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO256C_impl1_map.ncd into .ldb format. -Writing Verilog netlist to file RAM2GS_LCMXO256C_impl1_mapvo.vo -Writing SDF timing to file RAM2GS_LCMXO256C_impl1_mapvo.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 29 MB - -ldbanno "RAM2GS_LCMXO256C_impl1_map.ncd" -n VHDL -o "RAM2GS_LCMXO256C_impl1_mapvho.vho" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a VHDL netlist using the orca library type based on the RAM2GS_LCMXO256C_impl1_map design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO256C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO256C_impl1_map.ncd into .ldb format. -Writing VHDL netlist to file RAM2GS_LCMXO256C_impl1_mapvho.vho -Writing SDF timing to file RAM2GS_LCMXO256C_impl1_mapvho.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 29 MB - -mpartrce -p "RAM2GS_LCMXO256C_impl1.p2t" -f "RAM2GS_LCMXO256C_impl1.p3t" -tf "RAM2GS_LCMXO256C_impl1.pt" "RAM2GS_LCMXO256C_impl1_map.ncd" "RAM2GS_LCMXO256C_impl1.ncd" - ----- MParTrce Tool ---- -Removing old design directory at request of -rem command line option to this program. -Running par. Please wait . . . - -Lattice Place and Route Report for Design "RAM2GS_LCMXO256C_impl1_map.ncd" -Wed Aug 16 04:50:41 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir/5_1.ncd RAM2GS_LCMXO256C_impl1.prf -Preference file: RAM2GS_LCMXO256C_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file RAM2GS_LCMXO256C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application par from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 67/79 84% used - 67/78 85% bonded - SLICE 69/128 53% used - - - -Number of Signals: 251 -Number of Connections: 633 - -Pin Constraint Summary: - 67 out of 67 pins locked (100% locked). - -The following 2 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 32) - PHI2_c (driver: PHI2, clk load #: 14) - -The following 1 signal is selected to use the secondary clock routing resources: - nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) - -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -........ -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -................. -Placer score = 582801. -Finished Placer Phase 1. REAL time: 6 secs - -Starting Placer Phase 2. -. -Placer score = 582334 -Finished Placer Phase 2. REAL time: 6 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 1 out of 4 (25%) - General PIO: 1 out of 80 (1%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT4A)", clk load = 32 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB3D)", clk load = 14 - SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB4A)", clk load = 8, ce load = 0, sr load = 0 - - PRIMARY : 2 out of 4 (50%) - SECONDARY: 1 out of 4 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 67 out of 79 (84.8%) PIO sites used. - 67 out of 78 (85.9%) bonded PIO sites used. - Number of PIO comps: 67; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+------------+------------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | -+----------+----------------+------------+------------+------------+ -| 0 | 36 / 41 ( 87%) | 3.3V | - | - | -| 1 | 31 / 37 ( 83%) | 3.3V | - | - | -+----------+----------------+------------+------------+------------+ - -Total placer CPU time: 5 secs - -Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. - -0 connections routed; 633 unrouted. -Starting router resource preassignment - - - - - -Completed router resource preassignment. Real time: 6 secs - -Start NBR router at 04:50:47 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 04:50:47 08/16/23 - -Start NBR section for initial routing at 04:50:47 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 545(86.10%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 6 secs -Level 2, iteration 1 -0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 6 secs -Level 3, iteration 1 -0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.405ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -10(0.08%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 04:50:47 08/16/23 -Level 4, iteration 1 -5(0.04%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs -Level 4, iteration 2 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:47 08/16/23 - -Start NBR section for re-routing at 04:50:47 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Start NBR section for post-routing at 04:50:47 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 8.213ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - - - -Total CPU time 5 secs -Total REAL time: 6 secs -Completely routed. -End of route. 633 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 8.213 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.273 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 5 secs -Total REAL time to completion: 6 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Exiting par with exit code 0 -Exiting mpartrce with exit code 0 - -trce -f "RAM2GS_LCMXO256C_impl1.pt" -o "RAM2GS_LCMXO256C_impl1.twr" "RAM2GS_LCMXO256C_impl1.ncd" "RAM2GS_LCMXO256C_impl1.prf" -trce: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Loading design for application trce from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application trce from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Setup and Hold Report - --------------------------------------------------------------------------------- -Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:48 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO256C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf -Design file: ram2gs_lcmxo256c_impl1.ncd -Preference file: ram2gs_lcmxo256c_impl1.prf -Device,speed: LCMXO256C,3 -Report level: verbose report, limited to 10 items per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Setup): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 420 connections (66.35% coverage) - --------------------------------------------------------------------------------- -Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:48 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO256C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf -Design file: ram2gs_lcmxo256c_impl1.ncd -Preference file: ram2gs_lcmxo256c_impl1.prf -Device,speed: LCMXO256C,m -Report level: verbose report, limited to 10 items per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Hold): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 420 connections (66.35% coverage) - - - -Timing summary (Setup and Hold): ---------------- - -Timing errors: 0 (setup), 0 (hold) -Score: 0 (setup), 0 (hold) -Cumulative negative slack: 0 (0+0) --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 31 MB - - -iotiming "RAM2GS_LCMXO256C_impl1.ncd" "RAM2GS_LCMXO256C_impl1.prf" -I/O Timing Report: -: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application iotiming from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: 3 -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... - -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 4 -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: 4 -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... - -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 5 -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: 5 -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... - -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: M -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: M -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... -Done. - ibisgen "RAM2GS_LCMXO256C_impl1.pad" "C:/lscc/diamond/3.12/cae_library/ibis/machxo.ibs" -IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 - -Wed Aug 16 04:50:48 2023 - -Comp: CROW[0] - Site: 32 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: CROW[1] - Site: 34 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[0] - Site: 21 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[1] - Site: 15 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[2] - Site: 14 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[3] - Site: 16 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[4] - Site: 18 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[5] - Site: 17 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[6] - Site: 20 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[7] - Site: 19 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Dout[0] - Site: 1 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[1] - Site: 7 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[2] - Site: 8 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[3] - Site: 6 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[4] - Site: 4 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[5] - Site: 5 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[6] - Site: 2 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[7] - Site: 3 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: LED - Site: 57 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=14mA - SLEW=SLOW ------------------------ -Comp: MAin[0] - Site: 23 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[1] - Site: 38 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[2] - Site: 37 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[3] - Site: 47 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[4] - Site: 46 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[5] - Site: 45 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[6] - Site: 49 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[7] - Site: 44 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[8] - Site: 50 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[9] - Site: 51 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: PHI2 - Site: 39 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=DOWN ------------------------ -Comp: RA[0] - Site: 98 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[10] - Site: 87 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[11] - Site: 79 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[1] - Site: 89 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[2] - Site: 94 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[3] - Site: 97 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[4] - Site: 99 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[5] - Site: 95 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[6] - Site: 91 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[7] - Site: 100 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[8] - Site: 96 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[9] - Site: 85 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RBA[0] - Site: 63 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RBA[1] - Site: 83 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RCKE - Site: 82 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RCLK - Site: 86 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: RDQMH - Site: 76 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RDQML - Site: 61 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RD[0] - Site: 64 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[1] - Site: 65 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[2] - Site: 66 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[3] - Site: 67 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[4] - Site: 68 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[5] - Site: 69 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[6] - Site: 70 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[7] - Site: 71 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: UFMCLK - Site: 58 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: UFMSDI - Site: 56 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: UFMSDO - Site: 55 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: nCCAS - Site: 27 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=UP ------------------------ -Comp: nCRAS - Site: 43 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=UP ------------------------ -Comp: nFWE - Site: 22 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: nRCAS - Site: 78 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nRCS - Site: 77 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nRRAS - Site: 73 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nRWE - Site: 72 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nUFMCS - Site: 53 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Created design models. - - -Generating: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\IBIS\RAM2GS_LCMXO256C_im~.ibs - - - - -ldbanno "RAM2GS_LCMXO256C_impl1.ncd" -n Verilog -o "RAM2GS_LCMXO256C_impl1_vo.vo" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a Verilog netlist using the orca library type based on the RAM2GS_LCMXO256C_impl1 design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO256C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO256C_impl1.ncd into .ldb format. -Loading preferences from ram2gs_lcmxo256c_impl1.prf. -Writing Verilog netlist to file RAM2GS_LCMXO256C_impl1_vo.vo -Writing SDF timing to file RAM2GS_LCMXO256C_impl1_vo.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 31 MB - -ldbanno "RAM2GS_LCMXO256C_impl1.ncd" -n VHDL -o "RAM2GS_LCMXO256C_impl1_vho.vho" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a VHDL netlist using the orca library type based on the RAM2GS_LCMXO256C_impl1 design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO256C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO256C_impl1.ncd into .ldb format. -Loading preferences from ram2gs_lcmxo256c_impl1.prf. -Writing VHDL netlist to file RAM2GS_LCMXO256C_impl1_vho.vho -Writing SDF timing to file RAM2GS_LCMXO256C_impl1_vho.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 31 MB +IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 + +Sun Aug 20 05:55:46 2023 + +Comp: CROW[0] + Site: 32 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: CROW[1] + Site: 34 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[0] + Site: 21 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[1] + Site: 15 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[2] + Site: 14 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[3] + Site: 16 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[4] + Site: 18 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[5] + Site: 17 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[6] + Site: 20 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[7] + Site: 19 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Dout[0] + Site: 1 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[1] + Site: 7 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[2] + Site: 8 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[3] + Site: 6 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[4] + Site: 4 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[5] + Site: 5 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[6] + Site: 2 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[7] + Site: 3 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: LED + Site: 57 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=14mA + SLEW=SLOW +----------------------- +Comp: MAin[0] + Site: 23 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[1] + Site: 38 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[2] + Site: 37 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[3] + Site: 47 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[4] + Site: 46 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[5] + Site: 45 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[6] + Site: 49 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[7] + Site: 44 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[8] + Site: 50 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[9] + Site: 51 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: PHI2 + Site: 39 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=DOWN +----------------------- +Comp: RA[0] + Site: 98 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[10] + Site: 87 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[11] + Site: 79 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[1] + Site: 89 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[2] + Site: 94 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[3] + Site: 97 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[4] + Site: 99 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[5] + Site: 95 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[6] + Site: 91 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[7] + Site: 100 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[8] + Site: 96 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[9] + Site: 85 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RBA[0] + Site: 63 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RBA[1] + Site: 83 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RCKE + Site: 82 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RCLK + Site: 86 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: RDQMH + Site: 76 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RDQML + Site: 61 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RD[0] + Site: 64 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[1] + Site: 65 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[2] + Site: 66 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[3] + Site: 67 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[4] + Site: 68 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[5] + Site: 69 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[6] + Site: 70 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[7] + Site: 71 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: UFMCLK + Site: 58 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: UFMSDI + Site: 56 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: UFMSDO + Site: 55 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: nCCAS + Site: 27 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=UP +----------------------- +Comp: nCRAS + Site: 43 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=UP +----------------------- +Comp: nFWE + Site: 22 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: nRCAS + Site: 78 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nRCS + Site: 77 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nRRAS + Site: 73 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nRWE + Site: 72 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nUFMCS + Site: 53 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Created design models. + + +Generating: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\IBIS\RAM2GS_LCMXO256C_im~.ibs + + + diff --git a/CPLD/LCMXO256C/impl1/dm/layer0.xdm b/CPLD/LCMXO256C/impl1/dm/layer0.xdm index 80ddd36..36c7233 100644 --- a/CPLD/LCMXO256C/impl1/dm/layer0.xdm +++ b/CPLD/LCMXO256C/impl1/dm/layer0.xdm @@ -1,32 +1,32 @@ -%%% protect protected_file -@EG -- -]17p0Osk0CksRsPC#MHF=3"4j -"> -!S<-1-RFOksCHRVDRC#O0FMskHL0oHMRR0F0REC8HC#o-MR-S> -S -SS1S -SF<1kCsOR"b=BD:\#\OO8lHNF\M8d.34\M#$b#LNCH\DLD\PFEo\$sbCl#F83RP"N.=""=RD"sPCHoDF"DROH=#0""-4RHbD#"0=-/4">S -S"/ -S1S -SF<1kCsOR"b=7m:\MsC7H\PC7kFOl0CM#H\t0L]k\v)q.\t1B7up\v)q.-t113uQPN"R=""nR"D=PHCsD"FoRHOD#"0=-R4"b#DH0-="4>"/ -/S<1sFkO>C# -< -S!R--vkF8DsCRFRF0- -->SF<)FM0R=F"Is) 3qtv.1C3PsFHDo>"/ -< -S!R--vkF8D7CRCMVHHF0HM-R->< -S7RCVMI="F3s ).qvtP13CDsHFRo"DP="CDsHF>o" -SqS"/ - - - - -/S<7>CV -]sC - -@ +%%% protect protected_file +@EG +- +]17p0Osk0CksRsPC#MHF=3"4j +"> +!S<-1-RFOksCHRVDRC#O0FMskHL0oHMRR0F0REC8HC#o-MR-S> +S +SS1S +SF<1kCsOR"b=BD:\#\OO8lHNF\M8d.34\M#$b#LNCH\DLD\PFEo\$sbCl#F83RP"N.=""=RD"sPCHoDF"DROH=#0""-4RHbD#"0=-/4">S +S"/ +S1S +SF<1kCsOR"b=Y):\C#bF\v)q.\t1B7up\v)q.-t113uQPN"R=""nR"D=PHCsD"FoRHOD#"0=-R4"b#DH0-="4>"/ +/S<1sFkO>C# +< +S!R--vkF8DsCRFRF0- +->SF<)FM0R=F"Is) 3qtv.1C3PsFHDo>"/ +< +S!R--vkF8D7CRCMVHHF0HM-R->< +S7RCVMI="F3s ).qvtP13CDsHFRo"DP="CDsHF>o" +SqS"/ + + + + +/S<7>CV +]sC + +@ diff --git a/CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html b/CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html index df264d3..aab1a0b 100644 --- a/CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html +++ b/CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html @@ -1,9 +1,9 @@ -

    Setting log file to 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html'.
    +         	                                   	                                                	                                                 	                                                  	
    Setting log file to 'Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/hdla_gen_hierarchy.html'.
     Starting: parse design source files
     (VERI-1482) Analyzing Verilog file 'C:/lscc/diamond/3.12/ispfpga/userware/NT/SYNTHESIS_HEADERS/machxo.v'
    -(VERI-1482) Analyzing Verilog file 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v(1,8-1,14) (VERI-1018) compiling module 'RAM2GS'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v(1,1-411,10) (VERI-9000) elaborating module 'RAM2GS'
    +(VERI-1482) Analyzing Verilog file 'Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v'
    +INFO - Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v(1,8-1,14) (VERI-1018) compiling module 'RAM2GS'
    +INFO - Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v(1,1-410,10) (VERI-9000) elaborating module 'RAM2GS'
     Done: design load finished with (0) errors, and (0) warnings
     
     
    \ No newline at end of file diff --git a/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1.ior b/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1.ior index 0a4c98e..fb14fcb 100644 --- a/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1.ior +++ b/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1.ior @@ -1,138 +1,138 @@ -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 4 -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 5 -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: M -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -// Design: RAM2GS -// Package: TQFP100 -// ncd File: ram2gs_lcmxo256c_impl1.ncd -// Version: Diamond (64-bit) 3.12.1.454 -// Written on Wed Aug 16 04:50:48 2023 -// M: Minimum Performance Grade -// iotiming RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml - -I/O Timing Report (All units are in ns) - -Worst Case Results across Performance Grades (M, 5, 4, 3): - -// Input Setup and Hold Times - -Port Clock Edge Setup Performance_Grade Hold Performance_Grade ----------------------------------------------------------------------- -CROW[0] nCRAS F -0.006 M 1.904 3 -CROW[1] nCRAS F -0.006 M 1.904 3 -Din[0] PHI2 F 4.101 3 2.207 3 -Din[0] nCCAS F 1.552 3 -0.018 M -Din[1] PHI2 F 2.668 3 3.026 3 -Din[1] nCCAS F 0.606 3 0.745 3 -Din[2] PHI2 F 2.073 3 2.917 3 -Din[2] nCCAS F 0.500 3 0.619 3 -Din[3] PHI2 F 2.620 3 3.334 3 -Din[3] nCCAS F -0.089 M 1.336 3 -Din[4] PHI2 F 5.116 3 2.411 3 -Din[4] nCCAS F 0.293 3 1.125 3 -Din[5] PHI2 F 5.590 3 2.084 3 -Din[5] nCCAS F 0.435 3 0.979 3 -Din[6] PHI2 F 5.951 3 1.726 3 -Din[6] nCCAS F 1.305 3 0.253 3 -Din[7] PHI2 F 4.412 3 1.404 3 -Din[7] nCCAS F 0.195 3 1.215 3 -MAin[0] PHI2 F 3.306 3 1.176 3 -MAin[0] nCRAS F -0.132 M 2.336 3 -MAin[1] PHI2 F 2.656 3 2.511 3 -MAin[1] nCRAS F -0.034 M 2.014 3 -MAin[2] PHI2 F 6.839 3 -0.310 M -MAin[2] nCRAS F -0.154 M 2.424 3 -MAin[3] PHI2 F 6.871 3 -0.311 M -MAin[3] nCRAS F -0.015 M 1.928 3 -MAin[4] PHI2 F 7.111 3 -0.361 M -MAin[4] nCRAS F 0.370 3 1.590 3 -MAin[5] PHI2 F 7.075 3 -0.353 M -MAin[5] nCRAS F -0.126 M 2.320 3 -MAin[6] PHI2 F 6.794 3 -0.295 M -MAin[6] nCRAS F 0.010 3 1.885 3 -MAin[7] PHI2 F 6.926 3 -0.324 M -MAin[7] nCRAS F 0.319 3 1.622 3 -MAin[8] nCRAS F -0.038 M 2.031 3 -MAin[9] nCRAS F 0.366 3 1.596 3 -PHI2 RCLK R 2.295 3 -0.174 M -UFMSDO RCLK R 1.364 3 0.511 3 -nCCAS RCLK R 2.300 3 -0.185 M -nCCAS nCRAS F 0.216 3 1.721 3 -nCRAS RCLK R 4.548 3 -0.507 M -nFWE PHI2 F 6.729 3 -0.281 M -nFWE nCRAS F -0.037 M 2.025 3 - - -// Clock to Output Delay - -Port Clock Edge Max_Delay Performance_Grade Min_Delay Performance_Grade ------------------------------------------------------------------------- -LED RCLK R 7.842 3 1.620 M -LED nCRAS F 10.578 3 2.158 M -RA[0] RCLK R 9.531 3 1.954 M -RA[0] nCRAS F 11.210 3 2.276 M -RA[10] RCLK R 7.998 3 1.636 M -RA[11] PHI2 R 8.837 3 1.781 M -RA[1] RCLK R 11.134 3 2.285 M -RA[1] nCRAS F 11.588 3 2.348 M -RA[2] RCLK R 8.931 3 1.827 M -RA[2] nCRAS F 10.718 3 2.175 M -RA[3] RCLK R 9.942 3 2.025 M -RA[3] nCRAS F 11.459 3 2.315 M -RA[4] RCLK R 10.804 3 2.199 M -RA[4] nCRAS F 11.949 3 2.399 M -RA[5] RCLK R 9.531 3 1.954 M -RA[5] nCRAS F 10.353 3 2.098 M -RA[6] RCLK R 8.931 3 1.827 M -RA[6] nCRAS F 9.961 3 2.021 M -RA[7] RCLK R 10.350 3 2.117 M -RA[7] nCRAS F 10.579 3 2.124 M -RA[8] RCLK R 10.008 3 2.034 M -RA[8] nCRAS F 11.368 3 2.282 M -RA[9] RCLK R 9.085 3 1.845 M -RA[9] nCRAS F 10.306 3 2.065 M -RBA[0] nCRAS F 8.339 3 1.684 M -RBA[1] nCRAS F 10.066 3 2.033 M -RCKE RCLK R 7.910 3 1.616 M -RDQMH RCLK R 9.081 3 1.846 M -RDQML RCLK R 10.003 3 2.044 M -RD[0] nCCAS F 8.482 3 1.831 M -RD[1] nCCAS F 7.771 3 1.703 M -RD[2] nCCAS F 8.472 3 1.830 M -RD[3] nCCAS F 8.468 3 1.830 M -RD[4] nCCAS F 8.240 3 1.804 M -RD[5] nCCAS F 10.703 3 2.293 M -RD[6] nCCAS F 8.240 3 1.804 M -RD[7] nCCAS F 9.407 3 2.023 M -UFMCLK RCLK R 7.454 3 1.510 M -UFMSDI RCLK R 6.271 3 1.287 M -nRCAS RCLK R 7.626 3 1.553 M -nRCS RCLK R 6.271 3 1.287 M -nRRAS RCLK R 7.438 3 1.506 M -nRWE RCLK R 6.271 3 1.287 M -nUFMCS RCLK R 7.914 3 1.619 M -WARNING: you must also run trce with hold speed: 3 -WARNING: you must also run trce with setup speed: M +Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO256C +Package: TQFP100 +Performance: 4 +Package Status: Final Version 1.19. +Performance Hardware Data Status: Version 1.124. +Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO256C +Package: TQFP100 +Performance: 5 +Package Status: Final Version 1.19. +Performance Hardware Data Status: Version 1.124. +Loading design for application iotiming from file ram2gs_lcmxo256c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO256C +Package: TQFP100 +Performance: M +Package Status: Final Version 1.19. +Performance Hardware Data Status: Version 1.124. +// Design: RAM2GS +// Package: TQFP100 +// ncd File: ram2gs_lcmxo256c_impl1.ncd +// Version: Diamond (64-bit) 3.12.1.454 +// Written on Sat Aug 19 20:53:32 2023 +// M: Minimum Performance Grade +// iotiming RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml + +I/O Timing Report (All units are in ns) + +Worst Case Results across Performance Grades (M, 5, 4, 3): + +// Input Setup and Hold Times + +Port Clock Edge Setup Performance_Grade Hold Performance_Grade +---------------------------------------------------------------------- +CROW[0] nCRAS F -0.006 M 1.904 3 +CROW[1] nCRAS F -0.006 M 1.904 3 +Din[0] PHI2 F 4.101 3 2.207 3 +Din[0] nCCAS F 1.552 3 -0.018 M +Din[1] PHI2 F 2.668 3 3.026 3 +Din[1] nCCAS F 0.606 3 0.745 3 +Din[2] PHI2 F 2.073 3 2.917 3 +Din[2] nCCAS F 0.500 3 0.619 3 +Din[3] PHI2 F 2.620 3 3.334 3 +Din[3] nCCAS F -0.089 M 1.336 3 +Din[4] PHI2 F 5.116 3 2.411 3 +Din[4] nCCAS F 0.293 3 1.125 3 +Din[5] PHI2 F 5.590 3 2.084 3 +Din[5] nCCAS F 0.435 3 0.979 3 +Din[6] PHI2 F 5.951 3 1.726 3 +Din[6] nCCAS F 1.305 3 0.253 3 +Din[7] PHI2 F 4.412 3 1.404 3 +Din[7] nCCAS F 0.195 3 1.215 3 +MAin[0] PHI2 F 3.306 3 1.176 3 +MAin[0] nCRAS F -0.132 M 2.336 3 +MAin[1] PHI2 F 2.656 3 2.511 3 +MAin[1] nCRAS F -0.034 M 2.014 3 +MAin[2] PHI2 F 6.839 3 -0.310 M +MAin[2] nCRAS F -0.154 M 2.424 3 +MAin[3] PHI2 F 6.871 3 -0.311 M +MAin[3] nCRAS F -0.015 M 1.928 3 +MAin[4] PHI2 F 7.111 3 -0.361 M +MAin[4] nCRAS F 0.370 3 1.590 3 +MAin[5] PHI2 F 7.075 3 -0.353 M +MAin[5] nCRAS F -0.126 M 2.320 3 +MAin[6] PHI2 F 6.794 3 -0.295 M +MAin[6] nCRAS F 0.010 3 1.885 3 +MAin[7] PHI2 F 6.926 3 -0.324 M +MAin[7] nCRAS F 0.319 3 1.622 3 +MAin[8] nCRAS F -0.038 M 2.031 3 +MAin[9] nCRAS F 0.366 3 1.596 3 +PHI2 RCLK R 2.295 3 -0.174 M +UFMSDO RCLK R 1.364 3 0.511 3 +nCCAS RCLK R 2.300 3 -0.185 M +nCCAS nCRAS F 0.216 3 1.721 3 +nCRAS RCLK R 4.548 3 -0.507 M +nFWE PHI2 F 6.729 3 -0.281 M +nFWE nCRAS F -0.037 M 2.025 3 + + +// Clock to Output Delay + +Port Clock Edge Max_Delay Performance_Grade Min_Delay Performance_Grade +------------------------------------------------------------------------ +LED RCLK R 7.842 3 1.620 M +LED nCRAS F 10.578 3 2.158 M +RA[0] RCLK R 9.531 3 1.954 M +RA[0] nCRAS F 11.210 3 2.276 M +RA[10] RCLK R 7.998 3 1.636 M +RA[11] PHI2 R 8.837 3 1.781 M +RA[1] RCLK R 11.134 3 2.285 M +RA[1] nCRAS F 11.588 3 2.348 M +RA[2] RCLK R 8.931 3 1.827 M +RA[2] nCRAS F 10.718 3 2.175 M +RA[3] RCLK R 9.942 3 2.025 M +RA[3] nCRAS F 11.459 3 2.315 M +RA[4] RCLK R 10.804 3 2.199 M +RA[4] nCRAS F 11.949 3 2.399 M +RA[5] RCLK R 9.531 3 1.954 M +RA[5] nCRAS F 10.353 3 2.098 M +RA[6] RCLK R 8.931 3 1.827 M +RA[6] nCRAS F 9.961 3 2.021 M +RA[7] RCLK R 10.350 3 2.117 M +RA[7] nCRAS F 10.579 3 2.124 M +RA[8] RCLK R 10.008 3 2.034 M +RA[8] nCRAS F 11.368 3 2.282 M +RA[9] RCLK R 9.085 3 1.845 M +RA[9] nCRAS F 10.306 3 2.065 M +RBA[0] nCRAS F 8.339 3 1.684 M +RBA[1] nCRAS F 10.066 3 2.033 M +RCKE RCLK R 7.910 3 1.616 M +RDQMH RCLK R 9.081 3 1.846 M +RDQML RCLK R 10.003 3 2.044 M +RD[0] nCCAS F 8.482 3 1.831 M +RD[1] nCCAS F 7.771 3 1.703 M +RD[2] nCCAS F 8.472 3 1.830 M +RD[3] nCCAS F 8.468 3 1.830 M +RD[4] nCCAS F 8.240 3 1.804 M +RD[5] nCCAS F 10.703 3 2.293 M +RD[6] nCCAS F 8.240 3 1.804 M +RD[7] nCCAS F 9.407 3 2.023 M +UFMCLK RCLK R 7.454 3 1.510 M +UFMSDI RCLK R 6.271 3 1.287 M +nRCAS RCLK R 7.626 3 1.553 M +nRCS RCLK R 6.271 3 1.287 M +nRRAS RCLK R 7.438 3 1.506 M +nRWE RCLK R 6.271 3 1.287 M +nUFMCS RCLK R 7.914 3 1.619 M +WARNING: you must also run trce with hold speed: 3 +WARNING: you must also run trce with setup speed: M diff --git a/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1_trce.asd b/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1_trce.asd index 17468bc..fe80827 100644 --- a/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1_trce.asd +++ b/CPLD/LCMXO256C/impl1/ram2gs_lcmxo256c_impl1_trce.asd @@ -1,17 +1,17 @@ -[ActiveSupport TRCE] -; Setup Analysis -Fmax_0 = 56.029 MHz (2.900 MHz); -Fmax_1 = 400.000 MHz (2.900 MHz); -Fmax_2 = 400.000 MHz (2.900 MHz); -Fmax_3 = 128.419 MHz (62.500 MHz); -Failed = 0 (Total 4); -Clock_ports = 4; -Clock_nets = 4; -; Hold Analysis -Fmax_0 = - (-); -Fmax_1 = - (-); -Fmax_2 = - (-); -Fmax_3 = - (-); -Failed = 0 (Total 4); -Clock_ports = 4; -Clock_nets = 4; +[ActiveSupport TRCE] +; Setup Analysis +Fmax_0 = 56.029 MHz (2.900 MHz); +Fmax_1 = 400.000 MHz (2.900 MHz); +Fmax_2 = 400.000 MHz (2.900 MHz); +Fmax_3 = 128.419 MHz (62.500 MHz); +Failed = 0 (Total 4); +Clock_ports = 4; +Clock_nets = 4; +; Hold Analysis +Fmax_0 = - (-); +Fmax_1 = - (-); +Fmax_2 = - (-); +Fmax_3 = - (-); +Failed = 0 (Total 4); +Clock_ports = 4; +Clock_nets = 4; diff --git a/CPLD/LCMXO256C/impl1/run_options.txt b/CPLD/LCMXO256C/impl1/run_options.txt index 7771d20..a606210 100644 --- a/CPLD/LCMXO256C/impl1/run_options.txt +++ b/CPLD/LCMXO256C/impl1/run_options.txt @@ -1,81 +1,81 @@ -#-- Synopsys, Inc. -#-- Version R-2021.03L-SP1 -#-- Project file D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\run_options.txt -#-- Written on Wed Aug 16 04:50:30 2023 - - -#project files -add_file -constraint "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc" -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v" - - -#implementation: "impl1" -impl -add impl1 -type fpga - -# -#implementation attributes - -set_option -vlog_std v2001 -set_option -num_critical_paths 3 -set_option -project_relative_includes 1 -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C} - -#device options -set_option -technology MACHXO -set_option -part LCMXO256C -set_option -package T100C -set_option -speed_grade -3 -set_option -part_companion "" - -#compilation/mapping options -set_option -top_module "RAM2GS" - -# hdl_compiler_options -set_option -distributed_compile 0 -set_option -hdl_strict_syntax 0 - -# mapper_without_write_options -set_option -frequency 70 -set_option -srs_instrumentation 1 - -# mapper_options -set_option -write_verilog 0 -set_option -write_structural_verilog 0 -set_option -write_vhdl 0 - -# Lattice XP -set_option -maxfan 1000 -set_option -disable_io_insertion 0 -set_option -retiming 0 -set_option -pipe 0 -set_option -forcegsr auto -set_option -fix_gated_and_generated_clocks 1 -set_option -rw_check_on_ram 1 -set_option -update_models_cp 0 -set_option -syn_edif_array_rename 1 -set_option -Write_declared_clocks_only 1 -set_option -seqshift_no_replicate 0 - -# NFilter -set_option -no_sequential_opt 0 - -# sequential_optimization_options -set_option -symbolic_fsm_compiler 1 - -# Compiler Options -set_option -compiler_compatible 0 -set_option -resource_sharing 1 -set_option -multi_file_compilation_unit 1 - -# Compiler Options -set_option -auto_infer_blackbox 0 - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#set result format/file last -project -result_file "./RAM2GS_LCMXO256C_impl1.edi" - -#set log file -set_option log_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf" -impl -active "impl1" +#-- Synopsys, Inc. +#-- Version R-2021.03L-SP1 +#-- Project file Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\run_options.txt +#-- Written on Sat Aug 19 20:53:10 2023 + + +#project files +add_file -constraint "Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc" +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v" + + +#implementation: "impl1" +impl -add impl1 -type fpga + +# +#implementation attributes + +set_option -vlog_std v2001 +set_option -num_critical_paths 3 +set_option -project_relative_includes 1 +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO256C} + +#device options +set_option -technology MACHXO +set_option -part LCMXO256C +set_option -package T100C +set_option -speed_grade -3 +set_option -part_companion "" + +#compilation/mapping options +set_option -top_module "RAM2GS" + +# hdl_compiler_options +set_option -distributed_compile 0 +set_option -hdl_strict_syntax 0 + +# mapper_without_write_options +set_option -frequency 70 +set_option -srs_instrumentation 1 + +# mapper_options +set_option -write_verilog 0 +set_option -write_structural_verilog 0 +set_option -write_vhdl 0 + +# Lattice XP +set_option -maxfan 1000 +set_option -disable_io_insertion 0 +set_option -retiming 0 +set_option -pipe 0 +set_option -forcegsr auto +set_option -fix_gated_and_generated_clocks 1 +set_option -rw_check_on_ram 1 +set_option -update_models_cp 0 +set_option -syn_edif_array_rename 1 +set_option -Write_declared_clocks_only 1 +set_option -seqshift_no_replicate 0 + +# NFilter +set_option -no_sequential_opt 0 + +# sequential_optimization_options +set_option -symbolic_fsm_compiler 1 + +# Compiler Options +set_option -compiler_compatible 0 +set_option -resource_sharing 1 +set_option -multi_file_compilation_unit 1 + +# Compiler Options +set_option -auto_infer_blackbox 0 + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#set result format/file last +project -result_file "./RAM2GS_LCMXO256C_impl1.edi" + +#set log file +set_option log_file "Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf" +impl -active "impl1" diff --git a/CPLD/LCMXO256C/impl1/scratchproject.prs b/CPLD/LCMXO256C/impl1/scratchproject.prs index cf77e03..2c0b97c 100644 --- a/CPLD/LCMXO256C/impl1/scratchproject.prs +++ b/CPLD/LCMXO256C/impl1/scratchproject.prs @@ -1,80 +1,80 @@ -#-- Synopsys, Inc. -#-- Version R-2021.03L-SP1 -#-- Project file D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\scratchproject.prs - -#project files -add_file -constraint "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc" -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v" - - -#implementation: "impl1" -impl -add D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1 -type fpga - -# -#implementation attributes - -set_option -vlog_std v2001 -set_option -num_critical_paths 3 -set_option -project_relative_includes 1 -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/} -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C} - -#device options -set_option -technology MACHXO -set_option -part LCMXO256C -set_option -package T100C -set_option -speed_grade -3 -set_option -part_companion "" - -#compilation/mapping options -set_option -top_module "RAM2GS" - -# hdl_compiler_options -set_option -distributed_compile 0 -set_option -hdl_strict_syntax 0 - -# mapper_without_write_options -set_option -frequency 70 -set_option -srs_instrumentation 1 - -# mapper_options -set_option -write_verilog 0 -set_option -write_structural_verilog 0 -set_option -write_vhdl 0 - -# Lattice XP -set_option -maxfan 1000 -set_option -disable_io_insertion 0 -set_option -retiming 0 -set_option -pipe 0 -set_option -forcegsr auto -set_option -fix_gated_and_generated_clocks 1 -set_option -rw_check_on_ram 1 -set_option -update_models_cp 0 -set_option -syn_edif_array_rename 1 -set_option -Write_declared_clocks_only 1 -set_option -seqshift_no_replicate 0 - -# NFilter -set_option -no_sequential_opt 0 - -# sequential_optimization_options -set_option -symbolic_fsm_compiler 1 - -# Compiler Options -set_option -compiler_compatible 0 -set_option -resource_sharing 1 -set_option -multi_file_compilation_unit 1 - -# Compiler Options -set_option -auto_infer_blackbox 0 - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#set result format/file last -project -result_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi" - -#set log file -set_option log_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf" -impl -active "impl1" +#-- Synopsys, Inc. +#-- Version R-2021.03L-SP1 +#-- Project file Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\scratchproject.prs + +#project files +add_file -constraint "Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc" +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v" + + +#implementation: "impl1" +impl -add Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1 -type fpga + +# +#implementation attributes + +set_option -vlog_std v2001 +set_option -num_critical_paths 3 +set_option -project_relative_includes 1 +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/} +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO256C} + +#device options +set_option -technology MACHXO +set_option -part LCMXO256C +set_option -package T100C +set_option -speed_grade -3 +set_option -part_companion "" + +#compilation/mapping options +set_option -top_module "RAM2GS" + +# hdl_compiler_options +set_option -distributed_compile 0 +set_option -hdl_strict_syntax 0 + +# mapper_without_write_options +set_option -frequency 70 +set_option -srs_instrumentation 1 + +# mapper_options +set_option -write_verilog 0 +set_option -write_structural_verilog 0 +set_option -write_vhdl 0 + +# Lattice XP +set_option -maxfan 1000 +set_option -disable_io_insertion 0 +set_option -retiming 0 +set_option -pipe 0 +set_option -forcegsr auto +set_option -fix_gated_and_generated_clocks 1 +set_option -rw_check_on_ram 1 +set_option -update_models_cp 0 +set_option -syn_edif_array_rename 1 +set_option -Write_declared_clocks_only 1 +set_option -seqshift_no_replicate 0 + +# NFilter +set_option -no_sequential_opt 0 + +# sequential_optimization_options +set_option -symbolic_fsm_compiler 1 + +# Compiler Options +set_option -compiler_compatible 0 +set_option -resource_sharing 1 +set_option -multi_file_compilation_unit 1 + +# Compiler Options +set_option -auto_infer_blackbox 0 + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#set result format/file last +project -result_file "Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi" + +#set log file +set_option log_file "Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.srf" +impl -active "impl1" diff --git a/CPLD/LCMXO256C/impl1/stdout.log b/CPLD/LCMXO256C/impl1/stdout.log index 17df285..e09c5a2 100644 --- a/CPLD/LCMXO256C/impl1/stdout.log +++ b/CPLD/LCMXO256C/impl1/stdout.log @@ -1,89 +1,89 @@ -Running in Lattice mode - - Synplify Pro (R) - - Version R-2021.03L-SP1 for win64 - Aug 10, 2021 - - Copyright (c) 1988 - 2021 Synopsys, Inc. - This software and the associated documentation are proprietary to Synopsys, - Inc. This software may only be used in accordance with the terms and conditions - of a written license agreement with Synopsys, Inc. All other use, reproduction, - or distribution of this software is strictly prohibited. - -Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe -Install: C:\lscc\diamond\3.12\synpbase -Hostname: ZANEPC -Date: Wed Aug 16 04:50:30 2023 -Version: R-2021.03L-SP1 - -Arguments: -product synplify_pro -batch RAM2GS_LCMXO256C_impl1_synplify.tcl -ProductType: synplify_pro - - - - -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr" -Running: impl1 in foreground - -Running proj_1|impl1 - -Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 04:50:31 2023 - -Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 04:50:31 2023 - -Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 04:50:31 2023 -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs - -compiler completed -# Wed Aug 16 04:50:32 2023 - -Return Code: 0 -Run Time:00h:00m:01s - -Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 04:50:32 2023 - -multi_srs_gen completed -# Wed Aug 16 04:50:33 2023 - -Return Code: 0 -Run Time:00h:00m:01s -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf -Complete: Compile Process on proj_1|impl1 - -Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 04:50:33 2023 - -premap completed with warnings -# Wed Aug 16 04:50:34 2023 - -Return Code: 1 -Run Time:00h:00m:01s -Complete: Compile on proj_1|impl1 - -Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 04:50:34 2023 -License granted for 4 parallel jobs - -Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 04:50:34 2023 -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm - -fpga_mapper completed with warnings -# Wed Aug 16 04:50:38 2023 - -Return Code: 1 -Run Time:00h:00m:04s -Complete: Map on proj_1|impl1 -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf -Complete: Logic Synthesis on proj_1|impl1 -TCL script complete: "RAM2GS_LCMXO256C_impl1_synplify.tcl" -exit status=0 -exit status=0 -Save changes for project: -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\proj_1.prj -batch mode default:no +Running in Lattice mode + + Synplify Pro (R) + + Version R-2021.03L-SP1 for win64 - Aug 10, 2021 + + Copyright (c) 1988 - 2021 Synopsys, Inc. + This software and the associated documentation are proprietary to Synopsys, + Inc. This software may only be used in accordance with the terms and conditions + of a written license agreement with Synopsys, Inc. All other use, reproduction, + or distribution of this software is strictly prohibited. + +Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe +Install: C:\lscc\diamond\3.12\synpbase +Hostname: ZANEMACWIN11 +Date: Sat Aug 19 20:53:10 2023 +Version: R-2021.03L-SP1 + +Arguments: -product synplify_pro -batch RAM2GS_LCMXO256C_impl1_synplify.tcl +ProductType: synplify_pro + + + + +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr" +Running: impl1 in foreground + +Running proj_1|impl1 + +Running Flow: compile (Compile) on proj_1|impl1 +# Sat Aug 19 20:53:10 2023 + +Running Flow: compile_flow (Compile Process) on proj_1|impl1 +# Sat Aug 19 20:53:10 2023 + +Running: compiler (Compile Input) on proj_1|impl1 +# Sat Aug 19 20:53:10 2023 +Copied Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs + +compiler completed +# Sat Aug 19 20:53:12 2023 + +Return Code: 0 +Run Time:00h:00m:02s + +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 +# Sat Aug 19 20:53:12 2023 + +multi_srs_gen completed +# Sat Aug 19 20:53:12 2023 + +Return Code: 0 +Run Time:00h:00m:00s +Copied Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs +Copied Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf +Complete: Compile Process on proj_1|impl1 + +Running: premap (Premap) on proj_1|impl1 +# Sat Aug 19 20:53:12 2023 + +premap completed with warnings +# Sat Aug 19 20:53:14 2023 + +Return Code: 1 +Run Time:00h:00m:02s +Complete: Compile on proj_1|impl1 + +Running Flow: map (Map) on proj_1|impl1 +# Sat Aug 19 20:53:14 2023 +License granted for 4 parallel jobs + +Running: fpga_mapper (Map & Optimize) on proj_1|impl1 +# Sat Aug 19 20:53:14 2023 +Copied Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm + +fpga_mapper completed with warnings +# Sat Aug 19 20:53:17 2023 + +Return Code: 1 +Run Time:00h:00m:03s +Complete: Map on proj_1|impl1 +Copied Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf +Complete: Logic Synthesis on proj_1|impl1 +TCL script complete: "RAM2GS_LCMXO256C_impl1_synplify.tcl" +exit status=0 +exit status=0 +Save changes for project: +Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\proj_1.prj +batch mode default:no diff --git a/CPLD/LCMXO256C/impl1/stdout.log.bak.2 b/CPLD/LCMXO256C/impl1/stdout.log.bak.2 index 7129265..71a1535 100644 --- a/CPLD/LCMXO256C/impl1/stdout.log.bak.2 +++ b/CPLD/LCMXO256C/impl1/stdout.log.bak.2 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 03:31:19 2023 +Date: Wed Aug 16 04:22:23 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO256C_impl1_synplify.tcl @@ -28,26 +28,26 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 03:31:19 2023 +# Wed Aug 16 04:22:23 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 03:31:19 2023 +# Wed Aug 16 04:22:23 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 03:31:19 2023 +# Wed Aug 16 04:22:23 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs compiler completed -# Wed Aug 16 03:31:21 2023 +# Wed Aug 16 04:22:25 2023 Return Code: 0 Run Time:00h:00m:02s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 03:31:21 2023 +# Wed Aug 16 04:22:25 2023 multi_srs_gen completed -# Wed Aug 16 03:31:22 2023 +# Wed Aug 16 04:22:26 2023 Return Code: 0 Run Time:00h:00m:01s @@ -56,28 +56,28 @@ Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 03:31:22 2023 +# Wed Aug 16 04:22:26 2023 premap completed with warnings -# Wed Aug 16 03:31:24 2023 +# Wed Aug 16 04:22:27 2023 Return Code: 1 -Run Time:00h:00m:02s +Run Time:00h:00m:01s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 03:31:24 2023 +# Wed Aug 16 04:22:27 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 03:31:24 2023 +# Wed Aug 16 04:22:27 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 03:31:29 2023 +# Wed Aug 16 04:22:31 2023 Return Code: 1 -Run Time:00h:00m:05s +Run Time:00h:00m:04s Complete: Map on proj_1|impl1 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf Complete: Logic Synthesis on proj_1|impl1 diff --git a/CPLD/LCMXO256C/impl1/stdout.log.bak.3 b/CPLD/LCMXO256C/impl1/stdout.log.bak.3 index b943250..7129265 100644 --- a/CPLD/LCMXO256C/impl1/stdout.log.bak.3 +++ b/CPLD/LCMXO256C/impl1/stdout.log.bak.3 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 02:29:31 2023 +Date: Wed Aug 16 03:31:19 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO256C_impl1_synplify.tcl @@ -28,56 +28,56 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 02:29:32 2023 +# Wed Aug 16 03:31:19 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 02:29:32 2023 +# Wed Aug 16 03:31:19 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 02:29:32 2023 +# Wed Aug 16 03:31:19 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs compiler completed -# Wed Aug 16 02:29:34 2023 +# Wed Aug 16 03:31:21 2023 Return Code: 0 Run Time:00h:00m:02s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 02:29:34 2023 +# Wed Aug 16 03:31:21 2023 multi_srs_gen completed -# Wed Aug 16 02:29:34 2023 +# Wed Aug 16 03:31:22 2023 Return Code: 0 -Run Time:00h:00m:00s +Run Time:00h:00m:01s Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 02:29:34 2023 +# Wed Aug 16 03:31:22 2023 premap completed with warnings -# Wed Aug 16 02:29:36 2023 +# Wed Aug 16 03:31:24 2023 Return Code: 1 Run Time:00h:00m:02s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 02:29:36 2023 +# Wed Aug 16 03:31:24 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 02:29:36 2023 +# Wed Aug 16 03:31:24 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 02:29:39 2023 +# Wed Aug 16 03:31:29 2023 Return Code: 1 -Run Time:00h:00m:03s +Run Time:00h:00m:05s Complete: Map on proj_1|impl1 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf Complete: Logic Synthesis on proj_1|impl1 diff --git a/CPLD/LCMXO256C/impl1/stdout.log.bak.4 b/CPLD/LCMXO256C/impl1/stdout.log.bak.4 index a269fa7..b943250 100644 --- a/CPLD/LCMXO256C/impl1/stdout.log.bak.4 +++ b/CPLD/LCMXO256C/impl1/stdout.log.bak.4 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 02:15:33 2023 +Date: Wed Aug 16 02:29:31 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO256C_impl1_synplify.tcl @@ -28,26 +28,26 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 02:15:33 2023 +# Wed Aug 16 02:29:32 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 02:15:33 2023 +# Wed Aug 16 02:29:32 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 02:15:33 2023 +# Wed Aug 16 02:29:32 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs compiler completed -# Wed Aug 16 02:15:35 2023 +# Wed Aug 16 02:29:34 2023 Return Code: 0 Run Time:00h:00m:02s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 02:15:35 2023 +# Wed Aug 16 02:29:34 2023 multi_srs_gen completed -# Wed Aug 16 02:15:35 2023 +# Wed Aug 16 02:29:34 2023 Return Code: 0 Run Time:00h:00m:00s @@ -56,25 +56,25 @@ Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 02:15:35 2023 +# Wed Aug 16 02:29:34 2023 premap completed with warnings -# Wed Aug 16 02:15:37 2023 +# Wed Aug 16 02:29:36 2023 Return Code: 1 Run Time:00h:00m:02s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 02:15:37 2023 +# Wed Aug 16 02:29:36 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 02:15:37 2023 +# Wed Aug 16 02:29:36 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 02:15:40 2023 +# Wed Aug 16 02:29:39 2023 Return Code: 1 Run Time:00h:00m:03s diff --git a/CPLD/LCMXO256C/impl1/stdout.log.bak.5 b/CPLD/LCMXO256C/impl1/stdout.log.bak.5 index 8e0836e..a269fa7 100644 --- a/CPLD/LCMXO256C/impl1/stdout.log.bak.5 +++ b/CPLD/LCMXO256C/impl1/stdout.log.bak.5 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Tue Aug 15 22:37:08 2023 +Date: Wed Aug 16 02:15:33 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO256C_impl1_synplify.tcl @@ -28,49 +28,56 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Tue Aug 15 22:37:09 2023 +# Wed Aug 16 02:15:33 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Tue Aug 15 22:37:09 2023 +# Wed Aug 16 02:15:33 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Tue Aug 15 22:37:09 2023 +# Wed Aug 16 02:15:33 2023 +Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs compiler completed -# Tue Aug 15 22:37:09 2023 +# Wed Aug 16 02:15:35 2023 + +Return Code: 0 +Run Time:00h:00m:02s + +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 +# Wed Aug 16 02:15:35 2023 + +multi_srs_gen completed +# Wed Aug 16 02:15:35 2023 Return Code: 0 Run Time:00h:00m:00s - -Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Tue Aug 15 22:37:09 2023 -Up-To-Date: multi_srs_gen. No run necessary +Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srs Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Tue Aug 15 22:37:09 2023 +# Wed Aug 16 02:15:35 2023 premap completed with warnings -# Tue Aug 15 22:37:11 2023 +# Wed Aug 16 02:15:37 2023 Return Code: 1 Run Time:00h:00m:02s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Tue Aug 15 22:37:11 2023 +# Wed Aug 16 02:15:37 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Tue Aug 15 22:37:11 2023 +# Wed Aug 16 02:15:37 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm fpga_mapper completed with warnings -# Tue Aug 15 22:37:15 2023 +# Wed Aug 16 02:15:40 2023 Return Code: 1 -Run Time:00h:00m:04s +Run Time:00h:00m:03s Complete: Map on proj_1|impl1 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srf Complete: Logic Synthesis on proj_1|impl1 diff --git a/CPLD/LCMXO256C/impl1/synlog.tcl b/CPLD/LCMXO256C/impl1/synlog.tcl index eb5e3ae..fcd4be4 100644 --- a/CPLD/LCMXO256C/impl1/synlog.tcl +++ b/CPLD/LCMXO256C/impl1/synlog.tcl @@ -1 +1 @@ -run_tcl -fg RAM2GS_LCMXO256C_impl1_synplify.tcl +run_tcl -fg RAM2GS_LCMXO256C_impl1_synplify.tcl diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_comp.rt.csv.rptmap b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_comp.rt.csv.rptmap index a497c74..ebb0fe1 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_comp.rt.csv.rptmap +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_comp.rt.csv.rptmap @@ -1 +1 @@ -./synwork/RAM2GS_LCMXO256C_impl1_comp.rt.csv,RAM2GS_LCMXO256C_impl1_comp.rt.csv,Module Runtime Summary +./synwork/RAM2GS_LCMXO256C_impl1_comp.rt.csv,RAM2GS_LCMXO256C_impl1_comp.rt.csv,Module Runtime Summary diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr index d5d24e2..0c84f40 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr @@ -1,108 +1,106 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:31 2023 - -###########################################################] + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +Verilog syntax check successful! +Options changed - recompiling +Selecting top level module RAM2GS +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv + + +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] + +For a summary of runtime and memory usage for all design units, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.rt.csv + +@END + +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:11 2023 + +###########################################################] diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr.db b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr.db index 2f1d32b6ad7e8fe4f289308801b4b2dcaa28c8ec..27bf74809b7c42e24e4b13f07911c5fc0981a067 100644 GIT binary patch delta 50 zcmZp0XmHrTCcrY4fq&{|L4kb!i48JhnT%}W>B*u@&hEx$CQ6Z3F+r&X`Nfl0%Lg-g GNdN#~Lk-pd delta 68 zcmZp0XmHrTCcx6bz~8W0P@s%oyN;1vypcayl*!rM*vv%9#VW=>FV&?evn(~nB|o_| XH#M)MIL1A*#G^E6@@n~DCe;c6kNp(D diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr.rptmap b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr.rptmap index cab4f09..db931a9 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr.rptmap +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_compiler.srr.rptmap @@ -1 +1 @@ -./synlog/RAM2GS_LCMXO256C_impl1_compiler.srr,RAM2GS_LCMXO256C_impl1_compiler.srr,Compile Log +./synlog/RAM2GS_LCMXO256C_impl1_compiler.srr,RAM2GS_LCMXO256C_impl1_compiler.srr,Compile Log diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.srr b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.srr index 60b0c2c..b58ee69 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.srr +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.srr @@ -1,659 +1,659 @@ -# Wed Aug 16 04:50:35 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:01s -2.99ns 128 / 92 - - - 8 0h:00m:01s -2.99ns 127 / 92 - 9 0h:00m:01s -3.09ns 127 / 92 - 10 0h:00m:01s -3.19ns 127 / 92 - 11 0h:00m:01s -3.19ns 127 / 92 - 12 0h:00m:01s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 142MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:38 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo256c-3 - -Register bits: 92 of 256 (36%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:03s realtime, 0h:00m:03s cputime -# Wed Aug 16 04:50:38 2023 - -###########################################################] +# Sat Aug 19 20:53:14 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) + + + +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) + + +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. + +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) + + +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Available hyper_sources - for debug and ip models + None Found + + +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) + + +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) + +Pass CPU time Worst Slack Luts / Registers +------------------------------------------------------------ + 1 0h:00m:01s -3.26ns 127 / 89 + 2 0h:00m:01s -3.23ns 123 / 89 + 3 0h:00m:01s -3.23ns 123 / 89 + 4 0h:00m:01s -3.23ns 123 / 89 + 5 0h:00m:01s -3.23ns 124 / 89 + 6 0h:00m:01s -3.23ns 124 / 89 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +Timing driven replication report +Added 3 Registers via timing driven replication +Added 1 LUTs via timing driven replication + + 7 0h:00m:01s -2.99ns 128 / 92 + + + 8 0h:00m:01s -2.99ns 127 / 92 + 9 0h:00m:01s -3.09ns 127 / 92 + 10 0h:00m:01s -3.19ns 127 / 92 + 11 0h:00m:01s -3.19ns 127 / 92 + 12 0h:00m:01s -3.19ns 127 / 92 + +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) + + +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 190MB) + + +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) + +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm + +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB) + +Writing EDIF Netlist and constraint files +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF + +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB) + + +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) + +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns + + +##### START OF TIMING REPORT #####[ +# Timing report written on Sat Aug 19 20:53:17 2023 +# + + +Top view: RAM2GS +Requested Frequency: 2.9 MHz +Wire load mode: top +Paths requested: 3 +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc + +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. + +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. + + + +Performance Summary +******************* + + +Worst slack in design: -3.705 + + Requested Estimated Requested Estimated Clock Clock +Starting Clock Frequency Frequency Period Period Slack Type Group +------------------------------------------------------------------------------------------------------------------- +PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup +RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup +nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup +nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup +=================================================================================================================== +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform + + +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + + +Clock Relationships +******************* + +Clocks | rise to rise | fall to fall | rise to fall | fall to rise +--------------------------------------------------------------------------------------------------------------- +Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack +--------------------------------------------------------------------------------------------------------------- +RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 +PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 +nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 +=============================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + + +Interface Information +********************* + +No IO constraint found + + + +==================================== +Detailed Report for Clock: PHI2 +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 +CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 +CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 +CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 +Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 +Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 +Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 +Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 +======================================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------------------- +UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 +UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 +nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 +LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 +n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 +LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 +n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 +CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 +ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 +C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 +============================================================================================ + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMCLK / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - +UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMCLK_RNO Net - - - - 1 +UFMCLK FD1S3AX D In 0.000 3.702 r - +================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: nUFMCS / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - +nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - +nUFMCS_s_0_N_5_i Net - - - - 1 +nUFMCS FD1S3AY D In 0.000 3.702 r - +=================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMSDI / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - +UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMSDI_RNO Net - - - - 1 +UFMSDI FD1S3AX D In 0.000 3.702 r - +================================================================================== + + + + +==================================== +Detailed Report for Clock: RCLK +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 +n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 +FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 +FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 +FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 +FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 +S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 +S[0] RCLK FD1S3IX Q CO0 1.756 8.545 +FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 +FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 +============================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------------------- +CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 +Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 +RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 +UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 +UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 +LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 +n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 +nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 +nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 +========================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: CmdLEDEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - +CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - +N_21_i Net - - - - 1 +CmdLEDEN FD1P3AX D In 0.000 2.309 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +------------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - +XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.309 f - +===================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.213 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.216 + + Number of logic level(s): 1 + Starting point: n8MEGEN / Q + Ending point: Cmdn8MEGEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +n8MEGEN FD1P3AX Q Out 1.456 1.456 r - +n8MEGEN Net - - - - 2 +Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - +Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - +N_19_i Net - - - - 1 +Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: nCRAS +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------- +CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 +CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 +FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 +FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 +================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 +nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 +nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 +RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 +nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 +======================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRWE / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - +nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - +G_17_1 Net - - - - 1 +nRWE_RNO ORCALUT4 B In 0.000 2.849 f - +nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - +N_39_i Net - - - - 1 +nRWE FD1S3AY D In 0.000 3.606 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRowColSel / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - +nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - +N_179 Net - - - - 1 +nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - +nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - +nRowColSel_0_0 Net - - - - 1 +nRowColSel FD1S3IX D In 0.000 3.606 f - +====================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.510 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.513 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRCAS / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.456 1.456 r - +CBR_fast Net - - - - 2 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - +nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - +N_37_i Net - - - - 1 +nRCAS FD1S3AY D In 0.000 3.510 f - +======================================================================================== + + + +##### END OF TIMING REPORT #####] + +Timing exceptions that could not be applied + +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + + +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + +--------------------------------------- +Resource Usage Report +Part: lcmxo256c-3 + +Register bits: 92 of 256 (36%) +PIC Latch: 0 +I/O cells: 67 + + +Details: +BB: 8 +CCU2: 9 +FD1P3AX: 11 +FD1S3AX: 59 +FD1S3AY: 5 +FD1S3IX: 14 +FD1S3JX: 3 +GSR: 1 +IB: 26 +INV: 8 +OB: 33 +ORCALUT4: 119 +PFUMX: 2 +PUR: 1 +VHI: 1 +VLO: 1 +Mapper successful! + +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 80MB peak: 196MB) + +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 20:53:17 2023 + +###########################################################] diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.srr.db b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.srr.db index d26dbc4bb6130d57fed6015dc52c8c6668a55ab7..8ad77861ccf6cd3194c6d86a69c8646c2dc2e8c3 100644 GIT binary patch delta 493 zcmZp0XmHrTDqzm4!N7lre+IuS-#k7!-g~^xyv#g@d78N&aNBTA<1*m9!a0XCnNySF zJx3J#GxjL9b8L>RTUj+W7QSJbyi%l_$wgZpRc&AjQVk?6CtFIVfK)4RgH(GHQvFFf8RUU*89NX)9YS4)P~x&P zSzL7N*d|BHm?{{=>gDB^q`K(Tv4RX{7iIGGH!?jQeG&xerTHl_b z(SnylyivF@5M+vxxuH^uRZME#i z!1{fO)GxzjU}^<40!W%ou98jx8DYu|Ho}`6BjjX~fnjCGHTi+8DYtQ~US57lDv-|! z<{QEJ93VcYA&fuSS#~BU9Pi26fgB*r3U&ayD3h$)noW+Da|9V7 h!~!;gl}IBH!FXHF0pt={`AQHqLtXJQUL!OzEuDK diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.szr b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_fpga_mapper.szr index 022d1b8f5d06f2766954ea644c51dc2a8a23ae1c..bea5bed6cac0f76d5c646b03eeccf5bb9ec78052 100644 GIT binary patch literal 20769 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 R009600{|T(w?|X;0RT0qN}K=y diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr index b265010..aefeeca 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr @@ -1,28 +1,28 @@ -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:32 2023 - -###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:53:12 2023 + +###########################################################] diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.srr b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.srr index f7d810f..26b36d2 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.srr +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.srr @@ -1,162 +1,162 @@ -# Wed Aug 16 04:50:33 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:34 2023 - -###########################################################] +# Sat Aug 19 20:53:12 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + + +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 140MB) + +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt" +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) + +@N: FX493 |Applying initial value "0" on instance InitReady. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdUFMCS. +@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance CmdSubmitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "1" on instance nUFMCS. +@N: FX493 |Applying initial value "0" on instance UFMSDI. +@N: FX493 |Applying initial value "0" on instance UFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. + +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + +@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS + +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + + +Clock Summary +****************** + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + + +Clock Load Summary +*********************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== + +ICG Latch Removal Summary: +Number of ICG latches removed: 0 +Number of ICG latches not removed: 0 +For details review file gcc_ICG_report.rpt + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 48 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +Finished Pre Mapping Phase. + +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) + + +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + +Pre-mapping successful! + +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime +# Sat Aug 19 20:53:14 2023 + +###########################################################] diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.srr.db b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.srr.db index 1bcdffcdbf439a8163ea78017c16d6a6b850185a..cd147c0ed7e1c01c497cd58d7e7350ef1b430d1a 100644 GIT binary patch delta 372 zcmZp0XmHq2B*ElZGPy(|3PfFyumw^4l1?0sCH4|*;=GxY4W;#jL*0CxeZ2MZ@=H>I z;^N5S!7iRKaWSa4{N%eb0+YFZ`je%k`B@xGoCGHeN}BQltwvZeIbYflB*hPsn*36l8_2Qao7^aCGFeB417sa9 z+`23o9*`^#P*!|dN@|7TJ NhP(!dIwWrcqyV2oWmEtF delta 372 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 literal 12390 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 diff --git a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.xck b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.xck index 465056f..44fa3d9 100644 --- a/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.xck +++ b/CPLD/LCMXO256C/impl1/synlog/RAM2GS_LCMXO256C_impl1_premap.xck @@ -1,4 +1,4 @@ -ckid0_0:@|S:RCLK@|E:nRWE@|F:@syn_dgcc_clockid0_0==1@|M:ClockId_0_0 -ckid0_1:@|S:PHI2@|E:RA11@|F:@syn_dgcc_clockid0_1==1@|M:ClockId_0_1 -ckid0_2:@|S:nCCAS@|E:WRD[7:0]@|F:@syn_dgcc_clockid0_2==1@|M:ClockId_0_2 -ckid0_3:@|S:nCRAS@|E:RowA[9:0]@|F:@syn_dgcc_clockid0_3==1@|M:ClockId_0_3 +ckid0_0:@|S:RCLK@|E:nRWE@|F:@syn_dgcc_clockid0_0==1@|M:ClockId_0_0 +ckid0_1:@|S:PHI2@|E:RA11@|F:@syn_dgcc_clockid0_1==1@|M:ClockId_0_1 +ckid0_2:@|S:nCCAS@|E:WRD[7:0]@|F:@syn_dgcc_clockid0_2==1@|M:ClockId_0_2 +ckid0_3:@|S:nCRAS@|E:RowA[9:0]@|F:@syn_dgcc_clockid0_3==1@|M:ClockId_0_3 diff --git a/CPLD/LCMXO256C/impl1/synlog/incr_compile.rpt.rptmap b/CPLD/LCMXO256C/impl1/synlog/incr_compile.rpt.rptmap index dbb7528..37531b6 100644 --- a/CPLD/LCMXO256C/impl1/synlog/incr_compile.rpt.rptmap +++ b/CPLD/LCMXO256C/impl1/synlog/incr_compile.rpt.rptmap @@ -1 +1 @@ -./synwork/incr_compile.rpt,incr_compile.rpt,Incremental Compile Report +./synwork/incr_compile.rpt,incr_compile.rpt,Incremental Compile Report diff --git a/CPLD/LCMXO256C/impl1/synlog/layer0.tlg.rptmap b/CPLD/LCMXO256C/impl1/synlog/layer0.tlg.rptmap index 3910cac..2caf2f3 100644 --- a/CPLD/LCMXO256C/impl1/synlog/layer0.tlg.rptmap +++ b/CPLD/LCMXO256C/impl1/synlog/layer0.tlg.rptmap @@ -1 +1 @@ -./synwork/layer0.tlg,layer0.tlg,An incremental, partial HDL compilation log file that may allow early access to errors or other messages. +./synwork/layer0.tlg,layer0.tlg,An incremental, partial HDL compilation log file that may allow early access to errors or other messages. diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_compiler_notes.txt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_compiler_notes.txt index 434a18f..a9d0906 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_compiler_notes.txt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_compiler_notes.txt @@ -1,5 +1,5 @@ -@N|Running in 64-bit mode -@N|Running in 64-bit mode -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -@N|Running in 64-bit mode - +@N|Running in 64-bit mode +@N|Running in 64-bit mode +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +@N|Running in 64-bit mode + diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_notes.txt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_notes.txt index 242ec38..6365806 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_notes.txt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_notes.txt @@ -1,20 +1,20 @@ -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_resourceusage.rpt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_resourceusage.rpt index 35a7999..8aa2c2e 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_resourceusage.rpt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_resourceusage.rpt @@ -1,24 +1,24 @@ -Resource Usage Report -Part: lcmxo256c-3 - -Register bits: 92 of 256 (36%) -PIC Latch: 0 -I/O cells: 67 - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 +Resource Usage Report +Part: lcmxo256c-3 + +Register bits: 92 of 256 (36%) +PIC Latch: 0 +I/O cells: 67 + +Details: +BB: 8 +CCU2: 9 +FD1P3AX: 11 +FD1S3AX: 59 +FD1S3AY: 5 +FD1S3IX: 14 +FD1S3JX: 3 +GSR: 1 +IB: 26 +INV: 8 +OB: 33 +ORCALUT4: 119 +PFUMX: 2 +PUR: 1 +VHI: 1 +VLO: 1 diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_warnings.txt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_warnings.txt index b7e853c..a0096d4 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_warnings.txt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_fpga_mapper_warnings.txt @@ -1,6 +1,6 @@ -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_combined_clk.rpt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_combined_clk.rpt index 7fbc557..88df5e3 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_combined_clk.rpt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_combined_clk.rpt @@ -1,24 +1,24 @@ - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 48 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_notes.txt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_notes.txt index f26ba50..e5e690c 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_notes.txt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_notes.txt @@ -1,27 +1,27 @@ -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -@N: FX493 |Applying initial value "0" on instance InitReady. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) +@N: FX493 |Applying initial value "0" on instance InitReady. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdUFMCS. +@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance CmdSubmitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "1" on instance nUFMCS. +@N: FX493 |Applying initial value "0" on instance UFMSDI. +@N: FX493 |Applying initial value "0" on instance UFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. +@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. diff --git a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_warnings.txt b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_warnings.txt index 81e8ed8..860c24f 100644 --- a/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_warnings.txt +++ b/CPLD/LCMXO256C/impl1/synlog/report/RAM2GS_LCMXO256C_impl1_premap_warnings.txt @@ -1 +1 @@ -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. diff --git a/CPLD/LCMXO256C/impl1/synlog/report/metrics.db b/CPLD/LCMXO256C/impl1/synlog/report/metrics.db index 2836e4c046ed0d53eb5bc7b9c14058eba6d1a291..4d364db33859c6eb05e1f4566f0150b596d99c16 100644 GIT binary patch delta 471 zcmZozz}&Ead4d!Z3)@5)Cm^{oAwrH(Wb#fqjd}?VUTIlrWnRwYg3^-A+*D&dV{=mj z1B2q!e8w~5z-mv6J8 zz#ASW3*N~O>?|31K;-6T+joLGJ{-J?ih{uKC`e7r&P~nDFRC=OG}ALSFfp^R@O458 z4+ZbZbNv<7y}%lP?nlyKVXS9vXkuYv;_C!)zO?7&r~dK<0&IMH82B&p&*6{eSK#}| zw`a4U!wNnzW1ywV{Jgy0oF(}si8=9UK))4RO#Y!D&!p=;Ib2bX(Q9&>q7|d(6N>SQNBl$R7t&d)8#%t~GI_t8 z1ZPfWUUq7cY9r_7+wz(MGCaH<4E)FVd-#L+CHU^~E#b@JGvNKkyN9=l*JHDyfCev< z1`CKotv7QUsP#mVWMYhXlZI}=<9?O4hrs*=lUzE zyMZ+T-HoKd+*r@V$kNQh!q*AnKWW#^PyOW!IGFh7Fz{dGpR-voU;_W-Ip
    -
    -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021
    -#install: C:\lscc\diamond\3.12\synpbase
    -#OS: Windows 8 6.2
    -#Hostname: ZANEPC
    -
    -# Wed Aug 16 04:50:31 2023
    -
    -#Implementation: impl1
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work)
    -Verilog syntax check successful!
    -
    -Compiler output is up to date.  No re-compile necessary
    -
    -Selecting top level module RAM2GS
    -@N:CG364 : RAM2GS-SPI.v(1) | Synthesizing module RAM2GS in library work.
    -Running optimization stage 1 on RAM2GS .......
    -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB)
    -Running optimization stage 2 on RAM2GS .......
    -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB)
    -
    -For a summary of runtime and memory usage per design unit, please see file:
    -==========================================================
    -Linked File:  layer0.rt.csv
    -
    -
    -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:31 2023
    -
    -###########################################################]
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:31 2023
    -
    -###########################################################]
    -
    -For a summary of runtime and memory usage for all design units, please see file:
    -==========================================================
    -Linked File:  RAM2GS_LCMXO256C_impl1_comp.rt.csv
    -
    -@END
    -
    -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:31 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:32 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -# Wed Aug 16 04:50:33 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB)
    -
    -
    -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB)
    -
    -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -Linked File:  RAM2GS_LCMXO256C_impl1_scck.rpt
    -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt"
    -@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    -@N:MF248 :  | Running in 64-bit mode. 
    -@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB)
    -
    -@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    -@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    -@N:FX493 :  | Applying initial value "0" on instance Ready. 
    -@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    -@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    -@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    -@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    -@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    -@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    -@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMCLK. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMCS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMSDI. 
    -@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdSubmitted. 
    -@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    -@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    -@N:FX493 :  | Applying initial value "1" on instance nUFMCS. 
    -@N:FX493 :  | Applying initial value "0" on instance UFMSDI. 
    -@N:FX493 :  | Applying initial value "0" on instance UFMCLK. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    -@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    -
    -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB)
    -
    -
    -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB)
    -
    -
    -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -@N:FX1184 :  | Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS  
    -
    -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -
    -
    -Clock Summary
    -******************
    -
    -          Start     Requested     Requested     Clock        Clock                Clock
    -Level     Clock     Frequency     Period        Type         Group                Load 
    ----------------------------------------------------------------------------------------
    -0 -       RCLK      62.5 MHz      16.000        declared     default_clkgroup     48   
    -                                                                                       
    -0 -       PHI2      2.9 MHz       350.000       declared     default_clkgroup     19   
    -                                                                                       
    -0 -       nCRAS     2.9 MHz       350.000       declared     default_clkgroup     14   
    -                                                                                       
    -0 -       nCCAS     2.9 MHz       350.000       declared     default_clkgroup     8    
    -=======================================================================================
    -
    -
    -
    -Clock Load Summary
    -***********************
    -
    -          Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    -Clock     Load      Pin             Seq Example     Seq Example       Comb Example      
    -----------------------------------------------------------------------------------------
    -RCLK      48        RCLK(port)      CASr2.C         -                 -                 
    -                                                                                        
    -PHI2      19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    -                                                                                        
    -nCRAS     14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    -                                                                                        
    -nCCAS     8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    -========================================================================================
    -
    -ICG Latch Removal Summary:
    -Number of ICG latches removed: 0
    -Number of ICG latches not removed:	0
    -For details review file gcc_ICG_report.rpt
    -
    -
    -@S |Clock Optimization Summary
    -
    -
    -
    -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    -
    -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s)
    -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    -0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    -
    -=========================== Non-Gated/Non-Generated Clocks ============================
    -Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    ----------------------------------------------------------------------------------------
    -ClockId_0_0       RCLK                port                   48         nRWE           
    -ClockId_0_1       PHI2                port                   19         RA11           
    -ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    -ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    -=======================================================================================
    -
    -
    -##### END OF CLOCK OPTIMIZATION REPORT ######
    -
    -@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    -Finished Pre Mapping Phase.
    -
    -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -Pre-mapping successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -# Wed Aug 16 04:50:34 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -# Wed Aug 16 04:50:35 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB)
    -
    -@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    -@N:MF248 :  | Running in 64-bit mode. 
    -@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB)
    -
    -
    -
    -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB)
    -
    -
    -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -@N:MO231 : ram2gs-spi.v(147) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    -@N:MO231 : ram2gs-spi.v(134) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    -@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    -@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    -@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    -@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    -@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    -
    -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 173MB peak: 173MB)
    -
    -
    -Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 174MB peak: 174MB)
    -
    -
    -Available hyper_sources - for debug and ip models
    -	None Found
    -
    -
    -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 175MB peak: 175MB)
    -
    -
    -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB)
    -
    -
    -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB)
    -
    -
    -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB)
    -
    -
    -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB)
    -
    -
    -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB)
    -
    -Pass		 CPU time		Worst Slack		Luts / Registers
    -------------------------------------------------------------
    -   1		0h:00m:01s		    -3.26ns		 127 /        89
    -   2		0h:00m:01s		    -3.23ns		 123 /        89
    -   3		0h:00m:01s		    -3.23ns		 123 /        89
    -   4		0h:00m:01s		    -3.23ns		 123 /        89
    -   5		0h:00m:01s		    -3.23ns		 124 /        89
    -   6		0h:00m:01s		    -3.23ns		 124 /        89
    -@N:FX271 : ram2gs-spi.v(105) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-spi.v(105) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-spi.v(147) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing.
    -Timing driven replication report
    -Added 3 Registers via timing driven replication
    -Added 1 LUTs via timing driven replication
    -
    -   7		0h:00m:01s		    -2.99ns		 128 /        92
    -
    -
    -   8		0h:00m:01s		    -2.99ns		 127 /        92
    -   9		0h:00m:01s		    -3.09ns		 127 /        92
    -  10		0h:00m:01s		    -3.19ns		 127 /        92
    -  11		0h:00m:01s		    -3.19ns		 127 /        92
    -  12		0h:00m:01s		    -3.19ns		 127 /        92
    -
    -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB)
    -
    -
    -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 178MB)
    -
    -
    -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 142MB peak: 179MB)
    -
    -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm
    -
    -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 179MB peak: 179MB)
    -
    -Writing EDIF Netlist and constraint files
    -@N:FX1056 :  | Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi 
    -@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    -
    -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 184MB)
    -
    -
    -Finished Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 184MB peak: 185MB)
    -
    -
    -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB)
    -
    -@N:MT615 :  | Found clock RCLK with period 16.00ns  
    -@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    -@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    -@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    -
    -
    -##### START OF TIMING REPORT #####[
    -# Timing report written on Wed Aug 16 04:50:38 2023
    -#
    -
    -
    -Top view:               RAM2GS
    -Requested Frequency:    2.9 MHz
    -Wire load mode:         top
    -Paths requested:        3
    -Constraint File(s):    D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -                       
    -@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    -
    -@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    -
    -
    -
    -Performance Summary
    -*******************
    -
    -
    -Worst slack in design: -3.705
    -
    -                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    -Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    --------------------------------------------------------------------------------------------------------------------
    -PHI2               2.9 MHz       0.6 MHz       350.000       1646.750      -3.705     declared     default_clkgroup
    -RCLK               62.5 MHz      13.3 MHz      16.000        75.280        -2.312     declared     default_clkgroup
    -nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    -nCRAS              2.9 MHz       0.6 MHz       350.000       1613.150      -3.609     declared     default_clkgroup
    -===================================================================================================================
    -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    -
    -
    -@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    -@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    -
    -
    -
    -Clock Relationships
    -*******************
    -
    -Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    ----------------------------------------------------------------------------------------------------------------
    -Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    ----------------------------------------------------------------------------------------------------------------
    -RCLK      RCLK    |  16.000      7.560   |  No paths    -        |  No paths    -        |  No paths    -      
    -RCLK      PHI2    |  2.000       -1.216  |  No paths    -        |  1.000       -2.312   |  No paths    -      
    -PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.705 
    -PHI2      PHI2    |  No paths    -       |  350.000     343.998  |  175.000     166.500  |  175.000     171.784
    -nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.609 
    -===============================================================================================================
    - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    -       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    -
    -
    -
    -Interface Information 
    -*********************
    -
    -No IO constraint found
    -
    -
    -
    -====================================
    -Detailed Report for Clock: PHI2
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -                 Starting                                           Arrival            
    -Instance         Reference     Type        Pin     Net              Time        Slack  
    -                 Clock                                                                 
    ----------------------------------------------------------------------------------------
    -CmdSubmitted     PHI2          FD1S3AX     Q       CmdSubmitted     1.552       -3.705 
    -CmdUFMCLK        PHI2          FD1P3AX     Q       CmdUFMCLK        1.348       -3.297 
    -CmdUFMCS         PHI2          FD1P3AX     Q       CmdUFMCS         1.348       -3.297 
    -CmdUFMSDI        PHI2          FD1P3AX     Q       CmdUFMSDI        1.348       -3.297 
    -CmdLEDEN         PHI2          FD1P3AX     Q       CmdLEDEN         1.456       -2.216 
    -Cmdn8MEGEN       PHI2          FD1P3AX     Q       Cmdn8MEGEN       1.456       -2.216 
    -Bank[2]          PHI2          FD1S3AX     Q       Bank[2]          1.348       166.500
    -Bank[3]          PHI2          FD1S3AX     Q       Bank[3]          1.348       166.500
    -Bank[4]          PHI2          FD1S3AX     Q       Bank[4]          1.348       166.500
    -Bank[5]          PHI2          FD1S3AX     Q       Bank[5]          1.348       166.500
    -=======================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -                 Starting                                               Required            
    -Instance         Reference     Type        Pin     Net                  Time         Slack  
    -                 Clock                                                                      
    ---------------------------------------------------------------------------------------------
    -UFMCLK           PHI2          FD1S3AX     D       UFMCLK_RNO           -0.003       -3.705 
    -UFMSDI           PHI2          FD1S3AX     D       UFMSDI_RNO           -0.003       -3.705 
    -nUFMCS           PHI2          FD1S3AY     D       nUFMCS_s_0_N_5_i     -0.003       -3.705 
    -LEDEN            PHI2          FD1P3AX     SP      N_33                 0.806        -2.800 
    -n8MEGEN          PHI2          FD1P3AX     SP      N_31                 0.806        -2.800 
    -LEDEN            PHI2          FD1P3AX     D       N_70                 -0.003       -2.216 
    -n8MEGEN          PHI2          FD1P3AX     D       N_69                 -0.003       -2.216 
    -CmdSubmitted     PHI2          FD1S3AX     D       N_460_0              173.997      166.500
    -ADSubmitted      PHI2          FD1S3AX     D       ADSubmitted_r        173.997      167.797
    -C1Submitted      PHI2          FD1S3AX     D       C1Submitted_RNO      173.997      167.797
    -============================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.702
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -3.705
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CmdSubmitted / Q
    -    Ending point:                            UFMCLK / D
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                   Pin      Pin               Arrival     No. of    
    -Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------
    -CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    -CmdSubmitted        Net          -        -       -         -           3         
    -PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    -PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    -N_139_i             Net          -        -       -         -           3         
    -UFMCLK_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    -UFMCLK_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    -UFMCLK_RNO          Net          -        -       -         -           1         
    -UFMCLK              FD1S3AX      D        In      0.000     3.702 r     -         
    -==================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.702
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -3.705
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CmdSubmitted / Q
    -    Ending point:                            nUFMCS / D
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                    Pin      Pin               Arrival     No. of    
    -Name                 Type         Name     Dir     Delay     Time        Fan Out(s)
    ------------------------------------------------------------------------------------
    -CmdSubmitted         FD1S3AX      Q        Out     1.552     1.552 r     -         
    -CmdSubmitted         Net          -        -       -         -           3         
    -PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.552 r     -         
    -PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.393     2.945 r     -         
    -N_139_i              Net          -        -       -         -           3         
    -nUFMCS_s_0_N_5_i     ORCALUT4     A        In      0.000     2.945 r     -         
    -nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.757     3.702 r     -         
    -nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
    -nUFMCS               FD1S3AY      D        In      0.000     3.702 r     -         
    -===================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.702
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -3.705
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CmdSubmitted / Q
    -    Ending point:                            UFMSDI / D
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                   Pin      Pin               Arrival     No. of    
    -Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------
    -CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    -CmdSubmitted        Net          -        -       -         -           3         
    -PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    -PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    -N_139_i             Net          -        -       -         -           3         
    -UFMSDI_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    -UFMSDI_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    -UFMSDI_RNO          Net          -        -       -         -           1         
    -UFMSDI              FD1S3AX      D        In      0.000     3.702 r     -         
    -==================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: RCLK
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -             Starting                                      Arrival           
    -Instance     Reference     Type        Pin     Net         Time        Slack 
    -             Clock                                                           
    ------------------------------------------------------------------------------
    -LEDEN        RCLK          FD1P3AX     Q       LEDEN       1.552       -2.312
    -n8MEGEN      RCLK          FD1P3AX     Q       n8MEGEN     1.456       -2.216
    -FS[13]       RCLK          FD1S3AX     Q       FS[13]      1.552       7.560 
    -FS[14]       RCLK          FD1S3AX     Q       FS[14]      1.552       7.560 
    -FS[15]       RCLK          FD1S3AX     Q       FS[15]      1.552       7.560 
    -FS[17]       RCLK          FD1S3AX     Q       FS[17]      1.552       7.560 
    -S[1]         RCLK          FD1S3IX     Q       S[1]        1.768       8.533 
    -S[0]         RCLK          FD1S3IX     Q       CO0         1.756       8.545 
    -FS[16]       RCLK          FD1S3AX     Q       FS[16]      1.612       8.689 
    -FS[12]       RCLK          FD1S3AX     Q       FS[12]      1.552       8.749 
    -=============================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                               Required           
    -Instance       Reference     Type        Pin     Net                  Time         Slack 
    -               Clock                                                                     
    ------------------------------------------------------------------------------------------
    -CmdLEDEN       RCLK          FD1P3AX     D       N_21_i               -0.003       -2.312
    -XOR8MEG        RCLK          FD1P3AX     D       XOR8MEG_3            -0.003       -2.312
    -Cmdn8MEGEN     RCLK          FD1P3AX     D       N_19_i               -0.003       -2.216
    -RA11           RCLK          FD1S3IX     D       RA11_2               0.997        -1.216
    -UFMSDI         RCLK          FD1S3AX     D       UFMSDI_RNO           14.997       7.560 
    -UFMCLK         RCLK          FD1S3AX     D       UFMCLK_RNO           14.997       7.668 
    -LEDEN          RCLK          FD1P3AX     SP      N_33                 15.806       8.261 
    -n8MEGEN        RCLK          FD1P3AX     SP      N_31                 15.806       8.261 
    -nRCS           RCLK          FD1S3AY     D       N_28_i               14.997       8.533 
    -nUFMCS         RCLK          FD1S3AY     D       nUFMCS_s_0_N_5_i     14.997       8.653 
    -=========================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      2.309
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -2.312
    -
    -    Number of logic level(s):                1
    -    Starting point:                          LEDEN / Q
    -    Ending point:                            CmdLEDEN / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -LEDEN              FD1P3AX      Q        Out     1.552     1.552 r     -         
    -LEDEN              Net          -        -       -         -           3         
    -CmdLEDEN_RNO       ORCALUT4     A        In      0.000     1.552 r     -         
    -CmdLEDEN_RNO       ORCALUT4     Z        Out     0.757     2.309 r     -         
    -N_21_i             Net          -        -       -         -           1         
    -CmdLEDEN           FD1P3AX      D        In      0.000     2.309 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      2.309
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -2.312
    -
    -    Number of logic level(s):                1
    -    Starting point:                          LEDEN / Q
    -    Ending point:                            XOR8MEG / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                      Pin      Pin               Arrival     No. of    
    -Name                   Type         Name     Dir     Delay     Time        Fan Out(s)
    --------------------------------------------------------------------------------------
    -LEDEN                  FD1P3AX      Q        Out     1.552     1.552 r     -         
    -LEDEN                  Net          -        -       -         -           3         
    -XOR8MEG_3_u_0_a3_3     ORCALUT4     B        In      0.000     1.552 r     -         
    -XOR8MEG_3_u_0_a3_3     ORCALUT4     Z        Out     0.757     2.309 f     -         
    -XOR8MEG_3              Net          -        -       -         -           1         
    -XOR8MEG                FD1P3AX      D        In      0.000     2.309 f     -         
    -=====================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      2.213
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -2.216
    -
    -    Number of logic level(s):                1
    -    Starting point:                          n8MEGEN / Q
    -    Ending point:                            Cmdn8MEGEN / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -n8MEGEN            FD1P3AX      Q        Out     1.456     1.456 r     -         
    -n8MEGEN            Net          -        -       -         -           2         
    -Cmdn8MEGEN_RNO     ORCALUT4     C        In      0.000     1.456 r     -         
    -Cmdn8MEGEN_RNO     ORCALUT4     Z        Out     0.757     2.213 r     -         
    -N_19_i             Net          -        -       -         -           1         
    -Cmdn8MEGEN         FD1P3AX      D        In      0.000     2.213 r     -         
    -=================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: nCRAS
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -              Starting                                        Arrival           
    -Instance      Reference     Type        Pin     Net           Time        Slack 
    -              Clock                                                             
    ---------------------------------------------------------------------------------
    -CBR           nCRAS         FD1S3AX     Q       CBR           1.660       -3.609
    -CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.456       -3.513
    -FWEr          nCRAS         FD1S3AX     Q       FWEr          1.552       -3.501
    -FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     1.456       -3.405
    -================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                             Required           
    -Instance       Reference     Type        Pin     Net                Time         Slack 
    -               Clock                                                                   
    ----------------------------------------------------------------------------------------
    -nRWE           nCRAS         FD1S3AY     D       N_39_i             -0.003       -3.609
    -nRowColSel     nCRAS         FD1S3IX     D       nRowColSel_0_0     -0.003       -3.609
    -nRCAS          nCRAS         FD1S3AY     D       N_37_i             -0.003       -3.513
    -RCKEEN         nCRAS         FD1S3AX     D       RCKEEN_8           -0.003       -3.405
    -nRCS           nCRAS         FD1S3AY     D       N_28_i             -0.003       -3.405
    -=======================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.606
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -3.609
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR / Q
    -    Ending point:                            nRWE / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -CBR                FD1S3AX      Q        Out     1.660     1.660 r     -         
    -CBR                Net          -        -       -         -           5         
    -nRWE_RNO_0         ORCALUT4     A        In      0.000     1.660 r     -         
    -nRWE_RNO_0         ORCALUT4     Z        Out     1.189     2.849 f     -         
    -G_17_1             Net          -        -       -         -           1         
    -nRWE_RNO           ORCALUT4     B        In      0.000     2.849 f     -         
    -nRWE_RNO           ORCALUT4     Z        Out     0.757     3.606 r     -         
    -N_39_i             Net          -        -       -         -           1         
    -nRWE               FD1S3AY      D        In      0.000     3.606 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.606
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -3.609
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR / Q
    -    Ending point:                            nRowColSel / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                       Pin      Pin               Arrival     No. of    
    -Name                    Type         Name     Dir     Delay     Time        Fan Out(s)
    ---------------------------------------------------------------------------------------
    -CBR                     FD1S3AX      Q        Out     1.660     1.660 r     -         
    -CBR                     Net          -        -       -         -           5         
    -nRowColSel_0_0_a3_0     ORCALUT4     B        In      0.000     1.660 r     -         
    -nRowColSel_0_0_a3_0     ORCALUT4     Z        Out     1.189     2.849 f     -         
    -N_179                   Net          -        -       -         -           1         
    -nRowColSel_0_0          ORCALUT4     B        In      0.000     2.849 f     -         
    -nRowColSel_0_0          ORCALUT4     Z        Out     0.757     3.606 f     -         
    -nRowColSel_0_0          Net          -        -       -         -           1         
    -nRowColSel              FD1S3IX      D        In      0.000     3.606 f     -         
    -======================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.510
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -3.513
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR_fast / Q
    -    Ending point:                            nRCAS / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                         Pin      Pin               Arrival     No. of    
    -Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------------
    -CBR_fast                  FD1S3AX      Q        Out     1.456     1.456 r     -         
    -CBR_fast                  Net          -        -       -         -           2         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.456 r     -         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.297     2.753 r     -         
    -nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    -nRCAS_RNO                 ORCALUT4     B        In      0.000     2.753 r     -         
    -nRCAS_RNO                 ORCALUT4     Z        Out     0.757     3.510 f     -         
    -N_37_i                    Net          -        -       -         -           1         
    -nRCAS                     FD1S3AY      D        In      0.000     3.510 f     -         
    -========================================================================================
    -
    -
    -
    -##### END OF TIMING REPORT #####]
    -
    -Timing exceptions that could not be applied
    -
    -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB)
    -
    -
    -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB)
    -
    ----------------------------------------
    -Resource Usage Report
    -Part: lcmxo256c-3
    -
    -Register bits: 92 of 256 (36%)
    -PIC Latch:       0
    -I/O cells:       67
    -
    -
    -Details:
    -BB:             8
    -CCU2:           9
    -FD1P3AX:        11
    -FD1S3AX:        59
    -FD1S3AY:        5
    -FD1S3IX:        14
    -FD1S3JX:        3
    -GSR:            1
    -IB:             26
    -INV:            8
    -OB:             33
    -ORCALUT4:       119
    -PFUMX:          2
    -PUR:            1
    -VHI:            1
    -VLO:            1
    -Mapper successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB)
    -
    -Process took 0h:00m:03s realtime, 0h:00m:03s cputime
    -# Wed Aug 16 04:50:38 2023
    -
    -###########################################################]
    -
    -
    +
    +
    +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021
    +#install: C:\lscc\diamond\3.12\synpbase
    +#OS: Windows 8 6.2
    +#Hostname: ZANEMACWIN11
    +
    +# Sat Aug 19 20:53:10 2023
    +
    +#Implementation: impl1
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work)
    +Verilog syntax check successful!
    +Options changed - recompiling
    +Selecting top level module RAM2GS
    +@N:CG364 : RAM2GS-SPI.v(1) | Synthesizing module RAM2GS in library work.
    +Running optimization stage 1 on RAM2GS .......
    +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB)
    +Running optimization stage 2 on RAM2GS .......
    +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB)
    +
    +For a summary of runtime and memory usage per design unit, please see file:
    +==========================================================
    +Linked File:  layer0.rt.csv
    +
    +
    +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:53:11 2023
    +
    +###########################################################]
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:53:11 2023
    +
    +###########################################################]
    +
    +For a summary of runtime and memory usage for all design units, please see file:
    +==========================================================
    +Linked File:  RAM2GS_LCMXO256C_impl1_comp.rt.csv
    +
    +@END
    +
    +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:53:11 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs changed - recompiling
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:53:12 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +Premap Report
    +
    +
    +
    +
    +
    +# Sat Aug 19 20:53:12 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +
    +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 132MB peak: 140MB)
    +
    +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +Linked File:  RAM2GS_LCMXO256C_impl1_scck.rpt
    +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_scck.rpt"
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB)
    +
    +@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance Ready. 
    +@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    +@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    +@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMCLK. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMCS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMSDI. 
    +@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdSubmitted. 
    +@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    +@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    +@N:FX493 :  | Applying initial value "1" on instance nUFMCS. 
    +@N:FX493 :  | Applying initial value "0" on instance UFMSDI. 
    +@N:FX493 :  | Applying initial value "0" on instance UFMCLK. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    +@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    +
    +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +@N:FX1184 :  | Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS  
    +
    +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +
    +Clock Summary
    +******************
    +
    +          Start     Requested     Requested     Clock        Clock                Clock
    +Level     Clock     Frequency     Period        Type         Group                Load 
    +---------------------------------------------------------------------------------------
    +0 -       RCLK      62.5 MHz      16.000        declared     default_clkgroup     48   
    +                                                                                       
    +0 -       PHI2      2.9 MHz       350.000       declared     default_clkgroup     19   
    +                                                                                       
    +0 -       nCRAS     2.9 MHz       350.000       declared     default_clkgroup     14   
    +                                                                                       
    +0 -       nCCAS     2.9 MHz       350.000       declared     default_clkgroup     8    
    +=======================================================================================
    +
    +
    +
    +Clock Load Summary
    +***********************
    +
    +          Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    +Clock     Load      Pin             Seq Example     Seq Example       Comb Example      
    +----------------------------------------------------------------------------------------
    +RCLK      48        RCLK(port)      CASr2.C         -                 -                 
    +                                                                                        
    +PHI2      19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    +                                                                                        
    +nCRAS     14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    +                                                                                        
    +nCCAS     8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    +========================================================================================
    +
    +ICG Latch Removal Summary:
    +Number of ICG latches removed: 0
    +Number of ICG latches not removed:	0
    +For details review file gcc_ICG_report.rpt
    +
    +
    +@S |Clock Optimization Summary
    +
    +
    +
    +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    +
    +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s)
    +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    +0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    +
    +=========================== Non-Gated/Non-Generated Clocks ============================
    +Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    +---------------------------------------------------------------------------------------
    +ClockId_0_0       RCLK                port                   48         nRWE           
    +ClockId_0_1       PHI2                port                   19         RA11           
    +ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    +ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    +=======================================================================================
    +
    +
    +##### END OF CLOCK OPTIMIZATION REPORT ######
    +
    +@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    +Finished Pre Mapping Phase.
    +
    +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB)
    +
    +Pre-mapping successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +# Sat Aug 19 20:53:14 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +Map & Optimize Report
    +
    +
    +
    +
    +
    +# Sat Aug 19 20:53:14 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB)
    +
    +
    +
    +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB)
    +
    +
    +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB)
    +
    +@N:MO231 : ram2gs-spi.v(147) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    +@N:MO231 : ram2gs-spi.v(134) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    +@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    +
    +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB)
    +
    +
    +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB)
    +
    +
    +Available hyper_sources - for debug and ip models
    +	None Found
    +
    +
    +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB)
    +
    +
    +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB)
    +
    +
    +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB)
    +
    +Pass		 CPU time		Worst Slack		Luts / Registers
    +------------------------------------------------------------
    +   1		0h:00m:01s		    -3.26ns		 127 /        89
    +   2		0h:00m:01s		    -3.23ns		 123 /        89
    +   3		0h:00m:01s		    -3.23ns		 123 /        89
    +   4		0h:00m:01s		    -3.23ns		 123 /        89
    +   5		0h:00m:01s		    -3.23ns		 124 /        89
    +   6		0h:00m:01s		    -3.23ns		 124 /        89
    +@N:FX271 : ram2gs-spi.v(105) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-spi.v(105) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-spi.v(147) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing.
    +Timing driven replication report
    +Added 3 Registers via timing driven replication
    +Added 1 LUTs via timing driven replication
    +
    +   7		0h:00m:01s		    -2.99ns		 128 /        92
    +
    +
    +   8		0h:00m:01s		    -2.99ns		 127 /        92
    +   9		0h:00m:01s		    -3.09ns		 127 /        92
    +  10		0h:00m:01s		    -3.19ns		 127 /        92
    +  11		0h:00m:01s		    -3.19ns		 127 /        92
    +  12		0h:00m:01s		    -3.19ns		 127 /        92
    +
    +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB)
    +
    +
    +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 190MB peak: 190MB)
    +
    +
    +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB)
    +
    +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_m.srm
    +
    +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 192MB peak: 192MB)
    +
    +Writing EDIF Netlist and constraint files
    +@N:FX1056 :  | Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi 
    +@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    +
    +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB)
    +
    +
    +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:02s; Memory used current: 196MB peak: 196MB)
    +
    +
    +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB)
    +
    +@N:MT615 :  | Found clock RCLK with period 16.00ns  
    +@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    +@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    +@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    +
    +
    +##### START OF TIMING REPORT #####[
    +# Timing report written on Sat Aug 19 20:53:17 2023
    +#
    +
    +
    +Top view:               RAM2GS
    +Requested Frequency:    2.9 MHz
    +Wire load mode:         top
    +Paths requested:        3
    +Constraint File(s):    Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +                       
    +@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    +
    +@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    +
    +
    +
    +Performance Summary
    +*******************
    +
    +
    +Worst slack in design: -3.705
    +
    +                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    +Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    +-------------------------------------------------------------------------------------------------------------------
    +PHI2               2.9 MHz       0.6 MHz       350.000       1646.750      -3.705     declared     default_clkgroup
    +RCLK               62.5 MHz      13.3 MHz      16.000        75.280        -2.312     declared     default_clkgroup
    +nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    +nCRAS              2.9 MHz       0.6 MHz       350.000       1613.150      -3.609     declared     default_clkgroup
    +===================================================================================================================
    +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    +
    +
    +@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    +
    +
    +
    +Clock Relationships
    +*******************
    +
    +Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    +---------------------------------------------------------------------------------------------------------------
    +Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    +---------------------------------------------------------------------------------------------------------------
    +RCLK      RCLK    |  16.000      7.560   |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      PHI2    |  2.000       -1.216  |  No paths    -        |  1.000       -2.312   |  No paths    -      
    +PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.705 
    +PHI2      PHI2    |  No paths    -       |  350.000     343.998  |  175.000     166.500  |  175.000     171.784
    +nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.609 
    +===============================================================================================================
    + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    +       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    +
    +
    +
    +Interface Information 
    +*********************
    +
    +No IO constraint found
    +
    +
    +
    +====================================
    +Detailed Report for Clock: PHI2
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +                 Starting                                           Arrival            
    +Instance         Reference     Type        Pin     Net              Time        Slack  
    +                 Clock                                                                 
    +---------------------------------------------------------------------------------------
    +CmdSubmitted     PHI2          FD1S3AX     Q       CmdSubmitted     1.552       -3.705 
    +CmdUFMCLK        PHI2          FD1P3AX     Q       CmdUFMCLK        1.348       -3.297 
    +CmdUFMCS         PHI2          FD1P3AX     Q       CmdUFMCS         1.348       -3.297 
    +CmdUFMSDI        PHI2          FD1P3AX     Q       CmdUFMSDI        1.348       -3.297 
    +CmdLEDEN         PHI2          FD1P3AX     Q       CmdLEDEN         1.456       -2.216 
    +Cmdn8MEGEN       PHI2          FD1P3AX     Q       Cmdn8MEGEN       1.456       -2.216 
    +Bank[2]          PHI2          FD1S3AX     Q       Bank[2]          1.348       166.500
    +Bank[3]          PHI2          FD1S3AX     Q       Bank[3]          1.348       166.500
    +Bank[4]          PHI2          FD1S3AX     Q       Bank[4]          1.348       166.500
    +Bank[5]          PHI2          FD1S3AX     Q       Bank[5]          1.348       166.500
    +=======================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +                 Starting                                               Required            
    +Instance         Reference     Type        Pin     Net                  Time         Slack  
    +                 Clock                                                                      
    +--------------------------------------------------------------------------------------------
    +UFMCLK           PHI2          FD1S3AX     D       UFMCLK_RNO           -0.003       -3.705 
    +UFMSDI           PHI2          FD1S3AX     D       UFMSDI_RNO           -0.003       -3.705 
    +nUFMCS           PHI2          FD1S3AY     D       nUFMCS_s_0_N_5_i     -0.003       -3.705 
    +LEDEN            PHI2          FD1P3AX     SP      N_33                 0.806        -2.800 
    +n8MEGEN          PHI2          FD1P3AX     SP      N_31                 0.806        -2.800 
    +LEDEN            PHI2          FD1P3AX     D       N_70                 -0.003       -2.216 
    +n8MEGEN          PHI2          FD1P3AX     D       N_69                 -0.003       -2.216 
    +CmdSubmitted     PHI2          FD1S3AX     D       N_460_0              173.997      166.500
    +ADSubmitted      PHI2          FD1S3AX     D       ADSubmitted_r        173.997      167.797
    +C1Submitted      PHI2          FD1S3AX     D       C1Submitted_RNO      173.997      167.797
    +============================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.702
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -3.705
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CmdSubmitted / Q
    +    Ending point:                            UFMCLK / D
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                   Pin      Pin               Arrival     No. of    
    +Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------
    +CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    +CmdSubmitted        Net          -        -       -         -           3         
    +PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    +PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    +N_139_i             Net          -        -       -         -           3         
    +UFMCLK_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    +UFMCLK_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    +UFMCLK_RNO          Net          -        -       -         -           1         
    +UFMCLK              FD1S3AX      D        In      0.000     3.702 r     -         
    +==================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.702
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -3.705
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CmdSubmitted / Q
    +    Ending point:                            nUFMCS / D
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                    Pin      Pin               Arrival     No. of    
    +Name                 Type         Name     Dir     Delay     Time        Fan Out(s)
    +-----------------------------------------------------------------------------------
    +CmdSubmitted         FD1S3AX      Q        Out     1.552     1.552 r     -         
    +CmdSubmitted         Net          -        -       -         -           3         
    +PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.552 r     -         
    +PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.393     2.945 r     -         
    +N_139_i              Net          -        -       -         -           3         
    +nUFMCS_s_0_N_5_i     ORCALUT4     A        In      0.000     2.945 r     -         
    +nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.757     3.702 r     -         
    +nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
    +nUFMCS               FD1S3AY      D        In      0.000     3.702 r     -         
    +===================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.702
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -3.705
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CmdSubmitted / Q
    +    Ending point:                            UFMSDI / D
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                   Pin      Pin               Arrival     No. of    
    +Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------
    +CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    +CmdSubmitted        Net          -        -       -         -           3         
    +PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    +PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    +N_139_i             Net          -        -       -         -           3         
    +UFMSDI_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    +UFMSDI_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    +UFMSDI_RNO          Net          -        -       -         -           1         
    +UFMSDI              FD1S3AX      D        In      0.000     3.702 r     -         
    +==================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: RCLK
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +             Starting                                      Arrival           
    +Instance     Reference     Type        Pin     Net         Time        Slack 
    +             Clock                                                           
    +-----------------------------------------------------------------------------
    +LEDEN        RCLK          FD1P3AX     Q       LEDEN       1.552       -2.312
    +n8MEGEN      RCLK          FD1P3AX     Q       n8MEGEN     1.456       -2.216
    +FS[13]       RCLK          FD1S3AX     Q       FS[13]      1.552       7.560 
    +FS[14]       RCLK          FD1S3AX     Q       FS[14]      1.552       7.560 
    +FS[15]       RCLK          FD1S3AX     Q       FS[15]      1.552       7.560 
    +FS[17]       RCLK          FD1S3AX     Q       FS[17]      1.552       7.560 
    +S[1]         RCLK          FD1S3IX     Q       S[1]        1.768       8.533 
    +S[0]         RCLK          FD1S3IX     Q       CO0         1.756       8.545 
    +FS[16]       RCLK          FD1S3AX     Q       FS[16]      1.612       8.689 
    +FS[12]       RCLK          FD1S3AX     Q       FS[12]      1.552       8.749 
    +=============================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                               Required           
    +Instance       Reference     Type        Pin     Net                  Time         Slack 
    +               Clock                                                                     
    +-----------------------------------------------------------------------------------------
    +CmdLEDEN       RCLK          FD1P3AX     D       N_21_i               -0.003       -2.312
    +XOR8MEG        RCLK          FD1P3AX     D       XOR8MEG_3            -0.003       -2.312
    +Cmdn8MEGEN     RCLK          FD1P3AX     D       N_19_i               -0.003       -2.216
    +RA11           RCLK          FD1S3IX     D       RA11_2               0.997        -1.216
    +UFMSDI         RCLK          FD1S3AX     D       UFMSDI_RNO           14.997       7.560 
    +UFMCLK         RCLK          FD1S3AX     D       UFMCLK_RNO           14.997       7.668 
    +LEDEN          RCLK          FD1P3AX     SP      N_33                 15.806       8.261 
    +n8MEGEN        RCLK          FD1P3AX     SP      N_31                 15.806       8.261 
    +nRCS           RCLK          FD1S3AY     D       N_28_i               14.997       8.533 
    +nUFMCS         RCLK          FD1S3AY     D       nUFMCS_s_0_N_5_i     14.997       8.653 
    +=========================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      2.309
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -2.312
    +
    +    Number of logic level(s):                1
    +    Starting point:                          LEDEN / Q
    +    Ending point:                            CmdLEDEN / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +LEDEN              FD1P3AX      Q        Out     1.552     1.552 r     -         
    +LEDEN              Net          -        -       -         -           3         
    +CmdLEDEN_RNO       ORCALUT4     A        In      0.000     1.552 r     -         
    +CmdLEDEN_RNO       ORCALUT4     Z        Out     0.757     2.309 r     -         
    +N_21_i             Net          -        -       -         -           1         
    +CmdLEDEN           FD1P3AX      D        In      0.000     2.309 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      2.309
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -2.312
    +
    +    Number of logic level(s):                1
    +    Starting point:                          LEDEN / Q
    +    Ending point:                            XOR8MEG / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                      Pin      Pin               Arrival     No. of    
    +Name                   Type         Name     Dir     Delay     Time        Fan Out(s)
    +-------------------------------------------------------------------------------------
    +LEDEN                  FD1P3AX      Q        Out     1.552     1.552 r     -         
    +LEDEN                  Net          -        -       -         -           3         
    +XOR8MEG_3_u_0_a3_3     ORCALUT4     B        In      0.000     1.552 r     -         
    +XOR8MEG_3_u_0_a3_3     ORCALUT4     Z        Out     0.757     2.309 f     -         
    +XOR8MEG_3              Net          -        -       -         -           1         
    +XOR8MEG                FD1P3AX      D        In      0.000     2.309 f     -         
    +=====================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      2.213
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -2.216
    +
    +    Number of logic level(s):                1
    +    Starting point:                          n8MEGEN / Q
    +    Ending point:                            Cmdn8MEGEN / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +n8MEGEN            FD1P3AX      Q        Out     1.456     1.456 r     -         
    +n8MEGEN            Net          -        -       -         -           2         
    +Cmdn8MEGEN_RNO     ORCALUT4     C        In      0.000     1.456 r     -         
    +Cmdn8MEGEN_RNO     ORCALUT4     Z        Out     0.757     2.213 r     -         
    +N_19_i             Net          -        -       -         -           1         
    +Cmdn8MEGEN         FD1P3AX      D        In      0.000     2.213 r     -         
    +=================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: nCRAS
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +              Starting                                        Arrival           
    +Instance      Reference     Type        Pin     Net           Time        Slack 
    +              Clock                                                             
    +--------------------------------------------------------------------------------
    +CBR           nCRAS         FD1S3AX     Q       CBR           1.660       -3.609
    +CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.456       -3.513
    +FWEr          nCRAS         FD1S3AX     Q       FWEr          1.552       -3.501
    +FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     1.456       -3.405
    +================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                             Required           
    +Instance       Reference     Type        Pin     Net                Time         Slack 
    +               Clock                                                                   
    +---------------------------------------------------------------------------------------
    +nRWE           nCRAS         FD1S3AY     D       N_39_i             -0.003       -3.609
    +nRowColSel     nCRAS         FD1S3IX     D       nRowColSel_0_0     -0.003       -3.609
    +nRCAS          nCRAS         FD1S3AY     D       N_37_i             -0.003       -3.513
    +RCKEEN         nCRAS         FD1S3AX     D       RCKEEN_8           -0.003       -3.405
    +nRCS           nCRAS         FD1S3AY     D       N_28_i             -0.003       -3.405
    +=======================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.606
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -3.609
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRWE / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +CBR                FD1S3AX      Q        Out     1.660     1.660 r     -         
    +CBR                Net          -        -       -         -           5         
    +nRWE_RNO_0         ORCALUT4     A        In      0.000     1.660 r     -         
    +nRWE_RNO_0         ORCALUT4     Z        Out     1.189     2.849 f     -         
    +G_17_1             Net          -        -       -         -           1         
    +nRWE_RNO           ORCALUT4     B        In      0.000     2.849 f     -         
    +nRWE_RNO           ORCALUT4     Z        Out     0.757     3.606 r     -         
    +N_39_i             Net          -        -       -         -           1         
    +nRWE               FD1S3AY      D        In      0.000     3.606 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.606
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -3.609
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRowColSel / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                       Pin      Pin               Arrival     No. of    
    +Name                    Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------
    +CBR                     FD1S3AX      Q        Out     1.660     1.660 r     -         
    +CBR                     Net          -        -       -         -           5         
    +nRowColSel_0_0_a3_0     ORCALUT4     B        In      0.000     1.660 r     -         
    +nRowColSel_0_0_a3_0     ORCALUT4     Z        Out     1.189     2.849 f     -         
    +N_179                   Net          -        -       -         -           1         
    +nRowColSel_0_0          ORCALUT4     B        In      0.000     2.849 f     -         
    +nRowColSel_0_0          ORCALUT4     Z        Out     0.757     3.606 f     -         
    +nRowColSel_0_0          Net          -        -       -         -           1         
    +nRowColSel              FD1S3IX      D        In      0.000     3.606 f     -         
    +======================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.510
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -3.513
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRCAS / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                         Pin      Pin               Arrival     No. of    
    +Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------------
    +CBR_fast                  FD1S3AX      Q        Out     1.456     1.456 r     -         
    +CBR_fast                  Net          -        -       -         -           2         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.456 r     -         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.297     2.753 r     -         
    +nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    +nRCAS_RNO                 ORCALUT4     B        In      0.000     2.753 r     -         
    +nRCAS_RNO                 ORCALUT4     Z        Out     0.757     3.510 f     -         
    +N_37_i                    Net          -        -       -         -           1         
    +nRCAS                     FD1S3AY      D        In      0.000     3.510 f     -         
    +========================================================================================
    +
    +
    +
    +##### END OF TIMING REPORT #####]
    +
    +Timing exceptions that could not be applied
    +
    +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB)
    +
    +
    +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB)
    +
    +---------------------------------------
    +Resource Usage Report
    +Part: lcmxo256c-3
    +
    +Register bits: 92 of 256 (36%)
    +PIC Latch:       0
    +I/O cells:       67
    +
    +
    +Details:
    +BB:             8
    +CCU2:           9
    +FD1P3AX:        11
    +FD1S3AX:        59
    +FD1S3AY:        5
    +FD1S3IX:        14
    +FD1S3JX:        3
    +GSR:            1
    +IB:             26
    +INV:            8
    +OB:             33
    +ORCALUT4:       119
    +PFUMX:          2
    +PUR:            1
    +VHI:            1
    +VLO:            1
    +Mapper successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 80MB peak: 196MB)
    +
    +Process took 0h:00m:03s realtime, 0h:00m:03s cputime
    +# Sat Aug 19 20:53:17 2023
    +
    +###########################################################]
    +
    +
    diff --git a/CPLD/LCMXO256C/impl1/syntmp/RAM2GS_LCMXO256C_impl1_toc.htm b/CPLD/LCMXO256C/impl1/syntmp/RAM2GS_LCMXO256C_impl1_toc.htm index e8dadfb..7437861 100644 --- a/CPLD/LCMXO256C/impl1/syntmp/RAM2GS_LCMXO256C_impl1_toc.htm +++ b/CPLD/LCMXO256C/impl1/syntmp/RAM2GS_LCMXO256C_impl1_toc.htm @@ -1,58 +1,58 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_compiler.log b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_compiler.log index 70ffc45..02179b4 100644 --- a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_compiler.log +++ b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_compiler.log @@ -1,10 +1,10 @@ -C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -top RAM2GS -hdllog D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C -I D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v -jobname "compiler" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\RAM2GS_LCMXO256C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I ..\..\..\LCMXO256C -I ..\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen ..\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 ..\..\..\RAM2GS-SPI.v -jobname "compiler" -rc:0 success:1 runtime:1 -file:..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs|io:o|time:1692175831|size:10550|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO256C_impl1_compiler.srr|io:o|time:1692175831|size:4581|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: -file:..\..\..\RAM2GS-SPI.v|io:i|time:1692174460|size:11765|exec:0|csum:DDFDD384E6E6239925365D2C41FC9773 -file:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe|io:i|time:1628601404|size:5754368|exec:1|csum:EF00E91BAA13FCD84C7D68B353143F73 +C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -top RAM2GS -hdllog Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I Y:\Repos\RAM2GS\CPLD\LCMXO256C -I Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v -jobname "compiler" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\RAM2GS_LCMXO256C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I ..\..\..\LCMXO256C -I ..\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen ..\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 ..\..\..\RAM2GS-SPI.v -jobname "compiler" +rc:0 success:1 runtime:2 +file:..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs|io:o|time:1692492791|size:10493|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO256C_impl1_compiler.srr|io:o|time:1692492791|size:4494|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: +file:..\..\..\RAM2GS-SPI.v|io:i|time:1692234355|size:14885|exec:0|csum:22AA32E3708F79533C7AD37D1C9B8166 +file:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe|io:i|time:1628601404|size:5754368|exec:1|csum:EF00E91BAA13FCD84C7D68B353143F73 diff --git a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_fpga_mapper.log b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_fpga_mapper.log index 4997ccb..a0c79e8 100644 --- a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_fpga_mapper.log +++ b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_fpga_mapper.log @@ -1,12 +1,12 @@ -C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synlog\report\RAM2GS_LCMXO256C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -freq 70.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\syntmp\RAM2GS_LCMXO256C_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm -prjdir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\ -prjname proj_1 -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO256C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO256C_impl1.edi -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO256C_impl1.plg -osyn ..\RAM2GS_LCMXO256C_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO256C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" -rc:1 success:1 runtime:4 -file:..\RAM2GS_LCMXO256C_impl1.edi|io:o|time:1692175837|size:125385|exec:0|csum: -file:..\..\..\RAM2GS.sdc|io:i|time:1692153140|size:181|exec:0|csum:86E5121E7073876CE838886B655C290C -file:..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd|io:i|time:1692175834|size:15189|exec:0|csum:7FED0757093D1004AA4D110C5A40C760 -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:RAM2GS_LCMXO256C_impl1.plg|io:o|time:1692175838|size:854|exec:0|csum: -file:..\RAM2GS_LCMXO256C_impl1.srm|io:o|time:1692175837|size:29138|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO256C_impl1_fpga_mapper.srr|io:o|time:1692175838|size:35917|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 +C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synlog\report\RAM2GS_LCMXO256C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -freq 70.000 -tcl Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\syntmp\RAM2GS_LCMXO256C_impl1.plg -osyn Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.srm -prjdir Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\ -prjname proj_1 -log Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO256C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO256C_impl1.edi -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO256C_impl1.plg -osyn ..\RAM2GS_LCMXO256C_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO256C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +rc:1 success:1 runtime:3 +file:..\RAM2GS_LCMXO256C_impl1.edi|io:o|time:1692492797|size:125386|exec:0|csum: +file:..\..\..\RAM2GS.sdc|io:i|time:1692234355|size:177|exec:0|csum:D3C84F35CD07AA1A8E8B9E68D571CD53 +file:..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd|io:i|time:1692492793|size:16783|exec:0|csum:62DD21FEC921FA060970A12A8F713254 +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:RAM2GS_LCMXO256C_impl1.plg|io:o|time:1692492797|size:854|exec:0|csum: +file:..\RAM2GS_LCMXO256C_impl1.srm|io:o|time:1692492796|size:29196|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO256C_impl1_fpga_mapper.srr|io:o|time:1692492797|size:35763|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 diff --git a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_multi_srs_gen.log b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_multi_srs_gen.log index 1b897e6..078773e 100644 --- a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_multi_srs_gen.log +++ b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_multi_srs_gen.log @@ -1,7 +1,7 @@ -C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr -relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -osyn ..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -log ..\synlog\RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr -rc:0 success:1 runtime:1 -file:..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs|io:i|time:1692175831|size:10550|exec:0|csum:3E9A22EDAAEC35E9596A07EAB1D8F12D -file:..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs|io:o|time:1692175832|size:10295|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr|io:o|time:1692175832|size:1157|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe|io:i|time:1628601758|size:8899584|exec:1|csum:163057E8B8449A642661642A20A2247D +C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -osyn Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -log Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr +relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs -osyn ..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -log ..\synlog\RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr +rc:0 success:1 runtime:0 +file:..\synwork\RAM2GS_LCMXO256C_impl1_comp.srs|io:i|time:1692492791|size:10493|exec:0|csum:3DEB59A735D21796D5257278F4A13B73 +file:..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs|io:o|time:1692492792|size:10369|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO256C_impl1_multi_srs_gen.srr|io:o|time:1692492792|size:1163|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe|io:i|time:1628601758|size:8899584|exec:1|csum:163057E8B8449A642661642A20A2247D diff --git a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_premap.log b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_premap.log index 4db752c..648bdd2 100644 --- a/CPLD/LCMXO256C/impl1/syntmp/cmdrec_premap.log +++ b/CPLD/LCMXO256C/impl1/syntmp/cmdrec_premap.log @@ -1,14 +1,14 @@ -C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synlog\report\RAM2GS_LCMXO256C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -conchk_prepass D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_cck.rpt -freq 70.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -flow prepass -gcc_prepass -osrd D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\syntmp\RAM2GS_LCMXO256C_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -prjdir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\ -prjname proj_1 -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_premap.srr -sn 2021.03 -jobname "premap" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO256C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO256C_impl1.edi -conchk_prepass ..\RAM2GS_LCMXO256C_impl1_cck.rpt -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO256C_impl1.plg -osyn ..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO256C_impl1_premap.srr -sn 2021.03 -jobname "premap" -rc:1 success:1 runtime:1 -file:..\RAM2GS_LCMXO256C_impl1.edi|io:o|time:1692174576|size:125385|exec:0|csum: -file:..\RAM2GS_LCMXO256C_impl1_cck.rpt|io:o|time:1692175834|size:4751|exec:0|csum: -file:..\..\..\RAM2GS.sdc|io:i|time:1692153140|size:181|exec:0|csum:86E5121E7073876CE838886B655C290C -file:..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs|io:i|time:1692175832|size:10295|exec:0|csum:3B66F8D0469AB260AA4EC9F5FAA00B75 -file:..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd|io:o|time:1692175834|size:15189|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:RAM2GS_LCMXO256C_impl1.plg|io:o|time:1692175833|size:0|exec:0|csum: -file:..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd|io:o|time:1692175834|size:15189|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO256C_impl1_premap.srr|io:o|time:1692175834|size:8417|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 +C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synlog\report\RAM2GS_LCMXO256C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1.edi -conchk_prepass Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\RAM2GS_LCMXO256C_impl1_cck.rpt -freq 70.000 -tcl Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -flow prepass -gcc_prepass -osrd Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\syntmp\RAM2GS_LCMXO256C_impl1.plg -osyn Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -prjdir Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\ -prjname proj_1 -log Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synlog\RAM2GS_LCMXO256C_impl1_premap.srr -sn 2021.03 -jobname "premap" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO256C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO256C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO256C_impl1.edi -conchk_prepass ..\RAM2GS_LCMXO256C_impl1_cck.rpt -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO256C_impl1.plg -osyn ..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO256C_impl1_premap.srr -sn 2021.03 -jobname "premap" +rc:1 success:1 runtime:2 +file:..\RAM2GS_LCMXO256C_impl1.edi|io:o|time:1692234355|size:122599|exec:0|csum: +file:..\RAM2GS_LCMXO256C_impl1_cck.rpt|io:o|time:1692492793|size:4637|exec:0|csum: +file:..\..\..\RAM2GS.sdc|io:i|time:1692234355|size:177|exec:0|csum:D3C84F35CD07AA1A8E8B9E68D571CD53 +file:..\synwork\RAM2GS_LCMXO256C_impl1_mult.srs|io:i|time:1692492792|size:10369|exec:0|csum:C61B4444F963CDC69E144A3481F5769D +file:..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd|io:o|time:1692492793|size:16783|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:RAM2GS_LCMXO256C_impl1.plg|io:o|time:1692492793|size:0|exec:0|csum: +file:..\synwork\RAM2GS_LCMXO256C_impl1_prem.srd|io:o|time:1692492793|size:16783|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO256C_impl1_premap.srr|io:o|time:1692492794|size:8364|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 diff --git a/CPLD/LCMXO256C/impl1/syntmp/statusReport.html b/CPLD/LCMXO256C/impl1/syntmp/statusReport.html index 18b9fef..13a320a 100644 --- a/CPLD/LCMXO256C/impl1/syntmp/statusReport.html +++ b/CPLD/LCMXO256C/impl1/syntmp/statusReport.html @@ -1,115 +1,115 @@ - - - Project Status Summary Page - - - - - - -
    - - - - - - - - - - -
    Project Settings
    Project Name proj_1 Device Name impl1: Lattice MachXO : LCMXO256C
    Implementation Name impl1 Top Module RAM2GS
    Pipelining 0 Retiming 0
    Resource Sharing 1 Fanout Guide 1000
    Disable I/O Insertion 0 Disable Sequential Optimizations 0
    Clock Conversion 1 FSM Compiler 1

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Run Status
    Job NameStatusCPU TimeReal TimeMemoryDate/Time
    (compiler)Complete400-00m:00s-8/16/2023
    4:50:31 AM
    (premap)Complete27100m:01s0m:01s173MB8/16/2023
    4:50:34 AM
    (fpga_mapper)Complete20600m:03s0m:03s185MB8/16/2023
    4:50:38 AM
    Multi-srs GeneratorComplete00m:01s8/16/2023
    4:50:32 AM
    -
    - - - - - - - - - - - - - - - - -
    Area Summary
    Register bits 92I/O cells 67
    Block RAMs -(v_ram) 0DSPs -(dsp_used) 0
    ORCA LUTs -(total_luts) 119

    - - - - - - - - - - - -
    Timing Summary
    Clock NameReq FreqEst FreqSlack
    PHI22.9 MHz0.6 MHz-3.705
    RCLK62.5 MHz13.3 MHz-2.312
    nCCAS2.9 MHzNANA
    nCRAS2.9 MHz0.6 MHz-3.609
    -
    - - - - - - -
    Optimizations Summary
    Combined Clock Conversion 4 / 0

    -
    -
    + + + Project Status Summary Page + + + + + + +
    + + + + + + + + + + +
    Project Settings
    Project Name proj_1 Device Name impl1: Lattice MachXO : LCMXO256C
    Implementation Name impl1 Top Module RAM2GS
    Pipelining 0 Retiming 0
    Resource Sharing 1 Fanout Guide 1000
    Disable I/O Insertion 0 Disable Sequential Optimizations 0
    Clock Conversion 1 FSM Compiler 1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Run Status
    Job NameStatusCPU TimeReal TimeMemoryDate/Time
    (compiler)Complete400-00m:01s-8/19/2023
    8:53:11 PM
    (premap)Complete27100m:01s0m:01s184MB8/19/2023
    8:53:13 PM
    (fpga_mapper)Complete20600m:03s0m:03s196MB8/19/2023
    8:53:17 PM
    Multi-srs GeneratorComplete8/19/2023
    8:53:12 PM
    +
    + + + + + + + + + + + + + + + + +
    Area Summary
    Register bits 92I/O cells 67
    Block RAMs +(v_ram) 0DSPs +(dsp_used) 0
    ORCA LUTs +(total_luts) 119

    + + + + + + + + + + + +
    Timing Summary
    Clock NameReq FreqEst FreqSlack
    PHI22.9 MHz0.6 MHz-3.705
    RCLK62.5 MHz13.3 MHz-2.312
    nCCAS2.9 MHzNANA
    nCRAS2.9 MHz0.6 MHz-3.609
    +
    + + + + + + +
    Optimizations Summary
    Combined Clock Conversion 4 / 0

    +
    +
    \ No newline at end of file diff --git a/CPLD/LCMXO256C/impl1/synwork/.cckTransfer b/CPLD/LCMXO256C/impl1/synwork/.cckTransfer index f6339db7f319334e1dfc805b12bf0b0044a89d5e..bb39f4206380c69e0058986c2a1dc08efb1ac8d5 100644 GIT binary patch delta 417 zcmV;S0bc&m1JDDIIe!vh)DzT+ai#TyeTVJ2!%D4^z^XC=Ex(?D0~fCN=4b2aefGlz zjICS?7ym|JH_nL|a`Y`?XF*Eb1;lLhal$S0{K7xAVD%uIAupxtPQx;`nV=umaY=aD zF4xfgI({L{AbefWb(f(*xs`Z!o!$^`hu3&~_4v6PmJYUy5`RkwhZcspe+ZNQ)db;~ z>CQ95a>AHLggJ7N^S(0j1>lN}5&^srq3-hSV7U22J%$wa+bkMYuXf<(c4Tt%; z$0#Gnr)s!{mVe_G>qlbj-CemDW)ylhWRG6;eCao@x5$22xEXP|cl#%KYa~ zbCT6ICe0*j2!v4i=dnb%%Cu*t)b!28aj#5dl^wLpI6tqz@YuawZceA0p?+vNU7F_d zAFB!W{ahX*Ytt`J`1!86`q4v&D{=R#b%H1AxzYO*vKqP>pBsChnyaSPF8}}l|NjF3 LB}5^VwE_SDk~Y(E delta 418 zcmV;T0bTyk1JMJJIe)Uis3%w_#+BAH^c}Y6O;>7_gsv(h(DLgUIB?;LZ+^C(-e(^# zV64-%@Z{eJ?8Z3}Lk_-1Y%ItWHvusleIBu6F0cGc3sw)Z8uC1K-Dx`yZ6@faWtbCQ zxAQf0zYJdq1%&4rU3b|wn06A+uH!qxZu=IGZyq1I?cBjOQGenT!d(kP>5pO5znUN% zGTnM+SWX!7fKY-cXG(%pcv+1oE5tIKr^&^sPT`R@f;gFkHU^YC>ucPUu||Uo`v?wL zcuH6n4;j^k1YOvWm*#bPDnR&I_iVhk#60IhVt>Lb` z^cZ9S`B)8?(0?*~N-m3*-+t|?k`B2xrqVhpWm4L^E<$RD+B1#++(4?y2&%brP$_@@ zRFW*VGHE7JLm-68Uxq2dRmMFlrKWE#j(cSytL#YkjPuI^Y@g@%4>$Aa=2Sm4pDs;v z`H$5E`+lB|k+tdPC;a@-T>a>w+bePRs&#@V>bcST6C1L+8J`>bn3}7m)-M160RR63 M0Hk>h4z&UR0Cu3rx&QzG diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.fdep b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.fdep index 6d772b2..643c06e 100644 --- a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.fdep +++ b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.fdep @@ -1,16 +1,16 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\synwork\\RAM2GS_LCMXO256C_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO256C|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001" -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\RAM2GS-SPI.v":1692174460 -0 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" verilog -#Dependency Lists(Uses List) -0 -1 -#Dependency Lists(Users Of) -0 -1 -#Design Unit to File Association -module work RAM2GS 0 +#OPTIONS:"|-layerid|0|-orig_srs|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\synwork\\RAM2GS_LCMXO256C_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO256C|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001" +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\RAM2GS-SPI.v":1692234355 +0 "Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" verilog +#Dependency Lists(Uses List) +0 -1 +#Dependency Lists(Users Of) +0 -1 +#Design Unit to File Association +module work RAM2GS 0 diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.rt.csv b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.rt.csv index 915b7cd..0b328e3 100644 --- a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.rt.csv +++ b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.rt.csv @@ -1 +1 @@ -Library, Design Unit, compile Time, Peak Mem Usage +Library, Design Unit, compile Time, Peak Mem Usage diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.srs b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_comp.srs index 56e085804e71e144dd5549d542b8991e596f8f9f..27beb870cda4c57986a66ba54811e09e1ce47001 100644 GIT binary patch literal 10493 zcmVYK+Fw7yhja2 z!$Er3b|*+Skj}H!B1;n9qzhIbdfnEf$oHV%3v1FZXs1wgRQpgql+Hs%5_3sz+TPNs z^6)MH&dkkn7On!yw61qkxX~(x$BNv?88~zFXK4|nE51Kf zh}&u{p_jG?Z$6U)qLDpEt9vLAI>(Tjt`KAUYht6`uGHdC<3*~(4@-V_>B(vg(>`(-SYJU~lDH*~^oA<6$UU}3oU zas)iMfKi_NW4nq9Vo@BPHyZEnA8+=%LpFMyg_nArdDD)fasKp>jq*&0+9@SONwVR- zg;>N%Dum-_E~G;t3exN4aPX}8pW!jZ_yvQ978^Wqtbh$|{Hc2$T-d#mMuHOIv0RR8A zl1+=%FcgN@_E!u!g~5fTk|N<|Bb-b;1I-6#k&Oom@e0x@mLW25|Go9jAc7l3%qkob z^5%J7RXDkmfTUzLie7>_4|^BNx^Y#?VYO zE32tf_BvY#GGTM<_bJ-0Xl867^;kz^dF|9+yi0Xkia~9&V!9MJA$J@Lj~ZeOrYXa# zoz!&(nwFN4cIUa9p0gwjZR{(qhAnqRNjkX%Nur_6_#o3+54}K$bq0q*c@`&rzr(&Z zvw2WD+rk%OhePQi1MAVm5V;wp*2(^u5o^FDH&1T2JYBN{jj6VNWHf8B9iLQ^NLJoF^EhpF@oT=!E8c`LxP`M3EzLxP*^&6{_H=|;Hu5-sOnQW0Jb(JH zo}FY5yClNn-<1&H0DkxE`rYrY;poAiyY5fTV}&SfgJC}?RP(ZbLr{Nq>gzvr>Pz?e zk)LjE+r5AFs9!(59lq(8^S6gT#!UC-Xvq7uyXlVg9RL9T|4J)K&B?Lma&QFz00960 ztUXtA8md61AE!a@nzkzX3gaNR}a8xt$1FNJU-qDtgciS4Wdo;-KjHs+{nzzt*iDAl z&{hoB`TxS$XJ5n@n2m%dMF5i`|7JfIV)6G+27S%8;`3lSNw@LrX)Ye49=7Xm{6NC{ zrR08)uY=tzk2irRu6FTywkh)9YAvd^ad8Fs%|1`IgOq3wbGZZB_h#`}bY@?IF90J8 z%8cOU;jR07Q}E!*72$7wOE67a8&1DN_g3Rn1`Kgxz+cHM7{7Pk83D; z)81-8@Nqt7gDr5#Jfb;zx+7TCcXv3qcZ2D6`81jL$0Dhp^Ape6iRbdf^X$ZP|HSk1 z#B-~g4qY!4u{&OS2XhdMUg){NUgM4^zkCS-S#ntfrG#&9wKAtFANx|>WlGb8FZhAqT3lBe$(we4}tfl$a_wZA#NFS0(l*{>tMqR_exyzb;UEA z>otFe_uSs~TJxUIS&*>6$F<mUENJoc^g&bQM_mcV>+KSNpK25}gBK%cOc z-(280q9^K#IGxSrgPRE#y_yFz&NE1nk-ER2MI&aY4L)q9DpD$){8sE$Y^WH=hnm1`InUndz6EK$BxC>*s?Y58Qw%a7?1^RV%Bj%Idn42*IZW3W;aS^zcJaAj( zfve=fQQZ8J`$Zui#5uS7;v3`?%%{w8Z8GYt~u@t zRz8h8G0L|}|HYqg`tvACfj;SS&Y$|CWIlY0>vqjZ{>7pn&2Q2H0K#=G`kamZ67*2) z%Jl|qg&4*#PjA2=iw2~J7#Du0)VO4)aq&;$Ql7%aISZHMG%opZT;wWFkvBWfNAX#u zF>^_m9eszB9aq^Z@At`}&)IGrUv2nN{A01=^Yl7qe;lX9Dh8!4)AgA1ll{8dZa6*; zuoXh@RG*%oo*b(WeRA(K{tKSQE~w6n`REi)SeUvG_ucME+HF#=IKgK))^NM_7|Rb;Af53+obFq{1(zXO=p~2<$oOQcgWKjk5A)=@3AxAlV`q{o%x=B=6mIt z@9{W2DIbx3@o<)Q*va`Arn6X{!wa)?7;jR^&zNHclbs7wo&ocq-?II^>G%+AK~ zg#NB^EYHHxIRi&a{-@wOox&62E!#8JstdCHq)cq|eG(=kf8xZr8 zY4;4f0({z&YgD3MBp>}KEGPcvPD5`xi8_=~*@)|Ks#~U;)gcfjdt}7boqR zY8=iPw%fTj-g&YO{8Vq8C8zDwil6uyvVi7XxOHbQlYTWD$I#T?E z1JpC#wRrBhY`{6^?z%`*elD%zwHpF$%X8mfyTjYF_$gg`<)3N)alZO`7GJ@foh2W$ zGv)#H)R>=MpJ;ai?32Fe?QZCvBb&T%o%YN0&##ZG`8Yjm-LFfa{$u~oRr+;)a{M7r zALCJX9(|uM%H5s7yZeY~weJy_!pC_04r5`m$`LUpgEF`*&_+vtF;R%1n2Gp?e!EPp zQ*X<3zT(Rr+OlX8Efq0&z2oO)O~jO!1WA^Itnr#c6U4qhvgg9MNWZu?|9y zZBr2dgjmdO)}s0ibF&pGqZrDai6?SdvVg-7E>}emyDS}QyjM4Zeq(F{a1xkrG2b~w zQUp$L$&=zS2uJg7{5_vUrq4%Fw~fNb?)P{;5m6ojXMP_%&IaRXM6^pv>Kjv*ejzUd z9fQJr%daa#dlSRLyb1F6I^AKspw3Z3yTL8tJOP?!YE0KWop0hl*dDy=Kj!g9uq*qX zuINuH+)1^y#{NcWpzW(6iM&#HbcKgjTxZ8wS0MMFo#qG}(HE;J6MbOK~GhXtADb6S&o zyiRRaEKhV_Z?_t+k|(gneGZUVkykXuSVn^$Jlz0KB0d8N*fq1F7AL2v5H4M(O3J)MO$}7?X3yeP$ z4f^Vsp?&X(1?8lb+{;)Jz%;Q$uQeS%+{Xv~cSRR{zp!bO7@QItC)tXVv~ZFNCuVR; zV47q?I5EQMZ=U`X3uff0j!A02?{6l4ju%XSpCgPsV4x2wUQscFC z_*bwgIo2oOyXbQuJPAxEkES$># zWNVCeJLnsx`7pc@kIAT#DIo8|_;G}OK$n5uL7es41l(8#g9K&*{pB0nSe!O!j<^6E z?bouI7=rGRTHZ+%Hqr-<1c?Q5(!>pejojx0)4saWFU*&BVIF-$ zs~qPMVI^uFRUA;F%xm%}#pnz?^g(fqo_M9JkI+GpYyX{-DMzmp&SZpzTC3<@A3D}a@AYh7&@jM?%} zx9PRT*p}*###>gy@zGw&e4G=VXSL_`HGbQH=wmAPnubg~zK-5@n6D>!j_MJXLBTGA z)nFT8|ARto#VQ&^+m*mJo%4+2bQ&$UQT%;{wGYT!>T8ZVec7K+==)_M=Fy}tCd+w$ z8PUDb=fKwia8izTmDpBzE=NnUrvSG#^S0G}RR{1C-id=cg{&{ya>yv#u?CBHo`cN* z!W4STDUOJEjS8{+dnu5nM906k0%e)|5I$4gLnmyhdB_fP!9RO{FM4d-GA6eV2z?}80NwC zFPG%QNGzA3xOV9u`X?(!ei+tFeW4$Sn@IZv zR_^vAJc4j~w!I7XUXequYxmmNnEgVGwo4$SYP%Ly9aeZH+|BRX%GOl<0~ez`{=qT3 z>$WjZ1NU2A)p=FxqCZ*=?&jO6FzxPo`mIqHsboFb;A`RXF?XpQ+l9XwZ-D#C*^zcv0ZLUeR911%35wyPj-vFaw9TZeu;&E(O&x0xq|@J`DA} z)*EQ!Q;pqmyc#tr(1+<8NW`(WlaaGpm^=pdKLz(HK{pRovA>NT^2 zTAsf}kMwkl?!h^gwj7g67r3&T%a8Vjwb=l};$f`COL&lh-C0})OywmSd<4Fjc!}Y&T)wjF4`klZze;pL>O~mdoj9+JvWqbDX4uTyu!N@n}%JU!AyeLnkhc~ zA=BSGH|hR*AwHbn#3S<2RUEx>kLwET_vdbRc>m7&!2VOq@2B4}7cNL=Uio(@-4)D=-v;zhw&g;7Q?{Rc+i+qcgTl; z#)?<*9Tgwa-zMNV0b#)T2KNwaC8bvyyU`WZZ;aQAQtriOnU0%e7=!`#-`eGcXv%Rrc*o;Qu^9dgOVg{alQdSo5p%k2>bdE5D>Pag_$YWhL^PkAAzf_^pN| ziO=*ikm0z#y)iEu{02)TFKT|12mB_9-=vC%ke`Dw0V^Ita6n3x7T;zEa593EA>Y0S zBL{}FVE6|xe1hQv3{Eio1`Ldea2*qI!K|oal=VDm-a=WXo|*WiUbC2kRs72t!{}7(9;rRxh9cRe_5I9E+w49GVj01g5WB1!6oO&Xf7#Y6T-pC<`lS*#6;dL9X z5*!&&p$t@G<;#H^N4WgDr*$$F+Z&T-hLvUClg)lDLf5YOGQKd+(5>TsrgbFyk^FXd zqWfa}8!Io}xVPj>4KL#uTLCKMMK^dJf}c9b#5Lti|0M_Ao{Z(;)b zew~Q{f$)#B5sSCCHdsR?cp^;(3Vw5GGJ(Slb;A z^NYYqDt@Opx*jjcLsKWb6@%3(s$=b%$Hviw`Ub-#p}zejE0Rm9P5$-M*e+CyT*3QE z{-}!8AHX@(@p4bc%Sy*f((&vc_+s?Ewkh`4JjxC9v$g*o-;i!%m3&Tx%44wBbqP93 zk0*^L4H)6{+ccVZ6U;T}^~fe^W4&q`*lRIq$f44#7llWu<;SWNX1#XqO}q$0P!v8At|Pky3_HR(x2p zvWjc*k|FQu+6LRM(QQAtAUlq~@XAihuB=){Zep!W+ObxuUA$BK&XCE8)i3>`_#ITW z5rRvj%YF;fM)I9^Uu0!}WL2NO-6u1BN~=$8FQF~U`~c%&pwFd=!)7K9Tggh@reUqJ zI)^%)0lj`_j61YMRRe z#bF^ahglT37h&NIonKCk55{(#;lgecJi7dY#(8lC<{=2E4a++tJc#wlju)m3>?tP?|k*W=KSF|pij*+#IdFY zFRXiuzTBcOmsWhdUEY<=xN+&FdLB!weof`OQ4iooJaCo46N`h&PLQJugZBb`u}Zf~ zZKLCJl9g5bnInCek(IJ~meDgGpOxmBqv?gVI7dG{lO|_C_P0$hmunxedZz6-B~L9_ zIVYJcG3i<~>N$SR>p8Y-4aC=Z<2`pyem?mmV_Ci{=Tl|#Tl!K~K2chI%W|`((E!4{ z5761HX}>kM;_J2R*Rmlq`ElI$2kw-~i(#x(q}<3Ns}@gK&#RnvQRTG3SFNs6T{Cs{ z)wNVtr_P7#oSNl}`9%phfN!P!gzeYq4aU0|PlakXe%YQaOY?-j3(INF75$6Wc`6R( zsd_J-SN;|HXWACTeO|l>NT(W#lTRvZzpsr4Ja?V;i>k)O z)@`^y&c@SzFA|ieCcjLtKZJ>PB<6*&_5*xvH(h%M7rhpc&j=Q;U;)21-orRmd{Oy} z&0KSV1~}QMxVMkhG_`$kgvB(hz4yqkNB;IbY5O=RO0|ze`Y-LiFpCzZ&FIOL;eKtB zaX(lUXX(5cT||2+(I>ggSn(EAwR6AxdfqT6#KD(UIU&CCn|=qzGIY(mrCKx$e7+jsRaQ(0FLph7KtnJ^?{|ZjFI^qPjs2xAi^>;!)vwbif|Lk1s&5`BL z*>$~k?5;6ZdGxpC*GVlm6Zq#RxY1k1(a#dYPtIZR!YwQe!oT)EOW`nIL(e?m%?iKEX<^p5?@Z1HhK{=0q|9*S-ECQr!iSbU9;U(~c ze;Fuvx+ZEMwlknZ>B1_#0^b$sh&cp?{ZXy))7|gQ+rNu<_E;-hBqIIVNx(B65R3+ID#!MUvB_>wcUO?17z&fkHY z8LdVXcf`6Dl_T@XzSVVN(1tOR+D4FQ5@NtMH*sa13+ykKk+wlWmzw7ouW=(0isuK@ zwv<&4|0DUpxL3jMjV@aEVApkV8ReL;E)MO1I^K~HkARLAR%|2#{W+a}3nvpVN|#wx zXJE%p&^FL%{A9oXV%i(!2r?rlmORBgv(Xhq7Bfir1ox;()r*j$wxIPu$CDq(f zEQ4PynAfbGQ~p7z>%x8%0og?2B|nHU{K$oVX7(0Uu?E(t8`J#BB$cvrZg4=sQ1h3mQ4r6ZgbCz&rTBsUG?U&m&z#C8Ttbm1Z9D6U!z7L;t^4g!RVlKco z4&S#gvc0^ImD9~m{N~yZu6dLt;HG0SXYN^b#{K1Jx%K*jA_&#mcAXn>yC#l(glfumEy$kTZW$!brVMKn_Id#Jy+7Hz=jMko`qrY{Y zfScG1`an71tNBpHXEeUlXWo6W;pCb>H6Lj^^&LL)?OL^lUApg2?EMCPq2S|5XBkKy zCyxTsL#9SV^dsUq=lcDk|ZGAq}QdLchxly zs!h*-88hLQRm>m#K#ij%&oLd$6U;wpUefvCt(e|ue!;dHzN}!&rr&Dv2$cWFT?dlt zsBM2g{W|AOpSt$_`8*Z-?pk+xNe2uX7{6K|lnBCBN-Gb-LyWZJ3s44cWR$%VKe5;)4gVls*3udc|tvBG>WJ#5?Ry z?bmC&ch2!oOPMtN^5noTPmEulwEN|_$IR3ZbE+TaD)vKpQgL7B0d$@ecwIj;XB_DB z2|)iVAJb}+rqiFY;z7?hl<&Y!{Ob$}VTHUVEJs++GJ#v2`X*!wfv!U}4v<7~5ORAzQxa{3M^$wrES6+E=myPX_l%@YejiiNQDZ7Va0- zbCm13E)r`$2G(qI%pq`!)v4TiX2qEmZ)KE=$2nK;$lB)9Fc`rYKI8ko(aq{N)hnrb zfvl|-0DWq`FI4bm%th~M#kh<04#kliugW=T`_9y(qpy?!Y|xtfH5{Zfw|ztJcv9z% zZJ)`_$hSL)uj+TLy`CT8P1Emq(yl{MemW|L^C<3C@mE3n8)K)wQoj5X#Yf5R|CCDF z_k%iq6@98|Zuo)CPkBCV^A|7NtnD8+!nA2yX;n0Hf7Fj`bBM z>i_-scmw5Qk@ANAM}7t$&Fp2i^Mwr?%E&hddDZc0lU#xOY0dc8H)1GmU23y(8MMbw z@AU(DT3wmCN_EZD)mPV2T`8wQ=VYnclmz=v{DS%qU0(Me-Utr;Q=8R4eZL!u^=20H z-4$J#x=MA;)YVtlQe7!Gx#KC`7dnp22?r-Bt35Nczt);B`n?k&(n9BBta`oOtcW*M z2g}q|s%xgMzPgs`>cks+-{e(WEJN?#YRk!}{aD6^-T%G+O#2fD`_}aSE^Ci=qaUjs zEW35ei)L;n%NP4L&3@eh_)hp8+s~umo=v;G>Wdk9f;9=Y9d)q2lG3;K>FoQ`wCBEF z4_xW@^dKLgV|1uDK-x&E=2N;)$kxR3_8~c6Kxd3J_ImV)}ji;851S<+{sf?2?tLw?y@?50ncx`hZ zysK?EZFgzEtj%U>>qFU2#uh*ustrE2``!C@^}IgkplzNor-Jm*c@-U}i@DITJbO+p zU(3lV|B~i~a9)bh67#Dd9M;8#3{ZrfdUyFDgtd#Ulh3)j*q z&igSO=frPrbjy2k3-=w^vclF+xc{0LhNmb$jeM_p0BLGHub#2mm$LGsNBv^!yoUq- z*nYNu?!kU7g2^2#9CU5ezFcDHQZaCQ3b<1>_hMb)^W%u*g{q6XLqByCK9U_R(#$*$v#R#?Q}=#9 zK8AU3{^RPCsYydy{KtLuTfXpj`_}t*v-{cx4ZqrZd$YzndM|Jb4)z}4Pui{oc|>ik zxKy$qEJ~97w9a#n+p=2O|G9Z)#|yFxz zGuwxm*)TH$b6>x-@*VDh$oKpJu={hA4Y{iO`IPd8e=?Yh?Wa{#$JwOu6&m#x%4axO z{}?AizXE*TR-AMkOT{;cFID^{F?IGyRcHT6)$LocEL>xsTH-sp9{&^8fpD)G3-eVw z+iNeOeNUdzzFNdz*7&#j%7Xii_%Y3oU(Jti%~>6PZJqCO-zF*T`7RA#wdEOU54GOI zjrtbjD0?!=$SL>g-q7V7V2>;zPzgz4~_8Ntu_XkU0f{rhLT zAIf7dSfn!BH0_*)m*H6#3y>q5G^2AOHh889TrGe3d|QV#eGOY@uy$LADf_iyd+wc& zru-)=76fL(}c&FEFo?XJus*)qU2nNqyE7;Of}-L$SUcx`JXQI$uuxOTy7VieqMQEbEw!WK8EO zxg;8W_g0UC*&yPh!~6{5((>Hi*JOMU%f@clZkpFIUn7y%!Q@B#QSDP3Maw1Glh60$ z*U~-i<3j(iJ_oM+*q(2IF}`o(ecOL5vMQ%j*-+MckF;;Tf5rWNsHcoh_dlkKu%90I zdX5S`Z)j6g_4Iyg{fatk zhJ28_LQt+2{TZp^cKA%e-mfzu8(PQH^;tCw_R0Lc0Q$R8pJ(ZGGQAs%dLMBHbBy!7 z$OF$hBMIjk_dEq^?-N}!b#~A{$h|Gv^cNj6p=t*3oU06NH!xYk+^m&`t)kn&KB2!~ zGJFseKh`#iKAXp0Garddg`%gwCtGDEK7)Lk(BFVNT7w5Tvn)t}R|AEc(f?u@(b|Uj z(0F@xy%g3PlkElboIXDo-|xdV*1LcIrD(NR5htvP+Q$>y6h8R(Tuhz3I=AdVPJJ-X zW%^Kd{A>ba6Vp3+t{uw*P+6<*vuH3F*|nHl)a~{?t`||Q7qYkY`HyA9jotV`9^qP# zjz{Oy+ulE{YagR!AMr7`+B$kLqBEpyyv=)>_MkOCTvv*`@(=J|uZGoGnIak)|1aA1 zg|{A>aoP7(&avj3c3aIcXV`vZ3`0;Jnij|EkZhUqBMKCdT*? z9{C}9)Ytgse7gnLuhO$v``3>nVgJo1BmYtM#t%B)>POr5hs_o7F_tDN#whCXDVyJnuGiv$*CHexHG`>JOi4O89c-EkTW#qrM z!R_}oUJl3reLs%!R-KG;FdZ&3OD9wPXtt=%_rqtFPB!OA4|pAO(=`bw|MAQ#mPH@6TUw6ovalhlzPlG6lpyr}p$oyC*8=~U3)8hB@|wa^Xq zS!vS^b$0ncbfahOwv1ENA$_WAJh(&qQ+a&#NymAO9*RHJXSFnNHHr600960;&M>n0ssI2|NjF3ncsL#u73akLyeR@ literal 10550 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 E0K8noW&i*H diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_m.srm b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_m.srm index d2aeb3028d90946df4805ea9455def2497615121..75366db0c10135c7678851b3da36016dc99a23de 100644 GIT binary patch literal 29196 zcmV)VK(D_aiwFP!000003sO~8RVXORFG)=93C=k; z5*nt#<*w?gr(U|;lz%_fUcXmXs~fV=2tvOrCH;GOSy@|_YAyyE|Cf@GQkM|gqN+xy zKTU9@_Pr9nys9@AS-h$bvlf|KxHI(;Ayefa$rL4;GX0QNNZrrSN^ZMXu~vJ%QD3yA zZ{w)bJ$k*yuCFB1()jmab>bdF8+UNm8ER7{sgz5<$4`1`T#jF1eZ8FoxR$0|xsRqc)V{r}67`85ZTW zH6Dz#@$yNlT@PLjfZzRFYy;r7IxaoM@LImM7VEM$9xY#2>xcKW!gsV*BTWy{O}zZ) z0lnZIz15A5LT&J{e60@Ude>p$H{rn?tNC;M zxqLX7qxWu(gQa=!o#%JondN*3J<)w0G}AobvxLyz{4LE|FV!4cYD%kneVf#-G@&!L z)=#>)6J_NQ0xE%%^7u4@e=P@4GX}3EaQoO-$Sq31=$BkjG|Y9J-QRGvJ}Bgy)49Tq z-DYF!%D!%uD!cDEy~*?s#brdip!C=U14{m%lzxXvGhq{r9v!0uYY^AN>}dh~dePI6`AN_#tZZLyqbwF;BN_B#{eOx@leiKjr&W%nsP z8a{_^M5&fk1FvCO%ko=$x!LjSfYzP(iG%E1c_)!Wx^}0{ z`0m^2_P88gM%vA?c3cja-Jjhz%l81rPdmPwnoDdqanIm;przO6@%>zy8`yw&Z|(co z;j(82W;hFg^?cz$t2Sr}ac?7K(#+cJ&L-z-HCK;Pnp&2o z#%VIU7HesyaT zRe=`6vOFKaX=?j4wWNZlocCDpZgP28C0)p)`?%$oX?>r7j`@pmq3@5In7`P#`8Mvh z5z`rNb6I=X$aD&mAJHS@JhA|B`JW-{13a1sB!)Pa#Uo@qpT;9jQ%h-{#3KeUpVs#c z-!3@q4StxGQP*>EBQD2h;0BVy4MtPe4ld>K7`|kA*Gb*l;U@Q$%Mq*|)~`Ds?1I*0 zjN9z0oiCjDLyR2x7-+p*z490_&;K%e3V9r`fOuURF&Y?Lze$G9M9^g8X6`rzYtLS| z-{G+n|9(7z1*}I_iRSv!@)^Dq8LhdDFD=XZ(k@%8jeo3faY@F%=3$gYV$ZjvF^ZOg z(-@V~l*1?&h8_bv?TY(b6;?u7zxg+qCZ-=BVu?n!)vId4s}h^C1s^-K0ru zC+an~xeCF`5Dn8cAwPOa&yF0_Jf16M>keDI?rMG~@w?3iR2t((qfu!z#JHvXTgoFm^V{W4s|hi^X1?}kaUqqq?; z8)LrlzI5M(F~5$>_KI0_*C$DfK{fXYH}F!+#z_i9EJp+d66eLZscm(ntqg|%!{I%E zZbiR9F%n1Im(lh4e7eL>I?bUAkrG5~%zzsvOP}km-|Qv=t5gW9#@u7$Si>AwuuGD@ z&F8U;LGSx89>YD9?o&S`YAdip172H!<)HNXwr1Gx^lWz*Tew5!>vn7CHu1#S>c)WU z#vr2`U4PP?*v*V?3?6pA+O?g#glW!o1T(a{Sw4h=Yp$CZG=;|@nS1Q%2Gc9TWF+*s z2R{hAcMqKAM>%h{4waYphK3q!>=>tOjNuz*=-=&idguxazZ8LC{W_4f0Rh*S)Q{d9 zT_#iEKRAC_x$+az?Sb1uZ+ZNieJ2sqFQx}C4qL?9+uHQ{(C%SqbGq3Wy3N!Dlyk4n9|%URvUhCdL_q*ET7MrxhNJJa690+ZJ?xluzMZoa5Yrt0tYd$To_~G zcKTo^G^?{*U*LXx{|;+--R>mTuqE-6Nt3VjAYE(ydi&XgbelWunXQnX!5*98Qpdfs zGuWeN^lN9!UxPKvI2#*gv8KV$<~`Pg3~L%{i;bgGSQDmo7QJ+XVaatP)h*0*3wM-W z7kXES+xIUPOXjU3^EdZg=ZyQYuyZC0#lOO&*G*j15_+7)6&`O#j*WUp!)T=A{?rxYw4$O$up7_bQ`}?fOnS*5u0kQCn_LZZy}=v3>0zaF#bAid znd8E*JYP~2ezhsnnPD=#XPRT_e+wSnJcK_lihX{59Q*wIF!uTRrLoV?V|bJo`!GCG zTRirmCu5%-9(^MA!3;JE!y}O&DQ#uh2A$VF-p5742U@@QwW;n{xpRtca`cVyse09U zY8NarVxddNCjEr-mzfvGqA`!>wsnWW2+V9u#BzNXwdHFJ+Q2+fZy#)B=JQh71}~Mi zFJea)Th6xgyMxIv0+~Q4FopKc6AQHJKpfl z=lkYM?${zlGr`YBc4m(3s^`egJSsa;|1j@hhgTbU3Cv(h(N1km_|&G7;N~WVjm#X~ z@Ptpr1A(8TJ(+WzXf_#514g@C4ie1P!5m;{3OyXn*8eu>|K#{aFS~Yke6jL#R!=%- zMZBgvm&sYZFUeWoa?seU*DXDdACJ&;_<5G8QKvM&Cs&pgR%N>h&4w5BBH8EtdCbN0ou_4(uL>3P0atbV36W%nH1c2TuS%I{met$AN< zYeqeHPppNQgO%M2P}P>qUI3?g&K{!4f(tXP<(mh4g{HN?Pk5@f#jdII&zPNDw9YEW zi%_}_=*iRpQ<|6Ulcn|=L~#IhUK>4!&wbh!<}XIulG%gf_7goqaB6>XMOI~hRV;R= zH2*s6=6mpbPtlAyqHXoh0XCNf49rzd1OrtC@Ydtt=v|j?RSZ@)9)9kypXkA-Au6XlvQMoc(@?L%C6vO6%D(AXP?gf~KV0&fJ^L z!*j9U#r4QyHf4TbQ{if*%JLe3N@aKzG$nZzHWEU}e5MpGZfqtp!+k%svm5<#yIE1w zl$A+~xlJjY;WRJAnYUi0_#Kwy+rqYoiun<=`OLahHk2YHE1Nl}fs}1Q&PtTWM7?6;uw|tLc^>kkar>UhhzobVowJ#wPUA9j#W6RS02%m`~ zRe_i4rk88eqvK+&uei3ui;PXe>u_on=E$QS??E_NlbH8uSyaB)#XGIjoTir2Jh>*D zemlgm-!kh5y&!yCkI%!1oZKu7&9La)jMFS4H{<F+gO^qbfz)jZQsgg0Yp!xUvyPaRtS&W#$=6pG{ z0%30tdzm>+Ev0$VN6Pl9XL`9m z)w3<)+m$q*Qt_FHZ&!uz8HT)u86W0`sqe6&QuszkXLR%}9sNLFk^TvPn`2ii(_G2N z73f*Ut~kvvc@82^w%K0exB75ieXd-V&zq5CeU8yA-dFB=;_Hl~yt-<@YsW#ceW@wU zzpk!&+UJ?^US5#*3=frmh9^+xa?kM4uX%*eW1z)h&8hqJa>xcV8d_Ch2_F6qpeqT|R zS3&ba9NX5>H)|MYYJ{Ki-ElxHzMWg-v$33}meM?_zuEc_WcHOmTLYfY<^9hbkd*%s zG$q$9`LXL6G%w{PV1GsHprBb$PslbWy_C-?`ztzT5H!EASLody^QCcv$^MFt4>`@E z_OlA9M^vlNzh4#>yN@LH%R>2mq!0Fg#6FU49ot8W_x6!a)J{Luw~^z|19V0mK=S-CPV>^b z-)_C@k@|_)?PI)3ZBO*=3i(15ShD^t#kwFegU_AcqB6uix0AS2-}Jj(ip3$K(!J5rKAh9M&`)h`!eWx) zpT!dA^<3ij^UsXZSAMxz+em3%_Ph>{v9~>8o6ipF>nyH4>)E?J{!PA@YZiO1UrO^F z{tx#SvY3%w=VP_mEN)l@^*dD0sKrX|hjN;KS--=n{R-=G7yBQLZ$zI=Al);o8mcGP zClko^%of)Ne!QpPQc77o{4WlpN0Li#n$-fUj{V@FU#Y_b*DfvU}=bJvypC z;kj}PPWN1gXUOec9Q^+!25upG#`CkGR7}EY7I6me(U^qyt#X{+o`d%utC=6K8&UYh zarR++gOL2QJhC-XLGz1hq}v!K?|I74${>!PpNoE;NzlA-Pv+w|PMq7EeGcj3^KA3Z zt@S+lb89K`q|U8nG|xG=_TZV1%ro{E$8aiHt^8`SF)m7>QYKtl&WN>1MhrJV5o0CN0|-@Td)cCNn3@+PJRhdl&0_gQG?UJ z-;w!kgPnZmmH#}OlvW#NnOT+E@B+Q8H@xR^+)&GLdG#EZTmP*-@6Mc=I%IgKkh`t@ zHtip_n>Zc*e`br~%q_#D+~=k5b;`$4I*#~w`d%0B2c@ymoiUjhBX&&}W@tU)Yk0$K zu8SZ&>wojxCGh^YOMtw^e_34$c)#e|xgt|CRH8}J_1lCgNaJlUUr`eO54Q<%Mf{ct zd0ki!t(iJ!Ha|svhsm5IX!;NFdnCE%DgFm};XFX5+Mtcl3p^`mRAXJGjc3(s(Exd6 ztD^pQH@_iUi#u|+wQt-0(M&pyyE!L07C6Sw-AvC+#yWqGw&RGu-;A^O%*w_*o>*J6 z5tmgeLsYuy0u^UZ-JnwGf6Jx+0{{U3|4J)K&B?Lma&QFz00960?0s!>+DNnZ=kO~C zxGGY)G6nHO!g5iyNGwtISP;gRy-!Y3Q$bop29PZio4UQ(|NeB3G(v!|olVZYN!DBE zRD6Rp%uCPJSHDcpFCP1a#+F4j%VLzU#p~Xagy}a;@`)|pIPOKacQmN-9x%I-m|adIRsd2VJk{c&O(`Uh`V?_%LjHrrdUo(o;}c)ii9oiUvxH=mB0X+ORC9$(DrbqBs=ZcD6we=zHg zT&KtL->>sM&vomwS6!#oXWj+HXY1@>uj_Hw@t!Q;{hI%$ABi9~JDum%=dl)0VLb2n z%ccL^Hapc$HHk%3GyjtP-#e&#XM9#)@QWUwj$F}V`R7ya&H9617o^S%K?C`D>tJx) z=k+&#I!yNcc+leBuWqBl{_N8?OfW(J#OM0Yy;=5*{?Wd~x%um_ql#=pP(kqd=Wm#t z_x_)iH}Bc?5SIMtsPb2(^4C$;R=C-gm)Lp}=K`Mj3&$=P6@LcuyXP~n?_j&$8)i4{ zB>zopGn>1Gi4B?f5i4- zjb&Q{=dAmrH{hejo^!;A?DzE>_MQ#NuC|D3OZV*L&nC;)|7_t52HoD1Jy>hvFx6)m zuid=oH|0DG*g#lu~?l7At+;iJztC*m-SkI#*BJ@)tP+v9eZuTTGEKs{&Pg7EZ6BfOAsL# ztBqxw7tPPksKI;nMS~5m-;+vBtu3kD=n47!sX6E`oW{W6I4)NIlVO|UFT$Afe6(n} zJr@4SjJkk*`!Gm>)EiOBF1Gra*FF}SxE`#2n_omV9bNK%p2k`T5 zzuRlQ26S3Dy}@+h)avXQWp%db*K2K&J`Xy=;amJBv zz1Lc-_qEYK1Kk6nbK!DWmqz_p$EEcgD-OB`9$9G7+5ffGbX!i>1)U`4@qit8i!OKiqb>-1WAOUd(W3C4J?M9@VV{_97Oo@eX)E==BEP0#s=} zKCcUVvJSEU^V0&2vj>B0iL(`TPQ)93E_qS10-tOHmbrzLS5e$M;c-J`9~&z->=*E#OGpWoTm zyFs@;XuW&q_WCpLUF%&)4(PkRcXh8nIS)&g>_O9`#a`p=^K-ZV>H=`Mg*aTtalJZoFB}JS zCg2C+)#oR53ePP*JHKf{9Ej)Q^93Ia`n_)VHS#dzE4|}x?=#@c#pmaP!2tG$_h!*; zZ~&EhW6|TFg3|9=1MVKzfqbR7kC-z6dH#%TwibOS{QMmH=ALn9QExiG{n~KPKKGx` zUU_Hz&xrLim=kAl!OvU|{#~>XbLxX9`2MUh?IQDo=SPE!Cw+&0{vbXJ`#JJO`}5@u z`F(DDj_v2Y(c<&s`KY(oYK-d6XW&pHm!Iv8J}-LDy~VWk*LsPHAZ~gjP9lmRL zI0hGGy5GRx0w5oC9p??~&RNTuc0Xr&;JGse0f3p~GY5DXhqlh>yLUD3_CK~>v)Fhhlu)cv8zvJ%!WgM^D=r`O0*h%kRIkniL zVHn1-FXDGcUW)azK@YT6m%F2$2ZG#ZGv^uh<=LlH2RXoYTfHs-$Hkl1uET*RN_^_E zgX2*h^dumZ!Xo}^Flh8(3-!7Vv^8~R$BU3r+0Fn2vJYSixI^&$20H*c3Q7-nTts6+ zf=D}xg0!8%XfXKIc`~a{S@4{OA{2pU7#SCz@>#>h{?xmJzJt2?NTm2s{}l%7&OF7j z@mbiz^+C7)BxKJ)_Kbqgsn_Ahe^vU`=IQ$K*mk?K5j_BITU*SISjGLt`UR%Uq89b7 z@V#|Cye91Z(GYbKSO$v*cYBKqiI(gev}wyyIZRWczA@&(v$D5Ev^Ch?G89k>j6Q{U~j z7A~vdXYMcTmpG8^!fymtq+9l!p364vbA5g#sCB5b^s^&zxV4TptLe4*dFec4eJ5aV z#<4}L)ue@LPz*2kyP}E3q#XTs#K zbumCpcLz^eMDUacZO`?EH%iAnD(=-0?$zMWQDLu+w)ZN^zqC2*TFTWknShD4G(ZW< zB2?O&z~%L$q`9?D9;+$a!d>kp7l2OgCAYAb+^xL?Yr$K`gFi>|9WXp-1zzIS`SBB=iJ%kIyr69ex@iO^yVGE^k%7;qJ_K(Bx-7$X z7oTelE(X&6XgzTSgLTAbN9>^2Uo^U4a51mu)-GUvR^uL_97s%%_I4;Sqvss|@8Hjd z{97oS9LG4499P;^HMDcl&+&`PehFc(A^uunOuf)rvh%7}U7nZ9EPP%o>sL?7KOvM* zi-gdgd0A!f|7Go5)~aUdKEm-;*`O1w^y+D z@i!8BMN9Dmb>Sv9^;m6s)PQw3hEB(ph;bcaL3PbC5#yk}wSUVn&jdKdH37~5%W>h> z77Wa>UITv%_i@AHU}s1UO>urr=xf@)5y~C*VEz%+5K*K-@C!?ca8hrjd#DR?RYm|vjB8F=tE!Pvfk90XIGlrbEyO7r2fAY7hNzv zx^DnuYxHj14=4>_6QSIrO>Hy%vhs1eeY>V#9(}AS43`)r_b!!qQ`o!i+TK;1XT)>d zs%gMfxCja0Fi@Eguph)-(*QaAs76SxD}cB0zIQz6Kj979NU;{bk3=$2=*r0FHP z-7MpDAot0a$o2~FV#K?cz*tUo^G1Kq%=f1^rR#8Gp1!|pP7Ih6sl%a7-2fGFdc&~I z%4I38oz`wH@9tY1P?%)cdc<0Kw>Q8#yqnu)>E6DrdCTUF{l)7TD>;k}ax1Lm<&FJu z$!>2@)=TE#)?VJ^dwhMK#XVz*aV#;81;)^1=J2+;yfG`o?XfItw>QJ4`DHTi%CTrt z*T)*YHLRt1)12d2=1sG7Ecp9J^V*L6evCfDqvHavP`>1Y&c zoc*p>{hLom6m(GEle)g)fk6nm{&!ZJ-{^kT|3u}pfc!0#OMdy0{>JOG{`A$6m(4di zLi=3Kw|zTnN%`WO)~CPCULEzZZ{CFRuwcS5L|b`VFO=@Y*Dle&-8M z&Kc(e7v{y=oEL9nUi!7O?oqcU$Fo1 z2JKxi{r9>5>85&cWKZ(8KvqyjYlSiM3#a9ru^Q}^uIvZK3Rmr<|GRO~cfiC_zj^V8 z$Lxx|J->GC4;$^BYmdF>Lo&eMf&F-)xcuk|%t7Ns!#BWJx$6xMuZ-H-v(a78M)FzQ=R9eC z^Z8IV;ikOi`}l$Ky27E2=d*os#0T=bi~5D?3rByJYP0ycH&8x0??8>mdEzzHXIq%% zZR5%2+Nl4%W&dRTD_cv%Jk{@S{F|3YRrCL%UBp~o8OV0(gNxL+0Bbt>RoT$%pAVd# zr#{d9Y7G@T%K8F!mR-C2_zh$vvz8d3;3|<9$twueKK^L{Hi7nk62}~=9dlksf8FK*x0%h>~>;TKfGsu40U!r`~z6m ziCuYXxBsvg8JB@~gk|}ZhWpZ|J0@TUSmLsJYft|8z%H-nOlQNJPnC&z^671RQZbJf z$Y=2#_)%-0hV(kLFlIj%!eaL2ZIw+vT(evK`bHlz{rZ+Shwwq=^;VlXgOyi%R?Ct-eT_1 z92;}u15>8d(6l4L?)=^29KlHbz&X-yn6uY!@%mZ6G2!}fLZT$8oV5G8(>mMZ{Yt%Y zqQ7nD&)he*vfuD-QrT~f`h2KQn*Oa0V@Oht$Ok9h+jhP;&}Uvrr2l(M&PN-2O+Nef zVb8iN+_(TEOvXDhS;93BaQ*kKhz>)mXUw8Dm(CAcTQvLS>)#=3_En>vL)&cBkAsn+`Ar|B}_7zBF0q#eT96 z|2}W;{@QkBE>1p~?a7H*d8@ZQ9XO{@_El+LZT2+j+~2o=jRTx0LW7`0ZVe(dxmLgt zK2EAtJ_R|-_PXA3`g>9iwJ4WExkh>_hp=vbK@M%NJ%qK^`>eG$)`m2)h@eI&D6UV_ zY;#v|e$^us_R^4qgcfDkZm)h{2+o4>yx8wu>y^&~+qYltKkYmP`Nj3K6ZZ7pxgj_= zegwNbD3jwjNfJ3XO*X_ixvGRpKZPipunCFkAFkz)G_MZReX9xhrCerV-^ejXG=?1w znu`QDX0zEIN__@%72;e4K`P6Ww{6a2>N4(*1Jrd9$Suabh4iO(`LuC1n0hid>uK$! zxz7^wDSK(dzc&2afqy$V{@RNd_hDK{e1d(AM5M6~m$#Q}*qJA~eHq+-;7L+V7Hs6| zvs7P}$%PtcC)1x|kMmjmw<&+s7a{L+iB};=&T8B?;1y-DF&0Bm@X>1ALlXqwZQyUE zxEK}Z_w6L+0byK>{W-ix9yTY4X^3qvSd!zKZ^4{e0gww{;+n#wvBP4a8G!NBh>SSb zBe&Pfo9o}DF0`w&me=hcI~86(!F@h!+pT`pJLX-dKI6xLjnHp^Oc4S?X)(^rW&8F+ z{vPM`{&)s^CpJ(PG|dQN9DCaq`7?~h;{XuOg1tjD;6Fr;fAu}DkF|MhAf6eT5wl3B zb;dCTI6howJG5qAtJ-&tyG$DsSSk^M3esSd+xjcRZ1nFG#)Ipf|E^qf!+=$pEZ2h_dhBZpy{HC>OhAJKgIYlx>#b-P4ZEa$PlEuplC0g+ZCkakISrJ>#Z2 zKd*w7FsDf>pBNXw{msWA=vESGxL*M;{`-WQ+?IRzaY2({mFY|u}59On~ML9mTKnEZ;{l9|8U$5}A4#2KCT+dR79_=AANCT7d>jvO+x++DY`oUTU7QN_ z(9;fp%!?N_v>oYqHAkD=fCgLurb%v~=C#6ulV;MsVpQsbxY!@N)1Hq7_Fsz&{kLg* zhT5_ph8%GRCSEIy+Z=+xY_AK<6|T$Ldd^pUEt5I3_L70fAy<5=_@TjoXj8gNcjkEF zFul)PduNS)eNBHrzolPz+(#})f`WeNIPLtMoCB`(fSuaf8CL>b5^zv3uuh<3Xs*l3 z)(Lqp_8mA8NTG3W-#wP{8R(1TZJ_&=enNg8_|#a_f9}w0pbi}Gp|00RQRi*oAnG!T zx-7!EH+Ji?0{)F7Ex>&VWIWoEscOKhtXh>a1^TRvcjuoepFGZe09>WWqe0eY)7A>J z48$ygnC0Iw{{rV<(}Dp;+^GseFrq{|lad`=DpDJe$-kU2$L--n3Df5!+ebAHBkmJzR2xn9roaa zbHfE$4v8j!5WeKoQVKq^{17|QNKQtXBK*Ai$=HJhd#veyH7_= zee1n|#ig-vjBBa5GT4%s^PlE;gB&lsvp(iEziK(^GirK2v{=m@ESyFb|HR+PeZ+h9Mi=@j<+$*D zniJ0JQ)e+?_A|^qcqYd&J??pnR)5doi;IR^cgTY6jLmQ6F5vs6u^N~4VQmL^p3Gx4 z3)a1+{H4;y3M@b~YagJ%d#(5EX0PjvyDW_3RL0a^qD!;+J0L0UC!Kk{-fO$tZ91sC z^7llSbJTqT-bUF@`Nl`-Z-@P6duAK+5qMqj-(Jn8eUw>cZ&#e|N&9q?w{_a(lTVeC zX69$Tut)48${xm@`!E^mtj?%#7Ha|fk<}f#%2|96j%?=d1c*Zub}IL>JdZc(HTq}W zi@46@cj&(@c`vR6r8yRAuJX8fvHxzd|L$i0(^x*ncR&yuY+A2X?aSn7vWoL(@vUDS z(7$f2wP-kl{C6%quHr@YZe!26U^T?5{QH5I#*(J>-hvIBXR;s9R(?Dc(@60uUDF+S zrB}|YCleEF;V_aIrQ~N5qmav>PZHM}dF;=EM=Dom$_~8#*#f54Z87JS_)*rpG;ds} zyz%2{-)k)vd)%pCAlF!sJMvl9WXIhZ4|8Es>Rx@oomzu=wk2cQ$W;m0^*P@|-m(0^ z%#b#d>;IQ=4_%kKkxY1ieiyLiG{ws{Fy}P$&!Oy1vcFGHCY4X^rvAr~ZR0xIGTt`Y z(h;MTju@@!h==;aH{}ZO;o@|}COfd>;?syVEBX$3+|D=FRlf0$Dsvz!$6jyR+Uqa) z1Q81-cs zg=hIJ!D6GJ`>vDBr|qG=TB%MXPO&%w-AAYuisvj8mFtscJDhN;_?NK!xMHl!n&0+r zs?|>uWg})W(#quIw0-0G)yb#oPlIPTSG8(tw|NKCv%#XzTR_XjtCd~l^1eEMk83LH zQ=okaG`>z9Ry?DlY&$%MKCRW6om^HYn|9r=d<2u>)D|t*sSO%y_GET0wc+e_S-*DC zs5z}on^M*&dFC+e$Fn=~Y#+?AGMiBPtsKi6+)^^-qDU!Ni4Gyw>x3&*J<_H?_@NlGIm` zWWI`X^YBXg*v&NOKvX`S*lj!YRq_)T^>6wNVxW1h^Q+T|I5~W%{*~t+BnDzm+;@h7 z=QZ8jg>`v7nSWZY(j3EQJI*8$>FYga2ffzR>+{7PXqt;U{GiG?D)aZb-QHPmF}mon z>F62PO?TQmK7%!Ww(dJi^LjV&bCrjl+NcY#Q8)B-8mA{?`~oCe^>9Odt#SAgzWT(&=NeCp8*E+dS~5H?_x21 zHe$MK!aN;Mub$DvHNLpYvvte!Y)o$xjeU7%n{6eC@GIb+$4Z; zrrS2XD?Y%#ZSP~A=LmRts-8JLpS1N;lTQw>$U}AT3R^~-*z!I2WY5il{A|PpQapFJ z@jS=2`hYj4{YKqpwaZC0*}}E{=+`=6Z_9BP13Uv&#M89?SACClof_`Pqt-g6)}L@$ zSIJ|~a4nwgI1fqGdC1L}0nK6tMZQa3DY4iOWq!js*vWW)7x|=Tx;z|Q z9om(Xk9KAgSGap}e%hALr1tT-30zR-cRj>L$!Y?8w|o%hXJ=esh3D=Xp8xk_RG$4T z)0219V<@qcQyD#*dJ7J_%<)>Uj#!v}=JvW5y%9{$l$pT^7U=&qJ2Vpnf^{D6vpJKN#}dpRMv?WsK!^ z+2rQ%r-<*}vKrR%7-q8IcClb=ZxsGJ;(g+8#rrmKFl6JE9F_1uSy$%rbjIVsZ z_}9$V;RnIBU3+3z98ca0km|?uj0+$RE%LHq#><*FOvWsBoEtSXjjrJo=u3H?hcAe< zWATj8JUb(#WD)U-x0_!S|M;HsfNQnpF5k*`mvc}S$9PB{LhkDj29_l>(AS}dR`2R{ z5|#Vi(tPqB(_f1u#Tl#t3^u07ZOpW8LB#}|Q8gcUy&>i1wcblq+!p_qTwi!F%%3sL_&m;^#H(T*0@P#r%Fk=-=BlO$>NEYcjdD!U$DvQ!J^niRB5cyXGk+WM z(0*gopez+P{4ZO}HQege^w&qp9lkjId-28TyM1xtm&a{4Yt?-XwvlygBM-+mvW{)! z5!-$~Y$M+u+rlEYg%8EHu!wEpBewmF*cN_kYzx-0EqFM#1?$)rJYw6=hi$>Pz_$Nc z!#1OcZN?_HUGKm)qlj%^5+{AcwjT!Dj52JyFJ8ZK{!oswa4rMytKr7r>hP;|a$J<# z_@O#EF3N5ED7QbO+{WKpCu{3ES$nun*4B0Mm&8pUb@C6QleKSeZ}>%Q^B;tvv%5J52d_A9v=+=6JvfGTU%ix){Niy|zYgnZ?v%+&YfqjT zCqXQ0G?CCJN{%;kNV2+k^J2Rgy9Zq@_4rScKO$=zW^3@n=8Nz*gGJx*X6n97l(|;R z&1LQtJAiH8fZdwsz~3A5-^`&~K!0m>=ic)c8}-DnmS=T5VR;>uGTF>(StC};=lu!C z+`3>#Zk=j#9?;M))NDlAw5uPhlP@?YuHx>at+@Mlkn8zT2l=V4wNS2SXC=s{4dB$_G`MgJ}qZfNWBO1*ty8_kSii`Oz`#znSxv zoq-SmSh`r~9M3?gyISwEbFVrH=A@Wlp3Vp7>HR0^d7QM)Ddsd4c$_>d)@kcWmdk?p z)HzM?T!i?7a}oM?doH3=)04v5Zk~(KzngOrdU`IR^h{W|bKk7pt)%pukzTSbA|usr z*?qn{eQ_Ny!O}Y;OuVC<)75zeU7c6JoJr&%eSTJV8>x=tokZrOAXX)M2lFNA7o0KF zzvDB8`8~(wXAJf4;*6obI%BwnO<~EI8Tx8f=XdR%YrvXFUalNO5lv+V?~9>q915(A zpWX9Oa^^rjXKvr$v6V}Cs-6i;IZ+Ze7e5VO$2r-JIp3dN`xcxU6RoKgNj;TVX$|~L z7N~E8rJNe?|Ees=iEg$N)?BE&4CEbLn>;D6t3OZc>W9>jb?n=x6Pe5Xv+yL`Bk7%% z+rC%bP37L*mizyzzS2QoJuCPCzUEvB`twn4A~4A^|EiP)g9iD%HoIi!WKl7dj^f-E zn>HB8MX8?(=Xg_Ij+pr%zVf5X*1r#z@NSnJm*|)>O!pTcaa!3K0sV$06-p&0aZ1UM zjq~R-Oj33E%i=}IqiI$bNv8>Yuui)kF}%<5yVYqhmYqI&Rrl?m_IawhZ>8}ddUuWJ z%{zt5?)Z}OBNzz`Ul?frQ*GV;|DV+Ur+Olg6J>Xare~2>_f)Q*MY=Y1kb;LaXbtK=t32FU2)=|K7=7#Z2#|qbP%c5v}e8+>p2Y zj>LI(N1|#U&x))2jCpJCr{GybR#W#E{^)r!|0nqd+Bm(3*`Qib#=V9&teMsQM&aVF zi}zFyg@{RM?TXod-pppWQJ&&+Ztfew^l44JYlU%uS^a z%T4{xeG@}fqwq)Yx9`&JUy*;1#*n!q@4N zk8)hYdtm5<8*U^qFBXw+;r+M314}SZ+7GeNh!rE|`76vLkC^vUVBY3^8{C>uZba_A z91hS4I981JP%931UEpwlV|Zp9`CIH#{20O#BHkaXa^Bxj3&X zAMW#jMo}3DT;8yAUR|hMe6PAZmuEya&L^Fox0ltk1&0na#=(5mX6Adt-;%MYFNlSI z*STBgwPp2a@#CCB`a8MyUwRIBXWj0?8Kq@towF*&&<(st5+tNNhJMbLRrJ{{+ur%0 znx26xo>2l@R?4r+O^u$@fJLd^1sUCnp+CymPc3Iso&eqm5yB{wrzTsLaJouQiz1{7><@ z|BL#vl#M0E_&}@}Da|!p(yYcOUpDJt?ScHKU02gD%x}RhzZ3dcSSJrN7Gc13e zdX3H6@<*~6Bxh;>9O7ZnjsNoZ|1Zv-DU1;`+>Ko%$1Z}{r5VCUmbC-BND;fR-8Jlb zU=6fK?D~1Ii&7FYVU%K5xQ1OJGsZ(_X7G1H1e?vCDtNu1D-zVOO+4_r@tQSL6|5Xw00i4||laZzNwqLB4`a zzG6SPOTL0TkgY9RFX(@fFULoxenR!TUWjA1h_r;W!!ryfH)08k!Xtl*ECt zS>FQW5bS`J4<`zSQ!w=JWRNI<_%6uu+HF-mK++x~ao+n{O-^78(RJ3 z-*LIUzkf{S*Zy=cK^?5x8xPZ3oa&4K#-i*=+UBrn{xtG=J8Lb?o8~ZE2e%9DvEE4D zG5OH*>Z-=sKV9=x)i}HBu93UApnU(1yGGR6yuRZd2`hv46Si|Uhx<_ZN zhNBwKm()^!54PZ+vc!Ho~kAED9_(mp0hK6B&6kc?w~v$H>b0P+i*@= zs>Y4L8aJ92M93pTb@xsQk7&-O$F9?8v{X!mSkI|2!kp`>woh9Rud|fv+VAkJ;HU?0jFajC2e0dGX|9v$QXO1}e>7#l;wK<|LB1$kWv z{r5TA8wVA8a$=vhXVuoF$*Pn5OtjGAoXg^OygGSst)&&Vd>?l<7HchmT*&c!VVy6f z5B}-%tJsfw>wIC|&RQm)yUwR>*7?fhfgbtyU}3CbPK*{CM(H_x`-aWDRu!>U-i1+} zwd8LwULR}2*sz44hGxXbEz9IEdpGwz8DRkbuI&DP)jQ^0=ckdyY`kAo_v<^fqwcC% zf-<{Rv*Zlgu64U#S_{Hv9bNgOh$hPQafjJD-m!AhkhSgY)%`20JA6?0>UKxgdO*D! z2U70}VQ5m;I_>TNjXZgRhW`rGDow3ejZr`TuUi8O<+{qdx ziEXRW}jHD31@TJKVJ8T|uh0lP}`(_z*sK5?0KlZOi*% z;vwFew(AZVd?w6ek1_RCY{MbAdJLq%7b%@8Em* zoaB1xT`|M8`qahTLBKWHraadei?wa%9sWcZSo(Z60CwaZDqP*ZeMww4#whC z9usMAMq#u|hG^0EMnRO6KW)PGImYq?5qJ9Fnl_!f$Fl~EX?3SZ7!VPpcISGVKZg&w zFy=?w^8xo>^{tMlJ-M=&I2>p9dcVy``j)r&5D*Y+qDBN*AsPm-n$=KOi9Bp;K+9}EseR3twYhX+n)O4hYP}-B7 zNxRRzCtp;@E5E1gJLFycTE{zjQqI|nv4ek-vln9rCHJV&5-eV`4|l~B9>~#r$dqaVVTeh8Eu>q^5q zl?sDEGRo_z_F2aZpQLBDF|Q@e?$K6vBDGIWrQEXcFt-c*SPN7wbNsC@sUiKH-x-Nx z{bBBmyepq-J-!>>%hCSM-K1q44Ke5rjusR+T2Ri>g2J6!DL$@qwBV7WeWx5P_%Cv_ z41;!aG^4=LjBSo)taCJpk4295B{jbuIof}nqZ!{1M~e#_EiU6|@jVGq+K3S|^FwHkChj z(c+l9PJ|FvNVWW)z>VDX{C(!MRQ_5>0zXi9R5lY+`8t1=^BDP<6}J3a^Vsgdx0q@c zsLt5hrv|+ZEj+(67i?@Pd!WOH63>?G_GaERd27@Mc^anYgyxm`vYmcj8KfLAhPEtf z#3Z%^V&={5vdPTh7{pWQRUZw@FtCqA$Ub6T z@_HZVc^@$bulk7j-|2btx%?Y+wCrP``WU2rTza=R%x;$T(ZihiQ8Vr1ZQH~1AF_|x z->Q!W1!WLhhMY$|w9L!X8)l7H^<>z*Bl*XvZr+S8)Ar1^e#)VXbI=j^dF4{gp#lB# z4VXiM{lo9Z@0nm$iVgD*tb_KMe#6Z7r#EW6`i*(|9yyFYZ{z2xZ$Su)5?g__9|-D& zmfp0J(!SZAo~W_vSxy-C4L`3mRo?>3B1QmxlR8m{@5asTzIiuH$NOEfzIlnRH?eQt zyp5mdeG6hslYKMNzOnOa={i*P^Smwm8`l8(cwVWd{W7p$)WGxLKKARQZdc1>#Af=( zQ8gW--PS)2s!~4ms{JwV6Q!1**e4p|TFNsMg+2|lKIsKn!@p%a_!;bli}}NIj`F>X zczNM^_}OZ%aZGVKCRm4N*_d=N!;0%RXv#5pO}((s@z!Fw&owEZ8IQ@=ty7SxJ|DFX zuQX_*qig2X;SglNJl9h$@}X^VPF<7>uA8prT^*u*bHq9&cfU*j`N?^;_bA}l-Cc>uXGdn`3Klv+@{ubEsQA#p^`t%mCZzbozCwY}9z_ZH06=&Ii`pkE#6m$Yxshi%<}`Tda2CB?ip z+`B-Ju8xdDoV!j5&-c^${_r4MHTMC*eB#_{n7TqkTvzD>D#&$5$@R$O{h)Pq*ugpq zx`{p?kgIbO{W$HD4>~pF9Zqwc-z(P(Du+iGozb@c#n1dNl@AZ|-~4@94W+DxMOh8E zWi|XBWR)mcB}!IFxvY|ZT2^T;t2C8Wx=U8+KP#(ZC97g3tD;O+#W$8!gA&UpQtwA7 zs|mfLn|+< zOy4DHFQGmfwv#J9(A1cZv_rW!4d6~b?oH??`n?m_n--;OI8xwINs1#g-SAoiLKGF;gp_L>c1>rEVgcGu~*8W&CN z1q$N|a9sA5eKl0}m7UvHc;=>(G|?WCd7am2?lZH|o0f2$REB%ZoQ@j2ALo15bYm~wYuKLx zrV zqA<52pW7VIVmY_a=gijiOt)kXQeTwIOmAhQ4oxMqS&Ulyx;A6gW?X19{<<~|)uvHs z)A+hJ1J!0wXfyb_Hbd2BSZFi+x;BYwlN8z{U)Ls8ZPG%U^y}Ibs!dU7GndZ*^cJ)k z(jetlb6Y>RuGYDb(mVDIkgNH*vZ25pvFG$W-J|$kv9Eu#U7^|)>+Rb{qqpxh&SMB=i?fPHYuBO`6*4x#-vfWs<8?Uz; ze`ULdYS&nA*Z9hI1J!P@-fr-f?S`t|aJ}8|E88WiU9#RT`O0>wYL~9JOTV&Rq1qMe z?dJQ_H7;*p(ei%i8vB67S{z1bvBrK z4bKJUQ+vtSOZ#QgVJ~VgUgUO#B_bLUOTduRm_$~mVeB)58U~IRxQekgUY`p!-n@n$ zj^Tt<5;ZQ?b;iaJq=ksk2n++`rR|eWK0do3W0)t$+Y`zHZ7haCR>whP@4U@_W6s8F z{i?8|e%EEwvj&XT8@R0J)!0k(C3{*j)`0q;GvxWhX=r&%%9{bFEFOpGHI=o?U~HFQ zbIcRnz6@?Z@T8g~3pR46Gp3&B!o_t;CLyOW)}f62Ktxu6b^JOw1|Dkib1gCi7Dh4f zoOZgFp|8o9vnG5W3?Cz45%L>z%00TIO&)OW_CY}Sn6jZDK7}vi~;yAc>7!n#{ivn}TszUO_H6UIRdheTGMRnJV` zwmA#&eDG?`(tN3IW6IAwchKn7JO=A;CTw5I0sM=yuwRq~KlPLQ*1jRnqEdFQk3)k* zY7ZgT8Gg6~ESuZ6$>j$>;6C&H(QM(ebDQc)))Cj#xrj-p%{3aZU_2Bcnid!l@Gq5X zZ+@EKI)AE6Ox(MapX-PN%oxvMcSM+fAkTx9jRoac9tX+EJjX@4@`rgf*P$6mi1J6Ml(9*7{k zbBt0>S@L3)4@odjjaYt~Kcs5FVhtfmNcdb>;pQ3{xS0(q*GN6js}sF4nV;B6d*-*i zn`-sbg!5nu`wZ)65hI4KS)q^frS@;dASa&PR`p?r#rm*jzLsw%5yWz5p9s_+6T8hriZ+WmF*qf-W@G~M$K7!VB56h9ISWN8z96@)l2Q`Uk1f04Y9Yp3jlV!xLGU$W{__M7U7P<_4{Hf5Zo*&a%N=g^jSYO6j) z*e876t@E;em`?%SI{Pp8)o-V<8Xq|d;6kd;aIXezEcc_JnymG+iSfc00x{m6F|{xG ziKrx)H!Gf8VLkrMvrQd!?y2NEo3`z90SLkSLYGNdpBv7S*1dXj{e zmY>Cv@`ZbBzS?8(&u)FE_D=!lDJ1|wRtODC|E|=by!t65nCqF<^4gq>x*$5aX_*}g9 z+}ri%SYNyQduxh8HjLa}22OL*ELr^Ye;tgfSZzxyYv8$K1Fr zy)XBNUrDfzI|~jK$AkW91aS;#{lb0Gy}O!%KZ#F z4u(dA^P$>8eGl(*;G=Ut)_lc>?$`%UH+UZf#sj>MN}QEBJbJ>%u<{zHXZT#|q|JR0 zE|&!Nfj3KYai)fhg(iqq=&#d;G)%`VDn3N5Qc6U>vIB;ymxAS6KBi+OgD5l}V%oAW@?-l1|HWbU0a8Mx;aii zTQ+{8_~OR+)#q=s96?Zwu4jq`+!3TK)JB$P%uPT>!6Z^tWnA$wD zo^W;_z!WUB%>FC#<)D*t-khTb!!%DA<{-y`kOz|65KjHKh3A2zLaS4kaRGMCTAz0E zuN3F@ky9pSy60DC)?_|BSoW47$E?$H;NWZgVsos%!g;V(irfXqxjGLyT+g)!TR#0R zDErRF-<5I$GZt=g9mZ-n8l{haW`&TJu>-@5n+ zc<8QV9CcK7w_&dHH}##;*-Lv}_Ejw`9J2wqg?3Uvqx|!1Uz2f!vc2l#F4<;4b8(F` z+hH7#$WVN1OK*YHqTafmvG)t$l)$xzlMi-qLQ}tt%6%WVa^5EE4&(T|_Rw`2dY`rS zP`{z6neXpwyN&IUVO~Qx-QPGy%>BojU75`1@1X9EPVgKk>Jcfgcp(a6XqeXXgI9G~Z%uL)^s|uEcc`0fXRqHv zex`|tz!-pwhSKK9^m{s2w2%IqIp{H%_~+W4ensRSMZT%QyukkjktX@3_ge4S&0g0T zcUg#66KA!D*Y>2%&FaWb^^SU8bW@HoZ`;VBXbf|y^nXX$8WGwWepIwUHuO!9+4tsE zJKftcm0VJN{#I{$z20lP+ig0a{Wx%zIrK7?HqtJh0i3I&d`pUJfI-UkUv{1r@kz4? zl6(t;-}|ADxjQ)j$R6Zf4Pc)V;0l=LQl^K5AgPQvOz-p7UM?emt>F$kMR7>!&tS1J z7Q+x0dd1CjdtC-r+{~2wp}1erPDB1`h;>eezbW=sdyvcn17;LPvD*i|=`TogQbK}0 zEdU}J1Nc3(l%1&J?RWZ~(WV9cDMGYMNF^!M#ObJ*DW1JnFXtXH)d2N`{@4@tZcOhpo4ORXR3oT9zv;xdN>w=k=KnYm)lNK;7jOSwtUP&jWEAH$>l6YeN#B| zxa9)`jf3)<%vkZPB#vSIEaY(gEF_F0=lpnwX+*+27J+M5jCbPq#ds?2)ncpxzc0oz zP`aFUSdf`|#Y!jWMO;*_SfAGnO4^onG07hcrekF5btAcJL+`BddK7yS!maTyVCSpQ%%UM77JWSvWe1ulhoIMUBuA^sZf9vP$*XQdu_ zx*KCv?CXwxg3QsixK|d#Q@*#X9tHXQoV1(RBZBd;7Y*kKv)A!>iwRlzwX+-CUd&u zqTRJM7c`v<^r73m*FC4(1Zz&DJY8VyJgfCROly5BT(CQ`KK*c`KD~Y3URD9WmES^r zZaVFac~kfzZFs3WB{zG34ZCKy-4kms(<8Y2xzDf|HxEc^#};)Q+8$tB+23)Nzf{QYd0Uc8@L(Cd zCpW8fEr7;sj-ilemE?5>SC|p!`ByaSe=y-;F`q$mQeXHH4@%>3JN8eAXMr$Lbsx4b zo{I)sjY!)lGIrTUOHmDF|MA>4sq$>k=*@HwNM5h(oGrT$b!BE3CZVi}p4LrY*-|E+ z+m`X$tX5C%3&FG9@O!v#iv8QkuR1cfLB?Iya*co?5XnI)ksS2OYRdCP#u(rq%$z7l zYc3bD-VC_OOjBaL-sBT8zdA(TA?$f-58}b9l|2Y{B27P!i(|8;E-mUNu4&TtGYoR4 z?f0~^U*ymlbY1#yd@Gb^q>8?gai4_|?D$=}K+~2>#6Nw;*8Dy2eh+o)RxB~Y?xBpI z(v(X?vEnK?t|7_oC2dU)DE$_5YRqMeag$FX=b@1oB2e&buJQY;!5_nw#M~fZ0(I2pF5Lb>Q!&9GoZQQ71ueg9V#5m^xoos4t0={n8wT0v0@kOBUm6yJ83>T(VD6|FX^I0=cA-@~R@2 z40FF!flKO(q)F0Tt8k4=7IU!F=bQ09{;DtSc;oD8(CJ05i+(ZrT|O z-N2jFz9v~tV!Rz6NOKbX9EX5PYH7?{;*CgS!m%jC8ZzBL3!GHF^LE3h*XJbQsh?rh z_nmPS6?1sdnT*02kkXtqk>}>gd`_GTn)#ZkMD-E_q$}hYDvE@uryd?;K*e;>Av6TAog9(z#=iL+=Y=H+QWXJc+k?#qBBH)P!t=pl_I#zYC% zuYg1xmT}P};5Jxna$jX*!F-C~`*hF50nJYe&}L+7Tay zHD2*9FedQI=s4wFa^0e2Rli~D>>%_|*)TYkln*A7Q<3Zp#cREneQxJDPbb|~-a=Zt zr_@LAv}3b<(E8s@2E%n343!Lq_sC%Q-;=>$O$LKp27`NKF!-;@piz`TV7%kr&WAD^n?ys#&pamEUMSeOAt)_JqA}*}ulWp$582(c^$P~~$_~x~(v?WA{WbAGmD^Mj*DUyz z#b*3{Ee=zR|LyQib&6Pr{j-3O!T3TN?1wXJ^?uo24KSY}$nzQ0`QyxIN>9wBo$HM} z?y4Pb&28~rtQWCu&vw?&@xuILFM~MGyHK&hQq0r1rj4|+S`od%T!wefCGgdt5^nb` zI~Q5d7d|nB<@;73eGXXXx@_(`0q?L*N6sDA%szR)j&WXRrMt@f?pRB^GAQrQntqiv z(?P!m{${Q3U2}wezAWej#M#a|&aTgmstsNq_gY)KwX=a3m#u!RPOvtCPa?YOd{hBv zWenAysJvl9E4+T9C%ba1*W;Ci^KfhZ$N1}{TIExpXTC4mW77uup?zrw@5qA!ykZX- z8=lMEm9t@MLd7iQ^PKxIGAhr*%KP3)?kCA}%!|4C#k{ZT@_f5_4AKd+Z^moKa}UHNvXYQn<-~1&Ow$7n8yi} z{S3OlFi%3rng{`1%S~3l$@!G3ngiK+kUZaBorP5Iy)C?lu}u&|Y4`6sBc#sGl$}4= z%-_LU=y#1j3`wZ+cDUVC^%IIYIeC2nGU0*DoLiCG95jq0gKW+-ZfuxmQU5R+mf4TnEUCkKA)Lw$pr|> z>b>~1fNgI-X;>#i?&Veg9^yA2FEBz7~_t+_aUVlDbzutxdW>}!a94N0*cNRE@h>7_4xJWTWDitDoxf9|7w zT0GaA*9BRtZ;@iB+J~x*R}21X#%B^QLt`IcPg70%!fi)Zk0JgUFr!B#G!Su&PkaV#i@YJS;dKGyEh@A3>sCVR!2L&Y<~ zpesV6m7gmWoQ5N^I_s@}$H_vC~cQa+}m*iU7Y+04^ zj?V(utHX{0W@flaRy)d#GMye6E6&qt=XE5Eq2bHim<)G;52fGn!RkD?`p!(hSJh+Il6yPdW0yFAafz@>6u+-AKKJKYC1zx=pB+#r~@g7#HF z;sSQ$eu>RBf*ufd3EOinYdgq&dq-`M{i5E+iWu_TI*@&^5b?Zb&S67YAIjLpO_o}g z^MhwLi#e@X{^KTR0=)Hi)7z-M>Y10-CK3>WR@td-wkSf{Jp5{w_K`w$uRald0o8~RL?PeY!uQF;HyVEu0O zw;N|%3w@ghn8SQW&C(3}B<`(hp0NAoL7or7{M};xu~J>1@siCmML1@4zRB)v#h8mV zT?+m=v*5Rrxr1cBQD1PE?VjnfEu7z#D}(;pWh=d}Ppwsq_5?f;!2T(#V~PhlRNnID zyLYW~poNr$#zWUx>NWbYP+MvaYAFza1;NgGrAohVo~z&B);e-)%^N& z=F`Ch4dY5^Zuu**6q8zWgHuD+eh8(1CopJO8W)PFA$=H8AZx1{u`fz%v}HN6yX;5I z^_Q_B*fwO>I!72YjM6w)@r=l>n98ON{DAdc#k=Cb#q|_`R`~86>#5dqKdT*(6mlS` zWksPS3_?ko-vx@?EY_U$!DuXrJ^C#1^V}xWzBxb9vwCZVI>`dhKl^vrR?h2*W$ldN zM~c6_YfR{mL7uJRGFcrd$u+k1$#R+b>~nrAQd@5)2kI1XWBhT;wvu)RVwJm)I#T*6 z$Pm^dUOz`1QG#4O6nka*La+;DhMI0?p*{6^y$_v(?r@{*DyiPv8STJXT=1&SW6mZxk)o@l z!WhFbJ9N$&uQar7`;axC3-ea&Pb1(u_`P^Hb@B5ha4m-3zYD6(z>kk>;@|OyMsi-v z_8O=zW3PX_^WK8ghwS$uJAKGuAF|hnJNMJhIhl5^^9Vk9?bbJ#@i|T3FfW`=-(dFI ze)5X)!}IjfwtPR0e9)=%BmLs157Lc7`rdtch@=d84{SWwJClx}zk=DTV?fsY&TiaE!|$LEIp{<7 z`;eVJ(9&uD9E{pI-Nt)}|9d=1yrx9Mv8Y?pevDc8kR+hwuda9pI=tB#~ajMePc z{byEM|IADD;7T1z%Stnj0~!m)0J--|cf+rS7gr74ov^#Tp}WP+-R-s20wxpnmAjLc zy9L!OP2etfSI-|v9!)Yvm|JJ4yruQv})7Ueqa1Q>N!!e#FnUX() zZ-@U*hbQcC?{_)8!^^!6hmOOWdbymQ9VqT_cx&Am&dbG}4nLS@paneVQ-WiOy+yo^ zwB9fP_6P9w!&zH_ra!5FLia{~MP%(^i3zew@=HkpS<&O(TR(|Kb3h>ef zwcibkr#{cij*s0T&$EHkPko*Tee`*r^_`BNOaB~-^}%bh{hHw!22Pia(}^?h$J53u zK1$m=>eM370<+lo6mHyA^{!~}^0<%2E6dh5Z@*&pU$b7hn>n{OMdM;=T-^0F+SbtHnED&xES{dk_x+%ty*?Vy2k&xxv724*=JpZoa<#Y5JM zhnnqxj*+xKardEr4Cm&>X_$*F2QGKJxd`Z4$HS*#F0vfB+?Bn2rrQTH>yOgzIdskH zkA+{8{age(E|*=G6Q@swxA`DekyGZV$|Gu?p=QtuWfcqiGV+dNd%x0atMPR!Phn@< zg~?HB2g{a&Tb_otr>kp3J71w#t8<#VW}MB9e4D+9(Vw&jAFpL;SaF5R_xPw~XOp>! z?y4q?8G^CdkC}3lyvu2#f}A*oic6?CaxAoJ!UK`ycY2%ack@Ki{e_rP>Atu7 zb4n8nStk~t%B>&IIe9rz^oN^X-c9HAj(t1(4|H~$m3y5Xx1HVIheC+pD`&T#J1MA4 zUj=tMJ0WM&8b7KfJZRZpV)u4qp>}pm$8av3f8uP_KlbhHKhoK4R_=FpHJ=n+ zXVX2;ubthh;iY=fd+(RI`f6AO*A>3%G2T@rla?4*C}+u47h zv)ioP>uhK{8yZeQfcVPUvKtG4U;oqDf29j|=k^$eKEsk2PN?>HLbc&Zn_)0H$)|aT n>>vAP_<;H00960;&M>n0ssI2|NjF3N(TWeh6(}zICBxA literal 29138 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 diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_m_srm/1.srm b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_m_srm/1.srm index 86bdc3dd626b4aa53171b9fb9487a9393585b625..d089a50f0bdc78ca7ff891074bf939fa17384319 100644 GIT binary patch delta 1176 zcmV;J1ZVq)4uuY|DFT17Zrd;roy)H7UKX19-_uKEVagMjHnHQW2z%iR+}PP=&opgxTi9T z;e;h4RRo(wSLoMkq@BrI4eD`4VpeV{i1ea}jEhQ0p5~uR8|!~x>*1&P>_6hI=(I9= zPdlfhZu6Z+bJwwol(5)Dh0^=NeUobb2!HV7f}B6hE-M?KE~|9)GJCP9Kh5Hqo&BCY zT(%eXcTTJVREz-QNW>RTG4S-p)4<~I*y=FoFk4#N6A zPGMi5jO#`i8cQ|Fyjo2Ory2KH2#-^mr5+!RaXEF~i=BU;Fy!;$0HR-7-^U5{7EKHe zR5y4}bj^vSne}y?dkx{Tq^%`M@9`+JYe6V8VaCM&7ieW7T?=jEq`ALQ!s{L)`5Kjb z88C|^Ih$z?1x0m5S?H?*sS8vRydK{46hd*W0#7GiQSAvyzjRyZp2H5ILDBRhPC2OI zT^!)<{iH?njF5w?)@$#$pY+}DFZVZJJ#^4MhkAO`qF3ts@qeVpvAOBc|8ywab8+&L zFhc$T00960;&M>n0ssI2|NjF3O^KARlW7E5e~z0l5Qfk7Q&b^`<`7C0YgxtOU^~nD z0wsg8s&cU~QMwvnW6RYZsQT_TB)Rm${2FFH&-^wNAYw6EIPfWIJY%WDw?xzi!86qp zD64G|Ep=aXKm1D>#n58ONEN|$*%$il8fkCxPJ?=0lbDs;3L?EMBIBbHl9$Ej%EkKk zf5!e4pTkG|Bzmok-qYUesNa64(ZctvA|))hQK9s{@L!}_Jj0(O6(6)c$GGO__P7@7 z_UPjD+dBS*Pc0sg;wz2W-vx0BP%#3GBM}ds;*_ViJe~44ozD6|-dR3?7+Di~av12? zFd+GcAj>Iig7z209W-|KW^gNE+p(Gae{mj+vOSEtLFY)F5r;MB8Hz~@tkX2ZQ_#8b zCh$DMWoHq_Lu2_01~EF@oLh~6&h%bQXCTqMb}mCcF*w$V$UNy}ous#TJ!O&=NG=`_ zc4+O`90m?6D_oePJv&5D#`h!G#!*eOK&vU?G~+=F5p+tkH0YBtKBqo-u?rhcfA!oR zKnyDv=4er$(Kzs+dK)~^H7AZ{F7$C87{X^sS4)!K<4I=Mf>36r9h2~0pp%L89dwD8 z=6*&AZ+nR3TU74lq*)}%#msvsD5@*ULSGd~U7(T>czEL}gyLFFc{=A6)gdA2gWEy> zI^7{OD4Jo!xdt`7iv!%fpE<7xMmhLuvk8ueP2a=)<>Aj`h90`tsh{3h^h(1#;f)M9 qHa8Cak3->Ji?f%65%LcJ0RR8ua!}v`00030{{sL~f!j2L0{{T24nY6_ delta 1178 zcmV;L1ZDe$4u=k~DFT1Nj+-zLJ=b4Rg&dkgC{e7iip9Zpmh}Zn25D90Vqv1}YJddG z)mEbFzt<+&OHcFkJo9GejiCS$i)n--4^iV8ORaGiBWi=-nCc0X)wYP1x-YsP?zxO& zXt89ZieS6!3;lYFv@?09K|QTW%*t&AkzN*&aZw4$^WtM=WBq??GyW7G!!_QCUMr&y zw0An{x8G^Ba6PL?3CnF%D19j07pWFc@JC!}d;ZO@cKycNxAnL6SIfU~ySD9hhiAS! z@2-OVT@b4P6(hhn67h*s3_QK_H1Kzv&iF{)Sw4W6SmSGQ80ge6Ao+$M%PDL;b{E7w zG~?{eU{_*nrzU^+V;vYZ_Au!NttE9vEY_T7C;}E(r)h>Kk8|UU*K-J${fICfn~|?z z5R)C7bE^^1n%=3<1BvFfwHflD!Ld$6=13>&B)!MmDU+-~a&dsL$8nsRv(k4dJq+t0hSv@g%cbK`1j}$He~^=wu>Y2VLT%dGsjZ^#GB4jmm=z zm_?FY%)Ez!qPn3h^i6@(1u6+%5AS*kp}19nr!%jp_JpLLx*hZ{;fBzlXod;r9MteG zj_~k))_Fuh$iY>cjd$E{`tI+S`|hR^G#s6q~#L$XA%LKTaH?Uecg zO9r)CKqXD_q>NxQ?{fWmiL^Iat3f?3$%+-55+Xg%Bjck2;-}f?!madw z@3s9UKKqZ=R&-h!y{DbmQMdU)qnYnmNeY;6qFm{H?!QSjdxSs9sd;;Nd1?6aqiMFw z?Q-?T@$G9#-9tmawp@HqPVDcDI0dK}0mhMtyH0S-(`%lN`KwMQeIV~F>p={x4m}z4 zbf_7SY)z156xKoeGvW?vJ9*Q)g|N+kP>=pN4@TJz23@0bq)Lgyit`l3s0CI@lHxJw z%y<)c9^t&R2*aVad;z@}oUKodMnGpeuf{WwXkIy&A|DwXt5~F-w6cnmYrGs&$#NuT z4+uN7cBl_MhlLd`%+Z`2A}Hg#0c`E4CTXBmlyI8zpoIuJp=lEI(HNgmAH3Lqg$>7g zZVw>(g$r{us847dcu<`Up6H4bM^hL2I1dcr)3~i9NpA5d(@Rb$GvkhNcrVb(So#*) z*h_Oeqkz{vMDjH%_HxuLlH_crJrv~S1!b-;3Z%|aNeDc=@)SaTDaSmW@`~z^ko3-N zp?e|t sdK~I2hyKT*aI3}1OTq~G2LJ&7|Kf5`-~s>u0RR630Ee2ZIfDZL0Bre4Pyhe` diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_m_srm/fileinfo.srm b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_m_srm/fileinfo.srm index adf68aabb3bc69f378c5744876d9590550701e2b..44488e09d7bcb1376e45cb6675f4bf52dcfb5e9d 100644 GIT binary patch literal 290 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%0A*9n}9h zs$)Md`oZe%-mUw8x9Yonwz|W-9UaTSJ$|@vMeX&ISE8;$T{Cs{)wNVtr;5eObFy@f zDA)p}+`0(u(;#fNAEIjfR06tKJ+zo!XnJk$P!&NtHg*7W|aDuz@Xi_bL5sk1>SfZbu+ zEI1xi>prz7o>GT5>bA>m*$eB|$YfQP9+PEiymKq3M*c>;CogzoTx#22P;{XXkG}-# zS=(%kHuw9WJV1XG$As`YZr!3LHjc+JN?QtJ<7rUouw!v9ork9NuGV)J4;UK`?SHPU z{qUj9bgT{3eYCd!8}C{5%W@s_I-=+GIS0q)i7201$5qU`8q2fiwB;CI%aOQ5=2UoH zC1VF{Hgk&=;{Ncz;u`O{n}0qB8|S#j>E7+nf!(Fc?LKirsoh^a*GKBLbd2*JhU1+0 zZPpT=lkuM1vSo#uZ>^u?m}#EU@qcMr)UjFnxx_;YJJuR{hil`|FSgHn*lWM>Ov}fQ zauLvPCbd7Oa=i}ZQh~rsA@P|iHvqa}^oYjcP@n2^D^@O(dc~!8^|~o?+$~#>T;eYp z?@N#5I;Ax(m`dG*IhuIB!f+JTF#(txApuo#xhn!`FXNsRRo`GYV5ZDt@_&3Zx$g^O zZdhi=15S-ID8>U!%Nj?6ZP{b3F)q6vJ+J#%*D?qPC@(N~58GL?`6B$rmhHhyAJ22Z z{_E#D_cp$2;$v0Zn_g+V?uANQ-285d_uDpkxmj(4T6=pldv9-;F|!wVp9cHApXAD5 z!K&}Gj=TXiKxC6wLZzw zcd>FhPSlwl)~V>ptUCAg%RB2^=J%++Yd-*exhn4`mv%pOubTb|?nlLWK%Nu|XG33M zKi>j<2KctI{;PLoyrQi4Wi)7#I96)$rTb0i$)@I+$=knbVp+Jx7Jt#z0luR#uQ@AA+lDb4vd zwM`-p)wAb^1y_H5SWGRp;>GLp%#<%PKl^ zvtMG5Mk&8R3z+9fXMK)CX3nKBayk9nUS3`A30hOc{CrUamw$xFwS?z9?b{Fia4UV` zkn*kDzhnA0+8TH!)IQGR=GFN}HjaqDm8{S*Dg8V9p;4}3pN?TmEcDEtMdTeM8PA^w z`I`TYwvg}MJKO!3Jf3Fi%m;1fOr@QZ$+IrNr_S)4i0L)+^!1!ri@kP9!Vlux4O@pC zvvtUU?YVzGnt$Qjyr5u!ATh0B9*;U%66vWZliHa2O|>e%-y_X`BoAUXHxdcU;AnEBir}{S=kn7O%W6Q@#v)&1c^5`}Qj4M6v#K zpH3{3^FCO5x9HaI@n~Rl z#NWs(wc9wG{(i7BXJy*{-zs8#-LKW4zMl=Mv#V^rIby3h))}^+>BDN#ug0Pi4L;68 zvSf;Vo(9UdpHU^lf4(-aDAP6FwVq8s#UrY%v+WjzX_?%=Xx3%+-+Th!LCb%c_kXAG zE`JZ37N4=LV%Cv$Dm`p;!$*FGwt*3##e7$719Pw=_Ty*atyyaZ2hekGzprhTGNQ~| z^)+uE_ySp3*}2-LJ{C{WbJz*GlJnqE1$S60RDaNr(6ONL zwH~^9c{DK{n^ye0uonNM$hR7!v(I6+^ASVJH7}4w(fl12?ASdGON+zcw-8cWg{4EAFGFK34rTvcxKrc}3c0tK~|a zYp^$7pSF!~tU9CU!#T2Tb~pT+idN3A{M(D*m)*tfYW$92v1;$p*}CkbzuWkK00030 Y|Kf5`-~s>u0RR6305yYJ^qhSF08b-Q2LJ#7 delta 10183 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 O0|@{+Ut>*D1pok=%Zs@H delta 786 zcmV+t1MU3B2FV7HM1R{h5Qfj;Qv{|D=3xa27A(s=t;Dk2B4nIFEcX%+OS`)XWlNUi z$bf^qdr3JCP@sn*6(EqJ{`oocVFnaDy%9YOq>bPluVvA5CK?2KJ?~3#Fq*&T1y_YW zKszBr9Gxecq4gB762{_pSaMNN%OD9cqUoiC zdaDbgsPtA^V%#iM0VrWV{|oCC*jQDwe&3{p8yvt&`{>chP0vKIFUPl0USs zkI6$FMUT$ayMM*^{cfxU!+d&BrfjfJUsML<(%sLoGQGx@PJROtwZr)ooBTNZ8Rd)G z7jfW+#8h)m@ubINZv9*rg*Ny=r3PAT*zOg5mGFsuh|nOR?WB6mRu1IQs#W*uP{t&I z{FrRJ6}T+ll4IwRRVEn%mCDY|{2o%TodvBBkXAD~YJbTr?N-cXNJ+@!yk&r-YI72Y z*sZ#}6@E=mZ~eI--D8`Cdt352`iFlVX_K&Tfpn`R3I6X=zYllb*PzSQ&GSU^FX8(O z$w%+4BI8OFX;I7s0hO~hM#Lxi>EkfoJER{^L32^pf#or}3b>qxo6m5)#4P=Qt`aWk z5Ff2STYtScr=jG4i!*#q&+K!GUMx6RIa>4;l#M%&Ey&CS#JK5dQ`uI{=lmBzE)q~Z618%QeE<9gW=!U z>~3s!H#WOpW3#xkS&VEJzs{x(Z0f+K{y%JH;|%;@Gy6|$kbnLL00960;&M>n0ssI2 Q{|o;E08c6DRZ;~20ACG^!2kdN diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem.srd b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem.srd index 067b4c1e7c82c662818ef7d8ce3eed37d913c2c5..cbad186b494b2892786621061ab4170783cfaa55 100644 GIT binary patch literal 16783 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%0ARrve&Ww zGV_XZn}W#Yiwt{$%D-RXe~I?a);|B{H;j|*kCWBL$!a-zVzmNDnzw1xz-yjPWFUms2o-A}&7Hd4qGccffBD3^c6hl79XYwB81Xc4} zM5HDgl`{XlF=pdAWaN+MXI<>z{j&};{wUA;xJEDPY?VH>2j|4}Q?S?ZS`8q3#h!>c zHFOsqdzu-w8T1+C3cB*{)1xv&&eNES(+0+XI*L&1LCphfl7CEHQ{`_|d6<-} zWb#j$rxYLCH!RoG1-UZIE4dOE`{#|$uUgd4fgJEd)v#-lEpt$Eg&j)DRYgso?W-0J4V(A!>rvNgVM z?cp`K-VSZJcN$W=uk_G9#iEvbgZ;#d3mlgW4LlcoCNR0S^;%s|u#L&&dTnzZeF%H7 zrH?@o3cH}xefz=VHe|B+(K{p1qdjcJtO0h1$@SyVR=749kw=&Z)3m+Z}Jzn&; z5Es`#XZv}F7e%Fm)y`+SsPx=Jzg1l$r@yHAc)V=yRke{~Q5%UJ9g0>>+0M)px+ONo zMNLOc7kS^=%f;Br9tyQLP;p?c91fk!-mC>8WMsF{YsBND8)z+t;txhGOf2)#D>;kT z3BkHfh6dH$CVs`vX_MX*kD@T9nSZuAe_D-~L;X@XZ)A;5p5Fnlp0B6M z*QEAPr~?;=stSHYm>dKbfOZpS@_r~9=9 zG|xxR*A;YEGvBaLD+Gs@Sl2#6x<1IS;hjdUs@fS;*7xx}DiEk| z1za-9wc_WE36DH`cpTNlCb)lX!#fTA=8&7cK>YH&Q1=+I+V`JEI<7>^1(R6&KlNp9 z`9`}B6xV)h8Frt%ZuiM6yHCDfgH6e!WBjro%8T_qvP!Q7zL%LbljOZ&pXN0hKE~S* z=(M~(h>5F0zDV`o)Uz<}*Lc@4o*sjc#*|vGaM{Tv<^yXjK^IzB{(Axww$!hzMt<^2NkczcgeM9k(|r ztM0+rh8OpifW_so@q0lDTQhyuYbP9x=QYPF)E@QKdZ0*(_nG1o?9{VSE;IvbIgwy`Y`qb;D{l|dOyxqh{kQ>-)ECu zjmE@$3f50O*1lD30Jb)Ujj{)I?xDt&ex`ifp%#l#Z<2;VWpf}j&^0Gdr)nKs(05!m z5pK(V9RB!Gt-+AkKa$6f{F&M3W59K|oau194@>o7=|1l2ecbV9W*_UI4}NgNyB{A9 z=AH7r+T8WLc^$(Q#mZLFkUx4B?u31C)q}j$@yepOFY7pJKWwOpvu9rn_IjtaX=-+s;%5U9ha$!-GCY#tBksI6%b0@EC4(`&Dzl{@J}P2o5vtA zTIF&2eH!TZ$NosiZ-&&5pe_l-Zz{j})fJ3w@v#Goa(ZnUOU>;m2H)6mI*Vn0eKwb} zT@DRC7bAZL%moSF0dvvsx0*}o!d%M0VKVq+AzTWYvbvRck$Yc9E?INN^FNw}7L8ABGyC|#0>YXKe z-Cgy~|NrUz@P2;poVj!7emOJe-g%yx^PC3|^#JdG7e#B5oI{TY?Ptsl`PxIV53yOG zqyiSDA`jc#q|U)a_L4soSqIbi?c`q3PeT)x#MCnzk6Prkrgj-*pwGLCH=g?Fz2fB~ zj+{+=Vjk_HUMHC;;F9>zHfH$ggS?Mg??*#^MHH6aR5yOr+xZ(Gy-jcQI3zbOOc$vm zp`G`EDJfpE`^_isC%eksA}h`2s%L-H&5AzttB5}2w|OMZmG!NR-prVq$JLL_wamZ& zXOiE4W+qCM8X-ChH#`D^je8lxLs=dKA`)AVJ8qwbZxhKt9y$?zVNDk zwwLKsJjFq~&2V&tTHXA4(jqSH%uqw}Y{X6ycyzBLMKVUxsSNROs1DW`${X#5&D>@N zJUgKS&|n*T1~|k(s~eExxWLsF$jky&`a#)!Z^fR|)lJy7;wS-uZFj5nAH$04=V<>bC@uls^npMGGH*MVM&&+zjL6EulxS1E^%=7sFDs;~@!D zgpzLN16wi!9Se=Rs1>?0Sz7XO5b3HK>>4V`o z|NdUzqLw}OO23HAb&RLkMU{~y9Jq@xqZ;yM7+4$RHMjxEBJ_GPLZ}DUj`_5d;w1DT zM>^=*Iql5nZpnQf3^HS%V9c>Dsva5oItEljwom7y2b<_8OY9k_QvAPYtGjt}#uRUj zwk|L4M820WQazZ>{V3tI40}F(Gf(G~oh5g(tGNY~*stSpGa9@b7{Aw)atxn72guo+ z^SR|Mx41NFSh_`C58)VHcMRp_zphv6tAt2)fIZ$s2e2~i1eFD_ZelHtr|d6D?%#8t z7e4vDcptN+`FVv4Z6ht3CB$L$DW8~Er(ztrkt(#j98LdD#_lV8BJc{r@~#aC~k?)k-}g9*CCyT=TdQn;o?h@I^AjYvZ}t4y9h9wr$cq zwfp>vc$Wf-g_?MZ2nNw zi%a9Xy67;Z#;*hvSBr4xFJlr{vC`oY(0j#YQn=trw8VWwT!v-r3HS>EBQe*gcHZbG zG{R!0kf+E#X{aIYfvsY>;6sUHWJQ+iyU+vIR~9C{IIWz~b?KL{u)2B|d2|*lUym3> zcklVGd}#bTF}9Z-xB1?!pbjfwVc_RTL1W!IvyFMDd-_8ztAs2@y=k9 zh?{G}v%oZio=zMoJSmV{Gq1n;hlQL&+%uaO>x%AwCa~EKW^ZrZ*~7>Xw6XLn+7G(e z&ohxI?T&=#v+ola&NbU3=$Na}HW2!^PO_D2qcxX99hBpv_wd7k*9cnBK`W(U=$^8D zG4KUp$IUNf?@gAR&Z0BFYwy|))$X^B9frsh(}|Be#{lKgVW64Y%uG~8vP9n6^#e@A znjw#DY*L9uhWmK^Hk(cF*YMT^m-F@k{mx&iQKDp7+dFPREv@2=ZXBS;8(8|`q4n4- zor5+svv1V!9a(_L<7L4sfopmMRV{F$J63yrKN`C98Q*TfE=1`w`fPx+(@g!TB)-3m&q zWO;8C-wIwmYVd^_dLr$_T{C$B4XH`)Zp*Rss|OPDYJ#wrwXMZZb_Mmw+oYmTXo=Jt&JxR6~27&3HH~K0mZ8e9c#5VaSpp zPL0}5-;do@>Icu?T5(o=1zYczP`^-nez|akYIN_!yHXnYIPDZmQyeDqB{F4W%V7Ma zmlFMCK$J8hPJ1Wf=+QbZF*9z!Do9+EY{6#;Q8wuRzSo=Siq#l3*la!H>1=vE<7sEw zGUI7)ikz-fBY{NjT}bMo=yv;=yhE977Gn;tut}R@Rs;WfZlJLaz7GyamTu`#zTZ~RzbFYI|VOvD;oKeKkRe8=GgIj_>Xgia{C3FiruCIycl3UJWb%&MDLuW4so0_d+l+>AADGE9(7W7+ zeyvtBT&ublq*!3$4GP>>ioX4=-W}iXGzO+`^>{F-MxJ~_D{!Y%`7PYSm8Lt9^UEhM zB7r`R_HlnRa~X8-?B1)J6K8GkFsOfci}_Ml7BsZX=kzpV1`*ezQ;HCN3UQ711)3aF zUa_8orHMEtTOB6im|!JSS_m)~XUcAG4W#w(c315r0CSlFJK5(7Xgv!4SsM)?rNQ7$ zor?0&EM1SiT%X*yP0`YC9eyOr=(Kp4l|dYnFmQ6%DTf7_sU-4YN{P4qRWT(7>-&eE zF+&9W=bF)4mlea@e3`Sm#c?Og0shO-37JK`fuck;4%VLkocYaWXgg~?@ZoD8O1L>qpBJBIMr-`t2IV@uec_DJpkI$Hy}r&~MY>{?T}=tKNJ$b{*;e7qING{2#x+ zpAXGUHJzNC8~b6dD^~6F{mHT@On>o&1ZU@WtPrH#c)|$i4pP$yjb8Fz%185qEd%6P zX(qL_>Zn~QO9x65)+uU~H`2{nVLEd1Z~V@u!S-guJezblPB{TY{l?&4=+GR8VBCDg zB+r)N_=4?M>hkCN%Kox)vz$AoKI5)&b`?1TgF^Iw8P1_c&X0yfoz{8g;Xh84(E*>U zVC<%sqO$gjw&OCuIMKqKIIkz&q$_1>i;Byi+blzW1;=GPrzYJ&PCt!&ej7JViYvToYm9Q_H0B(q`5$|EcIZEjozglIY8ewrf&-h{mRAd1S@?SbfWf}3#~(TzS6&_j%m!ae z^Q$}Vr~8DO?g;;9HhGk#&ZgscU$>Il^A@~T4V0-W()4hbfwk!uea%iP-YwV zdlos?tvBRI=wOcbJyrzo+E|Y7Lm-_Jn=U^~nBT#lMe5=Y1GDEAW?jy+NALGMzilL; zX8&(oeF)IY$MjPRl~;MjlsZ_OqG#%$rYSRZO9B7zw)f&93&jX@VDC zr~JEHngUQ2ZN}v*-*5Yl+9q`{v`H##S~VTTaub1~v1&7e3S$x~@nA z9~Q;nP+^9Fxe%AkoyGG<6I+@sC~B08I;-f0in4u=jy=|zqxOzZ`@-OKDvdn~9DjZr z3O^Dfb(aS4`be0Q5+V1K|RO_+pK$s`Pe2-7|vNVTBA)rCtO5Th$UAw z=x(2pByKHHItah@{@Mu`UpsESjBXg+5;2;dKlFKCgDCMm#)5*UK~@-I7&V;dV-)C8 zCF4bjGbx)a3GQW`IBOe#GCYg+yz;{Pf#JqWl1H(DN+c6*sR~Gud-I|q1ly|$#_%c; zSZ?)(G)Q_oV`IZT<@K_}ue#e;Kj8fr4}EC*Q9H=AE??rBiHxUxUM+ub;kWJ3F^U(l zMgb8+DKKFt28e^Z?x1+ppNn7oF6s$H*>~qv-p7zRsy6BcF&&1 zhG%8;@uF1@vZ&C-R&A;|s|26tfm8+#=#Ah3aYA(f0&? zbBd`e^%=;Rl@iTdA8=*CVQQ+CWL_7}t6RBBC_65%kfU}i6@MH)yA-zS@1OqlqOomv zNI^JhFa5ICBxUzj?Z*1D-*GfhEVRSLEbVFLmILn?cMY-*Hia+?^aQI(fF-hTK68u? zj!W!++Rm7}^A-5n(E!QdtIqB!XuDJlV!I2tjcHf|IOoex_nR#QJMt_osM`Gb;}&V4 ztJ#y5w|1IZm3%#5#3?@Gc5lEaJhAtev(qV7`*7Lw!|6nN^3v^Xi+lPZ8{wcqCqNQp zmCo6XKL30uZ!=Kq`k9Yay3HrmB#c!ElPZN-c+~|~oa#t;b0tx|`Sj`a%b|3$>7&*_ zM7FBinBA^gGjg!N-;MQ_{l=tFakWt8Ghuv@BAEV+AtACpJpU6TS;t)5C^QK~fM|bk z=fu%9jYc8TwOJQrv(r4s`Y|Os^>0BSIxLBh zoi@TrtybTBSNfa3GJyY9ql*{*ReX)-iX;2h--9L5)!1aC8~fn?(S^1;?hL8e2_G?7 zO@X&}4sbVSFk+ZKdNTFZMCClbN~_Fw9$72)1zc=w?;`1NY2OvceAw`ZPjV<*TZB=} z?e}8G<-u|$ltK{!eEmzHiZDhFl_9ZqyReTg2mW@fsc*m1QM^VpklM_LvYC8F=)0gF zEm5o?8DGJiJV2%M@3GMX>a)C>WXOn{=--{A_?(;T zO!BS0C!o?7vb9-};?Uisntf}c`G+eqY3J?;J*OOe07& z?qqR&pKx|*`>F(J#J9=k*zFF2@N{Z290yL};ol!EOFg)UF0ijiv6;3*qRl%7WrT{H zLY?{#u_!6fN#SnU%C;FMUCl@4~HS5LZFCr<9 za~J!rTkj&zO5ZHMVqy3ao=kjsn&WWx%m1c$;k;8=o;BgDm`O0-S|v|K-ag8Jz1{2} zRqtSMjU(KAYA_n$n1~-ph=6fLos-Q*idkfA9DJ%ozZmJMRL~rpR3B}y#Wd`XH{cGT zx5_KYEghcTaJk9GZz(`EH*NeD=AD6}tRnYa$qmJhDG4k<#U#09y>`0SsD041{iR}T zl|B)n+cnF&Vtsi@B>mUN?VHyH@w`Ai1|{dl|MEK;lzEiRHG3jC2Wq`#?y}W!!3liN z7Fqb8zmyRb7y7g*w9dxH)K6RF(mqBz@UU&G`qTdSaMDMOh52v^Zq?)**I7R4w2Cb< zLGLGi;TXU9jz;h9J}#pNaM6I`v`w{tVQ`#3vaV*B1?U20rUb>|6}baoAVdX{Y7J89 z)Q)u*h0w0h_DQry&a1n>BGpcp!an#-z(X zv}Ye`kMZ$A-!dVemxpjw4M_l47@&t;nMG#2Ep+o` zHo2`5$BX_?QD)%x^%rvo_vUK1tDs`3881?@x0Q`sCgaE-1 z!_{g$;tIOwdO_oJ>c_vHSUxm;%8~8jTgA;_hsbbprJ@{*4IB%h0lWLc@GVO_D+tSm znKpH488a&&>S;0KCW9q#@HQbVf9)jgc<&+@)dcD7`r`QuL($Z+MN7Q-EHXyBZ(R?| z`x!!#a7Qh^L;`sKb~R_y>KQJTgv}}uV`8mq#k$W*KWX)B7!PT#!D~$n<9JL>c+yP5 z=P3;T2gKKScQMCV#w04VSRog-C9WOtLs4|&z~}kRkmLsaB}2R^nOCT0FI+sMie>$tCY6~6n@St)ut({1 z5-=C(2kdvdm&?M4@3zF~x{TA%0*3aKGBrOVF+~(p4Zih_@d5lIG~PdW;LVKX$453o z(5T=q5bwy(gy!u>v?iT_W__MKRNiA`VVK{)!;^icWYE9Np?N^BRzv zknpSxT?0wUKc8&+bsKgpsgh2~ zg)*5BJd_d;7t)eoCjwE)5U__I1*w8WVIa|2Na|%07b87pPl_3PA|7j?QBIca*eycW zP8@oYn`T05p*wZ+0A7oO;{jha;JYb=FRX^0rgSxP_>V3Sf`c`#2Dr!6upW=w-#)+> zPG}e3c`EOsM+3~O;MJJ@^7Ok%fkW!7S86ITy{-rs75%+QZ(~7gF6seADrgd#r2SKB zfR@dA?Cl4EOl-;`Q1w>I)L)QNKY$f)f5k`I1blw^HZ7C?*h29V-eV}VzW?re#v|ce z`wx&P$ca6UWgt%yvVJ7W=VRp5UWV?6@HJZP`P7)4%4(U214xG1vRv<2n1Wd13Jsl% zLlqR`w69OoPDbO07hb%Yc$z6nINwc zqB4&P!}#&E63PF}C@M@f8v851#5yrA|2IG6E0-yqiwdg0wQr56_>uKso73YpHDbad zCx*a0sPaYZhXd}PgWL?a!t);t5-#&No@G>>sv!FF|B6w{(DT_JkefTRXS_`yn&L{S z@5S`kt!pSJhA69DklSO}65HE6x5+za& ztY^hLo(Jmdc&~qthWOU;7V@oZ^Uxgc`52{2r@th46hU#qP2eiV%{TfhZ@gHM$5J6# zlta#H-t0don-}Q~XZ^o>gQBf=byGh=v#ekFS-g+=;8?h$cKxYAJ5yYYGUMRW!%NuS z%9=DfRfF~u75+D}F>Bcg|UiwMP0 zWGVYEmlzFb3|fv5eXJk2!c7Lc97mkCTQ$2m?Nm3OF`O6{3%bvEY}bavGvE9aw!AGL z%gt0Vh#6Y_?!9n-WB*3r{oQ|N8*Fyn1|x7j(HM`VU3A-LImVMU2?NSVvob$g{*+ut~ z@J9ydm&?|d`&fBD%J%kvJ&_4G0yC!}R6I1w5a2TdpT{y#z1mOsptdh#62@^?beWlY zBm=*zFCSH=Gf7hYw25D7{24Nm_s}b*{E~5ATiPviZpzjAdLWU5`AxmMz`$=Jk!*A; zh_i^J)o2f;TO@t)EDw=(LoO>!x%mpukD$d2&_X*59^W$`F0RzuYmS@qNTt007{COp z(BqhpiU$1U`l6uVJvig@cRS;cPyqjK(pjk8OKdmQy_J~M2&Cie^#VD?KB?t_xv<|+ zj9xriZ5KmbR95jiP)tPYl|ji}LQj_InmdjY=G*Rq1COp~F3Z649e0uei*1)) z0JtqeEN?P{mY~~w1)GTv~R{R zxKY1-bp3{)|0i9qWYOWPqGC!_|!KX zMr~f;Y-Y+2Qr}IP#nM3|&j|D+2-eWMgc{PshKubZY@WeY#^Ak`fVSv{dLY!$yl?bV2`WD@tgTaJxOok~Xd5+NP}wZ{zK9?LZH#?*C$ z{667p4>p0eI9@-}9CGL7bG*?w1FxoBd-w?_Vbc`)kYE#=X`s)KL$3a_#hqtQOiOPV zP1;qvwI^ixA7Mlvo`*)qfhVhkA!4b|J!Hkv$C(DqXtvc-^Rdy}QFr$hS!oD% zuW^SzK)e0e`$@~RIEY-Qg}Wf0zJ*(u3(NPyBx2Bg_IrH_q(lC2Omy&s@a6(oAU7Wu zlOQ2DDJBWC{HimQCiD*U+DzRSY%rpzG7o>msDV}LtsP`$EVX)5t#-Plf6PDoBlrCT zEp|eME9Mu^ExxXX!H^SN&f3}usJSwew<(u(7;q%ua(9wey zysVfmzlhZJPnTPVCn!^2`%n$SfG=9LmuWDNloHNE*HN^P8nu8KwC_DN&MR-cD#R+AgqBE zJF&?Dc!KEJnYg_w;e}#LGdJn;)HsuKqpcphYe=NetIWxCNcvbtRj1fC7~t_vsVeK* zD#g+2)b<$TaQZz~zbEyu4F%+1@KRZrM}I&sRema>NsRJ@lq|;itLnm%wYQ!R6CG zPRTainCZ^KPbM5RKdn%bN84-m8H@X zoObBDN)(<;$llmsH=WSaw@J^5)*~8r3&@w}{a(+Rly3EC>>k@|BvXApekR64FA+FeZUp2UoHI@8@VMpZi!G5(rDk zjux%`(;UWRvwI>l>O8aAv6eT6eS5_~J-Pmw$a{F~&E&|NK86`hMnbHrIHjEQZNK;nuhe)I5Zk`w$g7M29iqdj_PM zUJsGR8j$<8G6D!YENa!2BP^2^J_gPBI?uQ?((Q+_TgKe&7iL)0S{a3K-^k|qxC z_yW0awAMuSlvt++ZHm_vd?s3fJ9K9neU?#YF9&b&k(~hJYn`Y`mesnfB3aHK$$NPG z+MmefR$`I`_u)#chcTIC3m>WIZLXg(`DAn%ro~e5OGtOnxY>z2Np5GHl4Yi>(=Z8g zfz9t8U~j{H-}IST4R1#=pWmlLPwRk@ek=2Z>BcyLm-n(HKxe^Yrf2StkB9m$VSsT~ z>Wk7(AGzy2#|mPc>%$c15!Q+Pqu&HudDj;`ZyJtENP*@GonurhwU70*HWTAXLt%o(Z^UnAk8Kz9utb8N}_ElS{_Fr+Ck`|@5AXwgTNqS6T;lkObo z*`%#nH_@aNQw;SNTvy;y8vtiSevT1%SMC)C6_Ep5zADRAB-exnXc8}D*?yIDb) zmGml$BJx%PeBG%5`gS2+2XSkIY(Bi6OuT;96*{|N98-Kb76vpvRbU5`um^LHy0xUd;QXIl)40=@>JP!ZMvia$G zJvW~Qz&-(I9AAFX@yrtvLC3M`(T7=u6%*b&O(a|g&8>fFgdp`I^ z+KZKs#uaMx2G>`PfZy)0YshVy?ihDwFa4MDQS|op69O=qIDnfJ+WRSN_gj4y?Q++G z8=1yx>Bw&$yz0dtV!rVaW*8g`oy}Ztx_cUQQ&@OPP@ylwae>zT!RsZr41ZgN@I)`B z5As_NIbv2Wl(^j{U2aI_#$llq2 zX$6>h|clV=-=fs|HV z3%U80tMd)YU&pH}h}}lU#lY^TtgJ5k+l0lTQQ3X3Hwza$1fA~hc#hRKSMMl#2g!hD zW$prsL2qN33Oq@2kSy3`4k}5lk79@fS(?ER&X0~9@%v=eb_Lv0{j=ygM+U9uR!Gv! z$$*K^Hdm%XQE70kEPG`~* zDj!0JmL^nJbGM&OmgZcB;zPk>E`oMGpXAY~&xoZl70QUlOBraezup!xa;8q}w+$E1 ztycC~_<>!ZCX3zmyhCdfM=^7b#@*7Yuw=(S0BVkV+FpxG@oWE9CP`zw5r5CK9?x6^ z628LsywCD6KLKP}WwJNv`?58s@q3C_*?g_hSP0kLl)H~YXb&pXoxPk<4QaX+^M7c} zp2Qb@5MD<(i`Jo~A(L@)G&Cx6FTDS9|8j-Qdq|yI`?d(_c}qD)3v5emCKaoABGtru zA$NZ1Zf%-j#037C&9_~AZ#XFxvu+{9YUhg%M=eMQ&ED9Fd_$YN1oYt|nm`}v@!%6; zbusS2v5vu%va9IO$JD9|ggJpgbltT~|H`E?--gs3hi{~ZV?V$G({5Ls&K3B1|5n38 z%2ld^s^bL-3RwL#9NMD`9A2uVh>(36{8grbH$K>K>-f(l-iel!Xp=Ma#HMBDcbpB= zxO>6OaHi=!KCEa6js4GiAy5RdQAnk}(OoDQxnUUY#h>Qi1_c~YR+jTvjzLHmyPCaz z=QOluV;=D0=BYpV!(MTUi+bLN!F~7&om=F$|4kXV`p!q24)=j&g%^5BV~o8x$dqb~ zMmb|32(h%IHL;;bkRo<{7g59nyH6r+rdYXdD#d~x#iTIDl%iZ4@OJLP9~e7-^uj48 zz10SVf2Fu3C*E-{SnpG!wL#BmTjouLacq%?_wWl7-V@(^w|u<~!qSvGJa_{LPYwHe z>H609U80JYOu^>!Y@XPS_KxyDgfhqVSXFskY?pWWg{fV;yX}XwU$e{@`w9Qo6kZ%s z*GAD#CEb4F^#06Ut!<7uyI-uRl4>6-BA8|`y7X9f=OwDtNXoVz5iDNO{uUphf$Rl# zN$Z^%_>=VQz8Prw0p9&_f)f-w%)#zu2Y(DXh86pxt>(`asID8BVR9 zQBJb;9!_)}co>WD$n-c@A^*ZU8p-4707EDnyt&~N0$4p&fd!CKusHZFXUK9Q)bA^Geqb{yvj1-I2y1H<04VFzW zIK@cU`32D|fOa$G@U%9Rot_7pTNL@-2wdacVBU!i6yELE4ANZ7c}k|X@Ik<#Fb@g# zPps$w2|(!Rt!~!n^d_1AqkJoMFI?awh6E3-+%PM_W#!GLc`j|oztKi3lUM~Go4+65 zJybfFo1QM_4B3{J_m%-@orqQwr(2EL=vrS@{~ZE29lgDszXYCX^hnd>BGR=}eX>Kr zr7_CU6@WYM*|l>YaHv>);xN)gm$}^PnVmHRTIY~c!JrtkJp28wTsC{EFpW@@{jK=y zD%WNj7mDg6ddkxNW}uucP~Fhd_z+{Mc8CewDsA^&!me#bIyKFaKbKw*x~UvHuBaj5 zMOC3@zey78E9dPcHoX10NXlI#c|5M8_{@+(ZyF}vp-9<;vQ=zrD045{%$Y`VEkT7W zVbX3-OW+ClqwK@lhigZhr3D*#mlxq&&mOL)a3ux*9(J@e$Ppgwp>(Bc?iWH(F)LG? zDnqBfpR;!{$5XJp=w(;jSGayp&e<8X`}MlWUqPQo9moGnXzU^PYMCO!O z$>VzsUXbCWxaxJM@9n;(FRE=s4qCk9p2}`!l97{tsVCH*;aZ*H1^A%t-H*l}Wj1-T z*#ErLR(W%fXtAF_OW?0=k5Q+bAP{+w!eoq*JlG>^s&Lntm_bRFYqH0fDThKSkISYW z&ptPLTe6DBi8NU*e?o%?lF`_DqWxISS9>+>x6athY?VPt;;M4*TAtI$!*m*3`c_>} zDm&2%feNJfFfmAZpJ+PCnUN_k;Ec=1CNqHnfAaW>?Kra4pq=>0v?LhQMUGp_g@;n) z+71em1dX8c+!6_>DKb^`gjhFH;{g-z}SL8?}>G?;R#H*s{YzCVr9Jr(( zu;gc(sn@brvDITO9`UvQ%$O~E^AtBOv-S$OiAATk+C{B33t=;6ItgX}>O1mlx%q~= z&Mkk!2gK&VBGW#b_Kig6@TCOQr=ltlm!V#l-<8X_+o25H25+~gXJm*jZUp_j%oGhN zGID><{xoi`Cw54y=?3xdn))A(ZH!VEK1@a#_>PT6zGwyQ?BmW?0Vy!lv@B)Y_0V*-*rvn$Nh^xX}} zlX&slu&UA4@E;FLN}))1=&#=3^nw%ekZ>!|{Wo-1lC)|tM~ z{whYf;#B-I+h^5oRjT|mlcF90nB->lhoohHHkm0Y5t%SR2(k!2wgGn8jQ}E|xVrtT zbwPo@d|LzOJn#>m>ANW_zxo;FIO9w9zui zgvfxO)PX*gA7!0?;{m5`wE{X+wQ+n3TYUPqTJHtjH_eD(c9E`!c;~&|>F*c17PZUQ zR=P?4YMEGEd$iE&U$_pOuI5eoH9lW5uZSj8VhBWSrPhxPB#cq+k2}w2jeKhpG#!a3 z-W?kc?yNA}JIvKJBf7hDb>SPs%AXXV+-Rt#bLkUH=m!rCHirPi!17a?M|=Q^!6u70+uX}MXO1&lcwo;1Ip-ZU zTtx5Z&U~8*PS$3OVrfW>bz*u~*=`Y(K)Cf3YFMcz8xF|<>`>}B9je!G;!A?x= z$sgGxwL(svk`u}FMkDO$UnpcQ6 zHB>qrD_$HF*BDXy{wkA?7p!CA(rS6|k@yc3zmc+RUVht{=|^#ZCZn1qx;W`nD9NP5{6ht+vy5O=(i-L(ed;uRv z(emt`V_IWUtl&4=erI9q6O9!yOC_%rGDctsQ%5LOqn^I<0aMzbh?wJgy#&dHHHDZ^lka;$ha)!PPwRqw10OtqBPwmI+1S6&-W}j%W!FKo6 z%|2E7@74!}@0jGUVq^~gTuvn~PW|@3+8GO&O$zuoV_taGm2q3SG9XRC5Gou^`4#19f?b}Pyd?VG;M>72;~pybVJlZSdobadzJ2b#t)A)k z8P%*ILVtxJl<6!iYNW00&MA21nq&nNZTG0Niq-u#E&g8<5i>uon^Ib?&$*lE@K3c9 zY!=M-E;qs?upO;jPbCV2zu9O}05%Wz@Gs9z6yY>b@6|Pj-0%i@S1ory1$X5@&qYR3 z$OgW1*~hk{Hm}t8A3cKKS+pB3k`jKN8?;~Qy1nS+!HCrJ`>#3q=RTTF2gCU)$NoHZ z&(+S}ssD^NKbnHm?bx1~4f_d3QUyxjsJ&-9b#whs1zEUqD>l}DMcbqAHmesS*9lPP zHSkMeOt{x&`2OABs~iaXA4K^dJ*C9$#fH-n)F!agx3!QkcUXRtqu9NraNsyr(8JoT zFQ8kJMR8oJPpIDho%#N|Q`pr)RfprouqC4E;Ni3IP($S<=zO9t?d4R{dV=_WSE1s1 zB?ppa(}<|H!Fi@$_F9)`?%%N;fo64}Vq~AEAWh3ycyU_pm7Aw&dvX9KCpyQC6g;85 zG(T7QfoXUNR)MnxFu{ePmv2+zdsqMcgM%jYF-@eO47Re> z;|U5^=xn#}O!|z&&4kw7a(MZ|h?Pz9$>ncwXf2K*Gwr9J8LFh*re~_4WG|F|BX1fs z@x}Y{O61r}=IF_|#&oHaC|7zR=v>20-aS_IRZN^Q#UPNDVwje-U`KEPfroh&oU zX*R*F?mo(h8RnT>1_Q&IG2&+#0bX(rUvFdvRtNaXei{KJuNdm&-E>J`f-~&0Yv}Zw zltFL$nq3%G;?y?(F{HaT>Fcrh4m);cAHms%KoqDojRvM$REoY<)3!g!331LH+BjjO zrFH!9leX>+>dviLi~QK|z(zl;(W`88Tn?nqbb2!)*uqryGvY|d#i5c3>|2pp*{CJ; z+;FYjAGhdI#-o_Yjjdd_*qKMoZ@anb+Z!67wU{n~@koS@Okc@G3&YibVa3<$kDbVe zqmRjp2WBQKF}<-)1Mk+e*T7!;1zpgEuqmSjm&^HX$9or!DQ9$l<;Q9M4yU1|Y7o69 zO7i>V-;o-n(hsbU7mhB!?mxJN-W8&vsg>P9mTTI>ksWd*VUtt_9ASd)mADLI!sU>l z4I_sGak&M4T>}3HMibWs-)TDfgZI%Hm@C$BYlztSOtpPbssZYta@uMFM_dU8YMpW1P4k7_>uR3@=#!4W>)9WW? zR0jI1+;L5+Z`|a$t=m5h2m+Ee0Nbknj7KcIZyU0aUk_T6cN+_^_D=ebCB#54CgRi6 z6aGnq+g<3h)h~xTMKb$!9X?Cf+JKm)s_T;!7y)uUZcoZs;-Rc*pjYmK%O|$O=9mRf zwuXPZ5nDI-u>E@YAU0jOu4>QKJ&gsPT@_w1y8o8bwwX#4%SQj}Xan8%>XwUmp#~ zs#=>V3P8wLCVYE+lZ_7}8-lPM>2c%-TF)ZtzAO^gp7XTN2n`C>)oGa;>@jR-oQZqe z+|_se2Az>yeXgHqed|=aZGduKF6I5{s|EVu#numEMN7r~4!s-L?YbG;x}3Tv{2%k> Yy4%~;f2PcTCqg{Rifr0Z3Vgi(0}?C>(f|Me diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem.srm b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem.srm index 573a1ce629d48fa7b28f7d6088cbd502f73a1b4e..7f459fa0d006c329ef67ca90aef9b6cc91a22e85 100644 GIT binary patch delta 13326 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 Y;&M>n0ssI2|NjF3G6yltW3SQx05r*KXaE2J delta 13347 zcmV+;G~CPSX#QxB%75EN(x2^LA&3S-BI-hf7nDrl0UA_?irE;U`3QNoJ%qmvc09&GZ3 z6_Wrh{ysXN7JtJ<#D`;lxCkTPV(rzJ z2V$SL2a$2f&XSOi0>k*w9r`1hFg507;1@$STFNm4c5e9mvKR%!<$%#s7G0hPqhh(Z zX^uC#WCahFK{qrw8%^5}){3;h*mBIXa|5m}3d7)jzZwYhFQt#(53AW5`a@30 zn=H#y=etPT2*1J3&lVw{E)8BJqd8|mKU3Gkkk8*P#t|zFnx$E)t{WjQA|vUx-!hA= z9=_b!-243Sk$6tdlVCASC@;?ah0!h+66XH-_(Q~v%YSb^llb{C?(^_%&^=|}B6`U( zmeFr`U-Uz`sP3_Dy*r%S_wR#KIYve^g7^P$$wEI`u;|{}{-`vKP-#|te<%_^V59!G zoYC;R!Q`|5Wba*AOFCoie+_6`;+X!^%}ACp*1ncwF71E&Ntcg|qRS>wiji{JXpKkqLlBfflUQdah#cTt$7Z4igzL>34+reT7eWe%Ah%kZb4~|HNm~Yu0Af zT$bGLCf!kCcr5hVD_hZfs^mxU@3HSkfDoXGZzqgV06hhK{qUV7Ad5!d`V7e4*~D=w zah$f*+G=@{fIR62rR=EWToe@DZU}fw+JDpKUG#s7pMMw#iNA9r2)o@V3;>S)kWb-8 zBdg@!C69&%{OBwB2XqPIupeG7dBFYm0qrv_=SF-SMwi1bNZqcIHD}BShcJjgdf$f? zFpAN9%zUFg`Y;?vC&eN&{!h!Q1Z9t(7-K`OJzp5}#aUEHdEhbYj@*{-Lb^d(Uw`vI z(Y&Gf4)|mGemLS0K(A!eXgYikVlN1Onos+IFJ-a1Z!{bwA3#p}qmyvJGJSsp{L%G8 zZUhN8A|vpZVZV|$`0P0khtYgE4Cld5zJBh!7Z%;G!Pl@0<0Zud@MdHfOPIIB$vHdk zh7sxm?w<`K&>5k+{>w6&fEFu$@qY{d7ym4|>G@r}N5Oi&`Xw>|FMf14>Ie2)AJ-yV zR{G=oe27#&9!CDS>%T3M_xd^Smnix=9FKYhz!Y2>3fAcS7jGO5zXFZ+fcnpB*PkYa zzX0$rsb7x&%lUcaKN(hcG}rVnJP&y{nvcTq$Y9+<%_B^Pe8i1z!o#AE4Z z4bn#-yT429&cwrLPh`md^lZwM{{0JQGAvKBIYV5}p#%G`XPh ztW8KIcY|}|ZN#JS1JEq*(tj?KW0f=?CSfu67a*qx%)xt6E{DY^nS(Y%J0d_HSn~dO zJeG7F@P0-m{+7vC@@Xe}hWa~!VP55XX8pZ*xIA4Tq_0)NJEMM}NgweCM( zQGEWhXI;7XH1jT)x+dq{Juij@h?{5`F4{ixuB^{(4HE(5M7X&Fcy-^p(u`XB- z|8AStsNI_nx^1-%U4NqpK&*FB9xi(c!?EOZMpD{<)1o^xq9r?x_3!k+@8rPm;=u3e zf#012zvl;jH+TFV{K$UHDc}`sYl?q8usK3o+D6;fwX`+b631iK|L`rSbQjX;C}1DP z|L~=qmjNd=Z7a!_oQ)ItOgm#@M$C)|P6=?<%oLmen{m^mvwv6+`a~AB>f%ydtZP?K~DMFM_L1jOW`^z!v@L+t>CmEOP9wy}+ zpYvII9G_A62M96-oLLHI)-Ie`+i)iS8=N^@%wlT(PjDvcIJ36lOdKhjax-@Y;4TYW zk5}v}d~BgCEPp`vjfT7c*&nfm-^S~JuMyHFapB+CB`E)UcP$40ZNu?hyVV1IF+zQj z0xid;n}V#!tot`BDYsVEoBNEq7jKxgLix2#PP}PbtMz*wfYWg(aq|_3KUi;+F)Mmc zU6x%~balT=_F01!$gB@ANbY7*hUOWyQny!^Q~TsquYYZ!{R7t7IoP(#pk1(F9*(-w zPlfgBf=$#740y3mmxI%!2co!?p9#u0v@NI0VFda-Mtx$@-u(rPm!Qr;+kV)cMr>)s z`dPC3S#jvuboaB)p=a~m&zd`)9VuE$bDEM;r+A@dTVP9{+Rt%mwL@=Uw>A9-VAl>W zftT7;*?$+Q2}|UrlveD zW8VKT{+5*XhhS}znKNK3!hx9uSQ)8FK(U!TCcxpa&gicNZ`pYi8vMgaGzNRBTl)S1 z)3yW;{VrQ1jRIe@R*meulZx8e(~OMIanAA~%-47yQ!2*zZ^V>$9@3jcs^x7_e5 zYyt0FwVv4lAp?fEYH9l_gjI~XmqQAxSfdAm^pJzRutE#vv9(hkTUs6?jskFmE?G2e zqkn%|%`q1!r_x-6rfXrG0BCHri@wl@+Y6hMgCueD8Q|?_tM_1iV!cm4KWxR>L+|HL zYy3E_6T3N4&)tFe+x^^~dMY7h(_-H?P>@j?L7+{#-Ic}f4$A`W6$km$X z4t+A+$GZpb_K`h3?BEj|?{09rjps5YqknS>3zbVa%_sZuq4zXlkG%(bvP~a6JU!a& z-sBmMGZ<0pmK-efa^B^5pXGR;caQgZ5S}ij-w5}FK%+~=E6E9mNxh|;*T*M(RN3$0 zlASBtJ!F0t`6@(zey~Cuhv!RUseT79AbMN!Wb-=sN4~nQ-r=8wrM_N<(r);zV1HX_ z9TA>i8jt=+a<0aU?G8t(CNM&qHST(IxMOK98ouB{L`)I61;(k(HFo`0j{b zf)ng_rQ9YI9G!fyv_iJJxEC;9#G-TK5{B@nU5@r9br{JtEa^d5oI|kWN5Ntqh9y1- z%j^&=$P4(M<+-usfPIY9MPOyow}0%}b&QFit%cXe=cSz$j!%5_A@O|z>@(!|)4RRz z1o=;_)83(b=tH;)4z4|gccO22aZmT+D`ayT@i!qk*^m2q$U;l-)qv8y?{(n4nSFRH z+u`>Edc+(iVK=h;{^{9a+<|^-o!%V8pM7zk9mL6sd-k9Z2jRP)*x3PE!hd&8sLhXB zGd{7&G4R=Z!ZUFg&tED3G?)!gkN; zF}(LEdG82X<&QQ!2G1~GSbw==VI)VvNREe*91SBm8piZ!7?0qo62|-}7|kPKL>X30 z2sx;qC|?n~IQZU>PXfPdMZAA@cuc~*!EI~roKe49A3w)m9$E+A-Qst>W9D&4&*D38 zEw6QGtkC3^H+nzvhxYK$y_||8btw55f3_Y5tuF^@LGI%mp+|vc#D5|9dXxug$d96{ z)ATSsJNA)d!EGT?`Gu(FNB*^%=w56#0lQl`rLj?rDAZF%Ww zeDFR=Pqg)g9-@IK%B5d9FwLX!lOBN|i-%rpr(DKlj)e7?HLB#o?9jX>l!sQ(_0OU{ z$2jg0c+HQnN6P!eVSoFy8wOV2kIwFSew4n7kF;komdA5)a9vRk4fyQfco_Gfo^2j8 zUdE5HT_)Vf_)qT^^XQl{=@DZ-aT%kb)I5$a2b3H&Z{pbp@fcDr<3F6xgZDOQ?x1X- zR<@$tpvU0~;J`Q=H}d1|hoO6eE9)3~TIDw93*)Cbe-|A^SAXItI>2>EkFpVu;7_zU z^Fy$Cls{O#tD|HSU)lLj+*m~OcgOf4;mYy=OSv)sY4J`(hv{&^y?)dRKaioH9Rc?u z?6)HS!;sKy|JW;L*`(nAK`dp-fPRVr{||iEWq32-`Tn)M;d^brn~(uL#CyjeH+(Oy zXC)*!$Ickjk_<%9ugJb0T`6IvCPxEpNbN^h-W7fsoKNs_uxy1X| zB|ZkH@oxHHrwPWz2^Fp>T;jeaB3rqV7npmUWg!bLE8bwXwJI1VDn7g|mqZ|4|Cq?U z31Px`E)gQ5uU+&3c zMUPuQvxhr?$Yqy7sAHA$I~ni8{Rvja5oc-)n3S7QH-|apFeh(gPUUyx-EvOet~n7k zr#yG*4Cjou)>VIqAj47ElqX6S#{sDZzZa-1`4KWq5aB-;D^UMt&zz4ezLb=zh=2pf99|9WQ z}E3<$6C>A zQ_s($D{2BAQASN^zv*XYGchCZe^m@uA8P2ign7vR$)k0_p* zUw<-v4aO!Ow{CA*E!KLxDimC~LxnV6`WRpw-dA*iF=j^X^%|zYGynpi zAtgxT_&oB+wW#BhdVmX|;?JxQ^80!Wfw>a`2uqY}LMNLrOk~V1)3NEv1(We^C691l z9PokQ5H$wI#{h0k8&w>ds&Uk37!TujNq@N~NkEPOItVNjAt+1Am^66~55~ZdM%3pL zCR&3jE@6t-Fp2Fji5g6zf{7@Y;BlE(7{frX!7@RZKJl-UYtq0m=HuzuM3sLip9dKv z^HXv%b6*QnK94@Td!N%L-P0b(hWx^%I))5%R^`CuRKWveJi|TWnVit2h25daI!Gy4CH5+xq3c| zXJZz^l`l7_6V&{0&-t_6ThDJsOn(@Ikcv;yc6aa74Vfe3!wM$#`Edq+F*d2-fk7M` zOUb_~UMx1{c@@jm;~_6(!o9HBqx`GzCSZ1MIs+I*o;fAnFwTiNKb!DjoD_2+YcWm< zBgg|2=ySamX@+Z&f;QDM0cnyIq_GawHATC{SHfgGRLdqgP733IY$C5+^nVpWd}z7| zFXbM-jkte!dh`H3q%(O9$H)*COvMDM>Sk`i=DvLYyj%DM>(0AAD+Y64@BdH3QSrg| zK?t*I?J^W@Kusiz-02WJ6Z!mb8W~fcMgGu`pHF?o7c+N8K_R%M{h;PM?N6oM;1Py# z-12jo+p_c$CiB!VUm)O-%73NDd?Q(F5`8;O0xWd#*YzaliOheHe#Kj!L;zR2=m&m# z+|^@^dAVO}j88BLn?>zqx9#`!@Aw-ZpU9l{S7px7t1Wp<>9)KC>A#S5-UN>V2@B@p zSOLS_B$)?j6oFr>Z;|;m%aD%^aCPQU*YH^T?xwZUxi{mm^mn4S>F$eag`4% z-=lH}x+lgN8~W|;GV%xg_3!wbaRPtlg>SJ}-mAM?#e*}X16Ul?`I6Rj*46S<`{*fou2eR<2Ru1LP|AXal#2@iy}NtR0LCU*^PB zV`-o8%;*kbo=dD76{xyc(Gk?k2QNQay zTi2@Q?UjV%)i$27nmhykgQa-Jdf_}{y+EFck!Pfx{N^MIrGM;KeDh|?qWkbf=C-5# zU(b;Tolw;V?B*e~Ps*By-=Bv*y~3J{<9O%|&~7_C(K%dA`U<3tg}IZ@=qu20Va?IJ zZ7^?j*Se|Yt8Jyd-~jCf+i4Hsc(wM4C`CTX^4BiPX0=A%l&zRupslU^))y<=fbLgq zyV$iZitqpEb$^jEVe7hB>vgfpb+P2SSTB2BtQWX04$aUm%yP$l?PczpYfIX>eKwtX z?2RS=gSFwPd$?T?%tanB5ApF#c2~6qa*ZN39n#_Ns&mR3jaOT0WYTSQ0-jaFXPuq` zkA)Un*;40#4Lkg!bWR952k^IbZ5}iCinR)D4`AHlihn(}=7o%F^i&LfKi`z|OrFm( z**}-$z+94@b2-)~!1=u7^|63==xXg>PmTW6Dww*aYg$w-9@eEGKVe*NKuxTl@YFig zZPlbvQ=UwR(eQVcccJxaWy`T~{#a{`drzssw&t+6->i1YyOKXaE=&Uk3pf13Y;45e zz<#A-g?|}!T)B3ri{4wK71mZ({=EUbl@w8zsq3&#qx<)(Mjhr$Si9xT7aXR7$olmQR3D}Pz@b#=k8z6p65O*S1BU1LpQ(<0+rq zuYVIl)@y@4H-4|;t}+hxl4B}3k9I*`l<%?W6IT0V=zCZt&tMEp$i2gtyf!l4C0wO}c5@E_6k4k2j`N*vGrI9mG<$qo_KG$=#^>`^IFcioFk+s~r9&g<^2-6~C z^SgJfb<=C{JE#2XIc(AD-}T^|-p8u%N2`5j?6)Ded`0Tw-j3e)b0i%v*!-P(-dXRB zIeITJykU9|ZKDoK;t_L7a6dT}ZU#8GW36?*L{(QWpTqk4U9tTdPnG*hLdN)ol7D|F zFZcQMR#MVu@|-?@bDvSs;E}$EoX<<+D>pZ3m9JpJ8e#5keVU8xC#1F$UNzo;@1+WXQF>!u=uAuxWAq%zAHLWVkmkM1~1J znanB5Yx}wi4l7rANBLZYRMsX8Kz~)}{a7J$QIIY4ek|PE+~0q+bG2tW&s9#aP%aF&h$P!FpB`WfyoMb-`v^UH+O3L=5uFVZ}2Sd z$&vXEd5>E8pk5e2U)E1#IiC^%)x!`3g4pg&%3M$But`w=RFe_ z=(7o251FgKOg`T~{j#e!khEzqrxtsqsa!q;AkMS>G>|@{fwZK7w4{Ob_oe~oISn`$ zvR_9@1J3VC1Nl}O$dLweq=EeRrvY=5224c*rlbM$H>3d&Ct#Zr{C__fGgWRJ*2AdS zK%Yf@SO$wsJdnEFF7q}BtLgyAMje}2 z+s!eJE4vx<`*2;1jP;A@l;L-*kH4T)erBAMxlq_Az}#y;tNpzHh5an|?2tbC>|Fb- zM$l&`ugbn^$Hw(nZGVixZMOlw24&CAKiUTP%3ghXH6dH$6to$Os^??Yb1^Y4S=a`v z=U>V?e3{Dx*U&$*Zy60UW(m*EU#LyDwWo=SL%tNhw#wnG=U>ViIU4guUYe>$o71wE zCiU!?aaymb+hyD6`ZTz|VP92#4+t;5_q(FGa%@wMt#V#fJ%3x>cKS&9=Laipu`e_I z{#ok_Q}?cO4^vEDpMmq@s60=Vw+p^c16JklIA?tC_q6U8rWvNjW*F1K+|8PN%+Vf0 z{Lb0p-G=PURZgiIGe48Lry4e8(hAYXWZJ3t+?BGUdpTLx5447*>lYX}Y?t|ii7AwDl{|e(e z@c-To$oMLTfStoZ7N#c3LhaLB57+WAG?=b?2H!yWHGg%VCq=m!-pamGx(2XzuU_vL zDlau&2E!NT2d9`-PGgM6pr6NAwu$taWK70Qu(pkHQ~xdf;tuLIr}6_kvcCnJ4m*Y~ z?Xz0Gd1L&QYtdQOsL7Gv!6wRp2g;g9QqsYO9E-7cS|!IYZ~Aesm3o zi8Uf-m4DNxY9nNf6W%NPH=+NCFjzC@4eoCD?kDLud$Jj4Pxi&qlLN8zWKS&pcsne6 zQ8d_y38F5kYI+Ik%DSGeU$58cDmjdHJGDv8cgV5K2;CUW+mL>P$`_2lPJiq(ea&W% z=rhRu#CxD2yoUMMDvw&WE5)qsG*jk-@7J%6_;>UE^bwy4+XD!A+8oJL!14exHz zmod@nRMKsNdu4rZA!Rk=ss7zd%b01Wb+c)o;C?Cnc+rve1BFW{??2v@-^CYNi}@0P z?|%(SzEMZfe7B0JrVF;d2j3s}D?QYi)6e{)CGP{vr+(i@vWBC&*3mYR*oyNqMmJl- zP=CgsW~EG;Rk83+XaU}{3hy$n9^t_Cz&JNP)4^If3-mfC66awgpB3nyjf+ch7or=xH`nRfXka(TSwyE?V(%0PYG-|`M{Qg4OKw;V`^<||S^>wGZ zPByORon{?)DU(%Sf(m|t)dxZrf34-Ivwta1ow_`A%4;d7J9!puD@LEi7^#Xa=C$z@ zEV#KKZ3~g2Z6Rwm>U;iJ7lK8pA4=RerDdLh)bxl7IIu zaSrX)&5QEC(T}3UO-1a!o=E+hihA76W)m(_8K;}1x)yAr{%V@2)eYyFD;$s;nB$@Q zBGl?!bqz8jS^cxD_q=-OS=(U4*zR-PEE=+GqZfwQs^i6T9glfQl@CUR^uef`rLWye z*YRp!Q0g;v?W16oPUh=tmA(YOe}8I3L;rK9)T@kUQpa~%U-Vu}!*<3wQn~+I)uom5 znkS2QPfXfVJQS*CO~|oPU)Fr~6nQfAJLNqjQ*~{fM!(2_1w)W~Y?Nf%cof$k>lv#! z8rt0xQPvaczlsK4GM~05&-)o?tew5I*jb%+o-$YVfdV^I(+<{?PV63kN`IO9P18=@ zPFMDq>eJ(yZ1LEa&+eihu?q(5ovijT6$}6~f6AHqZ5#cXXh(F?3+*GA;2AzrSr^@@ zdK}H9Z3@42?rwD~3fDJa=dk8Od8XJd+o#^oWit*4c5>@O7!5O@NFQLMpUdVwyL9Q5 z*;?C};XANbuUaPf-|~9h#(%BLqp6VfpdDKFAILbT`|RDC-y}N&q-AVR*Z!-V_d>h+qlc&mFkXwi zetlNTf7~O(@75WUV`GmXq#x^+{bgy#V(q^)-E7$8&u9i?`A8$`?=xDFmF*?1puMZ? zc{VN3mzH)s+Vliu9{OAOIcXiLwfU3e@h%f<3k`{!nDH)qzgn|-5l+GT%C-$$Q6P%kmqh&e|3l6jL!~VPS+_~VqIzIxqJsHX~`qt;5Y}9tC z`3H^p|L>qG?*Q2&WgULTItbMFceiDo#XQk_G%v+Q`c*RL zx6)~UMjL6*+AF$Iwu}1PkT3Y0K>3onI=84!J1VDW^DpC$lp#unDH?MAqBK;^^DpbW z@1X-Ne}Ag|{$x!92YfSY!#9KPwetnJ<&^pg_X7t!c?o;DOS{skbz55)jKpSs=)AY;eoyJgt>SLSnKzfq6q zd!!wuJ|B}$_>%oJ#8vz5R@ps#G#n+$-uWB&ZGVy$u5TOi$$MJ#t9_uP{&{aq0O_S> zQ)`;T6RvR#JpU7W&N6aQj|WuyrR(>oy_M7GxY~~YL0=|a+wtGVt-%JCIQcDX?-%2< z0e@}S--;fzoY}O)x6vt{r+PivhzmSD+N?K`&1g`n2bhDo~QF)>Q2PzpP~PegyYrr7?Pre%~({mSFULeKkw6{)Lr-6 zukD|Bb83I+E`l!Lss8yU<*BB-dawRN_L#TER)2LG({um3$gxd&P;zWFWW9zQTlJ2jug`9oKdETTpB5_Da`Ugu>wm(Q5-XS?;~Z$VpiT2OTLaaiudCAA#f4SH(Sz*c<(bRDY7 ztz~`)HdZcs3E(~r+Va9~*45&fqKKdAd4GzBTg{`zJ9S>uW_-6ANACeu?@{C5r3K{4XeT}+Ligg+CyFcL} zXE)|kR_61n{N8!Gadu_tkM;fOl*3Bk^K=`WDrdN+yXAYHCgu3}E{n+cue_d2UQB+@ zuiG~OKfc|YY{cor-(oMSigPsVK^50f^tDf>KDuS>SIJbB?~O7w=O(M-#eXsunBV^A zGIcZVT)jt)54NQ#WvY7r%aN(a$M~LDTgEXrWGekT$W&EZP?xDsLse6dNcu`{_vZkq zS|ioV(0ixPK$P@Kc+6CuKgO7=-zfH@*gWHP7u{}&FUs+*{e~aD`3`x$W_`az!F7O+ zUu>+pn&02X_g3q?nO}r8DSv$EC-u+!^7F4ktCn+Zge~ie;Wg0Ju@#qlwQ%iEDgSo# zugZR_eO#FLUvBR|+J07SrsT~o`l#>k@~c*Ybx4@6U6+rJY{yMypH0=zNcI*k`>c)R zc^Q<;bF|cNXb*O7Te8paHe9dkKvO4m=?wc5Z1f(IeL+SUD>nKLZGZM~BUppbsnsv- zd!LYH>R9tH2-a?5k6TrrP`yi@V>)k@XPdHW4y%r3pB7v9FVz0|46uu>@8vnCvY&w{ z>)ZNK$g1y{_l2zsWPh=JaHg`fAA3lpDfa8D_1~>zgY1OItIkYDT#$lyFhA+^X7~82=OH$rz}f)X;~IACYiLo{ zEBj^;%jnBUI02QGctEDA!Qan~?NocgnMU z#XeljWOgC&^h};@_Q&`-#V;scJ8^I%`ZCgtlhGY=5~CboG@puJh%5X zk^OMJ)D{gqx@m!-SyxBcwcw)^p2eYOu@RAkMlsh@;;1n0BrP ztzswqU;`2|L&KBk^QJ?S>;79cnN;sF%uJv^)sKt$L&-k~gLl(;<5?X%Q(zxW)_W7n zK1{0bu&SqEqoRJT@pZFZkEdCuX^vOsDII_zNTWcWk0vl#wDcaU@Wv# zi28oRzIWnTv)CSOmJ0pO$92zR$#Z4@IH7vB3E8iNx^%xx#^!^uEM?9s8YWc_8%4te zd)E-po~g5_0d94kd_8zAwAQHk7&M!bk=83cLJw6FMoR1JFyo9bzCg;cCt!_RQB5l4i+s{v_gZz}H&bn_~x{aSw#ZRd|&l%+NUb@R*0?1EsEzZbHQ_F9RF`2!I zS;d%4^s%e+t;OR-2mYG*J{!lBy|+LTn0UB(884kpVhwvWZu~T>dLP8IN?zQ%9U{-i z27mf`ym#{b^FRc-#KE(;wH?79%bq#Pjwo^C$nl+Ze@KeGG;l5#_vwCHLYUZR$xK1l z)oQtgddH-%>-BX%Owm7+J*?w8habxo$P&w6tAlWiu;V*=lv9 zK0T!WLFZ6Xp1aWKlXe}gZUw=WFklUhD>oc)KXJa@gje!Z(dGC0>EWf6W zxyWnS$KeeH$1XgP{2uW)AvpnA*?AM1CqM(@qCA`SfV~d(BLPEl1}YWpkQJv?`Y-P? zHnIvPzhjR?QuVt-`%(3M`89T4iJxo--m)g%*1b8w=@6ajJdvGvbFf7?yvlVlM}PH0 zqc>%r9QH2Sw5e1M+q3Vo*P0OafM)w-<>t8rjb3jxJ+JVUl*EB|1p+`)wYe z2T*NbiU^g@uJei&|Ac+kxL&<`V_xY&A9K@AsQ0I9u358hUA+$+u9B(i<3-a$wHHc5v)U)4W}_c+X@fj+lSuik-`kP>=I;0U!(~4`6K&R1 z?az|xjGl@MDt(UXV_V>p1ZQm=KxzTfQzkeQ&b5v7} z{;TFTJ#H#pWorBp?5o+q9)6S_<39@NFJ-C^E!o1?jq6wsPB!=&$e&u7VDtX@j6DO`hnN_gqJ*>&Qx#kJ$3{kGQMMiu{taJpJZpxW#h*6vY$>(E@R(2?A3#M zEVF6neqtZCzrb6=9-djvrhjB#W}EyyQ?})Nrq5t$*pejN?*qtAq4JcdvX7eTPp<6b zf{hye&QW*P?@`x33f&L%fL+<_z4XXS8}Hg&uh|pj$|l4$mG+xCk^6;q+?&iEJLNN{ z=I*sC&(FcR&D__yvl(Yh>o!__e|&SleB*mZoxO8pywSmUW7!9TD1Saj9gF8cd;GRV z*0G=t#+B&a#EKevR^31JX8l+hp*yShY~L&2 zBR3SBb=$3B>tL^5uVxeQcM+{*i=HF$q<7YNgLOH-#`ei}+dkQb?UU8zn1ZEK@&8`> zK)D4@3N2%>lbUU#-+##`Yx}4ES<0@QH1Kg69n^2A2hz+b^&9Bw_?dpAvD9y|O&k00 z^RrHMwv@TgR+yExLfM}_cFX$0dTbJ9lxW?kdQ+kGj?+=T-Ckd1rp{NWe66zAeX8+Q zeU~+|$|vnqepiZq9lZem>xg)zSf972VsffBsBXupe(`j;)_-4HuIck`tc!#8>aIT8 zw33a=htc+t>Y)wmX(B$AEDg=F*P}dBc~1-h&lGUbh7{S_hNRi1j-em3(uT~w(7G;| zq1}b?gaJs9E`(&fJc7}ZgX%S z`T=29w%P;pa2~Sf>hpKeXYWE=an*SUvIF+UX5Uu8{eL#!wu)cY`RLhqbrwvgCLa&P zz*CqmiAlL{0RDMKH*Hk(*J-x4<>Z+LYv0hD+3A1tzGpVEj1O$SujUVCwsY+JP=1)P zD?qQU&kdx!X~#*Lr}}&abuE4BR6bUGl;Mribuulb$pxNO}nFgMN?+WfBU29UJ}_Da`% zQc>rvc!U4ywAA3ma<8RvZ)Fpeu@x)o)cLJb?|+}V-(K2(PDDj(+PAF7D!25MF8OQC zza6XQ^L8}M`9ZiqC6s%Tpc!71^30|lUn$)n;Q{oZ%tn}{{y{y_>#VN!*}yO^?)(Zj zn-QcrrSmHv8hJ|hOk3|`#5!N@q2u)iSJpxOulz6_N18SD|7;ycnr-O+RK<4&bhpp4 zQ-Al1rtTMY-7l1#IFokcarCkE{Drj6pXFH!ss2q}3umRwQL3I*0_4X*2I$QlVw@Mo5RC@c@=;7!6)0;kJolZ%_xAjyfn>_hz=zHc8@WpbBrjsmQ z=SJrKIu5Av;ONlL>z~!WmV58e-bE)cLw~UM^9#&{$-IjW-AA7UWPC2)j56Mo^^w)M zrn2e0{yN_i`(M{{KQZQ#hvhyf!fi7+{E59W@z_k!Sew380;=H?kP z_1e45I5xtlYWTR{*Se@)zo+OMR<|C*S)bdoClst4j6LeaBerkRhz$oxv_ZW(I$Psc=4|B zYJ8||>t>y-ag&vEea3rU)X{u8@cSwbCPRj(QqZ4NHdNJXdo(H5J=t#z#wU4g&$pKE zcAY#wyF6%~T^`iV>{ILLz#@X*;JB|-2iDR0nLT{cvC4Q3Y5bb!*z@a)c97oj~O5EhR+S}{o6_2X3(E$HW zAUFfw6^sYU);vlksQ8HDW4|wJ)|{J^aqfs0Ch&gnHG>~j#y@os_+A2|8envGhY1#Oqq`+shP+(+3&Dm-;+ z_iwEWsqyTM!*h5y;39Vd<)@xH+iL)8{gY7N$nV81XC}}Ap5+iYyaS)}L$!UlCQp5J z21s#30Ijg*P6u$CakGK*SmQi?M)P=H_yPXYaeRDF#)%vc-xKrg=S^Df`h3yq?7Bwm tHEqhaw8{zBzmp*!oE*YG{|^8F|Nr80P~ZXp009600|5MShACIl0063Fl_&rJ diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem_srm/fileinfo.srm b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem_srm/fileinfo.srm index 51942619a1907f37869b33bd4eb72d7a8f34600d..f7e65ac6c7cfca567b9fdf2c6ed2782f44abbf0d 100644 GIT binary patch literal 290 zcmV+-0p0!|iwFP!000003%rxdZo?oDMfdp%Wd?4G@FZ;p0@)9r%{R)5m z3y0wjcsh|Fy#o@Msn0;T*J9Z}gIAl7Zx0S>HFp*w7A&sJ_ZuT(5PUuSu?(0jos6~W o5*_<={t-*s;>W6(<;7%G{A2Zb!|EFV0RR6306pwze=!6A0AOu@7ytkO literal 308 zcmV-40n7d$iwFP!000003%rxtYQr!LK;QcnCZmtbrQNmt6@zhPrE&2M%L&WhFC}RR zV=y{spKN4wjwIymcFRKa2_aoiRHD%aHx0|+zzqR#rKR;w@qJ$HI1Mh;l8_r+bJGF3 z#I1z(%jbP|WKWl5R&Hd&SWZbgC8J_lS!Ks5rb+Y|wecrb%^`FUhcKF1dA!LRtQHEJ zmAJaIxF6GbI|Pi@D_V(nj}Uh@3XnnDm3aRMF#(RF_VsyOkagEDkCO)-kaFtVMgICz zPW=sXb>QBiin>RxJal$kDB>rb+OFnN+TDpb1f%BrGX=eB{O!(-I|JTP%9Tuu^Zg%X z=cHf(e9T1;PF!S0H-i}8#q@LLsT5ayvEYjdUrfm2f-io-fBu301^@v6{{sMGptNFb G1ONd1YLbiq diff --git a/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem_srm/skeleton.srm b/CPLD/LCMXO256C/impl1/synwork/RAM2GS_LCMXO256C_impl1_prem_srm/skeleton.srm index 5f8d2fab21eaf529967a8d2d1a8313c8dc2881e3..a66169d946608c3495b08f0557d8b005a169a9da 100644 GIT binary patch delta 888 zcmV-;1Bd*z2et>0OMe)q57r?D4GX3vo-Ap(%%Wu6K`rm4AVO!8EoDown96{QzWb7L z(!~NzyvRYIF#pVe{N^V?!u1F4poYuyLJGvJkUW=w zCQQv%Q0}->H-*k+Q7G8u!_Z^+H0^UG9%*biF2u*&5DqA2ihr-bY0(HGu?AlLC%>4L z9A9gaD+1~}T9q&>G`}{va#9d&6xO)GLPEZX75i5=j$@;h$qTVy5cm7$WpOQaCBz?9 zxez%Z%YKBK5n##n&8{#a=bD)3e5^-O2)z5f$QOR&P2V5GY*a`sa{0l5SPa+S*AI4E z)8+DNa8-}Dv45RkE!W56`YNN#!E$h@?Zc4%=+82mVOi=OcDmuZGQuw4XWVIwiBZ2r zFg!eUlWC?OyUCyXxvn!&>`YwgU4hBWF+A+g;?M7oo)aZ@WSzqnJuvYFzJ2mD5C`bQ zgKSfM z(6FL}DJ)<_q;^DL1tgCfh71Qw;z5o4PX(9tOX)QC)cgYz}R9Q4@3_jLC8_~F*m4T6wnwO3g zST%swFSV1mYVY2z-M&>jf4jDRt9JZKEssEEXTH%R`pURpzoJ1O-#o8p?i`|NcJLf| z)X~phf`>mxv_p@KpFkd`T^6)ccI^5-M>ut#rhhc}|1>>z6z!R@aG#bIR9;}9Pk)Ec z>*n6t6e{BK4F1Z(XMFF}M;#FV@KiO`Q5)uFX`4i_3G)H%=MemJg8l7l^Lptmh=aP4 zI?OKIx1^1MZhX(!`-AG9(e3`!o;_iLC;Zdt%BE15!5ZBgu#j2;PE=af(ZuhA`YR5T zWO3trPC`$n{hQX9eS5mKudwdVPb|1fc&N4Z`?%{pvGMQ4-MOa@9^4x^+1p>=iC?nW zCeijMo9%nq%+GA*XEyWqv8i9!)IFQ}{cOg)Zv&h0|73$0LjM2&0RR8ua!}v`00030 O{{sMB>q)AH2LJ%}O22*p delta 887 zcmV--1Bm>#2ek)~OMe8W57r?94GWefo+4?v%%Wu6K`rm4AVPbSEoDoQn96{QzWb7L z(!~Oey~shJF#pVe{N^V?!0iWSp%2;+o~KKm+k&zNfn3fM$Jny!F3N!}kpw;~1j_}W zkjmK-${n-vu28us3JJS>;sr$es5V}&)t1^<|9!T?27vVSF5#T!lpR=~>t z3(fWRx;<WmjV9aU;qU^255kA}0j^Sh(xMDiV3<*-4Ilz)M5pWF<13q5}n zT?!`YMaw($m?oSe*k{2y?IM#U5On)>l%$3N;&I2t#DD#Rh+Xa^O_ zzoLXn%wbG~vV>y^B##=3G=sP@q)Qwded4HXK}rb?UcKtk1wFi=Z!hSZ3;O(mUSH5B zZ|I(BCbAYyDbGLzw4EZs;Xv0{=!wA}3ug zgGoHhY=2mN9!TyzNU-ID|J_|_0u6D}8LD6IlGTjJvS?NqT&#gEh@)Xv8pc{ER$5YE z*#KI-)`sV5x94j&=W6HYYwL5hlQ(Kv03ti_4W7_f%G~-DT@CT|%X;F@Aed&YuEPUGLOIEfDwcRCTO^&d<%nT@t|B&j*y7gZIx7_V;hi>$Nv07V1hU zKRbWlk}iUH?RrMeAF&!3-S3ax$rIXp!abd~Yzm1ftk8o71F0ckd8I@hgl-?PyW$Wg zYjD>y^gXF^Z(5`G-SOVM!Fo79F<>k1pw`OmV>@_a?cR&+si*QD+-o?R`(NLQU$WUG z!R9BM&3oC*Pi*EVHuLwfsbAUD1DpE&Y$k(mJ)6n@WP>O|{{R30|Nr80P~ZXp00960 N0|1Z3A@GI=008hH!R`P6 diff --git a/CPLD/LCMXO256C/impl1/synwork/_mh_info b/CPLD/LCMXO256C/impl1/synwork/_mh_info index 37bc105..4e98067 100644 --- a/CPLD/LCMXO256C/impl1/synwork/_mh_info +++ b/CPLD/LCMXO256C/impl1/synwork/_mh_info @@ -1 +1 @@ -|1| +|1| diff --git a/CPLD/LCMXO256C/impl1/synwork/incr_compile.rpt b/CPLD/LCMXO256C/impl1/synwork/incr_compile.rpt index d534d8a..065043f 100644 --- a/CPLD/LCMXO256C/impl1/synwork/incr_compile.rpt +++ b/CPLD/LCMXO256C/impl1/synwork/incr_compile.rpt @@ -1,38 +1,40 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL compiler and linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -Modified Files: 0 -FID: path (prevtimestamp, timestamp) - -******************************************************************* -Modules that may have changed as a result of file changes: 0 -MID: lib.cell.view - -******************************************************************* -Unmodified files: 7 -FID: path (timestamp) -0 C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v (2021-08-10 09:11:08) -1 C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v (2021-08-10 09:11:08) -2 C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v (2021-08-10 09:07:02) -3 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v (2021-08-10 09:07:02) -4 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh (2021-08-10 09:07:02) -5 C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v (2021-08-10 09:07:02) -6 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v (2023-08-16 04:27:40) - -******************************************************************* -Unchanged modules: 1 -MID: lib.cell.view -0 work.RAM2GS.verilog + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL compiler and linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +Modified Files: 2 +FID: path (prevtimestamp, timestamp) +6 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v (2023-08-16 04:27:40, N/A) +7 Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v (N/A, 2023-08-16 21:05:55) + +******************************************************************* +Modules that may have changed as a result of file changes: 1 +MID: lib.cell.view +0 work.RAM2GS.verilog may have changed because the following files changed: + Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v (N/A, 2023-08-16 21:05:55) <-- (module definition) + +******************************************************************* +Unmodified files: 6 +FID: path (timestamp) +0 C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v (2021-08-10 09:11:08) +1 C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v (2021-08-10 09:11:08) +2 C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v (2021-08-10 09:07:02) +3 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v (2021-08-10 09:07:02) +4 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh (2021-08-10 09:07:02) +5 C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v (2021-08-10 09:07:02) + +******************************************************************* +Unchanged modules: 0 +MID: lib.cell.view diff --git a/CPLD/LCMXO256C/impl1/synwork/layer0.fdep b/CPLD/LCMXO256C/impl1/synwork/layer0.fdep index a4fa5c8..719630b 100644 --- a/CPLD/LCMXO256C/impl1/synwork/layer0.fdep +++ b/CPLD/LCMXO256C/impl1/synwork/layer0.fdep @@ -1,18 +1,18 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\synwork\\RAM2GS_LCMXO256C_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO256C|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001" -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\RAM2GS-SPI.v":1692174460 -#numinternalfiles:6 -#defaultlanguage:verilog -0 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" verilog -#Dependency Lists(Uses List) -0 -1 -#Dependency Lists(Users Of) -0 -1 -#Design Unit to File Association -module work RAM2GS 0 +#OPTIONS:"|-layerid|0|-orig_srs|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\synwork\\RAM2GS_LCMXO256C_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO256C|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO256C\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001" +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\RAM2GS-SPI.v":1692234355 +#numinternalfiles:6 +#defaultlanguage:verilog +0 "Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" verilog +#Dependency Lists(Uses List) +0 -1 +#Dependency Lists(Users Of) +0 -1 +#Design Unit to File Association +module work RAM2GS 0 diff --git a/CPLD/LCMXO256C/impl1/synwork/layer0.fdepxmr b/CPLD/LCMXO256C/impl1/synwork/layer0.fdepxmr index 37d628b..8bc2ba2 100644 --- a/CPLD/LCMXO256C/impl1/synwork/layer0.fdepxmr +++ b/CPLD/LCMXO256C/impl1/synwork/layer0.fdepxmr @@ -1 +1 @@ -#XMR Information +#XMR Information diff --git a/CPLD/LCMXO256C/impl1/synwork/layer0.rt.csv b/CPLD/LCMXO256C/impl1/synwork/layer0.rt.csv index 915b7cd..0b328e3 100644 --- a/CPLD/LCMXO256C/impl1/synwork/layer0.rt.csv +++ b/CPLD/LCMXO256C/impl1/synwork/layer0.rt.csv @@ -1 +1 @@ -Library, Design Unit, compile Time, Peak Mem Usage +Library, Design Unit, compile Time, Peak Mem Usage diff --git a/CPLD/LCMXO256C/impl1/synwork/layer0.srs b/CPLD/LCMXO256C/impl1/synwork/layer0.srs index 39a308da09be91ba4d3fe1cb054d7db5fac6ab5b..a63d4c8a1d874247c6a7636f7d1c51f5a94185d7 100644 GIT binary patch delta 8630 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 delta 8649 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 z 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 diff --git a/CPLD/LCMXO256C/impl1/synwork/layer0.tlg b/CPLD/LCMXO256C/impl1/synwork/layer0.tlg index b28b287..d202e02 100644 --- a/CPLD/LCMXO256C/impl1/synwork/layer0.tlg +++ b/CPLD/LCMXO256C/impl1/synwork/layer0.tlg @@ -1,11 +1,11 @@ -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv - +Selecting top level module RAM2GS +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO256C\impl1\synwork\layer0.rt.csv + diff --git a/CPLD/LCMXO256C/impl1/synwork/layer0.tlg.db b/CPLD/LCMXO256C/impl1/synwork/layer0.tlg.db index 2f1d32b6ad7e8fe4f289308801b4b2dcaa28c8ec..27bf74809b7c42e24e4b13f07911c5fc0981a067 100644 GIT binary patch delta 50 zcmZp0XmHrTCcrY4fq&{|L4kb!i48JhnT%}W>B*u@&hEx$CQ6Z3F+r&X`Nfl0%Lg-g GNdN#~Lk-pd delta 68 zcmZp0XmHrTCcx6bz~8W0P@s%oyN;1vypcayl*!rM*vv%9#VW=>FV&?evn(~nB|o_| XH#M)MIL1A*#G^E6@@n~DCe;c6kNp(D diff --git a/CPLD/LCMXO256C/impl1/synwork/modulechange.db b/CPLD/LCMXO256C/impl1/synwork/modulechange.db index 5a77fcbf6de329bdefcd04ef9f6a523892f3f44c..f2bbc8535764cb61f65b5768ecb4a1cfdc0aaa72 100644 GIT binary patch delta 199 zcmZoTz}Rqrae}m<0s{jB8xX@l>_i=7aRmlFk%zoMAy(e=4E&S$R`RRzh4P-?tSAu4 z%iPGUJ^2!E3!~QNaK5#SA{=~L4E#s=JNbS2dHK%rP2>yZ(*i0K;xp7_XJPPXiL{Cd zN-fAQjtO$~HF6J*aSrftfwFaj13dN0QtlQNTd}b)lrv6_kTYfczj>luF(U^P|3?P? m@BAM(^C&#!=VxJOW?=l!&c@8Zl5(e`W|P5xc}Dg{0RjN4j519C delta 157 zcmZoTz}Rqrae}m<90LOb8xX@l_(UCJaXAJ(k%zoMAy(e=4E&S$R`P}Np66HHtSAu4 z%iPGUG5Hd23#0nxaK5#SLhO7&4E#s=JNbS2dHK%rP2>yOtf*ka$7ajM!cfjKIa>&E|=6#f%&b0t^iN-}%36=23Xc&(Fa4pM{Z`osF3RsH81_lfi#^Mz%!(0sw}N BC6NFC diff --git a/CPLD/LCMXO256C/impl1/version.log b/CPLD/LCMXO256C/impl1/version.log index 9d5f37d..a8d67f6 100644 --- a/CPLD/LCMXO256C/impl1/version.log +++ b/CPLD/LCMXO256C/impl1/version.log @@ -1,2 +1,2 @@ -R-2021.03L-SP1 -Synplify Pro (R) +R-2021.03L-SP1 +Synplify Pro (R) diff --git a/CPLD/LCMXO640C/.run_manager.ini b/CPLD/LCMXO640C/.run_manager.ini index 8c0aa7b..b5da7d8 100644 --- a/CPLD/LCMXO640C/.run_manager.ini +++ b/CPLD/LCMXO640C/.run_manager.ini @@ -1,9 +1,9 @@ -[Runmanager] -Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x1\x1c\0\0\0\xd8\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0) -windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\0\0\0\0\x1\xff\xff\xff\xff\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0) -headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x16\0\xe0?\0\0\0\t\0\0\0\x10\0\0\0\x64\0\0\0\xf\0\0\0\x64\0\0\0\xe\0\0\0\x64\0\0\0\r\0\0\0\x64\0\0\0\x15\0\0\0\x64\0\0\0\x14\0\0\0\x64\0\0\0\x13\0\0\0\x64\0\0\0\x12\0\0\0\x64\0\0\0\x11\0\0\0\x64\0\0\x4\xd3\0\0\0\x16\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x3\0\0\0#\0\0\0\x1\0\0\0\x2\0\0\x4\xb0\0\0\0\f\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0) - -[impl1%3CStrategy1%3E] -isChecked=false -isHidden=false -isExpanded=false +[Runmanager] +Geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x1\x1c\0\0\0\xd8\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0) +windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\0\0\0\0\x1\xff\xff\xff\xff\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0) +headerState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x16\0\xe0?\0\0\0\t\0\0\0\x10\0\0\0\x64\0\0\0\xf\0\0\0\x64\0\0\0\xe\0\0\0\x64\0\0\0\r\0\0\0\x64\0\0\0\x15\0\0\0\x64\0\0\0\x14\0\0\0\x64\0\0\0\x13\0\0\0\x64\0\0\0\x12\0\0\0\x64\0\0\0\x11\0\0\0\x64\0\0\x4\xd3\0\0\0\x16\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x3\0\0\0#\0\0\0\x1\0\0\0\x2\0\0\x4\xb0\0\0\0\f\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0) + +[impl1%3CStrategy1%3E] +isChecked=false +isHidden=false +isExpanded=false diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf b/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf index a7bbcc2..541b3a9 100644 --- a/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf @@ -9,7 +9,7 @@ - + diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcl.html b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcl.html index eea92d0..63d5597 100644 --- a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcl.html +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcl.html @@ -15,6 +15,41 @@ prj_run Export -impl impl1 +pn230819063021 +#Start recording tcl command: 8/19/2023 06:30:19 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +#Stop recording: 8/19/2023 06:30:21 + + + +pn230819063032 +#Start recording tcl command: 8/19/2023 06:30:26 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +#Stop recording: 8/19/2023 06:30:32 + + + +pn230819215438 +#Start recording tcl command: 8/19/2023 20:57:00 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +prj_run Export -impl impl1 -forceAll +prj_project close +#Stop recording: 8/19/2023 21:54:38 + + + +pn230820055538 +#Start recording tcl command: 8/20/2023 05:55:34 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +prj_project close +#Stop recording: 8/20/2023 05:55:38 + + +


    diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063021.tcr b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063021.tcr new file mode 100644 index 0000000..3ec4819 --- /dev/null +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063021.tcr @@ -0,0 +1,4 @@ +#Start recording tcl command: 8/19/2023 06:30:19 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +#Stop recording: 8/19/2023 06:30:21 diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063032.tcr b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063032.tcr new file mode 100644 index 0000000..fee2179 --- /dev/null +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819063032.tcr @@ -0,0 +1,4 @@ +#Start recording tcl command: 8/19/2023 06:30:26 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +#Stop recording: 8/19/2023 06:30:32 diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819215438.tcr b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819215438.tcr new file mode 100644 index 0000000..a127ddc --- /dev/null +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230819215438.tcr @@ -0,0 +1,6 @@ +#Start recording tcl command: 8/19/2023 20:57:00 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +prj_run Export -impl impl1 -forceAll +prj_project close +#Stop recording: 8/19/2023 21:54:38 diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055538.tcr b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055538.tcr new file mode 100644 index 0000000..f27c288 --- /dev/null +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055538.tcr @@ -0,0 +1,5 @@ +#Start recording tcl command: 8/20/2023 05:55:34 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +prj_project close +#Stop recording: 8/20/2023 05:55:38 diff --git a/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055558.tcr b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055558.tcr new file mode 100644 index 0000000..9a32664 --- /dev/null +++ b/CPLD/LCMXO640C/RAM2GS_LCMXO640C_tcr.dir/pn230820055558.tcr @@ -0,0 +1,6 @@ +#Start recording tcl command: 8/20/2023 05:55:51 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO640C; Project name: RAM2GS_LCMXO640C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf" +prj_run Export -impl impl1 -task IBIS +prj_project close +#Stop recording: 8/20/2023 05:55:58 diff --git a/CPLD/LCMXO640C/impl1/.build_status b/CPLD/LCMXO640C/impl1/.build_status index f001400..4e6a6a8 100644 --- a/CPLD/LCMXO640C/impl1/.build_status +++ b/CPLD/LCMXO640C/impl1/.build_status @@ -2,35 +2,35 @@ - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - + + - + - - + + @@ -49,23 +49,23 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/CPLD/LCMXO640C/impl1/IBIS/RAM2GS_LCMXO640C_im~.ibs b/CPLD/LCMXO640C/impl1/IBIS/RAM2GS_LCMXO640C_im~.ibs index c45e35b..bffc7d3 100644 --- a/CPLD/LCMXO640C/impl1/IBIS/RAM2GS_LCMXO640C_im~.ibs +++ b/CPLD/LCMXO640C/impl1/IBIS/RAM2GS_LCMXO640C_im~.ibs @@ -1,3373 +1,3373 @@ -|************************************************************************ -| IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 -| Generate date: Wed Aug 16 04:50:53 2023 -|************************************************************************ -| IBIS File machxo.ibs -| LibisGen v2.0.1.0, 02/25/2008, Lattice Semiconductor Corporation -| Modified by LibisMaker v2.0.1.0, 02/25/2008, Lattice Semiconductor -| North Carolina State University, ERL, 2006 -|************************************************************************ -[IBIS ver] 3.2 -[File Name] RAM2GS_LCMXO640C_im~.ibs -[File Rev] 2.2 -[Date] Mon Sep 28 10:44:10 EDT 2009 -[Source] Lattice Semiconductor EE12 Process -[Notes] "Preliminary Version" - Lattice Semiconductor has worked hard to ensure the - models below are accurate and complete. However, the - data below was generated using simulation of the - input/output model files for the silicon. Therefore, - the data below is for reference and initial design - purposes only. -| - The data below is correlated to Spice models. - For questions regarding this data please contact - us at www.latticesemi.com. -| - Lattice Semiconductor grants permission to use this - data for use in printed circuit design using this - Lattice programmable logic device. Other use of this - code, including the selling or duplication of any - portion is strictly prohibited. -| -| NAMING CONVENTION -| - The IBIS [Model] header is limited by the specification to a - total of characters. With such a set of characters available - for naming models it becomes important to attempt to - meaningfully encode the IO standards so they fit within the - twenty character limit. It would seem that twenty characters - would provide room enough for describing IO's. However, the - PLD IO structure continues to grow more and more complex. The - complexity is making the twenty characters insuffiently - descriptive. In order to overcome this issue the naming - convention described below is implemented to resolve the issue. -| -The twenty character space is managed as follows: - bbbvvvsdddprugtcoixx -| - b = standard - v = voltage (x.xx V) - s = slew code - d = drive (xx.x ma) - p = pullup code - r = series resistance code - u = terminate to vcc code - g = terminate to gnd code - t = terminate to vtt code - c = common mode termination mode - o = diff resistor code - i = diff resistor current code - x = reserved -| -| - standard -| - LVCMOS lvc - lvcmosd lvd - LVDSE lve - LVTTL lvt - lvttld ltd - PCI pci - pcix pcx - AGP1x ag1 - agp2x ag2 - sstl_I ss1 - sstl_II ss2 - sstld_I s1d - sstld_II s2d - CTT ctt - hstl_i hs1 - hstl_ii hs2 - hstl_iii hs3 - hstl_iv hs4 - hstld_i h1d - hstld_ii h2d - gtl gtl - gtlplus gtp - lvds lvs - blvds blv - mlvds mlv - lvpecl lvp - cml cml - hypt hyp - rsds rsd - vref1 vr1 - vref2 vr2 - ref_res rer -| -| - slew - na a - fast f - slow s -| - pullmode - off a - pullup b - pulldown c - bushold d - pciclamp e - up_pciclamp f - down_pciclamp g - keeper_pciclamp h - schmitt i - up_schmitt j - down_schmitt k - keeper_schmitt l - up_pciclamp_schmitt m - down_pciclamp_schmitt n - keeper_pciclamp_schmitt o - pciclamp_schmitt p -| - impedence - off a - 25 b - 33 c - 50 d - 100 e -| - termVCC - off a - 50 b - 100 c - 120 d -| - termGND - off a - 50 b - 100 c - 120 d -| - termVTT - off a - 60 b - 75 c - 120 d - 150 e - 210 f -| - VCMT - off a - VCMT b - VTT c - DDR-2 d -| - differential resistor - off a - 120 b - 150 c - 220 d - 420 e -| - differential current - NA a - 2 b - 3.5 c - 4 d - 6 e -| - Reserved IO type - in input only - ou output - io I/O - od Open drain - on Inverting differential I/O - (signal name only) - op Non-Inverting differential I/O - (signal name only) -| - All the IO models are generated with pull mode set to UP. -| - Lattice Semiconductor Corporation - 5555 NE Moore Court - Hillsboro, OR 97214 - U.S.A -| - TEL: 1-800-Lattice (USA and Canada) - 408-826-6000 (other locations) -| - web: http://www.latticesemi.com/ - email: techsupport@latticesemi.com -| -| -| -[Disclaimer] This IBIS source code is intended as a design reference - which illustrates how the Lattice Semiconductor device operates. - It is the user's responsibility to verify their design for - consistency and functionality through the use of formal - verification methods. Lattice Semiconductor provides no warranty - regarding the use or functionality of this data. -| -[Copyright] Copyright 2009 by Lattice Semiconductor Corporation -| -| -|************************************************************************ -| Component XO -|************************************************************************ -| -[Component] MXO256_MXO640_MXO1K_MXO2K -[Manufacturer] Lattice Semiconductor Corp. -[Package] -|TQFP100 -| variable typ min max -R_pkg 70.5m 54.0m 87.0m -L_pkg 4.57nH 4.27nH 4.87nH -C_pkg .52pF .47pF .57pF -| -[Pin] signal_name model_name R_pin L_pin C_pin -32 CROW[0] lvc330fxxxaaaaaaaain -34 CROW[1] lvc330fxxxaaaaaaaain -21 Din[0] lvc330fxxxaaaaaaaain -15 Din[1] lvc330fxxxaaaaaaaain -14 Din[2] lvc330fxxxaaaaaaaain -16 Din[3] lvc330fxxxaaaaaaaain -18 Din[4] lvc330fxxxaaaaaaaain -17 Din[5] lvc330fxxxaaaaaaaain -20 Din[6] lvc330fxxxaaaaaaaain -19 Din[7] lvc330fxxxaaaaaaaain -1 Dout[0] lvc330f040aaaaaaaaio -7 Dout[1] lvc330f040aaaaaaaaio -8 Dout[2] lvc330f040aaaaaaaaio -6 Dout[3] lvc330f040aaaaaaaaio -4 Dout[4] lvc330f040aaaaaaaaio -5 Dout[5] lvc330f040aaaaaaaaio -2 Dout[6] lvc330f040aaaaaaaaio -3 Dout[7] lvc330f040aaaaaaaaio -57 LED lvc330s140aaaaaaaaio -23 MAin[0] lvc330fxxxaaaaaaaain -38 MAin[1] lvc330fxxxaaaaaaaain -37 MAin[2] lvc330fxxxaaaaaaaain -47 MAin[3] lvc330fxxxaaaaaaaain -46 MAin[4] lvc330fxxxaaaaaaaain -45 MAin[5] lvc330fxxxaaaaaaaain -49 MAin[6] lvc330fxxxaaaaaaaain -44 MAin[7] lvc330fxxxaaaaaaaain -50 MAin[8] lvc330fxxxaaaaaaaain -51 MAin[9] lvc330fxxxaaaaaaaain -39 PHI2 lvc330fxxxcaaaaaaain -98 RA[0] lvc330s040aaaaaaaaio -87 RA[10] lvc330s040aaaaaaaaio -79 RA[11] lvc330s040aaaaaaaaio -89 RA[1] lvc330s040aaaaaaaaio -94 RA[2] lvc330s040aaaaaaaaio -97 RA[3] lvc330s040aaaaaaaaio -99 RA[4] lvc330s040aaaaaaaaio -95 RA[5] lvc330s040aaaaaaaaio -91 RA[6] lvc330s040aaaaaaaaio -100 RA[7] lvc330s040aaaaaaaaio -96 RA[8] lvc330s040aaaaaaaaio -85 RA[9] lvc330s040aaaaaaaaio -63 RBA[0] lvc330s040aaaaaaaaio -83 RBA[1] lvc330s040aaaaaaaaio -82 RCKE lvc330s040aaaaaaaaio -86 RCLK lvc330fxxxaaaaaaaain -76 RDQMH lvc330s040aaaaaaaaio -61 RDQML lvc330s040aaaaaaaaio -64 RD[0] lvc330s040aaaaaaaaio -65 RD[1] lvc330s040aaaaaaaaio -66 RD[2] lvc330s040aaaaaaaaio -67 RD[3] lvc330s040aaaaaaaaio -68 RD[4] lvc330s040aaaaaaaaio -69 RD[5] lvc330s040aaaaaaaaio -70 RD[6] lvc330s040aaaaaaaaio -71 RD[7] lvc330s040aaaaaaaaio -58 UFMCLK lvc330s040aaaaaaaaio -56 UFMSDI lvc330s040aaaaaaaaio -55 UFMSDO lvc330fxxxaaaaaaaain -27 nCCAS lvc330fxxxbaaaaaaain -43 nCRAS lvc330fxxxbaaaaaaain -22 nFWE lvc330fxxxaaaaaaaain -78 nRCAS lvc330s040aaaaaaaaio -77 nRCS lvc330s040aaaaaaaaio -73 nRRAS lvc330s040aaaaaaaaio -72 nRWE lvc330s040aaaaaaaaio -53 nUFMCS lvc330s040aaaaaaaaio -|************************************************************************ -[Model] lvc330f040aaaaaaaaio -Model_type I/O -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -Vmeas = 1.650000V -Cref = 0.0F -Rref = 1.000000M -Vref = 0.0V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[Pulldown] -|Voltage I(typ) I(min) I(max) -| - -3.30 -16.264620mA -12.195876mA -17.211942mA - -3.20 -16.206900mA -12.152073mA -17.150026mA - -3.10 -16.149180mA -12.108270mA -17.088110mA - -3.00 -16.091460mA -12.064467mA -17.026194mA - -2.90 -16.033740mA -12.020664mA -16.964278mA - -2.80 -15.976020mA -11.976862mA -16.902362mA - -2.70 -15.918300mA -11.933059mA -16.840446mA - -2.60 -15.860580mA -11.889256mA -16.778530mA - -2.50 -15.802860mA -11.845453mA -16.716614mA - -2.40 -15.745140mA -11.801650mA -16.654698mA - -2.30 -15.687420mA -11.757848mA -16.592782mA - -2.20 -15.629700mA -11.714045mA -16.530866mA - -2.10 -15.571980mA -11.670242mA -16.468950mA - -2.00 -15.514260mA -11.626439mA -16.407034mA - -1.90 -15.456540mA -11.582636mA -16.345118mA - -1.80 -15.398820mA -11.538834mA -16.283202mA - -1.70 -15.341100mA -11.495031mA -16.221286mA - -1.60 -15.283380mA -11.451228mA -16.159370mA - -1.50 -15.225660mA -11.407425mA -16.097454mA - -1.40 -15.167940mA -11.363622mA -16.035538mA - -1.30 -15.110220mA -11.319820mA -15.973622mA - -1.20 -15.052500mA -11.276017mA -15.911706mA - -1.10 -14.994780mA -11.232214mA -15.849790mA - -1.00 -14.937060mA -11.188411mA -15.787874mA - -0.90 -14.879340mA -11.144608mA -15.725958mA - -0.80 -14.821620mA -11.100806mA -15.634000mA - -0.70 -14.763900mA -11.057003mA -15.389000mA - -0.60 -14.121200mA -11.013200mA -15.085900mA - -0.50 -12.312470mA -10.252860mA -13.892750mA - -0.40 -9.922051mA -8.353886mA -11.397898mA - -0.30 -7.415846mA -6.279285mA -8.571802mA - -0.20 -4.904405mA -4.183585mA -5.687248mA - -0.10 -2.422592mA -2.084866mA -2.809391mA - 0.00 9.270000nA 8.640000nA 10.950000nA - 0.10 2.215985mA 1.960397mA 2.507890mA - 0.20 4.086375mA 3.683686mA 4.498680mA - 0.30 5.594166mA 5.150675mA 5.952471mA - 0.40 6.738256mA 6.352364mA 6.929962mA - 0.50 7.557146mA 7.289853mA 7.572152mA - 0.60 8.124436mA 7.983242mA 8.013343mA - 0.70 8.511126mA 8.476831mA 8.337834mA - 0.80 8.778316mA 8.826620mA 8.591424mA - 0.90 8.972606mA 9.080609mA 8.798515mA - 1.00 9.121395mA 9.272098mA 8.969206mA - 1.10 9.240584mA 9.422087mA 9.101296mA - 1.20 9.339574mA 9.543476mA 9.202186mA - 1.30 9.424063mA 9.644765mA 9.285275mA - 1.40 9.498053mA 9.731354mA 9.357665mA - 1.50 9.564242mA 9.806743mA 9.423455mA - 1.60 9.625232mA 9.873832mA 9.485944mA - 1.70 9.684621mA 9.934821mA 9.548134mA - 1.80 9.747011mA 9.992810mA 9.610224mA - 1.90 9.814800mA 10.052999mA 9.670813mA - 2.00 9.885689mA 10.122988mA 9.728603mA - 2.10 9.955379mA 10.203977mA 9.783293mA - 2.20 10.021968mA 10.292966mA 9.835282mA - 2.30 10.083958mA 10.380954mA 9.884972mA - 2.40 10.141947mA 10.464943mA 9.932861mA - 2.50 10.196936mA 10.542932mA 9.979551mA - 2.60 10.249926mA 10.614921mA 10.025941mA - 2.70 10.300915mA 10.681910mA 10.071930mA - 2.80 10.350904mA 10.744899mA 10.118920mA - 2.90 10.400894mA 10.805888mA 10.167909mA - 3.00 10.451883mA 10.863877mA 10.218899mA - 3.10 10.504872mA 10.921864mA 10.273889mA - 3.20 10.559862mA 10.978747mA 10.332878mA - 3.30 10.618848mA 11.037379mA 10.397868mA - 3.40 10.682725mA 11.085335mA 10.469857mA - 3.50 10.751986mA 11.124616mA 10.550843mA - 3.60 10.804292mA 11.163898mA 10.640599mA - 3.70 10.840604mA 11.203179mA 10.738212mA - 3.80 10.876916mA 11.242461mA 10.773505mA - 3.90 10.913228mA 11.281743mA 10.808797mA - 4.00 10.949540mA 11.321024mA 10.844090mA - 4.10 10.985852mA 11.360306mA 10.879382mA - 4.20 11.022164mA 11.399587mA 10.914675mA - 4.30 11.058476mA 11.438869mA 10.949967mA - 4.40 11.094788mA 11.478151mA 10.985259mA - 4.50 11.131100mA 11.517432mA 11.020552mA - 4.60 11.167412mA 11.556714mA 11.055844mA - 4.70 11.203724mA 11.595995mA 11.091137mA - 4.80 11.240036mA 11.635277mA 11.126429mA - 4.90 11.276348mA 11.674559mA 11.161721mA - 5.00 11.312660mA 11.713840mA 11.197014mA - 5.10 11.348972mA 11.753122mA 11.232306mA - 5.20 11.385284mA 11.792403mA 11.267599mA - 5.30 11.421596mA 11.831685mA 11.302891mA - 5.40 11.457908mA 11.870967mA 11.338183mA - 5.50 11.494220mA 11.910248mA 11.373476mA - 5.60 11.530532mA 11.949530mA 11.408768mA - 5.70 11.566844mA 11.988811mA 11.444061mA - 5.80 11.603156mA 12.028093mA 11.479353mA - 5.90 11.639468mA 12.067375mA 11.514645mA - 6.00 11.675780mA 12.106656mA 11.549938mA - 6.10 11.712092mA 12.145938mA 11.585230mA - 6.20 11.748404mA 12.185219mA 11.620523mA - 6.30 11.784716mA 12.224501mA 11.655815mA - 6.40 11.821028mA 12.263783mA 11.691107mA - 6.50 11.857340mA 12.303064mA 11.726400mA - 6.60 11.893652mA 12.342346mA 11.761692mA -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 6.260163mA 5.384933mA 7.315403mA - -3.20 6.239699mA 5.366401mA 7.291487mA - -3.10 6.219236mA 5.347870mA 7.267570mA - -3.00 6.198773mA 5.329339mA 7.243653mA - -2.90 6.178310mA 5.310808mA 7.219736mA - -2.80 6.157847mA 5.292277mA 7.195819mA - -2.70 6.137383mA 5.273745mA 7.171903mA - -2.60 6.116920mA 5.255214mA 7.147986mA - -2.50 6.096457mA 5.236683mA 7.124069mA - -2.40 6.075994mA 5.218152mA 7.100152mA - -2.30 6.055531mA 5.199621mA 7.076235mA - -2.20 6.035067mA 5.181089mA 7.052319mA - -2.10 6.014604mA 5.162558mA 7.028402mA - -2.00 5.994141mA 5.144027mA 7.004485mA - -1.90 5.973678mA 5.125496mA 6.980568mA - -1.80 5.953215mA 5.106965mA 6.956651mA - -1.70 5.932751mA 5.088433mA 6.932735mA - -1.60 5.912288mA 5.069902mA 6.908818mA - -1.50 5.891825mA 5.051371mA 6.884901mA - -1.40 5.871362mA 5.032840mA 6.860984mA - -1.30 5.850899mA 5.014309mA 6.837067mA - -1.20 5.830435mA 4.995777mA 6.813151mA - -1.10 5.809972mA 4.977246mA 6.789234mA - -1.00 5.789509mA 4.958715mA 6.765317mA - -0.90 5.769046mA 4.940184mA 6.741400mA - -0.80 5.748583mA 4.921653mA 6.717483mA - -0.70 5.728119mA 4.903121mA 6.693567mA - -0.60 5.707656mA 4.884590mA 6.669650mA - -0.50 5.687193mA 4.866059mA 6.645733mA - -0.40 5.666730mA 4.847528mA 6.621816mA - -0.30 5.646267mA 4.828997mA 6.597899mA - -0.20 4.435786mA 3.802115mA 5.174820mA - -0.10 2.131925mA 1.838548mA 2.475669mA - 0.00 -6.170000nA -5.460000nA -7.060000nA - 0.10 -1.893038mA -1.673728mA -2.145840mA - 0.20 -3.512428mA -3.164516mA -3.900829mA - 0.30 -4.854717mA -4.471005mA -5.257719mA - 0.40 -5.916606mA -5.591894mA -6.209108mA - 0.50 -6.694696mA -6.525883mA -6.765898mA - 0.60 -7.186085mA -7.271372mA -7.127487mA - 0.70 -7.501974mA -7.827161mA -7.398777mA - 0.80 -7.747264mA -8.192150mA -7.614967mA - 0.90 -7.946053mA -8.442739mA -7.794856mA - 1.00 -8.112642mA -8.647928mA -7.949846mA - 1.10 -8.255932mA -8.820317mA -8.086935mA - 1.20 -8.381921mA -8.968206mA -8.210725mA - 1.30 -8.494611mA -9.097295mA -8.324315mA - 1.40 -8.596900mA -9.211784mA -8.430004mA - 1.50 -8.691089mA -9.314673mA -8.529494mA - 1.60 -8.778479mA -9.407962mA -8.623884mA - 1.70 -8.860368mA -9.493551mA -8.714073mA - 1.80 -8.937858mA -9.572640mA -8.800963mA - 1.90 -9.011447mA -9.646329mA -8.884952mA - 2.00 -9.081837mA -9.715418mA -8.966642mA - 2.10 -9.149526mA -9.780507mA -9.046332mA - 2.20 -9.214816mA -9.842296mA -9.124421mA - 2.30 -9.278305mA -9.901185mA -9.201211mA - 2.40 -9.340094mA -9.957574mA -9.277001mA - 2.50 -9.400784mA -10.011863mA -9.352391mA - 2.60 -9.460574mA -10.063852mA -9.427582mA - 2.70 -9.519964mA -10.115841mA -9.503173mA - 2.80 -9.579454mA -10.165830mA -9.579563mA - 2.90 -9.639644mA -10.215819mA -9.657654mA - 3.00 -9.701034mA -10.264808mA -9.737845mA - 3.10 -9.764525mA -10.315796mA -9.821135mA - 3.20 -9.830715mA -10.367780mA -9.908326mA - 3.30 -9.900606mA -10.421706mA -10.000817mA - 3.40 -9.975092mA -10.478956mA -10.098808mA - 3.50 -10.055705mA -10.535873mA -10.202798mA - 3.60 -10.141346mA -10.578599mA -10.316786mA - 3.70 -10.228551mA -10.620789mA -10.438679mA - 3.80 -10.281620mA -10.662980mA -10.570555mA - 3.90 -10.322662mA -10.705170mA -10.682977mA - 4.00 -10.363704mA -10.747360mA -10.725640mA - 4.10 -10.404746mA -10.789550mA -10.768303mA - 4.20 -10.445787mA -10.831741mA -10.810966mA - 4.30 -10.486829mA -10.873931mA -10.853629mA - 4.40 -10.527871mA -10.916121mA -10.896292mA - 4.50 -10.568913mA -10.958311mA -10.938955mA - 4.60 -10.609955mA -11.000502mA -10.981618mA - 4.70 -10.650997mA -11.042692mA -11.024281mA - 4.80 -10.692039mA -11.084882mA -11.066944mA - 4.90 -10.733081mA -11.127072mA -11.109607mA - 5.00 -10.774122mA -11.169262mA -11.152270mA - 5.10 -10.815164mA -11.211453mA -11.194933mA - 5.20 -10.856206mA -11.253643mA -11.237597mA - 5.30 -10.897248mA -11.295833mA -11.280260mA - 5.40 -10.938290mA -11.338023mA -11.322923mA - 5.50 -10.979332mA -11.380214mA -11.365586mA - 5.60 -11.020374mA -11.422404mA -11.408249mA - 5.70 -11.061416mA -11.464594mA -11.450912mA - 5.80 -11.102458mA -11.506784mA -11.493575mA - 5.90 -11.143499mA -11.548975mA -11.536238mA - 6.00 -11.184541mA -11.591165mA -11.578901mA - 6.10 -11.225583mA -11.633355mA -11.621564mA - 6.20 -11.266625mA -11.675545mA -11.664227mA - 6.30 -11.307667mA -11.717736mA -11.706890mA - 6.40 -11.348709mA -11.759926mA -11.749553mA - 6.50 -11.389751mA -11.802116mA -11.792216mA - 6.55 -11.410272mA -11.823211mA -11.813548mA -| -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.204000pA 1.415400nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.065000nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270300uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -[Ramp] -| variable typ min max -dV/dt_r 0.287529/0.242724n 0.301503/0.328867n 0.291718/0.195168n -dV/dt_f 0.313320/0.253363n 0.309840/0.389332n 0.311820/0.168025n -R_load = 50.000000 -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 2.782900V 2.609000V 2.960100V -0.2020ns 2.783000V 2.608900V 2.962600V -0.4040ns 2.787900V 2.610900V 3.090500V -0.6061ns 3.029800V 2.611800V 3.431300V -0.8081ns 3.255100V 2.678900V 3.466400V -1.0101ns 3.294700V 2.982700V 3.469200V -1.2121ns 3.298300V 3.109600V 3.469600V -1.4141ns 3.299300V 3.123400V 3.469800V -1.6162ns 3.299600V 3.137700V 3.469900V -1.8182ns 3.299700V 3.138900V 3.469900V -2.0202ns 3.299800V 3.139300V 3.469900V -2.2222ns 3.299900V 3.139600V 3.469900V -2.4242ns 3.299900V 3.139700V 3.469200V -2.6263ns 3.299900V 3.139700V 3.471700V -2.8283ns 3.299900V 3.139800V 3.470600V -3.0303ns 3.299900V 3.139800V 3.470200V -3.2323ns 3.299900V 3.139900V 3.470100V -3.4343ns 3.302400V 3.139900V 3.470000V -3.6364ns 3.301400V 3.139900V 3.470000V -3.8384ns 3.300600V 3.139900V 3.470000V -4.0404ns 3.300200V 3.139900V 3.470000V -4.2424ns 3.300000V 3.139900V 3.470000V -4.4444ns 3.300000V 3.139900V 3.470000V -4.6465ns 3.300000V 3.139900V 3.469900V -4.8485ns 3.300000V 3.140000V 3.469900V -5.0505ns 3.300000V 3.141300V 3.469900V -5.2525ns 3.300000V 3.142100V 3.469900V -5.4545ns 3.299900V 3.140900V 3.469900V -5.6566ns 3.299900V 3.140500V 3.469900V -5.8586ns 3.299900V 3.140200V 3.469900V -6.0606ns 3.299900V 3.140100V 3.469900V -6.2626ns 3.299900V 3.140000V 3.469900V -6.4646ns 3.299900V 3.140000V 3.469900V -6.6667ns 3.299900V 3.140000V 3.470000V -6.8687ns 3.299900V 3.140000V 3.470000V -7.0707ns 3.299900V 3.140000V 3.470000V -7.2727ns 3.299900V 3.139900V 3.470000V -7.4747ns 3.299900V 3.139900V 3.470000V -7.6768ns 3.299900V 3.139900V 3.470000V -7.8788ns 3.299900V 3.139900V 3.470000V -8.0808ns 3.299900V 3.139900V 3.470000V -8.2828ns 3.299900V 3.139900V 3.470000V -8.4848ns 3.299900V 3.139800V 3.470000V -8.6869ns 3.299900V 3.139800V 3.470000V -8.8889ns 3.299900V 3.139900V 3.470000V -9.0909ns 3.299900V 3.139900V 3.470000V -9.2929ns 3.299900V 3.139900V 3.470000V -9.4949ns 3.300000V 3.139900V 3.470000V -9.6970ns 3.300000V 3.139900V 3.470000V -9.8990ns 3.300000V 3.139900V 3.470000V -10.1010ns 3.300000V 3.139900V 3.470000V -10.3030ns 3.300000V 3.139900V 3.470000V -10.5051ns 3.300000V 3.139900V 3.470000V -10.7071ns 3.300000V 3.139900V 3.470000V -10.9091ns 3.300000V 3.139900V 3.470000V -11.1111ns 3.300000V 3.139900V 3.470000V -11.3131ns 3.300000V 3.139900V 3.470000V -11.5152ns 3.300000V 3.139900V 3.470000V -11.7172ns 3.300000V 3.139900V 3.470000V -11.9192ns 3.300000V 3.139900V 3.470000V -12.1212ns 3.300000V 3.139900V 3.470000V -12.3232ns 3.300000V 3.139900V 3.470000V -12.5253ns 3.300000V 3.139900V 3.470000V -12.7273ns 3.300000V 3.139900V 3.470000V -12.9293ns 3.300000V 3.139900V 3.470000V -13.1313ns 3.300000V 3.140000V 3.470000V -13.3333ns 3.300000V 3.140000V 3.470000V -13.5354ns 3.300000V 3.140000V 3.470000V -13.7374ns 3.300000V 3.140000V 3.470000V -13.9394ns 3.300000V 3.140000V 3.470000V -14.1414ns 3.300000V 3.140000V 3.470000V -14.3434ns 3.300000V 3.140000V 3.470000V -14.5455ns 3.300000V 3.140000V 3.470000V -14.7475ns 3.300000V 3.140000V 3.470000V -14.9495ns 3.300000V 3.140000V 3.470000V -15.1515ns 3.300000V 3.140000V 3.470000V -15.3535ns 3.300000V 3.140000V 3.470000V -15.5556ns 3.300000V 3.140000V 3.470000V -15.7576ns 3.300000V 3.140000V 3.470000V -15.9596ns 3.300000V 3.140000V 3.470000V -16.1616ns 3.300000V 3.140000V 3.470000V -16.3636ns 3.300000V 3.140000V 3.470000V -16.5657ns 3.300000V 3.140000V 3.470000V -16.7677ns 3.300000V 3.140000V 3.470000V -16.9697ns 3.300000V 3.140000V 3.470000V -17.1717ns 3.300000V 3.140000V 3.470000V -17.3737ns 3.300000V 3.140000V 3.470000V -17.5758ns 3.300000V 3.140000V 3.470000V -17.7778ns 3.300000V 3.140000V 3.470000V -17.9798ns 3.300000V 3.140000V 3.470000V -18.1818ns 3.300000V 3.140000V 3.470000V -18.3838ns 3.300000V 3.140000V 3.470000V -18.5859ns 3.300000V 3.140000V 3.470000V -18.7879ns 3.300000V 3.140000V 3.470000V -18.9899ns 3.300000V 3.140000V 3.470000V -19.1919ns 3.300000V 3.140000V 3.470000V -19.3939ns 3.300000V 3.140000V 3.470000V -19.5960ns 3.300000V 3.140000V 3.470000V -19.7980ns 3.300000V 3.140000V 3.470000V -20.0000ns 3.300000V 3.140000V 3.470000V -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 4.225900uV 4.920300uV 3.956100uV -0.2020ns -0.116150mV 2.502300uV -0.231550mV -0.4040ns -1.969300mV 5.640900uV 0.966840mV -0.6061ns 23.188000mV -0.508470mV 0.314560V -0.8081ns 0.256150V -5.285700mV 0.577600V -1.0101ns 0.498250V 54.786000mV 0.667290V -1.2121ns 0.599860V 0.232770V 0.689990V -1.4141ns 0.636760V 0.420560V 0.696020V -1.6162ns 0.647730V 0.550470V 0.696970V -1.8182ns 0.651730V 0.605400V 0.696980V -2.0202ns 0.652900V 0.628190V 0.696540V -2.2222ns 0.653040V 0.636320V 0.696120V -2.4242ns 0.653000V 0.639440V 0.698020V -2.6263ns 0.652920V 0.640980V 0.608850V -2.8283ns 0.652830V 0.641740V 0.523850V -3.0303ns 0.652750V 0.642070V 0.484440V -3.2323ns 0.652670V 0.642220V 0.464640V -3.4343ns 0.646540V 0.642370V 0.456500V -3.6364ns 0.546150V 0.642430V 0.451090V -3.8384ns 0.483220V 0.642470V 0.449010V -4.0404ns 0.451320V 0.642490V 0.447190V -4.2424ns 0.434720V 0.642510V 0.447190V -4.4444ns 0.427460V 0.642520V 0.447460V -4.6465ns 0.422730V 0.642530V 0.449720V -4.8485ns 0.420080V 0.642410V 0.452230V -5.0505ns 0.418790V 0.647910V 0.454820V -5.2525ns 0.418520V 0.569370V 0.457130V -5.4545ns 0.419000V 0.507240V 0.459260V -5.6566ns 0.420340V 0.472210V 0.461230V -5.8586ns 0.422900V 0.450470V 0.463090V -6.0606ns 0.425610V 0.440570V 0.464890V -6.2626ns 0.428790V 0.434240V 0.466650V -6.4646ns 0.432030V 0.430580V 0.468260V -6.6667ns 0.435070V 0.428580V 0.469780V -6.8687ns 0.437890V 0.427410V 0.471150V -7.0707ns 0.440590V 0.426660V 0.472420V -7.2727ns 0.443180V 0.426510V 0.473570V -7.4747ns 0.445620V 0.426790V 0.474650V -7.6768ns 0.447910V 0.427810V 0.475620V -7.8788ns 0.450050V 0.429350V 0.476520V -8.0808ns 0.452040V 0.431730V 0.477340V -8.2828ns 0.453900V 0.435000V 0.478100V -8.4848ns 0.455630V 0.438710V 0.478780V -8.6869ns 0.457250V 0.442390V 0.479420V -8.8889ns 0.458760V 0.446040V 0.479990V -9.0909ns 0.460180V 0.449510V 0.480530V -9.2929ns 0.461490V 0.452860V 0.481010V -9.4949ns 0.462720V 0.455990V 0.481460V -9.6970ns 0.463870V 0.458960V 0.481860V -9.8990ns 0.464940V 0.461730V 0.482240V -10.1010ns 0.466405V 0.465580V 0.482735V -10.3030ns 0.467740V 0.469110V 0.483180V -10.5051ns 0.468550V 0.471260V 0.483440V -10.7071ns 0.469310V 0.473300V 0.483680V -10.9091ns 0.470010V 0.475190V 0.483900V -11.1111ns 0.470670V 0.476990V 0.484100V -11.3131ns 0.471280V 0.478660V 0.484280V -11.5152ns 0.471860V 0.480240V 0.484450V -11.7172ns 0.472390V 0.481710V 0.484610V -11.9192ns 0.472890V 0.483100V 0.484740V -12.1212ns 0.473350V 0.484400V 0.484870V -12.3232ns 0.473780V 0.485630V 0.484990V -12.5253ns 0.474180V 0.486770V 0.485100V -12.7273ns 0.474560V 0.487850V 0.485200V -12.9293ns 0.474910V 0.488850V 0.485290V -13.1313ns 0.475230V 0.489800V 0.485370V -13.3333ns 0.475530V 0.490690V 0.485440V -13.5354ns 0.475810V 0.491530V 0.485510V -13.7374ns 0.476080V 0.492300V 0.485570V -13.9394ns 0.476320V 0.493040V 0.485630V -14.1414ns 0.476550V 0.493730V 0.485680V -14.3434ns 0.476760V 0.494380V 0.485730V -14.5455ns 0.476960V 0.494980V 0.485780V -14.7475ns 0.477140V 0.495550V 0.485810V -14.9495ns 0.477310V 0.496080V 0.485850V -15.1515ns 0.477470V 0.496580V 0.485880V -15.3535ns 0.477620V 0.497050V 0.485920V -15.5556ns 0.477760V 0.497490V 0.485940V -15.7576ns 0.477880V 0.497900V 0.485970V -15.9596ns 0.478000V 0.498290V 0.485990V -16.1616ns 0.478110V 0.498650V 0.486010V -16.3636ns 0.478220V 0.499000V 0.486030V -16.5657ns 0.478310V 0.499300V 0.486050V -16.7677ns 0.478400V 0.499590V 0.486070V -16.9697ns 0.478480V 0.499870V 0.486080V -17.1717ns 0.478560V 0.500150V 0.486100V -17.3737ns 0.478630V 0.500410V 0.486110V -17.5758ns 0.478700V 0.500640V 0.486120V -17.7778ns 0.478760V 0.500850V 0.486130V -17.9798ns 0.478820V 0.501040V 0.486140V -18.1818ns 0.478870V 0.501230V 0.486150V -18.3838ns 0.478920V 0.501420V 0.486160V -18.5859ns 0.478970V 0.501600V 0.486160V -18.7879ns 0.479010V 0.501750V 0.486170V -18.9899ns 0.479050V 0.501890V 0.486170V -19.1919ns 0.479090V 0.502030V 0.486180V -19.3939ns 0.479130V 0.502160V 0.486190V -19.5960ns 0.479160V 0.502290V 0.486190V -19.7980ns 0.479190V 0.502400V 0.486190V -20.0000ns 0.479220V 0.502510V 0.486200V -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 0.479590V 0.504150V 0.486240V -0.2020ns 0.479620V 0.504110V 0.490470V -0.4040ns 0.474700V 0.515850V 0.339650V -0.6061ns 0.247410V 0.518820V 26.921000mV -0.8081ns 33.630000mV 0.443630V 3.148700mV -1.0101ns 5.280400mV 0.238780V 1.060300mV -1.2121ns 1.954600mV 78.283000mV 0.294910mV -1.4141ns 1.002900mV 15.120000mV 0.121950mV -1.6162ns 0.281790mV 5.205600mV 54.285000uV -1.8182ns 0.158200mV 2.668100mV 18.736000uV -2.0202ns 86.848000uV 1.413600mV -3.438700uV -2.2222ns 51.525000uV 0.962940mV -2.338900uV -2.4242ns 18.844000uV 0.395150mV -0.402350mV -2.6263ns 5.905300uV 0.211990mV -8.792700uV -2.8283ns 1.900600uV 0.117500mV -65.770000uV -3.0303ns -0.928100uV 94.558000uV -55.523000uV -3.2323ns 1.519900uV 57.044000uV -52.135000uV -3.4343ns 91.150000uV 30.103000uV -44.758000uV -3.6364ns -33.181000uV 19.965000uV -45.346000uV -3.8384ns -61.875000uV 10.378000uV -43.013000uV -4.0404ns -55.678000uV 5.470400uV -40.659000uV -4.2424ns -56.185000uV 2.225700uV -38.424000uV -4.4444ns -54.079000uV 0.339030uV -36.424000uV -4.6465ns -49.722000uV 42.294000nV -34.475000uV -4.8485ns -47.356000uV -67.623000uV -32.629000uV -5.0505ns -45.017000uV 0.334260mV -30.892000uV -5.2525ns -42.772000uV 24.321000uV -29.369000uV -5.4545ns -40.550000uV -57.294000uV -27.879000uV -5.6566ns -38.605000uV -81.026000uV -26.455000uV -5.8586ns -36.728000uV -83.374000uV -25.106000uV -6.0606ns -34.884000uV -73.915000uV -23.906000uV -6.2626ns -33.048000uV -70.059000uV -22.718000uV -6.4646ns -31.513000uV -66.837000uV -21.555000uV -6.6667ns -30.051000uV -63.741000uV -20.455000uV -6.8687ns -28.580000uV -60.682000uV -19.480000uV -7.0707ns -27.108000uV -57.943000uV -18.510000uV -7.2727ns -25.888000uV -55.297000uV -17.548000uV -7.4747ns -24.730000uV -52.722000uV -16.641000uV -7.6768ns -23.520000uV -50.167000uV -15.845000uV -7.8788ns -22.298000uV -47.891000uV -15.046000uV -8.0808ns -21.294000uV -45.695000uV -14.242000uV -8.2828ns -20.344000uV -43.550000uV -13.487000uV -8.4848ns -19.327000uV -41.420000uV -12.832000uV -8.6869ns -18.294000uV -39.563000uV -12.169000uV -8.8889ns -17.459000uV -37.784000uV -11.491000uV -9.0909ns -16.672000uV -36.017000uV -10.860000uV -9.2929ns -15.813000uV -34.253000uV -10.318000uV -9.4949ns -14.935000uV -32.736000uV -9.766400uV -9.6970ns -14.237000uV -31.289000uV -9.192700uV -9.8990ns -13.584000uV -29.817000uV -8.661200uV -10.1010ns -12.478000uV -27.709000uV -7.982350uV -10.3030ns -11.518000uV -25.885000uV -7.262900uV -10.5051ns -10.975000uV -24.642000uV -6.813500uV -10.7071ns -10.351000uV -23.387000uV -6.441800uV -10.9091ns -9.707800uV -22.333000uV -6.054500uV -11.1111ns -9.217800uV -21.337000uV -5.636200uV -11.3131ns -8.765200uV -20.281000uV -5.254700uV -11.5152ns -8.231600uV -19.208000uV -4.946000uV -11.7172ns -7.678200uV -18.321000uV -4.620100uV -11.9192ns -7.266900uV -17.488000uV -4.260300uV -12.1212ns -6.890500uV -16.587000uV -3.935200uV -12.3232ns -6.432500uV -15.666000uV -3.678600uV -12.5253ns -5.954600uV -14.919000uV -3.403800uV -12.7273ns -5.609300uV -14.221000uV -3.092900uV -12.9293ns -5.296400uV -13.450000uV -2.814900uV -13.1313ns -4.902200uV -12.657000uV -2.601600uV -13.3333ns -4.488100uV -12.026000uV -2.369400uV -13.5354ns -4.198200uV -11.442000uV -2.099800uV -13.7374ns -3.938700uV -10.780000uV -1.861200uV -13.9394ns -3.598400uV -10.096000uV -1.684200uV -14.1414ns -3.238300uV -9.563600uV -1.487800uV -14.3434ns -2.995000uV -9.074900uV -1.252900uV -14.5455ns -2.780300uV -8.505800uV -1.047700uV -14.7475ns -2.485800uV -7.913400uV -0.901200uV -14.9495ns -2.171700uV -7.464100uV -0.734910uV -15.1515ns -1.967700uV -7.055800uV -0.529500uV -15.3535ns -1.790700uV -6.565500uV -0.352370uV -15.5556ns -1.535100uV -6.051500uV -0.231220uV -15.7576ns -1.260300uV -5.672300uV -90.901000nV -15.9596ns -1.089700uV -5.331900uV 87.337000nV -16.1616ns -0.944660uV -4.908600uV 0.238960uV -16.3636ns -0.722200uV -4.461500uV 0.337930uV -16.5657ns -0.480790uV -4.141700uV 0.456510uV -16.7677ns -0.338220uV -3.858700uV 0.613870uV -16.9697ns -0.219860uV -3.492600uV 0.746520uV -17.1717ns -26.846000nV -3.102500uV 0.830300uV -17.3737ns 0.184450uV -2.833200uV 0.932440uV -17.5758ns 0.301760uV -2.598700uV 1.070900uV -17.7778ns 0.396050uV -2.281300uV 1.185800uV -17.9798ns 0.563350uV -1.940200uV 1.253900uV -18.1818ns 0.748530uV -1.713800uV 1.340400uV -18.3838ns 0.849240uV -1.520500uV 1.463300uV -18.5859ns 0.929260uV -1.244900uV 1.563400uV -18.7879ns 1.076500uV -0.945630uV 1.618300uV -18.9899ns 1.240200uV -0.755480uV 1.685500uV -19.1919ns 1.323300uV -0.596720uV 1.777100uV -19.3939ns 1.386600uV -0.356900uV 1.868700uV -19.5960ns 1.516000uV -93.762000nV 1.960300uV -19.7980ns 1.661600uV 58.234000nV 2.029300uV -20.0000ns 1.679900uV 0.178250uV 2.053600uV -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 3.300000V 3.140000V 3.470000V -0.2020ns 3.299700V 3.140000V 3.468600V -0.4040ns 3.300900V 3.139100V 3.481500V -0.6061ns 3.273500V 3.140100V 3.087100V -0.8081ns 2.996200V 3.146300V 2.839700V -1.0101ns 2.788200V 3.080900V 2.749500V -1.2121ns 2.688900V 2.938500V 2.718000V -1.4141ns 2.644300V 2.755500V 2.708000V -1.6162ns 2.624600V 2.644100V 2.704400V -1.8182ns 2.616600V 2.580800V 2.704300V -2.0202ns 2.613600V 2.541800V 2.704600V -2.2222ns 2.612200V 2.522600V 2.705800V -2.4242ns 2.612400V 2.511700V 2.715900V -2.6263ns 2.613100V 2.506400V 2.750300V -2.8283ns 2.613800V 2.503800V 2.759900V -3.0303ns 2.614700V 2.502700V 2.769100V -3.2323ns 2.615500V 2.502100V 2.777600V -3.4343ns 2.621600V 2.502400V 2.785300V -3.6364ns 2.628100V 2.502800V 2.792600V -3.8384ns 2.632500V 2.503300V 2.799400V -4.0404ns 2.639100V 2.503900V 2.806100V -4.2424ns 2.645800V 2.504500V 2.812200V -4.4444ns 2.652000V 2.505100V 2.818200V -4.6465ns 2.658100V 2.505700V 2.823700V -4.8485ns 2.663800V 2.508100V 2.829100V -5.0505ns 2.669000V 2.489000V 2.834000V -5.2525ns 2.674300V 2.476800V 2.838800V -5.4545ns 2.679100V 2.477300V 2.843300V -5.6566ns 2.683900V 2.482300V 2.847700V -5.8586ns 2.688200V 2.488300V 2.851700V -6.0606ns 2.692500V 2.494500V 2.855700V -6.2626ns 2.696400V 2.500200V 2.859400V -6.4646ns 2.700300V 2.505800V 2.863000V -6.6667ns 2.703900V 2.511100V 2.866300V -6.8687ns 2.707400V 2.516200V 2.869600V -7.0707ns 2.710700V 2.521000V 2.872700V -7.2727ns 2.713900V 2.525700V 2.875700V -7.4747ns 2.716900V 2.530100V 2.878500V -7.6768ns 2.719800V 2.534400V 2.881200V -7.8788ns 2.722500V 2.538400V 2.883800V -8.0808ns 2.725200V 2.542300V 2.886300V -8.2828ns 2.727700V 2.545900V 2.888700V -8.4848ns 2.730200V 2.549500V 2.891000V -8.6869ns 2.732400V 2.552800V 2.893100V -8.8889ns 2.734700V 2.556100V 2.895300V -9.0909ns 2.736800V 2.559100V 2.897300V -9.2929ns 2.738800V 2.562100V 2.899200V -9.4949ns 2.740700V 2.564900V 2.901100V -9.6970ns 2.742600V 2.567700V 2.903000V -9.8990ns 2.744300V 2.570200V 2.904700V -10.1010ns 2.746850V 2.573900V 2.907350V -10.3030ns 2.749200V 2.577400V 2.909900V -10.5051ns 2.750700V 2.579600V 2.911600V -10.7071ns 2.752100V 2.581700V 2.913200V -10.9091ns 2.753400V 2.583700V 2.914800V -11.1111ns 2.754700V 2.585700V 2.916300V -11.3131ns 2.756000V 2.587500V 2.917800V -11.5152ns 2.757200V 2.589300V 2.919300V -11.7172ns 2.758300V 2.591000V 2.920700V -11.9192ns 2.759400V 2.592600V 2.922000V -12.1212ns 2.760400V 2.594200V 2.923300V -12.3232ns 2.761400V 2.595700V 2.924600V -12.5253ns 2.762300V 2.597100V 2.925800V -12.7273ns 2.763200V 2.598500V 2.927000V -12.9293ns 2.764000V 2.599800V 2.928100V -13.1313ns 2.764900V 2.601100V 2.929200V -13.3333ns 2.765600V 2.602300V 2.930200V -13.5354ns 2.766400V 2.603500V 2.931300V -13.7374ns 2.767100V 2.604600V 2.932200V -13.9394ns 2.767800V 2.605700V 2.933200V -14.1414ns 2.768400V 2.606800V 2.934100V -14.3434ns 2.769000V 2.607800V 2.935000V -14.5455ns 2.769600V 2.608700V 2.935800V -14.7475ns 2.770200V 2.609600V 2.936600V -14.9495ns 2.770700V 2.610500V 2.937400V -15.1515ns 2.771200V 2.611300V 2.938200V -15.3535ns 2.771700V 2.612100V 2.938900V -15.5556ns 2.772200V 2.612900V 2.939600V -15.7576ns 2.772600V 2.613600V 2.940300V -15.9596ns 2.773000V 2.614400V 2.941000V -16.1616ns 2.773400V 2.615000V 2.941600V -16.3636ns 2.773800V 2.615700V 2.942200V -16.5657ns 2.774100V 2.616300V 2.942800V -16.7677ns 2.774400V 2.616900V 2.943400V -16.9697ns 2.774700V 2.617500V 2.943900V -17.1717ns 2.775000V 2.618000V 2.944500V -17.3737ns 2.775300V 2.618600V 2.945000V -17.5758ns 2.775600V 2.619100V 2.945500V -17.7778ns 2.775800V 2.619500V 2.945900V -17.9798ns 2.776100V 2.620000V 2.946400V -18.1818ns 2.776300V 2.620400V 2.946900V -18.3838ns 2.776500V 2.620900V 2.947300V -18.5859ns 2.776700V 2.621300V 2.947700V -18.7879ns 2.776900V 2.621700V 2.948100V -18.9899ns 2.777100V 2.622000V 2.948500V -19.1919ns 2.777200V 2.622400V 2.948900V -19.3939ns 2.777400V 2.622700V 2.949300V -19.5960ns 2.777500V 2.623000V 2.949600V -19.7980ns 2.777700V 2.623300V 2.950000V -20.0000ns 2.777800V 2.623600V 2.950300V -| -| End [Model] lvc330f040aaaaaaaaio -|************************************************************************ -[Model] lvc330fxxxaaaaaaaain -Model_type Input -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.201000pA 1.415500nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.065000nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270400uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -| End [Model] lvc330fxxxaaaaaaaain -|************************************************************************ -[Model] lvc330fxxxbaaaaaaain -Model_type Input -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201050A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133030A - -1.38 -0.116640A -0.121710A -0.116640A - -1.30 -0.101410A -0.107420A -0.100700A - -1.22 -86.417000mA -93.409000mA -84.978000mA - -1.14 -71.666000mA -79.637000mA -69.556000mA - -1.06 -57.221000mA -66.146000mA -54.661000mA - -0.98 -43.217000mA -53.024000mA -40.890000mA - -0.90 -29.927000mA -40.408000mA -29.654000mA - -0.82 -17.982000mA -28.511000mA -21.115000mA - -0.74 -8.854400mA -17.682000mA -13.653000mA - -0.66 -3.663100mA -8.577600mA -7.237700mA - -0.58 -1.172200mA -2.564300mA -2.648300mA - -0.50 -0.318120mA -0.464400mA -0.594790mA - -0.42 -0.137880mA -0.131860mA -0.170510mA - -0.34 -0.109480mA -92.671000uA -0.122000mA - -0.26 -0.105780mA -87.760000uA -0.117970mA - -0.18 -0.105360mA -87.079000uA -0.117690mA - -0.10 -0.105300mA -86.972000uA -0.117660mA - -0.02 -0.105290mA -86.946000uA -0.117640mA - 0.06 -0.105270mA -86.931000uA -0.117630mA - 0.14 -0.105260mA -86.918000uA -0.117610mA - 0.22 -0.105240mA -86.905000uA -0.117600mA - 0.30 -0.105230mA -86.892000uA -0.117580mA - 0.38 -0.105220mA -86.878000uA -0.117560mA - 0.46 -0.105200mA -86.864000uA -0.117540mA - 0.54 -0.105180mA -86.849000uA -0.117530mA - 0.62 -0.105170mA -86.834000uA -0.117500mA - 0.70 -0.105150mA -86.818000uA -0.117480mA - 0.78 -0.105130mA -86.801000uA -0.117460mA - 0.86 -0.105110mA -86.783000uA -0.117420mA - 0.94 -0.105060mA -86.761000uA -0.117350mA - 1.02 -0.105000mA -86.718000uA -0.117250mA - 1.10 -0.104900mA -86.652000uA -0.117140mA - 1.18 -0.104790mA -86.563000uA -0.117010mA - 1.26 -0.104660mA -86.454000uA -0.116870mA - 1.34 -0.104520mA -86.328000uA -0.116710mA - 1.42 -0.104360mA -86.186000uA -0.116550mA - 1.50 -0.104190mA -86.027000uA -0.116380mA - 1.58 -0.104010mA -85.852000uA -0.116200mA - 1.66 -0.103810mA -85.660000uA -0.116010mA - 1.74 -0.103600mA -85.448000uA -0.115810mA - 1.82 -0.103380mA -85.214000uA -0.115600mA - 1.90 -0.103130mA -84.953000uA -0.115380mA - 1.98 -0.102860mA -84.659000uA -0.115140mA - 2.06 -0.102560mA -84.336000uA -0.114880mA - 2.14 -0.102230mA -83.988000uA -0.114600mA - 2.22 -0.101860mA -83.605000uA -0.114300mA - 2.30 -0.101430mA -83.172000uA -0.113960mA - 2.38 -0.100960mA -82.673000uA -0.113590mA - 2.46 -0.100430mA -82.088000uA -0.113170mA - 2.54 -99.809000uA -81.393000uA -0.112690mA - 2.62 -99.072000uA -80.257000uA -0.112130mA - 2.70 -98.172000uA -76.079000uA -0.111480mA - 2.78 -97.041000uA -68.566000uA -0.110710mA - 2.86 -94.411000uA -58.013000uA -0.109770mA - 2.94 -86.817000uA -44.639000uA -0.108560mA - 3.02 -74.531000uA -28.610000uA -0.106940mA - 3.10 -57.975000uA -10.054000uA -0.102590mA - 3.18 -37.471000uA 11.025000uA -91.172000uA - 3.26 -13.273000uA 34.949000uA -73.303000uA - 3.30 0.149480uA 48.450000uA -62.148000uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.925400uA 1.695300uA 2.182200uA - -3.26 1.907100uA 1.679500uA 2.161600uA - -3.22 1.889100uA 1.664000uA 2.141300uA - -3.18 1.871200uA 1.648600uA 2.121100uA - -3.14 1.853600uA 1.633400uA 2.101200uA - -3.10 1.836100uA 1.618400uA 2.081400uA - -3.06 1.818900uA 1.603500uA 2.061900uA - -3.02 1.801800uA 1.588800uA 2.042600uA - -2.98 1.785000uA 1.574200uA 2.023500uA - -2.94 1.768300uA 1.559800uA 2.004600uA - -2.90 1.751800uA 1.545600uA 1.985900uA - -2.86 1.735600uA 1.531500uA 1.967400uA - -2.82 1.719500uA 1.517600uA 1.949100uA - -2.78 1.703600uA 1.503800uA 1.931100uA - -2.74 1.687800uA 1.490200uA 1.913200uA - -2.70 1.672300uA 1.476700uA 1.895500uA - -2.66 1.657000uA 1.463400uA 1.878100uA - -2.62 1.641800uA 1.450200uA 1.860800uA - -2.58 1.626800uA 1.437200uA 1.843800uA - -2.54 1.612000uA 1.424300uA 1.827000uA - -2.50 1.597400uA 1.411500uA 1.810300uA - -2.46 1.582900uA 1.398900uA 1.793900uA - -2.42 1.568600uA 1.386500uA 1.777600uA - -2.38 1.554500uA 1.374100uA 1.761600uA - -2.34 1.540600uA 1.361900uA 1.745700uA - -2.30 1.526800uA 1.349900uA 1.730100uA - -2.26 1.513300uA 1.337900uA 1.714600uA - -2.22 1.499800uA 1.326100uA 1.699300uA - -2.18 1.486600uA 1.314500uA 1.684300uA - -2.14 1.473500uA 1.302900uA 1.669400uA - -2.10 1.460500uA 1.291500uA 1.654700uA - -2.06 1.447700uA 1.280200uA 1.640100uA - -2.02 1.435100uA 1.269000uA 1.625800uA - -1.98 1.422600uA 1.257900uA 1.611700uA - -1.94 1.410300uA 1.247000uA 1.597700uA - -1.90 1.398200uA 1.236200uA 1.583900uA - -1.86 1.386100uA 1.225500uA 1.570300uA - -1.82 1.374300uA 1.214800uA 1.556900uA - -1.78 1.362500uA 1.204400uA 1.543600uA - -1.74 1.351000uA 1.194000uA 1.530500uA - -1.70 1.339500uA 1.183700uA 1.517600uA - -1.66 1.328200uA 1.173500uA 1.504900uA - -1.62 1.317000uA 1.163400uA 1.492300uA - -1.58 1.306000uA 1.153500uA 1.479900uA - -1.54 1.295100uA 1.143600uA 1.467600uA - -1.50 1.284300uA 1.133800uA 1.455500uA - -1.46 1.273700uA 1.124100uA 1.443600uA - -1.42 1.263200uA 1.114500uA 1.431800uA - -1.38 1.252800uA 1.105000uA 1.420200uA - -1.34 1.242500uA 1.095600uA 1.408700uA - -1.30 1.232300uA 1.086200uA 1.397400uA - -1.26 1.222300uA 1.077000uA 1.386200uA - -1.22 1.212300uA 1.067800uA 1.375200uA - -1.18 1.202500uA 1.058700uA 1.364300uA - -1.14 1.192800uA 1.049700uA 1.353500uA - -1.10 1.183200uA 1.040800uA 1.342900uA - -1.06 1.173700uA 1.031900uA 1.332400uA - -1.02 1.164300uA 1.023100uA 1.322100uA - -0.98 1.154900uA 1.014400uA 1.311900uA - -0.94 1.145700uA 1.005700uA 1.301800uA - -0.90 1.136600uA 0.997110uA 1.291800uA - -0.86 1.127600uA 0.988570uA 1.281900uA - -0.82 1.118600uA 0.980090uA 1.272200uA - -0.78 1.109700uA 0.971680uA 1.262500uA - -0.74 1.100900uA 0.963320uA 1.253000uA - -0.70 1.092200uA 0.955010uA 1.243600uA - -0.66 1.083600uA 0.946770uA 1.234300uA - -0.62 1.075000uA 0.938590uA 1.225100uA - -0.58 1.066500uA 0.930470uA 1.215900uA - -0.54 1.058100uA 0.922430uA 1.206900uA - -0.50 1.049700uA 0.914500uA 1.198000uA - -0.46 1.041400uA 0.906750uA 1.189000uA - -0.42 1.033100uA 0.899340uA 1.180100uA - -0.38 1.024800uA 0.892740uA 1.171100uA - -0.34 1.020592uA 0.890363uA 1.166191uA - -0.30 1.020569uA 0.890343uA 1.166164uA - -0.26 1.020475uA 0.890261uA 1.166058uA - -0.22 1.020102uA 0.889935uA 1.165631uA - -0.18 1.018607uA 0.888631uA 1.163922uA - -0.14 1.012627uA 0.883414uA 1.157089uA - -0.10 0.988706uA 0.862546uA 1.129756uA - -0.06 0.893025uA 0.779074uA 1.020425uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -| End [Model] lvc330fxxxbaaaaaaain -|************************************************************************ -[Model] lvc330fxxxcaaaaaaain -Model_type Input -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447790A -0.471180A - -2.18 -0.421140A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201050A -0.209560A - -1.62 -0.174190A -0.174390A -0.177660A - -1.54 -0.150480A -0.153310A -0.151880A - -1.46 -0.132440A -0.136600A -0.133040A - -1.38 -0.116650A -0.121720A -0.116660A - -1.30 -0.101420A -0.107430A -0.100730A - -1.22 -86.431000mA -93.414000mA -85.016000mA - -1.14 -71.684000mA -79.643000mA -69.612000mA - -1.06 -57.245000mA -66.154000mA -54.753000mA - -0.98 -43.252000mA -53.034000mA -41.074000mA - -0.90 -29.984000mA -40.420000mA -30.037000mA - -0.82 -18.095000mA -28.529000mA -21.592000mA - -0.74 -9.103200mA -17.711000mA -14.139000mA - -0.66 -4.031300mA -8.632500mA -7.727000mA - -0.58 -1.542300mA -2.680900mA -3.137100mA - -0.50 -0.637910mA -0.641580mA -1.050200mA - -0.42 -0.382200mA -0.283040mA -0.537030mA - -0.34 -0.274320mA -0.191220mA -0.380580mA - -0.26 -0.195030mA -0.134430mA -0.271430mA - -0.18 -0.125260mA -86.198000uA -0.174070mA - -0.10 -63.603000uA -43.916000uA -87.706000uA - -0.02 -11.477000uA -8.053000uA -15.489000uA - 0.06 29.171000uA 20.579000uA 38.171000uA - 0.14 58.135000uA 42.109000uA 72.311000uA - 0.22 76.454000uA 57.027000uA 90.391000uA - 0.30 86.646000uA 66.282000uA 99.147000uA - 0.38 91.915000uA 71.334000uA 0.103720mA - 0.46 94.550000uA 73.863000uA 0.106370mA - 0.54 95.817000uA 75.185000uA 0.107930mA - 0.62 96.442000uA 75.976000uA 0.108770mA - 0.70 96.793000uA 76.516000uA 0.109190mA - 0.78 97.021000uA 76.923000uA 0.109410mA - 0.86 97.187000uA 77.250000uA 0.109550mA - 0.94 97.320000uA 77.526000uA 0.109650mA - 1.02 97.431000uA 77.766000uA 0.109720mA - 1.10 97.528000uA 77.982000uA 0.109790mA - 1.18 97.616000uA 78.178000uA 0.109850mA - 1.26 97.697000uA 78.360000uA 0.109900mA - 1.34 97.773000uA 78.530000uA 0.109950mA - 1.42 97.844000uA 78.691000uA 0.110000mA - 1.50 97.912000uA 78.844000uA 0.110050mA - 1.58 97.978000uA 78.991000uA 0.110090mA - 1.66 98.042000uA 79.132000uA 0.110130mA - 1.74 98.104000uA 79.268000uA 0.110170mA - 1.82 98.164000uA 79.399000uA 0.110220mA - 1.90 98.223000uA 79.526000uA 0.110260mA - 1.98 98.280000uA 79.648000uA 0.110300mA - 2.06 98.337000uA 79.768000uA 0.110330mA - 2.14 98.393000uA 79.890000uA 0.110370mA - 2.22 98.448000uA 80.015000uA 0.110410mA - 2.30 98.503000uA 80.140000uA 0.110450mA - 2.38 98.559000uA 80.265000uA 0.110490mA - 2.46 98.617000uA 80.391000uA 0.110530mA - 2.54 98.679000uA 80.518000uA 0.110570mA - 2.62 98.744000uA 80.648000uA 0.110620mA - 2.70 98.813000uA 80.782000uA 0.110670mA - 2.78 98.889000uA 80.922000uA 0.110720mA - 2.86 98.972000uA 81.070000uA 0.110780mA - 2.94 99.065000uA 81.227000uA 0.110850mA - 3.02 99.170000uA 81.396000uA 0.110930mA - 3.10 99.290000uA 81.580000uA 0.111020mA - 3.18 99.427000uA 81.843000uA 0.111120mA - 3.26 99.584000uA 82.507000uA 0.111250mA - 3.30 99.674000uA 83.566000uA 0.111320mA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 0.153710mA 0.132100mA 0.170160mA - -3.26 0.152730mA 0.131080mA 0.169210mA - -3.22 0.151750mA 0.130060mA 0.168250mA - -3.18 0.150760mA 0.129030mA 0.167280mA - -3.14 0.149760mA 0.128000mA 0.166290mA - -3.10 0.148750mA 0.126970mA 0.165290mA - -3.06 0.147740mA 0.125930mA 0.164280mA - -3.02 0.146720mA 0.124900mA 0.163270mA - -2.98 0.145700mA 0.123870mA 0.162240mA - -2.94 0.144670mA 0.122850mA 0.161210mA - -2.90 0.143640mA 0.121820mA 0.160170mA - -2.86 0.142610mA 0.120800mA 0.159120mA - -2.82 0.141580mA 0.119780mA 0.158070mA - -2.78 0.140550mA 0.118770mA 0.157010mA - -2.74 0.139520mA 0.117770mA 0.155950mA - -2.70 0.138490mA 0.116770mA 0.154890mA - -2.66 0.137460mA 0.115780mA 0.153830mA - -2.62 0.136440mA 0.114800mA 0.152760mA - -2.58 0.135420mA 0.113820mA 0.151700mA - -2.54 0.134410mA 0.112860mA 0.150630mA - -2.50 0.133400mA 0.111900mA 0.149570mA - -2.46 0.132400mA 0.110960mA 0.148510mA - -2.42 0.131410mA 0.110030mA 0.147460mA - -2.38 0.130420mA 0.109110mA 0.146410mA - -2.34 0.129450mA 0.108200mA 0.145370mA - -2.30 0.128490mA 0.107310mA 0.144330mA - -2.26 0.127530mA 0.106430mA 0.143310mA - -2.22 0.126590mA 0.105570mA 0.142290mA - -2.18 0.125660mA 0.104720mA 0.141280mA - -2.14 0.124750mA 0.103880mA 0.140280mA - -2.10 0.123850mA 0.103060mA 0.139300mA - -2.06 0.122960mA 0.102260mA 0.138330mA - -2.02 0.122090mA 0.101480mA 0.137370mA - -1.98 0.121230mA 0.100710mA 0.136420mA - -1.94 0.120390mA 99.955000uA 0.135490mA - -1.90 0.119560mA 99.221000uA 0.134580mA - -1.86 0.118760mA 98.504000uA 0.133680mA - -1.82 0.117970mA 97.804000uA 0.132800mA - -1.78 0.117200mA 97.123000uA 0.131940mA - -1.74 0.116440mA 96.459000uA 0.131090mA - -1.70 0.115710mA 95.814000uA 0.130260mA - -1.66 0.114990mA 95.186000uA 0.129460mA - -1.62 0.114300mA 94.577000uA 0.128670mA - -1.58 0.113620mA 93.985000uA 0.127900mA - -1.54 0.112960mA 93.412000uA 0.127150mA - -1.50 0.112320mA 92.857000uA 0.126420mA - -1.46 0.111700mA 92.319000uA 0.125710mA - -1.42 0.111100mA 91.799000uA 0.125030mA - -1.38 0.110520mA 91.297000uA 0.124360mA - -1.34 0.109960mA 90.812000uA 0.123710mA - -1.30 0.109420mA 90.344000uA 0.123090mA - -1.26 0.108900mA 89.893000uA 0.122490mA - -1.22 0.108400mA 89.459000uA 0.121900mA - -1.18 0.107910mA 89.041000uA 0.121340mA - -1.14 0.107450mA 88.639000uA 0.120800mA - -1.10 0.107000mA 88.253000uA 0.120280mA - -1.06 0.106570mA 87.883000uA 0.119780mA - -1.02 0.106160mA 87.527000uA 0.119300mA - -0.98 0.105760mA 87.187000uA 0.118840mA - -0.94 0.105390mA 86.861000uA 0.118400mA - -0.90 0.105030mA 86.548000uA 0.117980mA - -0.86 0.104690mA 86.250000uA 0.117580mA - -0.82 0.104360mA 85.965000uA 0.117190mA - -0.78 0.104050mA 85.693000uA 0.116830mA - -0.74 0.103750mA 85.433000uA 0.116480mA - -0.70 0.103470mA 85.185000uA 0.116150mA - -0.66 0.103200mA 84.949000uA 0.115830mA - -0.62 0.102950mA 84.724000uA 0.115540mA - -0.58 0.102710mA 84.509000uA 0.115260mA - -0.54 0.102490mA 84.306000uA 0.114990mA - -0.50 0.102270mA 84.112000uA 0.114740mA - -0.46 0.102070mA 83.927000uA 0.114500mA - -0.42 0.101880mA 83.752000uA 0.114280mA - -0.38 0.101700mA 83.587000uA 0.114070mA - -0.34 0.101620mA 83.508000uA 0.113960mA - -0.30 0.101620mA 83.508000uA 0.113960mA - -0.26 0.101620mA 83.508000uA 0.113960mA - -0.22 0.101620mA 83.508000uA 0.113960mA - -0.18 0.101620mA 83.508000uA 0.113750mA - -0.14 0.100460mA 82.918000uA 0.112450mA - -0.10 0.100030mA 82.241000uA 0.112040mA - -0.06 99.844000uA 81.938000uA 0.111870mA - -0.02 99.724000uA 81.761000uA 0.111750mA - 0.00 99.674000uA 81.693000uA 0.111690mA -| -| End [Model] lvc330fxxxcaaaaaaain -|************************************************************************ -[Model] lvc330s040aaaaaaaaio -Model_type I/O -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -Vmeas = 1.650000V -Cref = 0.0F -Rref = 1.000000M -Vref = 0.0V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[Pulldown] -|Voltage I(typ) I(min) I(max) -| - -3.30 -16.264620mA -12.195876mA -17.211942mA - -3.20 -16.206900mA -12.152073mA -17.150026mA - -3.10 -16.149180mA -12.108270mA -17.088110mA - -3.00 -16.091460mA -12.064467mA -17.026194mA - -2.90 -16.033740mA -12.020664mA -16.964278mA - -2.80 -15.976020mA -11.976862mA -16.902362mA - -2.70 -15.918300mA -11.933059mA -16.840446mA - -2.60 -15.860580mA -11.889256mA -16.778530mA - -2.50 -15.802860mA -11.845453mA -16.716614mA - -2.40 -15.745140mA -11.801650mA -16.654698mA - -2.30 -15.687420mA -11.757848mA -16.592782mA - -2.20 -15.629700mA -11.714045mA -16.530866mA - -2.10 -15.571980mA -11.670242mA -16.468950mA - -2.00 -15.514260mA -11.626439mA -16.407034mA - -1.90 -15.456540mA -11.582636mA -16.345118mA - -1.80 -15.398820mA -11.538834mA -16.283202mA - -1.70 -15.341100mA -11.495031mA -16.221286mA - -1.60 -15.283380mA -11.451228mA -16.159370mA - -1.50 -15.225660mA -11.407425mA -16.097454mA - -1.40 -15.167940mA -11.363622mA -16.035538mA - -1.30 -15.110220mA -11.319820mA -15.973622mA - -1.20 -15.052500mA -11.276017mA -15.911706mA - -1.10 -14.994780mA -11.232214mA -15.849790mA - -1.00 -14.937060mA -11.188411mA -15.787874mA - -0.90 -14.879340mA -11.144608mA -15.725958mA - -0.80 -14.821620mA -11.100806mA -15.634000mA - -0.70 -14.763900mA -11.057003mA -15.389000mA - -0.60 -14.121200mA -11.013200mA -15.085900mA - -0.50 -12.312470mA -10.252860mA -13.892750mA - -0.40 -9.922051mA -8.353886mA -11.397898mA - -0.30 -7.415846mA -6.279285mA -8.571802mA - -0.20 -4.904405mA -4.183585mA -5.687248mA - -0.10 -2.422592mA -2.084866mA -2.809391mA - 0.00 9.270000nA 8.640000nA 10.950000nA - 0.10 2.215985mA 1.960397mA 2.507890mA - 0.20 4.086375mA 3.683686mA 4.498680mA - 0.30 5.594166mA 5.150675mA 5.952471mA - 0.40 6.738256mA 6.352364mA 6.929962mA - 0.50 7.557146mA 7.289853mA 7.572152mA - 0.60 8.124436mA 7.983242mA 8.013343mA - 0.70 8.511126mA 8.476831mA 8.337834mA - 0.80 8.778316mA 8.826620mA 8.591424mA - 0.90 8.972606mA 9.080609mA 8.798515mA - 1.00 9.121395mA 9.272098mA 8.969206mA - 1.10 9.240584mA 9.422087mA 9.101296mA - 1.20 9.339574mA 9.543476mA 9.202186mA - 1.30 9.424063mA 9.644765mA 9.285275mA - 1.40 9.498053mA 9.731354mA 9.357665mA - 1.50 9.564242mA 9.806743mA 9.423455mA - 1.60 9.625232mA 9.873832mA 9.485944mA - 1.70 9.684621mA 9.934821mA 9.548134mA - 1.80 9.747011mA 9.992810mA 9.610224mA - 1.90 9.814800mA 10.052999mA 9.670813mA - 2.00 9.885689mA 10.122988mA 9.728603mA - 2.10 9.955379mA 10.203977mA 9.783293mA - 2.20 10.021968mA 10.292966mA 9.835282mA - 2.30 10.083958mA 10.380954mA 9.884972mA - 2.40 10.141947mA 10.464943mA 9.932861mA - 2.50 10.196936mA 10.542932mA 9.979551mA - 2.60 10.249926mA 10.614921mA 10.025941mA - 2.70 10.300915mA 10.681910mA 10.071930mA - 2.80 10.350904mA 10.744899mA 10.118920mA - 2.90 10.400894mA 10.805888mA 10.167909mA - 3.00 10.451883mA 10.863877mA 10.218899mA - 3.10 10.504872mA 10.921864mA 10.273889mA - 3.20 10.559862mA 10.978747mA 10.332878mA - 3.30 10.618848mA 11.037379mA 10.397868mA - 3.40 10.682725mA 11.085335mA 10.469857mA - 3.50 10.751986mA 11.124616mA 10.550843mA - 3.60 10.804292mA 11.163898mA 10.640599mA - 3.70 10.840604mA 11.203179mA 10.738212mA - 3.80 10.876916mA 11.242461mA 10.773505mA - 3.90 10.913228mA 11.281743mA 10.808797mA - 4.00 10.949540mA 11.321024mA 10.844090mA - 4.10 10.985852mA 11.360306mA 10.879382mA - 4.20 11.022164mA 11.399587mA 10.914675mA - 4.30 11.058476mA 11.438869mA 10.949967mA - 4.40 11.094788mA 11.478151mA 10.985259mA - 4.50 11.131100mA 11.517432mA 11.020552mA - 4.60 11.167412mA 11.556714mA 11.055844mA - 4.70 11.203724mA 11.595995mA 11.091137mA - 4.80 11.240036mA 11.635277mA 11.126429mA - 4.90 11.276348mA 11.674559mA 11.161721mA - 5.00 11.312660mA 11.713840mA 11.197014mA - 5.10 11.348972mA 11.753122mA 11.232306mA - 5.20 11.385284mA 11.792403mA 11.267599mA - 5.30 11.421596mA 11.831685mA 11.302891mA - 5.40 11.457908mA 11.870967mA 11.338183mA - 5.50 11.494220mA 11.910248mA 11.373476mA - 5.60 11.530532mA 11.949530mA 11.408768mA - 5.70 11.566844mA 11.988811mA 11.444061mA - 5.80 11.603156mA 12.028093mA 11.479353mA - 5.90 11.639468mA 12.067375mA 11.514645mA - 6.00 11.675780mA 12.106656mA 11.549938mA - 6.10 11.712092mA 12.145938mA 11.585230mA - 6.20 11.748404mA 12.185219mA 11.620523mA - 6.30 11.784716mA 12.224501mA 11.655815mA - 6.40 11.821028mA 12.263783mA 11.691107mA - 6.50 11.857340mA 12.303064mA 11.726400mA - 6.60 11.893652mA 12.342346mA 11.761692mA -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 6.260163mA 5.384933mA 7.315403mA - -3.20 6.239699mA 5.366401mA 7.291487mA - -3.10 6.219236mA 5.347870mA 7.267570mA - -3.00 6.198773mA 5.329339mA 7.243653mA - -2.90 6.178310mA 5.310808mA 7.219736mA - -2.80 6.157847mA 5.292277mA 7.195819mA - -2.70 6.137383mA 5.273745mA 7.171903mA - -2.60 6.116920mA 5.255214mA 7.147986mA - -2.50 6.096457mA 5.236683mA 7.124069mA - -2.40 6.075994mA 5.218152mA 7.100152mA - -2.30 6.055531mA 5.199621mA 7.076235mA - -2.20 6.035067mA 5.181089mA 7.052319mA - -2.10 6.014604mA 5.162558mA 7.028402mA - -2.00 5.994141mA 5.144027mA 7.004485mA - -1.90 5.973678mA 5.125496mA 6.980568mA - -1.80 5.953215mA 5.106965mA 6.956651mA - -1.70 5.932751mA 5.088433mA 6.932735mA - -1.60 5.912288mA 5.069902mA 6.908818mA - -1.50 5.891825mA 5.051371mA 6.884901mA - -1.40 5.871362mA 5.032840mA 6.860984mA - -1.30 5.850899mA 5.014309mA 6.837067mA - -1.20 5.830435mA 4.995777mA 6.813151mA - -1.10 5.809972mA 4.977246mA 6.789234mA - -1.00 5.789509mA 4.958715mA 6.765317mA - -0.90 5.769046mA 4.940184mA 6.741400mA - -0.80 5.748583mA 4.921653mA 6.717483mA - -0.70 5.728119mA 4.903121mA 6.693567mA - -0.60 5.707656mA 4.884590mA 6.669650mA - -0.50 5.687193mA 4.866059mA 6.645733mA - -0.40 5.666730mA 4.847528mA 6.621816mA - -0.30 5.646267mA 4.828997mA 6.597899mA - -0.20 4.435786mA 3.802115mA 5.174820mA - -0.10 2.131925mA 1.838548mA 2.475669mA - 0.00 -6.170000nA -5.460000nA -7.060000nA - 0.10 -1.893038mA -1.673728mA -2.145840mA - 0.20 -3.512428mA -3.164516mA -3.900829mA - 0.30 -4.854717mA -4.471005mA -5.257719mA - 0.40 -5.916606mA -5.591894mA -6.209108mA - 0.50 -6.694696mA -6.525883mA -6.765898mA - 0.60 -7.186085mA -7.271372mA -7.127487mA - 0.70 -7.501974mA -7.827161mA -7.398777mA - 0.80 -7.747264mA -8.192150mA -7.614967mA - 0.90 -7.946053mA -8.442739mA -7.794856mA - 1.00 -8.112642mA -8.647928mA -7.949846mA - 1.10 -8.255932mA -8.820317mA -8.086935mA - 1.20 -8.381921mA -8.968206mA -8.210725mA - 1.30 -8.494611mA -9.097295mA -8.324315mA - 1.40 -8.596900mA -9.211784mA -8.430004mA - 1.50 -8.691089mA -9.314673mA -8.529494mA - 1.60 -8.778479mA -9.407962mA -8.623884mA - 1.70 -8.860368mA -9.493551mA -8.714073mA - 1.80 -8.937858mA -9.572640mA -8.800963mA - 1.90 -9.011447mA -9.646329mA -8.884952mA - 2.00 -9.081837mA -9.715418mA -8.966642mA - 2.10 -9.149526mA -9.780507mA -9.046332mA - 2.20 -9.214816mA -9.842296mA -9.124421mA - 2.30 -9.278305mA -9.901185mA -9.201211mA - 2.40 -9.340094mA -9.957574mA -9.277001mA - 2.50 -9.400784mA -10.011863mA -9.352391mA - 2.60 -9.460574mA -10.063852mA -9.427582mA - 2.70 -9.519964mA -10.115841mA -9.503173mA - 2.80 -9.579454mA -10.165830mA -9.579563mA - 2.90 -9.639644mA -10.215819mA -9.657654mA - 3.00 -9.701034mA -10.264808mA -9.737845mA - 3.10 -9.764525mA -10.315796mA -9.821135mA - 3.20 -9.830715mA -10.367780mA -9.908326mA - 3.30 -9.900606mA -10.421706mA -10.000817mA - 3.40 -9.975092mA -10.478956mA -10.098808mA - 3.50 -10.055705mA -10.535873mA -10.202798mA - 3.60 -10.141346mA -10.578599mA -10.316786mA - 3.70 -10.228551mA -10.620789mA -10.438679mA - 3.80 -10.281620mA -10.662980mA -10.570555mA - 3.90 -10.322662mA -10.705170mA -10.682977mA - 4.00 -10.363704mA -10.747360mA -10.725640mA - 4.10 -10.404746mA -10.789550mA -10.768303mA - 4.20 -10.445787mA -10.831741mA -10.810966mA - 4.30 -10.486829mA -10.873931mA -10.853629mA - 4.40 -10.527871mA -10.916121mA -10.896292mA - 4.50 -10.568913mA -10.958311mA -10.938955mA - 4.60 -10.609955mA -11.000502mA -10.981618mA - 4.70 -10.650997mA -11.042692mA -11.024281mA - 4.80 -10.692039mA -11.084882mA -11.066944mA - 4.90 -10.733081mA -11.127072mA -11.109607mA - 5.00 -10.774122mA -11.169262mA -11.152270mA - 5.10 -10.815164mA -11.211453mA -11.194933mA - 5.20 -10.856206mA -11.253643mA -11.237597mA - 5.30 -10.897248mA -11.295833mA -11.280260mA - 5.40 -10.938290mA -11.338023mA -11.322923mA - 5.50 -10.979332mA -11.380214mA -11.365586mA - 5.60 -11.020374mA -11.422404mA -11.408249mA - 5.70 -11.061416mA -11.464594mA -11.450912mA - 5.80 -11.102458mA -11.506784mA -11.493575mA - 5.90 -11.143499mA -11.548975mA -11.536238mA - 6.00 -11.184541mA -11.591165mA -11.578901mA - 6.10 -11.225583mA -11.633355mA -11.621564mA - 6.20 -11.266625mA -11.675545mA -11.664227mA - 6.30 -11.307667mA -11.717736mA -11.706890mA - 6.40 -11.348709mA -11.759926mA -11.749553mA - 6.50 -11.389751mA -11.802116mA -11.792216mA - 6.55 -11.410272mA -11.823211mA -11.813548mA -| -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.201000pA 1.415400nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.065000nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270400uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -[Ramp] -| variable typ min max -dV/dt_r 0.287457/0.467122n 0.301305/0.700268n 0.291706/0.349090n -dV/dt_f 0.309900/0.449885n 0.304680/0.837003n 0.308100/0.266290n -R_load = 50.000000 -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 2.782900V 2.609000V 2.960100V -0.2020ns 2.783000V 2.608900V 2.962600V -0.4040ns 2.788300V 2.610900V 3.086900V -0.6061ns 3.016200V 2.611900V 3.417200V -0.8081ns 3.244000V 2.678900V 3.463300V -1.0101ns 3.291900V 2.961800V 3.467200V -1.2121ns 3.295700V 3.102900V 3.468900V -1.4141ns 3.297500V 3.120100V 3.469600V -1.6162ns 3.298700V 3.136000V 3.469800V -1.8182ns 3.299500V 3.136600V 3.469900V -2.0202ns 3.299700V 3.137000V 3.469900V -2.2222ns 3.299800V 3.138000V 3.469900V -2.4242ns 3.299900V 3.138900V 3.469200V -2.6263ns 3.299900V 3.139400V 3.471100V -2.8283ns 3.299900V 3.139700V 3.470500V -3.0303ns 3.299900V 3.139800V 3.470100V -3.2323ns 3.299900V 3.139800V 3.470000V -3.4343ns 3.300600V 3.139900V 3.470000V -3.6364ns 3.301100V 3.139900V 3.470000V -3.8384ns 3.300500V 3.139900V 3.470000V -4.0404ns 3.300200V 3.139900V 3.470000V -4.2424ns 3.300000V 3.139900V 3.470000V -4.4444ns 3.300000V 3.139900V 3.470000V -4.6465ns 3.300000V 3.139900V 3.470000V -4.8485ns 3.300000V 3.140000V 3.469900V -5.0505ns 3.300000V 3.140800V 3.469900V -5.2525ns 3.300000V 3.141300V 3.469900V -5.4545ns 3.299900V 3.140700V 3.469900V -5.6566ns 3.299900V 3.140400V 3.469900V -5.8586ns 3.299900V 3.140200V 3.469900V -6.0606ns 3.299900V 3.140000V 3.469900V -6.2626ns 3.299900V 3.140000V 3.469900V -6.4646ns 3.299900V 3.140000V 3.469900V -6.6667ns 3.299900V 3.140000V 3.469900V -6.8687ns 3.299900V 3.140000V 3.469900V -7.0707ns 3.299900V 3.139900V 3.469900V -7.2727ns 3.299900V 3.139900V 3.470000V -7.4747ns 3.299900V 3.139900V 3.470000V -7.6768ns 3.299900V 3.139900V 3.470000V -7.8788ns 3.299900V 3.139900V 3.470000V -8.0808ns 3.299900V 3.139900V 3.470000V -8.2828ns 3.299900V 3.139900V 3.470000V -8.4848ns 3.299900V 3.139900V 3.470000V -8.6869ns 3.299900V 3.139900V 3.470000V -8.8889ns 3.299900V 3.139800V 3.470000V -9.0909ns 3.299900V 3.139800V 3.470000V -9.2929ns 3.299900V 3.139900V 3.470000V -9.4949ns 3.299900V 3.139900V 3.470000V -9.6970ns 3.299900V 3.139900V 3.470000V -9.8990ns 3.300000V 3.139900V 3.470000V -10.1010ns 3.300000V 3.139900V 3.470000V -10.3030ns 3.300000V 3.139900V 3.470000V -10.5051ns 3.300000V 3.139900V 3.470000V -10.7071ns 3.300000V 3.139900V 3.470000V -10.9091ns 3.300000V 3.139900V 3.470000V -11.1111ns 3.300000V 3.139900V 3.470000V -11.3131ns 3.300000V 3.139900V 3.470000V -11.5152ns 3.300000V 3.139900V 3.470000V -11.7172ns 3.300000V 3.139900V 3.470000V -11.9192ns 3.300000V 3.139900V 3.470000V -12.1212ns 3.300000V 3.139900V 3.470000V -12.3232ns 3.300000V 3.139900V 3.470000V -12.5253ns 3.300000V 3.139900V 3.470000V -12.7273ns 3.300000V 3.139900V 3.470000V -12.9293ns 3.300000V 3.139900V 3.470000V -13.1313ns 3.300000V 3.139900V 3.470000V -13.3333ns 3.300000V 3.139900V 3.470000V -13.5354ns 3.300000V 3.140000V 3.470000V -13.7374ns 3.300000V 3.140000V 3.470000V -13.9394ns 3.300000V 3.140000V 3.470000V -14.1414ns 3.300000V 3.140000V 3.470000V -14.3434ns 3.300000V 3.140000V 3.470000V -14.5455ns 3.300000V 3.140000V 3.470000V -14.7475ns 3.300000V 3.140000V 3.470000V -14.9495ns 3.300000V 3.140000V 3.470000V -15.1515ns 3.300000V 3.140000V 3.470000V -15.3535ns 3.300000V 3.140000V 3.470000V -15.5556ns 3.300000V 3.140000V 3.470000V -15.7576ns 3.300000V 3.140000V 3.470000V -15.9596ns 3.300000V 3.140000V 3.470000V -16.1616ns 3.300000V 3.140000V 3.470000V -16.3636ns 3.300000V 3.140000V 3.470000V -16.5657ns 3.300000V 3.140000V 3.470000V -16.7677ns 3.300000V 3.140000V 3.470000V -16.9697ns 3.300000V 3.140000V 3.470000V -17.1717ns 3.300000V 3.140000V 3.470000V -17.3737ns 3.300000V 3.140000V 3.470000V -17.5758ns 3.300000V 3.140000V 3.470000V -17.7778ns 3.300000V 3.140000V 3.470000V -17.9798ns 3.300000V 3.140000V 3.470000V -18.1818ns 3.300000V 3.140000V 3.470000V -18.3838ns 3.300000V 3.140000V 3.470000V -18.5859ns 3.300000V 3.140000V 3.470000V -18.7879ns 3.300000V 3.140000V 3.470000V -18.9899ns 3.300000V 3.140000V 3.470000V -19.1919ns 3.300000V 3.140000V 3.470000V -19.3939ns 3.300000V 3.140000V 3.470000V -19.5960ns 3.300000V 3.140000V 3.470000V -19.7980ns 3.300000V 3.140000V 3.470000V -20.0000ns 3.300000V 3.140000V 3.470000V -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 4.225900uV 4.920300uV 3.956100uV -0.2020ns -0.116230mV 2.501000uV -0.231630mV -0.4040ns -1.733400mV 5.664000uV -6.571900mV -0.6061ns 1.816900mV -0.405040mV 0.151930V -0.8081ns 0.105890V -6.434700mV 0.334290V -1.0101ns 0.246820V 13.033000mV 0.470790V -1.2121ns 0.360950V 89.173000mV 0.542490V -1.4141ns 0.454430V 0.176030V 0.572640V -1.6162ns 0.508590V 0.271450V 0.582550V -1.8182ns 0.534420V 0.353570V 0.588040V -2.0202ns 0.543170V 0.429910V 0.588930V -2.2222ns 0.549780V 0.484400V 0.588840V -2.4242ns 0.550820V 0.517300V 0.590870V -2.6263ns 0.551300V 0.536250V 0.553540V -2.8283ns 0.551520V 0.543010V 0.497470V -3.0303ns 0.551620V 0.548720V 0.468060V -3.2323ns 0.551660V 0.549820V 0.453000V -3.4343ns 0.558640V 0.550520V 0.446500V -3.6364ns 0.508640V 0.550950V 0.442330V -3.8384ns 0.463860V 0.551240V 0.440380V -4.0404ns 0.438900V 0.551370V 0.438930V -4.2424ns 0.425590V 0.551450V 0.438730V -4.4444ns 0.417880V 0.551520V 0.438850V -4.6465ns 0.413990V 0.551560V 0.439830V -4.8485ns 0.411950V 0.551690V 0.441070V -5.0505ns 0.411060V 0.558950V 0.443300V -5.2525ns 0.410360V 0.519020V 0.446000V -5.4545ns 0.410640V 0.480460V 0.448850V -5.6566ns 0.411100V 0.455460V 0.451660V -5.8586ns 0.412570V 0.440580V 0.454380V -6.0606ns 0.414210V 0.430510V 0.456880V -6.2626ns 0.416980V 0.426080V 0.459280V -6.4646ns 0.420210V 0.423650V 0.461440V -6.6667ns 0.423660V 0.422350V 0.463510V -6.8687ns 0.426990V 0.421790V 0.465350V -7.0707ns 0.430100V 0.421350V 0.467110V -7.2727ns 0.433090V 0.421520V 0.468670V -7.4747ns 0.435900V 0.421800V 0.470160V -7.6768ns 0.438640V 0.422560V 0.471470V -7.8788ns 0.441270V 0.423400V 0.472730V -8.0808ns 0.443800V 0.425080V 0.473840V -8.2828ns 0.446130V 0.426920V 0.474900V -8.4848ns 0.448370V 0.429830V 0.475830V -8.6869ns 0.450420V 0.433230V 0.476730V -8.8889ns 0.452380V 0.436930V 0.477510V -9.0909ns 0.454180V 0.440610V 0.478270V -9.2929ns 0.455900V 0.444280V 0.478930V -9.4949ns 0.457470V 0.447610V 0.479560V -9.6970ns 0.458970V 0.450880V 0.480120V -9.8990ns 0.460340V 0.453950V 0.480650V -10.1010ns 0.462260V 0.458380V 0.481335V -10.3030ns 0.464000V 0.462500V 0.481950V -10.5051ns 0.465050V 0.464970V 0.482320V -10.7071ns 0.466050V 0.467390V 0.482650V -10.9091ns 0.466960V 0.469580V 0.482960V -11.1111ns 0.467830V 0.471720V 0.483240V -11.3131ns 0.468630V 0.473660V 0.483500V -11.5152ns 0.469380V 0.475550V 0.483730V -11.7172ns 0.470080V 0.477260V 0.483950V -11.9192ns 0.470740V 0.478940V 0.484140V -12.1212ns 0.471340V 0.480450V 0.484330V -12.3232ns 0.471910V 0.481930V 0.484490V -12.5253ns 0.472440V 0.483270V 0.484640V -12.7273ns 0.472930V 0.484580V 0.484780V -12.9293ns 0.473390V 0.485750V 0.484900V -13.1313ns 0.473820V 0.486910V 0.485020V -13.3333ns 0.474220V 0.487950V 0.485120V -13.5354ns 0.474590V 0.488970V 0.485220V -13.7374ns 0.474940V 0.489880V 0.485310V -13.9394ns 0.475260V 0.490780V 0.485390V -14.1414ns 0.475560V 0.491590V 0.485460V -14.3434ns 0.475840V 0.492380V 0.485530V -14.5455ns 0.476100V 0.493090V 0.485590V -14.7475ns 0.476340V 0.493790V 0.485640V -14.9495ns 0.476570V 0.494420V 0.485700V -15.1515ns 0.476780V 0.495030V 0.485740V -15.3535ns 0.476970V 0.495580V 0.485790V -15.5556ns 0.477160V 0.496120V 0.485820V -15.7576ns 0.477330V 0.496610V 0.485860V -15.9596ns 0.477490V 0.497090V 0.485890V -16.1616ns 0.477630V 0.497510V 0.485920V -16.3636ns 0.477770V 0.497930V 0.485950V -16.5657ns 0.477890V 0.498290V 0.485980V -16.7677ns 0.478010V 0.498640V 0.486000V -16.9697ns 0.478120V 0.498990V 0.486020V -17.1717ns 0.478230V 0.499340V 0.486040V -17.3737ns 0.478320V 0.499630V 0.486060V -17.5758ns 0.478410V 0.499920V 0.486070V -17.7778ns 0.478490V 0.500160V 0.486090V -17.9798ns 0.478570V 0.500400V 0.486100V -18.1818ns 0.478640V 0.500630V 0.486110V -18.3838ns 0.478710V 0.500870V 0.486120V -18.5859ns 0.478770V 0.501070V 0.486130V -18.7879ns 0.478830V 0.501260V 0.486140V -18.9899ns 0.478880V 0.501430V 0.486150V -19.1919ns 0.478930V 0.501590V 0.486160V -19.3939ns 0.478980V 0.501750V 0.486170V -19.5960ns 0.479020V 0.501910V 0.486170V -19.7980ns 0.479060V 0.502040V 0.486180V -20.0000ns 0.479100V 0.502180V 0.486180V -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 0.479590V 0.504150V 0.486240V -0.2020ns 0.479620V 0.504110V 0.490470V -0.4040ns 0.474660V 0.515850V 0.338690V -0.6061ns 0.260970V 0.518810V 49.227000mV -0.8081ns 57.693000mV 0.442430V 5.358900mV -1.0101ns 10.006000mV 0.270560V 1.610600mV -1.2121ns 3.219300mV 0.116620V 0.420340mV -1.4141ns 1.539600mV 28.455000mV 0.168590mV -1.6162ns 0.544500mV 9.235500mV 63.243000uV -1.8182ns 0.242750mV 4.555900mV 28.107000uV -2.0202ns 0.152510mV 2.530000mV 3.232400uV -2.2222ns 71.354000uV 1.674500mV 0.754660uV -2.4242ns 30.528000uV 0.925740mV -0.544570mV -2.6263ns 17.219000uV 0.496800mV -0.223670mV -2.8283ns 7.642900uV 0.286310mV -18.013000uV -3.0303ns 2.754100uV 0.206810mV -16.664000uV -3.2323ns 3.719000uV 0.129010mV -14.948000uV -3.4343ns -0.126320mV 73.076000uV -9.356000uV -3.6364ns -0.242850mV 44.601000uV -11.098000uV -3.8384ns -32.574000uV 27.309000uV -9.946200uV -4.0404ns 3.566200uV 14.959000uV -9.483100uV -4.2424ns -5.306100uV 8.251900uV -8.932600uV -4.4444ns -13.750000uV 4.915800uV -8.381600uV -4.6465ns 10.940000uV 2.652800uV -7.820100uV -4.8485ns 18.035000uV -0.108180mV -7.265300uV -5.0505ns 2.807200uV 0.153640mV -6.819000uV -5.2525ns 2.502100uV -0.230170mV -6.373400uV -5.4545ns 3.131600uV -97.756000uV -5.936700uV -5.6566ns 2.983900uV -12.193000uV -5.505100uV -5.8586ns 2.947300uV 25.147000uV -5.155800uV -6.0606ns 3.185500uV 13.918000uV -4.806500uV -6.2626ns 3.361600uV 13.732000uV -4.457800uV -6.4646ns 3.383800uV 15.275000uV -4.112200uV -6.6667ns 3.430500uV 14.174000uV -3.816000uV -6.8687ns 3.538200uV 13.495000uV -3.520100uV -7.0707ns 3.619900uV 13.582000uV -3.230000uV -7.2727ns 3.637500uV 13.501000uV -2.942000uV -7.4747ns 3.665100uV 13.116000uV -2.688300uV -7.6768ns 3.717300uV 12.820000uV -2.435300uV -7.8788ns 3.759700uV 12.684000uV -2.191800uV -8.0808ns 3.777800uV 12.528000uV -1.949700uV -8.2828ns 3.800700uV 12.338000uV -1.731900uV -8.4848ns 3.835100uV 12.144000uV -1.514700uV -8.6869ns 3.864700uV 11.942000uV -1.308300uV -8.8889ns 3.882800uV 11.757000uV -1.103000uV -9.0909ns 3.903100uV 11.601000uV -0.916190uV -9.2929ns 3.928900uV 11.419000uV -0.730020uV -9.4949ns 3.951900uV 11.189000uV -0.554530uV -9.6970ns 3.968200uV 10.989000uV -0.379920uV -9.8990ns 3.985700uV 10.842000uV -0.219880uV -10.1010ns 4.015950uV 10.553500uV 12.615000nV -10.3030ns 4.039500uV 10.248000uV 0.231740uV -10.5051ns 4.054400uV 10.116000uV 0.368100uV -10.7071ns 4.071500uV 9.956800uV 0.504010uV -10.9091ns 4.087100uV 9.748000uV 0.632480uV -11.1111ns 4.098800uV 9.573200uV 0.760290uV -11.3131ns 4.111100uV 9.460300uV 0.877400uV -11.5152ns 4.125100uV 9.320800uV 0.994070uV -11.7172ns 4.137800uV 9.133200uV 1.103600uV -11.9192ns 4.147200uV 8.978700uV 1.212600uV -12.1212ns 4.157100uV 8.884300uV 1.313000uV -12.3232ns 4.168500uV 8.764100uV 1.413100uV -12.5253ns 4.178700uV 8.597200uV 1.506700uV -12.7273ns 4.186000uV 8.456400uV 1.599900uV -12.9293ns 4.193900uV 8.362900uV 1.686000uV -13.1313ns 4.203100uV 8.269500uV 1.771700uV -13.3333ns 4.211200uV 8.176000uV 1.851800uV -13.5354ns 4.216800uV 8.065600uV 1.931600uV -13.7374ns 4.222900uV 7.924500uV 2.005300uV -13.9394ns 4.230300uV 7.808100uV 2.078800uV -14.1414ns 4.236700uV 7.736300uV 2.147500uV -14.3434ns 4.240800uV 7.664500uV 2.215800uV -14.5455ns 4.245400uV 7.592700uV 2.279000uV -14.7475ns 4.251200uV 7.503700uV 2.342000uV -14.9495ns 4.256200uV 7.383500uV 2.400800uV -15.1515ns 4.259000uV 7.286500uV 2.459400uV -15.3535ns 4.262400uV 7.231700uV 2.513600uV -15.5556ns 4.267000uV 7.176900uV 2.567700uV -15.7576ns 4.270800uV 7.122100uV 2.618100uV -15.9596ns 4.272600uV 7.049900uV 2.668300uV -16.1616ns 4.274900uV 6.946400uV 2.714800uV -16.3636ns 4.278400uV 6.865000uV 2.761200uV -16.5657ns 4.281200uV 6.823600uV 2.804400uV -16.7677ns 4.282300uV 6.782200uV 2.847500uV -16.9697ns 4.283800uV 6.740700uV 2.887400uV -17.1717ns 4.286400uV 6.682100uV 2.927100uV -17.3737ns 4.288400uV 6.592100uV 2.964200uV -17.5758ns 4.288700uV 6.523200uV 3.001200uV -17.7778ns 4.289500uV 6.492500uV 3.035400uV -17.9798ns 4.291500uV 6.461700uV 3.069500uV -18.1818ns 4.292800uV 6.430900uV 3.101400uV -18.3838ns 4.292600uV 6.383000uV 3.133100uV -18.5859ns 4.292900uV 6.304200uV 3.162500uV -18.7879ns 4.294300uV 6.245400uV 3.191700uV -18.9899ns 4.295100uV 6.223200uV 3.219100uV -19.1919ns 4.294400uV 6.200900uV 3.246200uV -19.3939ns 4.294300uV 6.178600uV 3.270600uV -19.5960ns 4.295200uV 6.139500uV 3.294900uV -19.7980ns 4.295400uV 6.069700uV 3.319200uV -20.0000ns 4.294000uV 6.076600uV 3.343600uV -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 3.300000V 3.140000V 3.470000V -0.2020ns 3.299700V 3.140000V 3.468600V -0.4040ns 3.300900V 3.139100V 3.483300V -0.6061ns 3.304400V 3.140100V 3.272000V -0.8081ns 3.179500V 3.145900V 3.030300V -1.0101ns 3.015400V 3.136300V 2.907000V -1.2121ns 2.895000V 3.095000V 2.856700V -1.4141ns 2.821600V 2.995500V 2.837500V -1.6162ns 2.781500V 2.910100V 2.829200V -1.8182ns 2.760300V 2.834600V 2.826700V -2.0202ns 2.751400V 2.769700V 2.825700V -2.2222ns 2.745500V 2.722000V 2.826100V -2.4242ns 2.743500V 2.688600V 2.830900V -2.6263ns 2.743000V 2.667400V 2.878100V -2.8283ns 2.742800V 2.654200V 2.895900V -3.0303ns 2.742900V 2.645000V 2.900000V -3.2323ns 2.743200V 2.639400V 2.902500V -3.4343ns 2.756300V 2.636600V 2.904500V -3.6364ns 2.776700V 2.635200V 2.906500V -3.8384ns 2.790100V 2.634000V 2.908200V -4.0404ns 2.792600V 2.633800V 2.909800V -4.2424ns 2.793100V 2.633700V 2.911300V -4.4444ns 2.793600V 2.633900V 2.912900V -4.6465ns 2.793500V 2.634100V 2.914200V -4.8485ns 2.793500V 2.636300V 2.915600V -5.0505ns 2.793500V 2.635700V 2.916900V -5.2525ns 2.793500V 2.642300V 2.918100V -5.4545ns 2.793500V 2.652700V 2.919300V -5.6566ns 2.793400V 2.656300V 2.920400V -5.8586ns 2.793400V 2.655900V 2.921400V -6.0606ns 2.793300V 2.655100V 2.922500V -6.2626ns 2.793200V 2.654600V 2.923500V -6.4646ns 2.793100V 2.654000V 2.924400V -6.6667ns 2.793000V 2.653400V 2.925300V -6.8687ns 2.792900V 2.652800V 2.926200V -7.0707ns 2.792800V 2.652200V 2.927100V -7.2727ns 2.792700V 2.651700V 2.928000V -7.4747ns 2.792600V 2.651100V 2.928900V -7.6768ns 2.792500V 2.650500V 2.929700V -7.8788ns 2.792300V 2.650000V 2.930600V -8.0808ns 2.792200V 2.649500V 2.931500V -8.2828ns 2.792100V 2.648900V 2.932300V -8.4848ns 2.791900V 2.648400V 2.933200V -8.6869ns 2.791800V 2.647900V 2.934100V -8.8889ns 2.791600V 2.647400V 2.935000V -9.0909ns 2.791500V 2.647000V 2.935800V -9.2929ns 2.791300V 2.646500V 2.936600V -9.4949ns 2.791200V 2.646000V 2.937400V -9.6970ns 2.791000V 2.645600V 2.938200V -9.8990ns 2.790900V 2.645100V 2.939000V -10.1010ns 2.790650V 2.644500V 2.940050V -10.3030ns 2.790400V 2.643900V 2.941100V -10.5051ns 2.790200V 2.643500V 2.941700V -10.7071ns 2.790100V 2.643100V 2.942400V -10.9091ns 2.789900V 2.642700V 2.943000V -11.1111ns 2.789700V 2.642400V 2.943600V -11.3131ns 2.789600V 2.642000V 2.944100V -11.5152ns 2.789400V 2.641600V 2.944700V -11.7172ns 2.789200V 2.641300V 2.945200V -11.9192ns 2.789100V 2.641000V 2.945700V -12.1212ns 2.788900V 2.640600V 2.946200V -12.3232ns 2.788700V 2.640300V 2.946700V -12.5253ns 2.788600V 2.640000V 2.947100V -12.7273ns 2.788400V 2.639700V 2.947600V -12.9293ns 2.788200V 2.639400V 2.948000V -13.1313ns 2.788000V 2.639100V 2.948400V -13.3333ns 2.787900V 2.638900V 2.948800V -13.5354ns 2.787700V 2.638600V 2.949200V -13.7374ns 2.787500V 2.638300V 2.949600V -13.9394ns 2.787400V 2.638000V 2.949900V -14.1414ns 2.787200V 2.637800V 2.950300V -14.3434ns 2.787000V 2.637500V 2.950600V -14.5455ns 2.786900V 2.637300V 2.950900V -14.7475ns 2.786700V 2.637100V 2.951200V -14.9495ns 2.786500V 2.636800V 2.951500V -15.1515ns 2.786400V 2.636600V 2.951800V -15.3535ns 2.786200V 2.636400V 2.952100V -15.5556ns 2.786100V 2.636100V 2.952400V -15.7576ns 2.785900V 2.635900V 2.952600V -15.9596ns 2.785800V 2.635700V 2.952900V -16.1616ns 2.785600V 2.635500V 2.953100V -16.3636ns 2.785500V 2.635300V 2.953400V -16.5657ns 2.785300V 2.635100V 2.953600V -16.7677ns 2.785200V 2.634900V 2.953800V -16.9697ns 2.785000V 2.634700V 2.954000V -17.1717ns 2.784900V 2.634500V 2.954200V -17.3737ns 2.784800V 2.634300V 2.954400V -17.5758ns 2.784600V 2.634200V 2.954600V -17.7778ns 2.784500V 2.634000V 2.954800V -17.9798ns 2.784400V 2.633800V 2.955000V -18.1818ns 2.784300V 2.633600V 2.955100V -18.3838ns 2.784200V 2.633500V 2.955300V -18.5859ns 2.784100V 2.633300V 2.955500V -18.7879ns 2.784000V 2.633100V 2.955600V -18.9899ns 2.783900V 2.633000V 2.955800V -19.1919ns 2.783800V 2.632800V 2.955900V -19.3939ns 2.783700V 2.632700V 2.956100V -19.5960ns 2.783600V 2.632500V 2.956200V -19.7980ns 2.783600V 2.632400V 2.956300V -20.0000ns 2.783500V 2.632200V 2.956500V -| -| End [Model] lvc330s040aaaaaaaaio -|************************************************************************ -[Model] lvc330s140aaaaaaaaio -Model_type I/O -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -Vmeas = 1.650000V -Cref = 0.0F -Rref = 1.000000M -Vref = 0.0V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[Pulldown] -|Voltage I(typ) I(min) I(max) -| - -3.30 -50.584550mA -43.999960mA -54.623576mA - -3.20 -50.404450mA -43.837800mA -54.427552mA - -3.10 -50.224350mA -43.675640mA -54.231528mA - -3.00 -50.044250mA -43.513480mA -54.035504mA - -2.90 -49.864150mA -43.351320mA -53.839480mA - -2.80 -49.684050mA -43.189160mA -53.643456mA - -2.70 -49.503950mA -43.027000mA -53.447432mA - -2.60 -49.323850mA -42.864840mA -53.251408mA - -2.50 -49.143750mA -42.702680mA -53.055384mA - -2.40 -48.963650mA -42.540520mA -52.859360mA - -2.30 -48.783550mA -42.378360mA -52.663336mA - -2.20 -48.603450mA -42.216200mA -52.467312mA - -2.10 -48.423350mA -42.054040mA -52.271288mA - -2.00 -48.243250mA -41.891880mA -52.075264mA - -1.90 -48.063150mA -41.729720mA -51.879240mA - -1.80 -47.883050mA -41.567560mA -51.683216mA - -1.70 -47.702950mA -41.405400mA -51.487192mA - -1.60 -47.522850mA -41.243240mA -51.291168mA - -1.50 -47.342750mA -41.081080mA -51.095144mA - -1.40 -47.162650mA -40.960000mA -50.899120mA - -1.30 -46.982550mA -40.310000mA -50.703096mA - -1.20 -46.802450mA -39.409000mA -50.507072mA - -1.10 -46.622350mA -38.410000mA -50.311048mA - -1.00 -46.442250mA -37.323000mA -50.115024mA - -0.90 -46.262150mA -36.180000mA -49.919000mA - -0.80 -46.082050mA -35.076000mA -49.327000mA - -0.70 -45.748900mA -34.427000mA -47.994000mA - -0.60 -42.249200mA -34.203200mA -45.776900mA - -0.50 -36.169470mA -30.752860mA -40.603750mA - -0.40 -29.014551mA -24.879886mA -32.919898mA - -0.30 -21.670346mA -18.677585mA -24.687602mA - -0.20 -14.338705mA -12.435585mA -16.367748mA - -0.10 -7.093292mA -6.195266mA -8.095791mA - 0.00 27.190000nA 25.680000nA 31.680000nA - 0.10 6.587285mA 5.878497mA 7.387890mA - 0.20 12.314175mA 11.156186mA 13.529180mA - 0.30 17.106166mA 15.766175mA 18.285171mA - 0.40 20.907156mA 19.661164mA 21.673162mA - 0.50 23.747146mA 22.813153mA 23.968152mA - 0.60 25.783136mA 25.234142mA 25.549143mA - 0.70 27.212126mA 27.008131mA 26.699134mA - 0.80 28.206116mA 28.280120mA 27.588124mA - 0.90 28.917106mA 29.203109mA 28.308115mA - 1.00 29.453095mA 29.892098mA 28.908106mA - 1.10 29.875084mA 30.426087mA 29.398096mA - 1.20 30.221074mA 30.854076mA 29.770086mA - 1.30 30.513063mA 31.208065mA 30.064075mA - 1.40 30.767053mA 31.507054mA 30.315065mA - 1.50 30.993042mA 31.766043mA 30.542055mA - 1.60 31.203032mA 31.995032mA 30.762044mA - 1.70 31.414021mA 32.204021mA 30.983034mA - 1.80 31.648011mA 32.407010mA 31.201024mA - 1.90 31.903000mA 32.633999mA 31.408013mA - 2.00 32.157989mA 32.912988mA 31.601003mA - 2.10 32.398979mA 33.235977mA 31.780993mA - 2.20 32.620968mA 33.562966mA 31.951982mA - 2.30 32.826958mA 33.870954mA 32.113972mA - 2.40 33.017947mA 34.153943mA 32.268961mA - 2.50 33.197936mA 34.411932mA 32.419951mA - 2.60 33.368926mA 34.647921mA 32.567941mA - 2.70 33.532915mA 34.866910mA 32.714930mA - 2.80 33.693904mA 35.070899mA 32.864920mA - 2.90 33.851894mA 35.264888mA 33.017909mA - 3.00 34.012883mA 35.450877mA 33.177899mA - 3.10 34.176872mA 35.632864mA 33.347889mA - 3.20 34.349862mA 35.813747mA 33.531878mA - 3.30 34.531848mA 35.996379mA 33.730868mA - 3.40 34.729725mA 36.157497mA 33.951857mA - 3.50 34.942986mA 36.297102mA 34.196843mA - 3.60 35.117958mA 36.436708mA 34.470599mA - 3.70 35.251602mA 36.576313mA 34.772212mA - 3.80 35.385246mA 36.715919mA 34.904053mA - 3.90 35.518890mA 36.855525mA 35.035893mA - 4.00 35.652534mA 36.995130mA 35.167734mA - 4.10 35.786178mA 37.134736mA 35.299574mA - 4.20 35.919822mA 37.274341mA 35.431414mA - 4.30 36.053466mA 37.413947mA 35.563255mA - 4.40 36.187110mA 37.553553mA 35.695095mA - 4.50 36.320754mA 37.693158mA 35.826936mA - 4.60 36.454398mA 37.832764mA 35.958776mA - 4.70 36.588042mA 37.972369mA 36.090616mA - 4.80 36.721686mA 38.111975mA 36.222457mA - 4.90 36.855330mA 38.251581mA 36.354297mA - 5.00 36.988974mA 38.391186mA 36.486138mA - 5.10 37.122618mA 38.530792mA 36.617978mA - 5.20 37.256262mA 38.670397mA 36.749818mA - 5.30 37.389906mA 38.810003mA 36.881659mA - 5.40 37.523550mA 38.949609mA 37.013499mA - 5.50 37.657194mA 39.089214mA 37.145340mA - 5.60 37.790838mA 39.228820mA 37.277180mA - 5.70 37.924482mA 39.368425mA 37.409020mA - 5.80 38.058126mA 39.508031mA 37.540861mA - 5.90 38.191770mA 39.647637mA 37.672701mA - 6.00 38.325414mA 39.787242mA 37.804542mA - 6.10 38.459058mA 39.926848mA 37.936382mA - 6.20 38.592702mA 40.066453mA 38.068222mA - 6.30 38.726346mA 40.206059mA 38.200063mA - 6.40 38.859990mA 40.345665mA 38.331903mA - 6.50 38.993634mA 40.485270mA 38.463744mA - 6.60 39.127278mA 40.624876mA 38.595584mA -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 66.669757mA 87.094613mA 92.797733mA - -3.20 66.440741mA 86.767866mA 92.515330mA - -3.10 66.211726mA 86.441119mA 92.232928mA - -3.00 65.982711mA 86.114372mA 91.950525mA - -2.90 65.753695mA 85.787625mA 91.668122mA - -2.80 65.524680mA 85.460878mA 91.385720mA - -2.70 65.295664mA 85.134131mA 91.103317mA - -2.60 65.066649mA 84.807384mA 90.820915mA - -2.50 64.837633mA 84.480636mA 90.538512mA - -2.40 64.608618mA 84.153889mA 90.256109mA - -2.30 64.379602mA 83.827142mA 89.973707mA - -2.20 64.150587mA 83.500395mA 89.691304mA - -2.10 63.921571mA 83.173648mA 89.408901mA - -2.00 63.692556mA 82.846901mA 89.126499mA - -1.90 63.463540mA 82.520154mA 88.844096mA - -1.80 63.234525mA 82.323794mA 88.561693mA - -1.70 63.005509mA 81.008819mA 88.279291mA - -1.60 62.776494mA 78.640845mA 87.996888mA - -1.50 62.547479mA 75.568869mA 87.714485mA - -1.40 62.318463mA 71.978893mA 87.432083mA - -1.30 62.089448mA 67.983917mA 87.149680mA - -1.20 61.860432mA 63.658940mA 86.867278mA - -1.10 61.631417mA 59.058962mA 86.584875mA - -1.00 61.402401mA 54.225984mA 80.067686mA - -0.90 61.173386mA 49.192006mA 71.275712mA - -0.80 54.621889mA 45.212027mA 61.996736mA - -0.70 47.050911mA 41.794048mA 52.900760mA - -0.60 39.442932mA 35.550069mA 44.185783mA - -0.50 32.215954mA 29.164089mA 36.006805mA - -0.40 25.419974mA 23.007107mA 28.393828mA - -0.30 17.101700mA 15.824500mA 19.002300mA - -0.20 12.464986mA 11.277815mA 13.918820mA - -0.10 6.164125mA 5.580948mA 6.877969mA - 0.00 -18.490000nA -17.070000nA -20.440000nA - 0.10 -5.904938mA -5.394928mA -6.530140mA - 0.20 -11.454128mA -10.553116mA -12.558129mA - 0.30 -16.640117mA -15.473105mA -18.069119mA - 0.40 -21.457106mA -20.150094mA -23.046108mA - 0.50 -25.896096mA -24.583083mA -27.475098mA - 0.60 -29.949085mA -28.768072mA -31.336087mA - 0.70 -33.609074mA -32.702061mA -34.612077mA - 0.80 -36.868064mA -36.383050mA -37.284067mA - 0.90 -39.717053mA -39.806039mA -39.346056mA - 1.00 -42.147042mA -42.970028mA -40.889046mA - 1.10 -44.149032mA -45.870017mA -42.089035mA - 1.20 -45.748021mA -48.504006mA -43.060025mA - 1.30 -47.028011mA -50.866995mA -43.869015mA - 1.40 -48.080000mA -52.957984mA -44.561004mA - 1.50 -48.964989mA -54.770973mA -45.164994mA - 1.60 -49.722979mA -56.304962mA -45.700984mA - 1.70 -50.383968mA -57.595951mA -46.184973mA - 1.80 -50.967958mA -58.692940mA -46.625963mA - 1.90 -51.489947mA -59.638929mA -47.033952mA - 2.00 -51.962937mA -60.463918mA -47.412942mA - 2.10 -52.394926mA -61.192907mA -47.768932mA - 2.20 -52.791916mA -61.842896mA -48.104921mA - 2.30 -53.159905mA -62.426885mA -48.424911mA - 2.40 -53.504894mA -62.956874mA -48.730901mA - 2.50 -53.827884mA -63.439863mA -49.025891mA - 2.60 -54.132874mA -63.884852mA -49.310882mA - 2.70 -54.422864mA -64.295841mA -49.587873mA - 2.80 -54.700854mA -64.676830mA -49.859863mA - 2.90 -54.966844mA -65.033819mA -50.128854mA - 3.00 -55.224834mA -65.367808mA -50.397845mA - 3.10 -55.477825mA -65.682796mA -50.669835mA - 3.20 -55.727815mA -65.980780mA -50.947826mA - 3.30 -55.978806mA -66.265706mA -51.235817mA - 3.40 -56.233792mA -66.536956mA -51.539808mA - 3.50 -56.497705mA -66.792873mA -51.862798mA - 3.60 -56.774346mA -66.928560mA -52.210786mA - 3.70 -57.054551mA -67.195337mA -52.589679mA - 3.80 -57.194470mA -67.462113mA -53.001555mA - 3.90 -57.422477mA -67.728890mA -53.392977mA - 4.00 -57.650484mA -67.995667mA -53.537857mA - 4.10 -57.878491mA -68.262444mA -53.750052mA - 4.20 -58.106498mA -68.529220mA -53.962246mA - 4.30 -58.334506mA -68.795997mA -54.174441mA - 4.40 -58.562513mA -69.062774mA -54.386636mA - 4.50 -58.790520mA -69.329550mA -54.598830mA - 4.60 -59.018527mA -69.596327mA -54.811025mA - 4.70 -59.246534mA -69.863104mA -55.023219mA - 4.80 -59.474541mA -70.129881mA -55.235414mA - 4.90 -59.702548mA -70.396657mA -55.447608mA - 5.00 -59.930555mA -70.663434mA -55.659803mA - 5.10 -60.158563mA -70.930211mA -55.871997mA - 5.20 -60.386570mA -71.196988mA -56.084192mA - 5.30 -60.614577mA -71.463764mA -56.296387mA - 5.40 -60.842584mA -71.730541mA -56.508581mA - 5.50 -61.070591mA -71.997318mA -56.720776mA - 5.60 -61.298598mA -72.264094mA -56.932970mA - 5.70 -61.526605mA -72.530871mA -57.145165mA - 5.80 -61.754612mA -72.797648mA -57.357359mA - 5.90 -61.982620mA -73.064425mA -57.569554mA - 6.00 -62.210627mA -73.331201mA -57.781748mA - 6.10 -62.438634mA -73.597978mA -57.993943mA - 6.20 -62.666641mA -73.864755mA -58.206138mA - 6.30 -62.894648mA -74.131531mA -58.418332mA - 6.40 -63.122655mA -74.398308mA -58.630527mA - 6.50 -63.350662mA -74.665085mA -58.842721mA - 6.55 -63.464666mA -74.798473mA -58.948819mA -| -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.195000pA 1.415400nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.064900nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270400uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -[Ramp] -| variable typ min max -dV/dt_r 1.322279/1.397370n 1.285979/1.830494n 1.312139/1.075717n -dV/dt_f 0.909660/0.907875n 0.826020/1.758264n 1.011840/0.527820n -R_load = 50.000000 -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 1.726300V 1.546200V 1.899700V -0.2020ns 1.726800V 1.546200V 1.904800V -0.4040ns 1.737400V 1.550000V 2.017500V -0.6061ns 1.942100V 1.551600V 2.912500V -0.8081ns 2.634400V 1.596800V 3.407200V -1.0101ns 3.187200V 1.875300V 3.460800V -1.2121ns 3.279100V 2.359700V 3.465800V -1.4141ns 3.292700V 2.847800V 3.467100V -1.6162ns 3.295600V 3.089900V 3.467600V -1.8182ns 3.296700V 3.123600V 3.467900V -2.0202ns 3.297300V 3.130900V 3.468200V -2.2222ns 3.297500V 3.134300V 3.468700V -2.4242ns 3.297700V 3.135700V 3.468900V -2.6263ns 3.297900V 3.136600V 3.470800V -2.8283ns 3.298100V 3.137000V 3.470300V -3.0303ns 3.298400V 3.137300V 3.470100V -3.2323ns 3.299000V 3.137500V 3.470000V -3.4343ns 3.300800V 3.137600V 3.470000V -3.6364ns 3.300800V 3.137800V 3.470000V -3.8384ns 3.300300V 3.137900V 3.469900V -4.0404ns 3.300200V 3.138000V 3.469900V -4.2424ns 3.300000V 3.138200V 3.469900V -4.4444ns 3.300000V 3.138400V 3.469900V -4.6465ns 3.300000V 3.138600V 3.469900V -4.8485ns 3.300000V 3.138900V 3.469900V -5.0505ns 3.300000V 3.139200V 3.469900V -5.2525ns 3.300000V 3.140400V 3.469900V -5.4545ns 3.299900V 3.140300V 3.469900V -5.6566ns 3.299900V 3.140100V 3.469900V -5.8586ns 3.299900V 3.140100V 3.470000V -6.0606ns 3.299900V 3.140000V 3.470000V -6.2626ns 3.299900V 3.140000V 3.470000V -6.4646ns 3.299900V 3.140000V 3.470000V -6.6667ns 3.299900V 3.140000V 3.470000V -6.8687ns 3.299900V 3.140000V 3.470000V -7.0707ns 3.299900V 3.140000V 3.470000V -7.2727ns 3.299900V 3.140000V 3.470000V -7.4747ns 3.299900V 3.140000V 3.470000V -7.6768ns 3.299900V 3.140000V 3.470000V -7.8788ns 3.300000V 3.140000V 3.470000V -8.0808ns 3.300000V 3.140000V 3.470000V -8.2828ns 3.300000V 3.140000V 3.470000V -8.4848ns 3.300000V 3.140000V 3.470000V -8.6869ns 3.300000V 3.139900V 3.470000V -8.8889ns 3.300000V 3.139900V 3.470000V -9.0909ns 3.300000V 3.139900V 3.470000V -9.2929ns 3.300000V 3.139900V 3.470000V -9.4949ns 3.300000V 3.139900V 3.470000V -9.6970ns 3.300000V 3.139900V 3.470000V -9.8990ns 3.300000V 3.139900V 3.470000V -10.1010ns 3.300000V 3.139900V 3.470000V -10.3030ns 3.300000V 3.139900V 3.470000V -10.5051ns 3.300000V 3.139900V 3.470000V -10.7071ns 3.300000V 3.139900V 3.470000V -10.9091ns 3.300000V 3.139900V 3.470000V -11.1111ns 3.300000V 3.139900V 3.470000V -11.3131ns 3.300000V 3.139900V 3.470000V -11.5152ns 3.300000V 3.140000V 3.470000V -11.7172ns 3.300000V 3.140000V 3.470000V -11.9192ns 3.300000V 3.140000V 3.470000V -12.1212ns 3.300000V 3.140000V 3.470000V -12.3232ns 3.300000V 3.140000V 3.470000V -12.5253ns 3.300000V 3.140000V 3.470000V -12.7273ns 3.300000V 3.140000V 3.470000V -12.9293ns 3.300000V 3.140000V 3.470000V -13.1313ns 3.300000V 3.140000V 3.470000V -13.3333ns 3.300000V 3.140000V 3.470000V -13.5354ns 3.300000V 3.140000V 3.470000V -13.7374ns 3.300000V 3.140000V 3.470000V -13.9394ns 3.300000V 3.140000V 3.470000V -14.1414ns 3.300000V 3.140000V 3.470000V -14.3434ns 3.300000V 3.140000V 3.470000V -14.5455ns 3.300000V 3.140000V 3.470000V -14.7475ns 3.300000V 3.140000V 3.470000V -14.9495ns 3.300000V 3.140000V 3.470000V -15.1515ns 3.300000V 3.140000V 3.470000V -15.3535ns 3.300000V 3.140000V 3.470000V -15.5556ns 3.300000V 3.140000V 3.470000V -15.7576ns 3.300000V 3.140000V 3.470000V -15.9596ns 3.300000V 3.140000V 3.470000V -16.1616ns 3.300000V 3.140000V 3.470000V -16.3636ns 3.300000V 3.140000V 3.470000V -16.5657ns 3.300000V 3.140000V 3.470000V -16.7677ns 3.300000V 3.140000V 3.470000V -16.9697ns 3.300000V 3.140000V 3.470000V -17.1717ns 3.300000V 3.140000V 3.470000V -17.3737ns 3.300000V 3.140000V 3.470000V -17.5758ns 3.300000V 3.140000V 3.470000V -17.7778ns 3.300000V 3.140000V 3.470000V -17.9798ns 3.300000V 3.140000V 3.470000V -18.1818ns 3.300000V 3.140000V 3.470000V -18.3838ns 3.300000V 3.140000V 3.470000V -18.5859ns 3.300000V 3.140000V 3.470000V -18.7879ns 3.300000V 3.140000V 3.470000V -18.9899ns 3.300000V 3.140000V 3.470000V -19.1919ns 3.300000V 3.140000V 3.470000V -19.3939ns 3.300000V 3.140000V 3.470000V -19.5960ns 3.300000V 3.140000V 3.470000V -19.7980ns 3.300000V 3.140000V 3.470000V -20.0000ns 3.300000V 3.140000V 3.470000V -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 1.860000uV 2.247100uV 1.679700uV -0.2020ns -0.129790mV 4.669400uV -0.320790mV -0.4040ns -1.716600mV 0.272540uV -4.681500mV -0.6061ns 1.221000mV -0.447820mV 0.186680V -0.8081ns 0.107030V -5.196400mV 0.507800V -1.0101ns 0.361420V 7.872900mV 0.782610V -1.2121ns 0.574160V 63.086000mV 1.032400V -1.4141ns 0.778920V 0.229510V 1.269500V -1.6162ns 0.975680V 0.410340V 1.497800V -1.8182ns 1.166800V 0.562960V 1.717900V -2.0202ns 1.353800V 0.714380V 1.916400V -2.2222ns 1.533600V 0.865340V 2.085800V -2.4242ns 1.705400V 1.012700V 2.201900V -2.6263ns 1.865600V 1.157800V 2.206500V -2.8283ns 2.002800V 1.297100V 2.148000V -3.0303ns 2.119800V 1.433900V 2.116300V -3.2323ns 2.194200V 1.564200V 2.100900V -3.4343ns 2.242600V 1.684200V 2.095200V -3.6364ns 2.206600V 1.795900V 2.092100V -3.8384ns 2.175600V 1.885300V 2.093400V -4.0404ns 2.158100V 1.961700V 2.097900V -4.2424ns 2.149800V 2.017100V 2.104000V -4.4444ns 2.145000V 2.058100V 2.111400V -4.6465ns 2.142500V 2.090000V 2.119600V -4.8485ns 2.141700V 2.113000V 2.127800V -5.0505ns 2.141900V 2.137500V 2.135200V -5.2525ns 2.142800V 2.134100V 2.141000V -5.4545ns 2.144700V 2.126700V 2.146000V -5.6566ns 2.148900V 2.121500V 2.150700V -5.8586ns 2.153600V 2.118100V 2.154700V -6.0606ns 2.158200V 2.116400V 2.158400V -6.2626ns 2.162900V 2.115100V 2.161600V -6.4646ns 2.167200V 2.114600V 2.164500V -6.6667ns 2.171000V 2.114400V 2.167000V -6.8687ns 2.174500V 2.114500V 2.169300V -7.0707ns 2.177500V 2.114600V 2.171300V -7.2727ns 2.180300V 2.114800V 2.173100V -7.4747ns 2.182800V 2.115200V 2.174700V -7.6768ns 2.185100V 2.115600V 2.176100V -7.8788ns 2.187100V 2.116000V 2.177400V -8.0808ns 2.188900V 2.116500V 2.178500V -8.2828ns 2.190500V 2.117100V 2.179500V -8.4848ns 2.191900V 2.117700V 2.180300V -8.6869ns 2.193200V 2.118500V 2.181100V -8.8889ns 2.194300V 2.119600V 2.181800V -9.0909ns 2.195300V 2.121000V 2.182400V -9.2929ns 2.196300V 2.122600V 2.182900V -9.4949ns 2.197100V 2.124200V 2.183400V -9.6970ns 2.197800V 2.125900V 2.183800V -9.8990ns 2.198500V 2.127400V 2.184200V -10.1010ns 2.199350V 2.129450V 2.184650V -10.3030ns 2.200000V 2.131300V 2.185000V -10.5051ns 2.200500V 2.132300V 2.185200V -10.7071ns 2.200800V 2.133300V 2.185400V -10.9091ns 2.201200V 2.134200V 2.185600V -11.1111ns 2.201500V 2.135100V 2.185800V -11.3131ns 2.201700V 2.135800V 2.185900V -11.5152ns 2.202000V 2.136500V 2.186000V -11.7172ns 2.202200V 2.137100V 2.186100V -11.9192ns 2.202400V 2.137700V 2.186200V -12.1212ns 2.202500V 2.138200V 2.186300V -12.3232ns 2.202700V 2.138700V 2.186400V -12.5253ns 2.202800V 2.139100V 2.186400V -12.7273ns 2.202900V 2.139500V 2.186500V -12.9293ns 2.203000V 2.139900V 2.186500V -13.1313ns 2.203100V 2.140200V 2.186600V -13.3333ns 2.203200V 2.140500V 2.186600V -13.5354ns 2.203300V 2.140700V 2.186600V -13.7374ns 2.203300V 2.141000V 2.186700V -13.9394ns 2.203400V 2.141200V 2.186700V -14.1414ns 2.203400V 2.141400V 2.186700V -14.3434ns 2.203500V 2.141600V 2.186700V -14.5455ns 2.203500V 2.141800V 2.186700V -14.7475ns 2.203600V 2.141900V 2.186800V -14.9495ns 2.203600V 2.142000V 2.186800V -15.1515ns 2.203600V 2.142200V 2.186800V -15.3535ns 2.203600V 2.142300V 2.186800V -15.5556ns 2.203700V 2.142400V 2.186800V -15.7576ns 2.203700V 2.142500V 2.186800V -15.9596ns 2.203700V 2.142600V 2.186800V -16.1616ns 2.203700V 2.142600V 2.186800V -16.3636ns 2.203700V 2.142700V 2.186800V -16.5657ns 2.203700V 2.142800V 2.186900V -16.7677ns 2.203700V 2.142800V 2.186900V -16.9697ns 2.203800V 2.142900V 2.186900V -17.1717ns 2.203800V 2.142900V 2.186900V -17.3737ns 2.203800V 2.143000V 2.186900V -17.5758ns 2.203800V 2.143000V 2.186900V -17.7778ns 2.203800V 2.143000V 2.186900V -17.9798ns 2.203800V 2.143100V 2.186900V -18.1818ns 2.203800V 2.143100V 2.186900V -18.3838ns 2.203800V 2.143100V 2.186900V -18.5859ns 2.203800V 2.143100V 2.186900V -18.7879ns 2.203800V 2.143200V 2.186900V -18.9899ns 2.203800V 2.143200V 2.186900V -19.1919ns 2.203800V 2.143200V 2.186900V -19.3939ns 2.203800V 2.143200V 2.186900V -19.5960ns 2.203800V 2.143200V 2.186900V -19.7980ns 2.203800V 2.143200V 2.186900V -20.0000ns 2.203800V 2.143300V 2.186900V -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 2.203900V 2.143400V 2.187000V -0.2020ns 2.204000V 2.143400V 2.193500V -0.4040ns 2.222800V 2.147700V 2.032600V -0.6061ns 2.041300V 2.152800V 1.329800V -0.8081ns 1.561500V 2.146100V 0.689440V -1.0101ns 1.011100V 2.097000V 0.210050V -1.2121ns 0.595520V 1.931200V 16.668000mV -1.4141ns 0.291310V 1.573700V 3.287100mV -1.6162ns 80.606000mV 1.160800V 1.540100mV -1.8182ns 13.976000mV 0.816650V 0.795800mV -2.0202ns 3.438200mV 0.556260V 0.249100mV -2.2222ns 2.674800mV 0.354310V 0.141130mV -2.4242ns 1.686600mV 0.200190V -0.655480mV -2.6263ns 0.612530mV 87.872000mV -2.068600uV -2.8283ns 0.572400mV 33.061000mV -22.091000uV -3.0303ns 0.375060mV 11.834000mV -24.867000uV -3.2323ns 0.241800mV 4.814600mV -26.956000uV -3.4343ns -0.105830mV 3.354200mV -15.925000uV -3.6364ns -75.323000uV 2.452700mV -21.116000uV -3.8384ns 4.162200uV 1.747000mV -21.198000uV -4.0404ns -9.814400uV 1.397500mV -20.735000uV -4.2424ns -8.341900uV 1.108100mV -20.330000uV -4.4444ns -6.866100uV 0.872660mV -19.920000uV -4.6465ns -5.387100uV 0.692450mV -19.527000uV -4.8485ns -8.072400uV 0.289700mV -19.137000uV -5.0505ns -7.958300uV 0.244360mV -18.776000uV -5.2525ns -7.769600uV -77.493000uV -18.423000uV -5.4545ns -7.625700uV -0.105340mV -18.079000uV -5.6566ns -7.474800uV -54.805000uV -17.737000uV -5.8586ns -7.290100uV 10.015000uV -17.420000uV -6.0606ns -7.095100uV 31.098000uV -17.110000uV -6.2626ns -6.941900uV 27.849000uV -16.798000uV -6.4646ns -6.801300uV 26.843000uV -16.485000uV -6.6667ns -6.644700uV 25.837000uV -16.193000uV -6.8687ns -6.483200uV 24.821000uV -15.906000uV -7.0707ns -6.356800uV 23.930000uV -15.617000uV -7.2727ns -6.241000uV 23.931000uV -15.328000uV -7.4747ns -6.109700uV 23.867000uV -15.057000uV -7.6768ns -5.973800uV 23.333000uV -14.790000uV -7.8788ns -5.859500uV 22.861000uV -14.523000uV -8.0808ns -5.751700uV 22.831000uV -14.256000uV -8.2828ns -5.632300uV 22.765000uV -14.004000uV -8.4848ns -5.509400uV 22.433000uV -13.756000uV -8.6869ns -5.401200uV 22.127000uV -13.508000uV -8.8889ns -5.297500uV 22.000000uV -13.261000uV -9.0909ns -5.186800uV 21.856000uV -13.026000uV -9.2929ns -5.073900uV 21.583000uV -12.795000uV -9.4949ns -4.971400uV 21.321000uV -12.566000uV -9.6970ns -4.872100uV 21.138000uV -12.337000uV -9.8990ns -4.768700uV 20.948000uV -12.119000uV -10.1010ns -4.615700uV 20.580000uV -11.796500uV -10.3030ns -4.472500uV 20.255000uV -11.478000uV -10.5051ns -4.375700uV 20.048000uV -11.275000uV -10.7071ns -4.278400uV 19.819000uV -11.074000uV -10.9091ns -4.186900uV 19.593000uV -10.876000uV -11.1111ns -4.097100uV 19.385000uV -10.679000uV -11.3131ns -4.006500uV 19.177000uV -10.490000uV -11.5152ns -3.915700uV 18.963000uV -10.303000uV -11.7172ns -3.829500uV 18.751000uV -10.119000uV -11.9192ns -3.744700uV 18.550000uV -9.935200uV -12.1212ns -3.659800uV 18.348000uV -9.758900uV -12.3232ns -3.575000uV 18.147000uV -9.584400uV -12.5253ns -3.493900uV 17.946000uV -9.412900uV -12.7273ns -3.413900uV 17.750000uV -9.242200uV -12.9293ns -3.334400uV 17.555000uV -9.077700uV -13.1313ns -3.255000uV 17.367000uV -8.914800uV -13.3333ns -3.178700uV 17.180000uV -8.754900uV -13.5354ns -3.103400uV 16.992000uV -8.595700uV -13.7374ns -3.028800uV 16.805000uV -8.442200uV -13.9394ns -2.954500uV 16.625000uV -8.290100uV -14.1414ns -2.882800uV 16.446000uV -8.140800uV -14.3434ns -2.811900uV 16.271000uV -7.992300uV -14.5455ns -2.741900uV 16.096000uV -7.848800uV -14.7475ns -2.672100uV 15.921000uV -7.706700uV -14.9495ns -2.604700uV 15.747000uV -7.567200uV -15.1515ns -2.538000uV 15.582000uV -7.428400uV -15.3535ns -2.472300uV 15.417000uV -7.294300uV -15.5556ns -2.406900uV 15.254000uV -7.161400uV -15.7576ns -2.343500uV 15.091000uV -7.031000uV -15.9596ns -2.280700uV 14.928000uV -6.901100uV -16.1616ns -2.219000uV 14.767000uV -6.775700uV -16.3636ns -2.157500uV 14.614000uV -6.651300uV -16.5657ns -2.097900uV 14.461000uV -6.529200uV -16.7677ns -2.038900uV 14.310000uV -6.407700uV -16.9697ns -1.980900uV 14.158000uV -6.290200uV -17.1717ns -1.923100uV 14.007000uV -6.173700uV -17.3737ns -1.867100uV 13.856000uV -6.059300uV -17.5758ns -1.811500uV 13.715000uV -5.945500uV -17.7778ns -1.756900uV 13.574000uV -5.835400uV -17.9798ns -1.702700uV 13.433000uV -5.726200uV -18.1818ns -1.649900uV 13.292000uV -5.619000uV -18.3838ns -1.597600uV 13.151000uV -5.512200uV -18.5859ns -1.546300uV 13.011000uV -5.409000uV -18.7879ns -1.495300uV 12.881000uV -5.306700uV -18.9899ns -1.445600uV 12.750000uV -5.206100uV -19.1919ns -1.396400uV 12.619000uV -5.105900uV -19.3939ns -1.348100uV 12.488000uV -5.009100uV -19.5960ns -1.300200uV 12.357000uV -4.913100uV -19.7980ns -1.253400uV 12.227000uV -4.818400uV -20.0000ns -1.206900uV 12.109000uV -4.724200uV -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 3.300000V 3.140000V 3.470000V -0.2020ns 3.299700V 3.140000V 3.468500V -0.4040ns 3.300800V 3.139500V 3.480800V -0.6061ns 3.307700V 3.140100V 3.421400V -0.8081ns 3.288700V 3.143500V 3.119600V -1.0101ns 3.205000V 3.143800V 2.661400V -1.2121ns 3.025100V 3.145800V 2.287000V -1.4141ns 2.763000V 3.126600V 2.008100V -1.6162ns 2.525800V 3.091800V 1.804300V -1.8182ns 2.335100V 3.031500V 1.669500V -2.0202ns 2.176400V 2.950000V 1.556300V -2.2222ns 2.038500V 2.833800V 1.492000V -2.4242ns 1.931900V 2.695300V 1.454000V -2.6263ns 1.842100V 2.569900V 1.511700V -2.8283ns 1.775200V 2.465400V 1.518000V -3.0303ns 1.725800V 2.375800V 1.523200V -3.2323ns 1.686600V 2.288200V 1.528200V -3.4343ns 1.685200V 2.209700V 1.533400V -3.6364ns 1.704000V 2.138800V 1.538300V -3.8384ns 1.711300V 2.070500V 1.543000V -4.0404ns 1.712500V 2.009900V 1.547600V -4.2424ns 1.714100V 1.956200V 1.552200V -4.4444ns 1.715500V 1.910000V 1.556700V -4.6465ns 1.717000V 1.869400V 1.561200V -4.8485ns 1.718600V 1.839700V 1.565600V -5.0505ns 1.719900V 1.823800V 1.569900V -5.2525ns 1.721200V 1.826000V 1.574200V -5.4545ns 1.722500V 1.835200V 1.578400V -5.6566ns 1.723800V 1.841500V 1.582600V -5.8586ns 1.725000V 1.842800V 1.586700V -6.0606ns 1.726200V 1.841300V 1.590800V -6.2626ns 1.727400V 1.839800V 1.594800V -6.4646ns 1.728600V 1.838400V 1.598800V -6.6667ns 1.729800V 1.837000V 1.602700V -6.8687ns 1.730900V 1.835500V 1.606600V -7.0707ns 1.732000V 1.834000V 1.610400V -7.2727ns 1.733200V 1.832700V 1.614200V -7.4747ns 1.734300V 1.831300V 1.618000V -7.6768ns 1.735400V 1.829900V 1.621600V -7.8788ns 1.736400V 1.828500V 1.625300V -8.0808ns 1.737500V 1.827100V 1.628900V -8.2828ns 1.738600V 1.825800V 1.632500V -8.4848ns 1.739600V 1.824400V 1.636000V -8.6869ns 1.740600V 1.823100V 1.639400V -8.8889ns 1.741700V 1.821800V 1.642900V -9.0909ns 1.742700V 1.820400V 1.646300V -9.2929ns 1.743700V 1.819100V 1.649600V -9.4949ns 1.744700V 1.817800V 1.652900V -9.6970ns 1.745600V 1.816500V 1.656200V -9.8990ns 1.746600V 1.815200V 1.659400V -10.1010ns 1.748050V 1.813350V 1.664200V -10.3030ns 1.749400V 1.811400V 1.668900V -10.5051ns 1.750400V 1.810200V 1.672000V -10.7071ns 1.751300V 1.809000V 1.675000V -10.9091ns 1.752200V 1.807800V 1.678000V -11.1111ns 1.753100V 1.806500V 1.681000V -11.3131ns 1.753900V 1.805400V 1.684000V -11.5152ns 1.754800V 1.804200V 1.686900V -11.7172ns 1.755700V 1.803000V 1.689700V -11.9192ns 1.756500V 1.801800V 1.692600V -12.1212ns 1.757400V 1.800700V 1.695400V -12.3232ns 1.758200V 1.799500V 1.698200V -12.5253ns 1.759000V 1.798400V 1.700900V -12.7273ns 1.759800V 1.797300V 1.703600V -12.9293ns 1.760600V 1.796200V 1.706300V -13.1313ns 1.761400V 1.795100V 1.709000V -13.3333ns 1.762200V 1.794000V 1.711600V -13.5354ns 1.763000V 1.792900V 1.714200V -13.7374ns 1.763800V 1.791800V 1.716700V -13.9394ns 1.764500V 1.790800V 1.719300V -14.1414ns 1.765300V 1.789700V 1.721800V -14.3434ns 1.766000V 1.788700V 1.724200V -14.5455ns 1.766800V 1.787700V 1.726700V -14.7475ns 1.767500V 1.786600V 1.729100V -14.9495ns 1.768200V 1.785600V 1.731500V -15.1515ns 1.768900V 1.784600V 1.733900V -15.3535ns 1.769600V 1.783600V 1.736200V -15.5556ns 1.770300V 1.782700V 1.738500V -15.7576ns 1.771000V 1.781700V 1.740800V -15.9596ns 1.771700V 1.780700V 1.743100V -16.1616ns 1.772400V 1.779800V 1.745300V -16.3636ns 1.773000V 1.778800V 1.747500V -16.5657ns 1.773700V 1.777900V 1.749700V -16.7677ns 1.774300V 1.777000V 1.751900V -16.9697ns 1.775000V 1.776000V 1.754000V -17.1717ns 1.775600V 1.775100V 1.756200V -17.3737ns 1.776300V 1.774200V 1.758300V -17.5758ns 1.776900V 1.773300V 1.760300V -17.7778ns 1.777500V 1.772400V 1.762400V -17.9798ns 1.778100V 1.771600V 1.764400V -18.1818ns 1.778700V 1.770700V 1.766400V -18.3838ns 1.779300V 1.769800V 1.768400V -18.5859ns 1.779900V 1.769000V 1.770400V -18.7879ns 1.780500V 1.768100V 1.772300V -18.9899ns 1.781100V 1.767300V 1.774200V -19.1919ns 1.781600V 1.766500V 1.776200V -19.3939ns 1.782200V 1.765700V 1.778000V -19.5960ns 1.782800V 1.764900V 1.779900V -19.7980ns 1.783300V 1.764000V 1.781700V -|20.0000ns 1.783900V 1.763300V 1.783600V -40.0000ns 1.783900V 1.550000V 1.783600V -| -| End [Model] lvc330s140aaaaaaaaio -|************************************************************************ -| End [Component] -[End] +|************************************************************************ +| IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 +| Generate date: Sun Aug 20 05:55:52 2023 +|************************************************************************ +| IBIS File machxo.ibs +| LibisGen v2.0.1.0, 02/25/2008, Lattice Semiconductor Corporation +| Modified by LibisMaker v2.0.1.0, 02/25/2008, Lattice Semiconductor +| North Carolina State University, ERL, 2006 +|************************************************************************ +[IBIS ver] 3.2 +[File Name] RAM2GS_LCMXO640C_im~.ibs +[File Rev] 2.2 +[Date] Mon Sep 28 10:44:10 EDT 2009 +[Source] Lattice Semiconductor EE12 Process +[Notes] "Preliminary Version" + Lattice Semiconductor has worked hard to ensure the + models below are accurate and complete. However, the + data below was generated using simulation of the + input/output model files for the silicon. Therefore, + the data below is for reference and initial design + purposes only. +| + The data below is correlated to Spice models. + For questions regarding this data please contact + us at www.latticesemi.com. +| + Lattice Semiconductor grants permission to use this + data for use in printed circuit design using this + Lattice programmable logic device. Other use of this + code, including the selling or duplication of any + portion is strictly prohibited. +| +| NAMING CONVENTION +| + The IBIS [Model] header is limited by the specification to a + total of characters. With such a set of characters available + for naming models it becomes important to attempt to + meaningfully encode the IO standards so they fit within the + twenty character limit. It would seem that twenty characters + would provide room enough for describing IO's. However, the + PLD IO structure continues to grow more and more complex. The + complexity is making the twenty characters insuffiently + descriptive. In order to overcome this issue the naming + convention described below is implemented to resolve the issue. +| +The twenty character space is managed as follows: + bbbvvvsdddprugtcoixx +| + b = standard + v = voltage (x.xx V) + s = slew code + d = drive (xx.x ma) + p = pullup code + r = series resistance code + u = terminate to vcc code + g = terminate to gnd code + t = terminate to vtt code + c = common mode termination mode + o = diff resistor code + i = diff resistor current code + x = reserved +| +| + standard +| + LVCMOS lvc + lvcmosd lvd + LVDSE lve + LVTTL lvt + lvttld ltd + PCI pci + pcix pcx + AGP1x ag1 + agp2x ag2 + sstl_I ss1 + sstl_II ss2 + sstld_I s1d + sstld_II s2d + CTT ctt + hstl_i hs1 + hstl_ii hs2 + hstl_iii hs3 + hstl_iv hs4 + hstld_i h1d + hstld_ii h2d + gtl gtl + gtlplus gtp + lvds lvs + blvds blv + mlvds mlv + lvpecl lvp + cml cml + hypt hyp + rsds rsd + vref1 vr1 + vref2 vr2 + ref_res rer +| +| + slew + na a + fast f + slow s +| + pullmode + off a + pullup b + pulldown c + bushold d + pciclamp e + up_pciclamp f + down_pciclamp g + keeper_pciclamp h + schmitt i + up_schmitt j + down_schmitt k + keeper_schmitt l + up_pciclamp_schmitt m + down_pciclamp_schmitt n + keeper_pciclamp_schmitt o + pciclamp_schmitt p +| + impedence + off a + 25 b + 33 c + 50 d + 100 e +| + termVCC + off a + 50 b + 100 c + 120 d +| + termGND + off a + 50 b + 100 c + 120 d +| + termVTT + off a + 60 b + 75 c + 120 d + 150 e + 210 f +| + VCMT + off a + VCMT b + VTT c + DDR-2 d +| + differential resistor + off a + 120 b + 150 c + 220 d + 420 e +| + differential current + NA a + 2 b + 3.5 c + 4 d + 6 e +| + Reserved IO type + in input only + ou output + io I/O + od Open drain + on Inverting differential I/O + (signal name only) + op Non-Inverting differential I/O + (signal name only) +| + All the IO models are generated with pull mode set to UP. +| + Lattice Semiconductor Corporation + 5555 NE Moore Court + Hillsboro, OR 97214 + U.S.A +| + TEL: 1-800-Lattice (USA and Canada) + 408-826-6000 (other locations) +| + web: http://www.latticesemi.com/ + email: techsupport@latticesemi.com +| +| +| +[Disclaimer] This IBIS source code is intended as a design reference + which illustrates how the Lattice Semiconductor device operates. + It is the user's responsibility to verify their design for + consistency and functionality through the use of formal + verification methods. Lattice Semiconductor provides no warranty + regarding the use or functionality of this data. +| +[Copyright] Copyright 2009 by Lattice Semiconductor Corporation +| +| +|************************************************************************ +| Component XO +|************************************************************************ +| +[Component] MXO256_MXO640_MXO1K_MXO2K +[Manufacturer] Lattice Semiconductor Corp. +[Package] +|TQFP100 +| variable typ min max +R_pkg 70.5m 54.0m 87.0m +L_pkg 4.57nH 4.27nH 4.87nH +C_pkg .52pF .47pF .57pF +| +[Pin] signal_name model_name R_pin L_pin C_pin +32 CROW[0] lvc330fxxxaaaaaaaain +34 CROW[1] lvc330fxxxaaaaaaaain +21 Din[0] lvc330fxxxaaaaaaaain +15 Din[1] lvc330fxxxaaaaaaaain +14 Din[2] lvc330fxxxaaaaaaaain +16 Din[3] lvc330fxxxaaaaaaaain +18 Din[4] lvc330fxxxaaaaaaaain +17 Din[5] lvc330fxxxaaaaaaaain +20 Din[6] lvc330fxxxaaaaaaaain +19 Din[7] lvc330fxxxaaaaaaaain +1 Dout[0] lvc330f040aaaaaaaaio +7 Dout[1] lvc330f040aaaaaaaaio +8 Dout[2] lvc330f040aaaaaaaaio +6 Dout[3] lvc330f040aaaaaaaaio +4 Dout[4] lvc330f040aaaaaaaaio +5 Dout[5] lvc330f040aaaaaaaaio +2 Dout[6] lvc330f040aaaaaaaaio +3 Dout[7] lvc330f040aaaaaaaaio +57 LED lvc330s140aaaaaaaaio +23 MAin[0] lvc330fxxxaaaaaaaain +38 MAin[1] lvc330fxxxaaaaaaaain +37 MAin[2] lvc330fxxxaaaaaaaain +47 MAin[3] lvc330fxxxaaaaaaaain +46 MAin[4] lvc330fxxxaaaaaaaain +45 MAin[5] lvc330fxxxaaaaaaaain +49 MAin[6] lvc330fxxxaaaaaaaain +44 MAin[7] lvc330fxxxaaaaaaaain +50 MAin[8] lvc330fxxxaaaaaaaain +51 MAin[9] lvc330fxxxaaaaaaaain +39 PHI2 lvc330fxxxcaaaaaaain +98 RA[0] lvc330s040aaaaaaaaio +87 RA[10] lvc330s040aaaaaaaaio +79 RA[11] lvc330s040aaaaaaaaio +89 RA[1] lvc330s040aaaaaaaaio +94 RA[2] lvc330s040aaaaaaaaio +97 RA[3] lvc330s040aaaaaaaaio +99 RA[4] lvc330s040aaaaaaaaio +95 RA[5] lvc330s040aaaaaaaaio +91 RA[6] lvc330s040aaaaaaaaio +100 RA[7] lvc330s040aaaaaaaaio +96 RA[8] lvc330s040aaaaaaaaio +85 RA[9] lvc330s040aaaaaaaaio +63 RBA[0] lvc330s040aaaaaaaaio +83 RBA[1] lvc330s040aaaaaaaaio +82 RCKE lvc330s040aaaaaaaaio +86 RCLK lvc330fxxxaaaaaaaain +76 RDQMH lvc330s040aaaaaaaaio +61 RDQML lvc330s040aaaaaaaaio +64 RD[0] lvc330s040aaaaaaaaio +65 RD[1] lvc330s040aaaaaaaaio +66 RD[2] lvc330s040aaaaaaaaio +67 RD[3] lvc330s040aaaaaaaaio +68 RD[4] lvc330s040aaaaaaaaio +69 RD[5] lvc330s040aaaaaaaaio +70 RD[6] lvc330s040aaaaaaaaio +71 RD[7] lvc330s040aaaaaaaaio +58 UFMCLK lvc330s040aaaaaaaaio +56 UFMSDI lvc330s040aaaaaaaaio +55 UFMSDO lvc330fxxxaaaaaaaain +27 nCCAS lvc330fxxxbaaaaaaain +43 nCRAS lvc330fxxxbaaaaaaain +22 nFWE lvc330fxxxaaaaaaaain +78 nRCAS lvc330s040aaaaaaaaio +77 nRCS lvc330s040aaaaaaaaio +73 nRRAS lvc330s040aaaaaaaaio +72 nRWE lvc330s040aaaaaaaaio +53 nUFMCS lvc330s040aaaaaaaaio +|************************************************************************ +[Model] lvc330f040aaaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +Vmeas = 1.650000V +Cref = 0.0F +Rref = 1.000000M +Vref = 0.0V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -16.264620mA -12.195876mA -17.211942mA + -3.20 -16.206900mA -12.152073mA -17.150026mA + -3.10 -16.149180mA -12.108270mA -17.088110mA + -3.00 -16.091460mA -12.064467mA -17.026194mA + -2.90 -16.033740mA -12.020664mA -16.964278mA + -2.80 -15.976020mA -11.976862mA -16.902362mA + -2.70 -15.918300mA -11.933059mA -16.840446mA + -2.60 -15.860580mA -11.889256mA -16.778530mA + -2.50 -15.802860mA -11.845453mA -16.716614mA + -2.40 -15.745140mA -11.801650mA -16.654698mA + -2.30 -15.687420mA -11.757848mA -16.592782mA + -2.20 -15.629700mA -11.714045mA -16.530866mA + -2.10 -15.571980mA -11.670242mA -16.468950mA + -2.00 -15.514260mA -11.626439mA -16.407034mA + -1.90 -15.456540mA -11.582636mA -16.345118mA + -1.80 -15.398820mA -11.538834mA -16.283202mA + -1.70 -15.341100mA -11.495031mA -16.221286mA + -1.60 -15.283380mA -11.451228mA -16.159370mA + -1.50 -15.225660mA -11.407425mA -16.097454mA + -1.40 -15.167940mA -11.363622mA -16.035538mA + -1.30 -15.110220mA -11.319820mA -15.973622mA + -1.20 -15.052500mA -11.276017mA -15.911706mA + -1.10 -14.994780mA -11.232214mA -15.849790mA + -1.00 -14.937060mA -11.188411mA -15.787874mA + -0.90 -14.879340mA -11.144608mA -15.725958mA + -0.80 -14.821620mA -11.100806mA -15.634000mA + -0.70 -14.763900mA -11.057003mA -15.389000mA + -0.60 -14.121200mA -11.013200mA -15.085900mA + -0.50 -12.312470mA -10.252860mA -13.892750mA + -0.40 -9.922051mA -8.353886mA -11.397898mA + -0.30 -7.415846mA -6.279285mA -8.571802mA + -0.20 -4.904405mA -4.183585mA -5.687248mA + -0.10 -2.422592mA -2.084866mA -2.809391mA + 0.00 9.270000nA 8.640000nA 10.950000nA + 0.10 2.215985mA 1.960397mA 2.507890mA + 0.20 4.086375mA 3.683686mA 4.498680mA + 0.30 5.594166mA 5.150675mA 5.952471mA + 0.40 6.738256mA 6.352364mA 6.929962mA + 0.50 7.557146mA 7.289853mA 7.572152mA + 0.60 8.124436mA 7.983242mA 8.013343mA + 0.70 8.511126mA 8.476831mA 8.337834mA + 0.80 8.778316mA 8.826620mA 8.591424mA + 0.90 8.972606mA 9.080609mA 8.798515mA + 1.00 9.121395mA 9.272098mA 8.969206mA + 1.10 9.240584mA 9.422087mA 9.101296mA + 1.20 9.339574mA 9.543476mA 9.202186mA + 1.30 9.424063mA 9.644765mA 9.285275mA + 1.40 9.498053mA 9.731354mA 9.357665mA + 1.50 9.564242mA 9.806743mA 9.423455mA + 1.60 9.625232mA 9.873832mA 9.485944mA + 1.70 9.684621mA 9.934821mA 9.548134mA + 1.80 9.747011mA 9.992810mA 9.610224mA + 1.90 9.814800mA 10.052999mA 9.670813mA + 2.00 9.885689mA 10.122988mA 9.728603mA + 2.10 9.955379mA 10.203977mA 9.783293mA + 2.20 10.021968mA 10.292966mA 9.835282mA + 2.30 10.083958mA 10.380954mA 9.884972mA + 2.40 10.141947mA 10.464943mA 9.932861mA + 2.50 10.196936mA 10.542932mA 9.979551mA + 2.60 10.249926mA 10.614921mA 10.025941mA + 2.70 10.300915mA 10.681910mA 10.071930mA + 2.80 10.350904mA 10.744899mA 10.118920mA + 2.90 10.400894mA 10.805888mA 10.167909mA + 3.00 10.451883mA 10.863877mA 10.218899mA + 3.10 10.504872mA 10.921864mA 10.273889mA + 3.20 10.559862mA 10.978747mA 10.332878mA + 3.30 10.618848mA 11.037379mA 10.397868mA + 3.40 10.682725mA 11.085335mA 10.469857mA + 3.50 10.751986mA 11.124616mA 10.550843mA + 3.60 10.804292mA 11.163898mA 10.640599mA + 3.70 10.840604mA 11.203179mA 10.738212mA + 3.80 10.876916mA 11.242461mA 10.773505mA + 3.90 10.913228mA 11.281743mA 10.808797mA + 4.00 10.949540mA 11.321024mA 10.844090mA + 4.10 10.985852mA 11.360306mA 10.879382mA + 4.20 11.022164mA 11.399587mA 10.914675mA + 4.30 11.058476mA 11.438869mA 10.949967mA + 4.40 11.094788mA 11.478151mA 10.985259mA + 4.50 11.131100mA 11.517432mA 11.020552mA + 4.60 11.167412mA 11.556714mA 11.055844mA + 4.70 11.203724mA 11.595995mA 11.091137mA + 4.80 11.240036mA 11.635277mA 11.126429mA + 4.90 11.276348mA 11.674559mA 11.161721mA + 5.00 11.312660mA 11.713840mA 11.197014mA + 5.10 11.348972mA 11.753122mA 11.232306mA + 5.20 11.385284mA 11.792403mA 11.267599mA + 5.30 11.421596mA 11.831685mA 11.302891mA + 5.40 11.457908mA 11.870967mA 11.338183mA + 5.50 11.494220mA 11.910248mA 11.373476mA + 5.60 11.530532mA 11.949530mA 11.408768mA + 5.70 11.566844mA 11.988811mA 11.444061mA + 5.80 11.603156mA 12.028093mA 11.479353mA + 5.90 11.639468mA 12.067375mA 11.514645mA + 6.00 11.675780mA 12.106656mA 11.549938mA + 6.10 11.712092mA 12.145938mA 11.585230mA + 6.20 11.748404mA 12.185219mA 11.620523mA + 6.30 11.784716mA 12.224501mA 11.655815mA + 6.40 11.821028mA 12.263783mA 11.691107mA + 6.50 11.857340mA 12.303064mA 11.726400mA + 6.60 11.893652mA 12.342346mA 11.761692mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 6.260163mA 5.384933mA 7.315403mA + -3.20 6.239699mA 5.366401mA 7.291487mA + -3.10 6.219236mA 5.347870mA 7.267570mA + -3.00 6.198773mA 5.329339mA 7.243653mA + -2.90 6.178310mA 5.310808mA 7.219736mA + -2.80 6.157847mA 5.292277mA 7.195819mA + -2.70 6.137383mA 5.273745mA 7.171903mA + -2.60 6.116920mA 5.255214mA 7.147986mA + -2.50 6.096457mA 5.236683mA 7.124069mA + -2.40 6.075994mA 5.218152mA 7.100152mA + -2.30 6.055531mA 5.199621mA 7.076235mA + -2.20 6.035067mA 5.181089mA 7.052319mA + -2.10 6.014604mA 5.162558mA 7.028402mA + -2.00 5.994141mA 5.144027mA 7.004485mA + -1.90 5.973678mA 5.125496mA 6.980568mA + -1.80 5.953215mA 5.106965mA 6.956651mA + -1.70 5.932751mA 5.088433mA 6.932735mA + -1.60 5.912288mA 5.069902mA 6.908818mA + -1.50 5.891825mA 5.051371mA 6.884901mA + -1.40 5.871362mA 5.032840mA 6.860984mA + -1.30 5.850899mA 5.014309mA 6.837067mA + -1.20 5.830435mA 4.995777mA 6.813151mA + -1.10 5.809972mA 4.977246mA 6.789234mA + -1.00 5.789509mA 4.958715mA 6.765317mA + -0.90 5.769046mA 4.940184mA 6.741400mA + -0.80 5.748583mA 4.921653mA 6.717483mA + -0.70 5.728119mA 4.903121mA 6.693567mA + -0.60 5.707656mA 4.884590mA 6.669650mA + -0.50 5.687193mA 4.866059mA 6.645733mA + -0.40 5.666730mA 4.847528mA 6.621816mA + -0.30 5.646267mA 4.828997mA 6.597899mA + -0.20 4.435786mA 3.802115mA 5.174820mA + -0.10 2.131925mA 1.838548mA 2.475669mA + 0.00 -6.170000nA -5.460000nA -7.060000nA + 0.10 -1.893038mA -1.673728mA -2.145840mA + 0.20 -3.512428mA -3.164516mA -3.900829mA + 0.30 -4.854717mA -4.471005mA -5.257719mA + 0.40 -5.916606mA -5.591894mA -6.209108mA + 0.50 -6.694696mA -6.525883mA -6.765898mA + 0.60 -7.186085mA -7.271372mA -7.127487mA + 0.70 -7.501974mA -7.827161mA -7.398777mA + 0.80 -7.747264mA -8.192150mA -7.614967mA + 0.90 -7.946053mA -8.442739mA -7.794856mA + 1.00 -8.112642mA -8.647928mA -7.949846mA + 1.10 -8.255932mA -8.820317mA -8.086935mA + 1.20 -8.381921mA -8.968206mA -8.210725mA + 1.30 -8.494611mA -9.097295mA -8.324315mA + 1.40 -8.596900mA -9.211784mA -8.430004mA + 1.50 -8.691089mA -9.314673mA -8.529494mA + 1.60 -8.778479mA -9.407962mA -8.623884mA + 1.70 -8.860368mA -9.493551mA -8.714073mA + 1.80 -8.937858mA -9.572640mA -8.800963mA + 1.90 -9.011447mA -9.646329mA -8.884952mA + 2.00 -9.081837mA -9.715418mA -8.966642mA + 2.10 -9.149526mA -9.780507mA -9.046332mA + 2.20 -9.214816mA -9.842296mA -9.124421mA + 2.30 -9.278305mA -9.901185mA -9.201211mA + 2.40 -9.340094mA -9.957574mA -9.277001mA + 2.50 -9.400784mA -10.011863mA -9.352391mA + 2.60 -9.460574mA -10.063852mA -9.427582mA + 2.70 -9.519964mA -10.115841mA -9.503173mA + 2.80 -9.579454mA -10.165830mA -9.579563mA + 2.90 -9.639644mA -10.215819mA -9.657654mA + 3.00 -9.701034mA -10.264808mA -9.737845mA + 3.10 -9.764525mA -10.315796mA -9.821135mA + 3.20 -9.830715mA -10.367780mA -9.908326mA + 3.30 -9.900606mA -10.421706mA -10.000817mA + 3.40 -9.975092mA -10.478956mA -10.098808mA + 3.50 -10.055705mA -10.535873mA -10.202798mA + 3.60 -10.141346mA -10.578599mA -10.316786mA + 3.70 -10.228551mA -10.620789mA -10.438679mA + 3.80 -10.281620mA -10.662980mA -10.570555mA + 3.90 -10.322662mA -10.705170mA -10.682977mA + 4.00 -10.363704mA -10.747360mA -10.725640mA + 4.10 -10.404746mA -10.789550mA -10.768303mA + 4.20 -10.445787mA -10.831741mA -10.810966mA + 4.30 -10.486829mA -10.873931mA -10.853629mA + 4.40 -10.527871mA -10.916121mA -10.896292mA + 4.50 -10.568913mA -10.958311mA -10.938955mA + 4.60 -10.609955mA -11.000502mA -10.981618mA + 4.70 -10.650997mA -11.042692mA -11.024281mA + 4.80 -10.692039mA -11.084882mA -11.066944mA + 4.90 -10.733081mA -11.127072mA -11.109607mA + 5.00 -10.774122mA -11.169262mA -11.152270mA + 5.10 -10.815164mA -11.211453mA -11.194933mA + 5.20 -10.856206mA -11.253643mA -11.237597mA + 5.30 -10.897248mA -11.295833mA -11.280260mA + 5.40 -10.938290mA -11.338023mA -11.322923mA + 5.50 -10.979332mA -11.380214mA -11.365586mA + 5.60 -11.020374mA -11.422404mA -11.408249mA + 5.70 -11.061416mA -11.464594mA -11.450912mA + 5.80 -11.102458mA -11.506784mA -11.493575mA + 5.90 -11.143499mA -11.548975mA -11.536238mA + 6.00 -11.184541mA -11.591165mA -11.578901mA + 6.10 -11.225583mA -11.633355mA -11.621564mA + 6.20 -11.266625mA -11.675545mA -11.664227mA + 6.30 -11.307667mA -11.717736mA -11.706890mA + 6.40 -11.348709mA -11.759926mA -11.749553mA + 6.50 -11.389751mA -11.802116mA -11.792216mA + 6.55 -11.410272mA -11.823211mA -11.813548mA +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.204000pA 1.415400nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.065000nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270300uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +[Ramp] +| variable typ min max +dV/dt_r 0.287529/0.242724n 0.301503/0.328867n 0.291718/0.195168n +dV/dt_f 0.313320/0.253363n 0.309840/0.389332n 0.311820/0.168025n +R_load = 50.000000 +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 2.782900V 2.609000V 2.960100V +0.2020ns 2.783000V 2.608900V 2.962600V +0.4040ns 2.787900V 2.610900V 3.090500V +0.6061ns 3.029800V 2.611800V 3.431300V +0.8081ns 3.255100V 2.678900V 3.466400V +1.0101ns 3.294700V 2.982700V 3.469200V +1.2121ns 3.298300V 3.109600V 3.469600V +1.4141ns 3.299300V 3.123400V 3.469800V +1.6162ns 3.299600V 3.137700V 3.469900V +1.8182ns 3.299700V 3.138900V 3.469900V +2.0202ns 3.299800V 3.139300V 3.469900V +2.2222ns 3.299900V 3.139600V 3.469900V +2.4242ns 3.299900V 3.139700V 3.469200V +2.6263ns 3.299900V 3.139700V 3.471700V +2.8283ns 3.299900V 3.139800V 3.470600V +3.0303ns 3.299900V 3.139800V 3.470200V +3.2323ns 3.299900V 3.139900V 3.470100V +3.4343ns 3.302400V 3.139900V 3.470000V +3.6364ns 3.301400V 3.139900V 3.470000V +3.8384ns 3.300600V 3.139900V 3.470000V +4.0404ns 3.300200V 3.139900V 3.470000V +4.2424ns 3.300000V 3.139900V 3.470000V +4.4444ns 3.300000V 3.139900V 3.470000V +4.6465ns 3.300000V 3.139900V 3.469900V +4.8485ns 3.300000V 3.140000V 3.469900V +5.0505ns 3.300000V 3.141300V 3.469900V +5.2525ns 3.300000V 3.142100V 3.469900V +5.4545ns 3.299900V 3.140900V 3.469900V +5.6566ns 3.299900V 3.140500V 3.469900V +5.8586ns 3.299900V 3.140200V 3.469900V +6.0606ns 3.299900V 3.140100V 3.469900V +6.2626ns 3.299900V 3.140000V 3.469900V +6.4646ns 3.299900V 3.140000V 3.469900V +6.6667ns 3.299900V 3.140000V 3.470000V +6.8687ns 3.299900V 3.140000V 3.470000V +7.0707ns 3.299900V 3.140000V 3.470000V +7.2727ns 3.299900V 3.139900V 3.470000V +7.4747ns 3.299900V 3.139900V 3.470000V +7.6768ns 3.299900V 3.139900V 3.470000V +7.8788ns 3.299900V 3.139900V 3.470000V +8.0808ns 3.299900V 3.139900V 3.470000V +8.2828ns 3.299900V 3.139900V 3.470000V +8.4848ns 3.299900V 3.139800V 3.470000V +8.6869ns 3.299900V 3.139800V 3.470000V +8.8889ns 3.299900V 3.139900V 3.470000V +9.0909ns 3.299900V 3.139900V 3.470000V +9.2929ns 3.299900V 3.139900V 3.470000V +9.4949ns 3.300000V 3.139900V 3.470000V +9.6970ns 3.300000V 3.139900V 3.470000V +9.8990ns 3.300000V 3.139900V 3.470000V +10.1010ns 3.300000V 3.139900V 3.470000V +10.3030ns 3.300000V 3.139900V 3.470000V +10.5051ns 3.300000V 3.139900V 3.470000V +10.7071ns 3.300000V 3.139900V 3.470000V +10.9091ns 3.300000V 3.139900V 3.470000V +11.1111ns 3.300000V 3.139900V 3.470000V +11.3131ns 3.300000V 3.139900V 3.470000V +11.5152ns 3.300000V 3.139900V 3.470000V +11.7172ns 3.300000V 3.139900V 3.470000V +11.9192ns 3.300000V 3.139900V 3.470000V +12.1212ns 3.300000V 3.139900V 3.470000V +12.3232ns 3.300000V 3.139900V 3.470000V +12.5253ns 3.300000V 3.139900V 3.470000V +12.7273ns 3.300000V 3.139900V 3.470000V +12.9293ns 3.300000V 3.139900V 3.470000V +13.1313ns 3.300000V 3.140000V 3.470000V +13.3333ns 3.300000V 3.140000V 3.470000V +13.5354ns 3.300000V 3.140000V 3.470000V +13.7374ns 3.300000V 3.140000V 3.470000V +13.9394ns 3.300000V 3.140000V 3.470000V +14.1414ns 3.300000V 3.140000V 3.470000V +14.3434ns 3.300000V 3.140000V 3.470000V +14.5455ns 3.300000V 3.140000V 3.470000V +14.7475ns 3.300000V 3.140000V 3.470000V +14.9495ns 3.300000V 3.140000V 3.470000V +15.1515ns 3.300000V 3.140000V 3.470000V +15.3535ns 3.300000V 3.140000V 3.470000V +15.5556ns 3.300000V 3.140000V 3.470000V +15.7576ns 3.300000V 3.140000V 3.470000V +15.9596ns 3.300000V 3.140000V 3.470000V +16.1616ns 3.300000V 3.140000V 3.470000V +16.3636ns 3.300000V 3.140000V 3.470000V +16.5657ns 3.300000V 3.140000V 3.470000V +16.7677ns 3.300000V 3.140000V 3.470000V +16.9697ns 3.300000V 3.140000V 3.470000V +17.1717ns 3.300000V 3.140000V 3.470000V +17.3737ns 3.300000V 3.140000V 3.470000V +17.5758ns 3.300000V 3.140000V 3.470000V +17.7778ns 3.300000V 3.140000V 3.470000V +17.9798ns 3.300000V 3.140000V 3.470000V +18.1818ns 3.300000V 3.140000V 3.470000V +18.3838ns 3.300000V 3.140000V 3.470000V +18.5859ns 3.300000V 3.140000V 3.470000V +18.7879ns 3.300000V 3.140000V 3.470000V +18.9899ns 3.300000V 3.140000V 3.470000V +19.1919ns 3.300000V 3.140000V 3.470000V +19.3939ns 3.300000V 3.140000V 3.470000V +19.5960ns 3.300000V 3.140000V 3.470000V +19.7980ns 3.300000V 3.140000V 3.470000V +20.0000ns 3.300000V 3.140000V 3.470000V +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 4.225900uV 4.920300uV 3.956100uV +0.2020ns -0.116150mV 2.502300uV -0.231550mV +0.4040ns -1.969300mV 5.640900uV 0.966840mV +0.6061ns 23.188000mV -0.508470mV 0.314560V +0.8081ns 0.256150V -5.285700mV 0.577600V +1.0101ns 0.498250V 54.786000mV 0.667290V +1.2121ns 0.599860V 0.232770V 0.689990V +1.4141ns 0.636760V 0.420560V 0.696020V +1.6162ns 0.647730V 0.550470V 0.696970V +1.8182ns 0.651730V 0.605400V 0.696980V +2.0202ns 0.652900V 0.628190V 0.696540V +2.2222ns 0.653040V 0.636320V 0.696120V +2.4242ns 0.653000V 0.639440V 0.698020V +2.6263ns 0.652920V 0.640980V 0.608850V +2.8283ns 0.652830V 0.641740V 0.523850V +3.0303ns 0.652750V 0.642070V 0.484440V +3.2323ns 0.652670V 0.642220V 0.464640V +3.4343ns 0.646540V 0.642370V 0.456500V +3.6364ns 0.546150V 0.642430V 0.451090V +3.8384ns 0.483220V 0.642470V 0.449010V +4.0404ns 0.451320V 0.642490V 0.447190V +4.2424ns 0.434720V 0.642510V 0.447190V +4.4444ns 0.427460V 0.642520V 0.447460V +4.6465ns 0.422730V 0.642530V 0.449720V +4.8485ns 0.420080V 0.642410V 0.452230V +5.0505ns 0.418790V 0.647910V 0.454820V +5.2525ns 0.418520V 0.569370V 0.457130V +5.4545ns 0.419000V 0.507240V 0.459260V +5.6566ns 0.420340V 0.472210V 0.461230V +5.8586ns 0.422900V 0.450470V 0.463090V +6.0606ns 0.425610V 0.440570V 0.464890V +6.2626ns 0.428790V 0.434240V 0.466650V +6.4646ns 0.432030V 0.430580V 0.468260V +6.6667ns 0.435070V 0.428580V 0.469780V +6.8687ns 0.437890V 0.427410V 0.471150V +7.0707ns 0.440590V 0.426660V 0.472420V +7.2727ns 0.443180V 0.426510V 0.473570V +7.4747ns 0.445620V 0.426790V 0.474650V +7.6768ns 0.447910V 0.427810V 0.475620V +7.8788ns 0.450050V 0.429350V 0.476520V +8.0808ns 0.452040V 0.431730V 0.477340V +8.2828ns 0.453900V 0.435000V 0.478100V +8.4848ns 0.455630V 0.438710V 0.478780V +8.6869ns 0.457250V 0.442390V 0.479420V +8.8889ns 0.458760V 0.446040V 0.479990V +9.0909ns 0.460180V 0.449510V 0.480530V +9.2929ns 0.461490V 0.452860V 0.481010V +9.4949ns 0.462720V 0.455990V 0.481460V +9.6970ns 0.463870V 0.458960V 0.481860V +9.8990ns 0.464940V 0.461730V 0.482240V +10.1010ns 0.466405V 0.465580V 0.482735V +10.3030ns 0.467740V 0.469110V 0.483180V +10.5051ns 0.468550V 0.471260V 0.483440V +10.7071ns 0.469310V 0.473300V 0.483680V +10.9091ns 0.470010V 0.475190V 0.483900V +11.1111ns 0.470670V 0.476990V 0.484100V +11.3131ns 0.471280V 0.478660V 0.484280V +11.5152ns 0.471860V 0.480240V 0.484450V +11.7172ns 0.472390V 0.481710V 0.484610V +11.9192ns 0.472890V 0.483100V 0.484740V +12.1212ns 0.473350V 0.484400V 0.484870V +12.3232ns 0.473780V 0.485630V 0.484990V +12.5253ns 0.474180V 0.486770V 0.485100V +12.7273ns 0.474560V 0.487850V 0.485200V +12.9293ns 0.474910V 0.488850V 0.485290V +13.1313ns 0.475230V 0.489800V 0.485370V +13.3333ns 0.475530V 0.490690V 0.485440V +13.5354ns 0.475810V 0.491530V 0.485510V +13.7374ns 0.476080V 0.492300V 0.485570V +13.9394ns 0.476320V 0.493040V 0.485630V +14.1414ns 0.476550V 0.493730V 0.485680V +14.3434ns 0.476760V 0.494380V 0.485730V +14.5455ns 0.476960V 0.494980V 0.485780V +14.7475ns 0.477140V 0.495550V 0.485810V +14.9495ns 0.477310V 0.496080V 0.485850V +15.1515ns 0.477470V 0.496580V 0.485880V +15.3535ns 0.477620V 0.497050V 0.485920V +15.5556ns 0.477760V 0.497490V 0.485940V +15.7576ns 0.477880V 0.497900V 0.485970V +15.9596ns 0.478000V 0.498290V 0.485990V +16.1616ns 0.478110V 0.498650V 0.486010V +16.3636ns 0.478220V 0.499000V 0.486030V +16.5657ns 0.478310V 0.499300V 0.486050V +16.7677ns 0.478400V 0.499590V 0.486070V +16.9697ns 0.478480V 0.499870V 0.486080V +17.1717ns 0.478560V 0.500150V 0.486100V +17.3737ns 0.478630V 0.500410V 0.486110V +17.5758ns 0.478700V 0.500640V 0.486120V +17.7778ns 0.478760V 0.500850V 0.486130V +17.9798ns 0.478820V 0.501040V 0.486140V +18.1818ns 0.478870V 0.501230V 0.486150V +18.3838ns 0.478920V 0.501420V 0.486160V +18.5859ns 0.478970V 0.501600V 0.486160V +18.7879ns 0.479010V 0.501750V 0.486170V +18.9899ns 0.479050V 0.501890V 0.486170V +19.1919ns 0.479090V 0.502030V 0.486180V +19.3939ns 0.479130V 0.502160V 0.486190V +19.5960ns 0.479160V 0.502290V 0.486190V +19.7980ns 0.479190V 0.502400V 0.486190V +20.0000ns 0.479220V 0.502510V 0.486200V +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 0.479590V 0.504150V 0.486240V +0.2020ns 0.479620V 0.504110V 0.490470V +0.4040ns 0.474700V 0.515850V 0.339650V +0.6061ns 0.247410V 0.518820V 26.921000mV +0.8081ns 33.630000mV 0.443630V 3.148700mV +1.0101ns 5.280400mV 0.238780V 1.060300mV +1.2121ns 1.954600mV 78.283000mV 0.294910mV +1.4141ns 1.002900mV 15.120000mV 0.121950mV +1.6162ns 0.281790mV 5.205600mV 54.285000uV +1.8182ns 0.158200mV 2.668100mV 18.736000uV +2.0202ns 86.848000uV 1.413600mV -3.438700uV +2.2222ns 51.525000uV 0.962940mV -2.338900uV +2.4242ns 18.844000uV 0.395150mV -0.402350mV +2.6263ns 5.905300uV 0.211990mV -8.792700uV +2.8283ns 1.900600uV 0.117500mV -65.770000uV +3.0303ns -0.928100uV 94.558000uV -55.523000uV +3.2323ns 1.519900uV 57.044000uV -52.135000uV +3.4343ns 91.150000uV 30.103000uV -44.758000uV +3.6364ns -33.181000uV 19.965000uV -45.346000uV +3.8384ns -61.875000uV 10.378000uV -43.013000uV +4.0404ns -55.678000uV 5.470400uV -40.659000uV +4.2424ns -56.185000uV 2.225700uV -38.424000uV +4.4444ns -54.079000uV 0.339030uV -36.424000uV +4.6465ns -49.722000uV 42.294000nV -34.475000uV +4.8485ns -47.356000uV -67.623000uV -32.629000uV +5.0505ns -45.017000uV 0.334260mV -30.892000uV +5.2525ns -42.772000uV 24.321000uV -29.369000uV +5.4545ns -40.550000uV -57.294000uV -27.879000uV +5.6566ns -38.605000uV -81.026000uV -26.455000uV +5.8586ns -36.728000uV -83.374000uV -25.106000uV +6.0606ns -34.884000uV -73.915000uV -23.906000uV +6.2626ns -33.048000uV -70.059000uV -22.718000uV +6.4646ns -31.513000uV -66.837000uV -21.555000uV +6.6667ns -30.051000uV -63.741000uV -20.455000uV +6.8687ns -28.580000uV -60.682000uV -19.480000uV +7.0707ns -27.108000uV -57.943000uV -18.510000uV +7.2727ns -25.888000uV -55.297000uV -17.548000uV +7.4747ns -24.730000uV -52.722000uV -16.641000uV +7.6768ns -23.520000uV -50.167000uV -15.845000uV +7.8788ns -22.298000uV -47.891000uV -15.046000uV +8.0808ns -21.294000uV -45.695000uV -14.242000uV +8.2828ns -20.344000uV -43.550000uV -13.487000uV +8.4848ns -19.327000uV -41.420000uV -12.832000uV +8.6869ns -18.294000uV -39.563000uV -12.169000uV +8.8889ns -17.459000uV -37.784000uV -11.491000uV +9.0909ns -16.672000uV -36.017000uV -10.860000uV +9.2929ns -15.813000uV -34.253000uV -10.318000uV +9.4949ns -14.935000uV -32.736000uV -9.766400uV +9.6970ns -14.237000uV -31.289000uV -9.192700uV +9.8990ns -13.584000uV -29.817000uV -8.661200uV +10.1010ns -12.478000uV -27.709000uV -7.982350uV +10.3030ns -11.518000uV -25.885000uV -7.262900uV +10.5051ns -10.975000uV -24.642000uV -6.813500uV +10.7071ns -10.351000uV -23.387000uV -6.441800uV +10.9091ns -9.707800uV -22.333000uV -6.054500uV +11.1111ns -9.217800uV -21.337000uV -5.636200uV +11.3131ns -8.765200uV -20.281000uV -5.254700uV +11.5152ns -8.231600uV -19.208000uV -4.946000uV +11.7172ns -7.678200uV -18.321000uV -4.620100uV +11.9192ns -7.266900uV -17.488000uV -4.260300uV +12.1212ns -6.890500uV -16.587000uV -3.935200uV +12.3232ns -6.432500uV -15.666000uV -3.678600uV +12.5253ns -5.954600uV -14.919000uV -3.403800uV +12.7273ns -5.609300uV -14.221000uV -3.092900uV +12.9293ns -5.296400uV -13.450000uV -2.814900uV +13.1313ns -4.902200uV -12.657000uV -2.601600uV +13.3333ns -4.488100uV -12.026000uV -2.369400uV +13.5354ns -4.198200uV -11.442000uV -2.099800uV +13.7374ns -3.938700uV -10.780000uV -1.861200uV +13.9394ns -3.598400uV -10.096000uV -1.684200uV +14.1414ns -3.238300uV -9.563600uV -1.487800uV +14.3434ns -2.995000uV -9.074900uV -1.252900uV +14.5455ns -2.780300uV -8.505800uV -1.047700uV +14.7475ns -2.485800uV -7.913400uV -0.901200uV +14.9495ns -2.171700uV -7.464100uV -0.734910uV +15.1515ns -1.967700uV -7.055800uV -0.529500uV +15.3535ns -1.790700uV -6.565500uV -0.352370uV +15.5556ns -1.535100uV -6.051500uV -0.231220uV +15.7576ns -1.260300uV -5.672300uV -90.901000nV +15.9596ns -1.089700uV -5.331900uV 87.337000nV +16.1616ns -0.944660uV -4.908600uV 0.238960uV +16.3636ns -0.722200uV -4.461500uV 0.337930uV +16.5657ns -0.480790uV -4.141700uV 0.456510uV +16.7677ns -0.338220uV -3.858700uV 0.613870uV +16.9697ns -0.219860uV -3.492600uV 0.746520uV +17.1717ns -26.846000nV -3.102500uV 0.830300uV +17.3737ns 0.184450uV -2.833200uV 0.932440uV +17.5758ns 0.301760uV -2.598700uV 1.070900uV +17.7778ns 0.396050uV -2.281300uV 1.185800uV +17.9798ns 0.563350uV -1.940200uV 1.253900uV +18.1818ns 0.748530uV -1.713800uV 1.340400uV +18.3838ns 0.849240uV -1.520500uV 1.463300uV +18.5859ns 0.929260uV -1.244900uV 1.563400uV +18.7879ns 1.076500uV -0.945630uV 1.618300uV +18.9899ns 1.240200uV -0.755480uV 1.685500uV +19.1919ns 1.323300uV -0.596720uV 1.777100uV +19.3939ns 1.386600uV -0.356900uV 1.868700uV +19.5960ns 1.516000uV -93.762000nV 1.960300uV +19.7980ns 1.661600uV 58.234000nV 2.029300uV +20.0000ns 1.679900uV 0.178250uV 2.053600uV +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 3.300000V 3.140000V 3.470000V +0.2020ns 3.299700V 3.140000V 3.468600V +0.4040ns 3.300900V 3.139100V 3.481500V +0.6061ns 3.273500V 3.140100V 3.087100V +0.8081ns 2.996200V 3.146300V 2.839700V +1.0101ns 2.788200V 3.080900V 2.749500V +1.2121ns 2.688900V 2.938500V 2.718000V +1.4141ns 2.644300V 2.755500V 2.708000V +1.6162ns 2.624600V 2.644100V 2.704400V +1.8182ns 2.616600V 2.580800V 2.704300V +2.0202ns 2.613600V 2.541800V 2.704600V +2.2222ns 2.612200V 2.522600V 2.705800V +2.4242ns 2.612400V 2.511700V 2.715900V +2.6263ns 2.613100V 2.506400V 2.750300V +2.8283ns 2.613800V 2.503800V 2.759900V +3.0303ns 2.614700V 2.502700V 2.769100V +3.2323ns 2.615500V 2.502100V 2.777600V +3.4343ns 2.621600V 2.502400V 2.785300V +3.6364ns 2.628100V 2.502800V 2.792600V +3.8384ns 2.632500V 2.503300V 2.799400V +4.0404ns 2.639100V 2.503900V 2.806100V +4.2424ns 2.645800V 2.504500V 2.812200V +4.4444ns 2.652000V 2.505100V 2.818200V +4.6465ns 2.658100V 2.505700V 2.823700V +4.8485ns 2.663800V 2.508100V 2.829100V +5.0505ns 2.669000V 2.489000V 2.834000V +5.2525ns 2.674300V 2.476800V 2.838800V +5.4545ns 2.679100V 2.477300V 2.843300V +5.6566ns 2.683900V 2.482300V 2.847700V +5.8586ns 2.688200V 2.488300V 2.851700V +6.0606ns 2.692500V 2.494500V 2.855700V +6.2626ns 2.696400V 2.500200V 2.859400V +6.4646ns 2.700300V 2.505800V 2.863000V +6.6667ns 2.703900V 2.511100V 2.866300V +6.8687ns 2.707400V 2.516200V 2.869600V +7.0707ns 2.710700V 2.521000V 2.872700V +7.2727ns 2.713900V 2.525700V 2.875700V +7.4747ns 2.716900V 2.530100V 2.878500V +7.6768ns 2.719800V 2.534400V 2.881200V +7.8788ns 2.722500V 2.538400V 2.883800V +8.0808ns 2.725200V 2.542300V 2.886300V +8.2828ns 2.727700V 2.545900V 2.888700V +8.4848ns 2.730200V 2.549500V 2.891000V +8.6869ns 2.732400V 2.552800V 2.893100V +8.8889ns 2.734700V 2.556100V 2.895300V +9.0909ns 2.736800V 2.559100V 2.897300V +9.2929ns 2.738800V 2.562100V 2.899200V +9.4949ns 2.740700V 2.564900V 2.901100V +9.6970ns 2.742600V 2.567700V 2.903000V +9.8990ns 2.744300V 2.570200V 2.904700V +10.1010ns 2.746850V 2.573900V 2.907350V +10.3030ns 2.749200V 2.577400V 2.909900V +10.5051ns 2.750700V 2.579600V 2.911600V +10.7071ns 2.752100V 2.581700V 2.913200V +10.9091ns 2.753400V 2.583700V 2.914800V +11.1111ns 2.754700V 2.585700V 2.916300V +11.3131ns 2.756000V 2.587500V 2.917800V +11.5152ns 2.757200V 2.589300V 2.919300V +11.7172ns 2.758300V 2.591000V 2.920700V +11.9192ns 2.759400V 2.592600V 2.922000V +12.1212ns 2.760400V 2.594200V 2.923300V +12.3232ns 2.761400V 2.595700V 2.924600V +12.5253ns 2.762300V 2.597100V 2.925800V +12.7273ns 2.763200V 2.598500V 2.927000V +12.9293ns 2.764000V 2.599800V 2.928100V +13.1313ns 2.764900V 2.601100V 2.929200V +13.3333ns 2.765600V 2.602300V 2.930200V +13.5354ns 2.766400V 2.603500V 2.931300V +13.7374ns 2.767100V 2.604600V 2.932200V +13.9394ns 2.767800V 2.605700V 2.933200V +14.1414ns 2.768400V 2.606800V 2.934100V +14.3434ns 2.769000V 2.607800V 2.935000V +14.5455ns 2.769600V 2.608700V 2.935800V +14.7475ns 2.770200V 2.609600V 2.936600V +14.9495ns 2.770700V 2.610500V 2.937400V +15.1515ns 2.771200V 2.611300V 2.938200V +15.3535ns 2.771700V 2.612100V 2.938900V +15.5556ns 2.772200V 2.612900V 2.939600V +15.7576ns 2.772600V 2.613600V 2.940300V +15.9596ns 2.773000V 2.614400V 2.941000V +16.1616ns 2.773400V 2.615000V 2.941600V +16.3636ns 2.773800V 2.615700V 2.942200V +16.5657ns 2.774100V 2.616300V 2.942800V +16.7677ns 2.774400V 2.616900V 2.943400V +16.9697ns 2.774700V 2.617500V 2.943900V +17.1717ns 2.775000V 2.618000V 2.944500V +17.3737ns 2.775300V 2.618600V 2.945000V +17.5758ns 2.775600V 2.619100V 2.945500V +17.7778ns 2.775800V 2.619500V 2.945900V +17.9798ns 2.776100V 2.620000V 2.946400V +18.1818ns 2.776300V 2.620400V 2.946900V +18.3838ns 2.776500V 2.620900V 2.947300V +18.5859ns 2.776700V 2.621300V 2.947700V +18.7879ns 2.776900V 2.621700V 2.948100V +18.9899ns 2.777100V 2.622000V 2.948500V +19.1919ns 2.777200V 2.622400V 2.948900V +19.3939ns 2.777400V 2.622700V 2.949300V +19.5960ns 2.777500V 2.623000V 2.949600V +19.7980ns 2.777700V 2.623300V 2.950000V +20.0000ns 2.777800V 2.623600V 2.950300V +| +| End [Model] lvc330f040aaaaaaaaio +|************************************************************************ +[Model] lvc330fxxxaaaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.201000pA 1.415500nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.065000nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270400uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +| End [Model] lvc330fxxxaaaaaaaain +|************************************************************************ +[Model] lvc330fxxxbaaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201050A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133030A + -1.38 -0.116640A -0.121710A -0.116640A + -1.30 -0.101410A -0.107420A -0.100700A + -1.22 -86.417000mA -93.409000mA -84.978000mA + -1.14 -71.666000mA -79.637000mA -69.556000mA + -1.06 -57.221000mA -66.146000mA -54.661000mA + -0.98 -43.217000mA -53.024000mA -40.890000mA + -0.90 -29.927000mA -40.408000mA -29.654000mA + -0.82 -17.982000mA -28.511000mA -21.115000mA + -0.74 -8.854400mA -17.682000mA -13.653000mA + -0.66 -3.663100mA -8.577600mA -7.237700mA + -0.58 -1.172200mA -2.564300mA -2.648300mA + -0.50 -0.318120mA -0.464400mA -0.594790mA + -0.42 -0.137880mA -0.131860mA -0.170510mA + -0.34 -0.109480mA -92.671000uA -0.122000mA + -0.26 -0.105780mA -87.760000uA -0.117970mA + -0.18 -0.105360mA -87.079000uA -0.117690mA + -0.10 -0.105300mA -86.972000uA -0.117660mA + -0.02 -0.105290mA -86.946000uA -0.117640mA + 0.06 -0.105270mA -86.931000uA -0.117630mA + 0.14 -0.105260mA -86.918000uA -0.117610mA + 0.22 -0.105240mA -86.905000uA -0.117600mA + 0.30 -0.105230mA -86.892000uA -0.117580mA + 0.38 -0.105220mA -86.878000uA -0.117560mA + 0.46 -0.105200mA -86.864000uA -0.117540mA + 0.54 -0.105180mA -86.849000uA -0.117530mA + 0.62 -0.105170mA -86.834000uA -0.117500mA + 0.70 -0.105150mA -86.818000uA -0.117480mA + 0.78 -0.105130mA -86.801000uA -0.117460mA + 0.86 -0.105110mA -86.783000uA -0.117420mA + 0.94 -0.105060mA -86.761000uA -0.117350mA + 1.02 -0.105000mA -86.718000uA -0.117250mA + 1.10 -0.104900mA -86.652000uA -0.117140mA + 1.18 -0.104790mA -86.563000uA -0.117010mA + 1.26 -0.104660mA -86.454000uA -0.116870mA + 1.34 -0.104520mA -86.328000uA -0.116710mA + 1.42 -0.104360mA -86.186000uA -0.116550mA + 1.50 -0.104190mA -86.027000uA -0.116380mA + 1.58 -0.104010mA -85.852000uA -0.116200mA + 1.66 -0.103810mA -85.660000uA -0.116010mA + 1.74 -0.103600mA -85.448000uA -0.115810mA + 1.82 -0.103380mA -85.214000uA -0.115600mA + 1.90 -0.103130mA -84.953000uA -0.115380mA + 1.98 -0.102860mA -84.659000uA -0.115140mA + 2.06 -0.102560mA -84.336000uA -0.114880mA + 2.14 -0.102230mA -83.988000uA -0.114600mA + 2.22 -0.101860mA -83.605000uA -0.114300mA + 2.30 -0.101430mA -83.172000uA -0.113960mA + 2.38 -0.100960mA -82.673000uA -0.113590mA + 2.46 -0.100430mA -82.088000uA -0.113170mA + 2.54 -99.809000uA -81.393000uA -0.112690mA + 2.62 -99.072000uA -80.257000uA -0.112130mA + 2.70 -98.172000uA -76.079000uA -0.111480mA + 2.78 -97.041000uA -68.566000uA -0.110710mA + 2.86 -94.411000uA -58.013000uA -0.109770mA + 2.94 -86.817000uA -44.639000uA -0.108560mA + 3.02 -74.531000uA -28.610000uA -0.106940mA + 3.10 -57.975000uA -10.054000uA -0.102590mA + 3.18 -37.471000uA 11.025000uA -91.172000uA + 3.26 -13.273000uA 34.949000uA -73.303000uA + 3.30 0.149480uA 48.450000uA -62.148000uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.925400uA 1.695300uA 2.182200uA + -3.26 1.907100uA 1.679500uA 2.161600uA + -3.22 1.889100uA 1.664000uA 2.141300uA + -3.18 1.871200uA 1.648600uA 2.121100uA + -3.14 1.853600uA 1.633400uA 2.101200uA + -3.10 1.836100uA 1.618400uA 2.081400uA + -3.06 1.818900uA 1.603500uA 2.061900uA + -3.02 1.801800uA 1.588800uA 2.042600uA + -2.98 1.785000uA 1.574200uA 2.023500uA + -2.94 1.768300uA 1.559800uA 2.004600uA + -2.90 1.751800uA 1.545600uA 1.985900uA + -2.86 1.735600uA 1.531500uA 1.967400uA + -2.82 1.719500uA 1.517600uA 1.949100uA + -2.78 1.703600uA 1.503800uA 1.931100uA + -2.74 1.687800uA 1.490200uA 1.913200uA + -2.70 1.672300uA 1.476700uA 1.895500uA + -2.66 1.657000uA 1.463400uA 1.878100uA + -2.62 1.641800uA 1.450200uA 1.860800uA + -2.58 1.626800uA 1.437200uA 1.843800uA + -2.54 1.612000uA 1.424300uA 1.827000uA + -2.50 1.597400uA 1.411500uA 1.810300uA + -2.46 1.582900uA 1.398900uA 1.793900uA + -2.42 1.568600uA 1.386500uA 1.777600uA + -2.38 1.554500uA 1.374100uA 1.761600uA + -2.34 1.540600uA 1.361900uA 1.745700uA + -2.30 1.526800uA 1.349900uA 1.730100uA + -2.26 1.513300uA 1.337900uA 1.714600uA + -2.22 1.499800uA 1.326100uA 1.699300uA + -2.18 1.486600uA 1.314500uA 1.684300uA + -2.14 1.473500uA 1.302900uA 1.669400uA + -2.10 1.460500uA 1.291500uA 1.654700uA + -2.06 1.447700uA 1.280200uA 1.640100uA + -2.02 1.435100uA 1.269000uA 1.625800uA + -1.98 1.422600uA 1.257900uA 1.611700uA + -1.94 1.410300uA 1.247000uA 1.597700uA + -1.90 1.398200uA 1.236200uA 1.583900uA + -1.86 1.386100uA 1.225500uA 1.570300uA + -1.82 1.374300uA 1.214800uA 1.556900uA + -1.78 1.362500uA 1.204400uA 1.543600uA + -1.74 1.351000uA 1.194000uA 1.530500uA + -1.70 1.339500uA 1.183700uA 1.517600uA + -1.66 1.328200uA 1.173500uA 1.504900uA + -1.62 1.317000uA 1.163400uA 1.492300uA + -1.58 1.306000uA 1.153500uA 1.479900uA + -1.54 1.295100uA 1.143600uA 1.467600uA + -1.50 1.284300uA 1.133800uA 1.455500uA + -1.46 1.273700uA 1.124100uA 1.443600uA + -1.42 1.263200uA 1.114500uA 1.431800uA + -1.38 1.252800uA 1.105000uA 1.420200uA + -1.34 1.242500uA 1.095600uA 1.408700uA + -1.30 1.232300uA 1.086200uA 1.397400uA + -1.26 1.222300uA 1.077000uA 1.386200uA + -1.22 1.212300uA 1.067800uA 1.375200uA + -1.18 1.202500uA 1.058700uA 1.364300uA + -1.14 1.192800uA 1.049700uA 1.353500uA + -1.10 1.183200uA 1.040800uA 1.342900uA + -1.06 1.173700uA 1.031900uA 1.332400uA + -1.02 1.164300uA 1.023100uA 1.322100uA + -0.98 1.154900uA 1.014400uA 1.311900uA + -0.94 1.145700uA 1.005700uA 1.301800uA + -0.90 1.136600uA 0.997110uA 1.291800uA + -0.86 1.127600uA 0.988570uA 1.281900uA + -0.82 1.118600uA 0.980090uA 1.272200uA + -0.78 1.109700uA 0.971680uA 1.262500uA + -0.74 1.100900uA 0.963320uA 1.253000uA + -0.70 1.092200uA 0.955010uA 1.243600uA + -0.66 1.083600uA 0.946770uA 1.234300uA + -0.62 1.075000uA 0.938590uA 1.225100uA + -0.58 1.066500uA 0.930470uA 1.215900uA + -0.54 1.058100uA 0.922430uA 1.206900uA + -0.50 1.049700uA 0.914500uA 1.198000uA + -0.46 1.041400uA 0.906750uA 1.189000uA + -0.42 1.033100uA 0.899340uA 1.180100uA + -0.38 1.024800uA 0.892740uA 1.171100uA + -0.34 1.020592uA 0.890363uA 1.166191uA + -0.30 1.020569uA 0.890343uA 1.166164uA + -0.26 1.020475uA 0.890261uA 1.166058uA + -0.22 1.020102uA 0.889935uA 1.165631uA + -0.18 1.018607uA 0.888631uA 1.163922uA + -0.14 1.012627uA 0.883414uA 1.157089uA + -0.10 0.988706uA 0.862546uA 1.129756uA + -0.06 0.893025uA 0.779074uA 1.020425uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +| End [Model] lvc330fxxxbaaaaaaain +|************************************************************************ +[Model] lvc330fxxxcaaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447790A -0.471180A + -2.18 -0.421140A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201050A -0.209560A + -1.62 -0.174190A -0.174390A -0.177660A + -1.54 -0.150480A -0.153310A -0.151880A + -1.46 -0.132440A -0.136600A -0.133040A + -1.38 -0.116650A -0.121720A -0.116660A + -1.30 -0.101420A -0.107430A -0.100730A + -1.22 -86.431000mA -93.414000mA -85.016000mA + -1.14 -71.684000mA -79.643000mA -69.612000mA + -1.06 -57.245000mA -66.154000mA -54.753000mA + -0.98 -43.252000mA -53.034000mA -41.074000mA + -0.90 -29.984000mA -40.420000mA -30.037000mA + -0.82 -18.095000mA -28.529000mA -21.592000mA + -0.74 -9.103200mA -17.711000mA -14.139000mA + -0.66 -4.031300mA -8.632500mA -7.727000mA + -0.58 -1.542300mA -2.680900mA -3.137100mA + -0.50 -0.637910mA -0.641580mA -1.050200mA + -0.42 -0.382200mA -0.283040mA -0.537030mA + -0.34 -0.274320mA -0.191220mA -0.380580mA + -0.26 -0.195030mA -0.134430mA -0.271430mA + -0.18 -0.125260mA -86.198000uA -0.174070mA + -0.10 -63.603000uA -43.916000uA -87.706000uA + -0.02 -11.477000uA -8.053000uA -15.489000uA + 0.06 29.171000uA 20.579000uA 38.171000uA + 0.14 58.135000uA 42.109000uA 72.311000uA + 0.22 76.454000uA 57.027000uA 90.391000uA + 0.30 86.646000uA 66.282000uA 99.147000uA + 0.38 91.915000uA 71.334000uA 0.103720mA + 0.46 94.550000uA 73.863000uA 0.106370mA + 0.54 95.817000uA 75.185000uA 0.107930mA + 0.62 96.442000uA 75.976000uA 0.108770mA + 0.70 96.793000uA 76.516000uA 0.109190mA + 0.78 97.021000uA 76.923000uA 0.109410mA + 0.86 97.187000uA 77.250000uA 0.109550mA + 0.94 97.320000uA 77.526000uA 0.109650mA + 1.02 97.431000uA 77.766000uA 0.109720mA + 1.10 97.528000uA 77.982000uA 0.109790mA + 1.18 97.616000uA 78.178000uA 0.109850mA + 1.26 97.697000uA 78.360000uA 0.109900mA + 1.34 97.773000uA 78.530000uA 0.109950mA + 1.42 97.844000uA 78.691000uA 0.110000mA + 1.50 97.912000uA 78.844000uA 0.110050mA + 1.58 97.978000uA 78.991000uA 0.110090mA + 1.66 98.042000uA 79.132000uA 0.110130mA + 1.74 98.104000uA 79.268000uA 0.110170mA + 1.82 98.164000uA 79.399000uA 0.110220mA + 1.90 98.223000uA 79.526000uA 0.110260mA + 1.98 98.280000uA 79.648000uA 0.110300mA + 2.06 98.337000uA 79.768000uA 0.110330mA + 2.14 98.393000uA 79.890000uA 0.110370mA + 2.22 98.448000uA 80.015000uA 0.110410mA + 2.30 98.503000uA 80.140000uA 0.110450mA + 2.38 98.559000uA 80.265000uA 0.110490mA + 2.46 98.617000uA 80.391000uA 0.110530mA + 2.54 98.679000uA 80.518000uA 0.110570mA + 2.62 98.744000uA 80.648000uA 0.110620mA + 2.70 98.813000uA 80.782000uA 0.110670mA + 2.78 98.889000uA 80.922000uA 0.110720mA + 2.86 98.972000uA 81.070000uA 0.110780mA + 2.94 99.065000uA 81.227000uA 0.110850mA + 3.02 99.170000uA 81.396000uA 0.110930mA + 3.10 99.290000uA 81.580000uA 0.111020mA + 3.18 99.427000uA 81.843000uA 0.111120mA + 3.26 99.584000uA 82.507000uA 0.111250mA + 3.30 99.674000uA 83.566000uA 0.111320mA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 0.153710mA 0.132100mA 0.170160mA + -3.26 0.152730mA 0.131080mA 0.169210mA + -3.22 0.151750mA 0.130060mA 0.168250mA + -3.18 0.150760mA 0.129030mA 0.167280mA + -3.14 0.149760mA 0.128000mA 0.166290mA + -3.10 0.148750mA 0.126970mA 0.165290mA + -3.06 0.147740mA 0.125930mA 0.164280mA + -3.02 0.146720mA 0.124900mA 0.163270mA + -2.98 0.145700mA 0.123870mA 0.162240mA + -2.94 0.144670mA 0.122850mA 0.161210mA + -2.90 0.143640mA 0.121820mA 0.160170mA + -2.86 0.142610mA 0.120800mA 0.159120mA + -2.82 0.141580mA 0.119780mA 0.158070mA + -2.78 0.140550mA 0.118770mA 0.157010mA + -2.74 0.139520mA 0.117770mA 0.155950mA + -2.70 0.138490mA 0.116770mA 0.154890mA + -2.66 0.137460mA 0.115780mA 0.153830mA + -2.62 0.136440mA 0.114800mA 0.152760mA + -2.58 0.135420mA 0.113820mA 0.151700mA + -2.54 0.134410mA 0.112860mA 0.150630mA + -2.50 0.133400mA 0.111900mA 0.149570mA + -2.46 0.132400mA 0.110960mA 0.148510mA + -2.42 0.131410mA 0.110030mA 0.147460mA + -2.38 0.130420mA 0.109110mA 0.146410mA + -2.34 0.129450mA 0.108200mA 0.145370mA + -2.30 0.128490mA 0.107310mA 0.144330mA + -2.26 0.127530mA 0.106430mA 0.143310mA + -2.22 0.126590mA 0.105570mA 0.142290mA + -2.18 0.125660mA 0.104720mA 0.141280mA + -2.14 0.124750mA 0.103880mA 0.140280mA + -2.10 0.123850mA 0.103060mA 0.139300mA + -2.06 0.122960mA 0.102260mA 0.138330mA + -2.02 0.122090mA 0.101480mA 0.137370mA + -1.98 0.121230mA 0.100710mA 0.136420mA + -1.94 0.120390mA 99.955000uA 0.135490mA + -1.90 0.119560mA 99.221000uA 0.134580mA + -1.86 0.118760mA 98.504000uA 0.133680mA + -1.82 0.117970mA 97.804000uA 0.132800mA + -1.78 0.117200mA 97.123000uA 0.131940mA + -1.74 0.116440mA 96.459000uA 0.131090mA + -1.70 0.115710mA 95.814000uA 0.130260mA + -1.66 0.114990mA 95.186000uA 0.129460mA + -1.62 0.114300mA 94.577000uA 0.128670mA + -1.58 0.113620mA 93.985000uA 0.127900mA + -1.54 0.112960mA 93.412000uA 0.127150mA + -1.50 0.112320mA 92.857000uA 0.126420mA + -1.46 0.111700mA 92.319000uA 0.125710mA + -1.42 0.111100mA 91.799000uA 0.125030mA + -1.38 0.110520mA 91.297000uA 0.124360mA + -1.34 0.109960mA 90.812000uA 0.123710mA + -1.30 0.109420mA 90.344000uA 0.123090mA + -1.26 0.108900mA 89.893000uA 0.122490mA + -1.22 0.108400mA 89.459000uA 0.121900mA + -1.18 0.107910mA 89.041000uA 0.121340mA + -1.14 0.107450mA 88.639000uA 0.120800mA + -1.10 0.107000mA 88.253000uA 0.120280mA + -1.06 0.106570mA 87.883000uA 0.119780mA + -1.02 0.106160mA 87.527000uA 0.119300mA + -0.98 0.105760mA 87.187000uA 0.118840mA + -0.94 0.105390mA 86.861000uA 0.118400mA + -0.90 0.105030mA 86.548000uA 0.117980mA + -0.86 0.104690mA 86.250000uA 0.117580mA + -0.82 0.104360mA 85.965000uA 0.117190mA + -0.78 0.104050mA 85.693000uA 0.116830mA + -0.74 0.103750mA 85.433000uA 0.116480mA + -0.70 0.103470mA 85.185000uA 0.116150mA + -0.66 0.103200mA 84.949000uA 0.115830mA + -0.62 0.102950mA 84.724000uA 0.115540mA + -0.58 0.102710mA 84.509000uA 0.115260mA + -0.54 0.102490mA 84.306000uA 0.114990mA + -0.50 0.102270mA 84.112000uA 0.114740mA + -0.46 0.102070mA 83.927000uA 0.114500mA + -0.42 0.101880mA 83.752000uA 0.114280mA + -0.38 0.101700mA 83.587000uA 0.114070mA + -0.34 0.101620mA 83.508000uA 0.113960mA + -0.30 0.101620mA 83.508000uA 0.113960mA + -0.26 0.101620mA 83.508000uA 0.113960mA + -0.22 0.101620mA 83.508000uA 0.113960mA + -0.18 0.101620mA 83.508000uA 0.113750mA + -0.14 0.100460mA 82.918000uA 0.112450mA + -0.10 0.100030mA 82.241000uA 0.112040mA + -0.06 99.844000uA 81.938000uA 0.111870mA + -0.02 99.724000uA 81.761000uA 0.111750mA + 0.00 99.674000uA 81.693000uA 0.111690mA +| +| End [Model] lvc330fxxxcaaaaaaain +|************************************************************************ +[Model] lvc330s040aaaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +Vmeas = 1.650000V +Cref = 0.0F +Rref = 1.000000M +Vref = 0.0V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -16.264620mA -12.195876mA -17.211942mA + -3.20 -16.206900mA -12.152073mA -17.150026mA + -3.10 -16.149180mA -12.108270mA -17.088110mA + -3.00 -16.091460mA -12.064467mA -17.026194mA + -2.90 -16.033740mA -12.020664mA -16.964278mA + -2.80 -15.976020mA -11.976862mA -16.902362mA + -2.70 -15.918300mA -11.933059mA -16.840446mA + -2.60 -15.860580mA -11.889256mA -16.778530mA + -2.50 -15.802860mA -11.845453mA -16.716614mA + -2.40 -15.745140mA -11.801650mA -16.654698mA + -2.30 -15.687420mA -11.757848mA -16.592782mA + -2.20 -15.629700mA -11.714045mA -16.530866mA + -2.10 -15.571980mA -11.670242mA -16.468950mA + -2.00 -15.514260mA -11.626439mA -16.407034mA + -1.90 -15.456540mA -11.582636mA -16.345118mA + -1.80 -15.398820mA -11.538834mA -16.283202mA + -1.70 -15.341100mA -11.495031mA -16.221286mA + -1.60 -15.283380mA -11.451228mA -16.159370mA + -1.50 -15.225660mA -11.407425mA -16.097454mA + -1.40 -15.167940mA -11.363622mA -16.035538mA + -1.30 -15.110220mA -11.319820mA -15.973622mA + -1.20 -15.052500mA -11.276017mA -15.911706mA + -1.10 -14.994780mA -11.232214mA -15.849790mA + -1.00 -14.937060mA -11.188411mA -15.787874mA + -0.90 -14.879340mA -11.144608mA -15.725958mA + -0.80 -14.821620mA -11.100806mA -15.634000mA + -0.70 -14.763900mA -11.057003mA -15.389000mA + -0.60 -14.121200mA -11.013200mA -15.085900mA + -0.50 -12.312470mA -10.252860mA -13.892750mA + -0.40 -9.922051mA -8.353886mA -11.397898mA + -0.30 -7.415846mA -6.279285mA -8.571802mA + -0.20 -4.904405mA -4.183585mA -5.687248mA + -0.10 -2.422592mA -2.084866mA -2.809391mA + 0.00 9.270000nA 8.640000nA 10.950000nA + 0.10 2.215985mA 1.960397mA 2.507890mA + 0.20 4.086375mA 3.683686mA 4.498680mA + 0.30 5.594166mA 5.150675mA 5.952471mA + 0.40 6.738256mA 6.352364mA 6.929962mA + 0.50 7.557146mA 7.289853mA 7.572152mA + 0.60 8.124436mA 7.983242mA 8.013343mA + 0.70 8.511126mA 8.476831mA 8.337834mA + 0.80 8.778316mA 8.826620mA 8.591424mA + 0.90 8.972606mA 9.080609mA 8.798515mA + 1.00 9.121395mA 9.272098mA 8.969206mA + 1.10 9.240584mA 9.422087mA 9.101296mA + 1.20 9.339574mA 9.543476mA 9.202186mA + 1.30 9.424063mA 9.644765mA 9.285275mA + 1.40 9.498053mA 9.731354mA 9.357665mA + 1.50 9.564242mA 9.806743mA 9.423455mA + 1.60 9.625232mA 9.873832mA 9.485944mA + 1.70 9.684621mA 9.934821mA 9.548134mA + 1.80 9.747011mA 9.992810mA 9.610224mA + 1.90 9.814800mA 10.052999mA 9.670813mA + 2.00 9.885689mA 10.122988mA 9.728603mA + 2.10 9.955379mA 10.203977mA 9.783293mA + 2.20 10.021968mA 10.292966mA 9.835282mA + 2.30 10.083958mA 10.380954mA 9.884972mA + 2.40 10.141947mA 10.464943mA 9.932861mA + 2.50 10.196936mA 10.542932mA 9.979551mA + 2.60 10.249926mA 10.614921mA 10.025941mA + 2.70 10.300915mA 10.681910mA 10.071930mA + 2.80 10.350904mA 10.744899mA 10.118920mA + 2.90 10.400894mA 10.805888mA 10.167909mA + 3.00 10.451883mA 10.863877mA 10.218899mA + 3.10 10.504872mA 10.921864mA 10.273889mA + 3.20 10.559862mA 10.978747mA 10.332878mA + 3.30 10.618848mA 11.037379mA 10.397868mA + 3.40 10.682725mA 11.085335mA 10.469857mA + 3.50 10.751986mA 11.124616mA 10.550843mA + 3.60 10.804292mA 11.163898mA 10.640599mA + 3.70 10.840604mA 11.203179mA 10.738212mA + 3.80 10.876916mA 11.242461mA 10.773505mA + 3.90 10.913228mA 11.281743mA 10.808797mA + 4.00 10.949540mA 11.321024mA 10.844090mA + 4.10 10.985852mA 11.360306mA 10.879382mA + 4.20 11.022164mA 11.399587mA 10.914675mA + 4.30 11.058476mA 11.438869mA 10.949967mA + 4.40 11.094788mA 11.478151mA 10.985259mA + 4.50 11.131100mA 11.517432mA 11.020552mA + 4.60 11.167412mA 11.556714mA 11.055844mA + 4.70 11.203724mA 11.595995mA 11.091137mA + 4.80 11.240036mA 11.635277mA 11.126429mA + 4.90 11.276348mA 11.674559mA 11.161721mA + 5.00 11.312660mA 11.713840mA 11.197014mA + 5.10 11.348972mA 11.753122mA 11.232306mA + 5.20 11.385284mA 11.792403mA 11.267599mA + 5.30 11.421596mA 11.831685mA 11.302891mA + 5.40 11.457908mA 11.870967mA 11.338183mA + 5.50 11.494220mA 11.910248mA 11.373476mA + 5.60 11.530532mA 11.949530mA 11.408768mA + 5.70 11.566844mA 11.988811mA 11.444061mA + 5.80 11.603156mA 12.028093mA 11.479353mA + 5.90 11.639468mA 12.067375mA 11.514645mA + 6.00 11.675780mA 12.106656mA 11.549938mA + 6.10 11.712092mA 12.145938mA 11.585230mA + 6.20 11.748404mA 12.185219mA 11.620523mA + 6.30 11.784716mA 12.224501mA 11.655815mA + 6.40 11.821028mA 12.263783mA 11.691107mA + 6.50 11.857340mA 12.303064mA 11.726400mA + 6.60 11.893652mA 12.342346mA 11.761692mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 6.260163mA 5.384933mA 7.315403mA + -3.20 6.239699mA 5.366401mA 7.291487mA + -3.10 6.219236mA 5.347870mA 7.267570mA + -3.00 6.198773mA 5.329339mA 7.243653mA + -2.90 6.178310mA 5.310808mA 7.219736mA + -2.80 6.157847mA 5.292277mA 7.195819mA + -2.70 6.137383mA 5.273745mA 7.171903mA + -2.60 6.116920mA 5.255214mA 7.147986mA + -2.50 6.096457mA 5.236683mA 7.124069mA + -2.40 6.075994mA 5.218152mA 7.100152mA + -2.30 6.055531mA 5.199621mA 7.076235mA + -2.20 6.035067mA 5.181089mA 7.052319mA + -2.10 6.014604mA 5.162558mA 7.028402mA + -2.00 5.994141mA 5.144027mA 7.004485mA + -1.90 5.973678mA 5.125496mA 6.980568mA + -1.80 5.953215mA 5.106965mA 6.956651mA + -1.70 5.932751mA 5.088433mA 6.932735mA + -1.60 5.912288mA 5.069902mA 6.908818mA + -1.50 5.891825mA 5.051371mA 6.884901mA + -1.40 5.871362mA 5.032840mA 6.860984mA + -1.30 5.850899mA 5.014309mA 6.837067mA + -1.20 5.830435mA 4.995777mA 6.813151mA + -1.10 5.809972mA 4.977246mA 6.789234mA + -1.00 5.789509mA 4.958715mA 6.765317mA + -0.90 5.769046mA 4.940184mA 6.741400mA + -0.80 5.748583mA 4.921653mA 6.717483mA + -0.70 5.728119mA 4.903121mA 6.693567mA + -0.60 5.707656mA 4.884590mA 6.669650mA + -0.50 5.687193mA 4.866059mA 6.645733mA + -0.40 5.666730mA 4.847528mA 6.621816mA + -0.30 5.646267mA 4.828997mA 6.597899mA + -0.20 4.435786mA 3.802115mA 5.174820mA + -0.10 2.131925mA 1.838548mA 2.475669mA + 0.00 -6.170000nA -5.460000nA -7.060000nA + 0.10 -1.893038mA -1.673728mA -2.145840mA + 0.20 -3.512428mA -3.164516mA -3.900829mA + 0.30 -4.854717mA -4.471005mA -5.257719mA + 0.40 -5.916606mA -5.591894mA -6.209108mA + 0.50 -6.694696mA -6.525883mA -6.765898mA + 0.60 -7.186085mA -7.271372mA -7.127487mA + 0.70 -7.501974mA -7.827161mA -7.398777mA + 0.80 -7.747264mA -8.192150mA -7.614967mA + 0.90 -7.946053mA -8.442739mA -7.794856mA + 1.00 -8.112642mA -8.647928mA -7.949846mA + 1.10 -8.255932mA -8.820317mA -8.086935mA + 1.20 -8.381921mA -8.968206mA -8.210725mA + 1.30 -8.494611mA -9.097295mA -8.324315mA + 1.40 -8.596900mA -9.211784mA -8.430004mA + 1.50 -8.691089mA -9.314673mA -8.529494mA + 1.60 -8.778479mA -9.407962mA -8.623884mA + 1.70 -8.860368mA -9.493551mA -8.714073mA + 1.80 -8.937858mA -9.572640mA -8.800963mA + 1.90 -9.011447mA -9.646329mA -8.884952mA + 2.00 -9.081837mA -9.715418mA -8.966642mA + 2.10 -9.149526mA -9.780507mA -9.046332mA + 2.20 -9.214816mA -9.842296mA -9.124421mA + 2.30 -9.278305mA -9.901185mA -9.201211mA + 2.40 -9.340094mA -9.957574mA -9.277001mA + 2.50 -9.400784mA -10.011863mA -9.352391mA + 2.60 -9.460574mA -10.063852mA -9.427582mA + 2.70 -9.519964mA -10.115841mA -9.503173mA + 2.80 -9.579454mA -10.165830mA -9.579563mA + 2.90 -9.639644mA -10.215819mA -9.657654mA + 3.00 -9.701034mA -10.264808mA -9.737845mA + 3.10 -9.764525mA -10.315796mA -9.821135mA + 3.20 -9.830715mA -10.367780mA -9.908326mA + 3.30 -9.900606mA -10.421706mA -10.000817mA + 3.40 -9.975092mA -10.478956mA -10.098808mA + 3.50 -10.055705mA -10.535873mA -10.202798mA + 3.60 -10.141346mA -10.578599mA -10.316786mA + 3.70 -10.228551mA -10.620789mA -10.438679mA + 3.80 -10.281620mA -10.662980mA -10.570555mA + 3.90 -10.322662mA -10.705170mA -10.682977mA + 4.00 -10.363704mA -10.747360mA -10.725640mA + 4.10 -10.404746mA -10.789550mA -10.768303mA + 4.20 -10.445787mA -10.831741mA -10.810966mA + 4.30 -10.486829mA -10.873931mA -10.853629mA + 4.40 -10.527871mA -10.916121mA -10.896292mA + 4.50 -10.568913mA -10.958311mA -10.938955mA + 4.60 -10.609955mA -11.000502mA -10.981618mA + 4.70 -10.650997mA -11.042692mA -11.024281mA + 4.80 -10.692039mA -11.084882mA -11.066944mA + 4.90 -10.733081mA -11.127072mA -11.109607mA + 5.00 -10.774122mA -11.169262mA -11.152270mA + 5.10 -10.815164mA -11.211453mA -11.194933mA + 5.20 -10.856206mA -11.253643mA -11.237597mA + 5.30 -10.897248mA -11.295833mA -11.280260mA + 5.40 -10.938290mA -11.338023mA -11.322923mA + 5.50 -10.979332mA -11.380214mA -11.365586mA + 5.60 -11.020374mA -11.422404mA -11.408249mA + 5.70 -11.061416mA -11.464594mA -11.450912mA + 5.80 -11.102458mA -11.506784mA -11.493575mA + 5.90 -11.143499mA -11.548975mA -11.536238mA + 6.00 -11.184541mA -11.591165mA -11.578901mA + 6.10 -11.225583mA -11.633355mA -11.621564mA + 6.20 -11.266625mA -11.675545mA -11.664227mA + 6.30 -11.307667mA -11.717736mA -11.706890mA + 6.40 -11.348709mA -11.759926mA -11.749553mA + 6.50 -11.389751mA -11.802116mA -11.792216mA + 6.55 -11.410272mA -11.823211mA -11.813548mA +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.201000pA 1.415400nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.065000nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270400uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +[Ramp] +| variable typ min max +dV/dt_r 0.287457/0.467122n 0.301305/0.700268n 0.291706/0.349090n +dV/dt_f 0.309900/0.449885n 0.304680/0.837003n 0.308100/0.266290n +R_load = 50.000000 +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 2.782900V 2.609000V 2.960100V +0.2020ns 2.783000V 2.608900V 2.962600V +0.4040ns 2.788300V 2.610900V 3.086900V +0.6061ns 3.016200V 2.611900V 3.417200V +0.8081ns 3.244000V 2.678900V 3.463300V +1.0101ns 3.291900V 2.961800V 3.467200V +1.2121ns 3.295700V 3.102900V 3.468900V +1.4141ns 3.297500V 3.120100V 3.469600V +1.6162ns 3.298700V 3.136000V 3.469800V +1.8182ns 3.299500V 3.136600V 3.469900V +2.0202ns 3.299700V 3.137000V 3.469900V +2.2222ns 3.299800V 3.138000V 3.469900V +2.4242ns 3.299900V 3.138900V 3.469200V +2.6263ns 3.299900V 3.139400V 3.471100V +2.8283ns 3.299900V 3.139700V 3.470500V +3.0303ns 3.299900V 3.139800V 3.470100V +3.2323ns 3.299900V 3.139800V 3.470000V +3.4343ns 3.300600V 3.139900V 3.470000V +3.6364ns 3.301100V 3.139900V 3.470000V +3.8384ns 3.300500V 3.139900V 3.470000V +4.0404ns 3.300200V 3.139900V 3.470000V +4.2424ns 3.300000V 3.139900V 3.470000V +4.4444ns 3.300000V 3.139900V 3.470000V +4.6465ns 3.300000V 3.139900V 3.470000V +4.8485ns 3.300000V 3.140000V 3.469900V +5.0505ns 3.300000V 3.140800V 3.469900V +5.2525ns 3.300000V 3.141300V 3.469900V +5.4545ns 3.299900V 3.140700V 3.469900V +5.6566ns 3.299900V 3.140400V 3.469900V +5.8586ns 3.299900V 3.140200V 3.469900V +6.0606ns 3.299900V 3.140000V 3.469900V +6.2626ns 3.299900V 3.140000V 3.469900V +6.4646ns 3.299900V 3.140000V 3.469900V +6.6667ns 3.299900V 3.140000V 3.469900V +6.8687ns 3.299900V 3.140000V 3.469900V +7.0707ns 3.299900V 3.139900V 3.469900V +7.2727ns 3.299900V 3.139900V 3.470000V +7.4747ns 3.299900V 3.139900V 3.470000V +7.6768ns 3.299900V 3.139900V 3.470000V +7.8788ns 3.299900V 3.139900V 3.470000V +8.0808ns 3.299900V 3.139900V 3.470000V +8.2828ns 3.299900V 3.139900V 3.470000V +8.4848ns 3.299900V 3.139900V 3.470000V +8.6869ns 3.299900V 3.139900V 3.470000V +8.8889ns 3.299900V 3.139800V 3.470000V +9.0909ns 3.299900V 3.139800V 3.470000V +9.2929ns 3.299900V 3.139900V 3.470000V +9.4949ns 3.299900V 3.139900V 3.470000V +9.6970ns 3.299900V 3.139900V 3.470000V +9.8990ns 3.300000V 3.139900V 3.470000V +10.1010ns 3.300000V 3.139900V 3.470000V +10.3030ns 3.300000V 3.139900V 3.470000V +10.5051ns 3.300000V 3.139900V 3.470000V +10.7071ns 3.300000V 3.139900V 3.470000V +10.9091ns 3.300000V 3.139900V 3.470000V +11.1111ns 3.300000V 3.139900V 3.470000V +11.3131ns 3.300000V 3.139900V 3.470000V +11.5152ns 3.300000V 3.139900V 3.470000V +11.7172ns 3.300000V 3.139900V 3.470000V +11.9192ns 3.300000V 3.139900V 3.470000V +12.1212ns 3.300000V 3.139900V 3.470000V +12.3232ns 3.300000V 3.139900V 3.470000V +12.5253ns 3.300000V 3.139900V 3.470000V +12.7273ns 3.300000V 3.139900V 3.470000V +12.9293ns 3.300000V 3.139900V 3.470000V +13.1313ns 3.300000V 3.139900V 3.470000V +13.3333ns 3.300000V 3.139900V 3.470000V +13.5354ns 3.300000V 3.140000V 3.470000V +13.7374ns 3.300000V 3.140000V 3.470000V +13.9394ns 3.300000V 3.140000V 3.470000V +14.1414ns 3.300000V 3.140000V 3.470000V +14.3434ns 3.300000V 3.140000V 3.470000V +14.5455ns 3.300000V 3.140000V 3.470000V +14.7475ns 3.300000V 3.140000V 3.470000V +14.9495ns 3.300000V 3.140000V 3.470000V +15.1515ns 3.300000V 3.140000V 3.470000V +15.3535ns 3.300000V 3.140000V 3.470000V +15.5556ns 3.300000V 3.140000V 3.470000V +15.7576ns 3.300000V 3.140000V 3.470000V +15.9596ns 3.300000V 3.140000V 3.470000V +16.1616ns 3.300000V 3.140000V 3.470000V +16.3636ns 3.300000V 3.140000V 3.470000V +16.5657ns 3.300000V 3.140000V 3.470000V +16.7677ns 3.300000V 3.140000V 3.470000V +16.9697ns 3.300000V 3.140000V 3.470000V +17.1717ns 3.300000V 3.140000V 3.470000V +17.3737ns 3.300000V 3.140000V 3.470000V +17.5758ns 3.300000V 3.140000V 3.470000V +17.7778ns 3.300000V 3.140000V 3.470000V +17.9798ns 3.300000V 3.140000V 3.470000V +18.1818ns 3.300000V 3.140000V 3.470000V +18.3838ns 3.300000V 3.140000V 3.470000V +18.5859ns 3.300000V 3.140000V 3.470000V +18.7879ns 3.300000V 3.140000V 3.470000V +18.9899ns 3.300000V 3.140000V 3.470000V +19.1919ns 3.300000V 3.140000V 3.470000V +19.3939ns 3.300000V 3.140000V 3.470000V +19.5960ns 3.300000V 3.140000V 3.470000V +19.7980ns 3.300000V 3.140000V 3.470000V +20.0000ns 3.300000V 3.140000V 3.470000V +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 4.225900uV 4.920300uV 3.956100uV +0.2020ns -0.116230mV 2.501000uV -0.231630mV +0.4040ns -1.733400mV 5.664000uV -6.571900mV +0.6061ns 1.816900mV -0.405040mV 0.151930V +0.8081ns 0.105890V -6.434700mV 0.334290V +1.0101ns 0.246820V 13.033000mV 0.470790V +1.2121ns 0.360950V 89.173000mV 0.542490V +1.4141ns 0.454430V 0.176030V 0.572640V +1.6162ns 0.508590V 0.271450V 0.582550V +1.8182ns 0.534420V 0.353570V 0.588040V +2.0202ns 0.543170V 0.429910V 0.588930V +2.2222ns 0.549780V 0.484400V 0.588840V +2.4242ns 0.550820V 0.517300V 0.590870V +2.6263ns 0.551300V 0.536250V 0.553540V +2.8283ns 0.551520V 0.543010V 0.497470V +3.0303ns 0.551620V 0.548720V 0.468060V +3.2323ns 0.551660V 0.549820V 0.453000V +3.4343ns 0.558640V 0.550520V 0.446500V +3.6364ns 0.508640V 0.550950V 0.442330V +3.8384ns 0.463860V 0.551240V 0.440380V +4.0404ns 0.438900V 0.551370V 0.438930V +4.2424ns 0.425590V 0.551450V 0.438730V +4.4444ns 0.417880V 0.551520V 0.438850V +4.6465ns 0.413990V 0.551560V 0.439830V +4.8485ns 0.411950V 0.551690V 0.441070V +5.0505ns 0.411060V 0.558950V 0.443300V +5.2525ns 0.410360V 0.519020V 0.446000V +5.4545ns 0.410640V 0.480460V 0.448850V +5.6566ns 0.411100V 0.455460V 0.451660V +5.8586ns 0.412570V 0.440580V 0.454380V +6.0606ns 0.414210V 0.430510V 0.456880V +6.2626ns 0.416980V 0.426080V 0.459280V +6.4646ns 0.420210V 0.423650V 0.461440V +6.6667ns 0.423660V 0.422350V 0.463510V +6.8687ns 0.426990V 0.421790V 0.465350V +7.0707ns 0.430100V 0.421350V 0.467110V +7.2727ns 0.433090V 0.421520V 0.468670V +7.4747ns 0.435900V 0.421800V 0.470160V +7.6768ns 0.438640V 0.422560V 0.471470V +7.8788ns 0.441270V 0.423400V 0.472730V +8.0808ns 0.443800V 0.425080V 0.473840V +8.2828ns 0.446130V 0.426920V 0.474900V +8.4848ns 0.448370V 0.429830V 0.475830V +8.6869ns 0.450420V 0.433230V 0.476730V +8.8889ns 0.452380V 0.436930V 0.477510V +9.0909ns 0.454180V 0.440610V 0.478270V +9.2929ns 0.455900V 0.444280V 0.478930V +9.4949ns 0.457470V 0.447610V 0.479560V +9.6970ns 0.458970V 0.450880V 0.480120V +9.8990ns 0.460340V 0.453950V 0.480650V +10.1010ns 0.462260V 0.458380V 0.481335V +10.3030ns 0.464000V 0.462500V 0.481950V +10.5051ns 0.465050V 0.464970V 0.482320V +10.7071ns 0.466050V 0.467390V 0.482650V +10.9091ns 0.466960V 0.469580V 0.482960V +11.1111ns 0.467830V 0.471720V 0.483240V +11.3131ns 0.468630V 0.473660V 0.483500V +11.5152ns 0.469380V 0.475550V 0.483730V +11.7172ns 0.470080V 0.477260V 0.483950V +11.9192ns 0.470740V 0.478940V 0.484140V +12.1212ns 0.471340V 0.480450V 0.484330V +12.3232ns 0.471910V 0.481930V 0.484490V +12.5253ns 0.472440V 0.483270V 0.484640V +12.7273ns 0.472930V 0.484580V 0.484780V +12.9293ns 0.473390V 0.485750V 0.484900V +13.1313ns 0.473820V 0.486910V 0.485020V +13.3333ns 0.474220V 0.487950V 0.485120V +13.5354ns 0.474590V 0.488970V 0.485220V +13.7374ns 0.474940V 0.489880V 0.485310V +13.9394ns 0.475260V 0.490780V 0.485390V +14.1414ns 0.475560V 0.491590V 0.485460V +14.3434ns 0.475840V 0.492380V 0.485530V +14.5455ns 0.476100V 0.493090V 0.485590V +14.7475ns 0.476340V 0.493790V 0.485640V +14.9495ns 0.476570V 0.494420V 0.485700V +15.1515ns 0.476780V 0.495030V 0.485740V +15.3535ns 0.476970V 0.495580V 0.485790V +15.5556ns 0.477160V 0.496120V 0.485820V +15.7576ns 0.477330V 0.496610V 0.485860V +15.9596ns 0.477490V 0.497090V 0.485890V +16.1616ns 0.477630V 0.497510V 0.485920V +16.3636ns 0.477770V 0.497930V 0.485950V +16.5657ns 0.477890V 0.498290V 0.485980V +16.7677ns 0.478010V 0.498640V 0.486000V +16.9697ns 0.478120V 0.498990V 0.486020V +17.1717ns 0.478230V 0.499340V 0.486040V +17.3737ns 0.478320V 0.499630V 0.486060V +17.5758ns 0.478410V 0.499920V 0.486070V +17.7778ns 0.478490V 0.500160V 0.486090V +17.9798ns 0.478570V 0.500400V 0.486100V +18.1818ns 0.478640V 0.500630V 0.486110V +18.3838ns 0.478710V 0.500870V 0.486120V +18.5859ns 0.478770V 0.501070V 0.486130V +18.7879ns 0.478830V 0.501260V 0.486140V +18.9899ns 0.478880V 0.501430V 0.486150V +19.1919ns 0.478930V 0.501590V 0.486160V +19.3939ns 0.478980V 0.501750V 0.486170V +19.5960ns 0.479020V 0.501910V 0.486170V +19.7980ns 0.479060V 0.502040V 0.486180V +20.0000ns 0.479100V 0.502180V 0.486180V +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 0.479590V 0.504150V 0.486240V +0.2020ns 0.479620V 0.504110V 0.490470V +0.4040ns 0.474660V 0.515850V 0.338690V +0.6061ns 0.260970V 0.518810V 49.227000mV +0.8081ns 57.693000mV 0.442430V 5.358900mV +1.0101ns 10.006000mV 0.270560V 1.610600mV +1.2121ns 3.219300mV 0.116620V 0.420340mV +1.4141ns 1.539600mV 28.455000mV 0.168590mV +1.6162ns 0.544500mV 9.235500mV 63.243000uV +1.8182ns 0.242750mV 4.555900mV 28.107000uV +2.0202ns 0.152510mV 2.530000mV 3.232400uV +2.2222ns 71.354000uV 1.674500mV 0.754660uV +2.4242ns 30.528000uV 0.925740mV -0.544570mV +2.6263ns 17.219000uV 0.496800mV -0.223670mV +2.8283ns 7.642900uV 0.286310mV -18.013000uV +3.0303ns 2.754100uV 0.206810mV -16.664000uV +3.2323ns 3.719000uV 0.129010mV -14.948000uV +3.4343ns -0.126320mV 73.076000uV -9.356000uV +3.6364ns -0.242850mV 44.601000uV -11.098000uV +3.8384ns -32.574000uV 27.309000uV -9.946200uV +4.0404ns 3.566200uV 14.959000uV -9.483100uV +4.2424ns -5.306100uV 8.251900uV -8.932600uV +4.4444ns -13.750000uV 4.915800uV -8.381600uV +4.6465ns 10.940000uV 2.652800uV -7.820100uV +4.8485ns 18.035000uV -0.108180mV -7.265300uV +5.0505ns 2.807200uV 0.153640mV -6.819000uV +5.2525ns 2.502100uV -0.230170mV -6.373400uV +5.4545ns 3.131600uV -97.756000uV -5.936700uV +5.6566ns 2.983900uV -12.193000uV -5.505100uV +5.8586ns 2.947300uV 25.147000uV -5.155800uV +6.0606ns 3.185500uV 13.918000uV -4.806500uV +6.2626ns 3.361600uV 13.732000uV -4.457800uV +6.4646ns 3.383800uV 15.275000uV -4.112200uV +6.6667ns 3.430500uV 14.174000uV -3.816000uV +6.8687ns 3.538200uV 13.495000uV -3.520100uV +7.0707ns 3.619900uV 13.582000uV -3.230000uV +7.2727ns 3.637500uV 13.501000uV -2.942000uV +7.4747ns 3.665100uV 13.116000uV -2.688300uV +7.6768ns 3.717300uV 12.820000uV -2.435300uV +7.8788ns 3.759700uV 12.684000uV -2.191800uV +8.0808ns 3.777800uV 12.528000uV -1.949700uV +8.2828ns 3.800700uV 12.338000uV -1.731900uV +8.4848ns 3.835100uV 12.144000uV -1.514700uV +8.6869ns 3.864700uV 11.942000uV -1.308300uV +8.8889ns 3.882800uV 11.757000uV -1.103000uV +9.0909ns 3.903100uV 11.601000uV -0.916190uV +9.2929ns 3.928900uV 11.419000uV -0.730020uV +9.4949ns 3.951900uV 11.189000uV -0.554530uV +9.6970ns 3.968200uV 10.989000uV -0.379920uV +9.8990ns 3.985700uV 10.842000uV -0.219880uV +10.1010ns 4.015950uV 10.553500uV 12.615000nV +10.3030ns 4.039500uV 10.248000uV 0.231740uV +10.5051ns 4.054400uV 10.116000uV 0.368100uV +10.7071ns 4.071500uV 9.956800uV 0.504010uV +10.9091ns 4.087100uV 9.748000uV 0.632480uV +11.1111ns 4.098800uV 9.573200uV 0.760290uV +11.3131ns 4.111100uV 9.460300uV 0.877400uV +11.5152ns 4.125100uV 9.320800uV 0.994070uV +11.7172ns 4.137800uV 9.133200uV 1.103600uV +11.9192ns 4.147200uV 8.978700uV 1.212600uV +12.1212ns 4.157100uV 8.884300uV 1.313000uV +12.3232ns 4.168500uV 8.764100uV 1.413100uV +12.5253ns 4.178700uV 8.597200uV 1.506700uV +12.7273ns 4.186000uV 8.456400uV 1.599900uV +12.9293ns 4.193900uV 8.362900uV 1.686000uV +13.1313ns 4.203100uV 8.269500uV 1.771700uV +13.3333ns 4.211200uV 8.176000uV 1.851800uV +13.5354ns 4.216800uV 8.065600uV 1.931600uV +13.7374ns 4.222900uV 7.924500uV 2.005300uV +13.9394ns 4.230300uV 7.808100uV 2.078800uV +14.1414ns 4.236700uV 7.736300uV 2.147500uV +14.3434ns 4.240800uV 7.664500uV 2.215800uV +14.5455ns 4.245400uV 7.592700uV 2.279000uV +14.7475ns 4.251200uV 7.503700uV 2.342000uV +14.9495ns 4.256200uV 7.383500uV 2.400800uV +15.1515ns 4.259000uV 7.286500uV 2.459400uV +15.3535ns 4.262400uV 7.231700uV 2.513600uV +15.5556ns 4.267000uV 7.176900uV 2.567700uV +15.7576ns 4.270800uV 7.122100uV 2.618100uV +15.9596ns 4.272600uV 7.049900uV 2.668300uV +16.1616ns 4.274900uV 6.946400uV 2.714800uV +16.3636ns 4.278400uV 6.865000uV 2.761200uV +16.5657ns 4.281200uV 6.823600uV 2.804400uV +16.7677ns 4.282300uV 6.782200uV 2.847500uV +16.9697ns 4.283800uV 6.740700uV 2.887400uV +17.1717ns 4.286400uV 6.682100uV 2.927100uV +17.3737ns 4.288400uV 6.592100uV 2.964200uV +17.5758ns 4.288700uV 6.523200uV 3.001200uV +17.7778ns 4.289500uV 6.492500uV 3.035400uV +17.9798ns 4.291500uV 6.461700uV 3.069500uV +18.1818ns 4.292800uV 6.430900uV 3.101400uV +18.3838ns 4.292600uV 6.383000uV 3.133100uV +18.5859ns 4.292900uV 6.304200uV 3.162500uV +18.7879ns 4.294300uV 6.245400uV 3.191700uV +18.9899ns 4.295100uV 6.223200uV 3.219100uV +19.1919ns 4.294400uV 6.200900uV 3.246200uV +19.3939ns 4.294300uV 6.178600uV 3.270600uV +19.5960ns 4.295200uV 6.139500uV 3.294900uV +19.7980ns 4.295400uV 6.069700uV 3.319200uV +20.0000ns 4.294000uV 6.076600uV 3.343600uV +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 3.300000V 3.140000V 3.470000V +0.2020ns 3.299700V 3.140000V 3.468600V +0.4040ns 3.300900V 3.139100V 3.483300V +0.6061ns 3.304400V 3.140100V 3.272000V +0.8081ns 3.179500V 3.145900V 3.030300V +1.0101ns 3.015400V 3.136300V 2.907000V +1.2121ns 2.895000V 3.095000V 2.856700V +1.4141ns 2.821600V 2.995500V 2.837500V +1.6162ns 2.781500V 2.910100V 2.829200V +1.8182ns 2.760300V 2.834600V 2.826700V +2.0202ns 2.751400V 2.769700V 2.825700V +2.2222ns 2.745500V 2.722000V 2.826100V +2.4242ns 2.743500V 2.688600V 2.830900V +2.6263ns 2.743000V 2.667400V 2.878100V +2.8283ns 2.742800V 2.654200V 2.895900V +3.0303ns 2.742900V 2.645000V 2.900000V +3.2323ns 2.743200V 2.639400V 2.902500V +3.4343ns 2.756300V 2.636600V 2.904500V +3.6364ns 2.776700V 2.635200V 2.906500V +3.8384ns 2.790100V 2.634000V 2.908200V +4.0404ns 2.792600V 2.633800V 2.909800V +4.2424ns 2.793100V 2.633700V 2.911300V +4.4444ns 2.793600V 2.633900V 2.912900V +4.6465ns 2.793500V 2.634100V 2.914200V +4.8485ns 2.793500V 2.636300V 2.915600V +5.0505ns 2.793500V 2.635700V 2.916900V +5.2525ns 2.793500V 2.642300V 2.918100V +5.4545ns 2.793500V 2.652700V 2.919300V +5.6566ns 2.793400V 2.656300V 2.920400V +5.8586ns 2.793400V 2.655900V 2.921400V +6.0606ns 2.793300V 2.655100V 2.922500V +6.2626ns 2.793200V 2.654600V 2.923500V +6.4646ns 2.793100V 2.654000V 2.924400V +6.6667ns 2.793000V 2.653400V 2.925300V +6.8687ns 2.792900V 2.652800V 2.926200V +7.0707ns 2.792800V 2.652200V 2.927100V +7.2727ns 2.792700V 2.651700V 2.928000V +7.4747ns 2.792600V 2.651100V 2.928900V +7.6768ns 2.792500V 2.650500V 2.929700V +7.8788ns 2.792300V 2.650000V 2.930600V +8.0808ns 2.792200V 2.649500V 2.931500V +8.2828ns 2.792100V 2.648900V 2.932300V +8.4848ns 2.791900V 2.648400V 2.933200V +8.6869ns 2.791800V 2.647900V 2.934100V +8.8889ns 2.791600V 2.647400V 2.935000V +9.0909ns 2.791500V 2.647000V 2.935800V +9.2929ns 2.791300V 2.646500V 2.936600V +9.4949ns 2.791200V 2.646000V 2.937400V +9.6970ns 2.791000V 2.645600V 2.938200V +9.8990ns 2.790900V 2.645100V 2.939000V +10.1010ns 2.790650V 2.644500V 2.940050V +10.3030ns 2.790400V 2.643900V 2.941100V +10.5051ns 2.790200V 2.643500V 2.941700V +10.7071ns 2.790100V 2.643100V 2.942400V +10.9091ns 2.789900V 2.642700V 2.943000V +11.1111ns 2.789700V 2.642400V 2.943600V +11.3131ns 2.789600V 2.642000V 2.944100V +11.5152ns 2.789400V 2.641600V 2.944700V +11.7172ns 2.789200V 2.641300V 2.945200V +11.9192ns 2.789100V 2.641000V 2.945700V +12.1212ns 2.788900V 2.640600V 2.946200V +12.3232ns 2.788700V 2.640300V 2.946700V +12.5253ns 2.788600V 2.640000V 2.947100V +12.7273ns 2.788400V 2.639700V 2.947600V +12.9293ns 2.788200V 2.639400V 2.948000V +13.1313ns 2.788000V 2.639100V 2.948400V +13.3333ns 2.787900V 2.638900V 2.948800V +13.5354ns 2.787700V 2.638600V 2.949200V +13.7374ns 2.787500V 2.638300V 2.949600V +13.9394ns 2.787400V 2.638000V 2.949900V +14.1414ns 2.787200V 2.637800V 2.950300V +14.3434ns 2.787000V 2.637500V 2.950600V +14.5455ns 2.786900V 2.637300V 2.950900V +14.7475ns 2.786700V 2.637100V 2.951200V +14.9495ns 2.786500V 2.636800V 2.951500V +15.1515ns 2.786400V 2.636600V 2.951800V +15.3535ns 2.786200V 2.636400V 2.952100V +15.5556ns 2.786100V 2.636100V 2.952400V +15.7576ns 2.785900V 2.635900V 2.952600V +15.9596ns 2.785800V 2.635700V 2.952900V +16.1616ns 2.785600V 2.635500V 2.953100V +16.3636ns 2.785500V 2.635300V 2.953400V +16.5657ns 2.785300V 2.635100V 2.953600V +16.7677ns 2.785200V 2.634900V 2.953800V +16.9697ns 2.785000V 2.634700V 2.954000V +17.1717ns 2.784900V 2.634500V 2.954200V +17.3737ns 2.784800V 2.634300V 2.954400V +17.5758ns 2.784600V 2.634200V 2.954600V +17.7778ns 2.784500V 2.634000V 2.954800V +17.9798ns 2.784400V 2.633800V 2.955000V +18.1818ns 2.784300V 2.633600V 2.955100V +18.3838ns 2.784200V 2.633500V 2.955300V +18.5859ns 2.784100V 2.633300V 2.955500V +18.7879ns 2.784000V 2.633100V 2.955600V +18.9899ns 2.783900V 2.633000V 2.955800V +19.1919ns 2.783800V 2.632800V 2.955900V +19.3939ns 2.783700V 2.632700V 2.956100V +19.5960ns 2.783600V 2.632500V 2.956200V +19.7980ns 2.783600V 2.632400V 2.956300V +20.0000ns 2.783500V 2.632200V 2.956500V +| +| End [Model] lvc330s040aaaaaaaaio +|************************************************************************ +[Model] lvc330s140aaaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +Vmeas = 1.650000V +Cref = 0.0F +Rref = 1.000000M +Vref = 0.0V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -50.584550mA -43.999960mA -54.623576mA + -3.20 -50.404450mA -43.837800mA -54.427552mA + -3.10 -50.224350mA -43.675640mA -54.231528mA + -3.00 -50.044250mA -43.513480mA -54.035504mA + -2.90 -49.864150mA -43.351320mA -53.839480mA + -2.80 -49.684050mA -43.189160mA -53.643456mA + -2.70 -49.503950mA -43.027000mA -53.447432mA + -2.60 -49.323850mA -42.864840mA -53.251408mA + -2.50 -49.143750mA -42.702680mA -53.055384mA + -2.40 -48.963650mA -42.540520mA -52.859360mA + -2.30 -48.783550mA -42.378360mA -52.663336mA + -2.20 -48.603450mA -42.216200mA -52.467312mA + -2.10 -48.423350mA -42.054040mA -52.271288mA + -2.00 -48.243250mA -41.891880mA -52.075264mA + -1.90 -48.063150mA -41.729720mA -51.879240mA + -1.80 -47.883050mA -41.567560mA -51.683216mA + -1.70 -47.702950mA -41.405400mA -51.487192mA + -1.60 -47.522850mA -41.243240mA -51.291168mA + -1.50 -47.342750mA -41.081080mA -51.095144mA + -1.40 -47.162650mA -40.960000mA -50.899120mA + -1.30 -46.982550mA -40.310000mA -50.703096mA + -1.20 -46.802450mA -39.409000mA -50.507072mA + -1.10 -46.622350mA -38.410000mA -50.311048mA + -1.00 -46.442250mA -37.323000mA -50.115024mA + -0.90 -46.262150mA -36.180000mA -49.919000mA + -0.80 -46.082050mA -35.076000mA -49.327000mA + -0.70 -45.748900mA -34.427000mA -47.994000mA + -0.60 -42.249200mA -34.203200mA -45.776900mA + -0.50 -36.169470mA -30.752860mA -40.603750mA + -0.40 -29.014551mA -24.879886mA -32.919898mA + -0.30 -21.670346mA -18.677585mA -24.687602mA + -0.20 -14.338705mA -12.435585mA -16.367748mA + -0.10 -7.093292mA -6.195266mA -8.095791mA + 0.00 27.190000nA 25.680000nA 31.680000nA + 0.10 6.587285mA 5.878497mA 7.387890mA + 0.20 12.314175mA 11.156186mA 13.529180mA + 0.30 17.106166mA 15.766175mA 18.285171mA + 0.40 20.907156mA 19.661164mA 21.673162mA + 0.50 23.747146mA 22.813153mA 23.968152mA + 0.60 25.783136mA 25.234142mA 25.549143mA + 0.70 27.212126mA 27.008131mA 26.699134mA + 0.80 28.206116mA 28.280120mA 27.588124mA + 0.90 28.917106mA 29.203109mA 28.308115mA + 1.00 29.453095mA 29.892098mA 28.908106mA + 1.10 29.875084mA 30.426087mA 29.398096mA + 1.20 30.221074mA 30.854076mA 29.770086mA + 1.30 30.513063mA 31.208065mA 30.064075mA + 1.40 30.767053mA 31.507054mA 30.315065mA + 1.50 30.993042mA 31.766043mA 30.542055mA + 1.60 31.203032mA 31.995032mA 30.762044mA + 1.70 31.414021mA 32.204021mA 30.983034mA + 1.80 31.648011mA 32.407010mA 31.201024mA + 1.90 31.903000mA 32.633999mA 31.408013mA + 2.00 32.157989mA 32.912988mA 31.601003mA + 2.10 32.398979mA 33.235977mA 31.780993mA + 2.20 32.620968mA 33.562966mA 31.951982mA + 2.30 32.826958mA 33.870954mA 32.113972mA + 2.40 33.017947mA 34.153943mA 32.268961mA + 2.50 33.197936mA 34.411932mA 32.419951mA + 2.60 33.368926mA 34.647921mA 32.567941mA + 2.70 33.532915mA 34.866910mA 32.714930mA + 2.80 33.693904mA 35.070899mA 32.864920mA + 2.90 33.851894mA 35.264888mA 33.017909mA + 3.00 34.012883mA 35.450877mA 33.177899mA + 3.10 34.176872mA 35.632864mA 33.347889mA + 3.20 34.349862mA 35.813747mA 33.531878mA + 3.30 34.531848mA 35.996379mA 33.730868mA + 3.40 34.729725mA 36.157497mA 33.951857mA + 3.50 34.942986mA 36.297102mA 34.196843mA + 3.60 35.117958mA 36.436708mA 34.470599mA + 3.70 35.251602mA 36.576313mA 34.772212mA + 3.80 35.385246mA 36.715919mA 34.904053mA + 3.90 35.518890mA 36.855525mA 35.035893mA + 4.00 35.652534mA 36.995130mA 35.167734mA + 4.10 35.786178mA 37.134736mA 35.299574mA + 4.20 35.919822mA 37.274341mA 35.431414mA + 4.30 36.053466mA 37.413947mA 35.563255mA + 4.40 36.187110mA 37.553553mA 35.695095mA + 4.50 36.320754mA 37.693158mA 35.826936mA + 4.60 36.454398mA 37.832764mA 35.958776mA + 4.70 36.588042mA 37.972369mA 36.090616mA + 4.80 36.721686mA 38.111975mA 36.222457mA + 4.90 36.855330mA 38.251581mA 36.354297mA + 5.00 36.988974mA 38.391186mA 36.486138mA + 5.10 37.122618mA 38.530792mA 36.617978mA + 5.20 37.256262mA 38.670397mA 36.749818mA + 5.30 37.389906mA 38.810003mA 36.881659mA + 5.40 37.523550mA 38.949609mA 37.013499mA + 5.50 37.657194mA 39.089214mA 37.145340mA + 5.60 37.790838mA 39.228820mA 37.277180mA + 5.70 37.924482mA 39.368425mA 37.409020mA + 5.80 38.058126mA 39.508031mA 37.540861mA + 5.90 38.191770mA 39.647637mA 37.672701mA + 6.00 38.325414mA 39.787242mA 37.804542mA + 6.10 38.459058mA 39.926848mA 37.936382mA + 6.20 38.592702mA 40.066453mA 38.068222mA + 6.30 38.726346mA 40.206059mA 38.200063mA + 6.40 38.859990mA 40.345665mA 38.331903mA + 6.50 38.993634mA 40.485270mA 38.463744mA + 6.60 39.127278mA 40.624876mA 38.595584mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 66.669757mA 87.094613mA 92.797733mA + -3.20 66.440741mA 86.767866mA 92.515330mA + -3.10 66.211726mA 86.441119mA 92.232928mA + -3.00 65.982711mA 86.114372mA 91.950525mA + -2.90 65.753695mA 85.787625mA 91.668122mA + -2.80 65.524680mA 85.460878mA 91.385720mA + -2.70 65.295664mA 85.134131mA 91.103317mA + -2.60 65.066649mA 84.807384mA 90.820915mA + -2.50 64.837633mA 84.480636mA 90.538512mA + -2.40 64.608618mA 84.153889mA 90.256109mA + -2.30 64.379602mA 83.827142mA 89.973707mA + -2.20 64.150587mA 83.500395mA 89.691304mA + -2.10 63.921571mA 83.173648mA 89.408901mA + -2.00 63.692556mA 82.846901mA 89.126499mA + -1.90 63.463540mA 82.520154mA 88.844096mA + -1.80 63.234525mA 82.323794mA 88.561693mA + -1.70 63.005509mA 81.008819mA 88.279291mA + -1.60 62.776494mA 78.640845mA 87.996888mA + -1.50 62.547479mA 75.568869mA 87.714485mA + -1.40 62.318463mA 71.978893mA 87.432083mA + -1.30 62.089448mA 67.983917mA 87.149680mA + -1.20 61.860432mA 63.658940mA 86.867278mA + -1.10 61.631417mA 59.058962mA 86.584875mA + -1.00 61.402401mA 54.225984mA 80.067686mA + -0.90 61.173386mA 49.192006mA 71.275712mA + -0.80 54.621889mA 45.212027mA 61.996736mA + -0.70 47.050911mA 41.794048mA 52.900760mA + -0.60 39.442932mA 35.550069mA 44.185783mA + -0.50 32.215954mA 29.164089mA 36.006805mA + -0.40 25.419974mA 23.007107mA 28.393828mA + -0.30 17.101700mA 15.824500mA 19.002300mA + -0.20 12.464986mA 11.277815mA 13.918820mA + -0.10 6.164125mA 5.580948mA 6.877969mA + 0.00 -18.490000nA -17.070000nA -20.440000nA + 0.10 -5.904938mA -5.394928mA -6.530140mA + 0.20 -11.454128mA -10.553116mA -12.558129mA + 0.30 -16.640117mA -15.473105mA -18.069119mA + 0.40 -21.457106mA -20.150094mA -23.046108mA + 0.50 -25.896096mA -24.583083mA -27.475098mA + 0.60 -29.949085mA -28.768072mA -31.336087mA + 0.70 -33.609074mA -32.702061mA -34.612077mA + 0.80 -36.868064mA -36.383050mA -37.284067mA + 0.90 -39.717053mA -39.806039mA -39.346056mA + 1.00 -42.147042mA -42.970028mA -40.889046mA + 1.10 -44.149032mA -45.870017mA -42.089035mA + 1.20 -45.748021mA -48.504006mA -43.060025mA + 1.30 -47.028011mA -50.866995mA -43.869015mA + 1.40 -48.080000mA -52.957984mA -44.561004mA + 1.50 -48.964989mA -54.770973mA -45.164994mA + 1.60 -49.722979mA -56.304962mA -45.700984mA + 1.70 -50.383968mA -57.595951mA -46.184973mA + 1.80 -50.967958mA -58.692940mA -46.625963mA + 1.90 -51.489947mA -59.638929mA -47.033952mA + 2.00 -51.962937mA -60.463918mA -47.412942mA + 2.10 -52.394926mA -61.192907mA -47.768932mA + 2.20 -52.791916mA -61.842896mA -48.104921mA + 2.30 -53.159905mA -62.426885mA -48.424911mA + 2.40 -53.504894mA -62.956874mA -48.730901mA + 2.50 -53.827884mA -63.439863mA -49.025891mA + 2.60 -54.132874mA -63.884852mA -49.310882mA + 2.70 -54.422864mA -64.295841mA -49.587873mA + 2.80 -54.700854mA -64.676830mA -49.859863mA + 2.90 -54.966844mA -65.033819mA -50.128854mA + 3.00 -55.224834mA -65.367808mA -50.397845mA + 3.10 -55.477825mA -65.682796mA -50.669835mA + 3.20 -55.727815mA -65.980780mA -50.947826mA + 3.30 -55.978806mA -66.265706mA -51.235817mA + 3.40 -56.233792mA -66.536956mA -51.539808mA + 3.50 -56.497705mA -66.792873mA -51.862798mA + 3.60 -56.774346mA -66.928560mA -52.210786mA + 3.70 -57.054551mA -67.195337mA -52.589679mA + 3.80 -57.194470mA -67.462113mA -53.001555mA + 3.90 -57.422477mA -67.728890mA -53.392977mA + 4.00 -57.650484mA -67.995667mA -53.537857mA + 4.10 -57.878491mA -68.262444mA -53.750052mA + 4.20 -58.106498mA -68.529220mA -53.962246mA + 4.30 -58.334506mA -68.795997mA -54.174441mA + 4.40 -58.562513mA -69.062774mA -54.386636mA + 4.50 -58.790520mA -69.329550mA -54.598830mA + 4.60 -59.018527mA -69.596327mA -54.811025mA + 4.70 -59.246534mA -69.863104mA -55.023219mA + 4.80 -59.474541mA -70.129881mA -55.235414mA + 4.90 -59.702548mA -70.396657mA -55.447608mA + 5.00 -59.930555mA -70.663434mA -55.659803mA + 5.10 -60.158563mA -70.930211mA -55.871997mA + 5.20 -60.386570mA -71.196988mA -56.084192mA + 5.30 -60.614577mA -71.463764mA -56.296387mA + 5.40 -60.842584mA -71.730541mA -56.508581mA + 5.50 -61.070591mA -71.997318mA -56.720776mA + 5.60 -61.298598mA -72.264094mA -56.932970mA + 5.70 -61.526605mA -72.530871mA -57.145165mA + 5.80 -61.754612mA -72.797648mA -57.357359mA + 5.90 -61.982620mA -73.064425mA -57.569554mA + 6.00 -62.210627mA -73.331201mA -57.781748mA + 6.10 -62.438634mA -73.597978mA -57.993943mA + 6.20 -62.666641mA -73.864755mA -58.206138mA + 6.30 -62.894648mA -74.131531mA -58.418332mA + 6.40 -63.122655mA -74.398308mA -58.630527mA + 6.50 -63.350662mA -74.665085mA -58.842721mA + 6.55 -63.464666mA -74.798473mA -58.948819mA +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.195000pA 1.415400nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.064900nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270400uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +[Ramp] +| variable typ min max +dV/dt_r 1.322279/1.397370n 1.285979/1.830494n 1.312139/1.075717n +dV/dt_f 0.909660/0.907875n 0.826020/1.758264n 1.011840/0.527820n +R_load = 50.000000 +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 1.726300V 1.546200V 1.899700V +0.2020ns 1.726800V 1.546200V 1.904800V +0.4040ns 1.737400V 1.550000V 2.017500V +0.6061ns 1.942100V 1.551600V 2.912500V +0.8081ns 2.634400V 1.596800V 3.407200V +1.0101ns 3.187200V 1.875300V 3.460800V +1.2121ns 3.279100V 2.359700V 3.465800V +1.4141ns 3.292700V 2.847800V 3.467100V +1.6162ns 3.295600V 3.089900V 3.467600V +1.8182ns 3.296700V 3.123600V 3.467900V +2.0202ns 3.297300V 3.130900V 3.468200V +2.2222ns 3.297500V 3.134300V 3.468700V +2.4242ns 3.297700V 3.135700V 3.468900V +2.6263ns 3.297900V 3.136600V 3.470800V +2.8283ns 3.298100V 3.137000V 3.470300V +3.0303ns 3.298400V 3.137300V 3.470100V +3.2323ns 3.299000V 3.137500V 3.470000V +3.4343ns 3.300800V 3.137600V 3.470000V +3.6364ns 3.300800V 3.137800V 3.470000V +3.8384ns 3.300300V 3.137900V 3.469900V +4.0404ns 3.300200V 3.138000V 3.469900V +4.2424ns 3.300000V 3.138200V 3.469900V +4.4444ns 3.300000V 3.138400V 3.469900V +4.6465ns 3.300000V 3.138600V 3.469900V +4.8485ns 3.300000V 3.138900V 3.469900V +5.0505ns 3.300000V 3.139200V 3.469900V +5.2525ns 3.300000V 3.140400V 3.469900V +5.4545ns 3.299900V 3.140300V 3.469900V +5.6566ns 3.299900V 3.140100V 3.469900V +5.8586ns 3.299900V 3.140100V 3.470000V +6.0606ns 3.299900V 3.140000V 3.470000V +6.2626ns 3.299900V 3.140000V 3.470000V +6.4646ns 3.299900V 3.140000V 3.470000V +6.6667ns 3.299900V 3.140000V 3.470000V +6.8687ns 3.299900V 3.140000V 3.470000V +7.0707ns 3.299900V 3.140000V 3.470000V +7.2727ns 3.299900V 3.140000V 3.470000V +7.4747ns 3.299900V 3.140000V 3.470000V +7.6768ns 3.299900V 3.140000V 3.470000V +7.8788ns 3.300000V 3.140000V 3.470000V +8.0808ns 3.300000V 3.140000V 3.470000V +8.2828ns 3.300000V 3.140000V 3.470000V +8.4848ns 3.300000V 3.140000V 3.470000V +8.6869ns 3.300000V 3.139900V 3.470000V +8.8889ns 3.300000V 3.139900V 3.470000V +9.0909ns 3.300000V 3.139900V 3.470000V +9.2929ns 3.300000V 3.139900V 3.470000V +9.4949ns 3.300000V 3.139900V 3.470000V +9.6970ns 3.300000V 3.139900V 3.470000V +9.8990ns 3.300000V 3.139900V 3.470000V +10.1010ns 3.300000V 3.139900V 3.470000V +10.3030ns 3.300000V 3.139900V 3.470000V +10.5051ns 3.300000V 3.139900V 3.470000V +10.7071ns 3.300000V 3.139900V 3.470000V +10.9091ns 3.300000V 3.139900V 3.470000V +11.1111ns 3.300000V 3.139900V 3.470000V +11.3131ns 3.300000V 3.139900V 3.470000V +11.5152ns 3.300000V 3.140000V 3.470000V +11.7172ns 3.300000V 3.140000V 3.470000V +11.9192ns 3.300000V 3.140000V 3.470000V +12.1212ns 3.300000V 3.140000V 3.470000V +12.3232ns 3.300000V 3.140000V 3.470000V +12.5253ns 3.300000V 3.140000V 3.470000V +12.7273ns 3.300000V 3.140000V 3.470000V +12.9293ns 3.300000V 3.140000V 3.470000V +13.1313ns 3.300000V 3.140000V 3.470000V +13.3333ns 3.300000V 3.140000V 3.470000V +13.5354ns 3.300000V 3.140000V 3.470000V +13.7374ns 3.300000V 3.140000V 3.470000V +13.9394ns 3.300000V 3.140000V 3.470000V +14.1414ns 3.300000V 3.140000V 3.470000V +14.3434ns 3.300000V 3.140000V 3.470000V +14.5455ns 3.300000V 3.140000V 3.470000V +14.7475ns 3.300000V 3.140000V 3.470000V +14.9495ns 3.300000V 3.140000V 3.470000V +15.1515ns 3.300000V 3.140000V 3.470000V +15.3535ns 3.300000V 3.140000V 3.470000V +15.5556ns 3.300000V 3.140000V 3.470000V +15.7576ns 3.300000V 3.140000V 3.470000V +15.9596ns 3.300000V 3.140000V 3.470000V +16.1616ns 3.300000V 3.140000V 3.470000V +16.3636ns 3.300000V 3.140000V 3.470000V +16.5657ns 3.300000V 3.140000V 3.470000V +16.7677ns 3.300000V 3.140000V 3.470000V +16.9697ns 3.300000V 3.140000V 3.470000V +17.1717ns 3.300000V 3.140000V 3.470000V +17.3737ns 3.300000V 3.140000V 3.470000V +17.5758ns 3.300000V 3.140000V 3.470000V +17.7778ns 3.300000V 3.140000V 3.470000V +17.9798ns 3.300000V 3.140000V 3.470000V +18.1818ns 3.300000V 3.140000V 3.470000V +18.3838ns 3.300000V 3.140000V 3.470000V +18.5859ns 3.300000V 3.140000V 3.470000V +18.7879ns 3.300000V 3.140000V 3.470000V +18.9899ns 3.300000V 3.140000V 3.470000V +19.1919ns 3.300000V 3.140000V 3.470000V +19.3939ns 3.300000V 3.140000V 3.470000V +19.5960ns 3.300000V 3.140000V 3.470000V +19.7980ns 3.300000V 3.140000V 3.470000V +20.0000ns 3.300000V 3.140000V 3.470000V +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 1.860000uV 2.247100uV 1.679700uV +0.2020ns -0.129790mV 4.669400uV -0.320790mV +0.4040ns -1.716600mV 0.272540uV -4.681500mV +0.6061ns 1.221000mV -0.447820mV 0.186680V +0.8081ns 0.107030V -5.196400mV 0.507800V +1.0101ns 0.361420V 7.872900mV 0.782610V +1.2121ns 0.574160V 63.086000mV 1.032400V +1.4141ns 0.778920V 0.229510V 1.269500V +1.6162ns 0.975680V 0.410340V 1.497800V +1.8182ns 1.166800V 0.562960V 1.717900V +2.0202ns 1.353800V 0.714380V 1.916400V +2.2222ns 1.533600V 0.865340V 2.085800V +2.4242ns 1.705400V 1.012700V 2.201900V +2.6263ns 1.865600V 1.157800V 2.206500V +2.8283ns 2.002800V 1.297100V 2.148000V +3.0303ns 2.119800V 1.433900V 2.116300V +3.2323ns 2.194200V 1.564200V 2.100900V +3.4343ns 2.242600V 1.684200V 2.095200V +3.6364ns 2.206600V 1.795900V 2.092100V +3.8384ns 2.175600V 1.885300V 2.093400V +4.0404ns 2.158100V 1.961700V 2.097900V +4.2424ns 2.149800V 2.017100V 2.104000V +4.4444ns 2.145000V 2.058100V 2.111400V +4.6465ns 2.142500V 2.090000V 2.119600V +4.8485ns 2.141700V 2.113000V 2.127800V +5.0505ns 2.141900V 2.137500V 2.135200V +5.2525ns 2.142800V 2.134100V 2.141000V +5.4545ns 2.144700V 2.126700V 2.146000V +5.6566ns 2.148900V 2.121500V 2.150700V +5.8586ns 2.153600V 2.118100V 2.154700V +6.0606ns 2.158200V 2.116400V 2.158400V +6.2626ns 2.162900V 2.115100V 2.161600V +6.4646ns 2.167200V 2.114600V 2.164500V +6.6667ns 2.171000V 2.114400V 2.167000V +6.8687ns 2.174500V 2.114500V 2.169300V +7.0707ns 2.177500V 2.114600V 2.171300V +7.2727ns 2.180300V 2.114800V 2.173100V +7.4747ns 2.182800V 2.115200V 2.174700V +7.6768ns 2.185100V 2.115600V 2.176100V +7.8788ns 2.187100V 2.116000V 2.177400V +8.0808ns 2.188900V 2.116500V 2.178500V +8.2828ns 2.190500V 2.117100V 2.179500V +8.4848ns 2.191900V 2.117700V 2.180300V +8.6869ns 2.193200V 2.118500V 2.181100V +8.8889ns 2.194300V 2.119600V 2.181800V +9.0909ns 2.195300V 2.121000V 2.182400V +9.2929ns 2.196300V 2.122600V 2.182900V +9.4949ns 2.197100V 2.124200V 2.183400V +9.6970ns 2.197800V 2.125900V 2.183800V +9.8990ns 2.198500V 2.127400V 2.184200V +10.1010ns 2.199350V 2.129450V 2.184650V +10.3030ns 2.200000V 2.131300V 2.185000V +10.5051ns 2.200500V 2.132300V 2.185200V +10.7071ns 2.200800V 2.133300V 2.185400V +10.9091ns 2.201200V 2.134200V 2.185600V +11.1111ns 2.201500V 2.135100V 2.185800V +11.3131ns 2.201700V 2.135800V 2.185900V +11.5152ns 2.202000V 2.136500V 2.186000V +11.7172ns 2.202200V 2.137100V 2.186100V +11.9192ns 2.202400V 2.137700V 2.186200V +12.1212ns 2.202500V 2.138200V 2.186300V +12.3232ns 2.202700V 2.138700V 2.186400V +12.5253ns 2.202800V 2.139100V 2.186400V +12.7273ns 2.202900V 2.139500V 2.186500V +12.9293ns 2.203000V 2.139900V 2.186500V +13.1313ns 2.203100V 2.140200V 2.186600V +13.3333ns 2.203200V 2.140500V 2.186600V +13.5354ns 2.203300V 2.140700V 2.186600V +13.7374ns 2.203300V 2.141000V 2.186700V +13.9394ns 2.203400V 2.141200V 2.186700V +14.1414ns 2.203400V 2.141400V 2.186700V +14.3434ns 2.203500V 2.141600V 2.186700V +14.5455ns 2.203500V 2.141800V 2.186700V +14.7475ns 2.203600V 2.141900V 2.186800V +14.9495ns 2.203600V 2.142000V 2.186800V +15.1515ns 2.203600V 2.142200V 2.186800V +15.3535ns 2.203600V 2.142300V 2.186800V +15.5556ns 2.203700V 2.142400V 2.186800V +15.7576ns 2.203700V 2.142500V 2.186800V +15.9596ns 2.203700V 2.142600V 2.186800V +16.1616ns 2.203700V 2.142600V 2.186800V +16.3636ns 2.203700V 2.142700V 2.186800V +16.5657ns 2.203700V 2.142800V 2.186900V +16.7677ns 2.203700V 2.142800V 2.186900V +16.9697ns 2.203800V 2.142900V 2.186900V +17.1717ns 2.203800V 2.142900V 2.186900V +17.3737ns 2.203800V 2.143000V 2.186900V +17.5758ns 2.203800V 2.143000V 2.186900V +17.7778ns 2.203800V 2.143000V 2.186900V +17.9798ns 2.203800V 2.143100V 2.186900V +18.1818ns 2.203800V 2.143100V 2.186900V +18.3838ns 2.203800V 2.143100V 2.186900V +18.5859ns 2.203800V 2.143100V 2.186900V +18.7879ns 2.203800V 2.143200V 2.186900V +18.9899ns 2.203800V 2.143200V 2.186900V +19.1919ns 2.203800V 2.143200V 2.186900V +19.3939ns 2.203800V 2.143200V 2.186900V +19.5960ns 2.203800V 2.143200V 2.186900V +19.7980ns 2.203800V 2.143200V 2.186900V +20.0000ns 2.203800V 2.143300V 2.186900V +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 2.203900V 2.143400V 2.187000V +0.2020ns 2.204000V 2.143400V 2.193500V +0.4040ns 2.222800V 2.147700V 2.032600V +0.6061ns 2.041300V 2.152800V 1.329800V +0.8081ns 1.561500V 2.146100V 0.689440V +1.0101ns 1.011100V 2.097000V 0.210050V +1.2121ns 0.595520V 1.931200V 16.668000mV +1.4141ns 0.291310V 1.573700V 3.287100mV +1.6162ns 80.606000mV 1.160800V 1.540100mV +1.8182ns 13.976000mV 0.816650V 0.795800mV +2.0202ns 3.438200mV 0.556260V 0.249100mV +2.2222ns 2.674800mV 0.354310V 0.141130mV +2.4242ns 1.686600mV 0.200190V -0.655480mV +2.6263ns 0.612530mV 87.872000mV -2.068600uV +2.8283ns 0.572400mV 33.061000mV -22.091000uV +3.0303ns 0.375060mV 11.834000mV -24.867000uV +3.2323ns 0.241800mV 4.814600mV -26.956000uV +3.4343ns -0.105830mV 3.354200mV -15.925000uV +3.6364ns -75.323000uV 2.452700mV -21.116000uV +3.8384ns 4.162200uV 1.747000mV -21.198000uV +4.0404ns -9.814400uV 1.397500mV -20.735000uV +4.2424ns -8.341900uV 1.108100mV -20.330000uV +4.4444ns -6.866100uV 0.872660mV -19.920000uV +4.6465ns -5.387100uV 0.692450mV -19.527000uV +4.8485ns -8.072400uV 0.289700mV -19.137000uV +5.0505ns -7.958300uV 0.244360mV -18.776000uV +5.2525ns -7.769600uV -77.493000uV -18.423000uV +5.4545ns -7.625700uV -0.105340mV -18.079000uV +5.6566ns -7.474800uV -54.805000uV -17.737000uV +5.8586ns -7.290100uV 10.015000uV -17.420000uV +6.0606ns -7.095100uV 31.098000uV -17.110000uV +6.2626ns -6.941900uV 27.849000uV -16.798000uV +6.4646ns -6.801300uV 26.843000uV -16.485000uV +6.6667ns -6.644700uV 25.837000uV -16.193000uV +6.8687ns -6.483200uV 24.821000uV -15.906000uV +7.0707ns -6.356800uV 23.930000uV -15.617000uV +7.2727ns -6.241000uV 23.931000uV -15.328000uV +7.4747ns -6.109700uV 23.867000uV -15.057000uV +7.6768ns -5.973800uV 23.333000uV -14.790000uV +7.8788ns -5.859500uV 22.861000uV -14.523000uV +8.0808ns -5.751700uV 22.831000uV -14.256000uV +8.2828ns -5.632300uV 22.765000uV -14.004000uV +8.4848ns -5.509400uV 22.433000uV -13.756000uV +8.6869ns -5.401200uV 22.127000uV -13.508000uV +8.8889ns -5.297500uV 22.000000uV -13.261000uV +9.0909ns -5.186800uV 21.856000uV -13.026000uV +9.2929ns -5.073900uV 21.583000uV -12.795000uV +9.4949ns -4.971400uV 21.321000uV -12.566000uV +9.6970ns -4.872100uV 21.138000uV -12.337000uV +9.8990ns -4.768700uV 20.948000uV -12.119000uV +10.1010ns -4.615700uV 20.580000uV -11.796500uV +10.3030ns -4.472500uV 20.255000uV -11.478000uV +10.5051ns -4.375700uV 20.048000uV -11.275000uV +10.7071ns -4.278400uV 19.819000uV -11.074000uV +10.9091ns -4.186900uV 19.593000uV -10.876000uV +11.1111ns -4.097100uV 19.385000uV -10.679000uV +11.3131ns -4.006500uV 19.177000uV -10.490000uV +11.5152ns -3.915700uV 18.963000uV -10.303000uV +11.7172ns -3.829500uV 18.751000uV -10.119000uV +11.9192ns -3.744700uV 18.550000uV -9.935200uV +12.1212ns -3.659800uV 18.348000uV -9.758900uV +12.3232ns -3.575000uV 18.147000uV -9.584400uV +12.5253ns -3.493900uV 17.946000uV -9.412900uV +12.7273ns -3.413900uV 17.750000uV -9.242200uV +12.9293ns -3.334400uV 17.555000uV -9.077700uV +13.1313ns -3.255000uV 17.367000uV -8.914800uV +13.3333ns -3.178700uV 17.180000uV -8.754900uV +13.5354ns -3.103400uV 16.992000uV -8.595700uV +13.7374ns -3.028800uV 16.805000uV -8.442200uV +13.9394ns -2.954500uV 16.625000uV -8.290100uV +14.1414ns -2.882800uV 16.446000uV -8.140800uV +14.3434ns -2.811900uV 16.271000uV -7.992300uV +14.5455ns -2.741900uV 16.096000uV -7.848800uV +14.7475ns -2.672100uV 15.921000uV -7.706700uV +14.9495ns -2.604700uV 15.747000uV -7.567200uV +15.1515ns -2.538000uV 15.582000uV -7.428400uV +15.3535ns -2.472300uV 15.417000uV -7.294300uV +15.5556ns -2.406900uV 15.254000uV -7.161400uV +15.7576ns -2.343500uV 15.091000uV -7.031000uV +15.9596ns -2.280700uV 14.928000uV -6.901100uV +16.1616ns -2.219000uV 14.767000uV -6.775700uV +16.3636ns -2.157500uV 14.614000uV -6.651300uV +16.5657ns -2.097900uV 14.461000uV -6.529200uV +16.7677ns -2.038900uV 14.310000uV -6.407700uV +16.9697ns -1.980900uV 14.158000uV -6.290200uV +17.1717ns -1.923100uV 14.007000uV -6.173700uV +17.3737ns -1.867100uV 13.856000uV -6.059300uV +17.5758ns -1.811500uV 13.715000uV -5.945500uV +17.7778ns -1.756900uV 13.574000uV -5.835400uV +17.9798ns -1.702700uV 13.433000uV -5.726200uV +18.1818ns -1.649900uV 13.292000uV -5.619000uV +18.3838ns -1.597600uV 13.151000uV -5.512200uV +18.5859ns -1.546300uV 13.011000uV -5.409000uV +18.7879ns -1.495300uV 12.881000uV -5.306700uV +18.9899ns -1.445600uV 12.750000uV -5.206100uV +19.1919ns -1.396400uV 12.619000uV -5.105900uV +19.3939ns -1.348100uV 12.488000uV -5.009100uV +19.5960ns -1.300200uV 12.357000uV -4.913100uV +19.7980ns -1.253400uV 12.227000uV -4.818400uV +20.0000ns -1.206900uV 12.109000uV -4.724200uV +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 3.300000V 3.140000V 3.470000V +0.2020ns 3.299700V 3.140000V 3.468500V +0.4040ns 3.300800V 3.139500V 3.480800V +0.6061ns 3.307700V 3.140100V 3.421400V +0.8081ns 3.288700V 3.143500V 3.119600V +1.0101ns 3.205000V 3.143800V 2.661400V +1.2121ns 3.025100V 3.145800V 2.287000V +1.4141ns 2.763000V 3.126600V 2.008100V +1.6162ns 2.525800V 3.091800V 1.804300V +1.8182ns 2.335100V 3.031500V 1.669500V +2.0202ns 2.176400V 2.950000V 1.556300V +2.2222ns 2.038500V 2.833800V 1.492000V +2.4242ns 1.931900V 2.695300V 1.454000V +2.6263ns 1.842100V 2.569900V 1.511700V +2.8283ns 1.775200V 2.465400V 1.518000V +3.0303ns 1.725800V 2.375800V 1.523200V +3.2323ns 1.686600V 2.288200V 1.528200V +3.4343ns 1.685200V 2.209700V 1.533400V +3.6364ns 1.704000V 2.138800V 1.538300V +3.8384ns 1.711300V 2.070500V 1.543000V +4.0404ns 1.712500V 2.009900V 1.547600V +4.2424ns 1.714100V 1.956200V 1.552200V +4.4444ns 1.715500V 1.910000V 1.556700V +4.6465ns 1.717000V 1.869400V 1.561200V +4.8485ns 1.718600V 1.839700V 1.565600V +5.0505ns 1.719900V 1.823800V 1.569900V +5.2525ns 1.721200V 1.826000V 1.574200V +5.4545ns 1.722500V 1.835200V 1.578400V +5.6566ns 1.723800V 1.841500V 1.582600V +5.8586ns 1.725000V 1.842800V 1.586700V +6.0606ns 1.726200V 1.841300V 1.590800V +6.2626ns 1.727400V 1.839800V 1.594800V +6.4646ns 1.728600V 1.838400V 1.598800V +6.6667ns 1.729800V 1.837000V 1.602700V +6.8687ns 1.730900V 1.835500V 1.606600V +7.0707ns 1.732000V 1.834000V 1.610400V +7.2727ns 1.733200V 1.832700V 1.614200V +7.4747ns 1.734300V 1.831300V 1.618000V +7.6768ns 1.735400V 1.829900V 1.621600V +7.8788ns 1.736400V 1.828500V 1.625300V +8.0808ns 1.737500V 1.827100V 1.628900V +8.2828ns 1.738600V 1.825800V 1.632500V +8.4848ns 1.739600V 1.824400V 1.636000V +8.6869ns 1.740600V 1.823100V 1.639400V +8.8889ns 1.741700V 1.821800V 1.642900V +9.0909ns 1.742700V 1.820400V 1.646300V +9.2929ns 1.743700V 1.819100V 1.649600V +9.4949ns 1.744700V 1.817800V 1.652900V +9.6970ns 1.745600V 1.816500V 1.656200V +9.8990ns 1.746600V 1.815200V 1.659400V +10.1010ns 1.748050V 1.813350V 1.664200V +10.3030ns 1.749400V 1.811400V 1.668900V +10.5051ns 1.750400V 1.810200V 1.672000V +10.7071ns 1.751300V 1.809000V 1.675000V +10.9091ns 1.752200V 1.807800V 1.678000V +11.1111ns 1.753100V 1.806500V 1.681000V +11.3131ns 1.753900V 1.805400V 1.684000V +11.5152ns 1.754800V 1.804200V 1.686900V +11.7172ns 1.755700V 1.803000V 1.689700V +11.9192ns 1.756500V 1.801800V 1.692600V +12.1212ns 1.757400V 1.800700V 1.695400V +12.3232ns 1.758200V 1.799500V 1.698200V +12.5253ns 1.759000V 1.798400V 1.700900V +12.7273ns 1.759800V 1.797300V 1.703600V +12.9293ns 1.760600V 1.796200V 1.706300V +13.1313ns 1.761400V 1.795100V 1.709000V +13.3333ns 1.762200V 1.794000V 1.711600V +13.5354ns 1.763000V 1.792900V 1.714200V +13.7374ns 1.763800V 1.791800V 1.716700V +13.9394ns 1.764500V 1.790800V 1.719300V +14.1414ns 1.765300V 1.789700V 1.721800V +14.3434ns 1.766000V 1.788700V 1.724200V +14.5455ns 1.766800V 1.787700V 1.726700V +14.7475ns 1.767500V 1.786600V 1.729100V +14.9495ns 1.768200V 1.785600V 1.731500V +15.1515ns 1.768900V 1.784600V 1.733900V +15.3535ns 1.769600V 1.783600V 1.736200V +15.5556ns 1.770300V 1.782700V 1.738500V +15.7576ns 1.771000V 1.781700V 1.740800V +15.9596ns 1.771700V 1.780700V 1.743100V +16.1616ns 1.772400V 1.779800V 1.745300V +16.3636ns 1.773000V 1.778800V 1.747500V +16.5657ns 1.773700V 1.777900V 1.749700V +16.7677ns 1.774300V 1.777000V 1.751900V +16.9697ns 1.775000V 1.776000V 1.754000V +17.1717ns 1.775600V 1.775100V 1.756200V +17.3737ns 1.776300V 1.774200V 1.758300V +17.5758ns 1.776900V 1.773300V 1.760300V +17.7778ns 1.777500V 1.772400V 1.762400V +17.9798ns 1.778100V 1.771600V 1.764400V +18.1818ns 1.778700V 1.770700V 1.766400V +18.3838ns 1.779300V 1.769800V 1.768400V +18.5859ns 1.779900V 1.769000V 1.770400V +18.7879ns 1.780500V 1.768100V 1.772300V +18.9899ns 1.781100V 1.767300V 1.774200V +19.1919ns 1.781600V 1.766500V 1.776200V +19.3939ns 1.782200V 1.765700V 1.778000V +19.5960ns 1.782800V 1.764900V 1.779900V +19.7980ns 1.783300V 1.764000V 1.781700V +|20.0000ns 1.783900V 1.763300V 1.783600V +40.0000ns 1.783900V 1.550000V 1.783600V +| +| End [Model] lvc330s140aaaaaaaaio +|************************************************************************ +| End [Component] +[End] diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.alt b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.alt index 74e813c..ceaf9b4 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.alt +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.alt @@ -1,75 +1,75 @@ -NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * -NOTE All Rights Reserved * -NOTE DATE CREATED: Wed Aug 16 04:50:55 2023 * -NOTE DESIGN NAME: RAM2GS * -NOTE DEVICE NAME: LCMXO640C-3TQFP100 * -NOTE PIN ASSIGNMENTS * -NOTE PINS RD[0] : 64 : inout * -NOTE PINS Dout[0] : 1 : out * -NOTE PINS PHI2 : 39 : in * -NOTE PINS UFMSDO : 55 : in * -NOTE PINS UFMSDI : 56 : out * -NOTE PINS UFMCLK : 58 : out * -NOTE PINS nUFMCS : 53 : out * -NOTE PINS RDQML : 61 : out * -NOTE PINS RDQMH : 76 : out * -NOTE PINS nRCAS : 78 : out * -NOTE PINS nRRAS : 73 : out * -NOTE PINS nRWE : 72 : out * -NOTE PINS RCKE : 82 : out * -NOTE PINS RCLK : 86 : in * -NOTE PINS nRCS : 77 : out * -NOTE PINS RD[7] : 71 : inout * -NOTE PINS RD[6] : 70 : inout * -NOTE PINS RD[5] : 69 : inout * -NOTE PINS RD[4] : 68 : inout * -NOTE PINS RD[3] : 67 : inout * -NOTE PINS RD[2] : 66 : inout * -NOTE PINS RD[1] : 65 : inout * -NOTE PINS RA[11] : 79 : out * -NOTE PINS RA[10] : 87 : out * -NOTE PINS RA[9] : 85 : out * -NOTE PINS RA[8] : 96 : out * -NOTE PINS RA[7] : 100 : out * -NOTE PINS RA[6] : 91 : out * -NOTE PINS RA[5] : 95 : out * -NOTE PINS RA[4] : 99 : out * -NOTE PINS RA[3] : 97 : out * -NOTE PINS RA[2] : 94 : out * -NOTE PINS RA[1] : 89 : out * -NOTE PINS RA[0] : 98 : out * -NOTE PINS RBA[1] : 83 : out * -NOTE PINS RBA[0] : 63 : out * -NOTE PINS LED : 57 : out * -NOTE PINS nFWE : 22 : in * -NOTE PINS nCRAS : 43 : in * -NOTE PINS nCCAS : 27 : in * -NOTE PINS Dout[7] : 3 : out * -NOTE PINS Dout[6] : 2 : out * -NOTE PINS Dout[5] : 5 : out * -NOTE PINS Dout[4] : 4 : out * -NOTE PINS Dout[3] : 6 : out * -NOTE PINS Dout[2] : 8 : out * -NOTE PINS Dout[1] : 7 : out * -NOTE PINS Din[7] : 19 : in * -NOTE PINS Din[6] : 20 : in * -NOTE PINS Din[5] : 17 : in * -NOTE PINS Din[4] : 18 : in * -NOTE PINS Din[3] : 16 : in * -NOTE PINS Din[2] : 14 : in * -NOTE PINS Din[1] : 15 : in * -NOTE PINS Din[0] : 21 : in * -NOTE PINS CROW[1] : 34 : in * -NOTE PINS CROW[0] : 32 : in * -NOTE PINS MAin[9] : 51 : in * -NOTE PINS MAin[8] : 50 : in * -NOTE PINS MAin[7] : 44 : in * -NOTE PINS MAin[6] : 49 : in * -NOTE PINS MAin[5] : 45 : in * -NOTE PINS MAin[4] : 46 : in * -NOTE PINS MAin[3] : 47 : in * -NOTE PINS MAin[2] : 37 : in * -NOTE PINS MAin[1] : 38 : in * -NOTE PINS MAin[0] : 23 : in * -NOTE CONFIGURATION MODE: NONE * -NOTE COMPRESSION: off * +NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * +NOTE All Rights Reserved * +NOTE DATE CREATED: Sat Aug 19 20:57:27 2023 * +NOTE DESIGN NAME: RAM2GS * +NOTE DEVICE NAME: LCMXO640C-3TQFP100 * +NOTE PIN ASSIGNMENTS * +NOTE PINS RD[0] : 64 : inout * +NOTE PINS Dout[0] : 1 : out * +NOTE PINS PHI2 : 39 : in * +NOTE PINS UFMSDO : 55 : in * +NOTE PINS UFMSDI : 56 : out * +NOTE PINS UFMCLK : 58 : out * +NOTE PINS nUFMCS : 53 : out * +NOTE PINS RDQML : 61 : out * +NOTE PINS RDQMH : 76 : out * +NOTE PINS nRCAS : 78 : out * +NOTE PINS nRRAS : 73 : out * +NOTE PINS nRWE : 72 : out * +NOTE PINS RCKE : 82 : out * +NOTE PINS RCLK : 86 : in * +NOTE PINS nRCS : 77 : out * +NOTE PINS RD[7] : 71 : inout * +NOTE PINS RD[6] : 70 : inout * +NOTE PINS RD[5] : 69 : inout * +NOTE PINS RD[4] : 68 : inout * +NOTE PINS RD[3] : 67 : inout * +NOTE PINS RD[2] : 66 : inout * +NOTE PINS RD[1] : 65 : inout * +NOTE PINS RA[11] : 79 : out * +NOTE PINS RA[10] : 87 : out * +NOTE PINS RA[9] : 85 : out * +NOTE PINS RA[8] : 96 : out * +NOTE PINS RA[7] : 100 : out * +NOTE PINS RA[6] : 91 : out * +NOTE PINS RA[5] : 95 : out * +NOTE PINS RA[4] : 99 : out * +NOTE PINS RA[3] : 97 : out * +NOTE PINS RA[2] : 94 : out * +NOTE PINS RA[1] : 89 : out * +NOTE PINS RA[0] : 98 : out * +NOTE PINS RBA[1] : 83 : out * +NOTE PINS RBA[0] : 63 : out * +NOTE PINS LED : 57 : out * +NOTE PINS nFWE : 22 : in * +NOTE PINS nCRAS : 43 : in * +NOTE PINS nCCAS : 27 : in * +NOTE PINS Dout[7] : 3 : out * +NOTE PINS Dout[6] : 2 : out * +NOTE PINS Dout[5] : 5 : out * +NOTE PINS Dout[4] : 4 : out * +NOTE PINS Dout[3] : 6 : out * +NOTE PINS Dout[2] : 8 : out * +NOTE PINS Dout[1] : 7 : out * +NOTE PINS Din[7] : 19 : in * +NOTE PINS Din[6] : 20 : in * +NOTE PINS Din[5] : 17 : in * +NOTE PINS Din[4] : 18 : in * +NOTE PINS Din[3] : 16 : in * +NOTE PINS Din[2] : 14 : in * +NOTE PINS Din[1] : 15 : in * +NOTE PINS Din[0] : 21 : in * +NOTE PINS CROW[1] : 34 : in * +NOTE PINS CROW[0] : 32 : in * +NOTE PINS MAin[9] : 51 : in * +NOTE PINS MAin[8] : 50 : in * +NOTE PINS MAin[7] : 44 : in * +NOTE PINS MAin[6] : 49 : in * +NOTE PINS MAin[5] : 45 : in * +NOTE PINS MAin[4] : 46 : in * +NOTE PINS MAin[3] : 47 : in * +NOTE PINS MAin[2] : 37 : in * +NOTE PINS MAin[1] : 38 : in * +NOTE PINS MAin[0] : 23 : in * +NOTE CONFIGURATION MODE: NONE * +NOTE COMPRESSION: off * diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.areasrr b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.areasrr index d75917f..0c38afe 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.areasrr +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.areasrr @@ -1,26 +1,26 @@ ----------------------------------------------------------------------- -Report for cell RAM2GS.verilog - -Register bits: 92 of 640 (14%) -PIC Latch: 0 -I/O cells: 67 - Cell usage: - cell count Res Usage(%) - BB 8 100.0 - CCU2 9 100.0 - FD1P3AX 11 100.0 - FD1S3AX 59 100.0 - FD1S3AY 5 100.0 - FD1S3IX 14 100.0 - FD1S3JX 3 100.0 - GSR 1 100.0 - IB 26 100.0 - INV 8 100.0 - OB 33 100.0 - ORCALUT4 119 100.0 - PFUMX 2 100.0 - PUR 1 100.0 - VHI 1 100.0 - VLO 1 100.0 - - TOTAL 301 +---------------------------------------------------------------------- +Report for cell RAM2GS.verilog + +Register bits: 92 of 640 (14%) +PIC Latch: 0 +I/O cells: 67 + Cell usage: + cell count Res Usage(%) + BB 8 100.0 + CCU2 9 100.0 + FD1P3AX 11 100.0 + FD1S3AX 59 100.0 + FD1S3AY 5 100.0 + FD1S3IX 14 100.0 + FD1S3JX 3 100.0 + GSR 1 100.0 + IB 26 100.0 + INV 8 100.0 + OB 33 100.0 + ORCALUT4 119 100.0 + PFUMX 2 100.0 + PUR 1 100.0 + VHI 1 100.0 + VLO 1 100.0 + + TOTAL 301 diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.bgn b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.bgn index 5b6e508..26be261 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.bgn +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.bgn @@ -1,45 +1,45 @@ -BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 +BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:55 2023 +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:57:26 2023 + - -Command: bitgen -w -g ES:No -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf - -Loading design for application Bitgen from file RAM2GS_LCMXO640C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application Bitgen from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. - -Running DRC. -DRC detected 0 errors and 0 warnings. -Reading Preference File from RAM2GS_LCMXO640C_impl1.prf. - -Preference Summary: -+---------------------------------+---------------------------------+ -| Preference | Current Setting | -+---------------------------------+---------------------------------+ -| CONFIG_SECURE | OFF** | -+---------------------------------+---------------------------------+ -| INBUF | ON** | -+---------------------------------+---------------------------------+ -| ES | No** | -+---------------------------------+---------------------------------+ - * Default setting. - ** The specified setting matches the default setting. - - -Creating bit map... -Saving bit stream in "RAM2GS_LCMXO640C_impl1.bit". -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 46 MB +Command: bitgen -w -g ES:No -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf + +Loading design for application Bitgen from file RAM2GS_LCMXO640C_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 3 +Loading device for application Bitgen from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. + +Running DRC. +DRC detected 0 errors and 0 warnings. +Reading Preference File from RAM2GS_LCMXO640C_impl1.prf. + +Preference Summary: ++---------------------------------+---------------------------------+ +| Preference | Current Setting | ++---------------------------------+---------------------------------+ +| CONFIG_SECURE | OFF** | ++---------------------------------+---------------------------------+ +| INBUF | ON** | ++---------------------------------+---------------------------------+ +| ES | No** | ++---------------------------------+---------------------------------+ + * Default setting. + ** The specified setting matches the default setting. + + +Creating bit map... +Saving bit stream in "RAM2GS_LCMXO640C_impl1.bit". +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 67 MB diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.bit b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.bit index cb9573e44751ef7641cae8702526285a99b2a1b3..d1c799f44abe80ebd42f8120969c2469570e5060 100644 GIT binary patch delta 33 pcmew|m+{M7#tGX+f)h&=92H8_6$~vEj0~(y&8>{gH=fq?0|3^a3rzq3 delta 33 pcmew|m+{M7#tGX+!c$We92H8_6%5T33{0#{4XjK}H=fq?0|3>v3qAk< diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.ncd b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.ncd index 37e2fc98df54ea11c33c83035af5fbdddab27f76..3448f965bb4d8f65bc25e76b275326e77843ac40 100644 GIT binary patch delta 40 wcmcaUiSzm-&IuyS4^v)l6n`YaRv+!BrLRAkQPQE=Ub5X@l5xAeB$I>z06`TEGXMYp delta 40 wcmcaUiSzm-&IuyScY2>~6n`YaR_OeIU0;7PqohN#y=1$+B;$5_NhS#c07~5rod5s; diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.pad b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.pad index f0915dc..da08f0e 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.pad +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.pad @@ -1,353 +1,353 @@ -PAD Specification File -*************************** - -PART TYPE: LCMXO640C -Performance Grade: 3 -PACKAGE: TQFP100 -Package Status: Final Version 1.17 - -Wed Aug 16 04:50:52 2023 - -Pinout by Port Name: -+-----------+----------+---------------+-------+----------------------------------+ -| Port Name | Pin/Bank | Buffer Type | Site | Properties | -+-----------+----------+---------------+-------+----------------------------------+ -| CROW[0] | 32/2 | LVCMOS33_IN | PB4C | SLEW:FAST PULL:KEEPER | -| CROW[1] | 34/2 | LVCMOS33_IN | PB4E | SLEW:FAST PULL:KEEPER | -| Din[0] | 21/3 | LVCMOS33_IN | PL10C | SLEW:FAST PULL:KEEPER | -| Din[1] | 15/3 | LVCMOS33_IN | PL7B | SLEW:FAST PULL:KEEPER | -| Din[2] | 14/3 | LVCMOS33_IN | PL5B | SLEW:FAST PULL:KEEPER | -| Din[3] | 16/3 | LVCMOS33_IN | PL8C | SLEW:FAST PULL:KEEPER | -| Din[4] | 18/3 | LVCMOS33_IN | PL9A | SLEW:FAST PULL:KEEPER | -| Din[5] | 17/3 | LVCMOS33_IN | PL8D | SLEW:FAST PULL:KEEPER | -| Din[6] | 20/3 | LVCMOS33_IN | PL10A | SLEW:FAST PULL:KEEPER | -| Din[7] | 19/3 | LVCMOS33_IN | PL9C | SLEW:FAST PULL:KEEPER | -| Dout[0] | 1/3 | LVCMOS33_OUT | PL2A | DRIVE:4mA SLEW:FAST | -| Dout[1] | 7/3 | LVCMOS33_OUT | PL3C | DRIVE:4mA SLEW:FAST | -| Dout[2] | 8/3 | LVCMOS33_OUT | PL3D | DRIVE:4mA SLEW:FAST | -| Dout[3] | 6/3 | LVCMOS33_OUT | PL3B | DRIVE:4mA SLEW:FAST | -| Dout[4] | 4/3 | LVCMOS33_OUT | PL2D | DRIVE:4mA SLEW:FAST | -| Dout[5] | 5/3 | LVCMOS33_OUT | PL3A | DRIVE:4mA SLEW:FAST | -| Dout[6] | 2/3 | LVCMOS33_OUT | PL2C | DRIVE:4mA SLEW:FAST | -| Dout[7] | 3/3 | LVCMOS33_OUT | PL2B | DRIVE:4mA SLEW:FAST | -| LED | 57/1 | LVCMOS33_OUT | PR10B | DRIVE:14mA SLEW:SLOW | -| MAin[0] | 23/3 | LVCMOS33_IN | PL11C | SLEW:FAST PULL:KEEPER | -| MAin[1] | 38/2 | LVCMOS33_IN | PB6B | SLEW:FAST PULL:KEEPER | -| MAin[2] | 37/2 | LVCMOS33_IN | PB5D | SLEW:FAST PULL:KEEPER | -| MAin[3] | 47/2 | LVCMOS33_IN | PB9C | SLEW:FAST PULL:KEEPER | -| MAin[4] | 46/2 | LVCMOS33_IN | PB9A | SLEW:FAST PULL:KEEPER | -| MAin[5] | 45/2 | LVCMOS33_IN | PB8D | SLEW:FAST PULL:KEEPER | -| MAin[6] | 49/2 | LVCMOS33_IN | PB9D | SLEW:FAST PULL:KEEPER | -| MAin[7] | 44/2 | LVCMOS33_IN | PB8C | SLEW:FAST PULL:KEEPER | -| MAin[8] | 50/2 | LVCMOS33_IN | PB9F | SLEW:FAST PULL:KEEPER | -| MAin[9] | 51/1 | LVCMOS33_IN | PR11D | SLEW:FAST PULL:KEEPER | -| PHI2 | 39/2 | LVCMOS33_IN | PB6C | SLEW:FAST PULL:DOWN | -| RA[0] | 98/0 | LVCMOS33_OUT | PT2B | DRIVE:4mA SLEW:SLOW | -| RA[10] | 87/0 | LVCMOS33_OUT | PT5A | DRIVE:4mA SLEW:SLOW | -| RA[11] | 79/0 | LVCMOS33_OUT | PT9A | DRIVE:4mA SLEW:SLOW | -| RA[1] | 89/0 | LVCMOS33_OUT | PT4F | DRIVE:4mA SLEW:SLOW | -| RA[2] | 94/0 | LVCMOS33_OUT | PT3B | DRIVE:4mA SLEW:SLOW | -| RA[3] | 97/0 | LVCMOS33_OUT | PT2E | DRIVE:4mA SLEW:SLOW | -| RA[4] | 99/0 | LVCMOS33_OUT | PT2C | DRIVE:4mA SLEW:SLOW | -| RA[5] | 95/0 | LVCMOS33_OUT | PT3A | DRIVE:4mA SLEW:SLOW | -| RA[6] | 91/0 | LVCMOS33_OUT | PT3F | DRIVE:4mA SLEW:SLOW | -| RA[7] | 100/0 | LVCMOS33_OUT | PT2A | DRIVE:4mA SLEW:SLOW | -| RA[8] | 96/0 | LVCMOS33_OUT | PT2F | DRIVE:4mA SLEW:SLOW | -| RA[9] | 85/0 | LVCMOS33_OUT | PT6B | DRIVE:4mA SLEW:SLOW | -| RBA[0] | 63/1 | LVCMOS33_OUT | PR7B | DRIVE:4mA SLEW:SLOW | -| RBA[1] | 83/0 | LVCMOS33_OUT | PT7A | DRIVE:4mA SLEW:SLOW | -| RCKE | 82/0 | LVCMOS33_OUT | PT7E | DRIVE:4mA SLEW:SLOW | -| RCLK | 86/0 | LVCMOS33_IN | PT5B | SLEW:FAST PULL:KEEPER | -| RDQMH | 76/0 | LVCMOS33_OUT | PT9F | DRIVE:4mA SLEW:SLOW | -| RDQML | 61/1 | LVCMOS33_OUT | PR9B | DRIVE:4mA SLEW:SLOW | -| RD[0] | 64/1 | LVCMOS33_BIDI | PR6C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[1] | 65/1 | LVCMOS33_BIDI | PR6B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[2] | 66/1 | LVCMOS33_BIDI | PR5D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[3] | 67/1 | LVCMOS33_BIDI | PR5B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[4] | 68/1 | LVCMOS33_BIDI | PR4D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[5] | 69/1 | LVCMOS33_BIDI | PR4B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[6] | 70/1 | LVCMOS33_BIDI | PR3D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[7] | 71/1 | LVCMOS33_BIDI | PR3B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| UFMCLK | 58/1 | LVCMOS33_OUT | PR10A | DRIVE:4mA SLEW:SLOW | -| UFMSDI | 56/1 | LVCMOS33_OUT | PR10C | DRIVE:4mA SLEW:SLOW | -| UFMSDO | 55/1 | LVCMOS33_IN | PR10D | SLEW:FAST PULL:KEEPER | -| nCCAS | 27/2 | LVCMOS33_IN | PB2C | SLEW:FAST PULL:UP | -| nCRAS | 43/2 | LVCMOS33_IN | PB8B | SLEW:FAST PULL:UP | -| nFWE | 22/3 | LVCMOS33_IN | PL11A | SLEW:FAST PULL:KEEPER | -| nRCAS | 78/0 | LVCMOS33_OUT | PT9C | DRIVE:4mA SLEW:SLOW | -| nRCS | 77/0 | LVCMOS33_OUT | PT9E | DRIVE:4mA SLEW:SLOW | -| nRRAS | 73/1 | LVCMOS33_OUT | PR2B | DRIVE:4mA SLEW:SLOW | -| nRWE | 72/1 | LVCMOS33_OUT | PR2D | DRIVE:4mA SLEW:SLOW | -| nUFMCS | 53/1 | LVCMOS33_OUT | PR11C | DRIVE:4mA SLEW:SLOW | -+-----------+----------+---------------+-------+----------------------------------+ - -Vccio by Bank: -+------+-------+ -| Bank | Vccio | -+------+-------+ -| 0 | 3.3V | -| 1 | 3.3V | -| 2 | | -| 3 | 3.3V | -+------+-------+ - -Vref by Bank: -+------+-----+-----------------+---------+ -| Vref | Pin | Bank # / Vref # | Load(s) | -+------+-----+-----------------+---------+ -+------+-----+-----------------+---------+ - -Pinout by Pin Number: -+----------+---------------------+------------+---------------+-------+---------------+ -| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | -+----------+---------------------+------------+---------------+-------+---------------+ -| 1/3 | Dout[0] | LOCATED | LVCMOS33_OUT | PL2A | | -| 2/3 | Dout[6] | LOCATED | LVCMOS33_OUT | PL2C | | -| 3/3 | Dout[7] | LOCATED | LVCMOS33_OUT | PL2B | | -| 4/3 | Dout[4] | LOCATED | LVCMOS33_OUT | PL2D | | -| 5/3 | Dout[5] | LOCATED | LVCMOS33_OUT | PL3A | | -| 6/3 | Dout[3] | LOCATED | LVCMOS33_OUT | PL3B | | -| 7/3 | Dout[1] | LOCATED | LVCMOS33_OUT | PL3C | | -| 8/3 | Dout[2] | LOCATED | LVCMOS33_OUT | PL3D | | -| 9/3 | unused, PULL:UP | | | PL4A | | -| 11/3 | unused, PULL:UP | | | PL4C | | -| 13/3 | unused, PULL:UP | | | PL4D | | -| 14/3 | Din[2] | LOCATED | LVCMOS33_IN | PL5B | GSR_PADN | -| 15/3 | Din[1] | LOCATED | LVCMOS33_IN | PL7B | | -| 16/3 | Din[3] | LOCATED | LVCMOS33_IN | PL8C | TSALLPAD | -| 17/3 | Din[5] | LOCATED | LVCMOS33_IN | PL8D | | -| 18/3 | Din[4] | LOCATED | LVCMOS33_IN | PL9A | | -| 19/3 | Din[7] | LOCATED | LVCMOS33_IN | PL9C | | -| 20/3 | Din[6] | LOCATED | LVCMOS33_IN | PL10A | | -| 21/3 | Din[0] | LOCATED | LVCMOS33_IN | PL10C | | -| 22/3 | nFWE | LOCATED | LVCMOS33_IN | PL11A | | -| 23/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL11C | | -| 27/2 | nCCAS | LOCATED | LVCMOS33_IN | PB2C | | -| 32/2 | CROW[0] | LOCATED | LVCMOS33_IN | PB4C | | -| 34/2 | CROW[1] | LOCATED | LVCMOS33_IN | PB4E | | -| 36/2 | unused, PULL:UP | | | PB5B | PCLKT2_1 | -| 37/2 | MAin[2] | LOCATED | LVCMOS33_IN | PB5D | | -| 38/2 | MAin[1] | LOCATED | LVCMOS33_IN | PB6B | PCLKT2_0 | -| 39/2 | PHI2 | LOCATED | LVCMOS33_IN | PB6C | | -| 43/2 | nCRAS | LOCATED | LVCMOS33_IN | PB8B | | -| 44/2 | MAin[7] | LOCATED | LVCMOS33_IN | PB8C | | -| 45/2 | MAin[5] | LOCATED | LVCMOS33_IN | PB8D | | -| 46/2 | MAin[4] | LOCATED | LVCMOS33_IN | PB9A | | -| 47/2 | MAin[3] | LOCATED | LVCMOS33_IN | PB9C | | -| 49/2 | MAin[6] | LOCATED | LVCMOS33_IN | PB9D | | -| 50/2 | MAin[8] | LOCATED | LVCMOS33_IN | PB9F | | -| 51/1 | MAin[9] | LOCATED | LVCMOS33_IN | PR11D | | -| 52/1 | unused, PULL:UP | | | PR11B | | -| 53/1 | nUFMCS | LOCATED | LVCMOS33_OUT | PR11C | | -| 54/1 | unused, PULL:UP | | | PR11A | | -| 55/1 | UFMSDO | LOCATED | LVCMOS33_IN | PR10D | | -| 56/1 | UFMSDI | LOCATED | LVCMOS33_OUT | PR10C | | -| 57/1 | LED | LOCATED | LVCMOS33_OUT | PR10B | | -| 58/1 | UFMCLK | LOCATED | LVCMOS33_OUT | PR10A | | -| 59/1 | unused, PULL:UP | | | PR9D | | -| 61/1 | RDQML | LOCATED | LVCMOS33_OUT | PR9B | | -| 63/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR7B | | -| 64/1 | RD[0] | LOCATED | LVCMOS33_BIDI | PR6C | | -| 65/1 | RD[1] | LOCATED | LVCMOS33_BIDI | PR6B | | -| 66/1 | RD[2] | LOCATED | LVCMOS33_BIDI | PR5D | | -| 67/1 | RD[3] | LOCATED | LVCMOS33_BIDI | PR5B | | -| 68/1 | RD[4] | LOCATED | LVCMOS33_BIDI | PR4D | | -| 69/1 | RD[5] | LOCATED | LVCMOS33_BIDI | PR4B | | -| 70/1 | RD[6] | LOCATED | LVCMOS33_BIDI | PR3D | | -| 71/1 | RD[7] | LOCATED | LVCMOS33_BIDI | PR3B | | -| 72/1 | nRWE | LOCATED | LVCMOS33_OUT | PR2D | | -| 73/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR2B | | -| 76/0 | RDQMH | LOCATED | LVCMOS33_OUT | PT9F | | -| 77/0 | nRCS | LOCATED | LVCMOS33_OUT | PT9E | | -| 78/0 | nRCAS | LOCATED | LVCMOS33_OUT | PT9C | | -| 79/0 | RA[11] | LOCATED | LVCMOS33_OUT | PT9A | | -| 82/0 | RCKE | LOCATED | LVCMOS33_OUT | PT7E | D7 | -| 83/0 | RBA[1] | LOCATED | LVCMOS33_OUT | PT7A | D6 | -| 85/0 | RA[9] | LOCATED | LVCMOS33_OUT | PT6B | PCLKT0_1 | -| 86/0 | RCLK | LOCATED | LVCMOS33_IN | PT5B | PCLKT0_0 | -| 87/0 | RA[10] | LOCATED | LVCMOS33_OUT | PT5A | | -| 89/0 | RA[1] | LOCATED | LVCMOS33_OUT | PT4F | | -| 91/0 | RA[6] | LOCATED | LVCMOS33_OUT | PT3F | D3 | -| 94/0 | RA[2] | LOCATED | LVCMOS33_OUT | PT3B | | -| 95/0 | RA[5] | LOCATED | LVCMOS33_OUT | PT3A | | -| 96/0 | RA[8] | LOCATED | LVCMOS33_OUT | PT2F | D2 | -| 97/0 | RA[3] | LOCATED | LVCMOS33_OUT | PT2E | | -| 98/0 | RA[0] | LOCATED | LVCMOS33_OUT | PT2B | D1 | -| 99/0 | RA[4] | LOCATED | LVCMOS33_OUT | PT2C | | -| 100/0 | RA[7] | LOCATED | LVCMOS33_OUT | PT2A | | -| PB2A/2 | unused, PULL:UP | | | PB2A | | -| PB2B/2 | unused, PULL:UP | | | PB2B | | -| PB2D/2 | unused, PULL:UP | | | PB2D | | -| PB3A/2 | unused, PULL:UP | | | PB3A | | -| PB3B/2 | unused, PULL:UP | | | PB3B | | -| PB3C/2 | unused, PULL:UP | | | PB3C | | -| PB3D/2 | unused, PULL:UP | | | PB3D | | -| PB4A/2 | unused, PULL:UP | | | PB4A | | -| PB4B/2 | unused, PULL:UP | | | PB4B | | -| PB4D/2 | unused, PULL:UP | | | PB4D | | -| PB4F/2 | unused, PULL:UP | | | PB4F | | -| PB5A/2 | unused, PULL:UP | | | PB5A | | -| PB5C/2 | unused, PULL:UP | | | PB5C | | -| PB6A/2 | unused, PULL:UP | | | PB6A | | -| PB6D/2 | unused, PULL:UP | | | PB6D | | -| PB7A/2 | unused, PULL:UP | | | PB7A | | -| PB7B/2 | unused, PULL:UP | | | PB7B | | -| PB7C/2 | unused, PULL:UP | | | PB7C | | -| PB7D/2 | unused, PULL:UP | | | PB7D | | -| PB7E/2 | unused, PULL:UP | | | PB7E | | -| PB7F/2 | unused, PULL:UP | | | PB7F | | -| PB8A/2 | unused, PULL:UP | | | PB8A | | -| PB9B/2 | unused, PULL:UP | | | PB9B | | -| PB9E/0 | unused, PULL:UP | | | PB9E | | -| PL4B/3 | unused, PULL:UP | | | PL4B | | -| PL5A/3 | unused, PULL:UP | | | PL5A | | -| PL5C/3 | unused, PULL:UP | | | PL5C | | -| PL5D/3 | unused, PULL:UP | | | PL5D | | -| PL6A/3 | unused, PULL:UP | | | PL6A | | -| PL6B/3 | unused, PULL:UP | | | PL6B | | -| PL6C/3 | unused, PULL:UP | | | PL6C | | -| PL6D/3 | unused, PULL:UP | | | PL6D | | -| PL7A/3 | unused, PULL:UP | | | PL7A | | -| PL7C/3 | unused, PULL:UP | | | PL7C | | -| PL7D/3 | unused, PULL:UP | | | PL7D | | -| PL8A/3 | unused, PULL:UP | | | PL8A | | -| PL8B/3 | unused, PULL:UP | | | PL8B | | -| PL9B/3 | unused, PULL:UP | | | PL9B | | -| PL9D/3 | unused, PULL:UP | | | PL9D | | -| PL10B/3 | unused, PULL:UP | | | PL10B | | -| PL10D/3 | unused, PULL:UP | | | PL10D | | -| PL11B/3 | unused, PULL:UP | | | PL11B | | -| PL11D/3 | unused, PULL:UP | | | PL11D | | -| PR2A/1 | unused, PULL:UP | | | PR2A | | -| PR2C/1 | unused, PULL:UP | | | PR2C | | -| PR3A/1 | unused, PULL:UP | | | PR3A | | -| PR3C/1 | unused, PULL:UP | | | PR3C | | -| PR4A/1 | unused, PULL:UP | | | PR4A | | -| PR4C/1 | unused, PULL:UP | | | PR4C | | -| PR5A/1 | unused, PULL:UP | | | PR5A | | -| PR5C/1 | unused, PULL:UP | | | PR5C | | -| PR6A/1 | unused, PULL:UP | | | PR6A | | -| PR6D/1 | unused, PULL:UP | | | PR6D | | -| PR7A/1 | unused, PULL:UP | | | PR7A | | -| PR7C/1 | unused, PULL:UP | | | PR7C | | -| PR7D/1 | unused, PULL:UP | | | PR7D | | -| PR8A/1 | unused, PULL:UP | | | PR8A | | -| PR8B/1 | unused, PULL:UP | | | PR8B | | -| PR8C/1 | unused, PULL:UP | | | PR8C | | -| PR8D/1 | unused, PULL:UP | | | PR8D | | -| PR9A/1 | unused, PULL:UP | | | PR9A | | -| PR9C/1 | unused, PULL:UP | | | PR9C | | -| PT2D/0 | unused, PULL:UP | | | PT2D | | -| PT3C/0 | unused, PULL:UP | | | PT3C | | -| PT3D/0 | unused, PULL:UP | | | PT3D | | -| PT3E/0 | unused, PULL:UP | | | PT3E | | -| PT4A/0 | unused, PULL:UP | | | PT4A | | -| PT4B/0 | unused, PULL:UP | | | PT4B | | -| PT4C/0 | unused, PULL:UP | | | PT4C | | -| PT4D/0 | unused, PULL:UP | | | PT4D | | -| PT4E/0 | unused, PULL:UP | | | PT4E | | -| PT5C/0 | unused, PULL:UP | | | PT5C | | -| PT5D/0 | unused, PULL:UP | | | PT5D | | -| PT6A/0 | unused, PULL:UP | | | PT6A | | -| PT6C/0 | unused, PULL:UP | | | PT6C | | -| PT6D/0 | unused, PULL:UP | | | PT6D | | -| PT7B/0 | unused, PULL:UP | | | PT7B | | -| PT7C/0 | unused, PULL:UP | | | PT7C | | -| PT7D/0 | unused, PULL:UP | | | PT7D | | -| PT7F/0 | unused, PULL:UP | | | PT7F | | -| PT8A/0 | unused, PULL:UP | | | PT8A | | -| PT8B/0 | unused, PULL:UP | | | PT8B | | -| PT8C/0 | unused, PULL:UP | | | PT8C | | -| PT8D/0 | unused, PULL:UP | | | PT8D | | -| PT9B/0 | unused, PULL:UP | | | PT9B | | -| PT9D/0 | unused, PULL:UP | | | PT9D | | -| TCK/2 | | | | TCK | TCK | -| TDI/2 | | | | TDI | TDID0 | -| TDO/2 | | | | TDO | TDO | -| TMS/2 | | | | TMS | TMS | -+----------+---------------------+------------+---------------+-------+---------------+ - - -List of All Pins' Locate Preferences Based on Final Placement After PAR -to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): - -LOCATE COMP "CROW[0]" SITE "32"; -LOCATE COMP "CROW[1]" SITE "34"; -LOCATE COMP "Din[0]" SITE "21"; -LOCATE COMP "Din[1]" SITE "15"; -LOCATE COMP "Din[2]" SITE "14"; -LOCATE COMP "Din[3]" SITE "16"; -LOCATE COMP "Din[4]" SITE "18"; -LOCATE COMP "Din[5]" SITE "17"; -LOCATE COMP "Din[6]" SITE "20"; -LOCATE COMP "Din[7]" SITE "19"; -LOCATE COMP "Dout[0]" SITE "1"; -LOCATE COMP "Dout[1]" SITE "7"; -LOCATE COMP "Dout[2]" SITE "8"; -LOCATE COMP "Dout[3]" SITE "6"; -LOCATE COMP "Dout[4]" SITE "4"; -LOCATE COMP "Dout[5]" SITE "5"; -LOCATE COMP "Dout[6]" SITE "2"; -LOCATE COMP "Dout[7]" SITE "3"; -LOCATE COMP "LED" SITE "57"; -LOCATE COMP "MAin[0]" SITE "23"; -LOCATE COMP "MAin[1]" SITE "38"; -LOCATE COMP "MAin[2]" SITE "37"; -LOCATE COMP "MAin[3]" SITE "47"; -LOCATE COMP "MAin[4]" SITE "46"; -LOCATE COMP "MAin[5]" SITE "45"; -LOCATE COMP "MAin[6]" SITE "49"; -LOCATE COMP "MAin[7]" SITE "44"; -LOCATE COMP "MAin[8]" SITE "50"; -LOCATE COMP "MAin[9]" SITE "51"; -LOCATE COMP "PHI2" SITE "39"; -LOCATE COMP "RA[0]" SITE "98"; -LOCATE COMP "RA[10]" SITE "87"; -LOCATE COMP "RA[11]" SITE "79"; -LOCATE COMP "RA[1]" SITE "89"; -LOCATE COMP "RA[2]" SITE "94"; -LOCATE COMP "RA[3]" SITE "97"; -LOCATE COMP "RA[4]" SITE "99"; -LOCATE COMP "RA[5]" SITE "95"; -LOCATE COMP "RA[6]" SITE "91"; -LOCATE COMP "RA[7]" SITE "100"; -LOCATE COMP "RA[8]" SITE "96"; -LOCATE COMP "RA[9]" SITE "85"; -LOCATE COMP "RBA[0]" SITE "63"; -LOCATE COMP "RBA[1]" SITE "83"; -LOCATE COMP "RCKE" SITE "82"; -LOCATE COMP "RCLK" SITE "86"; -LOCATE COMP "RDQMH" SITE "76"; -LOCATE COMP "RDQML" SITE "61"; -LOCATE COMP "RD[0]" SITE "64"; -LOCATE COMP "RD[1]" SITE "65"; -LOCATE COMP "RD[2]" SITE "66"; -LOCATE COMP "RD[3]" SITE "67"; -LOCATE COMP "RD[4]" SITE "68"; -LOCATE COMP "RD[5]" SITE "69"; -LOCATE COMP "RD[6]" SITE "70"; -LOCATE COMP "RD[7]" SITE "71"; -LOCATE COMP "UFMCLK" SITE "58"; -LOCATE COMP "UFMSDI" SITE "56"; -LOCATE COMP "UFMSDO" SITE "55"; -LOCATE COMP "nCCAS" SITE "27"; -LOCATE COMP "nCRAS" SITE "43"; -LOCATE COMP "nFWE" SITE "22"; -LOCATE COMP "nRCAS" SITE "78"; -LOCATE COMP "nRCS" SITE "77"; -LOCATE COMP "nRRAS" SITE "73"; -LOCATE COMP "nRWE" SITE "72"; -LOCATE COMP "nUFMCS" SITE "53"; - - - - - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:52 2023 - +PAD Specification File +*************************** + +PART TYPE: LCMXO640C +Performance Grade: 3 +PACKAGE: TQFP100 +Package Status: Final Version 1.17 + +Sat Aug 19 20:57:21 2023 + +Pinout by Port Name: ++-----------+----------+---------------+-------+----------------------------------+ +| Port Name | Pin/Bank | Buffer Type | Site | Properties | ++-----------+----------+---------------+-------+----------------------------------+ +| CROW[0] | 32/2 | LVCMOS33_IN | PB4C | SLEW:FAST PULL:KEEPER | +| CROW[1] | 34/2 | LVCMOS33_IN | PB4E | SLEW:FAST PULL:KEEPER | +| Din[0] | 21/3 | LVCMOS33_IN | PL10C | SLEW:FAST PULL:KEEPER | +| Din[1] | 15/3 | LVCMOS33_IN | PL7B | SLEW:FAST PULL:KEEPER | +| Din[2] | 14/3 | LVCMOS33_IN | PL5B | SLEW:FAST PULL:KEEPER | +| Din[3] | 16/3 | LVCMOS33_IN | PL8C | SLEW:FAST PULL:KEEPER | +| Din[4] | 18/3 | LVCMOS33_IN | PL9A | SLEW:FAST PULL:KEEPER | +| Din[5] | 17/3 | LVCMOS33_IN | PL8D | SLEW:FAST PULL:KEEPER | +| Din[6] | 20/3 | LVCMOS33_IN | PL10A | SLEW:FAST PULL:KEEPER | +| Din[7] | 19/3 | LVCMOS33_IN | PL9C | SLEW:FAST PULL:KEEPER | +| Dout[0] | 1/3 | LVCMOS33_OUT | PL2A | DRIVE:4mA SLEW:FAST | +| Dout[1] | 7/3 | LVCMOS33_OUT | PL3C | DRIVE:4mA SLEW:FAST | +| Dout[2] | 8/3 | LVCMOS33_OUT | PL3D | DRIVE:4mA SLEW:FAST | +| Dout[3] | 6/3 | LVCMOS33_OUT | PL3B | DRIVE:4mA SLEW:FAST | +| Dout[4] | 4/3 | LVCMOS33_OUT | PL2D | DRIVE:4mA SLEW:FAST | +| Dout[5] | 5/3 | LVCMOS33_OUT | PL3A | DRIVE:4mA SLEW:FAST | +| Dout[6] | 2/3 | LVCMOS33_OUT | PL2C | DRIVE:4mA SLEW:FAST | +| Dout[7] | 3/3 | LVCMOS33_OUT | PL2B | DRIVE:4mA SLEW:FAST | +| LED | 57/1 | LVCMOS33_OUT | PR10B | DRIVE:14mA SLEW:SLOW | +| MAin[0] | 23/3 | LVCMOS33_IN | PL11C | SLEW:FAST PULL:KEEPER | +| MAin[1] | 38/2 | LVCMOS33_IN | PB6B | SLEW:FAST PULL:KEEPER | +| MAin[2] | 37/2 | LVCMOS33_IN | PB5D | SLEW:FAST PULL:KEEPER | +| MAin[3] | 47/2 | LVCMOS33_IN | PB9C | SLEW:FAST PULL:KEEPER | +| MAin[4] | 46/2 | LVCMOS33_IN | PB9A | SLEW:FAST PULL:KEEPER | +| MAin[5] | 45/2 | LVCMOS33_IN | PB8D | SLEW:FAST PULL:KEEPER | +| MAin[6] | 49/2 | LVCMOS33_IN | PB9D | SLEW:FAST PULL:KEEPER | +| MAin[7] | 44/2 | LVCMOS33_IN | PB8C | SLEW:FAST PULL:KEEPER | +| MAin[8] | 50/2 | LVCMOS33_IN | PB9F | SLEW:FAST PULL:KEEPER | +| MAin[9] | 51/1 | LVCMOS33_IN | PR11D | SLEW:FAST PULL:KEEPER | +| PHI2 | 39/2 | LVCMOS33_IN | PB6C | SLEW:FAST PULL:DOWN | +| RA[0] | 98/0 | LVCMOS33_OUT | PT2B | DRIVE:4mA SLEW:SLOW | +| RA[10] | 87/0 | LVCMOS33_OUT | PT5A | DRIVE:4mA SLEW:SLOW | +| RA[11] | 79/0 | LVCMOS33_OUT | PT9A | DRIVE:4mA SLEW:SLOW | +| RA[1] | 89/0 | LVCMOS33_OUT | PT4F | DRIVE:4mA SLEW:SLOW | +| RA[2] | 94/0 | LVCMOS33_OUT | PT3B | DRIVE:4mA SLEW:SLOW | +| RA[3] | 97/0 | LVCMOS33_OUT | PT2E | DRIVE:4mA SLEW:SLOW | +| RA[4] | 99/0 | LVCMOS33_OUT | PT2C | DRIVE:4mA SLEW:SLOW | +| RA[5] | 95/0 | LVCMOS33_OUT | PT3A | DRIVE:4mA SLEW:SLOW | +| RA[6] | 91/0 | LVCMOS33_OUT | PT3F | DRIVE:4mA SLEW:SLOW | +| RA[7] | 100/0 | LVCMOS33_OUT | PT2A | DRIVE:4mA SLEW:SLOW | +| RA[8] | 96/0 | LVCMOS33_OUT | PT2F | DRIVE:4mA SLEW:SLOW | +| RA[9] | 85/0 | LVCMOS33_OUT | PT6B | DRIVE:4mA SLEW:SLOW | +| RBA[0] | 63/1 | LVCMOS33_OUT | PR7B | DRIVE:4mA SLEW:SLOW | +| RBA[1] | 83/0 | LVCMOS33_OUT | PT7A | DRIVE:4mA SLEW:SLOW | +| RCKE | 82/0 | LVCMOS33_OUT | PT7E | DRIVE:4mA SLEW:SLOW | +| RCLK | 86/0 | LVCMOS33_IN | PT5B | SLEW:FAST PULL:KEEPER | +| RDQMH | 76/0 | LVCMOS33_OUT | PT9F | DRIVE:4mA SLEW:SLOW | +| RDQML | 61/1 | LVCMOS33_OUT | PR9B | DRIVE:4mA SLEW:SLOW | +| RD[0] | 64/1 | LVCMOS33_BIDI | PR6C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[1] | 65/1 | LVCMOS33_BIDI | PR6B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[2] | 66/1 | LVCMOS33_BIDI | PR5D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[3] | 67/1 | LVCMOS33_BIDI | PR5B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[4] | 68/1 | LVCMOS33_BIDI | PR4D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[5] | 69/1 | LVCMOS33_BIDI | PR4B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[6] | 70/1 | LVCMOS33_BIDI | PR3D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[7] | 71/1 | LVCMOS33_BIDI | PR3B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| UFMCLK | 58/1 | LVCMOS33_OUT | PR10A | DRIVE:4mA SLEW:SLOW | +| UFMSDI | 56/1 | LVCMOS33_OUT | PR10C | DRIVE:4mA SLEW:SLOW | +| UFMSDO | 55/1 | LVCMOS33_IN | PR10D | SLEW:FAST PULL:KEEPER | +| nCCAS | 27/2 | LVCMOS33_IN | PB2C | SLEW:FAST PULL:UP | +| nCRAS | 43/2 | LVCMOS33_IN | PB8B | SLEW:FAST PULL:UP | +| nFWE | 22/3 | LVCMOS33_IN | PL11A | SLEW:FAST PULL:KEEPER | +| nRCAS | 78/0 | LVCMOS33_OUT | PT9C | DRIVE:4mA SLEW:SLOW | +| nRCS | 77/0 | LVCMOS33_OUT | PT9E | DRIVE:4mA SLEW:SLOW | +| nRRAS | 73/1 | LVCMOS33_OUT | PR2B | DRIVE:4mA SLEW:SLOW | +| nRWE | 72/1 | LVCMOS33_OUT | PR2D | DRIVE:4mA SLEW:SLOW | +| nUFMCS | 53/1 | LVCMOS33_OUT | PR11C | DRIVE:4mA SLEW:SLOW | ++-----------+----------+---------------+-------+----------------------------------+ + +Vccio by Bank: ++------+-------+ +| Bank | Vccio | ++------+-------+ +| 0 | 3.3V | +| 1 | 3.3V | +| 2 | | +| 3 | 3.3V | ++------+-------+ + +Vref by Bank: ++------+-----+-----------------+---------+ +| Vref | Pin | Bank # / Vref # | Load(s) | ++------+-----+-----------------+---------+ ++------+-----+-----------------+---------+ + +Pinout by Pin Number: ++----------+---------------------+------------+---------------+-------+---------------+ +| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | ++----------+---------------------+------------+---------------+-------+---------------+ +| 1/3 | Dout[0] | LOCATED | LVCMOS33_OUT | PL2A | | +| 2/3 | Dout[6] | LOCATED | LVCMOS33_OUT | PL2C | | +| 3/3 | Dout[7] | LOCATED | LVCMOS33_OUT | PL2B | | +| 4/3 | Dout[4] | LOCATED | LVCMOS33_OUT | PL2D | | +| 5/3 | Dout[5] | LOCATED | LVCMOS33_OUT | PL3A | | +| 6/3 | Dout[3] | LOCATED | LVCMOS33_OUT | PL3B | | +| 7/3 | Dout[1] | LOCATED | LVCMOS33_OUT | PL3C | | +| 8/3 | Dout[2] | LOCATED | LVCMOS33_OUT | PL3D | | +| 9/3 | unused, PULL:UP | | | PL4A | | +| 11/3 | unused, PULL:UP | | | PL4C | | +| 13/3 | unused, PULL:UP | | | PL4D | | +| 14/3 | Din[2] | LOCATED | LVCMOS33_IN | PL5B | GSR_PADN | +| 15/3 | Din[1] | LOCATED | LVCMOS33_IN | PL7B | | +| 16/3 | Din[3] | LOCATED | LVCMOS33_IN | PL8C | TSALLPAD | +| 17/3 | Din[5] | LOCATED | LVCMOS33_IN | PL8D | | +| 18/3 | Din[4] | LOCATED | LVCMOS33_IN | PL9A | | +| 19/3 | Din[7] | LOCATED | LVCMOS33_IN | PL9C | | +| 20/3 | Din[6] | LOCATED | LVCMOS33_IN | PL10A | | +| 21/3 | Din[0] | LOCATED | LVCMOS33_IN | PL10C | | +| 22/3 | nFWE | LOCATED | LVCMOS33_IN | PL11A | | +| 23/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL11C | | +| 27/2 | nCCAS | LOCATED | LVCMOS33_IN | PB2C | | +| 32/2 | CROW[0] | LOCATED | LVCMOS33_IN | PB4C | | +| 34/2 | CROW[1] | LOCATED | LVCMOS33_IN | PB4E | | +| 36/2 | unused, PULL:UP | | | PB5B | PCLKT2_1 | +| 37/2 | MAin[2] | LOCATED | LVCMOS33_IN | PB5D | | +| 38/2 | MAin[1] | LOCATED | LVCMOS33_IN | PB6B | PCLKT2_0 | +| 39/2 | PHI2 | LOCATED | LVCMOS33_IN | PB6C | | +| 43/2 | nCRAS | LOCATED | LVCMOS33_IN | PB8B | | +| 44/2 | MAin[7] | LOCATED | LVCMOS33_IN | PB8C | | +| 45/2 | MAin[5] | LOCATED | LVCMOS33_IN | PB8D | | +| 46/2 | MAin[4] | LOCATED | LVCMOS33_IN | PB9A | | +| 47/2 | MAin[3] | LOCATED | LVCMOS33_IN | PB9C | | +| 49/2 | MAin[6] | LOCATED | LVCMOS33_IN | PB9D | | +| 50/2 | MAin[8] | LOCATED | LVCMOS33_IN | PB9F | | +| 51/1 | MAin[9] | LOCATED | LVCMOS33_IN | PR11D | | +| 52/1 | unused, PULL:UP | | | PR11B | | +| 53/1 | nUFMCS | LOCATED | LVCMOS33_OUT | PR11C | | +| 54/1 | unused, PULL:UP | | | PR11A | | +| 55/1 | UFMSDO | LOCATED | LVCMOS33_IN | PR10D | | +| 56/1 | UFMSDI | LOCATED | LVCMOS33_OUT | PR10C | | +| 57/1 | LED | LOCATED | LVCMOS33_OUT | PR10B | | +| 58/1 | UFMCLK | LOCATED | LVCMOS33_OUT | PR10A | | +| 59/1 | unused, PULL:UP | | | PR9D | | +| 61/1 | RDQML | LOCATED | LVCMOS33_OUT | PR9B | | +| 63/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR7B | | +| 64/1 | RD[0] | LOCATED | LVCMOS33_BIDI | PR6C | | +| 65/1 | RD[1] | LOCATED | LVCMOS33_BIDI | PR6B | | +| 66/1 | RD[2] | LOCATED | LVCMOS33_BIDI | PR5D | | +| 67/1 | RD[3] | LOCATED | LVCMOS33_BIDI | PR5B | | +| 68/1 | RD[4] | LOCATED | LVCMOS33_BIDI | PR4D | | +| 69/1 | RD[5] | LOCATED | LVCMOS33_BIDI | PR4B | | +| 70/1 | RD[6] | LOCATED | LVCMOS33_BIDI | PR3D | | +| 71/1 | RD[7] | LOCATED | LVCMOS33_BIDI | PR3B | | +| 72/1 | nRWE | LOCATED | LVCMOS33_OUT | PR2D | | +| 73/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR2B | | +| 76/0 | RDQMH | LOCATED | LVCMOS33_OUT | PT9F | | +| 77/0 | nRCS | LOCATED | LVCMOS33_OUT | PT9E | | +| 78/0 | nRCAS | LOCATED | LVCMOS33_OUT | PT9C | | +| 79/0 | RA[11] | LOCATED | LVCMOS33_OUT | PT9A | | +| 82/0 | RCKE | LOCATED | LVCMOS33_OUT | PT7E | D7 | +| 83/0 | RBA[1] | LOCATED | LVCMOS33_OUT | PT7A | D6 | +| 85/0 | RA[9] | LOCATED | LVCMOS33_OUT | PT6B | PCLKT0_1 | +| 86/0 | RCLK | LOCATED | LVCMOS33_IN | PT5B | PCLKT0_0 | +| 87/0 | RA[10] | LOCATED | LVCMOS33_OUT | PT5A | | +| 89/0 | RA[1] | LOCATED | LVCMOS33_OUT | PT4F | | +| 91/0 | RA[6] | LOCATED | LVCMOS33_OUT | PT3F | D3 | +| 94/0 | RA[2] | LOCATED | LVCMOS33_OUT | PT3B | | +| 95/0 | RA[5] | LOCATED | LVCMOS33_OUT | PT3A | | +| 96/0 | RA[8] | LOCATED | LVCMOS33_OUT | PT2F | D2 | +| 97/0 | RA[3] | LOCATED | LVCMOS33_OUT | PT2E | | +| 98/0 | RA[0] | LOCATED | LVCMOS33_OUT | PT2B | D1 | +| 99/0 | RA[4] | LOCATED | LVCMOS33_OUT | PT2C | | +| 100/0 | RA[7] | LOCATED | LVCMOS33_OUT | PT2A | | +| PB2A/2 | unused, PULL:UP | | | PB2A | | +| PB2B/2 | unused, PULL:UP | | | PB2B | | +| PB2D/2 | unused, PULL:UP | | | PB2D | | +| PB3A/2 | unused, PULL:UP | | | PB3A | | +| PB3B/2 | unused, PULL:UP | | | PB3B | | +| PB3C/2 | unused, PULL:UP | | | PB3C | | +| PB3D/2 | unused, PULL:UP | | | PB3D | | +| PB4A/2 | unused, PULL:UP | | | PB4A | | +| PB4B/2 | unused, PULL:UP | | | PB4B | | +| PB4D/2 | unused, PULL:UP | | | PB4D | | +| PB4F/2 | unused, PULL:UP | | | PB4F | | +| PB5A/2 | unused, PULL:UP | | | PB5A | | +| PB5C/2 | unused, PULL:UP | | | PB5C | | +| PB6A/2 | unused, PULL:UP | | | PB6A | | +| PB6D/2 | unused, PULL:UP | | | PB6D | | +| PB7A/2 | unused, PULL:UP | | | PB7A | | +| PB7B/2 | unused, PULL:UP | | | PB7B | | +| PB7C/2 | unused, PULL:UP | | | PB7C | | +| PB7D/2 | unused, PULL:UP | | | PB7D | | +| PB7E/2 | unused, PULL:UP | | | PB7E | | +| PB7F/2 | unused, PULL:UP | | | PB7F | | +| PB8A/2 | unused, PULL:UP | | | PB8A | | +| PB9B/2 | unused, PULL:UP | | | PB9B | | +| PB9E/0 | unused, PULL:UP | | | PB9E | | +| PL4B/3 | unused, PULL:UP | | | PL4B | | +| PL5A/3 | unused, PULL:UP | | | PL5A | | +| PL5C/3 | unused, PULL:UP | | | PL5C | | +| PL5D/3 | unused, PULL:UP | | | PL5D | | +| PL6A/3 | unused, PULL:UP | | | PL6A | | +| PL6B/3 | unused, PULL:UP | | | PL6B | | +| PL6C/3 | unused, PULL:UP | | | PL6C | | +| PL6D/3 | unused, PULL:UP | | | PL6D | | +| PL7A/3 | unused, PULL:UP | | | PL7A | | +| PL7C/3 | unused, PULL:UP | | | PL7C | | +| PL7D/3 | unused, PULL:UP | | | PL7D | | +| PL8A/3 | unused, PULL:UP | | | PL8A | | +| PL8B/3 | unused, PULL:UP | | | PL8B | | +| PL9B/3 | unused, PULL:UP | | | PL9B | | +| PL9D/3 | unused, PULL:UP | | | PL9D | | +| PL10B/3 | unused, PULL:UP | | | PL10B | | +| PL10D/3 | unused, PULL:UP | | | PL10D | | +| PL11B/3 | unused, PULL:UP | | | PL11B | | +| PL11D/3 | unused, PULL:UP | | | PL11D | | +| PR2A/1 | unused, PULL:UP | | | PR2A | | +| PR2C/1 | unused, PULL:UP | | | PR2C | | +| PR3A/1 | unused, PULL:UP | | | PR3A | | +| PR3C/1 | unused, PULL:UP | | | PR3C | | +| PR4A/1 | unused, PULL:UP | | | PR4A | | +| PR4C/1 | unused, PULL:UP | | | PR4C | | +| PR5A/1 | unused, PULL:UP | | | PR5A | | +| PR5C/1 | unused, PULL:UP | | | PR5C | | +| PR6A/1 | unused, PULL:UP | | | PR6A | | +| PR6D/1 | unused, PULL:UP | | | PR6D | | +| PR7A/1 | unused, PULL:UP | | | PR7A | | +| PR7C/1 | unused, PULL:UP | | | PR7C | | +| PR7D/1 | unused, PULL:UP | | | PR7D | | +| PR8A/1 | unused, PULL:UP | | | PR8A | | +| PR8B/1 | unused, PULL:UP | | | PR8B | | +| PR8C/1 | unused, PULL:UP | | | PR8C | | +| PR8D/1 | unused, PULL:UP | | | PR8D | | +| PR9A/1 | unused, PULL:UP | | | PR9A | | +| PR9C/1 | unused, PULL:UP | | | PR9C | | +| PT2D/0 | unused, PULL:UP | | | PT2D | | +| PT3C/0 | unused, PULL:UP | | | PT3C | | +| PT3D/0 | unused, PULL:UP | | | PT3D | | +| PT3E/0 | unused, PULL:UP | | | PT3E | | +| PT4A/0 | unused, PULL:UP | | | PT4A | | +| PT4B/0 | unused, PULL:UP | | | PT4B | | +| PT4C/0 | unused, PULL:UP | | | PT4C | | +| PT4D/0 | unused, PULL:UP | | | PT4D | | +| PT4E/0 | unused, PULL:UP | | | PT4E | | +| PT5C/0 | unused, PULL:UP | | | PT5C | | +| PT5D/0 | unused, PULL:UP | | | PT5D | | +| PT6A/0 | unused, PULL:UP | | | PT6A | | +| PT6C/0 | unused, PULL:UP | | | PT6C | | +| PT6D/0 | unused, PULL:UP | | | PT6D | | +| PT7B/0 | unused, PULL:UP | | | PT7B | | +| PT7C/0 | unused, PULL:UP | | | PT7C | | +| PT7D/0 | unused, PULL:UP | | | PT7D | | +| PT7F/0 | unused, PULL:UP | | | PT7F | | +| PT8A/0 | unused, PULL:UP | | | PT8A | | +| PT8B/0 | unused, PULL:UP | | | PT8B | | +| PT8C/0 | unused, PULL:UP | | | PT8C | | +| PT8D/0 | unused, PULL:UP | | | PT8D | | +| PT9B/0 | unused, PULL:UP | | | PT9B | | +| PT9D/0 | unused, PULL:UP | | | PT9D | | +| TCK/2 | | | | TCK | TCK | +| TDI/2 | | | | TDI | TDID0 | +| TDO/2 | | | | TDO | TDO | +| TMS/2 | | | | TMS | TMS | ++----------+---------------------+------------+---------------+-------+---------------+ + + +List of All Pins' Locate Preferences Based on Final Placement After PAR +to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): + +LOCATE COMP "CROW[0]" SITE "32"; +LOCATE COMP "CROW[1]" SITE "34"; +LOCATE COMP "Din[0]" SITE "21"; +LOCATE COMP "Din[1]" SITE "15"; +LOCATE COMP "Din[2]" SITE "14"; +LOCATE COMP "Din[3]" SITE "16"; +LOCATE COMP "Din[4]" SITE "18"; +LOCATE COMP "Din[5]" SITE "17"; +LOCATE COMP "Din[6]" SITE "20"; +LOCATE COMP "Din[7]" SITE "19"; +LOCATE COMP "Dout[0]" SITE "1"; +LOCATE COMP "Dout[1]" SITE "7"; +LOCATE COMP "Dout[2]" SITE "8"; +LOCATE COMP "Dout[3]" SITE "6"; +LOCATE COMP "Dout[4]" SITE "4"; +LOCATE COMP "Dout[5]" SITE "5"; +LOCATE COMP "Dout[6]" SITE "2"; +LOCATE COMP "Dout[7]" SITE "3"; +LOCATE COMP "LED" SITE "57"; +LOCATE COMP "MAin[0]" SITE "23"; +LOCATE COMP "MAin[1]" SITE "38"; +LOCATE COMP "MAin[2]" SITE "37"; +LOCATE COMP "MAin[3]" SITE "47"; +LOCATE COMP "MAin[4]" SITE "46"; +LOCATE COMP "MAin[5]" SITE "45"; +LOCATE COMP "MAin[6]" SITE "49"; +LOCATE COMP "MAin[7]" SITE "44"; +LOCATE COMP "MAin[8]" SITE "50"; +LOCATE COMP "MAin[9]" SITE "51"; +LOCATE COMP "PHI2" SITE "39"; +LOCATE COMP "RA[0]" SITE "98"; +LOCATE COMP "RA[10]" SITE "87"; +LOCATE COMP "RA[11]" SITE "79"; +LOCATE COMP "RA[1]" SITE "89"; +LOCATE COMP "RA[2]" SITE "94"; +LOCATE COMP "RA[3]" SITE "97"; +LOCATE COMP "RA[4]" SITE "99"; +LOCATE COMP "RA[5]" SITE "95"; +LOCATE COMP "RA[6]" SITE "91"; +LOCATE COMP "RA[7]" SITE "100"; +LOCATE COMP "RA[8]" SITE "96"; +LOCATE COMP "RA[9]" SITE "85"; +LOCATE COMP "RBA[0]" SITE "63"; +LOCATE COMP "RBA[1]" SITE "83"; +LOCATE COMP "RCKE" SITE "82"; +LOCATE COMP "RCLK" SITE "86"; +LOCATE COMP "RDQMH" SITE "76"; +LOCATE COMP "RDQML" SITE "61"; +LOCATE COMP "RD[0]" SITE "64"; +LOCATE COMP "RD[1]" SITE "65"; +LOCATE COMP "RD[2]" SITE "66"; +LOCATE COMP "RD[3]" SITE "67"; +LOCATE COMP "RD[4]" SITE "68"; +LOCATE COMP "RD[5]" SITE "69"; +LOCATE COMP "RD[6]" SITE "70"; +LOCATE COMP "RD[7]" SITE "71"; +LOCATE COMP "UFMCLK" SITE "58"; +LOCATE COMP "UFMSDI" SITE "56"; +LOCATE COMP "UFMSDO" SITE "55"; +LOCATE COMP "nCCAS" SITE "27"; +LOCATE COMP "nCRAS" SITE "43"; +LOCATE COMP "nFWE" SITE "22"; +LOCATE COMP "nRCAS" SITE "78"; +LOCATE COMP "nRCS" SITE "77"; +LOCATE COMP "nRRAS" SITE "73"; +LOCATE COMP "nRWE" SITE "72"; +LOCATE COMP "nUFMCS" SITE "53"; + + + + + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:57:21 2023 + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.par b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.par index 7e25e48..eb9cfbf 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.par +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1.par @@ -1,213 +1,213 @@ - -Lattice Place and Route Report for Design "RAM2GS_LCMXO640C_impl1_map.ncd" -Wed Aug 16 04:50:48 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf -Preference file: RAM2GS_LCMXO640C_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file RAM2GS_LCMXO640C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application par from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 67/159 42% used - 67/74 90% bonded - SLICE 69/320 21% used - - - -Number of Signals: 251 -Number of Connections: 633 - -Pin Constraint Summary: - 67 out of 67 pins locked (100% locked). - -The following 2 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 32) - PHI2_c (driver: PHI2, clk load #: 14) - -The following 1 signal is selected to use the secondary clock routing resources: - nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) - -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -......... -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -............. -Placer score = 956294. -Finished Placer Phase 1. REAL time: 4 secs - -Starting Placer Phase 2. -. -Placer score = 953137 -Finished Placer Phase 2. REAL time: 4 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 1 out of 4 (25%) - General PIO: 1 out of 160 (0%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT5B)", clk load = 32 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB6C)", clk load = 14 - SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB8B)", clk load = 8, ce load = 0, sr load = 0 - - PRIMARY : 2 out of 4 (50%) - SECONDARY: 1 out of 4 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 67 out of 159 (42.1%) PIO sites used. - 67 out of 74 (90.5%) bonded PIO sites used. - Number of PIO comps: 67; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+------------+------------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | -+----------+----------------+------------+------------+------------+ -| 0 | 18 / 18 (100%) | 3.3V | - | - | -| 1 | 18 / 21 ( 85%) | 3.3V | - | - | -| 2 | 13 / 14 ( 92%) | - | - | - | -| 3 | 18 / 21 ( 85%) | 3.3V | - | - | -+----------+----------------+------------+------------+------------+ - -Total placer CPU time: 3 secs - -Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. - -0 connections routed; 633 unrouted. -Starting router resource preassignment -WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. -WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Completed router resource preassignment. Real time: 4 secs - -Start NBR router at 04:50:52 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 04:50:52 08/16/23 - -Start NBR section for initial routing at 04:50:52 08/16/23 -Level 1, iteration 1 -1(0.00%) conflict; 548(86.57%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.325ns/0.000ns; real time: 4 secs -Level 2, iteration 1 -1(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.532ns/0.000ns; real time: 4 secs -Level 3, iteration 1 -0(0.00%) conflict; 542(85.62%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.449ns/0.000ns; real time: 4 secs -Level 4, iteration 1 -8(0.03%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 04:50:52 08/16/23 -Level 4, iteration 1 -5(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs -Level 4, iteration 2 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs -Level 4, iteration 3 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:52 08/16/23 - -Start NBR section for re-routing at 04:50:52 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Start NBR section for post-routing at 04:50:52 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 7.336ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Total CPU time 4 secs -Total REAL time: 4 secs -Completely routed. -End of route. 633 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. - - -All signals are completely routed. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 7.336 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.273 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 4 secs -Total REAL time to completion: 4 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Lattice Place and Route Report for Design "RAM2GS_LCMXO640C_impl1_map.ncd" +Sat Aug 19 20:57:16 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf +Preference file: RAM2GS_LCMXO640C_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file RAM2GS_LCMXO640C_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 3 +Loading device for application par from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 67/159 42% used + 67/74 90% bonded + SLICE 69/320 21% used + + + +Number of Signals: 251 +Number of Connections: 633 + +Pin Constraint Summary: + 67 out of 67 pins locked (100% locked). + +The following 2 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 32) + PHI2_c (driver: PHI2, clk load #: 14) + +The following 1 signal is selected to use the secondary clock routing resources: + nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) + +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +......... +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +............. +Placer score = 956294. +Finished Placer Phase 1. REAL time: 5 secs + +Starting Placer Phase 2. +. +Placer score = 953137 +Finished Placer Phase 2. REAL time: 5 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 1 out of 4 (25%) + General PIO: 1 out of 160 (0%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT5B)", clk load = 32 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB6C)", clk load = 14 + SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB8B)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 2 out of 4 (50%) + SECONDARY: 1 out of 4 (25%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 67 out of 159 (42.1%) PIO sites used. + 67 out of 74 (90.5%) bonded PIO sites used. + Number of PIO comps: 67; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+------------+------------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | ++----------+----------------+------------+------------+------------+ +| 0 | 18 / 18 (100%) | 3.3V | - | - | +| 1 | 18 / 21 ( 85%) | 3.3V | - | - | +| 2 | 13 / 14 ( 92%) | - | - | - | +| 3 | 18 / 21 ( 85%) | 3.3V | - | - | ++----------+----------------+------------+------------+------------+ + +Total placer CPU time: 5 secs + +Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. + +0 connections routed; 633 unrouted. +Starting router resource preassignment +WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. +WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Completed router resource preassignment. Real time: 6 secs + +Start NBR router at 20:57:22 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 20:57:22 08/19/23 + +Start NBR section for initial routing at 20:57:22 08/19/23 +Level 1, iteration 1 +1(0.00%) conflict; 548(86.57%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.325ns/0.000ns; real time: 6 secs +Level 2, iteration 1 +1(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.532ns/0.000ns; real time: 6 secs +Level 3, iteration 1 +0(0.00%) conflict; 542(85.62%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.449ns/0.000ns; real time: 6 secs +Level 4, iteration 1 +8(0.03%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 20:57:22 08/19/23 +Level 4, iteration 1 +5(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs +Level 4, iteration 2 +1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs +Level 4, iteration 3 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 20:57:22 08/19/23 + +Start NBR section for re-routing at 20:57:22 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs + +Start NBR section for post-routing at 20:57:22 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 7.336ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Total CPU time 6 secs +Total REAL time: 6 secs +Completely routed. +End of route. 633 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. + + +All signals are completely routed. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 7.336 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.273 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 6 secs +Total REAL time to completion: 6 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1_par.asd b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1_par.asd index f8365c2..86b1287 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1_par.asd +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/5_1_par.asd @@ -1,42 +1,42 @@ -[ActiveSupport PAR] -; Global primary clocks -GLOBAL_PRIMARY_USED = 2; -; Global primary clock #0 -GLOBAL_PRIMARY_0_SIGNALNAME = RCLK_c; -GLOBAL_PRIMARY_0_DRIVERTYPE = CLK_PIN; -GLOBAL_PRIMARY_0_LOADNUM = 32; -; Global primary clock #1 -GLOBAL_PRIMARY_1_SIGNALNAME = PHI2_c; -GLOBAL_PRIMARY_1_DRIVERTYPE = PIO; -GLOBAL_PRIMARY_1_LOADNUM = 14; -; # of global secondary clocks -GLOBAL_SECONDARY_USED = 1; -; Global secondary clock #0 -GLOBAL_SECONDARY_0_SIGNALNAME = nCRAS_c; -GLOBAL_SECONDARY_0_DRIVERTYPE = PIO; -GLOBAL_SECONDARY_0_LOADNUM = 10; -GLOBAL_SECONDARY_0_SIGTYPE = CLK; -; I/O Bank 0 Usage -BANK_0_USED = 18; -BANK_0_AVAIL = 18; -BANK_0_VCCIO = 3.3V; -BANK_0_VREF1 = NA; -BANK_0_VREF2 = NA; -; I/O Bank 1 Usage -BANK_1_USED = 18; -BANK_1_AVAIL = 21; -BANK_1_VCCIO = 3.3V; -BANK_1_VREF1 = NA; -BANK_1_VREF2 = NA; -; I/O Bank 2 Usage -BANK_2_USED = 13; -BANK_2_AVAIL = 14; -BANK_2_VCCIO = NA; -BANK_2_VREF1 = NA; -BANK_2_VREF2 = NA; -; I/O Bank 3 Usage -BANK_3_USED = 18; -BANK_3_AVAIL = 21; -BANK_3_VCCIO = 3.3V; -BANK_3_VREF1 = NA; -BANK_3_VREF2 = NA; +[ActiveSupport PAR] +; Global primary clocks +GLOBAL_PRIMARY_USED = 2; +; Global primary clock #0 +GLOBAL_PRIMARY_0_SIGNALNAME = RCLK_c; +GLOBAL_PRIMARY_0_DRIVERTYPE = CLK_PIN; +GLOBAL_PRIMARY_0_LOADNUM = 32; +; Global primary clock #1 +GLOBAL_PRIMARY_1_SIGNALNAME = PHI2_c; +GLOBAL_PRIMARY_1_DRIVERTYPE = PIO; +GLOBAL_PRIMARY_1_LOADNUM = 14; +; # of global secondary clocks +GLOBAL_SECONDARY_USED = 1; +; Global secondary clock #0 +GLOBAL_SECONDARY_0_SIGNALNAME = nCRAS_c; +GLOBAL_SECONDARY_0_DRIVERTYPE = PIO; +GLOBAL_SECONDARY_0_LOADNUM = 10; +GLOBAL_SECONDARY_0_SIGTYPE = CLK; +; I/O Bank 0 Usage +BANK_0_USED = 18; +BANK_0_AVAIL = 18; +BANK_0_VCCIO = 3.3V; +BANK_0_VREF1 = NA; +BANK_0_VREF2 = NA; +; I/O Bank 1 Usage +BANK_1_USED = 18; +BANK_1_AVAIL = 21; +BANK_1_VCCIO = 3.3V; +BANK_1_VREF1 = NA; +BANK_1_VREF2 = NA; +; I/O Bank 2 Usage +BANK_2_USED = 13; +BANK_2_AVAIL = 14; +BANK_2_VCCIO = NA; +BANK_2_VREF1 = NA; +BANK_2_VREF2 = NA; +; I/O Bank 3 Usage +BANK_3_USED = 18; +BANK_3_AVAIL = 21; +BANK_3_VCCIO = 3.3V; +BANK_3_VREF1 = NA; +BANK_3_VREF2 = NA; diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/RAM2GS_LCMXO640C_impl1.par b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/RAM2GS_LCMXO640C_impl1.par index 82b5aa6..f5af0d4 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/RAM2GS_LCMXO640C_impl1.par +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.dir/RAM2GS_LCMXO640C_impl1.par @@ -1,28 +1,28 @@ -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:48 2023 - -C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO640C_impl1.p2t -RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir -RAM2GS_LCMXO640C_impl1.prf -gui -msgset -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml - - -Preference file: RAM2GS_LCMXO640C_impl1.prf. - -Level/ Number Worst Timing Worst Timing Run NCD -Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ----------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 7.336 0 0.273 0 04 Completed - -* : Design saved. - -Total (real) run time for 1-seed: 4 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:57:16 2023 + +C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO640C_impl1.p2t +RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir +RAM2GS_LCMXO640C_impl1.prf -gui -msgset +Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml + + +Preference file: RAM2GS_LCMXO640C_impl1.prf. + +Level/ Number Worst Timing Worst Timing Run NCD +Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status +---------- -------- ----- ------ ----------- ----------- ---- ------ +5_1 * 0 7.336 0 0.273 0 06 Completed + +* : Design saved. + +Total (real) run time for 1-seed: 6 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.drc b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.drc index ec074a2..8417bb5 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.drc +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.drc @@ -1 +1 @@ -DRC detected 0 errors and 0 warnings. +DRC detected 0 errors and 0 warnings. diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi index d9bba43..2a22cd0 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi @@ -1,2786 +1,2786 @@ -(edif RAM2GS - (edifVersion 2 0 0) - (edifLevel 0) - (keywordMap (keywordLevel 0)) - (status - (written - (timeStamp 2023 8 16 4 50 45) - (author "Synopsys, Inc.") - (program "Synplify Pro" (version "R-2021.03L-SP1, mapper map202103lat, Build 070R")) - ) - ) - (library LUCENT - (edifLevel 0) - (technology (numberDefinition )) - (cell CCU2 (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A0 (direction INPUT)) - (port B0 (direction INPUT)) - (port C0 (direction INPUT)) - (port D0 (direction INPUT)) - (port A1 (direction INPUT)) - (port B1 (direction INPUT)) - (port C1 (direction INPUT)) - (port D1 (direction INPUT)) - (port CIN (direction INPUT)) - (port COUT0 (direction OUTPUT)) - (port COUT1 (direction OUTPUT)) - (port S0 (direction OUTPUT)) - (port S1 (direction OUTPUT)) - ) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0000")) - (property INIT0 (string "0000")) - ) - ) - (cell BB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port B (direction INOUT)) - (port I (direction INPUT)) - (port T (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell OB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port I (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell IB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port I (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell FD1S3JX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port PD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3IX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port CD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3AY (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3AX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1P3AX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell ORCALUT4 (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A (direction INPUT)) - (port B (direction INPUT)) - (port C (direction INPUT)) - (port D (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell PFUMX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port ALUT (direction INPUT)) - (port BLUT (direction INPUT)) - (port C0 (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell GSR (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port GSR (direction INPUT)) - ) - ) - ) - (cell INV (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell VHI (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port Z (direction OUTPUT)) - ) - ) - ) - (cell VLO (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port Z (direction OUTPUT)) - ) - ) - ) - ) - (library work - (edifLevel 0) - (technology (numberDefinition )) - (cell RAM2GS (cellType GENERIC) - (view verilog (viewType NETLIST) - (interface - (port PHI2 (direction INPUT)) - (port (array (rename main "MAin[9:0]") 10) (direction INPUT)) - (port (array (rename crow "CROW[1:0]") 2) (direction INPUT)) - (port (array (rename din "Din[7:0]") 8) (direction INPUT)) - (port (array (rename dout "Dout[7:0]") 8) (direction OUTPUT)) - (port nCCAS (direction INPUT)) - (port nCRAS (direction INPUT)) - (port nFWE (direction INPUT)) - (port LED (direction OUTPUT)) - (port (array (rename rba "RBA[1:0]") 2) (direction OUTPUT)) - (port (array (rename ra "RA[11:0]") 12) (direction OUTPUT)) - (port (array (rename rd "RD[7:0]") 8) (direction INOUT)) - (port nRCS (direction OUTPUT)) - (port RCLK (direction INPUT)) - (port RCKE (direction OUTPUT)) - (port nRWE (direction OUTPUT)) - (port nRRAS (direction OUTPUT)) - (port nRCAS (direction OUTPUT)) - (port RDQMH (direction OUTPUT)) - (port RDQML (direction OUTPUT)) - (port nUFMCS (direction OUTPUT)) - (port UFMCLK (direction OUTPUT)) - (port UFMSDI (direction OUTPUT)) - (port UFMSDO (direction INPUT)) - ) - (contents - (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) - (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) - (instance GSR_INST (viewRef PRIM (cellRef GSR (libraryRef LUCENT))) - ) - (instance RASr2_RNIAFR1 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename IS_i_0 "IS_i[0]") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance Ready_fast_RNI29NA (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nCCAS_pad_RNISUR8 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance RASr_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nFWE_pad_RNI420B (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nRCS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B+A)+D (!C (!B A+B !A)+C (B+A)))")) - ) - (instance C1Submitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B+A)+D (!C (B+A)+C A))")) - ) - (instance nRowColSel_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A))")) - ) - (instance RCKEEN_8_u_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C (!B+!A))+D (C !A))")) - ) - (instance (rename IS_RNO_3 "IS_RNO[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (!B A+B !A)))")) - ) - (instance Ready_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C (B+A)+C A))")) - ) - (instance CmdEnable_s (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) - (instance CmdEnable_s_bm (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdEnable_s_am (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (B A))+D (!C B+C A))")) - ) - (instance nRWE_RNO_1 (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) - (instance nRWE_RNO_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B !A)))")) - ) - (instance nRWE_RNO_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B !A)))")) - ) - (instance Ready_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance InitReady_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdSubmitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance nCRAS_pad_RNIBPVB (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename XOR8MEG_CN "XOR8MEG.CN") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nUFMCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRowColSel (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance nRWE (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRRAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRCAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance n8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance XOR8MEG (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_0 "WRD[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_1 "WRD[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_2 "WRD[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_3 "WRD[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_4 "WRD[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_5 "WRD[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_6 "WRD[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_7 "WRD[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance UFMSDI (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance UFMCLK (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename S_0 "S[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename S_1 "S[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_0 "RowA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_1 "RowA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_2 "RowA[2]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_3 "RowA[3]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_4 "RowA[4]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_5 "RowA[5]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) - ) - (instance (rename RowA_6 "RowA[6]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_7 "RowA[7]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_8 "RowA[8]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_9 "RowA[9]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) - ) - (instance Ready_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Ready (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RCKEEN (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RCKE (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RBA_0 "RBA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RBA_1 "RBA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance RASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RA11 (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance RA10 (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) - ) - (instance PHI2r3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance PHI2r2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance PHI2r (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance LEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance InitReady (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename IS_0 "IS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename IS_1 "IS[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename IS_2 "IS[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename IS_3 "IS[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance FWEr_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance FWEr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_0 "FS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_1 "FS[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_2 "FS[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_3 "FS[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_4 "FS[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_5 "FS[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_6 "FS[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_7 "FS[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_8 "FS[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_9 "FS[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_10 "FS[10]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_11 "FS[11]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_12 "FS[12]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_13 "FS[13]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_14 "FS[14]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_15 "FS[15]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_16 "FS[16]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_17 "FS[17]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Cmdn8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMSDI (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMCS (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMCLK (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CmdLEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdEnable (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CBR_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CBR (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance C1Submitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_0 "Bank[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_1 "Bank[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_2 "Bank[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_3 "Bank[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_4 "Bank[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_5 "Bank[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_6 "Bank[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_7 "Bank[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance ADSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance UFMSDO_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance UFMSDI_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance UFMCLK_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nUFMCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RDQML_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RDQMH_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRCAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRRAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRWE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RCKE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RCLK_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nRCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RD_pad_7 "RD_pad[7]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_6 "RD_pad[6]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_5 "RD_pad[5]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_4 "RD_pad[4]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_3 "RD_pad[3]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_2 "RD_pad[2]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_1 "RD_pad[1]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_0 "RD_pad[0]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RA_pad_11 "RA_pad[11]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_10 "RA_pad[10]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_9 "RA_pad[9]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_8 "RA_pad[8]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_7 "RA_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_6 "RA_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_5 "RA_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_4 "RA_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_3 "RA_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_2 "RA_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_1 "RA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_0 "RA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RBA_pad_1 "RBA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RBA_pad_0 "RBA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance LED_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nFWE_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nCRAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nCCAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_7 "Dout_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_6 "Dout_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_5 "Dout_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_4 "Dout_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_3 "Dout_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_2 "Dout_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_1 "Dout_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_0 "Dout_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Din_pad_7 "Din_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_6 "Din_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_5 "Din_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_4 "Din_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_3 "Din_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_2 "Din_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_1 "Din_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_0 "Din_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename CROW_pad_1 "CROW_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename CROW_pad_0 "CROW_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_9 "MAin_pad[9]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_8 "MAin_pad[8]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_7 "MAin_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_6 "MAin_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_5 "MAin_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_4 "MAin_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_3 "MAin_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_2 "MAin_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_1 "MAin_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_0 "MAin_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance PHI2_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance CmdEnable17_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance XOR8MEG18_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance un1_FS_14_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (B+A)))")) - ) - (instance un1_FS_13_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (B+A)))")) - ) - (instance C1WR_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance CmdEnable16_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B A))")) - ) - (instance Cmdn8MEGEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A)+C !A)")) - ) - (instance CmdLEDEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !B)+D (!C (!B A)))")) - ) - (instance RA10_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C+(B+A)))")) - ) - (instance C1WR_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance XOR8MEG_3_u_0_a3_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D C+D (C+(!B+!A)))")) - ) - (instance UFMSDI_ens2_i_a0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !A+D (!C !A+C (B !A)))")) - ) - (instance un1_FS_13_i_a2_8 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRRAS_5_u_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C (!B A)+C !B))")) - ) - (instance un1_nRCAS_6_sqmuxa_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B+A))+D (!C (!B+A)))")) - ) - (instance UFMSDI_en_ss0_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A))")) - ) - (instance nUFMCS15_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance Cmdn8MEGEN_4_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B+A)+C A)+D !B)")) - ) - (instance C1WR_0_a2_0_10 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance UFMCLK_r_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C B)+D A)")) - ) - (instance PHI2r3_RNITCN41 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !B+D (!C (!B+A)+C !B))")) - ) - (instance IS_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance nRCAS_0_sqmuxa_1_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRowColSel_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (B+A))+D (!C B+C (B+!A)))")) - ) - (instance Ready_0_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance XOR8MEG_3_u_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance nRRAS_5_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)+C !A))")) - ) - (instance (rename IS_RNO_2 "IS_RNO[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C (!B+!A))")) - ) - (instance un1_FS_14_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance UFMSDI_ens2_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C (!B A))")) - ) - (instance XOR8MEG_3_u_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance ADSubmitted_r (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B A)))")) - ) - (instance LED_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(!B+A))")) - ) - (instance InitReady3_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance UFMSDI_ens2_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance Cmdn8MEGEN_4_u_i_a2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B !A))")) - ) - (instance CmdLEDEN_4_u_i_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A))")) - ) - (instance UFMCLK_r_i_a2_2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRowColSel_0_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B !A)))")) - ) - (instance CmdEnable16_0_a2_4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)))")) - ) - (instance CmdEnable16_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance CmdEnable17_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B A)))")) - ) - (instance RCKE_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C !B)+D (C+(B+A)))")) - ) - (instance (rename S_RNO_0 "S_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+!A)")) - ) - (instance Ready_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C+(!B+!A))")) - ) - (instance un1_nRCAS_6_sqmuxa_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance Cmdn8MEGEN_4_u_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+!A))")) - ) - (instance RA11_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A+B !A)+C B)")) - ) - (instance nCCAS_pad_RNI01SJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance InitReady3_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance un1_FS_13_i_a2_6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B !A)))")) - ) - (instance un1_Din_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance UFMSDI_ens2_i_o2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(B+A)))")) - ) - (instance C1WR_0_a2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A))")) - ) - (instance C1WR_0_a2_0_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance C1WR_0_a2_0_11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B !A)))")) - ) - (instance Ready_0_sqmuxa_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance UFMSDI_ens2_i_a2_4_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance un1_FS_13_i_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B !A)))")) - ) - (instance un1_FS_14_i_a2_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance n8MEGEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B+A)+C (B A))")) - ) - (instance LEDEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B+A)+C (B A))")) - ) - (instance (rename un9_RA_8 "un9_RA[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_0 "un9_RA[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_1 "un9_RA[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_2 "un9_RA[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_3 "un9_RA[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_4 "un9_RA[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_5 "un9_RA[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_6 "un9_RA[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_7 "un9_RA[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_9 "un9_RA[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance InitReady3_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename S_0_i_o2_1 "S_0_i_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance IS_n1_0_x2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A+B !A)")) - ) - (instance CmdEnable16_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance CmdEnable16_0_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B !A)")) - ) - (instance CmdEnable17_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance RDQMH (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+A)")) - ) - (instance RDQML (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance RCKEEN_8_u_0_a2_1_s (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance RCKEEN_8_u_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C+B)+D (C (!B+!A)))")) - ) - (instance RCKEEN_8_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) - ) - (instance nRCS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !B+D (!C (!B A)+C !B))")) - ) - (instance nRWE_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B+!A))+D (C+(B !A)))")) - ) - (instance nRWE_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B !A)))")) - ) - (instance nRWE_RNO_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance nRWE_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B A))")) - ) - (instance nRCAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C !B)+D (!B A))")) - ) - (instance nRCAS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A))+D (!C (!B !A)+C (B !A)))")) - ) - (instance nRCAS_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance UFMSDI_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A)+C !B)")) - ) - (instance UFMSDI_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B !A))+D (!C (!B A)+C !B))")) - ) - (instance UFMCLK_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C !B)+D (C (!B !A)))")) - ) - (instance nUFMCS_s_0_N_5_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(B+A))+D (!C B+C (B+!A)))")) - ) - (instance nUFMCS_s_0_N_5_i_N_2L1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B+A))")) - ) - (instance IS_0_sqmuxa_0_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(!B+!A)))")) - ) - (instance CmdEnable17_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (B !A)))")) - ) - (instance CmdSubmitted_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!B A)+D (!C (!B A)))")) - ) - (instance CmdLEDEN_4_u_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!B A)+D (!C (!B A)+C !B))")) - ) - (instance CmdUFMCLK_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B A)))")) - ) - (instance nRRAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)+C !A)+D (C !A))")) - ) - (instance IS_0_sqmuxa_0_o2_0_RNIS63D (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B !A)")) - ) - (instance (rename IS_RNO_0 "IS_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A+B A)+C A)")) - ) - (instance un1_CMDWR (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C A)")) - ) - (instance UFMCLK_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B+!A))+D (C+(!B A)))")) - ) - (instance (rename FS_cry_0_16 "FS_cry_0[16]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x5002")) - ) - (instance (rename FS_cry_0_14 "FS_cry_0[14]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_12 "FS_cry_0[12]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_10 "FS_cry_0[10]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_8 "FS_cry_0[8]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_6 "FS_cry_0[6]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_4 "FS_cry_0[4]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_2 "FS_cry_0[2]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_0 "FS_cry_0[0]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (net C1WR_0_a2 (joined - (portRef Z (instanceRef C1WR_0_a2)) - (portRef B (instanceRef ADSubmitted_r)) - )) - (net CBR (joined - (portRef Q (instanceRef CBR)) - (portRef A (instanceRef nRWE_RNO_0)) - (portRef A (instanceRef nRCS_RNO)) - (portRef A (instanceRef RCKEEN_8_u)) - (portRef B (instanceRef nRowColSel_0_0_a3_0)) - (portRef A (instanceRef LED_pad_RNO)) - )) - (net C1Submitted (joined - (portRef Q (instanceRef C1Submitted)) - (portRef D (instanceRef CmdEnable_s_am)) - (portRef B (instanceRef C1Submitted_RNO)) - )) - (net (rename Bank_2 "Bank[2]") (joined - (portRef Q (instanceRef Bank_2)) - (portRef A (instanceRef C1WR_0_a2_0_11)) - )) - (net Ready (joined - (portRef Q (instanceRef Ready)) - (portRef B (instanceRef IS_RNO_0)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef C (instanceRef nRWE_RNO_2)) - (portRef D (instanceRef RCKEEN_8_u)) - (portRef A (instanceRef RCKEEN_8_u_0_a2_1_s)) - (portRef D (instanceRef nRowColSel_0_0_a3_0)) - (portRef D (instanceRef nRRAS_5_u_i_0)) - (portRef C (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef C (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2)) - (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef C0 (instanceRef nRWE_RNO_1)) - (portRef A (instanceRef Ready_RNO)) - (portRef A (instanceRef RCKEEN_8_u_RNO)) - (portRef A (instanceRef nRowColSel_RNO)) - )) - (net n8MEGEN (joined - (portRef Q (instanceRef n8MEGEN)) - (portRef C (instanceRef RA11_2)) - (portRef C (instanceRef Cmdn8MEGEN_RNO)) - )) - (net CO0 (joined - (portRef Q (instanceRef S_0)) - (portRef D (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef B (instanceRef nRCAS_RNO_0)) - (portRef B (instanceRef nRWE_RNO_0)) - (portRef B (instanceRef RCKEEN_8_u_1_0)) - (portRef A (instanceRef S_0_i_o2_1)) - (portRef A (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef A (instanceRef S_RNO_0)) - (portRef A (instanceRef nRowColSel_0_0)) - (portRef B (instanceRef nRWE_RNO_4)) - (portRef B (instanceRef nRWE_RNO_3)) - (portRef C (instanceRef nRowColSel_RNO)) - (portRef B (instanceRef nRCS_RNO_0)) - )) - (net (rename S_1 "S[1]") (joined - (portRef Q (instanceRef S_1)) - (portRef C (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef nRCAS_RNO)) - (portRef C (instanceRef nRWE_RNO_0)) - (portRef D (instanceRef RCKEEN_8_u_1_0)) - (portRef B (instanceRef RCKEEN_8_u_0_a2_1_s)) - (portRef B (instanceRef S_0_i_o2_1)) - (portRef D (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef B (instanceRef S_RNO_0)) - (portRef D (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef A (instanceRef nRWE_RNO_4)) - (portRef A (instanceRef nRWE_RNO_3)) - (portRef B (instanceRef nRowColSel_RNO)) - )) - (net RASr2 (joined - (portRef Q (instanceRef RASr2)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef D (instanceRef nRWE_RNO_5)) - (portRef C (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef B (instanceRef RCKE_2_0)) - (portRef B (instanceRef nRRAS_5_u_i_0)) - (portRef C (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef D (instanceRef RASr3)) - (portRef D (instanceRef nRWE_RNO_3)) - (portRef B (instanceRef RCKEEN_8_u_RNO)) - (portRef A (instanceRef RASr2_RNIAFR1)) - )) - (net InitReady (joined - (portRef Q (instanceRef InitReady)) - (portRef A (instanceRef UFMCLK_RNO_0)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef B (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - (portRef B (instanceRef LEDEN_5_i_m2)) - (portRef B (instanceRef n8MEGEN_5_i_m2)) - (portRef B (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef B (instanceRef un1_FS_14_i_a2)) - (portRef A (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef PHI2r3_RNITCN41)) - (portRef C (instanceRef nUFMCS15_0_a2)) - (portRef B (instanceRef UFMSDI_en_ss0_0_a2_0)) - (portRef A (instanceRef UFMSDI_ens2_i_a0)) - (portRef B (instanceRef InitReady_RNO)) - (portRef D (instanceRef nRWE_RNO_4)) - (portRef D (instanceRef Ready_RNO)) - (portRef C (instanceRef RCKEEN_8_u_RNO)) - )) - (net FWEr (joined - (portRef Q (instanceRef FWEr)) - (portRef C (instanceRef nRCAS_RNO_0)) - (portRef A (instanceRef nRWE_RNO)) - (portRef C (instanceRef nRowColSel_0_0_a3_0)) - )) - (net CASr3 (joined - (portRef Q (instanceRef CASr3)) - (portRef B (instanceRef nRCAS_RNO_1)) - (portRef B (instanceRef nRWE_RNO_2)) - (portRef A (instanceRef nRowColSel_0_0_a3_0)) - (portRef C (instanceRef nRCS_RNO_0)) - )) - (net (rename IS_0 "IS[0]") (joined - (portRef Q (instanceRef IS_0)) - (portRef A (instanceRef IS_RNO_0)) - (portRef D (instanceRef nRRAS_RNO)) - (portRef A (instanceRef nRWE_RNO_5)) - (portRef A (instanceRef IS_n1_0_x2)) - (portRef A (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef A (instanceRef IS_RNO_2)) - (portRef A (instanceRef nRRAS_5_u_i)) - (portRef D (instanceRef IS_RNO_3)) - (portRef A (instanceRef IS_i_0)) - )) - (net (rename IS_3 "IS[3]") (joined - (portRef Q (instanceRef IS_3)) - (portRef B (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef RA10_RNO)) - (portRef A (instanceRef IS_RNO_3)) - )) - (net (rename IS_1 "IS[1]") (joined - (portRef Q (instanceRef IS_1)) - (portRef B (instanceRef nRWE_RNO_5)) - (portRef B (instanceRef IS_n1_0_x2)) - (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef B (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef B (instanceRef IS_RNO_2)) - (portRef A (instanceRef RA10_RNO)) - (portRef C (instanceRef IS_RNO_3)) - )) - (net (rename IS_2 "IS[2]") (joined - (portRef Q (instanceRef IS_2)) - (portRef C (instanceRef nRWE_RNO_5)) - (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef C (instanceRef IS_RNO_2)) - (portRef B (instanceRef RA10_RNO)) - (portRef B (instanceRef IS_RNO_3)) - )) - (net (rename FS_5 "FS[5]") (joined - (portRef Q (instanceRef FS_5)) - (portRef A1 (instanceRef FS_cry_0_4)) - (portRef D (instanceRef un1_FS_14_i_a2_0_1)) - (portRef D (instanceRef un1_FS_13_i_a2_1)) - (portRef A (instanceRef UFMSDI_ens2_i_o2)) - )) - (net (rename FS_6 "FS[6]") (joined - (portRef Q (instanceRef FS_6)) - (portRef A0 (instanceRef FS_cry_0_6)) - (portRef A (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef B (instanceRef un1_FS_13_i_a2_6)) - )) - (net (rename FS_7 "FS[7]") (joined - (portRef Q (instanceRef FS_7)) - (portRef A1 (instanceRef FS_cry_0_6)) - (portRef C (instanceRef un1_FS_13_i_a2_6)) - (portRef B (instanceRef UFMSDI_ens2_i_o2)) - )) - (net (rename FS_8 "FS[8]") (joined - (portRef Q (instanceRef FS_8)) - (portRef A0 (instanceRef FS_cry_0_8)) - (portRef B (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef A (instanceRef UFMSDI_en_ss0_0_a2_0)) - )) - (net (rename FS_9 "FS[9]") (joined - (portRef Q (instanceRef FS_9)) - (portRef A1 (instanceRef FS_cry_0_8)) - (portRef C (instanceRef UFMSDI_ens2_i_o2)) - (portRef B (instanceRef un1_FS_13_i_a2_8)) - )) - (net (rename FS_0 "FS[0]") (joined - (portRef Q (instanceRef FS_0)) - (portRef A0 (instanceRef FS_cry_0_0)) - (portRef A (instanceRef un1_FS_14_i_a2_0_1)) - (portRef A (instanceRef un1_FS_13_i_a2_1)) - )) - (net (rename FS_1 "FS[1]") (joined - (portRef Q (instanceRef FS_1)) - (portRef A1 (instanceRef FS_cry_0_0)) - (portRef A (instanceRef un1_FS_13_i_a2_6)) - (portRef A (instanceRef UFMCLK_r_i_m2)) - )) - (net (rename FS_2 "FS[2]") (joined - (portRef Q (instanceRef FS_2)) - (portRef A0 (instanceRef FS_cry_0_2)) - (portRef B (instanceRef un1_FS_14_i_a2_0_1)) - (portRef B (instanceRef un1_FS_13_i_a2_1)) - )) - (net (rename FS_3 "FS[3]") (joined - (portRef Q (instanceRef FS_3)) - (portRef A1 (instanceRef FS_cry_0_2)) - (portRef C (instanceRef un1_FS_14_i_a2_0_1)) - (portRef C (instanceRef un1_FS_13_i_a2_1)) - )) - (net (rename FS_10 "FS[10]") (joined - (portRef Q (instanceRef FS_10)) - (portRef A0 (instanceRef FS_cry_0_10)) - (portRef C (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef D (instanceRef un1_FS_13_i_a2_6)) - (portRef A (instanceRef InitReady3_0_a2)) - (portRef A (instanceRef nUFMCS15_0_a2)) - )) - (net (rename FS_11 "FS[11]") (joined - (portRef Q (instanceRef FS_11)) - (portRef A1 (instanceRef FS_cry_0_10)) - (portRef A (instanceRef InitReady3_0_a2_3)) - (portRef D (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef C (instanceRef UFMCLK_r_i_m2)) - (portRef B (instanceRef nUFMCS15_0_a2)) - (portRef C (instanceRef un1_FS_13_i_a2_8)) - )) - (net (rename FS_12 "FS[12]") (joined - (portRef Q (instanceRef FS_12)) - (portRef A0 (instanceRef FS_cry_0_12)) - (portRef A (instanceRef InitReady3_0_a2_5)) - (portRef A (instanceRef UFMSDI_ens2_i_o2_0)) - )) - (net (rename FS_13 "FS[13]") (joined - (portRef Q (instanceRef FS_13)) - (portRef A1 (instanceRef FS_cry_0_12)) - (portRef A (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef B (instanceRef InitReady3_0_a2_5)) - )) - (net (rename FS_14 "FS[14]") (joined - (portRef Q (instanceRef FS_14)) - (portRef A0 (instanceRef FS_cry_0_14)) - (portRef B (instanceRef InitReady3_0_a2_3)) - (portRef B (instanceRef UFMSDI_ens2_i_o2_0_3)) - )) - (net (rename FS_15 "FS[15]") (joined - (portRef Q (instanceRef FS_15)) - (portRef A1 (instanceRef FS_cry_0_14)) - (portRef C (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef C (instanceRef InitReady3_0_a2_5)) - )) - (net (rename FS_16 "FS[16]") (joined - (portRef Q (instanceRef FS_16)) - (portRef A0 (instanceRef FS_cry_0_16)) - (portRef A (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef B (instanceRef UFMSDI_ens2_i_o2_0)) - (portRef B (instanceRef InitReady3_0_a2)) - )) - (net (rename FS_17 "FS[17]") (joined - (portRef Q (instanceRef FS_17)) - (portRef A1 (instanceRef FS_cry_0_16)) - (portRef D (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef D (instanceRef InitReady3_0_a2_5)) - )) - (net PHI2r2 (joined - (portRef Q (instanceRef PHI2r2)) - (portRef C (instanceRef un1_FS_14_i_a2)) - (portRef C (instanceRef PHI2r3_RNITCN41)) - (portRef D (instanceRef PHI2r3)) - )) - (net CmdUFMCS (joined - (portRef Q (instanceRef CmdUFMCS)) - (portRef A (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - )) - (net CASr2 (joined - (portRef Q (instanceRef CASr2)) - (portRef A (instanceRef nRCAS_RNO_1)) - (portRef A (instanceRef nRWE_RNO_2)) - (portRef A (instanceRef RCKEEN_8_u_1_0)) - (portRef D (instanceRef CASr3)) - (portRef D (instanceRef nRCS_RNO_0)) - )) - (net CASr (joined - (portRef Q (instanceRef CASr)) - (portRef D (instanceRef CASr2)) - )) - (net PHI2r (joined - (portRef Q (instanceRef PHI2r)) - (portRef D (instanceRef PHI2r2)) - )) - (net RASr (joined - (portRef Q (instanceRef RASr)) - (portRef A (instanceRef RCKE_2_0)) - (portRef D (instanceRef RASr2)) - )) - (net (rename Bank_0 "Bank[0]") (joined - (portRef Q (instanceRef Bank_0)) - (portRef A (instanceRef C1WR_0_a2_0)) - )) - (net (rename Bank_1 "Bank[1]") (joined - (portRef Q (instanceRef Bank_1)) - (portRef B (instanceRef C1WR_0_a2_0)) - )) - (net (rename Bank_3 "Bank[3]") (joined - (portRef Q (instanceRef Bank_3)) - (portRef A (instanceRef C1WR_0_a2_0_10)) - )) - (net (rename Bank_4 "Bank[4]") (joined - (portRef Q (instanceRef Bank_4)) - (portRef B (instanceRef C1WR_0_a2_0_10)) - )) - (net (rename Bank_5 "Bank[5]") (joined - (portRef Q (instanceRef Bank_5)) - (portRef B (instanceRef C1WR_0_a2_0_11)) - )) - (net (rename Bank_6 "Bank[6]") (joined - (portRef Q (instanceRef Bank_6)) - (portRef C (instanceRef C1WR_0_a2_0_11)) - )) - (net (rename Bank_7 "Bank[7]") (joined - (portRef Q (instanceRef Bank_7)) - (portRef D (instanceRef C1WR_0_a2_0_11)) - )) - (net (rename RowA_0 "RowA[0]") (joined - (portRef Q (instanceRef RowA_0)) - (portRef B (instanceRef un9_RA_0)) - )) - (net (rename RowA_1 "RowA[1]") (joined - (portRef Q (instanceRef RowA_1)) - (portRef B (instanceRef un9_RA_1)) - )) - (net (rename RowA_2 "RowA[2]") (joined - (portRef Q (instanceRef RowA_2)) - (portRef B (instanceRef un9_RA_2)) - )) - (net (rename RowA_3 "RowA[3]") (joined - (portRef Q (instanceRef RowA_3)) - (portRef B (instanceRef un9_RA_3)) - )) - (net (rename RowA_4 "RowA[4]") (joined - (portRef Q (instanceRef RowA_4)) - (portRef B (instanceRef un9_RA_4)) - )) - (net (rename RowA_5 "RowA[5]") (joined - (portRef Q (instanceRef RowA_5)) - (portRef B (instanceRef un9_RA_5)) - )) - (net (rename RowA_6 "RowA[6]") (joined - (portRef Q (instanceRef RowA_6)) - (portRef B (instanceRef un9_RA_6)) - )) - (net (rename RowA_7 "RowA[7]") (joined - (portRef Q (instanceRef RowA_7)) - (portRef B (instanceRef un9_RA_7)) - )) - (net (rename RowA_8 "RowA[8]") (joined - (portRef Q (instanceRef RowA_8)) - (portRef B (instanceRef un9_RA_8)) - )) - (net (rename RowA_9 "RowA[9]") (joined - (portRef Q (instanceRef RowA_9)) - (portRef B (instanceRef un9_RA_9)) - )) - (net (rename WRD_0 "WRD[0]") (joined - (portRef Q (instanceRef WRD_0)) - (portRef I (instanceRef RD_pad_0)) - )) - (net (rename WRD_1 "WRD[1]") (joined - (portRef Q (instanceRef WRD_1)) - (portRef I (instanceRef RD_pad_1)) - )) - (net (rename WRD_2 "WRD[2]") (joined - (portRef Q (instanceRef WRD_2)) - (portRef I (instanceRef RD_pad_2)) - )) - (net (rename WRD_3 "WRD[3]") (joined - (portRef Q (instanceRef WRD_3)) - (portRef I (instanceRef RD_pad_3)) - )) - (net (rename WRD_4 "WRD[4]") (joined - (portRef Q (instanceRef WRD_4)) - (portRef I (instanceRef RD_pad_4)) - )) - (net (rename WRD_5 "WRD[5]") (joined - (portRef Q (instanceRef WRD_5)) - (portRef I (instanceRef RD_pad_5)) - )) - (net (rename WRD_6 "WRD[6]") (joined - (portRef Q (instanceRef WRD_6)) - (portRef I (instanceRef RD_pad_6)) - )) - (net (rename WRD_7 "WRD[7]") (joined - (portRef Q (instanceRef WRD_7)) - (portRef I (instanceRef RD_pad_7)) - )) - (net nRowColSel (joined - (portRef Q (instanceRef nRowColSel)) - (portRef B (instanceRef RDQML)) - (portRef B (instanceRef RDQMH)) - (portRef C (instanceRef un9_RA_9)) - (portRef C (instanceRef un9_RA_7)) - (portRef C (instanceRef un9_RA_6)) - (portRef C (instanceRef un9_RA_5)) - (portRef C (instanceRef un9_RA_4)) - (portRef C (instanceRef un9_RA_3)) - (portRef C (instanceRef un9_RA_2)) - (portRef C (instanceRef un9_RA_1)) - (portRef C (instanceRef un9_RA_0)) - (portRef C (instanceRef un9_RA_8)) - )) - (net RASr3 (joined - (portRef Q (instanceRef RASr3)) - (portRef C (instanceRef RCKE_2_0)) - )) - (net LEDEN (joined - (portRef Q (instanceRef LEDEN)) - (portRef B (instanceRef LED_pad_RNO)) - (portRef B (instanceRef XOR8MEG_3_u_0_a3_3)) - (portRef A (instanceRef CmdLEDEN_RNO)) - )) - (net CmdLEDEN (joined - (portRef Q (instanceRef CmdLEDEN)) - (portRef B (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef A (instanceRef LEDEN_5_i_m2)) - )) - (net Cmdn8MEGEN (joined - (portRef Q (instanceRef Cmdn8MEGEN)) - (portRef A (instanceRef n8MEGEN_5_i_m2)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net PHI2r3 (joined - (portRef Q (instanceRef PHI2r3)) - (portRef D (instanceRef un1_FS_14_i_a2)) - (portRef D (instanceRef PHI2r3_RNITCN41)) - )) - (net CmdSubmitted (joined - (portRef Q (instanceRef CmdSubmitted)) - (portRef A (instanceRef un1_FS_14_i_a2)) - (portRef A (instanceRef PHI2r3_RNITCN41)) - (portRef B (instanceRef CmdSubmitted_RNO)) - )) - (net (rename FS_4 "FS[4]") (joined - (portRef Q (instanceRef FS_4)) - (portRef A0 (instanceRef FS_cry_0_4)) - (portRef B (instanceRef UFMCLK_r_i_m2)) - (portRef A (instanceRef un1_FS_13_i_a2_8)) - )) - (net InitReady3 (joined - (portRef Z (instanceRef InitReady3_0_a2)) - (portRef A (instanceRef InitReady_RNO)) - )) - (net RCKEEN (joined - (portRef Q (instanceRef RCKEEN)) - (portRef D (instanceRef RCKE_2_0)) - )) - (net RA11_2 (joined - (portRef Z (instanceRef RA11_2)) - (portRef D (instanceRef RA11)) - )) - (net XOR8MEG (joined - (portRef Q (instanceRef XOR8MEG)) - (portRef B (instanceRef RA11_2)) - (portRef A (instanceRef XOR8MEG_3_u_0_a3_0)) - )) - (net nRRAS_0_sqmuxa (joined - (portRef Z (instanceRef nRowColSel_RNO)) - (portRef CD (instanceRef nRowColSel)) - )) - (net nUFMCS15 (joined - (portRef Z (instanceRef nUFMCS15_0_a2)) - (portRef B (instanceRef nUFMCS_s_0_N_5_i)) - (portRef B (instanceRef UFMCLK_RNO)) - (portRef B (instanceRef UFMSDI_RNO)) - )) - (net Ready_0_sqmuxa (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef A (instanceRef Ready_fast_RNO)) - )) - (net RCKE_2 (joined - (portRef Z (instanceRef RCKE_2_0)) - (portRef D (instanceRef RCKE)) - )) - (net nRCAS_0_sqmuxa_1 (joined - (portRef Z (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef B (instanceRef nRCAS_RNO)) - (portRef C (instanceRef nRWE_RNO)) - )) - (net XOR8MEG18 (joined - (portRef Z (instanceRef XOR8MEG18_0_a2)) - (portRef A (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef SP (instanceRef CmdLEDEN)) - (portRef SP (instanceRef Cmdn8MEGEN)) - (portRef SP (instanceRef XOR8MEG)) - )) - (net CmdEnable (joined - (portRef Q (instanceRef CmdEnable)) - (portRef A (instanceRef XOR8MEG18_0_a2)) - (portRef B (instanceRef CmdEnable_s_am)) - (portRef A (instanceRef CmdEnable_s_bm)) - )) - (net CmdEnable16 (joined - (portRef Z (instanceRef CmdEnable16_0_a2)) - (portRef D (instanceRef ADSubmitted_r)) - (portRef C0 (instanceRef CmdEnable_s)) - (portRef A (instanceRef C1Submitted_RNO)) - )) - (net CmdEnable17 (joined - (portRef Z (instanceRef CmdEnable17_0_a2)) - (portRef C (instanceRef ADSubmitted_r)) - (portRef A (instanceRef CmdEnable_s_am)) - )) - (net CmdSubmitted_1_sqmuxa (joined - (portRef Z (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdSubmitted_RNO)) - )) - (net CmdUFMCLK_1_sqmuxa (joined - (portRef Z (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef SP (instanceRef CmdUFMCLK)) - (portRef SP (instanceRef CmdUFMCS)) - (portRef SP (instanceRef CmdUFMSDI)) - )) - (net CmdUFMCLK (joined - (portRef Q (instanceRef CmdUFMCLK)) - (portRef B (instanceRef UFMCLK_RNO_0)) - )) - (net CmdUFMSDI (joined - (portRef Q (instanceRef CmdUFMSDI)) - (portRef A (instanceRef UFMSDI_RNO_0)) - )) - (net ADSubmitted (joined - (portRef Q (instanceRef ADSubmitted)) - (portRef A (instanceRef ADSubmitted_r)) - (portRef B (instanceRef CmdEnable_s_bm)) - )) - (net C1Submitted_RNO (joined - (portRef Z (instanceRef C1Submitted_RNO)) - (portRef D (instanceRef C1Submitted)) - )) - (net ADSubmitted_r (joined - (portRef Z (instanceRef ADSubmitted_r)) - (portRef D (instanceRef ADSubmitted)) - )) - (net UFMSDI_RNO (joined - (portRef Z (instanceRef UFMSDI_RNO)) - (portRef D (instanceRef UFMSDI)) - )) - (net CmdEnable_s (joined - (portRef Z (instanceRef CmdEnable_s)) - (portRef D (instanceRef CmdEnable)) - )) - (net nRowColSel_0_0 (joined - (portRef Z (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef nRowColSel)) - )) - (net RCKEEN_8 (joined - (portRef Z (instanceRef RCKEEN_8_u)) - (portRef D (instanceRef RCKEEN)) - )) - (net N_31 (joined - (portRef Z (instanceRef un1_FS_14_i_0)) - (portRef SP (instanceRef n8MEGEN)) - )) - (net N_33 (joined - (portRef Z (instanceRef un1_FS_13_i_0)) - (portRef SP (instanceRef LEDEN)) - )) - (net N_24 (joined - (portRef Z (instanceRef nRRAS_5_u_i)) - (portRef B (instanceRef nRCS_RNO)) - )) - (net N_41 (joined - (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef A (instanceRef nRCAS_RNO)) - )) - (net (rename S_0_i_o2_1 "S_0_i_o2[1]") (joined - (portRef Z (instanceRef S_0_i_o2_1)) - (portRef A (instanceRef nRRAS_5_u_i_0)) - (portRef B (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef D (instanceRef S_1)) - (portRef D (instanceRef RCKEEN_8_u_RNO)) - )) - (net N_159 (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2)) - (portRef D (instanceRef RA10_RNO)) - )) - (net N_165 (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef B (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef C (instanceRef Ready_RNO)) - )) - (net N_95_5 (joined - (portRef Z (instanceRef InitReady3_0_a2_5)) - (portRef D (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef D (instanceRef InitReady3_0_a2)) - )) - (net N_95_3 (joined - (portRef Z (instanceRef InitReady3_0_a2_3)) - (portRef C (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef C (instanceRef InitReady3_0_a2)) - )) - (net N_51 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_o2_0)) - (portRef D (instanceRef UFMCLK_r_i_m2)) - (portRef D (instanceRef nUFMCS15_0_a2)) - (portRef C (instanceRef UFMSDI_en_ss0_0_a2_0)) - (portRef B (instanceRef UFMSDI_ens2_i_a0)) - )) - (net N_126 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_o2)) - (portRef C (instanceRef UFMSDI_ens2_i_a0)) - )) - (net N_151 (joined - (portRef Z (instanceRef UFMSDI_en_ss0_0_a2_0)) - (portRef C (instanceRef UFMSDI_RNO_0)) - (portRef D (instanceRef un1_FS_13_i_a2_8)) - )) - (net N_137_8 (joined - (portRef Z (instanceRef un1_FS_13_i_a2_8)) - (portRef C (instanceRef un1_FS_13_i_0)) - (portRef C (instanceRef un1_FS_14_i_0)) - )) - (net N_129 (joined - (portRef Z (instanceRef UFMCLK_r_i_m2)) - (portRef D (instanceRef UFMCLK_RNO_0)) - )) - (net N_155 (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef IS_RNO_0)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef C (instanceRef nRRAS_RNO)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2)) - (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef B (instanceRef nRRAS_5_u_i)) - )) - (net N_56_i (joined - (portRef Z (instanceRef IS_n1_0_x2)) - (portRef D (instanceRef IS_1)) - )) - (net N_160 (joined - (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef B (instanceRef nRRAS_RNO)) - (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef C (instanceRef nRRAS_5_u_i)) - )) - (net N_136 (joined - (portRef Z (instanceRef un1_FS_14_i_a2)) - (portRef A (instanceRef un1_FS_13_i_0)) - (portRef A (instanceRef un1_FS_14_i_0)) - )) - (net N_69 (joined - (portRef Z (instanceRef n8MEGEN_5_i_m2)) - (portRef D (instanceRef n8MEGEN)) - )) - (net N_70 (joined - (portRef Z (instanceRef LEDEN_5_i_m2)) - (portRef D (instanceRef LEDEN)) - )) - (net N_137_6 (joined - (portRef Z (instanceRef un1_FS_13_i_a2_6)) - (portRef B (instanceRef un1_FS_13_i_0)) - (portRef B (instanceRef un1_FS_14_i_0)) - )) - (net XOR8MEG_3 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a3_3)) - (portRef D (instanceRef XOR8MEG)) - )) - (net CmdEnable16_1 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_1)) - (portRef A (instanceRef CmdEnable16_0_a2_5)) - )) - (net N_43 (joined - (portRef Z (instanceRef CmdEnable17_0_o2)) - (portRef D (instanceRef CmdEnable17_0_a2_4)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net N_147 (joined - (portRef Z (instanceRef C1WR_0_a2_0)) - (portRef A (instanceRef un1_CMDWR)) - (portRef C (instanceRef CmdEnable16_0_a2)) - (portRef B (instanceRef C1WR_0_a2)) - (portRef D (instanceRef XOR8MEG18_0_a2)) - (portRef D (instanceRef CmdEnable17_0_a2)) - (portRef C (instanceRef C1Submitted_RNO)) - )) - (net CmdEnable16_4 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_4)) - (portRef A (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net un1_Din_4 (joined - (portRef Z (instanceRef un1_Din_4)) - (portRef B (instanceRef XOR8MEG_3_u_0_a3_0)) - (portRef D (instanceRef XOR8MEG_3_u_0_a3_2)) - )) - (net N_171 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a3_0)) - (portRef C (instanceRef XOR8MEG_3_u_0_a3_3)) - )) - (net N_128 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef B (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef B (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef C (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef D (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net N_152 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef D (instanceRef CmdLEDEN_RNO)) - (portRef B (instanceRef Cmdn8MEGEN_RNO)) - )) - (net N_132 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef B (instanceRef CmdLEDEN_RNO)) - )) - (net N_133 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef C (instanceRef CmdLEDEN_RNO)) - )) - (net un1_CMDWR (joined - (portRef Z (instanceRef un1_CMDWR)) - (portRef C (instanceRef CmdEnable_s_am)) - )) - (net N_179 (joined - (portRef Z (instanceRef nRowColSel_0_0_a3_0)) - (portRef B (instanceRef nRowColSel_0_0)) - )) - (net XOR8MEG_3_u_0_a3_2 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef XOR8MEG_3_u_0_a3_3)) - )) - (net UFMCLK_r_i_a2_2_2 (joined - (portRef Z (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef C (instanceRef UFMCLK_RNO_0)) - (portRef C (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - )) - (net UFMCLK_RNO (joined - (portRef Z (instanceRef UFMCLK_RNO)) - (portRef D (instanceRef UFMCLK)) - )) - (net UFMSDI_ens2_i_a0 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_a0)) - (portRef B (instanceRef UFMSDI_RNO_0)) - )) - (net RCKEEN_8_u_0_0 (joined - (portRef Z (instanceRef RCKEEN_8_u_RNO)) - (portRef B (instanceRef RCKEEN_8_u)) - )) - (net RCKEEN_8_u_0_a2_1_out (joined - (portRef Z (instanceRef RCKEEN_8_u_0_a2_1_s)) - (portRef D (instanceRef nRCS_RNO)) - )) - (net nCRAS_c_i (joined - (portRef Z (instanceRef nCRAS_pad_RNIBPVB)) - (portRef CK (instanceRef CBR)) - (portRef CK (instanceRef CBR_fast)) - (portRef CK (instanceRef FWEr)) - (portRef CK (instanceRef FWEr_fast)) - (portRef CK (instanceRef RBA_1)) - (portRef CK (instanceRef RBA_0)) - (portRef CK (instanceRef RowA_9)) - (portRef CK (instanceRef RowA_8)) - (portRef CK (instanceRef RowA_7)) - (portRef CK (instanceRef RowA_6)) - (portRef CK (instanceRef RowA_5)) - (portRef CK (instanceRef RowA_4)) - (portRef CK (instanceRef RowA_3)) - (portRef CK (instanceRef RowA_2)) - (portRef CK (instanceRef RowA_1)) - (portRef CK (instanceRef RowA_0)) - )) - (net N_159_i (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef SP (instanceRef IS_3)) - (portRef SP (instanceRef IS_2)) - (portRef SP (instanceRef IS_1)) - )) - (net RD_1_i (joined - (portRef Z (instanceRef nCCAS_pad_RNI01SJ)) - (portRef T (instanceRef RD_pad_0)) - (portRef T (instanceRef RD_pad_1)) - (portRef T (instanceRef RD_pad_2)) - (portRef T (instanceRef RD_pad_3)) - (portRef T (instanceRef RD_pad_4)) - (portRef T (instanceRef RD_pad_5)) - (portRef T (instanceRef RD_pad_6)) - (portRef T (instanceRef RD_pad_7)) - )) - (net N_28_i (joined - (portRef Z (instanceRef nRCS_RNO)) - (portRef D (instanceRef nRCS)) - )) - (net N_37_i (joined - (portRef Z (instanceRef nRCAS_RNO)) - (portRef D (instanceRef nRCAS)) - )) - (net N_24_i (joined - (portRef Z (instanceRef nRRAS_RNO)) - (portRef D (instanceRef nRRAS)) - )) - (net nUFMCS_s_0_N_5_i (joined - (portRef Z (instanceRef nUFMCS_s_0_N_5_i)) - (portRef D (instanceRef nUFMCS)) - )) - (net N_39_i (joined - (portRef Z (instanceRef nRWE_RNO)) - (portRef D (instanceRef nRWE)) - )) - (net N_64_i_i (joined - (portRef Z (instanceRef IS_RNO_0)) - (portRef D (instanceRef IS_0)) - )) - (net N_61_i_i (joined - (portRef Z (instanceRef IS_RNO_3)) - (portRef D (instanceRef IS_3)) - )) - (net N_60_i_i (joined - (portRef Z (instanceRef IS_RNO_2)) - (portRef D (instanceRef IS_2)) - )) - (net N_177_i (joined - (portRef Z (instanceRef S_RNO_0)) - (portRef D (instanceRef S_0)) - )) - (net N_21_i (joined - (portRef Z (instanceRef CmdLEDEN_RNO)) - (portRef D (instanceRef CmdLEDEN)) - )) - (net N_19_i (joined - (portRef Z (instanceRef Cmdn8MEGEN_RNO)) - (portRef D (instanceRef Cmdn8MEGEN)) - )) - (net N_139_i (joined - (portRef Z (instanceRef PHI2r3_RNITCN41)) - (portRef A (instanceRef nUFMCS_s_0_N_5_i)) - (portRef A (instanceRef UFMCLK_RNO)) - (portRef A (instanceRef UFMSDI_RNO)) - )) - (net (rename FS_cry_0 "FS_cry[0]") (joined - (portRef COUT0 (instanceRef FS_cry_0_0)) - )) - (net (rename FS_s_0 "FS_s[0]") (joined - (portRef S0 (instanceRef FS_cry_0_0)) - (portRef D (instanceRef FS_0)) - )) - (net (rename FS_cry_1 "FS_cry[1]") (joined - (portRef COUT1 (instanceRef FS_cry_0_0)) - (portRef CIN (instanceRef FS_cry_0_2)) - )) - (net (rename FS_s_1 "FS_s[1]") (joined - (portRef S1 (instanceRef FS_cry_0_0)) - (portRef D (instanceRef FS_1)) - )) - (net (rename FS_cry_2 "FS_cry[2]") (joined - (portRef COUT0 (instanceRef FS_cry_0_2)) - )) - (net (rename FS_s_2 "FS_s[2]") (joined - (portRef S0 (instanceRef FS_cry_0_2)) - (portRef D (instanceRef FS_2)) - )) - (net (rename FS_cry_3 "FS_cry[3]") (joined - (portRef COUT1 (instanceRef FS_cry_0_2)) - (portRef CIN (instanceRef FS_cry_0_4)) - )) - (net (rename FS_s_3 "FS_s[3]") (joined - (portRef S1 (instanceRef FS_cry_0_2)) - (portRef D (instanceRef FS_3)) - )) - (net (rename FS_cry_4 "FS_cry[4]") (joined - (portRef COUT0 (instanceRef FS_cry_0_4)) - )) - (net (rename FS_s_4 "FS_s[4]") (joined - (portRef S0 (instanceRef FS_cry_0_4)) - (portRef D (instanceRef FS_4)) - )) - (net (rename FS_cry_5 "FS_cry[5]") (joined - (portRef COUT1 (instanceRef FS_cry_0_4)) - (portRef CIN (instanceRef FS_cry_0_6)) - )) - (net (rename FS_s_5 "FS_s[5]") (joined - (portRef S1 (instanceRef FS_cry_0_4)) - (portRef D (instanceRef FS_5)) - )) - (net (rename FS_cry_6 "FS_cry[6]") (joined - (portRef COUT0 (instanceRef FS_cry_0_6)) - )) - (net (rename FS_s_6 "FS_s[6]") (joined - (portRef S0 (instanceRef FS_cry_0_6)) - (portRef D (instanceRef FS_6)) - )) - (net (rename FS_cry_7 "FS_cry[7]") (joined - (portRef COUT1 (instanceRef FS_cry_0_6)) - (portRef CIN (instanceRef FS_cry_0_8)) - )) - (net (rename FS_s_7 "FS_s[7]") (joined - (portRef S1 (instanceRef FS_cry_0_6)) - (portRef D (instanceRef FS_7)) - )) - (net (rename FS_cry_8 "FS_cry[8]") (joined - (portRef COUT0 (instanceRef FS_cry_0_8)) - )) - (net (rename FS_s_8 "FS_s[8]") (joined - (portRef S0 (instanceRef FS_cry_0_8)) - (portRef D (instanceRef FS_8)) - )) - (net (rename FS_cry_9 "FS_cry[9]") (joined - (portRef COUT1 (instanceRef FS_cry_0_8)) - (portRef CIN (instanceRef FS_cry_0_10)) - )) - (net (rename FS_s_9 "FS_s[9]") (joined - (portRef S1 (instanceRef FS_cry_0_8)) - (portRef D (instanceRef FS_9)) - )) - (net (rename FS_cry_10 "FS_cry[10]") (joined - (portRef COUT0 (instanceRef FS_cry_0_10)) - )) - (net (rename FS_s_10 "FS_s[10]") (joined - (portRef S0 (instanceRef FS_cry_0_10)) - (portRef D (instanceRef FS_10)) - )) - (net (rename FS_cry_11 "FS_cry[11]") (joined - (portRef COUT1 (instanceRef FS_cry_0_10)) - (portRef CIN (instanceRef FS_cry_0_12)) - )) - (net (rename FS_s_11 "FS_s[11]") (joined - (portRef S1 (instanceRef FS_cry_0_10)) - (portRef D (instanceRef FS_11)) - )) - (net (rename FS_cry_12 "FS_cry[12]") (joined - (portRef COUT0 (instanceRef FS_cry_0_12)) - )) - (net (rename FS_s_12 "FS_s[12]") (joined - (portRef S0 (instanceRef FS_cry_0_12)) - (portRef D (instanceRef FS_12)) - )) - (net (rename FS_cry_13 "FS_cry[13]") (joined - (portRef COUT1 (instanceRef FS_cry_0_12)) - (portRef CIN (instanceRef FS_cry_0_14)) - )) - (net (rename FS_s_13 "FS_s[13]") (joined - (portRef S1 (instanceRef FS_cry_0_12)) - (portRef D (instanceRef FS_13)) - )) - (net (rename FS_cry_14 "FS_cry[14]") (joined - (portRef COUT0 (instanceRef FS_cry_0_14)) - )) - (net (rename FS_s_14 "FS_s[14]") (joined - (portRef S0 (instanceRef FS_cry_0_14)) - (portRef D (instanceRef FS_14)) - )) - (net (rename FS_cry_15 "FS_cry[15]") (joined - (portRef COUT1 (instanceRef FS_cry_0_14)) - (portRef CIN (instanceRef FS_cry_0_16)) - )) - (net (rename FS_s_15 "FS_s[15]") (joined - (portRef S1 (instanceRef FS_cry_0_14)) - (portRef D (instanceRef FS_15)) - )) - (net (rename FS_cry_16 "FS_cry[16]") (joined - (portRef COUT0 (instanceRef FS_cry_0_16)) - )) - (net (rename FS_s_16 "FS_s[16]") (joined - (portRef S0 (instanceRef FS_cry_0_16)) - (portRef D (instanceRef FS_16)) - )) - (net (rename FS_s_17 "FS_s[17]") (joined - (portRef S1 (instanceRef FS_cry_0_16)) - (portRef D (instanceRef FS_17)) - )) - (net RA10s_i (joined - (portRef Z (instanceRef RA10_RNO)) - (portRef PD (instanceRef RA10)) - )) - (net Cmdn8MEGEN_4_u_i_0 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_0)) - (portRef A (instanceRef Cmdn8MEGEN_RNO)) - )) - (net UFMSDI_ens2_i_o2_0_3 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef C (instanceRef UFMSDI_ens2_i_o2_0)) - )) - (net C1WR_0_a2_0_3 (joined - (portRef Z (instanceRef C1WR_0_a2_0_3)) - (portRef C (instanceRef C1WR_0_a2_0_10)) - )) - (net C1WR_0_a2_0_4 (joined - (portRef Z (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef C1WR_0_a2_0_10)) - )) - (net C1WR_0_a2_0_10 (joined - (portRef Z (instanceRef C1WR_0_a2_0_10)) - (portRef C (instanceRef C1WR_0_a2_0)) - )) - (net C1WR_0_a2_0_11 (joined - (portRef Z (instanceRef C1WR_0_a2_0_11)) - (portRef D (instanceRef C1WR_0_a2_0)) - )) - (net Ready_0_sqmuxa_0_a3_2 (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef D (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef Ready_RNO)) - )) - (net UFMSDI_ens2_i_a2_4_2 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef D (instanceRef UFMSDI_ens2_i_a0)) - )) - (net CmdEnable16_0_a2_4 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef CmdEnable16_0_a2)) - )) - (net CmdEnable16_0_a2_5 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_5)) - (portRef B (instanceRef CmdEnable16_0_a2)) - )) - (net nRRAS_5_u_i_0 (joined - (portRef Z (instanceRef nRRAS_5_u_i_0)) - (portRef A (instanceRef nRRAS_RNO)) - (portRef D (instanceRef nRRAS_5_u_i)) - )) - (net CmdEnable17_0_a2_3 (joined - (portRef Z (instanceRef CmdEnable17_0_a2_3)) - (portRef A (instanceRef CmdEnable17_0_a2)) - )) - (net CmdEnable17_0_a2_4 (joined - (portRef Z (instanceRef CmdEnable17_0_a2_4)) - (portRef B (instanceRef CmdEnable17_0_a2)) - )) - (net un1_FS_13_i_a2_1 (joined - (portRef Z (instanceRef un1_FS_13_i_a2_1)) - (portRef D (instanceRef un1_FS_13_i_0)) - )) - (net un1_FS_14_i_a2_0_1 (joined - (portRef Z (instanceRef un1_FS_14_i_a2_0_1)) - (portRef D (instanceRef un1_FS_14_i_0)) - )) - (net (rename FS_cry_0_COUT1_16 "FS_cry_0_COUT1[16]") (joined - (portRef COUT1 (instanceRef FS_cry_0_16)) - )) - (net RCKEEN_8_u_1 (joined - (portRef Z (instanceRef RCKEEN_8_u_1_0)) - (portRef C (instanceRef RCKEEN_8_u)) - )) - (net N_28_i_1 (joined - (portRef Z (instanceRef nRCS_RNO_0)) - (portRef C (instanceRef nRCS_RNO)) - )) - (net m18_0_a3_3 (joined - (portRef Z (instanceRef nRWE_RNO_5)) - (portRef C (instanceRef nRWE_RNO_4)) - )) - (net m18_0_a2_1 (joined - (portRef Z (instanceRef nRWE_RNO_1)) - (portRef D (instanceRef nRWE_RNO)) - )) - (net m6_0_a2_2 (joined - (portRef Z (instanceRef nRWE_RNO_2)) - (portRef D (instanceRef nRWE_RNO_0)) - )) - (net G_17_1 (joined - (portRef Z (instanceRef nRWE_RNO_0)) - (portRef B (instanceRef nRWE_RNO)) - )) - (net g0_1 (joined - (portRef Z (instanceRef nRCAS_RNO_0)) - (portRef D (instanceRef nRCAS_RNO)) - )) - (net g4_0_0_0 (joined - (portRef Z (instanceRef nRCAS_RNO_1)) - (portRef D (instanceRef nRCAS_RNO_0)) - )) - (net CBR_fast (joined - (portRef Q (instanceRef CBR_fast)) - (portRef A (instanceRef nRCAS_RNO_0)) - (portRef A (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - )) - (net FWEr_fast (joined - (portRef Q (instanceRef FWEr_fast)) - (portRef C (instanceRef RCKEEN_8_u_1_0)) - (portRef A (instanceRef nRCS_RNO_0)) - )) - (net Ready_fast (joined - (portRef Q (instanceRef Ready_fast)) - (portRef B (instanceRef Ready_fast_RNO)) - (portRef A (instanceRef Ready_fast_RNI29NA)) - )) - (net UFMSDI_r_xx_mm_1 (joined - (portRef Z (instanceRef UFMSDI_RNO_0)) - (portRef D (instanceRef UFMSDI_RNO)) - )) - (net UFMCLK_r_i_m4_xx_mm_1 (joined - (portRef Z (instanceRef UFMCLK_RNO_0)) - (portRef D (instanceRef UFMCLK_RNO)) - )) - (net nUFMCS_s_0_N_5_i_N_2L1 (joined - (portRef Z (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - (portRef D (instanceRef nUFMCS_s_0_N_5_i)) - )) - (net (rename XOR8MEG_CN "XOR8MEG.CN") (joined - (portRef Z (instanceRef XOR8MEG_CN)) - (portRef CK (instanceRef ADSubmitted)) - (portRef CK (instanceRef C1Submitted)) - (portRef CK (instanceRef CmdEnable)) - (portRef CK (instanceRef CmdLEDEN)) - (portRef CK (instanceRef CmdSubmitted)) - (portRef CK (instanceRef CmdUFMCLK)) - (portRef CK (instanceRef CmdUFMCS)) - (portRef CK (instanceRef CmdUFMSDI)) - (portRef CK (instanceRef Cmdn8MEGEN)) - (portRef CK (instanceRef XOR8MEG)) - )) - (net VCC (joined - (portRef Z (instanceRef VCC)) - (portRef CIN (instanceRef FS_cry_0_0)) - (portRef GSR (instanceRef GSR_INST)) - )) - (net GND (joined - (portRef Z (instanceRef GND)) - (portRef D1 (instanceRef FS_cry_0_0)) - (portRef C1 (instanceRef FS_cry_0_0)) - (portRef B1 (instanceRef FS_cry_0_0)) - (portRef D0 (instanceRef FS_cry_0_0)) - (portRef C0 (instanceRef FS_cry_0_0)) - (portRef B0 (instanceRef FS_cry_0_0)) - (portRef D1 (instanceRef FS_cry_0_2)) - (portRef C1 (instanceRef FS_cry_0_2)) - (portRef B1 (instanceRef FS_cry_0_2)) - (portRef D0 (instanceRef FS_cry_0_2)) - (portRef C0 (instanceRef FS_cry_0_2)) - (portRef B0 (instanceRef FS_cry_0_2)) - (portRef D1 (instanceRef FS_cry_0_4)) - (portRef C1 (instanceRef FS_cry_0_4)) - (portRef B1 (instanceRef FS_cry_0_4)) - (portRef D0 (instanceRef FS_cry_0_4)) - (portRef C0 (instanceRef FS_cry_0_4)) - (portRef B0 (instanceRef FS_cry_0_4)) - (portRef D1 (instanceRef FS_cry_0_6)) - (portRef C1 (instanceRef FS_cry_0_6)) - (portRef B1 (instanceRef FS_cry_0_6)) - (portRef D0 (instanceRef FS_cry_0_6)) - (portRef C0 (instanceRef FS_cry_0_6)) - (portRef B0 (instanceRef FS_cry_0_6)) - (portRef D1 (instanceRef FS_cry_0_8)) - (portRef C1 (instanceRef FS_cry_0_8)) - (portRef B1 (instanceRef FS_cry_0_8)) - (portRef D0 (instanceRef FS_cry_0_8)) - (portRef C0 (instanceRef FS_cry_0_8)) - (portRef B0 (instanceRef FS_cry_0_8)) - (portRef D1 (instanceRef FS_cry_0_10)) - (portRef C1 (instanceRef FS_cry_0_10)) - (portRef B1 (instanceRef FS_cry_0_10)) - (portRef D0 (instanceRef FS_cry_0_10)) - (portRef C0 (instanceRef FS_cry_0_10)) - (portRef B0 (instanceRef FS_cry_0_10)) - (portRef D1 (instanceRef FS_cry_0_12)) - (portRef C1 (instanceRef FS_cry_0_12)) - (portRef B1 (instanceRef FS_cry_0_12)) - (portRef D0 (instanceRef FS_cry_0_12)) - (portRef C0 (instanceRef FS_cry_0_12)) - (portRef B0 (instanceRef FS_cry_0_12)) - (portRef D1 (instanceRef FS_cry_0_14)) - (portRef C1 (instanceRef FS_cry_0_14)) - (portRef B1 (instanceRef FS_cry_0_14)) - (portRef D0 (instanceRef FS_cry_0_14)) - (portRef C0 (instanceRef FS_cry_0_14)) - (portRef B0 (instanceRef FS_cry_0_14)) - (portRef D1 (instanceRef FS_cry_0_16)) - (portRef C1 (instanceRef FS_cry_0_16)) - (portRef B1 (instanceRef FS_cry_0_16)) - (portRef D0 (instanceRef FS_cry_0_16)) - (portRef C0 (instanceRef FS_cry_0_16)) - (portRef B0 (instanceRef FS_cry_0_16)) - )) - (net PHI2_c (joined - (portRef O (instanceRef PHI2_pad)) - (portRef CK (instanceRef Bank_7)) - (portRef CK (instanceRef Bank_6)) - (portRef CK (instanceRef Bank_5)) - (portRef CK (instanceRef Bank_4)) - (portRef CK (instanceRef Bank_3)) - (portRef CK (instanceRef Bank_2)) - (portRef CK (instanceRef Bank_1)) - (portRef CK (instanceRef Bank_0)) - (portRef D (instanceRef PHI2r)) - (portRef CK (instanceRef RA11)) - (portRef A (instanceRef XOR8MEG_CN)) - )) - (net PHI2 (joined - (portRef PHI2) - (portRef I (instanceRef PHI2_pad)) - )) - (net (rename MAin_c_0 "MAin_c[0]") (joined - (portRef O (instanceRef MAin_pad_0)) - (portRef B (instanceRef un1_CMDWR)) - (portRef A (instanceRef un9_RA_0)) - (portRef D (instanceRef CmdEnable16_0_a2_4_0)) - (portRef B (instanceRef XOR8MEG18_0_a2)) - (portRef C (instanceRef CmdEnable17_0_a2)) - (portRef D (instanceRef RowA_0)) - )) - (net (rename MAin_0 "MAin[0]") (joined - (portRef (member main 9)) - (portRef I (instanceRef MAin_pad_0)) - )) - (net (rename MAin_c_1 "MAin_c[1]") (joined - (portRef O (instanceRef MAin_pad_1)) - (portRef C (instanceRef un1_CMDWR)) - (portRef A (instanceRef un9_RA_1)) - (portRef C (instanceRef CmdEnable17_0_a2_4)) - (portRef D (instanceRef CmdEnable16_0_a2_5)) - (portRef A (instanceRef C1WR_0_a2)) - (portRef C (instanceRef XOR8MEG18_0_a2)) - (portRef D (instanceRef RowA_1)) - (portRef D (instanceRef C1Submitted_RNO)) - )) - (net (rename MAin_1 "MAin[1]") (joined - (portRef (member main 8)) - (portRef I (instanceRef MAin_pad_1)) - )) - (net (rename MAin_c_2 "MAin_c[2]") (joined - (portRef O (instanceRef MAin_pad_2)) - (portRef A (instanceRef un9_RA_2)) - (portRef A (instanceRef C1WR_0_a2_0_3)) - (portRef D (instanceRef RowA_2)) - )) - (net (rename MAin_2 "MAin[2]") (joined - (portRef (member main 7)) - (portRef I (instanceRef MAin_pad_2)) - )) - (net (rename MAin_c_3 "MAin_c[3]") (joined - (portRef O (instanceRef MAin_pad_3)) - (portRef A (instanceRef un9_RA_3)) - (portRef B (instanceRef C1WR_0_a2_0_3)) - (portRef D (instanceRef RowA_3)) - )) - (net (rename MAin_3 "MAin[3]") (joined - (portRef (member main 6)) - (portRef I (instanceRef MAin_pad_3)) - )) - (net (rename MAin_c_4 "MAin_c[4]") (joined - (portRef O (instanceRef MAin_pad_4)) - (portRef A (instanceRef un9_RA_4)) - (portRef A (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_4)) - )) - (net (rename MAin_4 "MAin[4]") (joined - (portRef (member main 5)) - (portRef I (instanceRef MAin_pad_4)) - )) - (net (rename MAin_c_5 "MAin_c[5]") (joined - (portRef O (instanceRef MAin_pad_5)) - (portRef A (instanceRef un9_RA_5)) - (portRef B (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_5)) - )) - (net (rename MAin_5 "MAin[5]") (joined - (portRef (member main 4)) - (portRef I (instanceRef MAin_pad_5)) - )) - (net (rename MAin_c_6 "MAin_c[6]") (joined - (portRef O (instanceRef MAin_pad_6)) - (portRef A (instanceRef un9_RA_6)) - (portRef C (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_6)) - )) - (net (rename MAin_6 "MAin[6]") (joined - (portRef (member main 3)) - (portRef I (instanceRef MAin_pad_6)) - )) - (net (rename MAin_c_7 "MAin_c[7]") (joined - (portRef O (instanceRef MAin_pad_7)) - (portRef A (instanceRef un9_RA_7)) - (portRef D (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_7)) - )) - (net (rename MAin_7 "MAin[7]") (joined - (portRef (member main 2)) - (portRef I (instanceRef MAin_pad_7)) - )) - (net (rename MAin_c_8 "MAin_c[8]") (joined - (portRef O (instanceRef MAin_pad_8)) - (portRef A (instanceRef un9_RA_8)) - (portRef D (instanceRef RowA_8)) - )) - (net (rename MAin_8 "MAin[8]") (joined - (portRef (member main 1)) - (portRef I (instanceRef MAin_pad_8)) - )) - (net (rename MAin_c_9 "MAin_c[9]") (joined - (portRef O (instanceRef MAin_pad_9)) - (portRef A (instanceRef RDQML)) - (portRef A (instanceRef RDQMH)) - (portRef A (instanceRef un9_RA_9)) - (portRef D (instanceRef RowA_9)) - )) - (net (rename MAin_9 "MAin[9]") (joined - (portRef (member main 0)) - (portRef I (instanceRef MAin_pad_9)) - )) - (net (rename CROW_c_0 "CROW_c[0]") (joined - (portRef O (instanceRef CROW_pad_0)) - (portRef D (instanceRef RBA_0)) - )) - (net (rename CROW_0 "CROW[0]") (joined - (portRef (member crow 1)) - (portRef I (instanceRef CROW_pad_0)) - )) - (net (rename CROW_c_1 "CROW_c[1]") (joined - (portRef O (instanceRef CROW_pad_1)) - (portRef D (instanceRef RBA_1)) - )) - (net (rename CROW_1 "CROW[1]") (joined - (portRef (member crow 0)) - (portRef I (instanceRef CROW_pad_1)) - )) - (net (rename Din_c_0 "Din_c[0]") (joined - (portRef O (instanceRef Din_pad_0)) - (portRef B (instanceRef CmdEnable17_0_a2_3)) - (portRef A (instanceRef CmdEnable16_0_a2_4)) - (portRef A (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef Bank_0)) - (portRef D (instanceRef CmdUFMSDI)) - (portRef D (instanceRef WRD_0)) - )) - (net (rename Din_0 "Din[0]") (joined - (portRef (member din 7)) - (portRef I (instanceRef Din_pad_0)) - )) - (net (rename Din_c_1 "Din_c[1]") (joined - (portRef O (instanceRef Din_pad_1)) - (portRef A (instanceRef CmdEnable17_0_a2_3)) - (portRef B (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef A (instanceRef XOR8MEG_3_u_0_a3_3)) - (portRef D (instanceRef Bank_1)) - (portRef D (instanceRef CmdUFMCLK)) - (portRef D (instanceRef WRD_1)) - )) - (net (rename Din_1 "Din[1]") (joined - (portRef (member din 6)) - (portRef I (instanceRef Din_pad_1)) - )) - (net (rename Din_c_2 "Din_c[2]") (joined - (portRef O (instanceRef Din_pad_2)) - (portRef A (instanceRef CmdEnable17_0_a2_4)) - (portRef B (instanceRef CmdEnable16_0_a2_5)) - (portRef B (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef Bank_2)) - (portRef D (instanceRef CmdUFMCS)) - (portRef D (instanceRef WRD_2)) - )) - (net (rename Din_2 "Din[2]") (joined - (portRef (member din 5)) - (portRef I (instanceRef Din_pad_2)) - )) - (net (rename Din_c_3 "Din_c[3]") (joined - (portRef O (instanceRef Din_pad_3)) - (portRef D (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef D (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef D (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdEnable17_0_o2)) - (portRef C (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef C (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef Bank_3)) - (portRef D (instanceRef WRD_3)) - )) - (net (rename Din_3 "Din[3]") (joined - (portRef (member din 4)) - (portRef I (instanceRef Din_pad_3)) - )) - (net (rename Din_c_4 "Din_c[4]") (joined - (portRef O (instanceRef Din_pad_4)) - (portRef D (instanceRef CmdEnable17_0_a2_3)) - (portRef A (instanceRef CmdEnable16_0_a2_1)) - (portRef A (instanceRef un1_Din_4)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef D (instanceRef Bank_4)) - (portRef D (instanceRef WRD_4)) - )) - (net (rename Din_4 "Din[4]") (joined - (portRef (member din 3)) - (portRef I (instanceRef Din_pad_4)) - )) - (net (rename Din_c_5 "Din_c[5]") (joined - (portRef O (instanceRef Din_pad_5)) - (portRef C (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef C (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef C (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef B (instanceRef CmdEnable17_0_o2)) - (portRef B (instanceRef CmdEnable16_0_a2_4)) - (portRef B (instanceRef un1_Din_4)) - (portRef B (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef D (instanceRef Bank_5)) - (portRef D (instanceRef WRD_5)) - )) - (net (rename Din_5 "Din[5]") (joined - (portRef (member din 2)) - (portRef I (instanceRef Din_pad_5)) - )) - (net (rename Din_c_6 "Din_c[6]") (joined - (portRef O (instanceRef Din_pad_6)) - (portRef C (instanceRef un1_Din_4)) - (portRef A (instanceRef RA11_2)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef B (instanceRef CmdEnable17_0_a2_4)) - (portRef C (instanceRef CmdEnable16_0_a2_5)) - (portRef D (instanceRef Bank_6)) - (portRef D (instanceRef WRD_6)) - )) - (net (rename Din_6 "Din[6]") (joined - (portRef (member din 1)) - (portRef I (instanceRef Din_pad_6)) - )) - (net (rename Din_c_7 "Din_c[7]") (joined - (portRef O (instanceRef Din_pad_7)) - (portRef C (instanceRef CmdEnable17_0_a2_3)) - (portRef B (instanceRef CmdEnable16_0_a2_1)) - (portRef D (instanceRef un1_Din_4)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef D (instanceRef Bank_7)) - (portRef D (instanceRef WRD_7)) - )) - (net (rename Din_7 "Din[7]") (joined - (portRef (member din 0)) - (portRef I (instanceRef Din_pad_7)) - )) - (net (rename Dout_0 "Dout[0]") (joined - (portRef O (instanceRef Dout_pad_0)) - (portRef (member dout 7)) - )) - (net (rename Dout_1 "Dout[1]") (joined - (portRef O (instanceRef Dout_pad_1)) - (portRef (member dout 6)) - )) - (net (rename Dout_2 "Dout[2]") (joined - (portRef O (instanceRef Dout_pad_2)) - (portRef (member dout 5)) - )) - (net (rename Dout_3 "Dout[3]") (joined - (portRef O (instanceRef Dout_pad_3)) - (portRef (member dout 4)) - )) - (net (rename Dout_4 "Dout[4]") (joined - (portRef O (instanceRef Dout_pad_4)) - (portRef (member dout 3)) - )) - (net (rename Dout_5 "Dout[5]") (joined - (portRef O (instanceRef Dout_pad_5)) - (portRef (member dout 2)) - )) - (net (rename Dout_6 "Dout[6]") (joined - (portRef O (instanceRef Dout_pad_6)) - (portRef (member dout 1)) - )) - (net (rename Dout_7 "Dout[7]") (joined - (portRef O (instanceRef Dout_pad_7)) - (portRef (member dout 0)) - )) - (net nCCAS_c (joined - (portRef O (instanceRef nCCAS_pad)) - (portRef A (instanceRef nCCAS_pad_RNI01SJ)) - (portRef A (instanceRef nCCAS_pad_RNISUR8)) - )) - (net nCCAS (joined - (portRef nCCAS) - (portRef I (instanceRef nCCAS_pad)) - )) - (net nCRAS_c (joined - (portRef O (instanceRef nCRAS_pad)) - (portRef C (instanceRef LED_pad_RNO)) - (portRef A (instanceRef nCRAS_pad_RNIBPVB)) - (portRef A (instanceRef RASr_RNO)) - )) - (net nCRAS (joined - (portRef nCRAS) - (portRef I (instanceRef nCRAS_pad)) - )) - (net nFWE_c (joined - (portRef O (instanceRef nFWE_pad)) - (portRef C (instanceRef C1WR_0_a2_0_3)) - (portRef B (instanceRef nCCAS_pad_RNI01SJ)) - (portRef A (instanceRef nFWE_pad_RNI420B)) - )) - (net nFWE (joined - (portRef nFWE) - (portRef I (instanceRef nFWE_pad)) - )) - (net LED_c (joined - (portRef Z (instanceRef LED_pad_RNO)) - (portRef I (instanceRef LED_pad)) - )) - (net LED (joined - (portRef O (instanceRef LED_pad)) - (portRef LED) - )) - (net (rename RBA_c_0 "RBA_c[0]") (joined - (portRef Q (instanceRef RBA_0)) - (portRef I (instanceRef RBA_pad_0)) - )) - (net (rename RBA_0 "RBA[0]") (joined - (portRef O (instanceRef RBA_pad_0)) - (portRef (member rba 1)) - )) - (net (rename RBA_c_1 "RBA_c[1]") (joined - (portRef Q (instanceRef RBA_1)) - (portRef I (instanceRef RBA_pad_1)) - )) - (net (rename RBA_1 "RBA[1]") (joined - (portRef O (instanceRef RBA_pad_1)) - (portRef (member rba 0)) - )) - (net (rename RA_c_0 "RA_c[0]") (joined - (portRef Z (instanceRef un9_RA_0)) - (portRef I (instanceRef RA_pad_0)) - )) - (net (rename RA_0 "RA[0]") (joined - (portRef O (instanceRef RA_pad_0)) - (portRef (member ra 11)) - )) - (net (rename RA_c_1 "RA_c[1]") (joined - (portRef Z (instanceRef un9_RA_1)) - (portRef I (instanceRef RA_pad_1)) - )) - (net (rename RA_1 "RA[1]") (joined - (portRef O (instanceRef RA_pad_1)) - (portRef (member ra 10)) - )) - (net (rename RA_c_2 "RA_c[2]") (joined - (portRef Z (instanceRef un9_RA_2)) - (portRef I (instanceRef RA_pad_2)) - )) - (net (rename RA_2 "RA[2]") (joined - (portRef O (instanceRef RA_pad_2)) - (portRef (member ra 9)) - )) - (net (rename RA_c_3 "RA_c[3]") (joined - (portRef Z (instanceRef un9_RA_3)) - (portRef I (instanceRef RA_pad_3)) - )) - (net (rename RA_3 "RA[3]") (joined - (portRef O (instanceRef RA_pad_3)) - (portRef (member ra 8)) - )) - (net (rename RA_c_4 "RA_c[4]") (joined - (portRef Z (instanceRef un9_RA_4)) - (portRef I (instanceRef RA_pad_4)) - )) - (net (rename RA_4 "RA[4]") (joined - (portRef O (instanceRef RA_pad_4)) - (portRef (member ra 7)) - )) - (net (rename RA_c_5 "RA_c[5]") (joined - (portRef Z (instanceRef un9_RA_5)) - (portRef I (instanceRef RA_pad_5)) - )) - (net (rename RA_5 "RA[5]") (joined - (portRef O (instanceRef RA_pad_5)) - (portRef (member ra 6)) - )) - (net (rename RA_c_6 "RA_c[6]") (joined - (portRef Z (instanceRef un9_RA_6)) - (portRef I (instanceRef RA_pad_6)) - )) - (net (rename RA_6 "RA[6]") (joined - (portRef O (instanceRef RA_pad_6)) - (portRef (member ra 5)) - )) - (net (rename RA_c_7 "RA_c[7]") (joined - (portRef Z (instanceRef un9_RA_7)) - (portRef I (instanceRef RA_pad_7)) - )) - (net (rename RA_7 "RA[7]") (joined - (portRef O (instanceRef RA_pad_7)) - (portRef (member ra 4)) - )) - (net (rename RA_c_8 "RA_c[8]") (joined - (portRef Z (instanceRef un9_RA_8)) - (portRef I (instanceRef RA_pad_8)) - )) - (net (rename RA_8 "RA[8]") (joined - (portRef O (instanceRef RA_pad_8)) - (portRef (member ra 3)) - )) - (net (rename RA_c_9 "RA_c[9]") (joined - (portRef Z (instanceRef un9_RA_9)) - (portRef I (instanceRef RA_pad_9)) - )) - (net (rename RA_9 "RA[9]") (joined - (portRef O (instanceRef RA_pad_9)) - (portRef (member ra 2)) - )) - (net (rename RA_c_10 "RA_c[10]") (joined - (portRef Q (instanceRef RA10)) - (portRef I (instanceRef RA_pad_10)) - )) - (net (rename RA_10 "RA[10]") (joined - (portRef O (instanceRef RA_pad_10)) - (portRef (member ra 1)) - )) - (net (rename RA_c_11 "RA_c[11]") (joined - (portRef Q (instanceRef RA11)) - (portRef I (instanceRef RA_pad_11)) - )) - (net (rename RA_11 "RA[11]") (joined - (portRef O (instanceRef RA_pad_11)) - (portRef (member ra 0)) - )) - (net (rename RD_in_0 "RD_in[0]") (joined - (portRef O (instanceRef RD_pad_0)) - (portRef I (instanceRef Dout_pad_0)) - )) - (net (rename RD_0 "RD[0]") (joined - (portRef B (instanceRef RD_pad_0)) - (portRef (member rd 7)) - )) - (net (rename RD_in_1 "RD_in[1]") (joined - (portRef O (instanceRef RD_pad_1)) - (portRef I (instanceRef Dout_pad_1)) - )) - (net (rename RD_1 "RD[1]") (joined - (portRef B (instanceRef RD_pad_1)) - (portRef (member rd 6)) - )) - (net (rename RD_in_2 "RD_in[2]") (joined - (portRef O (instanceRef RD_pad_2)) - (portRef I (instanceRef Dout_pad_2)) - )) - (net (rename RD_2 "RD[2]") (joined - (portRef B (instanceRef RD_pad_2)) - (portRef (member rd 5)) - )) - (net (rename RD_in_3 "RD_in[3]") (joined - (portRef O (instanceRef RD_pad_3)) - (portRef I (instanceRef Dout_pad_3)) - )) - (net (rename RD_3 "RD[3]") (joined - (portRef B (instanceRef RD_pad_3)) - (portRef (member rd 4)) - )) - (net (rename RD_in_4 "RD_in[4]") (joined - (portRef O (instanceRef RD_pad_4)) - (portRef I (instanceRef Dout_pad_4)) - )) - (net (rename RD_4 "RD[4]") (joined - (portRef B (instanceRef RD_pad_4)) - (portRef (member rd 3)) - )) - (net (rename RD_in_5 "RD_in[5]") (joined - (portRef O (instanceRef RD_pad_5)) - (portRef I (instanceRef Dout_pad_5)) - )) - (net (rename RD_5 "RD[5]") (joined - (portRef B (instanceRef RD_pad_5)) - (portRef (member rd 2)) - )) - (net (rename RD_in_6 "RD_in[6]") (joined - (portRef O (instanceRef RD_pad_6)) - (portRef I (instanceRef Dout_pad_6)) - )) - (net (rename RD_6 "RD[6]") (joined - (portRef B (instanceRef RD_pad_6)) - (portRef (member rd 1)) - )) - (net (rename RD_in_7 "RD_in[7]") (joined - (portRef O (instanceRef RD_pad_7)) - (portRef I (instanceRef Dout_pad_7)) - )) - (net (rename RD_7 "RD[7]") (joined - (portRef B (instanceRef RD_pad_7)) - (portRef (member rd 0)) - )) - (net nRCS_c (joined - (portRef Q (instanceRef nRCS)) - (portRef I (instanceRef nRCS_pad)) - )) - (net nRCS (joined - (portRef O (instanceRef nRCS_pad)) - (portRef nRCS) - )) - (net RCLK_c (joined - (portRef O (instanceRef RCLK_pad)) - (portRef CK (instanceRef CASr)) - (portRef CK (instanceRef CASr2)) - (portRef CK (instanceRef CASr3)) - (portRef CK (instanceRef FS_17)) - (portRef CK (instanceRef FS_16)) - (portRef CK (instanceRef FS_15)) - (portRef CK (instanceRef FS_14)) - (portRef CK (instanceRef FS_13)) - (portRef CK (instanceRef FS_12)) - (portRef CK (instanceRef FS_11)) - (portRef CK (instanceRef FS_10)) - (portRef CK (instanceRef FS_9)) - (portRef CK (instanceRef FS_8)) - (portRef CK (instanceRef FS_7)) - (portRef CK (instanceRef FS_6)) - (portRef CK (instanceRef FS_5)) - (portRef CK (instanceRef FS_4)) - (portRef CK (instanceRef FS_3)) - (portRef CK (instanceRef FS_2)) - (portRef CK (instanceRef FS_1)) - (portRef CK (instanceRef FS_0)) - (portRef CK (instanceRef IS_3)) - (portRef CK (instanceRef IS_2)) - (portRef CK (instanceRef IS_1)) - (portRef CK (instanceRef IS_0)) - (portRef CK (instanceRef InitReady)) - (portRef CK (instanceRef LEDEN)) - (portRef CK (instanceRef PHI2r)) - (portRef CK (instanceRef PHI2r2)) - (portRef CK (instanceRef PHI2r3)) - (portRef CK (instanceRef RA10)) - (portRef CK (instanceRef RASr)) - (portRef CK (instanceRef RASr2)) - (portRef CK (instanceRef RASr3)) - (portRef CK (instanceRef RCKE)) - (portRef CK (instanceRef RCKEEN)) - (portRef CK (instanceRef Ready)) - (portRef CK (instanceRef Ready_fast)) - (portRef CK (instanceRef S_1)) - (portRef CK (instanceRef S_0)) - (portRef CK (instanceRef UFMCLK)) - (portRef CK (instanceRef UFMSDI)) - (portRef CK (instanceRef n8MEGEN)) - (portRef CK (instanceRef nRCAS)) - (portRef CK (instanceRef nRCS)) - (portRef CK (instanceRef nRRAS)) - (portRef CK (instanceRef nRWE)) - (portRef CK (instanceRef nRowColSel)) - (portRef CK (instanceRef nUFMCS)) - )) - (net RCLK (joined - (portRef RCLK) - (portRef I (instanceRef RCLK_pad)) - )) - (net RCKE_c (joined - (portRef Q (instanceRef RCKE)) - (portRef C (instanceRef nRRAS_5_u_i_0)) - (portRef I (instanceRef RCKE_pad)) - (portRef C (instanceRef nRWE_RNO_3)) - )) - (net RCKE (joined - (portRef O (instanceRef RCKE_pad)) - (portRef RCKE) - )) - (net nRWE_c (joined - (portRef Q (instanceRef nRWE)) - (portRef I (instanceRef nRWE_pad)) - )) - (net nRWE (joined - (portRef O (instanceRef nRWE_pad)) - (portRef nRWE) - )) - (net nRRAS_c (joined - (portRef Q (instanceRef nRRAS)) - (portRef I (instanceRef nRRAS_pad)) - )) - (net nRRAS (joined - (portRef O (instanceRef nRRAS_pad)) - (portRef nRRAS) - )) - (net nRCAS_c (joined - (portRef Q (instanceRef nRCAS)) - (portRef I (instanceRef nRCAS_pad)) - )) - (net nRCAS (joined - (portRef O (instanceRef nRCAS_pad)) - (portRef nRCAS) - )) - (net RDQMH_c (joined - (portRef Z (instanceRef RDQMH)) - (portRef I (instanceRef RDQMH_pad)) - )) - (net RDQMH (joined - (portRef O (instanceRef RDQMH_pad)) - (portRef RDQMH) - )) - (net RDQML_c (joined - (portRef Z (instanceRef RDQML)) - (portRef I (instanceRef RDQML_pad)) - )) - (net RDQML (joined - (portRef O (instanceRef RDQML_pad)) - (portRef RDQML) - )) - (net nUFMCS_c (joined - (portRef Q (instanceRef nUFMCS)) - (portRef C (instanceRef nUFMCS_s_0_N_5_i)) - (portRef I (instanceRef nUFMCS_pad)) - )) - (net nUFMCS (joined - (portRef O (instanceRef nUFMCS_pad)) - (portRef nUFMCS) - )) - (net UFMCLK_c (joined - (portRef Q (instanceRef UFMCLK)) - (portRef C (instanceRef UFMCLK_RNO)) - (portRef I (instanceRef UFMCLK_pad)) - )) - (net UFMCLK (joined - (portRef O (instanceRef UFMCLK_pad)) - (portRef UFMCLK) - )) - (net UFMSDI_c (joined - (portRef Q (instanceRef UFMSDI)) - (portRef C (instanceRef UFMSDI_RNO)) - (portRef I (instanceRef UFMSDI_pad)) - )) - (net UFMSDI (joined - (portRef O (instanceRef UFMSDI_pad)) - (portRef UFMSDI) - )) - (net UFMSDO_c (joined - (portRef O (instanceRef UFMSDO_pad)) - (portRef C (instanceRef LEDEN_5_i_m2)) - (portRef C (instanceRef n8MEGEN_5_i_m2)) - )) - (net UFMSDO (joined - (portRef UFMSDO) - (portRef I (instanceRef UFMSDO_pad)) - )) - (net N_460_0 (joined - (portRef Z (instanceRef CmdSubmitted_RNO)) - (portRef D (instanceRef CmdSubmitted)) - )) - (net N_461_0 (joined - (portRef Z (instanceRef InitReady_RNO)) - (portRef D (instanceRef InitReady)) - )) - (net N_462_0 (joined - (portRef Z (instanceRef Ready_RNO)) - (portRef D (instanceRef Ready)) - )) - (net N_463_0 (joined - (portRef Z (instanceRef Ready_fast_RNO)) - (portRef D (instanceRef Ready_fast)) - )) - (net nFWE_c_i (joined - (portRef Z (instanceRef nFWE_pad_RNI420B)) - (portRef D (instanceRef FWEr)) - (portRef D (instanceRef FWEr_fast)) - )) - (net nCRAS_c_i_0 (joined - (portRef Z (instanceRef RASr_RNO)) - (portRef D (instanceRef RASr)) - )) - (net nCCAS_c_i (joined - (portRef Z (instanceRef nCCAS_pad_RNISUR8)) - (portRef D (instanceRef CASr)) - (portRef D (instanceRef CBR)) - (portRef D (instanceRef CBR_fast)) - (portRef CK (instanceRef WRD_7)) - (portRef CK (instanceRef WRD_6)) - (portRef CK (instanceRef WRD_5)) - (portRef CK (instanceRef WRD_4)) - (portRef CK (instanceRef WRD_3)) - (portRef CK (instanceRef WRD_2)) - (portRef CK (instanceRef WRD_1)) - (portRef CK (instanceRef WRD_0)) - )) - (net Ready_fast_i (joined - (portRef Z (instanceRef Ready_fast_RNI29NA)) - (portRef CD (instanceRef RA11)) - (portRef CD (instanceRef RBA_1)) - (portRef CD (instanceRef RBA_0)) - (portRef PD (instanceRef RowA_9)) - (portRef CD (instanceRef RowA_8)) - (portRef CD (instanceRef RowA_7)) - (portRef CD (instanceRef RowA_6)) - (portRef PD (instanceRef RowA_5)) - (portRef CD (instanceRef RowA_4)) - (portRef CD (instanceRef RowA_3)) - (portRef CD (instanceRef RowA_2)) - (portRef CD (instanceRef RowA_1)) - (portRef CD (instanceRef RowA_0)) - )) - (net (rename IS_i_0 "IS_i[0]") (joined - (portRef Z (instanceRef IS_i_0)) - (portRef D (instanceRef RA10)) - )) - (net RASr2_i (joined - (portRef Z (instanceRef RASr2_RNIAFR1)) - (portRef CD (instanceRef S_1)) - (portRef CD (instanceRef S_0)) - )) - (net nRWE_RNO_4 (joined - (portRef Z (instanceRef nRWE_RNO_4)) - (portRef BLUT (instanceRef nRWE_RNO_1)) - )) - (net nRWE_RNO_3 (joined - (portRef Z (instanceRef nRWE_RNO_3)) - (portRef ALUT (instanceRef nRWE_RNO_1)) - )) - (net CmdEnable_s_am (joined - (portRef Z (instanceRef CmdEnable_s_am)) - (portRef BLUT (instanceRef CmdEnable_s)) - )) - (net CmdEnable_s_bm (joined - (portRef Z (instanceRef CmdEnable_s_bm)) - (portRef ALUT (instanceRef CmdEnable_s)) - )) - ) - (property orig_inst_of (string "RAM2GS")) - ) - ) - ) - (design RAM2GS (cellRef RAM2GS (libraryRef work)) - (property PART (string "lcmxo640c-3") )) -) +(edif RAM2GS + (edifVersion 2 0 0) + (edifLevel 0) + (keywordMap (keywordLevel 0)) + (status + (written + (timeStamp 2023 8 19 20 57 11) + (author "Synopsys, Inc.") + (program "Synplify Pro" (version "R-2021.03L-SP1, mapper map202103lat, Build 070R")) + ) + ) + (library LUCENT + (edifLevel 0) + (technology (numberDefinition )) + (cell CCU2 (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A0 (direction INPUT)) + (port B0 (direction INPUT)) + (port C0 (direction INPUT)) + (port D0 (direction INPUT)) + (port A1 (direction INPUT)) + (port B1 (direction INPUT)) + (port C1 (direction INPUT)) + (port D1 (direction INPUT)) + (port CIN (direction INPUT)) + (port COUT0 (direction OUTPUT)) + (port COUT1 (direction OUTPUT)) + (port S0 (direction OUTPUT)) + (port S1 (direction OUTPUT)) + ) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0000")) + (property INIT0 (string "0000")) + ) + ) + (cell BB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port B (direction INOUT)) + (port I (direction INPUT)) + (port T (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell OB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port I (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell IB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port I (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell FD1S3JX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port PD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3IX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port CD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3AY (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3AX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1P3AX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell ORCALUT4 (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A (direction INPUT)) + (port B (direction INPUT)) + (port C (direction INPUT)) + (port D (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell PFUMX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port ALUT (direction INPUT)) + (port BLUT (direction INPUT)) + (port C0 (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell GSR (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port GSR (direction INPUT)) + ) + ) + ) + (cell INV (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell VHI (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port Z (direction OUTPUT)) + ) + ) + ) + (cell VLO (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port Z (direction OUTPUT)) + ) + ) + ) + ) + (library work + (edifLevel 0) + (technology (numberDefinition )) + (cell RAM2GS (cellType GENERIC) + (view verilog (viewType NETLIST) + (interface + (port PHI2 (direction INPUT)) + (port (array (rename main "MAin[9:0]") 10) (direction INPUT)) + (port (array (rename crow "CROW[1:0]") 2) (direction INPUT)) + (port (array (rename din "Din[7:0]") 8) (direction INPUT)) + (port (array (rename dout "Dout[7:0]") 8) (direction OUTPUT)) + (port nCCAS (direction INPUT)) + (port nCRAS (direction INPUT)) + (port nFWE (direction INPUT)) + (port LED (direction OUTPUT)) + (port (array (rename rba "RBA[1:0]") 2) (direction OUTPUT)) + (port (array (rename ra "RA[11:0]") 12) (direction OUTPUT)) + (port (array (rename rd "RD[7:0]") 8) (direction INOUT)) + (port nRCS (direction OUTPUT)) + (port RCLK (direction INPUT)) + (port RCKE (direction OUTPUT)) + (port nRWE (direction OUTPUT)) + (port nRRAS (direction OUTPUT)) + (port nRCAS (direction OUTPUT)) + (port RDQMH (direction OUTPUT)) + (port RDQML (direction OUTPUT)) + (port nUFMCS (direction OUTPUT)) + (port UFMCLK (direction OUTPUT)) + (port UFMSDI (direction OUTPUT)) + (port UFMSDO (direction INPUT)) + ) + (contents + (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) + (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) + (instance GSR_INST (viewRef PRIM (cellRef GSR (libraryRef LUCENT))) + ) + (instance RASr2_RNIAFR1 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance (rename IS_i_0 "IS_i[0]") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance Ready_fast_RNI29NA (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nCCAS_pad_RNISUR8 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance RASr_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nFWE_pad_RNI420B (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nRCS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (B+A)+D (!C (!B A+B !A)+C (B+A)))")) + ) + (instance C1Submitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (B+A)+D (!C (B+A)+C A))")) + ) + (instance nRowColSel_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A))")) + ) + (instance RCKEEN_8_u_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C (!B+!A))+D (C !A))")) + ) + (instance (rename IS_RNO_3 "IS_RNO[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (!B A+B !A)))")) + ) + (instance Ready_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C (B+A)+C A))")) + ) + (instance CmdEnable_s (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance CmdEnable_s_bm (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance CmdEnable_s_am (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C B+C (B A))+D (!C B+C A))")) + ) + (instance nRWE_RNO_1 (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance nRWE_RNO_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B !A)))")) + ) + (instance nRWE_RNO_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance Ready_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance InitReady_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance CmdSubmitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance nCRAS_pad_RNIBPVB (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance (rename XOR8MEG_CN "XOR8MEG.CN") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nUFMCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRowColSel (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance nRWE (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRRAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRCAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance n8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance XOR8MEG (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_0 "WRD[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_1 "WRD[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_2 "WRD[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_3 "WRD[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_4 "WRD[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_5 "WRD[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_6 "WRD[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_7 "WRD[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance UFMSDI (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance UFMCLK (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename S_0 "S[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename S_1 "S[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_0 "RowA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_1 "RowA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_2 "RowA[2]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_3 "RowA[3]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_4 "RowA[4]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_5 "RowA[5]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) + ) + (instance (rename RowA_6 "RowA[6]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_7 "RowA[7]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_8 "RowA[8]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_9 "RowA[9]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) + ) + (instance Ready_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Ready (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RCKEEN (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RCKE (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RBA_0 "RBA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RBA_1 "RBA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance RASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RA11 (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance RA10 (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) + ) + (instance PHI2r3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance PHI2r2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance PHI2r (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance LEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance InitReady (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename IS_0 "IS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename IS_1 "IS[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename IS_2 "IS[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename IS_3 "IS[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance FWEr_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance FWEr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_0 "FS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_1 "FS[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_2 "FS[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_3 "FS[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_4 "FS[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_5 "FS[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_6 "FS[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_7 "FS[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_8 "FS[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_9 "FS[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_10 "FS[10]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_11 "FS[11]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_12 "FS[12]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_13 "FS[13]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_14 "FS[14]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_15 "FS[15]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_16 "FS[16]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_17 "FS[17]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Cmdn8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMSDI (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMCS (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMCLK (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CmdLEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdEnable (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CBR_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CBR (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance C1Submitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_0 "Bank[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_1 "Bank[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_2 "Bank[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_3 "Bank[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_4 "Bank[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_5 "Bank[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_6 "Bank[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_7 "Bank[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance ADSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance UFMSDO_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance UFMSDI_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance UFMCLK_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nUFMCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RDQML_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RDQMH_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRCAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRRAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRWE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RCKE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RCLK_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nRCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RD_pad_7 "RD_pad[7]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_6 "RD_pad[6]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_5 "RD_pad[5]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_4 "RD_pad[4]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_3 "RD_pad[3]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_2 "RD_pad[2]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_1 "RD_pad[1]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_0 "RD_pad[0]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RA_pad_11 "RA_pad[11]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_10 "RA_pad[10]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_9 "RA_pad[9]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_8 "RA_pad[8]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_7 "RA_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_6 "RA_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_5 "RA_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_4 "RA_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_3 "RA_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_2 "RA_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_1 "RA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_0 "RA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RBA_pad_1 "RBA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RBA_pad_0 "RBA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance LED_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nFWE_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nCRAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nCCAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_7 "Dout_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_6 "Dout_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_5 "Dout_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_4 "Dout_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_3 "Dout_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_2 "Dout_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_1 "Dout_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_0 "Dout_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Din_pad_7 "Din_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_6 "Din_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_5 "Din_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_4 "Din_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_3 "Din_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_2 "Din_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_1 "Din_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_0 "Din_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename CROW_pad_1 "CROW_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename CROW_pad_0 "CROW_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_9 "MAin_pad[9]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_8 "MAin_pad[8]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_7 "MAin_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_6 "MAin_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_5 "MAin_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_4 "MAin_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_3 "MAin_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_2 "MAin_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_1 "MAin_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_0 "MAin_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance PHI2_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance CmdEnable17_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance XOR8MEG18_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance un1_FS_14_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (B+A)))")) + ) + (instance un1_FS_13_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (B+A)))")) + ) + (instance C1WR_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance CmdEnable16_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance Cmdn8MEGEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A)+C !A)")) + ) + (instance CmdLEDEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C !B)+D (!C (!B A)))")) + ) + (instance RA10_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C+(B+A)))")) + ) + (instance C1WR_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance XOR8MEG_3_u_0_a3_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D C+D (C+(!B+!A)))")) + ) + (instance UFMSDI_ens2_i_a0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !A+D (!C !A+C (B !A)))")) + ) + (instance un1_FS_13_i_a2_8 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRRAS_5_u_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C (!B A)+C !B))")) + ) + (instance un1_nRCAS_6_sqmuxa_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+A))+D (!C (!B+A)))")) + ) + (instance UFMSDI_en_ss0_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A))")) + ) + (instance nUFMCS15_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance Cmdn8MEGEN_4_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B+A)+C A)+D !B)")) + ) + (instance C1WR_0_a2_0_10 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance UFMCLK_r_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C B)+D A)")) + ) + (instance PHI2r3_RNITCN41 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !B+D (!C (!B+A)+C !B))")) + ) + (instance IS_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance nRCAS_0_sqmuxa_1_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRowColSel_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C B+C (B+A))+D (!C B+C (B+!A)))")) + ) + (instance Ready_0_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance XOR8MEG_3_u_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance nRRAS_5_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B !A)+C !A))")) + ) + (instance (rename IS_RNO_2 "IS_RNO[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (!B+!A))")) + ) + (instance un1_FS_14_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance UFMSDI_ens2_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C (!B A))")) + ) + (instance XOR8MEG_3_u_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance ADSubmitted_r (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B A)))")) + ) + (instance LED_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(!B+A))")) + ) + (instance InitReady3_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance UFMSDI_ens2_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+A))")) + ) + (instance Cmdn8MEGEN_4_u_i_a2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B !A))")) + ) + (instance CmdLEDEN_4_u_i_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A))")) + ) + (instance UFMCLK_r_i_a2_2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRowColSel_0_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance CmdEnable16_0_a2_4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)))")) + ) + (instance CmdEnable16_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance CmdEnable17_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A)))")) + ) + (instance RCKE_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C !B)+D (C+(B+A)))")) + ) + (instance (rename S_RNO_0 "S_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+!A)")) + ) + (instance Ready_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C+(!B+!A))")) + ) + (instance un1_nRCAS_6_sqmuxa_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+A))")) + ) + (instance Cmdn8MEGEN_4_u_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+!A))")) + ) + (instance RA11_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A+B !A)+C B)")) + ) + (instance nCCAS_pad_RNI01SJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance InitReady3_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance un1_FS_13_i_a2_6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance un1_Din_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance UFMSDI_ens2_i_o2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(C+(B+A)))")) + ) + (instance C1WR_0_a2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A))")) + ) + (instance C1WR_0_a2_0_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance C1WR_0_a2_0_11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance Ready_0_sqmuxa_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance UFMSDI_ens2_i_a2_4_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance un1_FS_13_i_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance un1_FS_14_i_a2_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance n8MEGEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B+A)+C (B A))")) + ) + (instance LEDEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B+A)+C (B A))")) + ) + (instance (rename un9_RA_8 "un9_RA[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_0 "un9_RA[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_1 "un9_RA[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_2 "un9_RA[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_3 "un9_RA[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_4 "un9_RA[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_5 "un9_RA[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_6 "un9_RA[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_7 "un9_RA[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_9 "un9_RA[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance InitReady3_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename S_0_i_o2_1 "S_0_i_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance IS_n1_0_x2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A+B !A)")) + ) + (instance CmdEnable16_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance CmdEnable16_0_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance CmdEnable17_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance RDQMH (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+A)")) + ) + (instance RDQML (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance RCKEEN_8_u_0_a2_1_s (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance RCKEEN_8_u_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C+B)+D (C (!B+!A)))")) + ) + (instance RCKEEN_8_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) + ) + (instance nRCS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !B+D (!C (!B A)+C !B))")) + ) + (instance nRWE_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+!A))+D (C+(B !A)))")) + ) + (instance nRWE_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance nRWE_RNO_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance nRWE_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (!B A))")) + ) + (instance nRCAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C !B)+D (!B A))")) + ) + (instance nRCAS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A))+D (!C (!B !A)+C (B !A)))")) + ) + (instance nRCAS_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance UFMSDI_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A)+C !B)")) + ) + (instance UFMSDI_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B !A))+D (!C (!B A)+C !B))")) + ) + (instance UFMCLK_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C !B)+D (C (!B !A)))")) + ) + (instance nUFMCS_s_0_N_5_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(B+A))+D (!C B+C (B+!A)))")) + ) + (instance nUFMCS_s_0_N_5_i_N_2L1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B+A))")) + ) + (instance IS_0_sqmuxa_0_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(C+(!B+!A)))")) + ) + (instance CmdEnable17_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (B !A)))")) + ) + (instance CmdSubmitted_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!B A)+D (!C (!B A)))")) + ) + (instance CmdLEDEN_4_u_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!B A)+D (!C (!B A)+C !B))")) + ) + (instance CmdUFMCLK_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A)))")) + ) + (instance nRRAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)+C !A)+D (C !A))")) + ) + (instance IS_0_sqmuxa_0_o2_0_RNIS63D (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B !A)")) + ) + (instance (rename IS_RNO_0 "IS_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A+B A)+C A)")) + ) + (instance un1_CMDWR (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C A)")) + ) + (instance UFMCLK_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+!A))+D (C+(!B A)))")) + ) + (instance (rename FS_cry_0_16 "FS_cry_0[16]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x5002")) + ) + (instance (rename FS_cry_0_14 "FS_cry_0[14]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_12 "FS_cry_0[12]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_10 "FS_cry_0[10]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_8 "FS_cry_0[8]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_6 "FS_cry_0[6]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_4 "FS_cry_0[4]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_2 "FS_cry_0[2]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_0 "FS_cry_0[0]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (net C1WR_0_a2 (joined + (portRef Z (instanceRef C1WR_0_a2)) + (portRef B (instanceRef ADSubmitted_r)) + )) + (net CBR (joined + (portRef Q (instanceRef CBR)) + (portRef A (instanceRef nRWE_RNO_0)) + (portRef A (instanceRef nRCS_RNO)) + (portRef A (instanceRef RCKEEN_8_u)) + (portRef B (instanceRef nRowColSel_0_0_a3_0)) + (portRef A (instanceRef LED_pad_RNO)) + )) + (net C1Submitted (joined + (portRef Q (instanceRef C1Submitted)) + (portRef D (instanceRef CmdEnable_s_am)) + (portRef B (instanceRef C1Submitted_RNO)) + )) + (net (rename Bank_2 "Bank[2]") (joined + (portRef Q (instanceRef Bank_2)) + (portRef A (instanceRef C1WR_0_a2_0_11)) + )) + (net Ready (joined + (portRef Q (instanceRef Ready)) + (portRef B (instanceRef IS_RNO_0)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef C (instanceRef nRWE_RNO_2)) + (portRef D (instanceRef RCKEEN_8_u)) + (portRef A (instanceRef RCKEEN_8_u_0_a2_1_s)) + (portRef D (instanceRef nRowColSel_0_0_a3_0)) + (portRef D (instanceRef nRRAS_5_u_i_0)) + (portRef C (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef C (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2)) + (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef C0 (instanceRef nRWE_RNO_1)) + (portRef A (instanceRef Ready_RNO)) + (portRef A (instanceRef RCKEEN_8_u_RNO)) + (portRef A (instanceRef nRowColSel_RNO)) + )) + (net n8MEGEN (joined + (portRef Q (instanceRef n8MEGEN)) + (portRef C (instanceRef RA11_2)) + (portRef C (instanceRef Cmdn8MEGEN_RNO)) + )) + (net CO0 (joined + (portRef Q (instanceRef S_0)) + (portRef D (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef B (instanceRef nRCAS_RNO_0)) + (portRef B (instanceRef nRWE_RNO_0)) + (portRef B (instanceRef RCKEEN_8_u_1_0)) + (portRef A (instanceRef S_0_i_o2_1)) + (portRef A (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef A (instanceRef S_RNO_0)) + (portRef A (instanceRef nRowColSel_0_0)) + (portRef B (instanceRef nRWE_RNO_4)) + (portRef B (instanceRef nRWE_RNO_3)) + (portRef C (instanceRef nRowColSel_RNO)) + (portRef B (instanceRef nRCS_RNO_0)) + )) + (net (rename S_1 "S[1]") (joined + (portRef Q (instanceRef S_1)) + (portRef C (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef nRCAS_RNO)) + (portRef C (instanceRef nRWE_RNO_0)) + (portRef D (instanceRef RCKEEN_8_u_1_0)) + (portRef B (instanceRef RCKEEN_8_u_0_a2_1_s)) + (portRef B (instanceRef S_0_i_o2_1)) + (portRef D (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef S_RNO_0)) + (portRef D (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef A (instanceRef nRWE_RNO_4)) + (portRef A (instanceRef nRWE_RNO_3)) + (portRef B (instanceRef nRowColSel_RNO)) + )) + (net RASr2 (joined + (portRef Q (instanceRef RASr2)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef D (instanceRef nRWE_RNO_5)) + (portRef C (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef RCKE_2_0)) + (portRef B (instanceRef nRRAS_5_u_i_0)) + (portRef C (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef D (instanceRef RASr3)) + (portRef D (instanceRef nRWE_RNO_3)) + (portRef B (instanceRef RCKEEN_8_u_RNO)) + (portRef A (instanceRef RASr2_RNIAFR1)) + )) + (net InitReady (joined + (portRef Q (instanceRef InitReady)) + (portRef A (instanceRef UFMCLK_RNO_0)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef B (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + (portRef B (instanceRef LEDEN_5_i_m2)) + (portRef B (instanceRef n8MEGEN_5_i_m2)) + (portRef B (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef B (instanceRef un1_FS_14_i_a2)) + (portRef A (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef B (instanceRef PHI2r3_RNITCN41)) + (portRef C (instanceRef nUFMCS15_0_a2)) + (portRef B (instanceRef UFMSDI_en_ss0_0_a2_0)) + (portRef A (instanceRef UFMSDI_ens2_i_a0)) + (portRef B (instanceRef InitReady_RNO)) + (portRef D (instanceRef nRWE_RNO_4)) + (portRef D (instanceRef Ready_RNO)) + (portRef C (instanceRef RCKEEN_8_u_RNO)) + )) + (net FWEr (joined + (portRef Q (instanceRef FWEr)) + (portRef C (instanceRef nRCAS_RNO_0)) + (portRef A (instanceRef nRWE_RNO)) + (portRef C (instanceRef nRowColSel_0_0_a3_0)) + )) + (net CASr3 (joined + (portRef Q (instanceRef CASr3)) + (portRef B (instanceRef nRCAS_RNO_1)) + (portRef B (instanceRef nRWE_RNO_2)) + (portRef A (instanceRef nRowColSel_0_0_a3_0)) + (portRef C (instanceRef nRCS_RNO_0)) + )) + (net (rename IS_0 "IS[0]") (joined + (portRef Q (instanceRef IS_0)) + (portRef A (instanceRef IS_RNO_0)) + (portRef D (instanceRef nRRAS_RNO)) + (portRef A (instanceRef nRWE_RNO_5)) + (portRef A (instanceRef IS_n1_0_x2)) + (portRef A (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef A (instanceRef IS_RNO_2)) + (portRef A (instanceRef nRRAS_5_u_i)) + (portRef D (instanceRef IS_RNO_3)) + (portRef A (instanceRef IS_i_0)) + )) + (net (rename IS_3 "IS[3]") (joined + (portRef Q (instanceRef IS_3)) + (portRef B (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef C (instanceRef RA10_RNO)) + (portRef A (instanceRef IS_RNO_3)) + )) + (net (rename IS_1 "IS[1]") (joined + (portRef Q (instanceRef IS_1)) + (portRef B (instanceRef nRWE_RNO_5)) + (portRef B (instanceRef IS_n1_0_x2)) + (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef B (instanceRef IS_RNO_2)) + (portRef A (instanceRef RA10_RNO)) + (portRef C (instanceRef IS_RNO_3)) + )) + (net (rename IS_2 "IS[2]") (joined + (portRef Q (instanceRef IS_2)) + (portRef C (instanceRef nRWE_RNO_5)) + (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef C (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef C (instanceRef IS_RNO_2)) + (portRef B (instanceRef RA10_RNO)) + (portRef B (instanceRef IS_RNO_3)) + )) + (net (rename FS_5 "FS[5]") (joined + (portRef Q (instanceRef FS_5)) + (portRef A1 (instanceRef FS_cry_0_4)) + (portRef D (instanceRef un1_FS_14_i_a2_0_1)) + (portRef D (instanceRef un1_FS_13_i_a2_1)) + (portRef A (instanceRef UFMSDI_ens2_i_o2)) + )) + (net (rename FS_6 "FS[6]") (joined + (portRef Q (instanceRef FS_6)) + (portRef A0 (instanceRef FS_cry_0_6)) + (portRef A (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef B (instanceRef un1_FS_13_i_a2_6)) + )) + (net (rename FS_7 "FS[7]") (joined + (portRef Q (instanceRef FS_7)) + (portRef A1 (instanceRef FS_cry_0_6)) + (portRef C (instanceRef un1_FS_13_i_a2_6)) + (portRef B (instanceRef UFMSDI_ens2_i_o2)) + )) + (net (rename FS_8 "FS[8]") (joined + (portRef Q (instanceRef FS_8)) + (portRef A0 (instanceRef FS_cry_0_8)) + (portRef B (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef A (instanceRef UFMSDI_en_ss0_0_a2_0)) + )) + (net (rename FS_9 "FS[9]") (joined + (portRef Q (instanceRef FS_9)) + (portRef A1 (instanceRef FS_cry_0_8)) + (portRef C (instanceRef UFMSDI_ens2_i_o2)) + (portRef B (instanceRef un1_FS_13_i_a2_8)) + )) + (net (rename FS_0 "FS[0]") (joined + (portRef Q (instanceRef FS_0)) + (portRef A0 (instanceRef FS_cry_0_0)) + (portRef A (instanceRef un1_FS_14_i_a2_0_1)) + (portRef A (instanceRef un1_FS_13_i_a2_1)) + )) + (net (rename FS_1 "FS[1]") (joined + (portRef Q (instanceRef FS_1)) + (portRef A1 (instanceRef FS_cry_0_0)) + (portRef A (instanceRef un1_FS_13_i_a2_6)) + (portRef A (instanceRef UFMCLK_r_i_m2)) + )) + (net (rename FS_2 "FS[2]") (joined + (portRef Q (instanceRef FS_2)) + (portRef A0 (instanceRef FS_cry_0_2)) + (portRef B (instanceRef un1_FS_14_i_a2_0_1)) + (portRef B (instanceRef un1_FS_13_i_a2_1)) + )) + (net (rename FS_3 "FS[3]") (joined + (portRef Q (instanceRef FS_3)) + (portRef A1 (instanceRef FS_cry_0_2)) + (portRef C (instanceRef un1_FS_14_i_a2_0_1)) + (portRef C (instanceRef un1_FS_13_i_a2_1)) + )) + (net (rename FS_10 "FS[10]") (joined + (portRef Q (instanceRef FS_10)) + (portRef A0 (instanceRef FS_cry_0_10)) + (portRef C (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef D (instanceRef un1_FS_13_i_a2_6)) + (portRef A (instanceRef InitReady3_0_a2)) + (portRef A (instanceRef nUFMCS15_0_a2)) + )) + (net (rename FS_11 "FS[11]") (joined + (portRef Q (instanceRef FS_11)) + (portRef A1 (instanceRef FS_cry_0_10)) + (portRef A (instanceRef InitReady3_0_a2_3)) + (portRef D (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef C (instanceRef UFMCLK_r_i_m2)) + (portRef B (instanceRef nUFMCS15_0_a2)) + (portRef C (instanceRef un1_FS_13_i_a2_8)) + )) + (net (rename FS_12 "FS[12]") (joined + (portRef Q (instanceRef FS_12)) + (portRef A0 (instanceRef FS_cry_0_12)) + (portRef A (instanceRef InitReady3_0_a2_5)) + (portRef A (instanceRef UFMSDI_ens2_i_o2_0)) + )) + (net (rename FS_13 "FS[13]") (joined + (portRef Q (instanceRef FS_13)) + (portRef A1 (instanceRef FS_cry_0_12)) + (portRef A (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef B (instanceRef InitReady3_0_a2_5)) + )) + (net (rename FS_14 "FS[14]") (joined + (portRef Q (instanceRef FS_14)) + (portRef A0 (instanceRef FS_cry_0_14)) + (portRef B (instanceRef InitReady3_0_a2_3)) + (portRef B (instanceRef UFMSDI_ens2_i_o2_0_3)) + )) + (net (rename FS_15 "FS[15]") (joined + (portRef Q (instanceRef FS_15)) + (portRef A1 (instanceRef FS_cry_0_14)) + (portRef C (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef C (instanceRef InitReady3_0_a2_5)) + )) + (net (rename FS_16 "FS[16]") (joined + (portRef Q (instanceRef FS_16)) + (portRef A0 (instanceRef FS_cry_0_16)) + (portRef A (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef B (instanceRef UFMSDI_ens2_i_o2_0)) + (portRef B (instanceRef InitReady3_0_a2)) + )) + (net (rename FS_17 "FS[17]") (joined + (portRef Q (instanceRef FS_17)) + (portRef A1 (instanceRef FS_cry_0_16)) + (portRef D (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef D (instanceRef InitReady3_0_a2_5)) + )) + (net PHI2r2 (joined + (portRef Q (instanceRef PHI2r2)) + (portRef C (instanceRef un1_FS_14_i_a2)) + (portRef C (instanceRef PHI2r3_RNITCN41)) + (portRef D (instanceRef PHI2r3)) + )) + (net CmdUFMCS (joined + (portRef Q (instanceRef CmdUFMCS)) + (portRef A (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + )) + (net CASr2 (joined + (portRef Q (instanceRef CASr2)) + (portRef A (instanceRef nRCAS_RNO_1)) + (portRef A (instanceRef nRWE_RNO_2)) + (portRef A (instanceRef RCKEEN_8_u_1_0)) + (portRef D (instanceRef CASr3)) + (portRef D (instanceRef nRCS_RNO_0)) + )) + (net CASr (joined + (portRef Q (instanceRef CASr)) + (portRef D (instanceRef CASr2)) + )) + (net PHI2r (joined + (portRef Q (instanceRef PHI2r)) + (portRef D (instanceRef PHI2r2)) + )) + (net RASr (joined + (portRef Q (instanceRef RASr)) + (portRef A (instanceRef RCKE_2_0)) + (portRef D (instanceRef RASr2)) + )) + (net (rename Bank_0 "Bank[0]") (joined + (portRef Q (instanceRef Bank_0)) + (portRef A (instanceRef C1WR_0_a2_0)) + )) + (net (rename Bank_1 "Bank[1]") (joined + (portRef Q (instanceRef Bank_1)) + (portRef B (instanceRef C1WR_0_a2_0)) + )) + (net (rename Bank_3 "Bank[3]") (joined + (portRef Q (instanceRef Bank_3)) + (portRef A (instanceRef C1WR_0_a2_0_10)) + )) + (net (rename Bank_4 "Bank[4]") (joined + (portRef Q (instanceRef Bank_4)) + (portRef B (instanceRef C1WR_0_a2_0_10)) + )) + (net (rename Bank_5 "Bank[5]") (joined + (portRef Q (instanceRef Bank_5)) + (portRef B (instanceRef C1WR_0_a2_0_11)) + )) + (net (rename Bank_6 "Bank[6]") (joined + (portRef Q (instanceRef Bank_6)) + (portRef C (instanceRef C1WR_0_a2_0_11)) + )) + (net (rename Bank_7 "Bank[7]") (joined + (portRef Q (instanceRef Bank_7)) + (portRef D (instanceRef C1WR_0_a2_0_11)) + )) + (net (rename RowA_0 "RowA[0]") (joined + (portRef Q (instanceRef RowA_0)) + (portRef B (instanceRef un9_RA_0)) + )) + (net (rename RowA_1 "RowA[1]") (joined + (portRef Q (instanceRef RowA_1)) + (portRef B (instanceRef un9_RA_1)) + )) + (net (rename RowA_2 "RowA[2]") (joined + (portRef Q (instanceRef RowA_2)) + (portRef B (instanceRef un9_RA_2)) + )) + (net (rename RowA_3 "RowA[3]") (joined + (portRef Q (instanceRef RowA_3)) + (portRef B (instanceRef un9_RA_3)) + )) + (net (rename RowA_4 "RowA[4]") (joined + (portRef Q (instanceRef RowA_4)) + (portRef B (instanceRef un9_RA_4)) + )) + (net (rename RowA_5 "RowA[5]") (joined + (portRef Q (instanceRef RowA_5)) + (portRef B (instanceRef un9_RA_5)) + )) + (net (rename RowA_6 "RowA[6]") (joined + (portRef Q (instanceRef RowA_6)) + (portRef B (instanceRef un9_RA_6)) + )) + (net (rename RowA_7 "RowA[7]") (joined + (portRef Q (instanceRef RowA_7)) + (portRef B (instanceRef un9_RA_7)) + )) + (net (rename RowA_8 "RowA[8]") (joined + (portRef Q (instanceRef RowA_8)) + (portRef B (instanceRef un9_RA_8)) + )) + (net (rename RowA_9 "RowA[9]") (joined + (portRef Q (instanceRef RowA_9)) + (portRef B (instanceRef un9_RA_9)) + )) + (net (rename WRD_0 "WRD[0]") (joined + (portRef Q (instanceRef WRD_0)) + (portRef I (instanceRef RD_pad_0)) + )) + (net (rename WRD_1 "WRD[1]") (joined + (portRef Q (instanceRef WRD_1)) + (portRef I (instanceRef RD_pad_1)) + )) + (net (rename WRD_2 "WRD[2]") (joined + (portRef Q (instanceRef WRD_2)) + (portRef I (instanceRef RD_pad_2)) + )) + (net (rename WRD_3 "WRD[3]") (joined + (portRef Q (instanceRef WRD_3)) + (portRef I (instanceRef RD_pad_3)) + )) + (net (rename WRD_4 "WRD[4]") (joined + (portRef Q (instanceRef WRD_4)) + (portRef I (instanceRef RD_pad_4)) + )) + (net (rename WRD_5 "WRD[5]") (joined + (portRef Q (instanceRef WRD_5)) + (portRef I (instanceRef RD_pad_5)) + )) + (net (rename WRD_6 "WRD[6]") (joined + (portRef Q (instanceRef WRD_6)) + (portRef I (instanceRef RD_pad_6)) + )) + (net (rename WRD_7 "WRD[7]") (joined + (portRef Q (instanceRef WRD_7)) + (portRef I (instanceRef RD_pad_7)) + )) + (net nRowColSel (joined + (portRef Q (instanceRef nRowColSel)) + (portRef B (instanceRef RDQML)) + (portRef B (instanceRef RDQMH)) + (portRef C (instanceRef un9_RA_9)) + (portRef C (instanceRef un9_RA_7)) + (portRef C (instanceRef un9_RA_6)) + (portRef C (instanceRef un9_RA_5)) + (portRef C (instanceRef un9_RA_4)) + (portRef C (instanceRef un9_RA_3)) + (portRef C (instanceRef un9_RA_2)) + (portRef C (instanceRef un9_RA_1)) + (portRef C (instanceRef un9_RA_0)) + (portRef C (instanceRef un9_RA_8)) + )) + (net RASr3 (joined + (portRef Q (instanceRef RASr3)) + (portRef C (instanceRef RCKE_2_0)) + )) + (net LEDEN (joined + (portRef Q (instanceRef LEDEN)) + (portRef B (instanceRef LED_pad_RNO)) + (portRef B (instanceRef XOR8MEG_3_u_0_a3_3)) + (portRef A (instanceRef CmdLEDEN_RNO)) + )) + (net CmdLEDEN (joined + (portRef Q (instanceRef CmdLEDEN)) + (portRef B (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef A (instanceRef LEDEN_5_i_m2)) + )) + (net Cmdn8MEGEN (joined + (portRef Q (instanceRef Cmdn8MEGEN)) + (portRef A (instanceRef n8MEGEN_5_i_m2)) + (portRef B (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net PHI2r3 (joined + (portRef Q (instanceRef PHI2r3)) + (portRef D (instanceRef un1_FS_14_i_a2)) + (portRef D (instanceRef PHI2r3_RNITCN41)) + )) + (net CmdSubmitted (joined + (portRef Q (instanceRef CmdSubmitted)) + (portRef A (instanceRef un1_FS_14_i_a2)) + (portRef A (instanceRef PHI2r3_RNITCN41)) + (portRef B (instanceRef CmdSubmitted_RNO)) + )) + (net (rename FS_4 "FS[4]") (joined + (portRef Q (instanceRef FS_4)) + (portRef A0 (instanceRef FS_cry_0_4)) + (portRef B (instanceRef UFMCLK_r_i_m2)) + (portRef A (instanceRef un1_FS_13_i_a2_8)) + )) + (net InitReady3 (joined + (portRef Z (instanceRef InitReady3_0_a2)) + (portRef A (instanceRef InitReady_RNO)) + )) + (net RCKEEN (joined + (portRef Q (instanceRef RCKEEN)) + (portRef D (instanceRef RCKE_2_0)) + )) + (net RA11_2 (joined + (portRef Z (instanceRef RA11_2)) + (portRef D (instanceRef RA11)) + )) + (net XOR8MEG (joined + (portRef Q (instanceRef XOR8MEG)) + (portRef B (instanceRef RA11_2)) + (portRef A (instanceRef XOR8MEG_3_u_0_a3_0)) + )) + (net nRRAS_0_sqmuxa (joined + (portRef Z (instanceRef nRowColSel_RNO)) + (portRef CD (instanceRef nRowColSel)) + )) + (net nUFMCS15 (joined + (portRef Z (instanceRef nUFMCS15_0_a2)) + (portRef B (instanceRef nUFMCS_s_0_N_5_i)) + (portRef B (instanceRef UFMCLK_RNO)) + (portRef B (instanceRef UFMSDI_RNO)) + )) + (net Ready_0_sqmuxa (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef A (instanceRef Ready_fast_RNO)) + )) + (net RCKE_2 (joined + (portRef Z (instanceRef RCKE_2_0)) + (portRef D (instanceRef RCKE)) + )) + (net nRCAS_0_sqmuxa_1 (joined + (portRef Z (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef B (instanceRef nRCAS_RNO)) + (portRef C (instanceRef nRWE_RNO)) + )) + (net XOR8MEG18 (joined + (portRef Z (instanceRef XOR8MEG18_0_a2)) + (portRef A (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef SP (instanceRef CmdLEDEN)) + (portRef SP (instanceRef Cmdn8MEGEN)) + (portRef SP (instanceRef XOR8MEG)) + )) + (net CmdEnable (joined + (portRef Q (instanceRef CmdEnable)) + (portRef A (instanceRef XOR8MEG18_0_a2)) + (portRef B (instanceRef CmdEnable_s_am)) + (portRef A (instanceRef CmdEnable_s_bm)) + )) + (net CmdEnable16 (joined + (portRef Z (instanceRef CmdEnable16_0_a2)) + (portRef D (instanceRef ADSubmitted_r)) + (portRef C0 (instanceRef CmdEnable_s)) + (portRef A (instanceRef C1Submitted_RNO)) + )) + (net CmdEnable17 (joined + (portRef Z (instanceRef CmdEnable17_0_a2)) + (portRef C (instanceRef ADSubmitted_r)) + (portRef A (instanceRef CmdEnable_s_am)) + )) + (net CmdSubmitted_1_sqmuxa (joined + (portRef Z (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdSubmitted_RNO)) + )) + (net CmdUFMCLK_1_sqmuxa (joined + (portRef Z (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef SP (instanceRef CmdUFMCLK)) + (portRef SP (instanceRef CmdUFMCS)) + (portRef SP (instanceRef CmdUFMSDI)) + )) + (net CmdUFMCLK (joined + (portRef Q (instanceRef CmdUFMCLK)) + (portRef B (instanceRef UFMCLK_RNO_0)) + )) + (net CmdUFMSDI (joined + (portRef Q (instanceRef CmdUFMSDI)) + (portRef A (instanceRef UFMSDI_RNO_0)) + )) + (net ADSubmitted (joined + (portRef Q (instanceRef ADSubmitted)) + (portRef A (instanceRef ADSubmitted_r)) + (portRef B (instanceRef CmdEnable_s_bm)) + )) + (net C1Submitted_RNO (joined + (portRef Z (instanceRef C1Submitted_RNO)) + (portRef D (instanceRef C1Submitted)) + )) + (net ADSubmitted_r (joined + (portRef Z (instanceRef ADSubmitted_r)) + (portRef D (instanceRef ADSubmitted)) + )) + (net UFMSDI_RNO (joined + (portRef Z (instanceRef UFMSDI_RNO)) + (portRef D (instanceRef UFMSDI)) + )) + (net CmdEnable_s (joined + (portRef Z (instanceRef CmdEnable_s)) + (portRef D (instanceRef CmdEnable)) + )) + (net nRowColSel_0_0 (joined + (portRef Z (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef nRowColSel)) + )) + (net RCKEEN_8 (joined + (portRef Z (instanceRef RCKEEN_8_u)) + (portRef D (instanceRef RCKEEN)) + )) + (net N_31 (joined + (portRef Z (instanceRef un1_FS_14_i_0)) + (portRef SP (instanceRef n8MEGEN)) + )) + (net N_33 (joined + (portRef Z (instanceRef un1_FS_13_i_0)) + (portRef SP (instanceRef LEDEN)) + )) + (net N_24 (joined + (portRef Z (instanceRef nRRAS_5_u_i)) + (portRef B (instanceRef nRCS_RNO)) + )) + (net N_41 (joined + (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef A (instanceRef nRCAS_RNO)) + )) + (net (rename S_0_i_o2_1 "S_0_i_o2[1]") (joined + (portRef Z (instanceRef S_0_i_o2_1)) + (portRef A (instanceRef nRRAS_5_u_i_0)) + (portRef B (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef D (instanceRef S_1)) + (portRef D (instanceRef RCKEEN_8_u_RNO)) + )) + (net N_159 (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2)) + (portRef D (instanceRef RA10_RNO)) + )) + (net N_165 (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef C (instanceRef Ready_RNO)) + )) + (net N_95_5 (joined + (portRef Z (instanceRef InitReady3_0_a2_5)) + (portRef D (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef D (instanceRef InitReady3_0_a2)) + )) + (net N_95_3 (joined + (portRef Z (instanceRef InitReady3_0_a2_3)) + (portRef C (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef C (instanceRef InitReady3_0_a2)) + )) + (net N_51 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_o2_0)) + (portRef D (instanceRef UFMCLK_r_i_m2)) + (portRef D (instanceRef nUFMCS15_0_a2)) + (portRef C (instanceRef UFMSDI_en_ss0_0_a2_0)) + (portRef B (instanceRef UFMSDI_ens2_i_a0)) + )) + (net N_126 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_o2)) + (portRef C (instanceRef UFMSDI_ens2_i_a0)) + )) + (net N_151 (joined + (portRef Z (instanceRef UFMSDI_en_ss0_0_a2_0)) + (portRef C (instanceRef UFMSDI_RNO_0)) + (portRef D (instanceRef un1_FS_13_i_a2_8)) + )) + (net N_137_8 (joined + (portRef Z (instanceRef un1_FS_13_i_a2_8)) + (portRef C (instanceRef un1_FS_13_i_0)) + (portRef C (instanceRef un1_FS_14_i_0)) + )) + (net N_129 (joined + (portRef Z (instanceRef UFMCLK_r_i_m2)) + (portRef D (instanceRef UFMCLK_RNO_0)) + )) + (net N_155 (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef IS_RNO_0)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef C (instanceRef nRRAS_RNO)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2)) + (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef B (instanceRef nRRAS_5_u_i)) + )) + (net N_56_i (joined + (portRef Z (instanceRef IS_n1_0_x2)) + (portRef D (instanceRef IS_1)) + )) + (net N_160 (joined + (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef nRRAS_RNO)) + (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef C (instanceRef nRRAS_5_u_i)) + )) + (net N_136 (joined + (portRef Z (instanceRef un1_FS_14_i_a2)) + (portRef A (instanceRef un1_FS_13_i_0)) + (portRef A (instanceRef un1_FS_14_i_0)) + )) + (net N_69 (joined + (portRef Z (instanceRef n8MEGEN_5_i_m2)) + (portRef D (instanceRef n8MEGEN)) + )) + (net N_70 (joined + (portRef Z (instanceRef LEDEN_5_i_m2)) + (portRef D (instanceRef LEDEN)) + )) + (net N_137_6 (joined + (portRef Z (instanceRef un1_FS_13_i_a2_6)) + (portRef B (instanceRef un1_FS_13_i_0)) + (portRef B (instanceRef un1_FS_14_i_0)) + )) + (net XOR8MEG_3 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_a3_3)) + (portRef D (instanceRef XOR8MEG)) + )) + (net CmdEnable16_1 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_1)) + (portRef A (instanceRef CmdEnable16_0_a2_5)) + )) + (net N_43 (joined + (portRef Z (instanceRef CmdEnable17_0_o2)) + (portRef D (instanceRef CmdEnable17_0_a2_4)) + (portRef C (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net N_147 (joined + (portRef Z (instanceRef C1WR_0_a2_0)) + (portRef A (instanceRef un1_CMDWR)) + (portRef C (instanceRef CmdEnable16_0_a2)) + (portRef B (instanceRef C1WR_0_a2)) + (portRef D (instanceRef XOR8MEG18_0_a2)) + (portRef D (instanceRef CmdEnable17_0_a2)) + (portRef C (instanceRef C1Submitted_RNO)) + )) + (net CmdEnable16_4 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_4)) + (portRef A (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net un1_Din_4 (joined + (portRef Z (instanceRef un1_Din_4)) + (portRef B (instanceRef XOR8MEG_3_u_0_a3_0)) + (portRef D (instanceRef XOR8MEG_3_u_0_a3_2)) + )) + (net N_171 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_a3_0)) + (portRef C (instanceRef XOR8MEG_3_u_0_a3_3)) + )) + (net N_128 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef B (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef B (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef C (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef C (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef D (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net N_152 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef D (instanceRef CmdLEDEN_RNO)) + (portRef B (instanceRef Cmdn8MEGEN_RNO)) + )) + (net N_132 (joined + (portRef Z (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef B (instanceRef CmdLEDEN_RNO)) + )) + (net N_133 (joined + (portRef Z (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef C (instanceRef CmdLEDEN_RNO)) + )) + (net un1_CMDWR (joined + (portRef Z (instanceRef un1_CMDWR)) + (portRef C (instanceRef CmdEnable_s_am)) + )) + (net N_179 (joined + (portRef Z (instanceRef nRowColSel_0_0_a3_0)) + (portRef B (instanceRef nRowColSel_0_0)) + )) + (net XOR8MEG_3_u_0_a3_2 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef XOR8MEG_3_u_0_a3_3)) + )) + (net UFMCLK_r_i_a2_2_2 (joined + (portRef Z (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef C (instanceRef UFMCLK_RNO_0)) + (portRef C (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + )) + (net UFMCLK_RNO (joined + (portRef Z (instanceRef UFMCLK_RNO)) + (portRef D (instanceRef UFMCLK)) + )) + (net UFMSDI_ens2_i_a0 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_a0)) + (portRef B (instanceRef UFMSDI_RNO_0)) + )) + (net RCKEEN_8_u_0_0 (joined + (portRef Z (instanceRef RCKEEN_8_u_RNO)) + (portRef B (instanceRef RCKEEN_8_u)) + )) + (net RCKEEN_8_u_0_a2_1_out (joined + (portRef Z (instanceRef RCKEEN_8_u_0_a2_1_s)) + (portRef D (instanceRef nRCS_RNO)) + )) + (net nCRAS_c_i (joined + (portRef Z (instanceRef nCRAS_pad_RNIBPVB)) + (portRef CK (instanceRef CBR)) + (portRef CK (instanceRef CBR_fast)) + (portRef CK (instanceRef FWEr)) + (portRef CK (instanceRef FWEr_fast)) + (portRef CK (instanceRef RBA_1)) + (portRef CK (instanceRef RBA_0)) + (portRef CK (instanceRef RowA_9)) + (portRef CK (instanceRef RowA_8)) + (portRef CK (instanceRef RowA_7)) + (portRef CK (instanceRef RowA_6)) + (portRef CK (instanceRef RowA_5)) + (portRef CK (instanceRef RowA_4)) + (portRef CK (instanceRef RowA_3)) + (portRef CK (instanceRef RowA_2)) + (portRef CK (instanceRef RowA_1)) + (portRef CK (instanceRef RowA_0)) + )) + (net N_159_i (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef SP (instanceRef IS_3)) + (portRef SP (instanceRef IS_2)) + (portRef SP (instanceRef IS_1)) + )) + (net RD_1_i (joined + (portRef Z (instanceRef nCCAS_pad_RNI01SJ)) + (portRef T (instanceRef RD_pad_0)) + (portRef T (instanceRef RD_pad_1)) + (portRef T (instanceRef RD_pad_2)) + (portRef T (instanceRef RD_pad_3)) + (portRef T (instanceRef RD_pad_4)) + (portRef T (instanceRef RD_pad_5)) + (portRef T (instanceRef RD_pad_6)) + (portRef T (instanceRef RD_pad_7)) + )) + (net N_28_i (joined + (portRef Z (instanceRef nRCS_RNO)) + (portRef D (instanceRef nRCS)) + )) + (net N_37_i (joined + (portRef Z (instanceRef nRCAS_RNO)) + (portRef D (instanceRef nRCAS)) + )) + (net N_24_i (joined + (portRef Z (instanceRef nRRAS_RNO)) + (portRef D (instanceRef nRRAS)) + )) + (net nUFMCS_s_0_N_5_i (joined + (portRef Z (instanceRef nUFMCS_s_0_N_5_i)) + (portRef D (instanceRef nUFMCS)) + )) + (net N_39_i (joined + (portRef Z (instanceRef nRWE_RNO)) + (portRef D (instanceRef nRWE)) + )) + (net N_64_i_i (joined + (portRef Z (instanceRef IS_RNO_0)) + (portRef D (instanceRef IS_0)) + )) + (net N_61_i_i (joined + (portRef Z (instanceRef IS_RNO_3)) + (portRef D (instanceRef IS_3)) + )) + (net N_60_i_i (joined + (portRef Z (instanceRef IS_RNO_2)) + (portRef D (instanceRef IS_2)) + )) + (net N_177_i (joined + (portRef Z (instanceRef S_RNO_0)) + (portRef D (instanceRef S_0)) + )) + (net N_21_i (joined + (portRef Z (instanceRef CmdLEDEN_RNO)) + (portRef D (instanceRef CmdLEDEN)) + )) + (net N_19_i (joined + (portRef Z (instanceRef Cmdn8MEGEN_RNO)) + (portRef D (instanceRef Cmdn8MEGEN)) + )) + (net N_139_i (joined + (portRef Z (instanceRef PHI2r3_RNITCN41)) + (portRef A (instanceRef nUFMCS_s_0_N_5_i)) + (portRef A (instanceRef UFMCLK_RNO)) + (portRef A (instanceRef UFMSDI_RNO)) + )) + (net (rename FS_cry_0 "FS_cry[0]") (joined + (portRef COUT0 (instanceRef FS_cry_0_0)) + )) + (net (rename FS_s_0 "FS_s[0]") (joined + (portRef S0 (instanceRef FS_cry_0_0)) + (portRef D (instanceRef FS_0)) + )) + (net (rename FS_cry_1 "FS_cry[1]") (joined + (portRef COUT1 (instanceRef FS_cry_0_0)) + (portRef CIN (instanceRef FS_cry_0_2)) + )) + (net (rename FS_s_1 "FS_s[1]") (joined + (portRef S1 (instanceRef FS_cry_0_0)) + (portRef D (instanceRef FS_1)) + )) + (net (rename FS_cry_2 "FS_cry[2]") (joined + (portRef COUT0 (instanceRef FS_cry_0_2)) + )) + (net (rename FS_s_2 "FS_s[2]") (joined + (portRef S0 (instanceRef FS_cry_0_2)) + (portRef D (instanceRef FS_2)) + )) + (net (rename FS_cry_3 "FS_cry[3]") (joined + (portRef COUT1 (instanceRef FS_cry_0_2)) + (portRef CIN (instanceRef FS_cry_0_4)) + )) + (net (rename FS_s_3 "FS_s[3]") (joined + (portRef S1 (instanceRef FS_cry_0_2)) + (portRef D (instanceRef FS_3)) + )) + (net (rename FS_cry_4 "FS_cry[4]") (joined + (portRef COUT0 (instanceRef FS_cry_0_4)) + )) + (net (rename FS_s_4 "FS_s[4]") (joined + (portRef S0 (instanceRef FS_cry_0_4)) + (portRef D (instanceRef FS_4)) + )) + (net (rename FS_cry_5 "FS_cry[5]") (joined + (portRef COUT1 (instanceRef FS_cry_0_4)) + (portRef CIN (instanceRef FS_cry_0_6)) + )) + (net (rename FS_s_5 "FS_s[5]") (joined + (portRef S1 (instanceRef FS_cry_0_4)) + (portRef D (instanceRef FS_5)) + )) + (net (rename FS_cry_6 "FS_cry[6]") (joined + (portRef COUT0 (instanceRef FS_cry_0_6)) + )) + (net (rename FS_s_6 "FS_s[6]") (joined + (portRef S0 (instanceRef FS_cry_0_6)) + (portRef D (instanceRef FS_6)) + )) + (net (rename FS_cry_7 "FS_cry[7]") (joined + (portRef COUT1 (instanceRef FS_cry_0_6)) + (portRef CIN (instanceRef FS_cry_0_8)) + )) + (net (rename FS_s_7 "FS_s[7]") (joined + (portRef S1 (instanceRef FS_cry_0_6)) + (portRef D (instanceRef FS_7)) + )) + (net (rename FS_cry_8 "FS_cry[8]") (joined + (portRef COUT0 (instanceRef FS_cry_0_8)) + )) + (net (rename FS_s_8 "FS_s[8]") (joined + (portRef S0 (instanceRef FS_cry_0_8)) + (portRef D (instanceRef FS_8)) + )) + (net (rename FS_cry_9 "FS_cry[9]") (joined + (portRef COUT1 (instanceRef FS_cry_0_8)) + (portRef CIN (instanceRef FS_cry_0_10)) + )) + (net (rename FS_s_9 "FS_s[9]") (joined + (portRef S1 (instanceRef FS_cry_0_8)) + (portRef D (instanceRef FS_9)) + )) + (net (rename FS_cry_10 "FS_cry[10]") (joined + (portRef COUT0 (instanceRef FS_cry_0_10)) + )) + (net (rename FS_s_10 "FS_s[10]") (joined + (portRef S0 (instanceRef FS_cry_0_10)) + (portRef D (instanceRef FS_10)) + )) + (net (rename FS_cry_11 "FS_cry[11]") (joined + (portRef COUT1 (instanceRef FS_cry_0_10)) + (portRef CIN (instanceRef FS_cry_0_12)) + )) + (net (rename FS_s_11 "FS_s[11]") (joined + (portRef S1 (instanceRef FS_cry_0_10)) + (portRef D (instanceRef FS_11)) + )) + (net (rename FS_cry_12 "FS_cry[12]") (joined + (portRef COUT0 (instanceRef FS_cry_0_12)) + )) + (net (rename FS_s_12 "FS_s[12]") (joined + (portRef S0 (instanceRef FS_cry_0_12)) + (portRef D (instanceRef FS_12)) + )) + (net (rename FS_cry_13 "FS_cry[13]") (joined + (portRef COUT1 (instanceRef FS_cry_0_12)) + (portRef CIN (instanceRef FS_cry_0_14)) + )) + (net (rename FS_s_13 "FS_s[13]") (joined + (portRef S1 (instanceRef FS_cry_0_12)) + (portRef D (instanceRef FS_13)) + )) + (net (rename FS_cry_14 "FS_cry[14]") (joined + (portRef COUT0 (instanceRef FS_cry_0_14)) + )) + (net (rename FS_s_14 "FS_s[14]") (joined + (portRef S0 (instanceRef FS_cry_0_14)) + (portRef D (instanceRef FS_14)) + )) + (net (rename FS_cry_15 "FS_cry[15]") (joined + (portRef COUT1 (instanceRef FS_cry_0_14)) + (portRef CIN (instanceRef FS_cry_0_16)) + )) + (net (rename FS_s_15 "FS_s[15]") (joined + (portRef S1 (instanceRef FS_cry_0_14)) + (portRef D (instanceRef FS_15)) + )) + (net (rename FS_cry_16 "FS_cry[16]") (joined + (portRef COUT0 (instanceRef FS_cry_0_16)) + )) + (net (rename FS_s_16 "FS_s[16]") (joined + (portRef S0 (instanceRef FS_cry_0_16)) + (portRef D (instanceRef FS_16)) + )) + (net (rename FS_s_17 "FS_s[17]") (joined + (portRef S1 (instanceRef FS_cry_0_16)) + (portRef D (instanceRef FS_17)) + )) + (net RA10s_i (joined + (portRef Z (instanceRef RA10_RNO)) + (portRef PD (instanceRef RA10)) + )) + (net Cmdn8MEGEN_4_u_i_0 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_0)) + (portRef A (instanceRef Cmdn8MEGEN_RNO)) + )) + (net UFMSDI_ens2_i_o2_0_3 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef C (instanceRef UFMSDI_ens2_i_o2_0)) + )) + (net C1WR_0_a2_0_3 (joined + (portRef Z (instanceRef C1WR_0_a2_0_3)) + (portRef C (instanceRef C1WR_0_a2_0_10)) + )) + (net C1WR_0_a2_0_4 (joined + (portRef Z (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef C1WR_0_a2_0_10)) + )) + (net C1WR_0_a2_0_10 (joined + (portRef Z (instanceRef C1WR_0_a2_0_10)) + (portRef C (instanceRef C1WR_0_a2_0)) + )) + (net C1WR_0_a2_0_11 (joined + (portRef Z (instanceRef C1WR_0_a2_0_11)) + (portRef D (instanceRef C1WR_0_a2_0)) + )) + (net Ready_0_sqmuxa_0_a3_2 (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef D (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef B (instanceRef Ready_RNO)) + )) + (net UFMSDI_ens2_i_a2_4_2 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef D (instanceRef UFMSDI_ens2_i_a0)) + )) + (net CmdEnable16_0_a2_4 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef CmdEnable16_0_a2)) + )) + (net CmdEnable16_0_a2_5 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_5)) + (portRef B (instanceRef CmdEnable16_0_a2)) + )) + (net nRRAS_5_u_i_0 (joined + (portRef Z (instanceRef nRRAS_5_u_i_0)) + (portRef A (instanceRef nRRAS_RNO)) + (portRef D (instanceRef nRRAS_5_u_i)) + )) + (net CmdEnable17_0_a2_3 (joined + (portRef Z (instanceRef CmdEnable17_0_a2_3)) + (portRef A (instanceRef CmdEnable17_0_a2)) + )) + (net CmdEnable17_0_a2_4 (joined + (portRef Z (instanceRef CmdEnable17_0_a2_4)) + (portRef B (instanceRef CmdEnable17_0_a2)) + )) + (net un1_FS_13_i_a2_1 (joined + (portRef Z (instanceRef un1_FS_13_i_a2_1)) + (portRef D (instanceRef un1_FS_13_i_0)) + )) + (net un1_FS_14_i_a2_0_1 (joined + (portRef Z (instanceRef un1_FS_14_i_a2_0_1)) + (portRef D (instanceRef un1_FS_14_i_0)) + )) + (net (rename FS_cry_0_COUT1_16 "FS_cry_0_COUT1[16]") (joined + (portRef COUT1 (instanceRef FS_cry_0_16)) + )) + (net RCKEEN_8_u_1 (joined + (portRef Z (instanceRef RCKEEN_8_u_1_0)) + (portRef C (instanceRef RCKEEN_8_u)) + )) + (net N_28_i_1 (joined + (portRef Z (instanceRef nRCS_RNO_0)) + (portRef C (instanceRef nRCS_RNO)) + )) + (net m18_0_a3_3 (joined + (portRef Z (instanceRef nRWE_RNO_5)) + (portRef C (instanceRef nRWE_RNO_4)) + )) + (net m18_0_a2_1 (joined + (portRef Z (instanceRef nRWE_RNO_1)) + (portRef D (instanceRef nRWE_RNO)) + )) + (net m6_0_a2_2 (joined + (portRef Z (instanceRef nRWE_RNO_2)) + (portRef D (instanceRef nRWE_RNO_0)) + )) + (net G_17_1 (joined + (portRef Z (instanceRef nRWE_RNO_0)) + (portRef B (instanceRef nRWE_RNO)) + )) + (net g0_1 (joined + (portRef Z (instanceRef nRCAS_RNO_0)) + (portRef D (instanceRef nRCAS_RNO)) + )) + (net g4_0_0_0 (joined + (portRef Z (instanceRef nRCAS_RNO_1)) + (portRef D (instanceRef nRCAS_RNO_0)) + )) + (net CBR_fast (joined + (portRef Q (instanceRef CBR_fast)) + (portRef A (instanceRef nRCAS_RNO_0)) + (portRef A (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + )) + (net FWEr_fast (joined + (portRef Q (instanceRef FWEr_fast)) + (portRef C (instanceRef RCKEEN_8_u_1_0)) + (portRef A (instanceRef nRCS_RNO_0)) + )) + (net Ready_fast (joined + (portRef Q (instanceRef Ready_fast)) + (portRef B (instanceRef Ready_fast_RNO)) + (portRef A (instanceRef Ready_fast_RNI29NA)) + )) + (net UFMSDI_r_xx_mm_1 (joined + (portRef Z (instanceRef UFMSDI_RNO_0)) + (portRef D (instanceRef UFMSDI_RNO)) + )) + (net UFMCLK_r_i_m4_xx_mm_1 (joined + (portRef Z (instanceRef UFMCLK_RNO_0)) + (portRef D (instanceRef UFMCLK_RNO)) + )) + (net nUFMCS_s_0_N_5_i_N_2L1 (joined + (portRef Z (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + (portRef D (instanceRef nUFMCS_s_0_N_5_i)) + )) + (net (rename XOR8MEG_CN "XOR8MEG.CN") (joined + (portRef Z (instanceRef XOR8MEG_CN)) + (portRef CK (instanceRef ADSubmitted)) + (portRef CK (instanceRef C1Submitted)) + (portRef CK (instanceRef CmdEnable)) + (portRef CK (instanceRef CmdLEDEN)) + (portRef CK (instanceRef CmdSubmitted)) + (portRef CK (instanceRef CmdUFMCLK)) + (portRef CK (instanceRef CmdUFMCS)) + (portRef CK (instanceRef CmdUFMSDI)) + (portRef CK (instanceRef Cmdn8MEGEN)) + (portRef CK (instanceRef XOR8MEG)) + )) + (net VCC (joined + (portRef Z (instanceRef VCC)) + (portRef CIN (instanceRef FS_cry_0_0)) + (portRef GSR (instanceRef GSR_INST)) + )) + (net GND (joined + (portRef Z (instanceRef GND)) + (portRef D1 (instanceRef FS_cry_0_0)) + (portRef C1 (instanceRef FS_cry_0_0)) + (portRef B1 (instanceRef FS_cry_0_0)) + (portRef D0 (instanceRef FS_cry_0_0)) + (portRef C0 (instanceRef FS_cry_0_0)) + (portRef B0 (instanceRef FS_cry_0_0)) + (portRef D1 (instanceRef FS_cry_0_2)) + (portRef C1 (instanceRef FS_cry_0_2)) + (portRef B1 (instanceRef FS_cry_0_2)) + (portRef D0 (instanceRef FS_cry_0_2)) + (portRef C0 (instanceRef FS_cry_0_2)) + (portRef B0 (instanceRef FS_cry_0_2)) + (portRef D1 (instanceRef FS_cry_0_4)) + (portRef C1 (instanceRef FS_cry_0_4)) + (portRef B1 (instanceRef FS_cry_0_4)) + (portRef D0 (instanceRef FS_cry_0_4)) + (portRef C0 (instanceRef FS_cry_0_4)) + (portRef B0 (instanceRef FS_cry_0_4)) + (portRef D1 (instanceRef FS_cry_0_6)) + (portRef C1 (instanceRef FS_cry_0_6)) + (portRef B1 (instanceRef FS_cry_0_6)) + (portRef D0 (instanceRef FS_cry_0_6)) + (portRef C0 (instanceRef FS_cry_0_6)) + (portRef B0 (instanceRef FS_cry_0_6)) + (portRef D1 (instanceRef FS_cry_0_8)) + (portRef C1 (instanceRef FS_cry_0_8)) + (portRef B1 (instanceRef FS_cry_0_8)) + (portRef D0 (instanceRef FS_cry_0_8)) + (portRef C0 (instanceRef FS_cry_0_8)) + (portRef B0 (instanceRef FS_cry_0_8)) + (portRef D1 (instanceRef FS_cry_0_10)) + (portRef C1 (instanceRef FS_cry_0_10)) + (portRef B1 (instanceRef FS_cry_0_10)) + (portRef D0 (instanceRef FS_cry_0_10)) + (portRef C0 (instanceRef FS_cry_0_10)) + (portRef B0 (instanceRef FS_cry_0_10)) + (portRef D1 (instanceRef FS_cry_0_12)) + (portRef C1 (instanceRef FS_cry_0_12)) + (portRef B1 (instanceRef FS_cry_0_12)) + (portRef D0 (instanceRef FS_cry_0_12)) + (portRef C0 (instanceRef FS_cry_0_12)) + (portRef B0 (instanceRef FS_cry_0_12)) + (portRef D1 (instanceRef FS_cry_0_14)) + (portRef C1 (instanceRef FS_cry_0_14)) + (portRef B1 (instanceRef FS_cry_0_14)) + (portRef D0 (instanceRef FS_cry_0_14)) + (portRef C0 (instanceRef FS_cry_0_14)) + (portRef B0 (instanceRef FS_cry_0_14)) + (portRef D1 (instanceRef FS_cry_0_16)) + (portRef C1 (instanceRef FS_cry_0_16)) + (portRef B1 (instanceRef FS_cry_0_16)) + (portRef D0 (instanceRef FS_cry_0_16)) + (portRef C0 (instanceRef FS_cry_0_16)) + (portRef B0 (instanceRef FS_cry_0_16)) + )) + (net PHI2_c (joined + (portRef O (instanceRef PHI2_pad)) + (portRef CK (instanceRef Bank_7)) + (portRef CK (instanceRef Bank_6)) + (portRef CK (instanceRef Bank_5)) + (portRef CK (instanceRef Bank_4)) + (portRef CK (instanceRef Bank_3)) + (portRef CK (instanceRef Bank_2)) + (portRef CK (instanceRef Bank_1)) + (portRef CK (instanceRef Bank_0)) + (portRef D (instanceRef PHI2r)) + (portRef CK (instanceRef RA11)) + (portRef A (instanceRef XOR8MEG_CN)) + )) + (net PHI2 (joined + (portRef PHI2) + (portRef I (instanceRef PHI2_pad)) + )) + (net (rename MAin_c_0 "MAin_c[0]") (joined + (portRef O (instanceRef MAin_pad_0)) + (portRef B (instanceRef un1_CMDWR)) + (portRef A (instanceRef un9_RA_0)) + (portRef D (instanceRef CmdEnable16_0_a2_4_0)) + (portRef B (instanceRef XOR8MEG18_0_a2)) + (portRef C (instanceRef CmdEnable17_0_a2)) + (portRef D (instanceRef RowA_0)) + )) + (net (rename MAin_0 "MAin[0]") (joined + (portRef (member main 9)) + (portRef I (instanceRef MAin_pad_0)) + )) + (net (rename MAin_c_1 "MAin_c[1]") (joined + (portRef O (instanceRef MAin_pad_1)) + (portRef C (instanceRef un1_CMDWR)) + (portRef A (instanceRef un9_RA_1)) + (portRef C (instanceRef CmdEnable17_0_a2_4)) + (portRef D (instanceRef CmdEnable16_0_a2_5)) + (portRef A (instanceRef C1WR_0_a2)) + (portRef C (instanceRef XOR8MEG18_0_a2)) + (portRef D (instanceRef RowA_1)) + (portRef D (instanceRef C1Submitted_RNO)) + )) + (net (rename MAin_1 "MAin[1]") (joined + (portRef (member main 8)) + (portRef I (instanceRef MAin_pad_1)) + )) + (net (rename MAin_c_2 "MAin_c[2]") (joined + (portRef O (instanceRef MAin_pad_2)) + (portRef A (instanceRef un9_RA_2)) + (portRef A (instanceRef C1WR_0_a2_0_3)) + (portRef D (instanceRef RowA_2)) + )) + (net (rename MAin_2 "MAin[2]") (joined + (portRef (member main 7)) + (portRef I (instanceRef MAin_pad_2)) + )) + (net (rename MAin_c_3 "MAin_c[3]") (joined + (portRef O (instanceRef MAin_pad_3)) + (portRef A (instanceRef un9_RA_3)) + (portRef B (instanceRef C1WR_0_a2_0_3)) + (portRef D (instanceRef RowA_3)) + )) + (net (rename MAin_3 "MAin[3]") (joined + (portRef (member main 6)) + (portRef I (instanceRef MAin_pad_3)) + )) + (net (rename MAin_c_4 "MAin_c[4]") (joined + (portRef O (instanceRef MAin_pad_4)) + (portRef A (instanceRef un9_RA_4)) + (portRef A (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_4)) + )) + (net (rename MAin_4 "MAin[4]") (joined + (portRef (member main 5)) + (portRef I (instanceRef MAin_pad_4)) + )) + (net (rename MAin_c_5 "MAin_c[5]") (joined + (portRef O (instanceRef MAin_pad_5)) + (portRef A (instanceRef un9_RA_5)) + (portRef B (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_5)) + )) + (net (rename MAin_5 "MAin[5]") (joined + (portRef (member main 4)) + (portRef I (instanceRef MAin_pad_5)) + )) + (net (rename MAin_c_6 "MAin_c[6]") (joined + (portRef O (instanceRef MAin_pad_6)) + (portRef A (instanceRef un9_RA_6)) + (portRef C (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_6)) + )) + (net (rename MAin_6 "MAin[6]") (joined + (portRef (member main 3)) + (portRef I (instanceRef MAin_pad_6)) + )) + (net (rename MAin_c_7 "MAin_c[7]") (joined + (portRef O (instanceRef MAin_pad_7)) + (portRef A (instanceRef un9_RA_7)) + (portRef D (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_7)) + )) + (net (rename MAin_7 "MAin[7]") (joined + (portRef (member main 2)) + (portRef I (instanceRef MAin_pad_7)) + )) + (net (rename MAin_c_8 "MAin_c[8]") (joined + (portRef O (instanceRef MAin_pad_8)) + (portRef A (instanceRef un9_RA_8)) + (portRef D (instanceRef RowA_8)) + )) + (net (rename MAin_8 "MAin[8]") (joined + (portRef (member main 1)) + (portRef I (instanceRef MAin_pad_8)) + )) + (net (rename MAin_c_9 "MAin_c[9]") (joined + (portRef O (instanceRef MAin_pad_9)) + (portRef A (instanceRef RDQML)) + (portRef A (instanceRef RDQMH)) + (portRef A (instanceRef un9_RA_9)) + (portRef D (instanceRef RowA_9)) + )) + (net (rename MAin_9 "MAin[9]") (joined + (portRef (member main 0)) + (portRef I (instanceRef MAin_pad_9)) + )) + (net (rename CROW_c_0 "CROW_c[0]") (joined + (portRef O (instanceRef CROW_pad_0)) + (portRef D (instanceRef RBA_0)) + )) + (net (rename CROW_0 "CROW[0]") (joined + (portRef (member crow 1)) + (portRef I (instanceRef CROW_pad_0)) + )) + (net (rename CROW_c_1 "CROW_c[1]") (joined + (portRef O (instanceRef CROW_pad_1)) + (portRef D (instanceRef RBA_1)) + )) + (net (rename CROW_1 "CROW[1]") (joined + (portRef (member crow 0)) + (portRef I (instanceRef CROW_pad_1)) + )) + (net (rename Din_c_0 "Din_c[0]") (joined + (portRef O (instanceRef Din_pad_0)) + (portRef B (instanceRef CmdEnable17_0_a2_3)) + (portRef A (instanceRef CmdEnable16_0_a2_4)) + (portRef A (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef Bank_0)) + (portRef D (instanceRef CmdUFMSDI)) + (portRef D (instanceRef WRD_0)) + )) + (net (rename Din_0 "Din[0]") (joined + (portRef (member din 7)) + (portRef I (instanceRef Din_pad_0)) + )) + (net (rename Din_c_1 "Din_c[1]") (joined + (portRef O (instanceRef Din_pad_1)) + (portRef A (instanceRef CmdEnable17_0_a2_3)) + (portRef B (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef A (instanceRef XOR8MEG_3_u_0_a3_3)) + (portRef D (instanceRef Bank_1)) + (portRef D (instanceRef CmdUFMCLK)) + (portRef D (instanceRef WRD_1)) + )) + (net (rename Din_1 "Din[1]") (joined + (portRef (member din 6)) + (portRef I (instanceRef Din_pad_1)) + )) + (net (rename Din_c_2 "Din_c[2]") (joined + (portRef O (instanceRef Din_pad_2)) + (portRef A (instanceRef CmdEnable17_0_a2_4)) + (portRef B (instanceRef CmdEnable16_0_a2_5)) + (portRef B (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef Bank_2)) + (portRef D (instanceRef CmdUFMCS)) + (portRef D (instanceRef WRD_2)) + )) + (net (rename Din_2 "Din[2]") (joined + (portRef (member din 5)) + (portRef I (instanceRef Din_pad_2)) + )) + (net (rename Din_c_3 "Din_c[3]") (joined + (portRef O (instanceRef Din_pad_3)) + (portRef D (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef D (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef D (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdEnable17_0_o2)) + (portRef C (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef C (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef Bank_3)) + (portRef D (instanceRef WRD_3)) + )) + (net (rename Din_3 "Din[3]") (joined + (portRef (member din 4)) + (portRef I (instanceRef Din_pad_3)) + )) + (net (rename Din_c_4 "Din_c[4]") (joined + (portRef O (instanceRef Din_pad_4)) + (portRef D (instanceRef CmdEnable17_0_a2_3)) + (portRef A (instanceRef CmdEnable16_0_a2_1)) + (portRef A (instanceRef un1_Din_4)) + (portRef A (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef D (instanceRef Bank_4)) + (portRef D (instanceRef WRD_4)) + )) + (net (rename Din_4 "Din[4]") (joined + (portRef (member din 3)) + (portRef I (instanceRef Din_pad_4)) + )) + (net (rename Din_c_5 "Din_c[5]") (joined + (portRef O (instanceRef Din_pad_5)) + (portRef C (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef C (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef C (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef B (instanceRef CmdEnable17_0_o2)) + (portRef B (instanceRef CmdEnable16_0_a2_4)) + (portRef B (instanceRef un1_Din_4)) + (portRef B (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef B (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef D (instanceRef Bank_5)) + (portRef D (instanceRef WRD_5)) + )) + (net (rename Din_5 "Din[5]") (joined + (portRef (member din 2)) + (portRef I (instanceRef Din_pad_5)) + )) + (net (rename Din_c_6 "Din_c[6]") (joined + (portRef O (instanceRef Din_pad_6)) + (portRef C (instanceRef un1_Din_4)) + (portRef A (instanceRef RA11_2)) + (portRef B (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef B (instanceRef CmdEnable17_0_a2_4)) + (portRef C (instanceRef CmdEnable16_0_a2_5)) + (portRef D (instanceRef Bank_6)) + (portRef D (instanceRef WRD_6)) + )) + (net (rename Din_6 "Din[6]") (joined + (portRef (member din 1)) + (portRef I (instanceRef Din_pad_6)) + )) + (net (rename Din_c_7 "Din_c[7]") (joined + (portRef O (instanceRef Din_pad_7)) + (portRef C (instanceRef CmdEnable17_0_a2_3)) + (portRef B (instanceRef CmdEnable16_0_a2_1)) + (portRef D (instanceRef un1_Din_4)) + (portRef C (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef D (instanceRef Bank_7)) + (portRef D (instanceRef WRD_7)) + )) + (net (rename Din_7 "Din[7]") (joined + (portRef (member din 0)) + (portRef I (instanceRef Din_pad_7)) + )) + (net (rename Dout_0 "Dout[0]") (joined + (portRef O (instanceRef Dout_pad_0)) + (portRef (member dout 7)) + )) + (net (rename Dout_1 "Dout[1]") (joined + (portRef O (instanceRef Dout_pad_1)) + (portRef (member dout 6)) + )) + (net (rename Dout_2 "Dout[2]") (joined + (portRef O (instanceRef Dout_pad_2)) + (portRef (member dout 5)) + )) + (net (rename Dout_3 "Dout[3]") (joined + (portRef O (instanceRef Dout_pad_3)) + (portRef (member dout 4)) + )) + (net (rename Dout_4 "Dout[4]") (joined + (portRef O (instanceRef Dout_pad_4)) + (portRef (member dout 3)) + )) + (net (rename Dout_5 "Dout[5]") (joined + (portRef O (instanceRef Dout_pad_5)) + (portRef (member dout 2)) + )) + (net (rename Dout_6 "Dout[6]") (joined + (portRef O (instanceRef Dout_pad_6)) + (portRef (member dout 1)) + )) + (net (rename Dout_7 "Dout[7]") (joined + (portRef O (instanceRef Dout_pad_7)) + (portRef (member dout 0)) + )) + (net nCCAS_c (joined + (portRef O (instanceRef nCCAS_pad)) + (portRef A (instanceRef nCCAS_pad_RNI01SJ)) + (portRef A (instanceRef nCCAS_pad_RNISUR8)) + )) + (net nCCAS (joined + (portRef nCCAS) + (portRef I (instanceRef nCCAS_pad)) + )) + (net nCRAS_c (joined + (portRef O (instanceRef nCRAS_pad)) + (portRef C (instanceRef LED_pad_RNO)) + (portRef A (instanceRef nCRAS_pad_RNIBPVB)) + (portRef A (instanceRef RASr_RNO)) + )) + (net nCRAS (joined + (portRef nCRAS) + (portRef I (instanceRef nCRAS_pad)) + )) + (net nFWE_c (joined + (portRef O (instanceRef nFWE_pad)) + (portRef C (instanceRef C1WR_0_a2_0_3)) + (portRef B (instanceRef nCCAS_pad_RNI01SJ)) + (portRef A (instanceRef nFWE_pad_RNI420B)) + )) + (net nFWE (joined + (portRef nFWE) + (portRef I (instanceRef nFWE_pad)) + )) + (net LED_c (joined + (portRef Z (instanceRef LED_pad_RNO)) + (portRef I (instanceRef LED_pad)) + )) + (net LED (joined + (portRef O (instanceRef LED_pad)) + (portRef LED) + )) + (net (rename RBA_c_0 "RBA_c[0]") (joined + (portRef Q (instanceRef RBA_0)) + (portRef I (instanceRef RBA_pad_0)) + )) + (net (rename RBA_0 "RBA[0]") (joined + (portRef O (instanceRef RBA_pad_0)) + (portRef (member rba 1)) + )) + (net (rename RBA_c_1 "RBA_c[1]") (joined + (portRef Q (instanceRef RBA_1)) + (portRef I (instanceRef RBA_pad_1)) + )) + (net (rename RBA_1 "RBA[1]") (joined + (portRef O (instanceRef RBA_pad_1)) + (portRef (member rba 0)) + )) + (net (rename RA_c_0 "RA_c[0]") (joined + (portRef Z (instanceRef un9_RA_0)) + (portRef I (instanceRef RA_pad_0)) + )) + (net (rename RA_0 "RA[0]") (joined + (portRef O (instanceRef RA_pad_0)) + (portRef (member ra 11)) + )) + (net (rename RA_c_1 "RA_c[1]") (joined + (portRef Z (instanceRef un9_RA_1)) + (portRef I (instanceRef RA_pad_1)) + )) + (net (rename RA_1 "RA[1]") (joined + (portRef O (instanceRef RA_pad_1)) + (portRef (member ra 10)) + )) + (net (rename RA_c_2 "RA_c[2]") (joined + (portRef Z (instanceRef un9_RA_2)) + (portRef I (instanceRef RA_pad_2)) + )) + (net (rename RA_2 "RA[2]") (joined + (portRef O (instanceRef RA_pad_2)) + (portRef (member ra 9)) + )) + (net (rename RA_c_3 "RA_c[3]") (joined + (portRef Z (instanceRef un9_RA_3)) + (portRef I (instanceRef RA_pad_3)) + )) + (net (rename RA_3 "RA[3]") (joined + (portRef O (instanceRef RA_pad_3)) + (portRef (member ra 8)) + )) + (net (rename RA_c_4 "RA_c[4]") (joined + (portRef Z (instanceRef un9_RA_4)) + (portRef I (instanceRef RA_pad_4)) + )) + (net (rename RA_4 "RA[4]") (joined + (portRef O (instanceRef RA_pad_4)) + (portRef (member ra 7)) + )) + (net (rename RA_c_5 "RA_c[5]") (joined + (portRef Z (instanceRef un9_RA_5)) + (portRef I (instanceRef RA_pad_5)) + )) + (net (rename RA_5 "RA[5]") (joined + (portRef O (instanceRef RA_pad_5)) + (portRef (member ra 6)) + )) + (net (rename RA_c_6 "RA_c[6]") (joined + (portRef Z (instanceRef un9_RA_6)) + (portRef I (instanceRef RA_pad_6)) + )) + (net (rename RA_6 "RA[6]") (joined + (portRef O (instanceRef RA_pad_6)) + (portRef (member ra 5)) + )) + (net (rename RA_c_7 "RA_c[7]") (joined + (portRef Z (instanceRef un9_RA_7)) + (portRef I (instanceRef RA_pad_7)) + )) + (net (rename RA_7 "RA[7]") (joined + (portRef O (instanceRef RA_pad_7)) + (portRef (member ra 4)) + )) + (net (rename RA_c_8 "RA_c[8]") (joined + (portRef Z (instanceRef un9_RA_8)) + (portRef I (instanceRef RA_pad_8)) + )) + (net (rename RA_8 "RA[8]") (joined + (portRef O (instanceRef RA_pad_8)) + (portRef (member ra 3)) + )) + (net (rename RA_c_9 "RA_c[9]") (joined + (portRef Z (instanceRef un9_RA_9)) + (portRef I (instanceRef RA_pad_9)) + )) + (net (rename RA_9 "RA[9]") (joined + (portRef O (instanceRef RA_pad_9)) + (portRef (member ra 2)) + )) + (net (rename RA_c_10 "RA_c[10]") (joined + (portRef Q (instanceRef RA10)) + (portRef I (instanceRef RA_pad_10)) + )) + (net (rename RA_10 "RA[10]") (joined + (portRef O (instanceRef RA_pad_10)) + (portRef (member ra 1)) + )) + (net (rename RA_c_11 "RA_c[11]") (joined + (portRef Q (instanceRef RA11)) + (portRef I (instanceRef RA_pad_11)) + )) + (net (rename RA_11 "RA[11]") (joined + (portRef O (instanceRef RA_pad_11)) + (portRef (member ra 0)) + )) + (net (rename RD_in_0 "RD_in[0]") (joined + (portRef O (instanceRef RD_pad_0)) + (portRef I (instanceRef Dout_pad_0)) + )) + (net (rename RD_0 "RD[0]") (joined + (portRef B (instanceRef RD_pad_0)) + (portRef (member rd 7)) + )) + (net (rename RD_in_1 "RD_in[1]") (joined + (portRef O (instanceRef RD_pad_1)) + (portRef I (instanceRef Dout_pad_1)) + )) + (net (rename RD_1 "RD[1]") (joined + (portRef B (instanceRef RD_pad_1)) + (portRef (member rd 6)) + )) + (net (rename RD_in_2 "RD_in[2]") (joined + (portRef O (instanceRef RD_pad_2)) + (portRef I (instanceRef Dout_pad_2)) + )) + (net (rename RD_2 "RD[2]") (joined + (portRef B (instanceRef RD_pad_2)) + (portRef (member rd 5)) + )) + (net (rename RD_in_3 "RD_in[3]") (joined + (portRef O (instanceRef RD_pad_3)) + (portRef I (instanceRef Dout_pad_3)) + )) + (net (rename RD_3 "RD[3]") (joined + (portRef B (instanceRef RD_pad_3)) + (portRef (member rd 4)) + )) + (net (rename RD_in_4 "RD_in[4]") (joined + (portRef O (instanceRef RD_pad_4)) + (portRef I (instanceRef Dout_pad_4)) + )) + (net (rename RD_4 "RD[4]") (joined + (portRef B (instanceRef RD_pad_4)) + (portRef (member rd 3)) + )) + (net (rename RD_in_5 "RD_in[5]") (joined + (portRef O (instanceRef RD_pad_5)) + (portRef I (instanceRef Dout_pad_5)) + )) + (net (rename RD_5 "RD[5]") (joined + (portRef B (instanceRef RD_pad_5)) + (portRef (member rd 2)) + )) + (net (rename RD_in_6 "RD_in[6]") (joined + (portRef O (instanceRef RD_pad_6)) + (portRef I (instanceRef Dout_pad_6)) + )) + (net (rename RD_6 "RD[6]") (joined + (portRef B (instanceRef RD_pad_6)) + (portRef (member rd 1)) + )) + (net (rename RD_in_7 "RD_in[7]") (joined + (portRef O (instanceRef RD_pad_7)) + (portRef I (instanceRef Dout_pad_7)) + )) + (net (rename RD_7 "RD[7]") (joined + (portRef B (instanceRef RD_pad_7)) + (portRef (member rd 0)) + )) + (net nRCS_c (joined + (portRef Q (instanceRef nRCS)) + (portRef I (instanceRef nRCS_pad)) + )) + (net nRCS (joined + (portRef O (instanceRef nRCS_pad)) + (portRef nRCS) + )) + (net RCLK_c (joined + (portRef O (instanceRef RCLK_pad)) + (portRef CK (instanceRef CASr)) + (portRef CK (instanceRef CASr2)) + (portRef CK (instanceRef CASr3)) + (portRef CK (instanceRef FS_17)) + (portRef CK (instanceRef FS_16)) + (portRef CK (instanceRef FS_15)) + (portRef CK (instanceRef FS_14)) + (portRef CK (instanceRef FS_13)) + (portRef CK (instanceRef FS_12)) + (portRef CK (instanceRef FS_11)) + (portRef CK (instanceRef FS_10)) + (portRef CK (instanceRef FS_9)) + (portRef CK (instanceRef FS_8)) + (portRef CK (instanceRef FS_7)) + (portRef CK (instanceRef FS_6)) + (portRef CK (instanceRef FS_5)) + (portRef CK (instanceRef FS_4)) + (portRef CK (instanceRef FS_3)) + (portRef CK (instanceRef FS_2)) + (portRef CK (instanceRef FS_1)) + (portRef CK (instanceRef FS_0)) + (portRef CK (instanceRef IS_3)) + (portRef CK (instanceRef IS_2)) + (portRef CK (instanceRef IS_1)) + (portRef CK (instanceRef IS_0)) + (portRef CK (instanceRef InitReady)) + (portRef CK (instanceRef LEDEN)) + (portRef CK (instanceRef PHI2r)) + (portRef CK (instanceRef PHI2r2)) + (portRef CK (instanceRef PHI2r3)) + (portRef CK (instanceRef RA10)) + (portRef CK (instanceRef RASr)) + (portRef CK (instanceRef RASr2)) + (portRef CK (instanceRef RASr3)) + (portRef CK (instanceRef RCKE)) + (portRef CK (instanceRef RCKEEN)) + (portRef CK (instanceRef Ready)) + (portRef CK (instanceRef Ready_fast)) + (portRef CK (instanceRef S_1)) + (portRef CK (instanceRef S_0)) + (portRef CK (instanceRef UFMCLK)) + (portRef CK (instanceRef UFMSDI)) + (portRef CK (instanceRef n8MEGEN)) + (portRef CK (instanceRef nRCAS)) + (portRef CK (instanceRef nRCS)) + (portRef CK (instanceRef nRRAS)) + (portRef CK (instanceRef nRWE)) + (portRef CK (instanceRef nRowColSel)) + (portRef CK (instanceRef nUFMCS)) + )) + (net RCLK (joined + (portRef RCLK) + (portRef I (instanceRef RCLK_pad)) + )) + (net RCKE_c (joined + (portRef Q (instanceRef RCKE)) + (portRef C (instanceRef nRRAS_5_u_i_0)) + (portRef I (instanceRef RCKE_pad)) + (portRef C (instanceRef nRWE_RNO_3)) + )) + (net RCKE (joined + (portRef O (instanceRef RCKE_pad)) + (portRef RCKE) + )) + (net nRWE_c (joined + (portRef Q (instanceRef nRWE)) + (portRef I (instanceRef nRWE_pad)) + )) + (net nRWE (joined + (portRef O (instanceRef nRWE_pad)) + (portRef nRWE) + )) + (net nRRAS_c (joined + (portRef Q (instanceRef nRRAS)) + (portRef I (instanceRef nRRAS_pad)) + )) + (net nRRAS (joined + (portRef O (instanceRef nRRAS_pad)) + (portRef nRRAS) + )) + (net nRCAS_c (joined + (portRef Q (instanceRef nRCAS)) + (portRef I (instanceRef nRCAS_pad)) + )) + (net nRCAS (joined + (portRef O (instanceRef nRCAS_pad)) + (portRef nRCAS) + )) + (net RDQMH_c (joined + (portRef Z (instanceRef RDQMH)) + (portRef I (instanceRef RDQMH_pad)) + )) + (net RDQMH (joined + (portRef O (instanceRef RDQMH_pad)) + (portRef RDQMH) + )) + (net RDQML_c (joined + (portRef Z (instanceRef RDQML)) + (portRef I (instanceRef RDQML_pad)) + )) + (net RDQML (joined + (portRef O (instanceRef RDQML_pad)) + (portRef RDQML) + )) + (net nUFMCS_c (joined + (portRef Q (instanceRef nUFMCS)) + (portRef C (instanceRef nUFMCS_s_0_N_5_i)) + (portRef I (instanceRef nUFMCS_pad)) + )) + (net nUFMCS (joined + (portRef O (instanceRef nUFMCS_pad)) + (portRef nUFMCS) + )) + (net UFMCLK_c (joined + (portRef Q (instanceRef UFMCLK)) + (portRef C (instanceRef UFMCLK_RNO)) + (portRef I (instanceRef UFMCLK_pad)) + )) + (net UFMCLK (joined + (portRef O (instanceRef UFMCLK_pad)) + (portRef UFMCLK) + )) + (net UFMSDI_c (joined + (portRef Q (instanceRef UFMSDI)) + (portRef C (instanceRef UFMSDI_RNO)) + (portRef I (instanceRef UFMSDI_pad)) + )) + (net UFMSDI (joined + (portRef O (instanceRef UFMSDI_pad)) + (portRef UFMSDI) + )) + (net UFMSDO_c (joined + (portRef O (instanceRef UFMSDO_pad)) + (portRef C (instanceRef LEDEN_5_i_m2)) + (portRef C (instanceRef n8MEGEN_5_i_m2)) + )) + (net UFMSDO (joined + (portRef UFMSDO) + (portRef I (instanceRef UFMSDO_pad)) + )) + (net N_460_0 (joined + (portRef Z (instanceRef CmdSubmitted_RNO)) + (portRef D (instanceRef CmdSubmitted)) + )) + (net N_461_0 (joined + (portRef Z (instanceRef InitReady_RNO)) + (portRef D (instanceRef InitReady)) + )) + (net N_462_0 (joined + (portRef Z (instanceRef Ready_RNO)) + (portRef D (instanceRef Ready)) + )) + (net N_463_0 (joined + (portRef Z (instanceRef Ready_fast_RNO)) + (portRef D (instanceRef Ready_fast)) + )) + (net nFWE_c_i (joined + (portRef Z (instanceRef nFWE_pad_RNI420B)) + (portRef D (instanceRef FWEr)) + (portRef D (instanceRef FWEr_fast)) + )) + (net nCRAS_c_i_0 (joined + (portRef Z (instanceRef RASr_RNO)) + (portRef D (instanceRef RASr)) + )) + (net nCCAS_c_i (joined + (portRef Z (instanceRef nCCAS_pad_RNISUR8)) + (portRef D (instanceRef CASr)) + (portRef D (instanceRef CBR)) + (portRef D (instanceRef CBR_fast)) + (portRef CK (instanceRef WRD_7)) + (portRef CK (instanceRef WRD_6)) + (portRef CK (instanceRef WRD_5)) + (portRef CK (instanceRef WRD_4)) + (portRef CK (instanceRef WRD_3)) + (portRef CK (instanceRef WRD_2)) + (portRef CK (instanceRef WRD_1)) + (portRef CK (instanceRef WRD_0)) + )) + (net Ready_fast_i (joined + (portRef Z (instanceRef Ready_fast_RNI29NA)) + (portRef CD (instanceRef RA11)) + (portRef CD (instanceRef RBA_1)) + (portRef CD (instanceRef RBA_0)) + (portRef PD (instanceRef RowA_9)) + (portRef CD (instanceRef RowA_8)) + (portRef CD (instanceRef RowA_7)) + (portRef CD (instanceRef RowA_6)) + (portRef PD (instanceRef RowA_5)) + (portRef CD (instanceRef RowA_4)) + (portRef CD (instanceRef RowA_3)) + (portRef CD (instanceRef RowA_2)) + (portRef CD (instanceRef RowA_1)) + (portRef CD (instanceRef RowA_0)) + )) + (net (rename IS_i_0 "IS_i[0]") (joined + (portRef Z (instanceRef IS_i_0)) + (portRef D (instanceRef RA10)) + )) + (net RASr2_i (joined + (portRef Z (instanceRef RASr2_RNIAFR1)) + (portRef CD (instanceRef S_1)) + (portRef CD (instanceRef S_0)) + )) + (net nRWE_RNO_4 (joined + (portRef Z (instanceRef nRWE_RNO_4)) + (portRef BLUT (instanceRef nRWE_RNO_1)) + )) + (net nRWE_RNO_3 (joined + (portRef Z (instanceRef nRWE_RNO_3)) + (portRef ALUT (instanceRef nRWE_RNO_1)) + )) + (net CmdEnable_s_am (joined + (portRef Z (instanceRef CmdEnable_s_am)) + (portRef BLUT (instanceRef CmdEnable_s)) + )) + (net CmdEnable_s_bm (joined + (portRef Z (instanceRef CmdEnable_s_bm)) + (portRef ALUT (instanceRef CmdEnable_s)) + )) + ) + (property orig_inst_of (string "RAM2GS")) + ) + ) + ) + (design RAM2GS (cellRef RAM2GS (libraryRef work)) + (property PART (string "lcmxo640c-3") )) +) diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.htm b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.htm index 7f902d7..2007929 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.htm +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.htm @@ -1,9 +1,9 @@ - - - syntmp/RAM2GS_LCMXO640C_impl1_srr.htm log file - - - - - - + + + syntmp/RAM2GS_LCMXO640C_impl1_srr.htm log file + + + + + + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.jed b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.jed index 521e6fd..219cf39 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.jed +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.jed @@ -1,1745 +1,1745 @@ - -* -NOTE JEDEC CREATED BY: Lattice Semiconductor Diamond Deployment Tool 3.12* -NOTE Version: Diamond (64-bit) 3.12.1.454* -NOTE Readback: Off* -NOTE Security: Off* -NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * -NOTE All Rights Reserved * -NOTE DATE CREATED: Wed Aug 16 04:50:55 2023 * -NOTE DESIGN NAME: RAM2GS * -NOTE DEVICE NAME: LCMXO640C-3TQFP100 * -NOTE PIN ASSIGNMENTS * -NOTE PINS RD[0] : 64 : inout * -NOTE PINS Dout[0] : 1 : out * -NOTE PINS PHI2 : 39 : in * -NOTE PINS UFMSDO : 55 : in * -NOTE PINS UFMSDI : 56 : out * -NOTE PINS UFMCLK : 58 : out * -NOTE PINS nUFMCS : 53 : out * -NOTE PINS RDQML : 61 : out * -NOTE PINS RDQMH : 76 : out * -NOTE PINS nRCAS : 78 : out * -NOTE PINS nRRAS : 73 : out * -NOTE PINS nRWE : 72 : out * -NOTE PINS RCKE : 82 : out * -NOTE PINS RCLK : 86 : in * -NOTE PINS nRCS : 77 : out * -NOTE PINS RD[7] : 71 : inout * -NOTE PINS RD[6] : 70 : inout * -NOTE PINS RD[5] : 69 : inout * -NOTE PINS RD[4] : 68 : inout * -NOTE PINS RD[3] : 67 : inout * -NOTE PINS RD[2] : 66 : inout * -NOTE PINS RD[1] : 65 : inout * -NOTE PINS RA[11] : 79 : out * -NOTE PINS RA[10] : 87 : out * -NOTE PINS RA[9] : 85 : out * -NOTE PINS RA[8] : 96 : out * -NOTE PINS RA[7] : 100 : out * -NOTE PINS RA[6] : 91 : out * -NOTE PINS RA[5] : 95 : out * -NOTE PINS RA[4] : 99 : out * -NOTE PINS RA[3] : 97 : out * -NOTE PINS RA[2] : 94 : out * -NOTE PINS RA[1] : 89 : out * -NOTE PINS RA[0] : 98 : out * -NOTE PINS RBA[1] : 83 : out * -NOTE PINS RBA[0] : 63 : out * -NOTE PINS LED : 57 : out * -NOTE PINS nFWE : 22 : in * -NOTE PINS nCRAS : 43 : in * -NOTE PINS nCCAS : 27 : in * -NOTE PINS Dout[7] : 3 : out * -NOTE PINS Dout[6] : 2 : out * -NOTE PINS Dout[5] : 5 : out * -NOTE PINS Dout[4] : 4 : out * -NOTE PINS Dout[3] : 6 : out * -NOTE PINS Dout[2] : 8 : out * -NOTE PINS Dout[1] : 7 : out * -NOTE PINS Din[7] : 19 : in * -NOTE PINS Din[6] : 20 : in * -NOTE PINS Din[5] : 17 : in * -NOTE PINS Din[4] : 18 : in * -NOTE PINS Din[3] : 16 : in * -NOTE PINS Din[2] : 14 : in * -NOTE PINS Din[1] : 15 : in * -NOTE PINS Din[0] : 21 : in * -NOTE PINS CROW[1] : 34 : in * -NOTE PINS CROW[0] : 32 : in * -NOTE PINS MAin[9] : 51 : in * -NOTE PINS MAin[8] : 50 : in * -NOTE PINS MAin[7] : 44 : in * -NOTE PINS MAin[6] : 49 : in * -NOTE PINS MAin[5] : 45 : in * -NOTE PINS MAin[4] : 46 : in * -NOTE PINS MAin[3] : 47 : in * -NOTE PINS MAin[2] : 37 : in * -NOTE PINS MAin[1] : 38 : in * -NOTE PINS MAin[0] : 23 : in * -NOTE CONFIGURATION MODE: NONE * -NOTE COMPRESSION: off * - - -QF130036* -G0* -F0* -L000000 -11111111001101111111011110111100110111111101111011110011011111110111101111111111 -11111111111011111111111111111111101111111111111111111110111111111111111111111011 -1111111111111111111011110010100100110101111011001010010011010111011111111111 -11111111111111111111111110111111111111111111111011111111111111111111101111111111 -11111111111011110011011111110111101111111111111111111110111100110111111101111011 -1111111111111111111011110010100100110101110111001010010011010111011111111111 -11111111001101111111011110111100110111111101111011110011011111110111101111001101 -11111101111011111111111111111111101111111111111111111110111111111111111111111011 -1111111111111111111011110010100100110101110111001010010011010111011111111111 -11111111111111111111111110111111111111111111111011111111111111111111101111001101 -11111101111011111111111111111111101111111111111111111110111111111111111111111011 -1111111111111111111011110010100100110101110111001010010011010111011111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111100111111111111111111111111111111 -11001111111011111111111111111111011111111111111111111111111111111111111111111110 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111101111111011111111111101111111111111111111111111111111111111111111110 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111101111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111011111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111110011111111111110111111111110111111111000111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111100011111110111111111110011111111011111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111001111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111011111111111111111111111111111 -1111111111111111111111111111110111111111011111111111011111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111011111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111101111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111101111111111111111111111 -11111111111111111111100111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111011111111111111111111111111111111111111111111 -1111111111111111111111111111111111111110111111111111111111111111111111111111 -11111111111111111111010111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111110101111111111111111111010111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111111111 -11111111111111111111111111111111111111111111111111011111111111110111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111100111011101111111110101111001111111111111111 -1111111111111010111001111111111111111111111111111111111111111111111111111001 -11011111111111111111111111111111111111111111111111110110111111111111111111111111 -11111111111111100111111111111111011101011110010111111111111101001111111111111111 -1101111111111101110111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111110111111111111111111111111 -11111111111111011110111111111010011011011111111111111111110101001111111111111111 -1111101111111110110101011111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111010111111111111111111111011111111111111011101101111111111111111 -1111101111111110101111111111111111111111111111111111111111111111111111111010 -11111111111111111111111111111111111111111111111111111100111111111111111111111111 -11101111111111111111111111101101100110010011111101011111111001000111111101111111 -1111001011111110111011011111111110111111111111111111111111111111111111011111 -11111111111111111111111111111111111111111111111111111110001111111111111111111111 -11101111111111111011111101110111011101101110110111011101110110101111011111110111 -1111001011011110111111001111111111111111111111111111111111111111111110111011 -11111111111111111111111111111111111111111111111111111010111101111111111111111111 -11110101111111111110111111111111010101111111101110111111111111101011011011111111 -1110101111011111110001011111111111011111111111111111111111111111111101111001 -11111111111111111111111111111111111111111111111111111100110111111111111111111111 -11111111111111111110111011111111111111101001010111111111111111101110011111110111 -1111101100111111011110111111111111111111111111111111111111111111111110111111 -11111111111111111111111111111111111111111111111111111110111111111111111111111111 -11111111111111111011111111110111011111101111111111111101111110111111111111111111 -1111101111111111111111111111111110111111111111111111111111111111111111111001 -11011111111111111111111111111111111111111111111111111100111111111111111111111111 -11111111111111111010111111110111111111101011111111111111111110111111111111111111 -1111101111111111111111111111111111011111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101111111111111111111111111111111111101111111111111111 -1111101111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111011111110111111111111111111111111111111111111111111111111111111 -1111101111111111111111111111111111111111111111111111111111111111111111111010 -11111111111111111111111111111111111111111111111111111110111111110111111111111111 -11111111111111111111111011111111111111111111111101111111111111111111111101111111 -1111001111111011111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111100111111101111111111111111 -11111111111111111111100101111111111111111111111111011101111111111111111111111111 -1111001111111101111111111111111111111111111111111111111111011111111111111011 -11111111111111111111111111111111111111111111111111110111111111111111111111111111 -11111111111111110111111111111111111111011111111111111111111101111111111011111111 -1101111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101101111111111111111111111111110111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111101011111111111111111111111111111111011111111111111 -1111111111111111110111111111111110111111011111111111111111111111111111111001 -01011111111111111111111111111111111111111111111111111111001101111111111111011011 -11111111111111110111111001111111011111111100110111111111111111111010011111111111 -1101101111111111111111111111111111011111011111111111111111111111111111111001 -11111100111111111111111111111111111111111111111111111111010101111111111111111011 -11111111111111111111111111111111111111111101010111111111111111110111011111111111 -1111101111111111111111111111111111110110111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111001111111111111111111 -11111111111111111011111111111110111111111111100111111111111111111101011111111111 -1110111111111111101111111111111111110011111111111111111111111111111111111010 -10111111111111111111111111111111111111111111111111111111111111111111111111110111 -10111111111111111111110111111111011111111111111111111101111111111111111011111111 -1111011111111111010111111111111111111111111111111111111111111111111110011111 -11111111111111111111111111111111111111111111111111111111111111111111111111110000 -11011111111111111011001111111110111111111111111111111111111111111111111101111111 -1110000011111111110111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111100001 -01011111111111111111111101111111111111111111111111111111111111111111111111111111 -1111001101011111101111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11011111111111111110111111111111111111111111111111111011111111111111111111111111 -1110011111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111110011000111111010111111111111110111111111111111111111111111111111111 -1110111111111111111111111111111110111111111111111111111011111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111110011 -11111111111111111011111111110111111111111110111111111111111111111111111111111111 -1110111111111111111111111111111111011111111111111111111101111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -11111111111111111111111111111111111111111111110111111111111111111111111111111111 -1111111111111111111111111111111111110111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111011111111101111111111111111011111111111111111111111111111111111 -1110111111111111111111111111111111110111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111010111111111111111 -11101111111110001100111110110111011111111111111010110111111111111111111011111111 -1111111111111011111110011111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111100111111111111011 -11111111111111011111111110100111111111111111111111011101111111111111101101111111 -1111111111111101111011011111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011011 -11100101111111110111111111010110111111111111111101111111111111111111111101111111 -1101111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111110111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -10111111111111111111111001111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111110111111111111111111111011111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111100 -01011111111111111111101101111111111111111111111111111111111111111111111111111111 -1111110011111111111111111111111111111111111111111111111101111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11011111111111111111110101111111111111111111111111111111111111111111111111111111 -1111111101011111111111111111111111010111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111011101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111110111111111111111111111111111111111111011 -11111111111111111111011111111111111111111111111111111111011111111111111111111111 -11111111111111111111111111111111111111111111111111111110111111111111101101111111 -1111111111111111111111111111111111101111111111111111111111111111111111111111 -11111111111111111111011111111111111111111111111111111111101101111111111111111111 -11111111111111111111100101111111111111111110000111111011111111111000010001111111 -1111110011011111111111111111111111110111111111111111111111111111111111011011 -11111111111111111111111111111111111111111111111111111111111101111111111111111111 -11111111111111111111011011110111111111111101111111111111010111110111101101111111 -1111111001011111111111111111111111111111111111111111111111111111111111111001 -11111111111111111010111111111111111111111111111111111111100001111111111111111111 -11111111111111111111111101110111111111111111110111101110111111111111001111111111 -1111111110011111111111111111111111111111111111111111111111111111111101111111 -11111111111111111111111101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111110111111111111111111111001 -1111111111111111111111111111111111111111111111111111111010011111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111011111111111111111101 -1111111111111111111111111111111111111111111111111111111100011111111110111001 -11111111111111111111111011111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111110111111111111111111111 -0111111111111111111111111111111111111111111111111111111111111111111101111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111011111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111010 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101010111111111111111111111111111111101111101010111110011111111111111111111 -1111111111111101111111111111111111101111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111110111111111111111111111111111111111111110011101100111111111111111111111 -1111111111111101111111111111111111110111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011101111111111111111111111111111111111110111111111111111111111111111111111 -1111111111111011111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111100111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111110111111111010111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111100111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11110011111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101110110011111011111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011111111111111111100111111011011111100011111111111111111111111111111111111111 -1111111011111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111001011111110011111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -00111111111111111111111111101011111111101011111111111111111111111111111111111111 -1111111101111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111011111111111 -11111111111111111111111111111111111111100011011111111111111111111111111111010111 -1111111111111111100111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111100010111111111111111111111111111111110111 -1111111111111111110111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111110011111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111110111111111111 -11111111111111111111111111111111111111110010110111111111111111111111111111101111 -1111111111111111101111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111011110111111111111111 -11111111111111111111111100110111111111111110101101011111111111111111111111101111 -1111111110111111111111111111111111111111111111111111111111110101111111111111 -11111111111111111111111111111111111111111111111111111111111101111111111111111111 -11111111111111111111111001111111111111110010110111011111111111110010011111110111 -1111111011011111111111111111111111111111111111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111111111111010010110110111111111111110101011111111111 -1111111111111111111111111111111111111111111111111111111111111011111111111111 -11111111111111111111111111111111111111111111111111111111011101101111111111111111 -11111111111111111111011101001111111111111111010111111111111111111111011111111111 -1111111001011111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111110111111111111111111011111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111101111111111111111111110111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101011111111111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111110111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111101111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111110100011111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111110111111111111111111001 -11011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111001001100111111111111111111111111111111111111111111111111111 -1111111111110111111111111111111111111111111111111110011111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101101110111111111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111110111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111110101010111011111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111100111111111111111 -11111111111111111111111111111111111111111111111010011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111100111111111111111 -11111111111111111111111111111111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111011111111111111100011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101111111111111111111111110111111111111111111010011111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111101011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11110111111111111111111111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101111111111111111111110111111111111111111110101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111011111111111 -11111111111111111111111111100111101111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111110011111111111 -11111111111111111111111111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111110101111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111101111111 -11111111111111111111111111111111111111111111111111111111111111111011111111111111 -11111111111111111111111111101111101111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111010111111111111111111011111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111110111111111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111010111111111111111 -11111111111111111111111111101111111111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111110111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111110101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101111110111111111111111111111111111111111111111111111111111 -1111111111110101111111111111111111111111111111111101011111111111111101111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101101111111111111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111100001111111111111111111111111111111111111111111111111111111 -1111111111111011111111111111111111111111111111111111100111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101101111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111101110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110100111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111011111111110011111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110101111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111110011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111110011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110100111111111111111011111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000111111111111111111111111111111111111111111111111111111111111 -1111111111111001111111111111111111111111111111111011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111101011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000111111111111111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101111110111111011101111111111111111111111111011111111111111111111111111111111 -1111111111101111111111111111111111111111111111110010111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11100111111111111010111111111111111111111111111111101111111111111111111111111111 -1111111111111110111111111111111111111111111111110010110111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101101111111111111101111111111111111111111111011101111111111111111111111111 -1111111111100101110111111111111111111111111111111110000111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111101011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111110111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111110111111111111111111111111111111111111111111111111111111 -1111111111111111110111111111111111111111111111111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111110111110111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111110011111111011111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110111111111010111111111111111111111111111111111111111111111111111 -1111111111111111101111111111111111111111111111010011111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111101 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111100001111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111110111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111111111111111111111111111111111111111111110101111111 -1111111111111111111111111111111111111111111111111111100111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111101111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111100111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111110101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111110111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111110111111111111111111111111111111111 -11111111111111111111111111111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111101111111111111111111111111111111111011111 -11111111111111111111111111111111111111111110111111111111111111111111111111111111 -11111111111111111111111111111011111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111001111 -11111011111111111111100110111100100100111111111111111111111111111111101111111111 -1111111111111111111111111111111110111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111100010 -00011101111111110111101101011011011101111111111111111111111111111111111111111111 -1111111111111111111111111111111110111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101100110011111001111111111111111111111111111111110111111111 -1111111111111111111111111111111111110111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111011111001111111010111111111111111111111111111111111111111111111 -1111111111111111111111111111111111011111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111100111111111111111 -11111101101111111111111111111110101111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111101111 -11111111110111111011101001111111011100111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111110111 -11111011110111111110111111111111011101111111111011011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111110111111111010101111111110101111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111011111111111011011111101111011111111111111101011111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111100111 -11111101111111111010101101110111101101111111111111011111111111111111110111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111100101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111011111001111111011111111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111100111111111111111111111111111111111111111111111111111111111111111111111111 -11111101110111111111111111111111111101111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111010111111111111111111111111111111111111111111111111111111111111111111111111 -11111101110111111111100101111111001100111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111011110111110111111111111111011101111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11101111101111111111101001111101111011111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011111111110100110111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111100010 -00011101111111110111101101101111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111100111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101011111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111011111101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -00111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111111101111111111000111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111101111111111011101111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111110101111111111111111111111111101101111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111011111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111011111111111010101110110101011111111111111001011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111100111 -11111101111111111000100101100011111111111111111100011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111101011011011111111111111011011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000011000111011111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111011110111111111111111000111111111111111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111001100101111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111111111110110100110111111111111111111111111111111111111111111111110101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111100111111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101111111111001111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111100010 -00011111111111110111101111111110111110111111111111111111111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111111011101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111001100101111111010111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -00111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101111111111111100111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111011111101111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111111001111111111011111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111011101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11101011111111111011111111110101011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111011001 -11011111111111111111111111111111111111111111111111111111111111111111111111100111 -11110101111111111011001101101111011101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111111100101111111111111111111111011011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111100111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111011111001111110111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111110111010 -11111111111111111111111111111111111111111001111111111111111111111111111111111111 -11111001110111111110111111111111100101111111111111111111111111111111111111111111 -1111111111111111010111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111101111111111111111111111111111111111111 -11111101101111111110101101111111111111111111111111111111111111111111111111111111 -1111111111111111110111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111011111111111111111111111111111111100011 -11111011111111110110010011111111110101111111111111111111111111111111111111111111 -1111111111111111101111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111110111101111111111011111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011111111111111101111111111111111111111111111111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100010 -00011101111111110100111111111111111111111111111111111111111111111111110111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110100111101111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110111111111110110111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111000111101111100011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111100101011101011111111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111001111101111011111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111101011111100111 -11111011101111111011111001111111111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111011111100111 -11111101110111111011101101111111111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111110111111111111 -11111111111111111110010101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111011111111111111 -11111001111111111111111111111001111111111111111111111101111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111101111111111111 -11111101111111111111101001111101011110111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111011011111100011 -11111111111111110111111111111011011101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111011111111111111100101111111111111111111111111111011111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011111111111101101111101111111101011111111111111101111111111111111001111111 -1111111111111111111111111111111111111111111111011111111011111111111111111001 -11011111111111111111111111111111111111111111111111111111111111111111111111100010 -00011101111111110111101111110111111101011111111111101111111111111111111101111111 -1111111111111111111111111111111111111111111111011111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110111010101111111111111111111111111101101111111111111111011111111 -1111111111111111111111111111111111111111111111111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111101111101111111111001101111111111100111111111111111111111111111 -1111111111111111111111111111111111111111111111001111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111101111110111111111010101111111111110111111101000111111111111101111111111 -1111111111111111111111111111111111111111111111111101111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111110111111011101101110111011100100111111111111101111011111111100111111111 -1111111111111111111111111111111111111111111111111110000111111101111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111110111111111101011101111011101111111110111111101010111111111111101111111 -1111111111111111111111111111111111111111111111110011110111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111110111111001110101111111111101101111111111111101111111111111111111111111 -1111111111111111111111111111111111111111111111110010110111111101111111111101 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111011111111111011111111111111011111100111111111110011111111111111111111111111 -1111111111111111111111111111111111111111111111101111111111111111111111111011 -11011111111111111111111111111111111111111111111111111111111111111111111111100111 -11111101111111111011011111111111111111100111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111101111111111111111111111111010 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111101011101111111111111110011111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111101111101111101111111100011111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11101111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111110111111111111111010111011111110111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11101111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111110111111111100111100111011110110100110111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111111110111110111111111111111011101010001110111111111111111111111111111111111 -1111111111111111111111111111111111111111111111010011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111101111111111011101111010111111010011000111111111111111111111111111111111 -1111111111111111111111111111111111111111111111110011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11110101111111111100101111110111111111111110111111110101111111111111111111110111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111100010 -00011001111111110111111111101111111111011110111111111101111111111111111111100111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110111111101111111111111110011010111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111100011111111111011111111111111111110111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001110111010100111100111111111100110011111111101110011111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111101101110001000111111111111111101110000111111110111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111011101111111111011110011010111111111110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111011111111111011111101011111111111100011111111111111110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111111111111111001111111110011111111101111111111111111100111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111100111 -11111101111111111001001101101111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111101111001111111111111111011111111111111110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101111111111111101010101111011111111101111111111111111110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -00111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111011111111111111111111111111011111110110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111100111101111111111111111111111111111111110011111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111111111111110100111101111111111111011011111101011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111011111111111101111011111111111111111111111111011111001111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111100111111111111111 -11111011111111111111110111110101111111111111111111111111111011111111111111110111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111100010 -00011101111111110111101001101111011111111111100111111111110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111111111 -11111111111111111101111111111111111111111111111111111111111111111111111111101111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111001101101111111111111111110110111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111101111111011111111111111101111111110111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111101111111111011100111111001111101111110010111111111111011111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111011101111001111111111110111111111111010111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111011111111111101111101111011111101111111110111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111011111111111011101110111101001110111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111101111111111011101101011111011101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100100001111111111101111111111111111111111111111111111111111111 -1111111111110101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111110111101111110100111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111101111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111100111110011101111111111111111111110111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111110111111111 -11111011111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111111101101101101110111111111111111111111011111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111100111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111011111111110110111001111111111101111111111111111111110111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111110111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111110111111111111101111111111111111111110111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111010111111111111111 -11111111111111111111101111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111011111111 -11111111111111111111111111111111111111111111111111111111111111110111111111100010 -00011111111111110111101101101111111111111111111111111111101111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111110111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111111111 -11111111111111111110101101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111110101111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111011110001111111111111111111111111111110111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111111011011111111111111111111111100011111111111111111111111111 -1111111111100101111111111111111111111111111111111111111111111011111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111101111111111111111101110111111011111111110111100101111111111111111111111111 -1111111111100101111111111111111111111111111111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111111111111111111111111110111111101111111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111011111111111011111111111111101111111111100111101111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111011111111111001111110111111111100111111111111101111111111111111111111110111 -1111111111111111111111111111111110111111111111111111111011101111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111101111111111111001101011111111110111111111111101111111111111111111111110111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101001111111111101111111111111111101111111111111111111111111 -1111111111111111111111111111111111010111111111111111111101011101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110011110101111111111111111111111111110111111111111111111110101111 -1111111111111111111111111111111111110111111111111111111111010101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101110111111111111011111101111111111111100011101101111111111111111111111111 -1111111111111111111111111111111111111111111111111111110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111101111111111001101111111011111111110110001110011111111111111111111111111 -1111111111111111111111111111111111111111111111111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111010110111110111100101111111111111111111110111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111010111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111111111101111111111111111110010111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111110100111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11101111111111110111011110111111101011111111111011111111111111111111101111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111100010 -11011111111111110111100001111111111111111111111011111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -00001101111111111111101101011111111101111111111111011111111111111111111101111111 -1111111111111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11010111111111111011111101111111110111111111111101111111111111111111110111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111111101111100110011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111101110111111011101001110111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111110101101111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110111 -11101011110111111011110101101111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111100111111111100010 -11111111111111111000111110110110111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -01011111111111111111111111111111111111111111111111111111111111110111111111101111 -10011111111111111000111111100111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111101111111111111111 -11011111111111111100111111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011111111111111000111110010101111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111010 -00111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111100111111111111111111111111111111111111111111111111111111111111111111111110 -00011111111111111100111001111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111100111 -11111111111111110100101111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111101110 -11011111111111110110111101111010111011111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111111011 -11111101111111111100101111111111111111111111111111111111111111111111111111110111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111011010 -00011101111111110110101101111111111111111111111111111111111111111111111111110111 -1111111111111111111111111111111111111111111111111111111110011111111111111110 -11111110111111111111111111111111111111111111111111111111111111111111111111111011 -11111011111111110110100001111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111110111111111111111111111111111111111111111111111111111111111111111111111011 -11101111111111111100111101111111111111111111111111111111111111111111111110101111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -00111111111111111111111111111111111111111111111111111111111111111111111111111011 -11011101111111110111111111111111011100111111111111101101111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111011 -11111111111111111010000111111110011101111111111111111001111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11011111111111111110111101111111111011111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111010 -11011011111111111111101101111011111111111111111111100111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111111011111101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111111110 -01011111111111001011101111111111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111011111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -10011111111111111111110101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111011111111111111111100000111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -10011111111111001111111111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111010111 -11011111111111110111111111111111111100111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011111111110111100111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11111111110010111111111100111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011111 -11011111100111111111100001111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111011 -10011111111111011111111100010111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011110111101111111011101111010111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111110011 -11111111111111111111100011111111111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111110011 -11111111111111111111101101111000011111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111110111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100011 -11111111111111111111101101111011111111111111111101011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -11111111111111111111111101111000111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111110111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111101011111111110111101001011111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111100 -11111111111111111111111111111111011111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -01011111111111011111111111111111111101111111111011011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011111111110111111111111011110110111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11111101111111111111111111111011111111111111111111111101111111111111111111111111 -1111111111111010111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011011111111111111101111111101111111111111111111111111111111111111111111111111 -1111111111111100110111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011111 -00011111111111111111010111111111111101111111111111111011111111111111111111111111 -1111111111111111010111111111111111111111111111111111111111101101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110101 -11011111111111111111111101111111101111111111111111111111111111111111111111111111 -1111111111111110111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111011111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011111 -11011111111111110110111111111111111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -10011111111111111111111111110111111111111111111111011111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011111111111111011111111110111111111111111111101011111111111111111111111111111 -1111111111110111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101110111111111111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111100 -10011111111111111110100111011011011011111111111111011111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -01011111111111111100111101111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011111111111111000111111111100101111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111010111111111111110111111111111111101 -10111111111111111000111010111111010111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111110111111111111111110011111111111111111 -11111111111111111111111111111111111111111111110111111111111111011111111111111110 -11011111111111111100001101010110101111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111011111111111111111011111111111111111 -11111111111111111111111111111111111111111111101111111111111110110111111111111101 -01011111111111111100111101110111111101111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110111101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111000110110110111101111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111111111 -11111001111111111100100011111101111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111111111 -11111101111111111100101101111111011111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011011 -11111111111111110100101101111111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011111111111111111101111111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -01111101111111111111111111111111111111111111111111011111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111011111111111111111001 -11011111111111111111111111111111111111111111111111111111111111111111111111011100 -11111001111111111111111111111111111111111111111111111111111111111111111001111111 -1111111111111111111111111111111111111111111111111111111101111111111111011001 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11101111111111111111111111111111111111111111111111111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111010 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111110011001111111111111111111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111110111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111000 -11111111110111011111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111100111011 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111110011111111111110111111111111111111111111111111111111111111111111111 -1111111111110111111111111111111111101111111111111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -01111111110001111111111111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111101111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101011 -11101111101111111111111110111111111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111101101111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111011111111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111110110111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11100101111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100010 -11011111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111010111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111111001 -11111111110111111111111111111111111111111111111111111111111111111111111111111111 -1111111111110101111111111111111111111111111111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111111110 -11111111110111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011111 -01011111110111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110010 -11011111011111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111111101 -11111011111111111111111111111011111111111111111111111111111111111111110101111111 -1111111111111101111111111111111111111111111111111111111111011111111111111111 -11011111111111111111111111111111111111111111111111111111111111100111111111011111 -11011101111111111111111111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111110011111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -10011111111111111111111111111101111111111111111111111111111111111111111011111111 -1111111111111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111001111111111110111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111110111111111111111111011111111110011111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111000 -11011111110111111111111111111111111111111111111111111101111111111111111111110111 -1111111111111111111111111111111111111111111111111111111111111111100111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -10011111111111111111111110110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111101111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -01111110111111111111111111011111111111111111111111101111111111111111111110111111 -1111111111111111111111111111111111111111111111111111111101011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11111101111001111111111111110111111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111111110 -01011111111111111111111111111111111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111101111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -10011111111111011111111111101111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111100101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11011011111111011111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -11111101110001111111111111111101011111111111111111111111111111111111111101111111 -1111111111111111111111111111111111110111111111111110101111101111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -11111101100111111111111111111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111110111111111111110110111110111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011010 -11111011111111111111111111111110111111111111111111111111111111111111111011111111 -1111111111111111111111111111111111101111111111111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111011 -11001110111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111110111111111111111111010111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111001111111110111111111111111111111111011111111111111111111001111111 -1111111111111001111111111111111111111111111111111111111111111111111111111001 -11011111111111111111111111111111111111111111111111111111111111110111111111010010 -01111111110111011111111111111111111111111111111110011111111111111111111101111111 -1111111111111101111111111111111111111111111111011011111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111010011 -11011111111111111111111110010111111111111111111111111111111111111111111011111111 -1111111111111011111111111111111111111111111111011011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111111111 -11111110111110111111111111111111111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111110011111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111010011 -11111111101111111111111110111111111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111011011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100001 -11011111110111111111111111111111111111111111111101111111111111111111111111111111 -1111111111111111111111111111111111111111111111101011111111111111111111111011 -11111111111111111111111111111111111111111111111111111111111111111111111111110001 -11011111111111111111111110110111111111111111111011011111111111111111111111111111 -1111111111111111111111111111111111111111111111111011111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -10011111111111111111111111011111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111110011111111111111111111111101 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -10101111010001011111111111111111111111111111111111111111111111111111111001111111 -1111111111111111111111111111111111111111111111101111111110011111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111101110 -01011111110101011111111111111111111111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111101100100110011111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -11100101101111011111111111111111111111111111111111111111111111111111111011111111 -1111111111111111111111111111111111111111111111111111010111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110101 -11011111111110011111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111101101110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111011101111111111111111111111111111111111111111111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11111111111111001111111111111111111111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111010011 -01111111111111011111111111111111111111111111111111111111111111111111111111111111 -1111111111111011111111111111111111111111111111011011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111110011 -11111111111101111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111101111111111111111111111111111111111111 -10111111111111111111111110010111111111111111111011111111111111111111110101111111 -1111111111111001111111111111111111111111111111111111110111111111111111111111 -11111111111111111111111111111111111111111011111111111111111111111111111111011110 -01011111111111011111111111000111111111111111111101111111111111111111111101111111 -1111111111111101111111111111111111111111111111111110000111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11111101111010111111111111111111111111111111111111011111111111111111111111111111 -1111111111111011111111111111111111111111111111111111110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11011101111111011111111111111111111111111111111111011111111111111111111011111111 -1111111111111111111111111111111111111111111111111101110111111111111111111111 -11111111111111111101011111111111111111111111111111111111111111110111111111111101 -11111101110111111111111110111111111111111111111011111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111011111111111111111 -11111111111111111111011111111111111111111111111111111111111111110111111111101110 -11011111110111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111110111111111111111111111111111111111111111111101111111111111011 -01011010110111111111111110110111111111111111111101011111111111111111111111111111 -1111111111111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111101111 -10111110101111111111111111011111111111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111111011111111111111110101111111111111111111111111111111101011 -11101111111111111111111111111101011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111111101111111111111111101111111111111111111111111111111101001 -10011111111111111111111111111111011111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111101111111111111111111 -11111111111111111111111111111111111111111011111111111111111111111111111111111011 -11011111111111111111111111111110111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111010 -11010111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111110 -11111110111101111111111110111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111011001111111111111011111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111011110 -11011111111111011111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11011111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111010111111111111111 -11111111111111111110111111111111111111111111111111111111111111111111111101111111 -1111111111111101111111111111111111111111111111111111111111011111111111111111 -11011111111111111111111111111111111111111111111111111111111111110111111111111111 -11111111111111110100111111111111111111111111111111111111111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111110 -11111111111111111111111111111111111111111111111111111111111111101111111111111111 -11111111111111111100111111111011011111111111111111111111111111111111111011111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111010111111111111111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111110111110111110101111111111111011111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000111111111111010111111111111101111111111111111111111111111111 -1111111111110111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111111010111011101111111111011011111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111010101101110111101111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111101111111111111111111111111111111111111 -11110101111111111000111110111111011111111111111011011111111111111111111111111111 -1111111111101101111111111111111111100111111111111111111111111111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111000111111011111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111110111111111111111111111111111111111111110 -11111111111111111111111111111111111111111011111111111111111111111111111111111111 -11111111111111111100111111111111111111111111111111111111111111111111111111111111 -1111111111110101111111111111111111101111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000111111111111111111111111111100111111111111111111111111111111 -1111111111111001111111111111111111111111111111111111111111111111111111111111 -10110011111111111111111111111111111111111111111111111111111111111111111111111111 -11100101111111111100111110111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101101111111111110100101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111100111111111111111111111111111111111111111111111111111111111111111111111111 -11110001111111110100011111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111001010111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011010110101011111111111111111110111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110001111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110100111101001111011111111111111111111101111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110011111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110100101101111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111110111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111110111101111110111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -00111111111111111111111111111111111111111111111111111111111111110111111111111111 -11111101111111110111011111111111111111111111111111111111111111111111101111111111 -1111111111111101111111111111111111111111111111111111111111101111111111111111 -11111111111111111111111111111111111111111111111111111111111111101111111111111111 -11111011111111111000101111111111111111111111111111111111111111111111110111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111101111111111111111111111111111111111111111111111111111111 -1111111111111110110111111111111111111111111111111111111111110101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111010101111111111111111111111111111111111111111111111111111111 -1111111111101011111111111111111111111111111111111111111111111101111111111111 -01111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000111111111111111111111111111111011111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111011111111111111111 -01011111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111001111111111111111111111111111111011111111111111111111111111111 -1111111111111011111111111111111111111111111111111111111110011111111111111110 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111100111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111000111111111111111111111111111011111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -00111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111101001111111111111111111111111111111111111101111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111111111111011111111111111111111111111111111111111001111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111110111111111111110111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111100111111111111110110111111111111111111111111111111101111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111111100111011111111111111111111001111111111111111111110111111 -1111111111111001111111111111111111111011111111111111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111111111000111111111111111111111110110111111111111111111111011111 -1111111111111101111111111111111111111101111111111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011101110111111111111111111111101101111111111111111110110111 -1111111111111011111111111111111111111011011111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011111111111111111101011101111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111100111111111111111111111011111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111100111110111111111111111111111111111111111111111111111111111 -1111111111111101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101111111111111111111110111111111111111111111111111111 -1111111111111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011101111111111111111111111111111111111111111111111111111111 -1111111111101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111101111111111111111111111111111111111111 -11111111100111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111110111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111111111111111111111111011111111111111111111111111111111111111 -11111111101111111111111111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111101111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111101111111111111111111 -11101111111111111111111111111111111111111111111111111111111111111111111111111111 -11101111111111111111111111111111111100111111111111101111111111111111111111111111 -1111111111111111111111111111111111111011111111111111111111111111111111111111 -11101111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111101111111111111111111111111111111111111111111 -1111111111111111111111111111111111111101111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101101111111111111111111111111111011111111111111110101111111111111111110110111 -1111111111111110110111111111111111111011011111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11110111111111111111111111111111111111111111111111111101111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111111111111111111111111111111111111111111111111111111111111101111111 -1111111111111001111111111111111111111111111111111111111110011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111101111111111111111111111111111111111111111111111111111111111111111011111111 -1111111111111101111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111011111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111011111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111001111111111111111110011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111000101111011011111111111111111011111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111001111110111111111111111110111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111101101111011111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111111111111111101111111111111111110100111111111111111 -11101101010111111111111111111110001101111111111111111111111111111111111001111111 -1111111111111001111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111000111111111111111 -11111101110111111111111111111111011101111111111111111111111111111111111101111111 -1111111111111001111111111111111111111111111111111111111111011111111111111111 -11111111111111111111111011111111111111111011111111111111111111110111111111111111 -11111101101111111111111111111111111011111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111111111111 -11100001111111111111111111111110111111111111111111111111111111111111111011111111 -1111111111111111111111111111111111111111111111111111111011111111111111111111 -11111111111111111111011111111111111111111111111111111111111111111111111111111111 -11101111111111111111111111111011111111111111111110111111111111111111111111111111 -1111111111111110111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011111111111111111111111111111111111111111111111111111111111 -11110111111111111111111101111111011111111111111111011111111111111111111111111111 -1111111111111110111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111011011111111111111111111111111111111111111111111111111111111 -1111111111111111010111111111111111111111111111111111111111111111111111111111 -11111111111111111010111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111101111001111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111111111111111111111111111111111111111 -01111111111111111111111111111111101111111111111111111111111111111111101110111011 -11111110111111111100110111111111101101110110111111110000111011001111111111111111 -1111011111111110111101111111111111111111111111111011111111111111111111111001 -01011111111111111111111111111101001111111111111111111111111111111111110100010010 -00011111110111010100001111111111111001011111110111101101010001111111111111111111 -1101111001111111110111111111111111111111111111011111111111111111111111111001 -11111111111111111111111111111101101111111111111111111111111111111111111101010011 -11111111111111111100111101110011000101111110100111101111110111111111111111111111 -1101011111111110111111011111111110110111111111011111111111111111111111111111 -11111111111111111111111111111101101111111111111111111111111111111111111111111010 -11011110101111011000101101110111101111101111110111101101111110111111111111111111 -1101011011011110100111111111111111111111111111111011111111111111111111111011 -00111111111111111101111111111101001111111111111111101111111111111110111111011011 -11101111111111011100111110010110001111111111100001001100101111111101101101110111 -0101111110110110111110011111111111111111111111010101111111111011110111111111 -11111111111111111111011111111110001011011111110111011111111111111111111111100011 -11010111110010011100001111110111011110101110110111001101111111101011110011110111 -0110111011001100110010011111111111111111111111110010110111111101111111111011 -11111111111111111111111111111111101111111111111111111111111111111111011111110001 -11111101111111111111111101100111010101111111110000000001110111111111111101111011 -1111011011111101110111011111111110110111111111110011000111111101111111111001 -11111111111111111111111111111111000100011111110111111111111111111111111111111011 -10011101110111111000110111010111011111101111011111111111011110111111111101110110 -1111011101011111010111111111111111111111111111110110110111111111101111111101 -11111111111111111111111111111110111111111111111111101111101111111111101111101111 -11111111111111111000111111111110101111101111111110111110111110011111111111101111 -0110111111111111111111111111111111111111111111100101111111111100101111111111 -11011111111111111111111111111110111011011111111111011111111101111111111110101111 -11111111111111111100111111111111111110101111111111011111010011011111111111111010 -0110111000011111111111111111111111111111111111110110111111111111111111111110 -11111111111111111111111111111111110101111111111111111111011101111111111101111111 -11111111111111111100111111111111111101111111111111111110110111111111111111111111 -1111111011111111111111111111111111111111111111110111110111111111110111111111 -11111111111111111111111111111111111110011111111111111111111001111111110111101111 -11111111111111111010101101111111110111101111111111111111111100111111111111111111 -1111111111011111111111111111111111111111111111110111011111111111011111111111 -11111111111111111111111111111111110111111111110111001111111110111111011101111110 -11101101111111011100111110111111011101111111111011011100111111011111111101110111 -1111101011111101110111111111111111111111111111111110111111111110100111111111 -11111111111111111111111111111111111000011111111111011111111101111111111101111110 -11010011110111011100101111111111011101110110011010111101011011011111111101111111 -1111001010011101110111111111111111111111111111111110010111111111100111111111 -11111111111111111111111111111101111111011111110111111111101010010111001111011011 -01011111111010110100111111110111001001011101111101011101110101111111111111110111 -0101111111011111110111111111111111111111111111011111110111111110110111111111 -11111111111111111111111111111111011011011111111110111111111101111111111011011111 -10111111011111111110010101010110101111111111110111111011111111111111101011111011 -1111111001001011101111111111111111111111111111111111101111111111011111111111 -01111111111111111111111111111111101110111011111110011100111111111111111111111111 -11111111100111111111110000111111111001111101111111111111110111110101111111111011 -1111110111111110111111011111111110111111111111111010111011111111111111111001 -01011111111111111111111111111101110011011101111111110111111111110111111111011110 -00011111100111110110101100011111111100011110110111111111101111111011111111111101 -0001001110011111111111001111111110110111111111011110111011111111111111111001 -11101111111111111111111111111111001111011111111111110111111111111111111111110111 -11111111111111110111111101110111111101111111100111111111110111111111011111111111 -0111111111011111110110111111111111110111111111011111010111011111111111111111 -11101111111111111111111111111111100101011111111111111100111110111111111111111110 -11011111111111111111011101111111111101101110010111111111110111111111111111111111 -1010111011011111010111111111111110011111111111011111111101111111111111111011 -00111111111111111111111111111111101111111111111111110110111011111101111111111111 -10001001111111110100110010100011000111111110111011011111111111111111101100111111 -1111110111101101111111111111111111110111111111010011001011111110111101111111 -11111111111111111111111111111111111111111111111111111010001101111111011111111110 -11010101111111111000101101110111111111101110100111011111111111111111111100111111 -1110001010010001111111111111111111100111111111100010110101111111011101111011 -11111111111111111111111111111110001111111111111111111110111101111111111111101111 -11011001111111111100111111110111011101110110110110011111111111111111111001010111 -1111111111011101111111111111111111111111111111111111111111011111111101111001 -11111111111111111111111111111111101111111111111111111110110111111111111111111110 -01011101111111111100111111000100011101101111010001011111111111111111100101111111 -1110001001001101111111111111111110111111111111111110110111011111111111111101 -01111111111111111111111111111111001111111111111110001000111111111101111111111111 -11111111111111111011110001111111111001101110011111111110110111111111111111111111 -1110110110111101111110011111111111111111111111101111111111111111111111111111 -01011111111111111111111111111111111111111111111111011000111111111011111111111111 -11011111111111111011101101111111111100101110110111111111000011111111111111111111 -1110111011011111111011011111111111111111111111101111111111111111111111111110 -11111111111111111111111111111111001111111110110111001100111111111011011111111110 -10111111111111111101111101111111111111111111110111111111111111111111111101111111 -1111101111011111111111111111111111111111111111110011111111111111111111111111 -11111111111111111111111111111111001111111111111111111111111111111111111111111111 -11011111111111111001011101111111111111101111101111111111111111111111111101111111 -1110111101111011111111111111111111111111111111110011111111111111111111111111 -00111111111111111111111111111111001111111001111111111100111110111111011111110111 -11111001110011111111111111100111101111111010111111011110000111111111111101010111 -1111111111011101010011111111111111111111111111110010111111111111111111111111 -11111111111111111111111111111111111011011101111111111100101101111110111111111111 -11111001100111111100001101100111110111111010110111011111110011111111111101110111 -1111111011011101110111111111111111111111111111111010110111111111111111111111 -11111111111111111111111111111101001101111111111111110100010111111111111111011111 -11111111111111010100011101111111111100011110110111111111111111111011111111111111 -1101111011011011111111001111111111111111111111011010010111111111111111111111 -11111111111111111111111111111111000110011011111111111100111001011111111111111111 -11111110111101101111110001111111111111111111000010111111111111111111001011101111 -1111111100001111101101111111111111111111111111110011100111111111111111111111 -11111111111111111111111111111111111011111111111111111110100111111111101111111101 -10111111111111111100101110111110111111111110111111001110101111111111111110111111 -0111011011111111111111111111111111111111111111111001101011111111111111111001 -11011111111111111111011111111101011011011111111111110111101001111111111110111110 -01011111111111110111100001011111011111010011111111011111111101001111111110111011 -0101011011011111111111111111111111111111111111011010110111111111111111111001 -11111111111111111111111111111101011011011111111111110111111101111111111101111111 -11011111111111110100101101111111111111010011110110111111110101001111111111010111 -1101011010011111111111111111111111111111111111111010110101011111111111111110 -11111111111111111011111111111111111100011111111111111111101101111111110111111111 -11111111111111111100111101111111111111110011111011110111011111111111111111111110 -1101111101011111111111111111111111111111111111111011010111011111111111111011 -11111111111111111111111111111101011111110101111111110110111111111111111111111111 -11101101111111110100111110100111111111011101111011011111111001001111101101111111 -1001011111101101111111111111111111110111111111111111011111111111111111111111 -11111111111111111111111111111110011001011001111111111011111111111111111111111110 -01011101111111111111111110110111111110110010000110111111110110111001010001111111 -0110011001011001111111011111111111110111111111111110110011111111111111111011 -11111111111111111111111111111111111010111111111111111111111111111111111111111101 -11111001111111111100111111000111111101110011110111011111111111111011111101111111 -1111011111111101111111111111111111101111111111100011111111011111111111111001 -11111111111111111111111111111111111111011111111111111100111111111111111111111111 -10000101111111111100101101111111111111110010110101011111111111001110001101111111 -1111010110000101111111011111111110111111111111110010100111111111111111111111 -01111111111111111111111111111110111111111111110111111011011111111111011111111111 -11111110111011111010111111111110011100101111111111111110101110001100111111110111 -1110000111111001111111001111111111111111111111110010111111111111111111111001 -01011111111111111111111111111110001011011111100111111001100101111110011111111111 -11111111111111101111111111111111011101111111111111111111111110110011011111100111 -1110001010011101111111011111111111111111111111110010110111111111111111111001 -11111111111111111111111111111111001010111111111111111100111101111111111111111111 -11111110110111011111101111111111111111111101111111111111110111000111011111111111 -1111101011011111111111111111111111111111111111111110110111111111111111111111 -11111111111111111111111111111110011101011110111111111000111011111011111111111111 -11111111011101111111111101111110111011110011110111111111011111111111011110111111 -1111101101011011111110111111111111111111111111111111000111111111111111111011 -00111111111111111101111111111111001111111111111111111111111111111111111111111111 -10111111111111111111011110011111111110111111111110011110110101001111111001111111 -1111001011111100010111111111111111011111111111110011111111110101111111111111 -11111100111111111111011111111111001111111111111111111111111111111111111111111111 -11011111111111111111111001110111111100111101111111001111110001001111111001111111 -1111011000011101110111111111111111110111111111110011111111111101111111111011 -11111111111111111111111111111101001111111111111111110100111111111111111111111111 -11111111111111110111101101010111111101011101110110111100010101111111111111111111 -1101101011011111101111111111111111111111111111010011111111111011111111111001 -11111111111111111111111111111111011111111111111111111100111111111111111111111111 -11111111111111111111111101110111111111111111110111111111101111111111111111111111 -1111101111001011011111111111111111111111111111110011111111111111111111111101 -11111111111111111111111111111111111110111111111111111111101011111111111111111111 -11111111111111111111111110101111111011111111111111111111111111111111111111111110 -1111011011101111111111111111111111111111111111111111111111111111101111111111 -11111111111111111111111111111111111001011111111111111111101101111111111111010011 -11111111111111110111100101110111111101011110011111111111111111111001111111111111 -0101101111011111111111111111111111111111111111111111111111111111110111111111 -11101111111111111111111111111111111111111111111111111111111101111111111111010011 -11111101111111110100101111111111111111010110111111111111111111111011111111111111 -1101001011010101111111111111111111111111111111111111111111111111111111111111 -11100011111111111111111111111111110111011111111111111111110111111111111111111111 -11111101111111111100111001011111111111111011110111111111111111111111011111111111 -1111111110011101111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111011111111111111111111101111111111111111010011 -11101001111111110111111010100110101111010001101011010001111011111111111001110111 -1101011111111101111111111111111111111111111111111110011111111111111111111111 -11111111111111111111011111111111111011111111111111111111100111111111111111100010 -11010100111111111010101101110010011101110011110110001101111111111111111000111111 -1110101111011011111111111111111111111111111111111110110011111111111111111111 -11111111111111111111111111111111111111011111111111111111111101111111111111110011 -11111100010111111101100111101001101111110010110001011110110111111111111110011111 -1111001010111111111111111111111111111111111111111111110111011111111111111111 -11111111111111111011111111111111111101111111111111111111111111111111111111100011 -00111001111111111100111101011011011011110011110011101110111111111111111110110111 -1111111111011111111111111111111111111111111111111110100111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111011111101110 -11111110100111111000111110111111011111101101111111111111111111111111111100111111 -1110101110111111110111111111111111111111111111111111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111100111100110 -01111111010111111000001101011110111111101111100111111111111111111111111011011111 -1110101111011111110111111111111111111111111111111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111110111101111111 -11011111101111111100011101111111111111111110110111111111111111111111111111111111 -1111001111111111101111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111110111111110 -11011111111111111100110001111111111111111111110111111111111111111111111111111111 -1111000111011110111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111011111101111111111111111111111111111111111111 -11101101111111111100110011100010111111111011001010001111111111111010101100111111 -0011101011111111111111111111111111110011111111111111111111111111111111111111 -11111111111111111111111111111111111011011111111111111111111111111111111111111111 -11011101111111111100001101110111000111111100110111011111111111111001010001111111 -0111101001011111111111111111111110110111111111111111111111111111111111111111 -11111111111111111111111111111111111100011111111111111111111111111111111111011101 -11110001111111110110011101101101011101011101110011010111111111111111001101011110 -1101001111011111111111111111111111100111111111111111111111111101111111111111 -11111111111111111111111111111111111011011011111111111111111111111111111111111111 -10001101111111111100111101111111010111111111110100111111111111111011001111111111 -1111101110111111111111111111111110111101111111111111111111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111011111111111111111111111011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111110111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111011111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111110111111111111111111111111111111111111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111101111111111111111111110111111111 -1111111111110111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111110111111111111111011111111111111111111111 -1111111111111001111111111111111111101111111111111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111001111111111111111111110111111101111111111111011111111 -1111111111101001111111111111111111101111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111101111111111111111111111111111111 -11111111111111111111111111111111111111011111111111111111111111111111111111111101 -1111111111110111111101111111111111010111111111111111111101111111111111111111 -11111111111111111111111111111111111011111111111111111111111111111110111111111111 -11111111111111111111111111011111111111111111111111110011111111111111110101001011 -1111111111100111101011111111111111010100111111111111111111111111111111111111 -11111111111110111111111111111111111111111111111101111111111111111111111111111111 -11111111111111111111111111111111111111111110111111111111111111111111111111101001 -1111111111111111111101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111001111111111111111111111111011110011111111111 -11111111111111111111111111111111111111111111111111110101111111111111111111011111 -1111111111111111110111111111111111111100011111111111111111111001111111111111 -11111111111111011111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111110001111111111111111111111111111111111 -1111111111111111110111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111010111111111111111111111111 -1111111111111111101111111111111111111111111111111111111111111111111111111111 -11111111011110101111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111101111111111111111111111110111111111111111111111111111111111 -11111111011111111111111111111111111110111111111111111111111111111111101111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111101111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -1111111111111111111111111111111111111111110111111111111111111111111111111111 -11111111111111111111111110111100101001001111011101111111111111111111101111111111 -11111111111011111111111111111111101111111111111111111110111111111111111111111011 -1111111111111111111011111111111111111111101111111111111111111110111111111111 -11111111111111111111111110111100101100110111001111110010100100111101110111111111 -11111111111011110010100100111101111011001100010011110110101100110001001111011010 -1100110001001111011001110011000100111101100111001010010011110111011111111111 -11111111001010010011110111011100101001001111001111111111111111111111101111111111 -11111111111011111111111111111111101111001100010011110110011111111111111111111011 -1111111111111111111011111111111111111111101111111111111111111110111111111111 -11111111001101111111011110111100110111111101111011111111111111111111101111111111 -11111111111011111111111111111111101111111111111111111110111100110001001111001011 -1100110001001111011001110011000100111100100111001010010011110111101111111111 -* -C5944* -N User Electronic Signature Data* -U00000000000000000000000000000000* -47A2 + +* +NOTE JEDEC CREATED BY: Lattice Semiconductor Diamond Deployment Tool 3.12* +NOTE Version: Diamond (64-bit) 3.12.1.454* +NOTE Readback: Off* +NOTE Security: Off* +NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * +NOTE All Rights Reserved * +NOTE DATE CREATED: Sat Aug 19 20:57:27 2023 * +NOTE DESIGN NAME: RAM2GS * +NOTE DEVICE NAME: LCMXO640C-3TQFP100 * +NOTE PIN ASSIGNMENTS * +NOTE PINS RD[0] : 64 : inout * +NOTE PINS Dout[0] : 1 : out * +NOTE PINS PHI2 : 39 : in * +NOTE PINS UFMSDO : 55 : in * +NOTE PINS UFMSDI : 56 : out * +NOTE PINS UFMCLK : 58 : out * +NOTE PINS nUFMCS : 53 : out * +NOTE PINS RDQML : 61 : out * +NOTE PINS RDQMH : 76 : out * +NOTE PINS nRCAS : 78 : out * +NOTE PINS nRRAS : 73 : out * +NOTE PINS nRWE : 72 : out * +NOTE PINS RCKE : 82 : out * +NOTE PINS RCLK : 86 : in * +NOTE PINS nRCS : 77 : out * +NOTE PINS RD[7] : 71 : inout * +NOTE PINS RD[6] : 70 : inout * +NOTE PINS RD[5] : 69 : inout * +NOTE PINS RD[4] : 68 : inout * +NOTE PINS RD[3] : 67 : inout * +NOTE PINS RD[2] : 66 : inout * +NOTE PINS RD[1] : 65 : inout * +NOTE PINS RA[11] : 79 : out * +NOTE PINS RA[10] : 87 : out * +NOTE PINS RA[9] : 85 : out * +NOTE PINS RA[8] : 96 : out * +NOTE PINS RA[7] : 100 : out * +NOTE PINS RA[6] : 91 : out * +NOTE PINS RA[5] : 95 : out * +NOTE PINS RA[4] : 99 : out * +NOTE PINS RA[3] : 97 : out * +NOTE PINS RA[2] : 94 : out * +NOTE PINS RA[1] : 89 : out * +NOTE PINS RA[0] : 98 : out * +NOTE PINS RBA[1] : 83 : out * +NOTE PINS RBA[0] : 63 : out * +NOTE PINS LED : 57 : out * +NOTE PINS nFWE : 22 : in * +NOTE PINS nCRAS : 43 : in * +NOTE PINS nCCAS : 27 : in * +NOTE PINS Dout[7] : 3 : out * +NOTE PINS Dout[6] : 2 : out * +NOTE PINS Dout[5] : 5 : out * +NOTE PINS Dout[4] : 4 : out * +NOTE PINS Dout[3] : 6 : out * +NOTE PINS Dout[2] : 8 : out * +NOTE PINS Dout[1] : 7 : out * +NOTE PINS Din[7] : 19 : in * +NOTE PINS Din[6] : 20 : in * +NOTE PINS Din[5] : 17 : in * +NOTE PINS Din[4] : 18 : in * +NOTE PINS Din[3] : 16 : in * +NOTE PINS Din[2] : 14 : in * +NOTE PINS Din[1] : 15 : in * +NOTE PINS Din[0] : 21 : in * +NOTE PINS CROW[1] : 34 : in * +NOTE PINS CROW[0] : 32 : in * +NOTE PINS MAin[9] : 51 : in * +NOTE PINS MAin[8] : 50 : in * +NOTE PINS MAin[7] : 44 : in * +NOTE PINS MAin[6] : 49 : in * +NOTE PINS MAin[5] : 45 : in * +NOTE PINS MAin[4] : 46 : in * +NOTE PINS MAin[3] : 47 : in * +NOTE PINS MAin[2] : 37 : in * +NOTE PINS MAin[1] : 38 : in * +NOTE PINS MAin[0] : 23 : in * +NOTE CONFIGURATION MODE: NONE * +NOTE COMPRESSION: off * + + +QF130036* +G0* +F0* +L000000 +11111111001101111111011110111100110111111101111011110011011111110111101111111111 +11111111111011111111111111111111101111111111111111111110111111111111111111111011 +1111111111111111111011110010100100110101111011001010010011010111011111111111 +11111111111111111111111110111111111111111111111011111111111111111111101111111111 +11111111111011110011011111110111101111111111111111111110111100110111111101111011 +1111111111111111111011110010100100110101110111001010010011010111011111111111 +11111111001101111111011110111100110111111101111011110011011111110111101111001101 +11111101111011111111111111111111101111111111111111111110111111111111111111111011 +1111111111111111111011110010100100110101110111001010010011010111011111111111 +11111111111111111111111110111111111111111111111011111111111111111111101111001101 +11111101111011111111111111111111101111111111111111111110111111111111111111111011 +1111111111111111111011110010100100110101110111001010010011010111011111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111100111111111111111111111111111111 +11001111111011111111111111111111011111111111111111111111111111111111111111111110 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111101111111011111111111101111111111111111111111111111111111111111111110 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111101111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111011111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111110011111111111110111111111110111111111000111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111100011111110111111111110011111111011111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111001111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111011111111111111111111111111111 +1111111111111111111111111111110111111111011111111111011111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111011111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111101111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111101111111111111111111111 +11111111111111111111100111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111011111111111111111111111111111111111111111111 +1111111111111111111111111111111111111110111111111111111111111111111111111111 +11111111111111111111010111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111110101111111111111111111010111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111111111 +11111111111111111111111111111111111111111111111111011111111111110111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111100111011101111111110101111001111111111111111 +1111111111111010111001111111111111111111111111111111111111111111111111111001 +11011111111111111111111111111111111111111111111111110110111111111111111111111111 +11111111111111100111111111111111011101011110010111111111111101001111111111111111 +1101111111111101110111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111110111111111111111111111111 +11111111111111011110111111111010011011011111111111111111110101001111111111111111 +1111101111111110110101011111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111010111111111111111111111011111111111111011101101111111111111111 +1111101111111110101111111111111111111111111111111111111111111111111111111010 +11111111111111111111111111111111111111111111111111111100111111111111111111111111 +11101111111111111111111111101101100110010011111101011111111001000111111101111111 +1111001011111110111011011111111110111111111111111111111111111111111111011111 +11111111111111111111111111111111111111111111111111111110001111111111111111111111 +11101111111111111011111101110111011101101110110111011101110110101111011111110111 +1111001011011110111111001111111111111111111111111111111111111111111110111011 +11111111111111111111111111111111111111111111111111111010111101111111111111111111 +11110101111111111110111111111111010101111111101110111111111111101011011011111111 +1110101111011111110001011111111111011111111111111111111111111111111101111001 +11111111111111111111111111111111111111111111111111111100110111111111111111111111 +11111111111111111110111011111111111111101001010111111111111111101110011111110111 +1111101100111111011110111111111111111111111111111111111111111111111110111111 +11111111111111111111111111111111111111111111111111111110111111111111111111111111 +11111111111111111011111111110111011111101111111111111101111110111111111111111111 +1111101111111111111111111111111110111111111111111111111111111111111111111001 +11011111111111111111111111111111111111111111111111111100111111111111111111111111 +11111111111111111010111111110111111111101011111111111111111110111111111111111111 +1111101111111111111111111111111111011111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101111111111111111111111111111111111101111111111111111 +1111101111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111011111110111111111111111111111111111111111111111111111111111111 +1111101111111111111111111111111111111111111111111111111111111111111111111010 +11111111111111111111111111111111111111111111111111111110111111110111111111111111 +11111111111111111111111011111111111111111111111101111111111111111111111101111111 +1111001111111011111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111100111111101111111111111111 +11111111111111111111100101111111111111111111111111011101111111111111111111111111 +1111001111111101111111111111111111111111111111111111111111011111111111111011 +11111111111111111111111111111111111111111111111111110111111111111111111111111111 +11111111111111110111111111111111111111011111111111111111111101111111111011111111 +1101111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101101111111111111111111111111110111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111101011111111111111111111111111111111011111111111111 +1111111111111111110111111111111110111111011111111111111111111111111111111001 +01011111111111111111111111111111111111111111111111111111001101111111111111011011 +11111111111111110111111001111111011111111100110111111111111111111010011111111111 +1101101111111111111111111111111111011111011111111111111111111111111111111001 +11111100111111111111111111111111111111111111111111111111010101111111111111111011 +11111111111111111111111111111111111111111101010111111111111111110111011111111111 +1111101111111111111111111111111111110110111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111001111111111111111111 +11111111111111111011111111111110111111111111100111111111111111111101011111111111 +1110111111111111101111111111111111110011111111111111111111111111111111111010 +10111111111111111111111111111111111111111111111111111111111111111111111111110111 +10111111111111111111110111111111011111111111111111111101111111111111111011111111 +1111011111111111010111111111111111111111111111111111111111111111111110011111 +11111111111111111111111111111111111111111111111111111111111111111111111111110000 +11011111111111111011001111111110111111111111111111111111111111111111111101111111 +1110000011111111110111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111100001 +01011111111111111111111101111111111111111111111111111111111111111111111111111111 +1111001101011111101111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11011111111111111110111111111111111111111111111111111011111111111111111111111111 +1110011111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111110011000111111010111111111111110111111111111111111111111111111111111 +1110111111111111111111111111111110111111111111111111111011111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111110011 +11111111111111111011111111110111111111111110111111111111111111111111111111111111 +1110111111111111111111111111111111011111111111111111111101111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +11111111111111111111111111111111111111111111110111111111111111111111111111111111 +1111111111111111111111111111111111110111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111011111111101111111111111111011111111111111111111111111111111111 +1110111111111111111111111111111111110111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111010111111111111111 +11101111111110001100111110110111011111111111111010110111111111111111111011111111 +1111111111111011111110011111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111100111111111111011 +11111111111111011111111110100111111111111111111111011101111111111111101101111111 +1111111111111101111011011111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011011 +11100101111111110111111111010110111111111111111101111111111111111111111101111111 +1101111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111110111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +10111111111111111111111001111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111110111111111111111111111011111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111100 +01011111111111111111101101111111111111111111111111111111111111111111111111111111 +1111110011111111111111111111111111111111111111111111111101111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11011111111111111111110101111111111111111111111111111111111111111111111111111111 +1111111101011111111111111111111111010111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111011101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111110111111111111111111111111111111111111011 +11111111111111111111011111111111111111111111111111111111011111111111111111111111 +11111111111111111111111111111111111111111111111111111110111111111111101101111111 +1111111111111111111111111111111111101111111111111111111111111111111111111111 +11111111111111111111011111111111111111111111111111111111101101111111111111111111 +11111111111111111111100101111111111111111110000111111011111111111000010001111111 +1111110011011111111111111111111111110111111111111111111111111111111111011011 +11111111111111111111111111111111111111111111111111111111111101111111111111111111 +11111111111111111111011011110111111111111101111111111111010111110111101101111111 +1111111001011111111111111111111111111111111111111111111111111111111111111001 +11111111111111111010111111111111111111111111111111111111100001111111111111111111 +11111111111111111111111101110111111111111111110111101110111111111111001111111111 +1111111110011111111111111111111111111111111111111111111111111111111101111111 +11111111111111111111111101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111110111111111111111111111001 +1111111111111111111111111111111111111111111111111111111010011111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111011111111111111111101 +1111111111111111111111111111111111111111111111111111111100011111111110111001 +11111111111111111111111011111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111110111111111111111111111 +0111111111111111111111111111111111111111111111111111111111111111111101111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111011111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111010 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101010111111111111111111111111111111101111101010111110011111111111111111111 +1111111111111101111111111111111111101111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111110111111111111111111111111111111111111110011101100111111111111111111111 +1111111111111101111111111111111111110111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011101111111111111111111111111111111111110111111111111111111111111111111111 +1111111111111011111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111100111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111110111111111010111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111100111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11110011111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101110110011111011111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011111111111111111100111111011011111100011111111111111111111111111111111111111 +1111111011111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111001011111110011111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +00111111111111111111111111101011111111101011111111111111111111111111111111111111 +1111111101111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111011111111111 +11111111111111111111111111111111111111100011011111111111111111111111111111010111 +1111111111111111100111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111100010111111111111111111111111111111110111 +1111111111111111110111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111110011111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111110111111111111 +11111111111111111111111111111111111111110010110111111111111111111111111111101111 +1111111111111111101111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111011110111111111111111 +11111111111111111111111100110111111111111110101101011111111111111111111111101111 +1111111110111111111111111111111111111111111111111111111111110101111111111111 +11111111111111111111111111111111111111111111111111111111111101111111111111111111 +11111111111111111111111001111111111111110010110111011111111111110010011111110111 +1111111011011111111111111111111111111111111111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111111111111010010110110111111111111110101011111111111 +1111111111111111111111111111111111111111111111111111111111111011111111111111 +11111111111111111111111111111111111111111111111111111111011101101111111111111111 +11111111111111111111011101001111111111111111010111111111111111111111011111111111 +1111111001011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111110111111111111111111011111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111101111111111111111111110111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101011111111111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111110111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111101111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111110100011111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111110111111111111111111001 +11011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111001001100111111111111111111111111111111111111111111111111111 +1111111111110111111111111111111111111111111111111110011111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101101110111111111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111110111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111110101010111011111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111100111111111111111 +11111111111111111111111111111111111111111111111010011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111100111111111111111 +11111111111111111111111111111111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111011111111111111100011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101111111111111111111111110111111111111111111010011111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111101011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11110111111111111111111111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101111111111111111111110111111111111111111110101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111011111111111 +11111111111111111111111111100111101111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111110011111111111 +11111111111111111111111111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111110101111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111101111111 +11111111111111111111111111111111111111111111111111111111111111111011111111111111 +11111111111111111111111111101111101111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111010111111111111111111011111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111110111111111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111010111111111111111 +11111111111111111111111111101111111111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111110111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111110101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101111110111111111111111111111111111111111111111111111111111 +1111111111110101111111111111111111111111111111111101011111111111111101111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101101111111111111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111100001111111111111111111111111111111111111111111111111111111 +1111111111111011111111111111111111111111111111111111100111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101101111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111101110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110100111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111011111111110011111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110101111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111110011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111110011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110100111111111111111011111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000111111111111111111111111111111111111111111111111111111111111 +1111111111111001111111111111111111111111111111111011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111101011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000111111111111111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101111110111111011101111111111111111111111111011111111111111111111111111111111 +1111111111101111111111111111111111111111111111110010111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11100111111111111010111111111111111111111111111111101111111111111111111111111111 +1111111111111110111111111111111111111111111111110010110111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101101111111111111101111111111111111111111111011101111111111111111111111111 +1111111111100101110111111111111111111111111111111110000111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111101011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111110111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111110111111111111111111111111111111111111111111111111111111 +1111111111111111110111111111111111111111111111111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111110111110111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111110011111111011111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110111111111010111111111111111111111111111111111111111111111111111 +1111111111111111101111111111111111111111111111010011111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111101 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111100001111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111110111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111111111111111111111111111111111111111111110101111111 +1111111111111111111111111111111111111111111111111111100111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111101111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111100111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111110101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111110111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111110111111111111111111111111111111111 +11111111111111111111111111111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111101111111111111111111111111111111111011111 +11111111111111111111111111111111111111111110111111111111111111111111111111111111 +11111111111111111111111111111011111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111001111 +11111011111111111111100110111100100100111111111111111111111111111111101111111111 +1111111111111111111111111111111110111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111100010 +00011101111111110111101101011011011101111111111111111111111111111111111111111111 +1111111111111111111111111111111110111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101100110011111001111111111111111111111111111111110111111111 +1111111111111111111111111111111111110111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111011111001111111010111111111111111111111111111111111111111111111 +1111111111111111111111111111111111011111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111100111111111111111 +11111101101111111111111111111110101111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111101111 +11111111110111111011101001111111011100111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111110111 +11111011110111111110111111111111011101111111111011011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111110111111111010101111111110101111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111011111111111011011111101111011111111111111101011111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111100111 +11111101111111111010101101110111101101111111111111011111111111111111110111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111100101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111011111001111111011111111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111100111111111111111111111111111111111111111111111111111111111111111111111111 +11111101110111111111111111111111111101111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111010111111111111111111111111111111111111111111111111111111111111111111111111 +11111101110111111111100101111111001100111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111011110111110111111111111111011101111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11101111101111111111101001111101111011111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011111111110100110111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111100010 +00011101111111110111101101101111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111100111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101011111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111011111101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +00111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111111101111111111000111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111101111111111011101111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111110101111111111111111111111111101101111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111011111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111011111111111010101110110101011111111111111001011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111100111 +11111101111111111000100101100011111111111111111100011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111101011011011111111111111011011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000011000111011111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111011110111111111111111000111111111111111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111001100101111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111111111110110100110111111111111111111111111111111111111111111111110101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111100111111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101111111111001111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111100010 +00011111111111110111101111111110111110111111111111111111111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111111011101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111001100101111111010111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +00111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101111111111111100111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111011111101111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111111001111111111011111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111011101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11101011111111111011111111110101011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111011001 +11011111111111111111111111111111111111111111111111111111111111111111111111100111 +11110101111111111011001101101111011101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111111100101111111111111111111111011011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111100111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111011111001111110111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111110111010 +11111111111111111111111111111111111111111001111111111111111111111111111111111111 +11111001110111111110111111111111100101111111111111111111111111111111111111111111 +1111111111111111010111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111101111111111111111111111111111111111111 +11111101101111111110101101111111111111111111111111111111111111111111111111111111 +1111111111111111110111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111011111111111111111111111111111111100011 +11111011111111110110010011111111110101111111111111111111111111111111111111111111 +1111111111111111101111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111110111101111111111011111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011111111111111101111111111111111111111111111111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100010 +00011101111111110100111111111111111111111111111111111111111111111111110111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110100111101111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110111111111110110111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111000111101111100011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111100101011101011111111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111001111101111011111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111101011111100111 +11111011101111111011111001111111111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111011111100111 +11111101110111111011101101111111111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111110111111111111 +11111111111111111110010101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111011111111111111 +11111001111111111111111111111001111111111111111111111101111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111101111111111111 +11111101111111111111101001111101011110111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111011011111100011 +11111111111111110111111111111011011101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111011111111111111100101111111111111111111111111111011111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011111111111101101111101111111101011111111111111101111111111111111001111111 +1111111111111111111111111111111111111111111111011111111011111111111111111001 +11011111111111111111111111111111111111111111111111111111111111111111111111100010 +00011101111111110111101111110111111101011111111111101111111111111111111101111111 +1111111111111111111111111111111111111111111111011111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110111010101111111111111111111111111101101111111111111111011111111 +1111111111111111111111111111111111111111111111111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111101111101111111111001101111111111100111111111111111111111111111 +1111111111111111111111111111111111111111111111001111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111101111110111111111010101111111111110111111101000111111111111101111111111 +1111111111111111111111111111111111111111111111111101111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111110111111011101101110111011100100111111111111101111011111111100111111111 +1111111111111111111111111111111111111111111111111110000111111101111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111110111111111101011101111011101111111110111111101010111111111111101111111 +1111111111111111111111111111111111111111111111110011110111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111110111111001110101111111111101101111111111111101111111111111111111111111 +1111111111111111111111111111111111111111111111110010110111111101111111111101 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111011111111111011111111111111011111100111111111110011111111111111111111111111 +1111111111111111111111111111111111111111111111101111111111111111111111111011 +11011111111111111111111111111111111111111111111111111111111111111111111111100111 +11111101111111111011011111111111111111100111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111101111111111111111111111111010 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111101011101111111111111110011111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111101111101111101111111100011111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11101111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111110111111111111111010111011111110111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11101111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111110111111111100111100111011110110100110111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111111110111110111111111111111011101010001110111111111111111111111111111111111 +1111111111111111111111111111111111111111111111010011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111101111111111011101111010111111010011000111111111111111111111111111111111 +1111111111111111111111111111111111111111111111110011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11110101111111111100101111110111111111111110111111110101111111111111111111110111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111100010 +00011001111111110111111111101111111111011110111111111101111111111111111111100111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110111111101111111111111110011010111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111100011111111111011111111111111111110111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001110111010100111100111111111100110011111111101110011111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111101101110001000111111111111111101110000111111110111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111011101111111111011110011010111111111110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111011111111111011111101011111111111100011111111111111110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111111111111111001111111110011111111101111111111111111100111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111100111 +11111101111111111001001101101111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111101111001111111111111111011111111111111110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101111111111111101010101111011111111101111111111111111110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +00111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111011111111111111111111111111011111110110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111100111101111111111111111111111111111111110011111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111111111111110100111101111111111111011011111101011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111011111111111101111011111111111111111111111111011111001111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111100111111111111111 +11111011111111111111110111110101111111111111111111111111111011111111111111110111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111100010 +00011101111111110111101001101111011111111111100111111111110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111111111 +11111111111111111101111111111111111111111111111111111111111111111111111111101111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111001101101111111111111111110110111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111101111111011111111111111101111111110111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111101111111111011100111111001111101111110010111111111111011111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111011101111001111111111110111111111111010111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111011111111111101111101111011111101111111110111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111011111111111011101110111101001110111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111101111111111011101101011111011101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100100001111111111101111111111111111111111111111111111111111111 +1111111111110101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111110111101111110100111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111101111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111100111110011101111111111111111111110111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111110111111111 +11111011111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111111101101101101110111111111111111111111011111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111100111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111011111111110110111001111111111101111111111111111111110111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111110111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111110111111111111101111111111111111111110111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111010111111111111111 +11111111111111111111101111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111011111111 +11111111111111111111111111111111111111111111111111111111111111110111111111100010 +00011111111111110111101101101111111111111111111111111111101111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111110111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111111111 +11111111111111111110101101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111110101111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111011110001111111111111111111111111111110111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111111011011111111111111111111111100011111111111111111111111111 +1111111111100101111111111111111111111111111111111111111111111011111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111101111111111111111101110111111011111111110111100101111111111111111111111111 +1111111111100101111111111111111111111111111111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111111111111111111111111110111111101111111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111011111111111011111111111111101111111111100111101111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111011111111111001111110111111111100111111111111101111111111111111111111110111 +1111111111111111111111111111111110111111111111111111111011101111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111101111111111111001101011111111110111111111111101111111111111111111111110111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101001111111111101111111111111111101111111111111111111111111 +1111111111111111111111111111111111010111111111111111111101011101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110011110101111111111111111111111111110111111111111111111110101111 +1111111111111111111111111111111111110111111111111111111111010101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101110111111111111011111101111111111111100011101101111111111111111111111111 +1111111111111111111111111111111111111111111111111111110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111101111111111001101111111011111111110110001110011111111111111111111111111 +1111111111111111111111111111111111111111111111111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111010110111110111100101111111111111111111110111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111010111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111111111101111111111111111110010111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111110100111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11101111111111110111011110111111101011111111111011111111111111111111101111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111100010 +11011111111111110111100001111111111111111111111011111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +00001101111111111111101101011111111101111111111111011111111111111111111101111111 +1111111111111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11010111111111111011111101111111110111111111111101111111111111111111110111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111111101111100110011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111101110111111011101001110111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111110101101111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110111 +11101011110111111011110101101111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111100111111111100010 +11111111111111111000111110110110111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +01011111111111111111111111111111111111111111111111111111111111110111111111101111 +10011111111111111000111111100111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111101111111111111111 +11011111111111111100111111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011111111111111000111110010101111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111010 +00111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111100111111111111111111111111111111111111111111111111111111111111111111111110 +00011111111111111100111001111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111100111 +11111111111111110100101111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111101110 +11011111111111110110111101111010111011111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111111011 +11111101111111111100101111111111111111111111111111111111111111111111111111110111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111011010 +00011101111111110110101101111111111111111111111111111111111111111111111111110111 +1111111111111111111111111111111111111111111111111111111110011111111111111110 +11111110111111111111111111111111111111111111111111111111111111111111111111111011 +11111011111111110110100001111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111110111111111111111111111111111111111111111111111111111111111111111111111011 +11101111111111111100111101111111111111111111111111111111111111111111111110101111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +00111111111111111111111111111111111111111111111111111111111111111111111111111011 +11011101111111110111111111111111011100111111111111101101111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111011 +11111111111111111010000111111110011101111111111111111001111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11011111111111111110111101111111111011111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111010 +11011011111111111111101101111011111111111111111111100111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111111011111101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111111110 +01011111111111001011101111111111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111011111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +10011111111111111111110101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111011111111111111111100000111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +10011111111111001111111111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111010111 +11011111111111110111111111111111111100111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011111111110111100111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11111111110010111111111100111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011111 +11011111100111111111100001111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111011 +10011111111111011111111100010111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011110111101111111011101111010111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111110011 +11111111111111111111100011111111111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111110011 +11111111111111111111101101111000011111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111110111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100011 +11111111111111111111101101111011111111111111111101011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +11111111111111111111111101111000111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111110111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111101011111111110111101001011111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111100 +11111111111111111111111111111111011111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +01011111111111011111111111111111111101111111111011011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011111111110111111111111011110110111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11111101111111111111111111111011111111111111111111111101111111111111111111111111 +1111111111111010111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011011111111111111101111111101111111111111111111111111111111111111111111111111 +1111111111111100110111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011111 +00011111111111111111010111111111111101111111111111111011111111111111111111111111 +1111111111111111010111111111111111111111111111111111111111101101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110101 +11011111111111111111111101111111101111111111111111111111111111111111111111111111 +1111111111111110111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111011111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011111 +11011111111111110110111111111111111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +10011111111111111111111111110111111111111111111111011111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011111111111111011111111110111111111111111111101011111111111111111111111111111 +1111111111110111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101110111111111111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111100 +10011111111111111110100111011011011011111111111111011111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +01011111111111111100111101111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011111111111111000111111111100101111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111010111111111111110111111111111111101 +10111111111111111000111010111111010111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111110111111111111111110011111111111111111 +11111111111111111111111111111111111111111111110111111111111111011111111111111110 +11011111111111111100001101010110101111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111011111111111111111011111111111111111 +11111111111111111111111111111111111111111111101111111111111110110111111111111101 +01011111111111111100111101110111111101111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110111101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111000110110110111101111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111111111 +11111001111111111100100011111101111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111111111 +11111101111111111100101101111111011111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011011 +11111111111111110100101101111111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011111111111111111101111111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +01111101111111111111111111111111111111111111111111011111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111011111111111111111001 +11011111111111111111111111111111111111111111111111111111111111111111111111011100 +11111001111111111111111111111111111111111111111111111111111111111111111001111111 +1111111111111111111111111111111111111111111111111111111101111111111111011001 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11101111111111111111111111111111111111111111111111111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111010 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111110011001111111111111111111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111110111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111000 +11111111110111011111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111100111011 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111110011111111111110111111111111111111111111111111111111111111111111111 +1111111111110111111111111111111111101111111111111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +01111111110001111111111111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111101111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101011 +11101111101111111111111110111111111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111101101111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111011111111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111110110111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11100101111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100010 +11011111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111010111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111111001 +11111111110111111111111111111111111111111111111111111111111111111111111111111111 +1111111111110101111111111111111111111111111111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111111110 +11111111110111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011111 +01011111110111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110010 +11011111011111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111111101 +11111011111111111111111111111011111111111111111111111111111111111111110101111111 +1111111111111101111111111111111111111111111111111111111111011111111111111111 +11011111111111111111111111111111111111111111111111111111111111100111111111011111 +11011101111111111111111111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111110011111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +10011111111111111111111111111101111111111111111111111111111111111111111011111111 +1111111111111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111001111111111110111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111110111111111111111111011111111110011111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111000 +11011111110111111111111111111111111111111111111111111101111111111111111111110111 +1111111111111111111111111111111111111111111111111111111111111111100111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +10011111111111111111111110110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111101111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +01111110111111111111111111011111111111111111111111101111111111111111111110111111 +1111111111111111111111111111111111111111111111111111111101011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11111101111001111111111111110111111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111111110 +01011111111111111111111111111111111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111101111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +10011111111111011111111111101111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111100101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11011011111111011111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +11111101110001111111111111111101011111111111111111111111111111111111111101111111 +1111111111111111111111111111111111110111111111111110101111101111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +11111101100111111111111111111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111110111111111111110110111110111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011010 +11111011111111111111111111111110111111111111111111111111111111111111111011111111 +1111111111111111111111111111111111101111111111111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111011 +11001110111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111110111111111111111111010111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111001111111110111111111111111111111111011111111111111111111001111111 +1111111111111001111111111111111111111111111111111111111111111111111111111001 +11011111111111111111111111111111111111111111111111111111111111110111111111010010 +01111111110111011111111111111111111111111111111110011111111111111111111101111111 +1111111111111101111111111111111111111111111111011011111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111010011 +11011111111111111111111110010111111111111111111111111111111111111111111011111111 +1111111111111011111111111111111111111111111111011011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111111111 +11111110111110111111111111111111111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111110011111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111010011 +11111111101111111111111110111111111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111011011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100001 +11011111110111111111111111111111111111111111111101111111111111111111111111111111 +1111111111111111111111111111111111111111111111101011111111111111111111111011 +11111111111111111111111111111111111111111111111111111111111111111111111111110001 +11011111111111111111111110110111111111111111111011011111111111111111111111111111 +1111111111111111111111111111111111111111111111111011111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +10011111111111111111111111011111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111110011111111111111111111111101 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +10101111010001011111111111111111111111111111111111111111111111111111111001111111 +1111111111111111111111111111111111111111111111101111111110011111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111101110 +01011111110101011111111111111111111111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111101100100110011111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +11100101101111011111111111111111111111111111111111111111111111111111111011111111 +1111111111111111111111111111111111111111111111111111010111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110101 +11011111111110011111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111101101110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111011101111111111111111111111111111111111111111111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11111111111111001111111111111111111111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111010011 +01111111111111011111111111111111111111111111111111111111111111111111111111111111 +1111111111111011111111111111111111111111111111011011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111110011 +11111111111101111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111101111111111111111111111111111111111111 +10111111111111111111111110010111111111111111111011111111111111111111110101111111 +1111111111111001111111111111111111111111111111111111110111111111111111111111 +11111111111111111111111111111111111111111011111111111111111111111111111111011110 +01011111111111011111111111000111111111111111111101111111111111111111111101111111 +1111111111111101111111111111111111111111111111111110000111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11111101111010111111111111111111111111111111111111011111111111111111111111111111 +1111111111111011111111111111111111111111111111111111110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11011101111111011111111111111111111111111111111111011111111111111111111011111111 +1111111111111111111111111111111111111111111111111101110111111111111111111111 +11111111111111111101011111111111111111111111111111111111111111110111111111111101 +11111101110111111111111110111111111111111111111011111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111011111111111111111 +11111111111111111111011111111111111111111111111111111111111111110111111111101110 +11011111110111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111110111111111111111111111111111111111111111111101111111111111011 +01011010110111111111111110110111111111111111111101011111111111111111111111111111 +1111111111111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111101111 +10111110101111111111111111011111111111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111111011111111111111110101111111111111111111111111111111101011 +11101111111111111111111111111101011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111111101111111111111111101111111111111111111111111111111101001 +10011111111111111111111111111111011111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111101111111111111111111 +11111111111111111111111111111111111111111011111111111111111111111111111111111011 +11011111111111111111111111111110111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111010 +11010111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111110 +11111110111101111111111110111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111011001111111111111011111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111011110 +11011111111111011111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11011111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111010111111111111111 +11111111111111111110111111111111111111111111111111111111111111111111111101111111 +1111111111111101111111111111111111111111111111111111111111011111111111111111 +11011111111111111111111111111111111111111111111111111111111111110111111111111111 +11111111111111110100111111111111111111111111111111111111111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111110 +11111111111111111111111111111111111111111111111111111111111111101111111111111111 +11111111111111111100111111111011011111111111111111111111111111111111111011111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111010111111111111111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111110111110111110101111111111111011111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000111111111111010111111111111101111111111111111111111111111111 +1111111111110111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111111010111011101111111111011011111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111010101101110111101111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111101111111111111111111111111111111111111 +11110101111111111000111110111111011111111111111011011111111111111111111111111111 +1111111111101101111111111111111111100111111111111111111111111111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111000111111011111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111110111111111111111111111111111111111111110 +11111111111111111111111111111111111111111011111111111111111111111111111111111111 +11111111111111111100111111111111111111111111111111111111111111111111111111111111 +1111111111110101111111111111111111101111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000111111111111111111111111111100111111111111111111111111111111 +1111111111111001111111111111111111111111111111111111111111111111111111111111 +10110011111111111111111111111111111111111111111111111111111111111111111111111111 +11100101111111111100111110111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101101111111111110100101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111100111111111111111111111111111111111111111111111111111111111111111111111111 +11110001111111110100011111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111001010111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011010110101011111111111111111110111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110001111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110100111101001111011111111111111111111101111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110011111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110100101101111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111110111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111110111101111110111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +00111111111111111111111111111111111111111111111111111111111111110111111111111111 +11111101111111110111011111111111111111111111111111111111111111111111101111111111 +1111111111111101111111111111111111111111111111111111111111101111111111111111 +11111111111111111111111111111111111111111111111111111111111111101111111111111111 +11111011111111111000101111111111111111111111111111111111111111111111110111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111101111111111111111111111111111111111111111111111111111111 +1111111111111110110111111111111111111111111111111111111111110101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111010101111111111111111111111111111111111111111111111111111111 +1111111111101011111111111111111111111111111111111111111111111101111111111111 +01111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000111111111111111111111111111111011111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111011111111111111111 +01011111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111001111111111111111111111111111111011111111111111111111111111111 +1111111111111011111111111111111111111111111111111111111110011111111111111110 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111100111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111000111111111111111111111111111011111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +00111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111101001111111111111111111111111111111111111101111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111111111111011111111111111111111111111111111111111001111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111110111111111111110111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111100111111111111110110111111111111111111111111111111101111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111111100111011111111111111111111001111111111111111111110111111 +1111111111111001111111111111111111111011111111111111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111111111000111111111111111111111110110111111111111111111111011111 +1111111111111101111111111111111111111101111111111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011101110111111111111111111111101101111111111111111110110111 +1111111111111011111111111111111111111011011111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011111111111111111101011101111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111100111111111111111111111011111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111100111110111111111111111111111111111111111111111111111111111 +1111111111111101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101111111111111111111110111111111111111111111111111111 +1111111111111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011101111111111111111111111111111111111111111111111111111111 +1111111111101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111101111111111111111111111111111111111111 +11111111100111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111110111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111111111111111111111111011111111111111111111111111111111111111 +11111111101111111111111111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111101111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111101111111111111111111 +11101111111111111111111111111111111111111111111111111111111111111111111111111111 +11101111111111111111111111111111111100111111111111101111111111111111111111111111 +1111111111111111111111111111111111111011111111111111111111111111111111111111 +11101111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111101111111111111111111111111111111111111111111 +1111111111111111111111111111111111111101111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101101111111111111111111111111111011111111111111110101111111111111111110110111 +1111111111111110110111111111111111111011011111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11110111111111111111111111111111111111111111111111111101111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111111111111111111111111111111111111111111111111111111111111101111111 +1111111111111001111111111111111111111111111111111111111110011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111101111111111111111111111111111111111111111111111111111111111111111011111111 +1111111111111101111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111011111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111011111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111001111111111111111110011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111000101111011011111111111111111011111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111001111110111111111111111110111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111101101111011111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111111111111111101111111111111111110100111111111111111 +11101101010111111111111111111110001101111111111111111111111111111111111001111111 +1111111111111001111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111000111111111111111 +11111101110111111111111111111111011101111111111111111111111111111111111101111111 +1111111111111001111111111111111111111111111111111111111111011111111111111111 +11111111111111111111111011111111111111111011111111111111111111110111111111111111 +11111101101111111111111111111111111011111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111111111111 +11100001111111111111111111111110111111111111111111111111111111111111111011111111 +1111111111111111111111111111111111111111111111111111111011111111111111111111 +11111111111111111111011111111111111111111111111111111111111111111111111111111111 +11101111111111111111111111111011111111111111111110111111111111111111111111111111 +1111111111111110111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011111111111111111111111111111111111111111111111111111111111 +11110111111111111111111101111111011111111111111111011111111111111111111111111111 +1111111111111110111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111011011111111111111111111111111111111111111111111111111111111 +1111111111111111010111111111111111111111111111111111111111111111111111111111 +11111111111111111010111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111101111001111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111111111111111111111111111111111111111 +01111111111111111111111111111111101111111111111111111111111111111111101110111011 +11111110111111111100110111111111101101110110111111110000111011001111111111111111 +1111011111111110111101111111111111111111111111111011111111111111111111111001 +01011111111111111111111111111101001111111111111111111111111111111111110100010010 +00011111110111010100001111111111111001011111110111101101010001111111111111111111 +1101111001111111110111111111111111111111111111011111111111111111111111111001 +11111111111111111111111111111101101111111111111111111111111111111111111101010011 +11111111111111111100111101110011000101111110100111101111110111111111111111111111 +1101011111111110111111011111111110110111111111011111111111111111111111111111 +11111111111111111111111111111101101111111111111111111111111111111111111111111010 +11011110101111011000101101110111101111101111110111101101111110111111111111111111 +1101011011011110100111111111111111111111111111111011111111111111111111111011 +00111111111111111101111111111101001111111111111111101111111111111110111111011011 +11101111111111011100111110010110001111111111100001001100101111111101101101110111 +0101111110110110111110011111111111111111111111010101111111111011110111111111 +11111111111111111111011111111110001011011111110111011111111111111111111111100011 +11010111110010011100001111110111011110101110110111001101111111101011110011110111 +0110111011001100110010011111111111111111111111110010110111111101111111111011 +11111111111111111111111111111111101111111111111111111111111111111111011111110001 +11111101111111111111111101100111010101111111110000000001110111111111111101111011 +1111011011111101110111011111111110110111111111110011000111111101111111111001 +11111111111111111111111111111111000100011111110111111111111111111111111111111011 +10011101110111111000110111010111011111101111011111111111011110111111111101110110 +1111011101011111010111111111111111111111111111110110110111111111101111111101 +11111111111111111111111111111110111111111111111111101111101111111111101111101111 +11111111111111111000111111111110101111101111111110111110111110011111111111101111 +0110111111111111111111111111111111111111111111100101111111111100101111111111 +11011111111111111111111111111110111011011111111111011111111101111111111110101111 +11111111111111111100111111111111111110101111111111011111010011011111111111111010 +0110111000011111111111111111111111111111111111110110111111111111111111111110 +11111111111111111111111111111111110101111111111111111111011101111111111101111111 +11111111111111111100111111111111111101111111111111111110110111111111111111111111 +1111111011111111111111111111111111111111111111110111110111111111110111111111 +11111111111111111111111111111111111110011111111111111111111001111111110111101111 +11111111111111111010101101111111110111101111111111111111111100111111111111111111 +1111111111011111111111111111111111111111111111110111011111111111011111111111 +11111111111111111111111111111111110111111111110111001111111110111111011101111110 +11101101111111011100111110111111011101111111111011011100111111011111111101110111 +1111101011111101110111111111111111111111111111111110111111111110100111111111 +11111111111111111111111111111111111000011111111111011111111101111111111101111110 +11010011110111011100101111111111011101110110011010111101011011011111111101111111 +1111001010011101110111111111111111111111111111111110010111111111100111111111 +11111111111111111111111111111101111111011111110111111111101010010111001111011011 +01011111111010110100111111110111001001011101111101011101110101111111111111110111 +0101111111011111110111111111111111111111111111011111110111111110110111111111 +11111111111111111111111111111111011011011111111110111111111101111111111011011111 +10111111011111111110010101010110101111111111110111111011111111111111101011111011 +1111111001001011101111111111111111111111111111111111101111111111011111111111 +01111111111111111111111111111111101110111011111110011100111111111111111111111111 +11111111100111111111110000111111111001111101111111111111110111110101111111111011 +1111110111111110111111011111111110111111111111111010111011111111111111111001 +01011111111111111111111111111101110011011101111111110111111111110111111111011110 +00011111100111110110101100011111111100011110110111111111101111111011111111111101 +0001001110011111111111001111111110110111111111011110111011111111111111111001 +11101111111111111111111111111111001111011111111111110111111111111111111111110111 +11111111111111110111111101110111111101111111100111111111110111111111011111111111 +0111111111011111110110111111111111110111111111011111010111011111111111111111 +11101111111111111111111111111111100101011111111111111100111110111111111111111110 +11011111111111111111011101111111111101101110010111111111110111111111111111111111 +1010111011011111010111111111111110011111111111011111111101111111111111111011 +00111111111111111111111111111111101111111111111111110110111011111101111111111111 +10001001111111110100110010100011000111111110111011011111111111111111101100111111 +1111110111101101111111111111111111110111111111010011001011111110111101111111 +11111111111111111111111111111111111111111111111111111010001101111111011111111110 +11010101111111111000101101110111111111101110100111011111111111111111111100111111 +1110001010010001111111111111111111100111111111100010110101111111011101111011 +11111111111111111111111111111110001111111111111111111110111101111111111111101111 +11011001111111111100111111110111011101110110110110011111111111111111111001010111 +1111111111011101111111111111111111111111111111111111111111011111111101111001 +11111111111111111111111111111111101111111111111111111110110111111111111111111110 +01011101111111111100111111000100011101101111010001011111111111111111100101111111 +1110001001001101111111111111111110111111111111111110110111011111111111111101 +01111111111111111111111111111111001111111111111110001000111111111101111111111111 +11111111111111111011110001111111111001101110011111111110110111111111111111111111 +1110110110111101111110011111111111111111111111101111111111111111111111111111 +01011111111111111111111111111111111111111111111111011000111111111011111111111111 +11011111111111111011101101111111111100101110110111111111000011111111111111111111 +1110111011011111111011011111111111111111111111101111111111111111111111111110 +11111111111111111111111111111111001111111110110111001100111111111011011111111110 +10111111111111111101111101111111111111111111110111111111111111111111111101111111 +1111101111011111111111111111111111111111111111110011111111111111111111111111 +11111111111111111111111111111111001111111111111111111111111111111111111111111111 +11011111111111111001011101111111111111101111101111111111111111111111111101111111 +1110111101111011111111111111111111111111111111110011111111111111111111111111 +00111111111111111111111111111111001111111001111111111100111110111111011111110111 +11111001110011111111111111100111101111111010111111011110000111111111111101010111 +1111111111011101010011111111111111111111111111110010111111111111111111111111 +11111111111111111111111111111111111011011101111111111100101101111110111111111111 +11111001100111111100001101100111110111111010110111011111110011111111111101110111 +1111111011011101110111111111111111111111111111111010110111111111111111111111 +11111111111111111111111111111101001101111111111111110100010111111111111111011111 +11111111111111010100011101111111111100011110110111111111111111111011111111111111 +1101111011011011111111001111111111111111111111011010010111111111111111111111 +11111111111111111111111111111111000110011011111111111100111001011111111111111111 +11111110111101101111110001111111111111111111000010111111111111111111001011101111 +1111111100001111101101111111111111111111111111110011100111111111111111111111 +11111111111111111111111111111111111011111111111111111110100111111111101111111101 +10111111111111111100101110111110111111111110111111001110101111111111111110111111 +0111011011111111111111111111111111111111111111111001101011111111111111111001 +11011111111111111111011111111101011011011111111111110111101001111111111110111110 +01011111111111110111100001011111011111010011111111011111111101001111111110111011 +0101011011011111111111111111111111111111111111011010110111111111111111111001 +11111111111111111111111111111101011011011111111111110111111101111111111101111111 +11011111111111110100101101111111111111010011110110111111110101001111111111010111 +1101011010011111111111111111111111111111111111111010110101011111111111111110 +11111111111111111011111111111111111100011111111111111111101101111111110111111111 +11111111111111111100111101111111111111110011111011110111011111111111111111111110 +1101111101011111111111111111111111111111111111111011010111011111111111111011 +11111111111111111111111111111101011111110101111111110110111111111111111111111111 +11101101111111110100111110100111111111011101111011011111111001001111101101111111 +1001011111101101111111111111111111110111111111111111011111111111111111111111 +11111111111111111111111111111110011001011001111111111011111111111111111111111110 +01011101111111111111111110110111111110110010000110111111110110111001010001111111 +0110011001011001111111011111111111110111111111111110110011111111111111111011 +11111111111111111111111111111111111010111111111111111111111111111111111111111101 +11111001111111111100111111000111111101110011110111011111111111111011111101111111 +1111011111111101111111111111111111101111111111100011111111011111111111111001 +11111111111111111111111111111111111111011111111111111100111111111111111111111111 +10000101111111111100101101111111111111110010110101011111111111001110001101111111 +1111010110000101111111011111111110111111111111110010100111111111111111111111 +01111111111111111111111111111110111111111111110111111011011111111111011111111111 +11111110111011111010111111111110011100101111111111111110101110001100111111110111 +1110000111111001111111001111111111111111111111110010111111111111111111111001 +01011111111111111111111111111110001011011111100111111001100101111110011111111111 +11111111111111101111111111111111011101111111111111111111111110110011011111100111 +1110001010011101111111011111111111111111111111110010110111111111111111111001 +11111111111111111111111111111111001010111111111111111100111101111111111111111111 +11111110110111011111101111111111111111111101111111111111110111000111011111111111 +1111101011011111111111111111111111111111111111111110110111111111111111111111 +11111111111111111111111111111110011101011110111111111000111011111011111111111111 +11111111011101111111111101111110111011110011110111111111011111111111011110111111 +1111101101011011111110111111111111111111111111111111000111111111111111111011 +00111111111111111101111111111111001111111111111111111111111111111111111111111111 +10111111111111111111011110011111111110111111111110011110110101001111111001111111 +1111001011111100010111111111111111011111111111110011111111110101111111111111 +11111100111111111111011111111111001111111111111111111111111111111111111111111111 +11011111111111111111111001110111111100111101111111001111110001001111111001111111 +1111011000011101110111111111111111110111111111110011111111111101111111111011 +11111111111111111111111111111101001111111111111111110100111111111111111111111111 +11111111111111110111101101010111111101011101110110111100010101111111111111111111 +1101101011011111101111111111111111111111111111010011111111111011111111111001 +11111111111111111111111111111111011111111111111111111100111111111111111111111111 +11111111111111111111111101110111111111111111110111111111101111111111111111111111 +1111101111001011011111111111111111111111111111110011111111111111111111111101 +11111111111111111111111111111111111110111111111111111111101011111111111111111111 +11111111111111111111111110101111111011111111111111111111111111111111111111111110 +1111011011101111111111111111111111111111111111111111111111111111101111111111 +11111111111111111111111111111111111001011111111111111111101101111111111111010011 +11111111111111110111100101110111111101011110011111111111111111111001111111111111 +0101101111011111111111111111111111111111111111111111111111111111110111111111 +11101111111111111111111111111111111111111111111111111111111101111111111111010011 +11111101111111110100101111111111111111010110111111111111111111111011111111111111 +1101001011010101111111111111111111111111111111111111111111111111111111111111 +11100011111111111111111111111111110111011111111111111111110111111111111111111111 +11111101111111111100111001011111111111111011110111111111111111111111011111111111 +1111111110011101111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111011111111111111111111101111111111111111010011 +11101001111111110111111010100110101111010001101011010001111011111111111001110111 +1101011111111101111111111111111111111111111111111110011111111111111111111111 +11111111111111111111011111111111111011111111111111111111100111111111111111100010 +11010100111111111010101101110010011101110011110110001101111111111111111000111111 +1110101111011011111111111111111111111111111111111110110011111111111111111111 +11111111111111111111111111111111111111011111111111111111111101111111111111110011 +11111100010111111101100111101001101111110010110001011110110111111111111110011111 +1111001010111111111111111111111111111111111111111111110111011111111111111111 +11111111111111111011111111111111111101111111111111111111111111111111111111100011 +00111001111111111100111101011011011011110011110011101110111111111111111110110111 +1111111111011111111111111111111111111111111111111110100111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111011111101110 +11111110100111111000111110111111011111101101111111111111111111111111111100111111 +1110101110111111110111111111111111111111111111111111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111100111100110 +01111111010111111000001101011110111111101111100111111111111111111111111011011111 +1110101111011111110111111111111111111111111111111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111110111101111111 +11011111101111111100011101111111111111111110110111111111111111111111111111111111 +1111001111111111101111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111110111111110 +11011111111111111100110001111111111111111111110111111111111111111111111111111111 +1111000111011110111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111011111101111111111111111111111111111111111111 +11101101111111111100110011100010111111111011001010001111111111111010101100111111 +0011101011111111111111111111111111110011111111111111111111111111111111111111 +11111111111111111111111111111111111011011111111111111111111111111111111111111111 +11011101111111111100001101110111000111111100110111011111111111111001010001111111 +0111101001011111111111111111111110110111111111111111111111111111111111111111 +11111111111111111111111111111111111100011111111111111111111111111111111111011101 +11110001111111110110011101101101011101011101110011010111111111111111001101011110 +1101001111011111111111111111111111100111111111111111111111111101111111111111 +11111111111111111111111111111111111011011011111111111111111111111111111111111111 +10001101111111111100111101111111010111111111110100111111111111111011001111111111 +1111101110111111111111111111111110111101111111111111111111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111011111111111111111111111011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111110111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111011111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111110111111111111111111111111111111111111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111101111111111111111111110111111111 +1111111111110111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111110111111111111111011111111111111111111111 +1111111111111001111111111111111111101111111111111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111001111111111111111111110111111101111111111111011111111 +1111111111101001111111111111111111101111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111101111111111111111111111111111111 +11111111111111111111111111111111111111011111111111111111111111111111111111111101 +1111111111110111111101111111111111010111111111111111111101111111111111111111 +11111111111111111111111111111111111011111111111111111111111111111110111111111111 +11111111111111111111111111011111111111111111111111110011111111111111110101001011 +1111111111100111101011111111111111010100111111111111111111111111111111111111 +11111111111110111111111111111111111111111111111101111111111111111111111111111111 +11111111111111111111111111111111111111111110111111111111111111111111111111101001 +1111111111111111111101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111001111111111111111111111111011110011111111111 +11111111111111111111111111111111111111111111111111110101111111111111111111011111 +1111111111111111110111111111111111111100011111111111111111111001111111111111 +11111111111111011111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111110001111111111111111111111111111111111 +1111111111111111110111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111010111111111111111111111111 +1111111111111111101111111111111111111111111111111111111111111111111111111111 +11111111011110101111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111101111111111111111111111110111111111111111111111111111111111 +11111111011111111111111111111111111110111111111111111111111111111111101111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111101111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +1111111111111111111111111111111111111111110111111111111111111111111111111111 +11111111111111111111111110111100101001001111011101111111111111111111101111111111 +11111111111011111111111111111111101111111111111111111110111111111111111111111011 +1111111111111111111011111111111111111111101111111111111111111110111111111111 +11111111111111111111111110111100101100110111001111110010100100111101110111111111 +11111111111011110010100100111101111011001100010011110110101100110001001111011010 +1100110001001111011001110011000100111101100111001010010011110111011111111111 +11111111001010010011110111011100101001001111001111111111111111111111101111111111 +11111111111011111111111111111111101111001100010011110110011111111111111111111011 +1111111111111111111011111111111111111111101111111111111111111110111111111111 +11111111001101111111011110111100110111111101111011111111111111111111101111111111 +11111111111011111111111111111111101111111111111111111110111100110001001111001011 +1100110001001111011001110011000100111100100111001010010011110111101111111111 +* +C5944* +N User Electronic Signature Data* +U00000000000000000000000000000000* +47B1 diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.log b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.log index d0353b8..9ce5b3b 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.log +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.log @@ -1,4 +1,4 @@ ----- MParTrce Tool Log File ---- - -==== Par Standard Out ==== -==== End of Par Standard Out ==== +---- MParTrce Tool Log File ---- + +==== Par Standard Out ==== +==== End of Par Standard Out ==== diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.mrp b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.mrp index fb266c4..cbdd36d 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.mrp +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.mrp @@ -1,336 +1,336 @@ - - Lattice Mapping Report File for Design Module 'RAM2GS' - - -Design Information ------------------- - -Command line: map -a MachXO -p LCMXO640C -t TQFP100 -s 3 -oc Commercial -ioreg - b RAM2GS_LCMXO640C_impl1.ngd -o RAM2GS_LCMXO640C_impl1_map.ncd -pr - RAM2GS_LCMXO640C_impl1.prf -mp RAM2GS_LCMXO640C_impl1.mrp -lpf D:/OneDrive/ - Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplif - y.lpf -lpf - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.lpf -c - 0 -gui -msgset - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml -Target Vendor: LATTICE -Target Device: LCMXO640CTQFP100 -Target Performance: 3 -Mapper: mj5g00, version: Diamond (64-bit) 3.12.1.454 -Mapped on: 08/16/23 04:50:46 - -Design Summary --------------- - - Number of PFU registers: 92 out of 640 (14%) - Number of SLICEs: 69 out of 320 (22%) - SLICEs as Logic/ROM: 69 out of 320 (22%) - SLICEs as RAM: 0 out of 192 (0%) - SLICEs as Carry: 9 out of 320 (3%) - Number of LUT4s: 137 out of 640 (21%) - Number used as logic LUTs: 119 - Number used as distributed RAM: 0 - Number used as ripple logic: 18 - Number used as shift registers: 0 - Number of external PIOs: 67 out of 74 (91%) - Number of GSRs: 0 out of 1 (0%) - JTAG used : No - Readback used : No - Oscillator used : No - Startup used : No - Number of TSALL: 0 out of 1 (0%) - Notes:- - 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of - distributed RAMs) + 2*(Number of ripple logic) - 2. Number of logic LUT4s does not include count of distributed RAM and - ripple logic. - Number of clocks: 4 - Net PHI2_c: 14 loads, 5 rising, 9 falling (Driver: PIO PHI2 ) - Net RCLK_c: 32 loads, 32 rising, 0 falling (Driver: PIO RCLK ) - Net nCRAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 5 - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_31: 1 loads, 1 LSLICEs - Net N_33: 1 loads, 1 LSLICEs - Net N_159_i: 2 loads, 2 LSLICEs - Net CmdUFMCLK_1_sqmuxa: 2 loads, 2 LSLICEs - Number of LSRs: 4 - Net RA10s_i: 1 loads, 1 LSLICEs - Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs - Net RASr2: 2 loads, 2 LSLICEs - Net Ready_fast: 7 loads, 7 LSLICEs - - Page 1 - - - - -Design: RAM2GS Date: 08/16/23 04:50:46 - -Design Summary (cont) ---------------------- - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 16 loads - Net Ready: 16 loads - Net S[1]: 13 loads - Net CO0: 12 loads - Net nRowColSel: 12 loads - Net RASr2: 11 loads - Net Din_c[5]: 10 loads - Net Din_c[3]: 9 loads - Net IS[0]: 9 loads - Net MAin_c[1]: 8 loads - - - - - Number of warnings: 0 - Number of errors: 0 - - -Design Errors/Warnings ----------------------- - - No errors or warnings present. - -IO (PIO) Attributes -------------------- - -+---------------------+-----------+-----------+------------+------------+ -| IO Name | Direction | Levelmode | IO | FIXEDDELAY | -| | | IO_TYPE | Register | | -+---------------------+-----------+-----------+------------+------------+ -| RD[0] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[0] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| PHI2 | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| UFMSDO | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| UFMSDI | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| UFMCLK | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nUFMCS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RDQML | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RDQMH | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRCAS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRRAS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRWE | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ - - Page 2 - - - - -Design: RAM2GS Date: 08/16/23 04:50:46 - -IO (PIO) Attributes (cont) --------------------------- -| RCKE | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RCLK | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRCS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[7] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[6] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[5] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[4] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[3] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[2] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[1] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[11] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[10] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[9] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[8] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[7] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[6] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[5] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[4] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[3] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[2] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[1] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[0] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RBA[1] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RBA[0] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| LED | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nFWE | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nCRAS | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nCCAS | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ - - Page 3 - - - - -Design: RAM2GS Date: 08/16/23 04:50:46 - -IO (PIO) Attributes (cont) --------------------------- -| Dout[7] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[6] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[5] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[4] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[3] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[2] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[1] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[7] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[6] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[5] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[4] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[3] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[2] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[1] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[0] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| CROW[1] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| CROW[0] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[9] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[8] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[7] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[6] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[5] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[4] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[3] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[2] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[1] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[0] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ - - - - Page 4 - - - - -Design: RAM2GS Date: 08/16/23 04:50:46 - -Removed logic -------------- - -Block GSR_INST undriven or does not drive anything - clipped. -Signal nCRAS_c_i was merged into signal nCRAS_c -Signal nFWE_c_i was merged into signal nFWE_c -Signal nCRAS_c_i_0 was merged into signal nCRAS_c -Signal nCCAS_c_i was merged into signal nCCAS_c -Signal Ready_fast_i was merged into signal Ready_fast -Signal IS_i[0] was merged into signal IS[0] -Signal RASr2_i was merged into signal RASr2 -Signal XOR8MEG.CN was merged into signal PHI2_c -Signal GND undriven or does not drive anything - clipped. -Signal VCC undriven or does not drive anything - clipped. -Signal FS_cry[2] undriven or does not drive anything - clipped. -Signal FS_cry[4] undriven or does not drive anything - clipped. -Signal FS_cry[6] undriven or does not drive anything - clipped. -Signal FS_cry[8] undriven or does not drive anything - clipped. -Signal FS_cry[10] undriven or does not drive anything - clipped. -Signal FS_cry[12] undriven or does not drive anything - clipped. -Signal FS_cry[14] undriven or does not drive anything - clipped. -Signal FS_cry_0_COUT1[16] undriven or does not drive anything - clipped. -Signal FS_cry[16] undriven or does not drive anything - clipped. -Signal FS_cry[0] undriven or does not drive anything - clipped. -Block nCRAS_pad_RNIBPVB was optimized away. -Block nFWE_pad_RNI420B was optimized away. -Block RASr_RNO was optimized away. -Block nCCAS_pad_RNISUR8 was optimized away. -Block Ready_fast_RNI29NA was optimized away. -Block IS_i[0] was optimized away. -Block RASr2_RNIAFR1 was optimized away. -Block XOR8MEG.CN was optimized away. -Block GND was optimized away. -Block VCC was optimized away. - -Run Time and Memory Usage -------------------------- - - Total CPU Time: 0 secs - Total REAL Time: 0 secs - Peak Memory Usage: 30 MB - - - - - - - - - - - - - - - - - - - Page 5 - - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. - Copyright (c) 1995 AT&T Corp. All rights reserved. - Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. - Copyright (c) 2001 Agere Systems All rights reserved. - Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights - reserved. + + Lattice Mapping Report File for Design Module 'RAM2GS' + + +Design Information +------------------ + +Command line: map -a MachXO -p LCMXO640C -t TQFP100 -s 3 -oc Commercial -ioreg + b RAM2GS_LCMXO640C_impl1.ngd -o RAM2GS_LCMXO640C_impl1_map.ncd -pr + RAM2GS_LCMXO640C_impl1.prf -mp RAM2GS_LCMXO640C_impl1.mrp -lpf + Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf + -lpf Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO.lpf -c 0 -gui -msgset + Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml +Target Vendor: LATTICE +Target Device: LCMXO640CTQFP100 +Target Performance: 3 +Mapper: mj5g00, version: Diamond (64-bit) 3.12.1.454 +Mapped on: 08/19/23 20:57:13 + +Design Summary +-------------- + + Number of PFU registers: 92 out of 640 (14%) + Number of SLICEs: 69 out of 320 (22%) + SLICEs as Logic/ROM: 69 out of 320 (22%) + SLICEs as RAM: 0 out of 192 (0%) + SLICEs as Carry: 9 out of 320 (3%) + Number of LUT4s: 137 out of 640 (21%) + Number used as logic LUTs: 119 + Number used as distributed RAM: 0 + Number used as ripple logic: 18 + Number used as shift registers: 0 + Number of external PIOs: 67 out of 74 (91%) + Number of GSRs: 0 out of 1 (0%) + JTAG used : No + Readback used : No + Oscillator used : No + Startup used : No + Number of TSALL: 0 out of 1 (0%) + Notes:- + 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of + distributed RAMs) + 2*(Number of ripple logic) + 2. Number of logic LUT4s does not include count of distributed RAM and + ripple logic. + Number of clocks: 4 + Net PHI2_c: 14 loads, 5 rising, 9 falling (Driver: PIO PHI2 ) + Net RCLK_c: 32 loads, 32 rising, 0 falling (Driver: PIO RCLK ) + Net nCRAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCRAS ) + Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) + Number of Clock Enables: 5 + Net XOR8MEG18: 3 loads, 3 LSLICEs + Net N_31: 1 loads, 1 LSLICEs + Net N_33: 1 loads, 1 LSLICEs + Net N_159_i: 2 loads, 2 LSLICEs + Net CmdUFMCLK_1_sqmuxa: 2 loads, 2 LSLICEs + Number of LSRs: 4 + Net RA10s_i: 1 loads, 1 LSLICEs + Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs + Net RASr2: 2 loads, 2 LSLICEs + Net Ready_fast: 7 loads, 7 LSLICEs + Number of nets driven by tri-state buffers: 0 + Top 10 highest fanout non-clock nets: + + Page 1 + + + + +Design: RAM2GS Date: 08/19/23 20:57:13 + +Design Summary (cont) +--------------------- + Net InitReady: 16 loads + Net Ready: 16 loads + Net S[1]: 13 loads + Net CO0: 12 loads + Net nRowColSel: 12 loads + Net RASr2: 11 loads + Net Din_c[5]: 10 loads + Net Din_c[3]: 9 loads + Net IS[0]: 9 loads + Net MAin_c[1]: 8 loads + + + + + Number of warnings: 0 + Number of errors: 0 + + +Design Errors/Warnings +---------------------- + + No errors or warnings present. + +IO (PIO) Attributes +------------------- + ++---------------------+-----------+-----------+------------+------------+ +| IO Name | Direction | Levelmode | IO | FIXEDDELAY | +| | | IO_TYPE | Register | | ++---------------------+-----------+-----------+------------+------------+ +| RD[0] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[0] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| PHI2 | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| UFMSDO | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| UFMSDI | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| UFMCLK | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nUFMCS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RDQML | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RDQMH | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRCAS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRRAS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRWE | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RCKE | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ + + Page 2 + + + + +Design: RAM2GS Date: 08/19/23 20:57:13 + +IO (PIO) Attributes (cont) +-------------------------- +| RCLK | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRCS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[7] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[6] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[5] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[4] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[3] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[2] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[1] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[11] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[10] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[9] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[8] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[7] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[6] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[5] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[4] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[3] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[2] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[1] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[0] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RBA[1] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RBA[0] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| LED | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nFWE | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nCRAS | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nCCAS | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[7] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ + + Page 3 + + + + +Design: RAM2GS Date: 08/19/23 20:57:13 + +IO (PIO) Attributes (cont) +-------------------------- +| Dout[6] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[5] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[4] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[3] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[2] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[1] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[7] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[6] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[5] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[4] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[3] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[2] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[1] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[0] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| CROW[1] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| CROW[0] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[9] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[8] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[7] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[6] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[5] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[4] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[3] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[2] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[1] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[0] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ + + + + + + Page 4 + + + + +Design: RAM2GS Date: 08/19/23 20:57:13 + +Removed logic +------------- + +Block GSR_INST undriven or does not drive anything - clipped. +Signal nCRAS_c_i was merged into signal nCRAS_c +Signal nFWE_c_i was merged into signal nFWE_c +Signal nCRAS_c_i_0 was merged into signal nCRAS_c +Signal nCCAS_c_i was merged into signal nCCAS_c +Signal Ready_fast_i was merged into signal Ready_fast +Signal IS_i[0] was merged into signal IS[0] +Signal RASr2_i was merged into signal RASr2 +Signal XOR8MEG.CN was merged into signal PHI2_c +Signal GND undriven or does not drive anything - clipped. +Signal VCC undriven or does not drive anything - clipped. +Signal FS_cry[2] undriven or does not drive anything - clipped. +Signal FS_cry[4] undriven or does not drive anything - clipped. +Signal FS_cry[6] undriven or does not drive anything - clipped. +Signal FS_cry[8] undriven or does not drive anything - clipped. +Signal FS_cry[10] undriven or does not drive anything - clipped. +Signal FS_cry[12] undriven or does not drive anything - clipped. +Signal FS_cry[14] undriven or does not drive anything - clipped. +Signal FS_cry_0_COUT1[16] undriven or does not drive anything - clipped. +Signal FS_cry[16] undriven or does not drive anything - clipped. +Signal FS_cry[0] undriven or does not drive anything - clipped. +Block nCRAS_pad_RNIBPVB was optimized away. +Block nFWE_pad_RNI420B was optimized away. +Block RASr_RNO was optimized away. +Block nCCAS_pad_RNISUR8 was optimized away. +Block Ready_fast_RNI29NA was optimized away. +Block IS_i[0] was optimized away. +Block RASr2_RNIAFR1 was optimized away. +Block XOR8MEG.CN was optimized away. +Block GND was optimized away. +Block VCC was optimized away. + +Run Time and Memory Usage +------------------------- + + Total CPU Time: 0 secs + Total REAL Time: 0 secs + Peak Memory Usage: 51 MB + + + + + + + + + + + + + + + + + + + Page 5 + + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. + Copyright (c) 1995 AT&T Corp. All rights reserved. + Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. + Copyright (c) 2001 Agere Systems All rights reserved. + Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights + reserved. diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.n2e b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.n2e index dc1115c..fb895f8 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.n2e +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.n2e @@ -1,551 +1,551 @@ - -comp 0: SLICE_0 (FSLICE) - -comp 1: SLICE_1 (FSLICE) - -comp 2: SLICE_2 (FSLICE) - -comp 3: SLICE_3 (FSLICE) - -comp 4: SLICE_4 (FSLICE) - -comp 5: SLICE_5 (FSLICE) - -comp 6: SLICE_6 (FSLICE) - -comp 7: SLICE_7 (FSLICE) - -comp 8: SLICE_8 (FSLICE) - -comp 9: SLICE_9 (FSLICE) -ADSubmitted_r = (~CmdEnable16*((~C1WR_0_a2*ADSubmitted)+CmdEnable17)) -ADSubmitted.D = ADSubmitted_r -ADSubmitted.CLK = ~PHI2_c -ADSubmitted.SP = VCC -ADSubmitted.LSR = GND -CmdEnable17 = (N_147*(MAin_c[0]*(CmdEnable17_0_a2_4*CmdEnable17_0_a2_3))) - -comp 10: SLICE_14 (FSLICE) -C1Submitted_RNO = (~MAin_c[1]*(CmdEnable16+C1Submitted)+MAin_c[1]*(~N_147*(CmdEnable16+C1Submitted)+N_147*CmdEnable16)) -C1Submitted.D = C1Submitted_RNO -C1Submitted.CLK = ~PHI2_c -C1Submitted.SP = VCC -C1Submitted.LSR = GND -CmdEnable16 = (N_147*(CmdEnable16_0_a2_5*CmdEnable16_0_a2_4)) - -comp 11: SLICE_19 (FSLICE) -N_177_i = (~CO0+S[1]) -CO0.D = N_177_i -CO0.CLK = RCLK_c -CO0.SP = VCC -CO0.LSR = ~RASr2 -Ready_0_sqmuxa_0_a3_2 = (S[1]*(~RASr2*(IS[3]*CO0))) - -comp 12: SLICE_20 (FSLICE) -CmdEnable_s = ((CmdEnable+ADSubmitted)*CmdEnable16)+(((C1Submitted*un1_CMDWR*CmdEnable17)+(CmdEnable*CmdEnable17)+(~un1_CMDWR*CmdEnable))*~CmdEnable16) -CmdEnable.D = CmdEnable_s -CmdEnable.CLK = ~PHI2_c -CmdEnable.SP = VCC -CmdEnable.LSR = GND - -comp 13: SLICE_21 (FSLICE) -N_21_i = (~N_152*(~N_133*~N_132)+N_152*(~N_133*(~N_132*LEDEN))) -CmdLEDEN.D = N_21_i -CmdLEDEN.CLK = ~PHI2_c -CmdLEDEN.SP = XOR8MEG18 -CmdLEDEN.LSR = GND -N_152 = (~N_128*(Din_c[5]*~Din_c[3])) - -comp 14: SLICE_22 (FSLICE) -N_460_0 = (CmdSubmitted_1_sqmuxa+CmdSubmitted) -CmdSubmitted.D = N_460_0 -CmdSubmitted.CLK = ~PHI2_c -CmdSubmitted.SP = VCC -CmdSubmitted.LSR = GND -N_136 = (PHI2r3*(~PHI2r2*(InitReady*CmdSubmitted))) - -comp 15: SLICE_26 (FSLICE) -N_19_i = (~n8MEGEN*(~N_152*~Cmdn8MEGEN_4_u_i_0)+n8MEGEN*~Cmdn8MEGEN_4_u_i_0) -Cmdn8MEGEN.D = N_19_i -Cmdn8MEGEN.CLK = ~PHI2_c -Cmdn8MEGEN.SP = XOR8MEG18 -Cmdn8MEGEN.LSR = GND -Cmdn8MEGEN_4_u_i_0 = (~N_128*(~N_43*(~Cmdn8MEGEN+CmdEnable16_4)+N_43*CmdEnable16_4)+N_128*~Cmdn8MEGEN) - -comp 16: SLICE_29 (FSLICE) -N_64_i_i = (~N_155*(Ready@~IS[0])+N_155*IS[0]) -IS[0].D = N_64_i_i -IS[0].CLK = RCLK_c -IS[0].SP = VCC -IS[0].LSR = GND -N_24 = ((~N_160*(~N_155*IS[0])+N_160*~N_155)+nRRAS_5_u_i_0) - -comp 17: SLICE_30 (FSLICE) -N_56_i = (IS[1]@IS[0]) -IS[1].D = N_56_i -IS[1].CLK = RCLK_c -IS[1].SP = N_159_i -IS[1].LSR = GND -N_60_i_i = (IS[2]@(IS[1]*IS[0])) -IS[2].D = N_60_i_i -IS[2].CLK = RCLK_c -IS[2].SP = N_159_i -IS[2].LSR = GND - -comp 18: SLICE_31 (FSLICE) -N_61_i_i = (~IS[0]*IS[3]+IS[0]*(~IS[1]*IS[3]+IS[1]*(IS[2]@IS[3]))) -IS[3].D = N_61_i_i -IS[3].CLK = RCLK_c -IS[3].SP = N_159_i -IS[3].LSR = GND -RA10s_i = ((~IS[3]+(IS[1]+IS[2]))+N_159) - -comp 19: SLICE_32 (FSLICE) -N_461_0 = (InitReady3+InitReady) -InitReady.D = N_461_0 -InitReady.CLK = RCLK_c -InitReady.SP = VCC -InitReady.LSR = GND -UFMSDI_ens2_i_a0 = (~UFMSDI_ens2_i_a2_4_2*~InitReady+UFMSDI_ens2_i_a2_4_2*(~N_126*~InitReady+N_126*(N_51*~InitReady))) - -comp 20: SLICE_33 (FSLICE) -N_70 = (~UFMSDO_c*(~InitReady+CmdLEDEN)+UFMSDO_c*(InitReady*CmdLEDEN)) -LEDEN.D = N_70 -LEDEN.CLK = RCLK_c -LEDEN.SP = N_33 -LEDEN.LSR = GND -LED_c = ((~LEDEN+CBR)+nCRAS_c) - -comp 21: SLICE_39 (FSLICE) -RA11_2 = (~n8MEGEN*(XOR8MEG@Din_c[6])+n8MEGEN*XOR8MEG) -RA_c[11].D = RA11_2 -RA_c[11].CLK = PHI2_c -RA_c[11].SP = VCC -RA_c[11].LSR = ~Ready_fast -N_171 = (~un1_Din_4*XOR8MEG) - -comp 22: SLICE_41 (FSLICE) -RCKEEN_8 = (~Ready*RCKEEN_8_u_0_0+Ready*(~RCKEEN_8_u_1*RCKEEN_8_u_0_0+RCKEEN_8_u_1*(~CBR+RCKEEN_8_u_0_0))) -RCKEEN.D = RCKEEN_8 -RCKEEN.CLK = RCLK_c -RCKEEN.SP = VCC -RCKEEN.LSR = GND -RCKEEN_8_u_1 = (~S[1]*(~FWEr_fast+CO0)+S[1]*(FWEr_fast*(~CO0+~CASr2))) -PHI2r2.D = PHI2r -PHI2r2.CLK = RCLK_c -PHI2r2.SP = VCC -PHI2r2.LSR = GND - -comp 23: SLICE_42 (FSLICE) -RCKE_2 = (~RCKEEN*(RASr3*~RASr2)+RCKEEN*((RASr+RASr2)+RASr3)) -RCKE_c.D = RCKE_2 -RCKE_c.CLK = RCLK_c -RCKE_c.SP = VCC -RCKE_c.LSR = GND -m18_0_a3_3 = (RASr2*(~IS[2]*(~IS[1]*IS[0]))) -PHI2r.D = PHI2_c -PHI2r.CLK = RCLK_c -PHI2r.SP = VCC -PHI2r.LSR = GND - -comp 24: SLICE_43 (FSLICE) -N_462_0 = (~InitReady*Ready+InitReady*(~N_165*(Ready+Ready_0_sqmuxa_0_a3_2)+N_165*Ready)) -Ready.D = N_462_0 -Ready.CLK = RCLK_c -Ready.SP = VCC -Ready.LSR = GND -RCKEEN_8_u_0_0 = (~S_0_i_o2[1]*(~InitReady*(~RASr2*Ready)+InitReady*(~RASr2+~Ready))+S_0_i_o2[1]*(InitReady*~Ready)) -PHI2r3.D = PHI2r2 -PHI2r3.CLK = RCLK_c -PHI2r3.SP = VCC -PHI2r3.LSR = GND - -comp 25: SLICE_44 (FSLICE) -N_463_0 = (Ready_0_sqmuxa+Ready_fast) -Ready_fast.D = N_463_0 -Ready_fast.CLK = RCLK_c -Ready_fast.SP = VCC -Ready_fast.LSR = GND -Ready_0_sqmuxa = (Ready_0_sqmuxa_0_a3_2*(~Ready*(~N_165*InitReady))) -RASr.D = ~nCRAS_c -RASr.CLK = RCLK_c -RASr.SP = VCC -RASr.LSR = GND - -comp 26: SLICE_50 (FSLICE) -S_0_i_o2[1] = (CO0+S[1]) -S[1].D = S_0_i_o2[1] -S[1].CLK = RCLK_c -S[1].SP = VCC -S[1].LSR = ~RASr2 -nRRAS_0_sqmuxa = (~CO0*(~S[1]*Ready)) - -comp 27: SLICE_51 (FSLICE) -UFMCLK_RNO = (~UFMCLK_r_i_m4_xx_mm_1*(~UFMCLK_c*(~nUFMCS15*N_139_i)+UFMCLK_c*~nUFMCS15)+UFMCLK_r_i_m4_xx_mm_1*(UFMCLK_c*(~nUFMCS15*~N_139_i))) -UFMCLK_c.D = UFMCLK_RNO -UFMCLK_c.CLK = RCLK_c -UFMCLK_c.SP = VCC -UFMCLK_c.LSR = GND -UFMCLK_r_i_m4_xx_mm_1 = (~N_129*((~CmdUFMCLK+~InitReady)+UFMCLK_r_i_a2_2_2)+N_129*((~CmdUFMCLK*InitReady)+UFMCLK_r_i_a2_2_2)) -RASr2.D = RASr -RASr2.CLK = RCLK_c -RASr2.SP = VCC -RASr2.LSR = GND - -comp 28: SLICE_52 (FSLICE) -UFMSDI_RNO = (~UFMSDI_r_xx_mm_1*(UFMSDI_c*(~nUFMCS15*~N_139_i))+UFMSDI_r_xx_mm_1*(~UFMSDI_c*(~nUFMCS15*N_139_i)+UFMSDI_c*~nUFMCS15)) -UFMSDI_c.D = UFMSDI_RNO -UFMSDI_c.CLK = RCLK_c -UFMSDI_c.SP = VCC -UFMSDI_c.LSR = GND -N_139_i = (~PHI2r3*~InitReady+PHI2r3*(~PHI2r2*(~InitReady+CmdSubmitted)+PHI2r2*~InitReady)) -RASr3.D = RASr2 -RASr3.CLK = RCLK_c -RASr3.SP = VCC -RASr3.LSR = GND - -comp 29: SLICE_55 (FSLICE) -RA_c[4] = (~nRowColSel*RowA[4]+nRowColSel*MAin_c[4]) -WRD[4].D = Din_c[4] -WRD[4].CLK = ~nCCAS_c -WRD[4].SP = VCC -WRD[4].LSR = GND -WRD[5].D = Din_c[5] -WRD[5].CLK = ~nCCAS_c -WRD[5].SP = VCC -WRD[5].LSR = GND - -comp 30: SLICE_56 (FSLICE) -N_126 = (~FS[9]*FS[7]+FS[9]*(~FS[7]*FS[5])) -WRD[6].D = Din_c[6] -WRD[6].CLK = ~nCCAS_c -WRD[6].SP = VCC -WRD[6].LSR = GND -C1WR_0_a2_0_11 = (Bank[7]*(Bank[6]*(Bank[5]*~Bank[2]))) -WRD[7].D = Din_c[7] -WRD[7].CLK = ~nCCAS_c -WRD[7].SP = VCC -WRD[7].LSR = GND - -comp 31: SLICE_57 (FSLICE) -XOR8MEG_3 = (~XOR8MEG_3_u_0_a3_2*N_171+XOR8MEG_3_u_0_a3_2*((~LEDEN+~Din_c[1])+N_171)) -XOR8MEG.D = XOR8MEG_3 -XOR8MEG.CLK = ~PHI2_c -XOR8MEG.SP = XOR8MEG18 -XOR8MEG.LSR = GND -XOR8MEG_3_u_0_a3_2 = (un1_Din_4*(~Din_c[3]*(Din_c[2]*Din_c[0]))) - -comp 32: SLICE_58 (FSLICE) -N_69 = (~UFMSDO_c*(~InitReady+Cmdn8MEGEN)+UFMSDO_c*(InitReady*Cmdn8MEGEN)) -n8MEGEN.D = N_69 -n8MEGEN.CLK = RCLK_c -n8MEGEN.SP = N_31 -n8MEGEN.LSR = GND -N_151 = (~N_51*(~InitReady*~FS[8])) - -comp 33: SLICE_59 (FSLICE) -N_37_i = (~g0_1*(~S[1]*(~nRCAS_0_sqmuxa_1*N_41)+S[1]*~nRCAS_0_sqmuxa_1)+g0_1*(~nRCAS_0_sqmuxa_1*N_41)) -nRCAS_c.D = N_37_i -nRCAS_c.CLK = RCLK_c -nRCAS_c.SP = VCC -nRCAS_c.LSR = GND -N_41 = (~S[1]*((~N_160+N_155)+Ready)+S[1]*(~Ready*(~N_160+N_155))) - -comp 34: SLICE_60 (FSLICE) -N_28_i = (~RCKEEN_8_u_0_a2_1_out*~N_24+RCKEEN_8_u_0_a2_1_out*(~N_28_i_1*(~N_24*CBR)+N_28_i_1*~N_24)) -nRCS_c.D = N_28_i -nRCS_c.CLK = RCLK_c -nRCS_c.SP = VCC -nRCS_c.LSR = GND -N_28_i_1 = (~CASr2*(FWEr_fast+CO0)+CASr2*(~CASr3*(CO0@FWEr_fast)+CASr3*(FWEr_fast+CO0))) - -comp 35: SLICE_61 (FSLICE) -N_24_i = (~IS[0]*(~N_155*(~N_160*~nRRAS_5_u_i_0)+N_155*~nRRAS_5_u_i_0)+IS[0]*(N_155*~nRRAS_5_u_i_0)) -nRRAS_c.D = N_24_i -nRRAS_c.CLK = RCLK_c -nRRAS_c.SP = VCC -nRRAS_c.LSR = GND -nRRAS_5_u_i_0 = (Ready*(~RCKE_c*(RASr2*~S_0_i_o2[1])+RCKE_c*~S_0_i_o2[1])) - -comp 36: SLICE_62 (FSLICE) -N_39_i = (~m18_0_a2_1*((~G_17_1+~FWEr)+nRCAS_0_sqmuxa_1)+m18_0_a2_1*((G_17_1*~FWEr)+nRCAS_0_sqmuxa_1)) -nRWE_c.D = N_39_i -nRWE_c.CLK = RCLK_c -nRWE_c.SP = VCC -nRWE_c.LSR = GND -nRCAS_0_sqmuxa_1 = (Ready*(RASr2*(~S_0_i_o2[1]*CBR_fast))) - -comp 37: SLICE_63 (FSLICE) -nRowColSel_0_0 = (~S[1]*(~Ready*N_179+Ready*(CO0+N_179))+S[1]*(~Ready*N_179+Ready*(~CO0+N_179))) -nRowColSel.D = nRowColSel_0_0 -nRowColSel.CLK = RCLK_c -nRowColSel.SP = VCC -nRowColSel.LSR = nRRAS_0_sqmuxa -N_179 = (Ready*(FWEr*(~CBR*~CASr3))) - -comp 38: SLICE_64 (FSLICE) -nUFMCS_s_0_N_5_i = (~nUFMCS_s_0_N_5_i_N_2L1*((N_139_i+nUFMCS15)+nUFMCS_c)+nUFMCS_s_0_N_5_i_N_2L1*(~nUFMCS_c*nUFMCS15+nUFMCS_c*(~N_139_i+nUFMCS15))) -nUFMCS_c.D = nUFMCS_s_0_N_5_i -nUFMCS_c.CLK = RCLK_c -nUFMCS_c.SP = VCC -nUFMCS_c.LSR = GND -nUFMCS15 = (~N_51*(~InitReady*(~FS[11]*~FS[10]))) - -comp 39: nRWE_RNO_1/SLICE_65 (FSLICE) -m18_0_a2_1 = ((~RASr2*RCKE_c*~CO0*~S[1])*Ready)+((InitReady*m18_0_a3_3*~CO0*~S[1])*~Ready) - -comp 40: SLICE_66 (FSLICE) -UFMCLK_r_i_a2_2_2 = (N_95_5*(N_95_3*(~InitReady*FS[16]))) -RowA[0].D = MAin_c[0] -RowA[0].CLK = ~nCRAS_c -RowA[0].SP = VCC -RowA[0].LSR = ~Ready_fast -nUFMCS_s_0_N_5_i_N_2L1 = (~UFMCLK_r_i_a2_2_2*(~InitReady+CmdUFMCS)) -RowA[1].D = MAin_c[1] -RowA[1].CLK = ~nCRAS_c -RowA[1].SP = VCC -RowA[1].LSR = ~Ready_fast - -comp 41: SLICE_67 (FSLICE) -XOR8MEG18 = (N_147*(~MAin_c[1]*(MAin_c[0]*CmdEnable))) -RowA[4].D = MAin_c[4] -RowA[4].CLK = ~nCRAS_c -RowA[4].SP = VCC -RowA[4].LSR = ~Ready_fast -CmdUFMCLK_1_sqmuxa = (~Din_c[3]*(Din_c[5]*(~N_128*XOR8MEG18))) -RowA[5].D = MAin_c[5] -RowA[5].CLK = ~nCRAS_c -RowA[5].SP = VCC -RowA[5].LSR = ~Ready_fast - -comp 42: SLICE_68 (FSLICE) -N_31 = (~un1_FS_14_i_a2_0_1*N_136+un1_FS_14_i_a2_0_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) -un1_FS_14_i_a2_0_1 = (~FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) - -comp 43: SLICE_69 (FSLICE) -N_33 = (~un1_FS_13_i_a2_1*N_136+un1_FS_13_i_a2_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) -un1_FS_13_i_a2_1 = (FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) - -comp 44: SLICE_70 (FSLICE) -C1WR_0_a2 = (N_147*MAin_c[1]) -Bank[0].D = Din_c[0] -Bank[0].CLK = PHI2_c -Bank[0].SP = VCC -Bank[0].LSR = GND -N_147 = (C1WR_0_a2_0_11*(C1WR_0_a2_0_10*(Bank[1]*Bank[0]))) -Bank[1].D = Din_c[1] -Bank[1].CLK = PHI2_c -Bank[1].SP = VCC -Bank[1].LSR = GND - -comp 45: SLICE_71 (FSLICE) -C1WR_0_a2_0_10 = (C1WR_0_a2_0_4*(C1WR_0_a2_0_3*(Bank[4]*Bank[3]))) -Bank[2].D = Din_c[2] -Bank[2].CLK = PHI2_c -Bank[2].SP = VCC -Bank[2].LSR = GND -C1WR_0_a2_0_4 = (MAin_c[7]*(MAin_c[6]*(MAin_c[5]*MAin_c[4]))) -Bank[3].D = Din_c[3] -Bank[3].CLK = PHI2_c -Bank[3].SP = VCC -Bank[3].LSR = GND - -comp 46: SLICE_72 (FSLICE) -N_129 = (~N_51*(FS[11]*FS[4])+N_51*FS[1]) -RowA[2].D = MAin_c[2] -RowA[2].CLK = ~nCRAS_c -RowA[2].SP = VCC -RowA[2].LSR = ~Ready_fast -N_51 = ((FS[12]+FS[16])+UFMSDI_ens2_i_o2_0_3) -RowA[3].D = MAin_c[3] -RowA[3].CLK = ~nCRAS_c -RowA[3].SP = VCC -RowA[3].LSR = ~Ready_fast - -comp 47: SLICE_73 (FSLICE) -N_159 = (N_155+Ready) -CmdUFMCLK.D = Din_c[1] -CmdUFMCLK.CLK = ~PHI2_c -CmdUFMCLK.SP = CmdUFMCLK_1_sqmuxa -CmdUFMCLK.LSR = GND -N_155 = (((~InitReady+~RASr2)+S[1])+CO0) -CmdUFMCS.D = Din_c[2] -CmdUFMCS.CLK = ~PHI2_c -CmdUFMCS.SP = CmdUFMCLK_1_sqmuxa -CmdUFMCS.LSR = GND - -comp 48: SLICE_74 (FSLICE) -InitReady3 = (N_95_5*(N_95_3*(FS[16]*FS[10]))) -CmdUFMSDI.D = Din_c[0] -CmdUFMSDI.CLK = ~PHI2_c -CmdUFMSDI.SP = CmdUFMCLK_1_sqmuxa -CmdUFMSDI.LSR = GND -N_95_3 = (FS[14]*FS[11]) - -comp 49: SLICE_75 (FSLICE) -N_133 = (~N_128*(~Din_c[5]*~Din_c[1])) -CASr.D = ~nCCAS_c -CASr.CLK = RCLK_c -CASr.SP = VCC -CASr.LSR = GND -N_128 = ((~Din_c[4]+Din_c[6])+Din_c[7]) -CASr2.D = CASr -CASr2.CLK = RCLK_c -CASr2.SP = VCC -CASr2.LSR = GND - -comp 50: SLICE_76 (FSLICE) -CmdEnable16_0_a2_4 = (~MAin_c[0]*(~Din_c[3]*(~Din_c[1]*CmdEnable16_4))) -Bank[4].D = Din_c[4] -Bank[4].CLK = PHI2_c -Bank[4].SP = VCC -Bank[4].LSR = GND -CmdEnable16_4 = (~Din_c[5]*Din_c[0]) -Bank[5].D = Din_c[5] -Bank[5].CLK = PHI2_c -Bank[5].SP = VCC -Bank[5].LSR = GND - -comp 51: SLICE_77 (FSLICE) -CmdEnable16_0_a2_5 = (MAin_c[1]*(Din_c[6]*(~Din_c[2]*CmdEnable16_1))) -Bank[6].D = Din_c[6] -Bank[6].CLK = PHI2_c -Bank[6].SP = VCC -Bank[6].LSR = GND -CmdEnable16_1 = (Din_c[7]*~Din_c[4]) -Bank[7].D = Din_c[7] -Bank[7].CLK = PHI2_c -Bank[7].SP = VCC -Bank[7].LSR = GND - -comp 52: SLICE_78 (FSLICE) -CmdEnable17_0_a2_4 = (~N_43*(MAin_c[1]*(~Din_c[6]*Din_c[2]))) -CBR.D = ~nCCAS_c -CBR.CLK = ~nCRAS_c -CBR.SP = VCC -CBR.LSR = GND -N_43 = (~Din_c[5]+~Din_c[3]) -CBR_fast.D = ~nCCAS_c -CBR_fast.CLK = ~nCRAS_c -CBR_fast.SP = VCC -CBR_fast.LSR = GND - -comp 53: SLICE_79 (FSLICE) -G_17_1 = (m6_0_a2_2*(S[1]*(CO0*~CBR))) -WRD[0].D = Din_c[0] -WRD[0].CLK = ~nCCAS_c -WRD[0].SP = VCC -WRD[0].LSR = GND -m6_0_a2_2 = (Ready*(~CASr3*CASr2)) -WRD[1].D = Din_c[1] -WRD[1].CLK = ~nCCAS_c -WRD[1].SP = VCC -WRD[1].LSR = GND - -comp 54: SLICE_80 (FSLICE) -g0_1 = (~g4_0_0_0*(~FWEr*(~CO0*~CBR_fast))+g4_0_0_0*(~FWEr*(~CO0*~CBR_fast)+FWEr*(CO0*~CBR_fast))) -RowA[8].D = MAin_c[8] -RowA[8].CLK = ~nCRAS_c -RowA[8].SP = VCC -RowA[8].LSR = ~Ready_fast -g4_0_0_0 = (~CASr3*CASr2) -RowA[9].D = MAin_c[9] -RowA[9].CLK = ~nCRAS_c -RowA[9].SP = VCC -RowA[9].LSR = ~Ready_fast - -comp 55: SLICE_81 (FSLICE) -N_95_5 = (FS[17]*(FS[15]*(FS[13]*FS[12]))) -FWEr.D = ~nFWE_c -FWEr.CLK = ~nCRAS_c -FWEr.SP = VCC -FWEr.LSR = GND -UFMSDI_ens2_i_o2_0_3 = (((FS[13]+FS[14])+FS[15])+FS[17]) -FWEr_fast.D = ~nFWE_c -FWEr_fast.CLK = ~nCRAS_c -FWEr_fast.SP = VCC -FWEr_fast.LSR = GND - -comp 56: SLICE_82 (FSLICE) -CmdSubmitted_1_sqmuxa = (~Din_c[3]*(~N_128*XOR8MEG18)+Din_c[3]*(~Din_c[5]*(~N_128*XOR8MEG18))) -CASr3.D = CASr2 -CASr3.CLK = RCLK_c -CASr3.SP = VCC -CASr3.LSR = GND -N_132 = (~Din_c[3]*(~CmdLEDEN*N_128)+Din_c[3]*(~Din_c[5]*(~CmdLEDEN*N_128)+Din_c[5]*~CmdLEDEN)) - -comp 57: SLICE_83 (FSLICE) -N_165 = (~IS[2]+(~IS[1]+~IS[0])) -RBA_c[0].D = CROW_c[0] -RBA_c[0].CLK = ~nCRAS_c -RBA_c[0].SP = VCC -RBA_c[0].LSR = ~Ready_fast -N_160 = ((IS[1]+IS[2])+IS[3]) -RBA_c[1].D = CROW_c[1] -RBA_c[1].CLK = ~nCRAS_c -RBA_c[1].SP = VCC -RBA_c[1].LSR = ~Ready_fast - -comp 58: SLICE_84 (FSLICE) -N_137_6 = (FS[10]*(~FS[7]*(~FS[6]*~FS[1]))) -UFMSDI_ens2_i_a2_4_2 = (FS[11]*(~FS[10]*(~FS[8]*FS[6]))) - -comp 59: SLICE_85 (FSLICE) -un1_Din_4 = (~Din_c[7]*(~Din_c[6]*(~Din_c[5]*~Din_c[4]))) -WRD[2].D = Din_c[2] -WRD[2].CLK = ~nCCAS_c -WRD[2].SP = VCC -WRD[2].LSR = GND -CmdEnable17_0_a2_3 = (~Din_c[4]*(Din_c[7]*(Din_c[0]*~Din_c[1]))) -WRD[3].D = Din_c[3] -WRD[3].CLK = ~nCCAS_c -WRD[3].SP = VCC -WRD[3].LSR = GND - -comp 60: SLICE_86 (FSLICE) -RA_c[9] = (~nRowColSel*RowA[9]+nRowColSel*MAin_c[9]) -RDQML_c = (~nRowColSel+~MAin_c[9]) - -comp 61: SLICE_87 (FSLICE) -N_137_8 = (N_151*(FS[11]*(~FS[9]*FS[4]))) -UFMSDI_r_xx_mm_1 = (~N_151*(~UFMSDI_ens2_i_a0*CmdUFMSDI)+N_151*~UFMSDI_ens2_i_a0) - -comp 62: SLICE_88 (FSLICE) -RD_1_i = (nCCAS_c+nFWE_c) -RowA[6].D = MAin_c[6] -RowA[6].CLK = ~nCRAS_c -RowA[6].SP = VCC -RowA[6].LSR = ~Ready_fast -C1WR_0_a2_0_3 = (~nFWE_c*(MAin_c[3]*MAin_c[2])) -RowA[7].D = MAin_c[7] -RowA[7].CLK = ~nCRAS_c -RowA[7].SP = VCC -RowA[7].LSR = ~Ready_fast - -comp 63: SLICE_89 (FSLICE) -RA_c[8] = (~nRowColSel*RowA[8]+nRowColSel*MAin_c[8]) -RDQMH_c = (~nRowColSel+MAin_c[9]) - -comp 64: SLICE_90 (FSLICE) -RA_c[0] = (~nRowColSel*RowA[0]+nRowColSel*MAin_c[0]) -un1_CMDWR = (~MAin_c[1]*(MAin_c[0]*N_147)+MAin_c[1]*N_147) - -comp 65: SLICE_91 (FSLICE) -RA_c[1] = (~nRowColSel*RowA[1]+nRowColSel*MAin_c[1]) -RA_c[7] = (~nRowColSel*RowA[7]+nRowColSel*MAin_c[7]) - -comp 66: SLICE_92 (FSLICE) -RA_c[2] = (~nRowColSel*RowA[2]+nRowColSel*MAin_c[2]) -RA_c[6] = (~nRowColSel*RowA[6]+nRowColSel*MAin_c[6]) - -comp 67: SLICE_93 (FSLICE) -RA_c[3] = (~nRowColSel*RowA[3]+nRowColSel*MAin_c[3]) -RA_c[5] = (~nRowColSel*RowA[5]+nRowColSel*MAin_c[5]) - -comp 68: SLICE_94 (FSLICE) -RCKEEN_8_u_0_a2_1_out = (S[1]*Ready) -RA_c[10].D = ~IS[0] -RA_c[10].CLK = RCLK_c -RA_c[10].SP = VCC -RA_c[10].LSR = RA10s_i -N_159_i = (~N_155*~Ready) + +comp 0: SLICE_0 (FSLICE) + +comp 1: SLICE_1 (FSLICE) + +comp 2: SLICE_2 (FSLICE) + +comp 3: SLICE_3 (FSLICE) + +comp 4: SLICE_4 (FSLICE) + +comp 5: SLICE_5 (FSLICE) + +comp 6: SLICE_6 (FSLICE) + +comp 7: SLICE_7 (FSLICE) + +comp 8: SLICE_8 (FSLICE) + +comp 9: SLICE_9 (FSLICE) +ADSubmitted_r = (~CmdEnable16*((~C1WR_0_a2*ADSubmitted)+CmdEnable17)) +ADSubmitted.D = ADSubmitted_r +ADSubmitted.CLK = ~PHI2_c +ADSubmitted.SP = VCC +ADSubmitted.LSR = GND +CmdEnable17 = (N_147*(MAin_c[0]*(CmdEnable17_0_a2_4*CmdEnable17_0_a2_3))) + +comp 10: SLICE_14 (FSLICE) +C1Submitted_RNO = (~MAin_c[1]*(CmdEnable16+C1Submitted)+MAin_c[1]*(~N_147*(CmdEnable16+C1Submitted)+N_147*CmdEnable16)) +C1Submitted.D = C1Submitted_RNO +C1Submitted.CLK = ~PHI2_c +C1Submitted.SP = VCC +C1Submitted.LSR = GND +CmdEnable16 = (N_147*(CmdEnable16_0_a2_5*CmdEnable16_0_a2_4)) + +comp 11: SLICE_19 (FSLICE) +N_177_i = (~CO0+S[1]) +CO0.D = N_177_i +CO0.CLK = RCLK_c +CO0.SP = VCC +CO0.LSR = ~RASr2 +Ready_0_sqmuxa_0_a3_2 = (S[1]*(~RASr2*(IS[3]*CO0))) + +comp 12: SLICE_20 (FSLICE) +CmdEnable_s = ((CmdEnable+ADSubmitted)*CmdEnable16)+(((C1Submitted*un1_CMDWR*CmdEnable17)+(CmdEnable*CmdEnable17)+(~un1_CMDWR*CmdEnable))*~CmdEnable16) +CmdEnable.D = CmdEnable_s +CmdEnable.CLK = ~PHI2_c +CmdEnable.SP = VCC +CmdEnable.LSR = GND + +comp 13: SLICE_21 (FSLICE) +N_21_i = (~N_152*(~N_133*~N_132)+N_152*(~N_133*(~N_132*LEDEN))) +CmdLEDEN.D = N_21_i +CmdLEDEN.CLK = ~PHI2_c +CmdLEDEN.SP = XOR8MEG18 +CmdLEDEN.LSR = GND +N_152 = (~N_128*(Din_c[5]*~Din_c[3])) + +comp 14: SLICE_22 (FSLICE) +N_460_0 = (CmdSubmitted_1_sqmuxa+CmdSubmitted) +CmdSubmitted.D = N_460_0 +CmdSubmitted.CLK = ~PHI2_c +CmdSubmitted.SP = VCC +CmdSubmitted.LSR = GND +N_136 = (PHI2r3*(~PHI2r2*(InitReady*CmdSubmitted))) + +comp 15: SLICE_26 (FSLICE) +N_19_i = (~n8MEGEN*(~N_152*~Cmdn8MEGEN_4_u_i_0)+n8MEGEN*~Cmdn8MEGEN_4_u_i_0) +Cmdn8MEGEN.D = N_19_i +Cmdn8MEGEN.CLK = ~PHI2_c +Cmdn8MEGEN.SP = XOR8MEG18 +Cmdn8MEGEN.LSR = GND +Cmdn8MEGEN_4_u_i_0 = (~N_128*(~N_43*(~Cmdn8MEGEN+CmdEnable16_4)+N_43*CmdEnable16_4)+N_128*~Cmdn8MEGEN) + +comp 16: SLICE_29 (FSLICE) +N_64_i_i = (~N_155*(Ready@~IS[0])+N_155*IS[0]) +IS[0].D = N_64_i_i +IS[0].CLK = RCLK_c +IS[0].SP = VCC +IS[0].LSR = GND +N_24 = ((~N_160*(~N_155*IS[0])+N_160*~N_155)+nRRAS_5_u_i_0) + +comp 17: SLICE_30 (FSLICE) +N_56_i = (IS[1]@IS[0]) +IS[1].D = N_56_i +IS[1].CLK = RCLK_c +IS[1].SP = N_159_i +IS[1].LSR = GND +N_60_i_i = (IS[2]@(IS[1]*IS[0])) +IS[2].D = N_60_i_i +IS[2].CLK = RCLK_c +IS[2].SP = N_159_i +IS[2].LSR = GND + +comp 18: SLICE_31 (FSLICE) +N_61_i_i = (~IS[0]*IS[3]+IS[0]*(~IS[1]*IS[3]+IS[1]*(IS[2]@IS[3]))) +IS[3].D = N_61_i_i +IS[3].CLK = RCLK_c +IS[3].SP = N_159_i +IS[3].LSR = GND +RA10s_i = ((~IS[3]+(IS[1]+IS[2]))+N_159) + +comp 19: SLICE_32 (FSLICE) +N_461_0 = (InitReady3+InitReady) +InitReady.D = N_461_0 +InitReady.CLK = RCLK_c +InitReady.SP = VCC +InitReady.LSR = GND +UFMSDI_ens2_i_a0 = (~UFMSDI_ens2_i_a2_4_2*~InitReady+UFMSDI_ens2_i_a2_4_2*(~N_126*~InitReady+N_126*(N_51*~InitReady))) + +comp 20: SLICE_33 (FSLICE) +N_70 = (~UFMSDO_c*(~InitReady+CmdLEDEN)+UFMSDO_c*(InitReady*CmdLEDEN)) +LEDEN.D = N_70 +LEDEN.CLK = RCLK_c +LEDEN.SP = N_33 +LEDEN.LSR = GND +LED_c = ((~LEDEN+CBR)+nCRAS_c) + +comp 21: SLICE_39 (FSLICE) +RA11_2 = (~n8MEGEN*(XOR8MEG@Din_c[6])+n8MEGEN*XOR8MEG) +RA_c[11].D = RA11_2 +RA_c[11].CLK = PHI2_c +RA_c[11].SP = VCC +RA_c[11].LSR = ~Ready_fast +N_171 = (~un1_Din_4*XOR8MEG) + +comp 22: SLICE_41 (FSLICE) +RCKEEN_8 = (~Ready*RCKEEN_8_u_0_0+Ready*(~RCKEEN_8_u_1*RCKEEN_8_u_0_0+RCKEEN_8_u_1*(~CBR+RCKEEN_8_u_0_0))) +RCKEEN.D = RCKEEN_8 +RCKEEN.CLK = RCLK_c +RCKEEN.SP = VCC +RCKEEN.LSR = GND +RCKEEN_8_u_1 = (~S[1]*(~FWEr_fast+CO0)+S[1]*(FWEr_fast*(~CO0+~CASr2))) +PHI2r2.D = PHI2r +PHI2r2.CLK = RCLK_c +PHI2r2.SP = VCC +PHI2r2.LSR = GND + +comp 23: SLICE_42 (FSLICE) +RCKE_2 = (~RCKEEN*(RASr3*~RASr2)+RCKEEN*((RASr+RASr2)+RASr3)) +RCKE_c.D = RCKE_2 +RCKE_c.CLK = RCLK_c +RCKE_c.SP = VCC +RCKE_c.LSR = GND +m18_0_a3_3 = (RASr2*(~IS[2]*(~IS[1]*IS[0]))) +PHI2r.D = PHI2_c +PHI2r.CLK = RCLK_c +PHI2r.SP = VCC +PHI2r.LSR = GND + +comp 24: SLICE_43 (FSLICE) +N_462_0 = (~InitReady*Ready+InitReady*(~N_165*(Ready+Ready_0_sqmuxa_0_a3_2)+N_165*Ready)) +Ready.D = N_462_0 +Ready.CLK = RCLK_c +Ready.SP = VCC +Ready.LSR = GND +RCKEEN_8_u_0_0 = (~S_0_i_o2[1]*(~InitReady*(~RASr2*Ready)+InitReady*(~RASr2+~Ready))+S_0_i_o2[1]*(InitReady*~Ready)) +PHI2r3.D = PHI2r2 +PHI2r3.CLK = RCLK_c +PHI2r3.SP = VCC +PHI2r3.LSR = GND + +comp 25: SLICE_44 (FSLICE) +N_463_0 = (Ready_0_sqmuxa+Ready_fast) +Ready_fast.D = N_463_0 +Ready_fast.CLK = RCLK_c +Ready_fast.SP = VCC +Ready_fast.LSR = GND +Ready_0_sqmuxa = (Ready_0_sqmuxa_0_a3_2*(~Ready*(~N_165*InitReady))) +RASr.D = ~nCRAS_c +RASr.CLK = RCLK_c +RASr.SP = VCC +RASr.LSR = GND + +comp 26: SLICE_50 (FSLICE) +S_0_i_o2[1] = (CO0+S[1]) +S[1].D = S_0_i_o2[1] +S[1].CLK = RCLK_c +S[1].SP = VCC +S[1].LSR = ~RASr2 +nRRAS_0_sqmuxa = (~CO0*(~S[1]*Ready)) + +comp 27: SLICE_51 (FSLICE) +UFMCLK_RNO = (~UFMCLK_r_i_m4_xx_mm_1*(~UFMCLK_c*(~nUFMCS15*N_139_i)+UFMCLK_c*~nUFMCS15)+UFMCLK_r_i_m4_xx_mm_1*(UFMCLK_c*(~nUFMCS15*~N_139_i))) +UFMCLK_c.D = UFMCLK_RNO +UFMCLK_c.CLK = RCLK_c +UFMCLK_c.SP = VCC +UFMCLK_c.LSR = GND +UFMCLK_r_i_m4_xx_mm_1 = (~N_129*((~CmdUFMCLK+~InitReady)+UFMCLK_r_i_a2_2_2)+N_129*((~CmdUFMCLK*InitReady)+UFMCLK_r_i_a2_2_2)) +RASr2.D = RASr +RASr2.CLK = RCLK_c +RASr2.SP = VCC +RASr2.LSR = GND + +comp 28: SLICE_52 (FSLICE) +UFMSDI_RNO = (~UFMSDI_r_xx_mm_1*(UFMSDI_c*(~nUFMCS15*~N_139_i))+UFMSDI_r_xx_mm_1*(~UFMSDI_c*(~nUFMCS15*N_139_i)+UFMSDI_c*~nUFMCS15)) +UFMSDI_c.D = UFMSDI_RNO +UFMSDI_c.CLK = RCLK_c +UFMSDI_c.SP = VCC +UFMSDI_c.LSR = GND +N_139_i = (~PHI2r3*~InitReady+PHI2r3*(~PHI2r2*(~InitReady+CmdSubmitted)+PHI2r2*~InitReady)) +RASr3.D = RASr2 +RASr3.CLK = RCLK_c +RASr3.SP = VCC +RASr3.LSR = GND + +comp 29: SLICE_55 (FSLICE) +RA_c[4] = (~nRowColSel*RowA[4]+nRowColSel*MAin_c[4]) +WRD[4].D = Din_c[4] +WRD[4].CLK = ~nCCAS_c +WRD[4].SP = VCC +WRD[4].LSR = GND +WRD[5].D = Din_c[5] +WRD[5].CLK = ~nCCAS_c +WRD[5].SP = VCC +WRD[5].LSR = GND + +comp 30: SLICE_56 (FSLICE) +N_126 = (~FS[9]*FS[7]+FS[9]*(~FS[7]*FS[5])) +WRD[6].D = Din_c[6] +WRD[6].CLK = ~nCCAS_c +WRD[6].SP = VCC +WRD[6].LSR = GND +C1WR_0_a2_0_11 = (Bank[7]*(Bank[6]*(Bank[5]*~Bank[2]))) +WRD[7].D = Din_c[7] +WRD[7].CLK = ~nCCAS_c +WRD[7].SP = VCC +WRD[7].LSR = GND + +comp 31: SLICE_57 (FSLICE) +XOR8MEG_3 = (~XOR8MEG_3_u_0_a3_2*N_171+XOR8MEG_3_u_0_a3_2*((~LEDEN+~Din_c[1])+N_171)) +XOR8MEG.D = XOR8MEG_3 +XOR8MEG.CLK = ~PHI2_c +XOR8MEG.SP = XOR8MEG18 +XOR8MEG.LSR = GND +XOR8MEG_3_u_0_a3_2 = (un1_Din_4*(~Din_c[3]*(Din_c[2]*Din_c[0]))) + +comp 32: SLICE_58 (FSLICE) +N_69 = (~UFMSDO_c*(~InitReady+Cmdn8MEGEN)+UFMSDO_c*(InitReady*Cmdn8MEGEN)) +n8MEGEN.D = N_69 +n8MEGEN.CLK = RCLK_c +n8MEGEN.SP = N_31 +n8MEGEN.LSR = GND +N_151 = (~N_51*(~InitReady*~FS[8])) + +comp 33: SLICE_59 (FSLICE) +N_37_i = (~g0_1*(~S[1]*(~nRCAS_0_sqmuxa_1*N_41)+S[1]*~nRCAS_0_sqmuxa_1)+g0_1*(~nRCAS_0_sqmuxa_1*N_41)) +nRCAS_c.D = N_37_i +nRCAS_c.CLK = RCLK_c +nRCAS_c.SP = VCC +nRCAS_c.LSR = GND +N_41 = (~S[1]*((~N_160+N_155)+Ready)+S[1]*(~Ready*(~N_160+N_155))) + +comp 34: SLICE_60 (FSLICE) +N_28_i = (~RCKEEN_8_u_0_a2_1_out*~N_24+RCKEEN_8_u_0_a2_1_out*(~N_28_i_1*(~N_24*CBR)+N_28_i_1*~N_24)) +nRCS_c.D = N_28_i +nRCS_c.CLK = RCLK_c +nRCS_c.SP = VCC +nRCS_c.LSR = GND +N_28_i_1 = (~CASr2*(FWEr_fast+CO0)+CASr2*(~CASr3*(CO0@FWEr_fast)+CASr3*(FWEr_fast+CO0))) + +comp 35: SLICE_61 (FSLICE) +N_24_i = (~IS[0]*(~N_155*(~N_160*~nRRAS_5_u_i_0)+N_155*~nRRAS_5_u_i_0)+IS[0]*(N_155*~nRRAS_5_u_i_0)) +nRRAS_c.D = N_24_i +nRRAS_c.CLK = RCLK_c +nRRAS_c.SP = VCC +nRRAS_c.LSR = GND +nRRAS_5_u_i_0 = (Ready*(~RCKE_c*(RASr2*~S_0_i_o2[1])+RCKE_c*~S_0_i_o2[1])) + +comp 36: SLICE_62 (FSLICE) +N_39_i = (~m18_0_a2_1*((~G_17_1+~FWEr)+nRCAS_0_sqmuxa_1)+m18_0_a2_1*((G_17_1*~FWEr)+nRCAS_0_sqmuxa_1)) +nRWE_c.D = N_39_i +nRWE_c.CLK = RCLK_c +nRWE_c.SP = VCC +nRWE_c.LSR = GND +nRCAS_0_sqmuxa_1 = (Ready*(RASr2*(~S_0_i_o2[1]*CBR_fast))) + +comp 37: SLICE_63 (FSLICE) +nRowColSel_0_0 = (~S[1]*(~Ready*N_179+Ready*(CO0+N_179))+S[1]*(~Ready*N_179+Ready*(~CO0+N_179))) +nRowColSel.D = nRowColSel_0_0 +nRowColSel.CLK = RCLK_c +nRowColSel.SP = VCC +nRowColSel.LSR = nRRAS_0_sqmuxa +N_179 = (Ready*(FWEr*(~CBR*~CASr3))) + +comp 38: SLICE_64 (FSLICE) +nUFMCS_s_0_N_5_i = (~nUFMCS_s_0_N_5_i_N_2L1*((N_139_i+nUFMCS15)+nUFMCS_c)+nUFMCS_s_0_N_5_i_N_2L1*(~nUFMCS_c*nUFMCS15+nUFMCS_c*(~N_139_i+nUFMCS15))) +nUFMCS_c.D = nUFMCS_s_0_N_5_i +nUFMCS_c.CLK = RCLK_c +nUFMCS_c.SP = VCC +nUFMCS_c.LSR = GND +nUFMCS15 = (~N_51*(~InitReady*(~FS[11]*~FS[10]))) + +comp 39: nRWE_RNO_1/SLICE_65 (FSLICE) +m18_0_a2_1 = ((~RASr2*RCKE_c*~CO0*~S[1])*Ready)+((InitReady*m18_0_a3_3*~CO0*~S[1])*~Ready) + +comp 40: SLICE_66 (FSLICE) +UFMCLK_r_i_a2_2_2 = (N_95_5*(N_95_3*(~InitReady*FS[16]))) +RowA[0].D = MAin_c[0] +RowA[0].CLK = ~nCRAS_c +RowA[0].SP = VCC +RowA[0].LSR = ~Ready_fast +nUFMCS_s_0_N_5_i_N_2L1 = (~UFMCLK_r_i_a2_2_2*(~InitReady+CmdUFMCS)) +RowA[1].D = MAin_c[1] +RowA[1].CLK = ~nCRAS_c +RowA[1].SP = VCC +RowA[1].LSR = ~Ready_fast + +comp 41: SLICE_67 (FSLICE) +XOR8MEG18 = (N_147*(~MAin_c[1]*(MAin_c[0]*CmdEnable))) +RowA[4].D = MAin_c[4] +RowA[4].CLK = ~nCRAS_c +RowA[4].SP = VCC +RowA[4].LSR = ~Ready_fast +CmdUFMCLK_1_sqmuxa = (~Din_c[3]*(Din_c[5]*(~N_128*XOR8MEG18))) +RowA[5].D = MAin_c[5] +RowA[5].CLK = ~nCRAS_c +RowA[5].SP = VCC +RowA[5].LSR = ~Ready_fast + +comp 42: SLICE_68 (FSLICE) +N_31 = (~un1_FS_14_i_a2_0_1*N_136+un1_FS_14_i_a2_0_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) +un1_FS_14_i_a2_0_1 = (~FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) + +comp 43: SLICE_69 (FSLICE) +N_33 = (~un1_FS_13_i_a2_1*N_136+un1_FS_13_i_a2_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) +un1_FS_13_i_a2_1 = (FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) + +comp 44: SLICE_70 (FSLICE) +C1WR_0_a2 = (N_147*MAin_c[1]) +Bank[0].D = Din_c[0] +Bank[0].CLK = PHI2_c +Bank[0].SP = VCC +Bank[0].LSR = GND +N_147 = (C1WR_0_a2_0_11*(C1WR_0_a2_0_10*(Bank[1]*Bank[0]))) +Bank[1].D = Din_c[1] +Bank[1].CLK = PHI2_c +Bank[1].SP = VCC +Bank[1].LSR = GND + +comp 45: SLICE_71 (FSLICE) +C1WR_0_a2_0_10 = (C1WR_0_a2_0_4*(C1WR_0_a2_0_3*(Bank[4]*Bank[3]))) +Bank[2].D = Din_c[2] +Bank[2].CLK = PHI2_c +Bank[2].SP = VCC +Bank[2].LSR = GND +C1WR_0_a2_0_4 = (MAin_c[7]*(MAin_c[6]*(MAin_c[5]*MAin_c[4]))) +Bank[3].D = Din_c[3] +Bank[3].CLK = PHI2_c +Bank[3].SP = VCC +Bank[3].LSR = GND + +comp 46: SLICE_72 (FSLICE) +N_129 = (~N_51*(FS[11]*FS[4])+N_51*FS[1]) +RowA[2].D = MAin_c[2] +RowA[2].CLK = ~nCRAS_c +RowA[2].SP = VCC +RowA[2].LSR = ~Ready_fast +N_51 = ((FS[12]+FS[16])+UFMSDI_ens2_i_o2_0_3) +RowA[3].D = MAin_c[3] +RowA[3].CLK = ~nCRAS_c +RowA[3].SP = VCC +RowA[3].LSR = ~Ready_fast + +comp 47: SLICE_73 (FSLICE) +N_159 = (N_155+Ready) +CmdUFMCLK.D = Din_c[1] +CmdUFMCLK.CLK = ~PHI2_c +CmdUFMCLK.SP = CmdUFMCLK_1_sqmuxa +CmdUFMCLK.LSR = GND +N_155 = (((~InitReady+~RASr2)+S[1])+CO0) +CmdUFMCS.D = Din_c[2] +CmdUFMCS.CLK = ~PHI2_c +CmdUFMCS.SP = CmdUFMCLK_1_sqmuxa +CmdUFMCS.LSR = GND + +comp 48: SLICE_74 (FSLICE) +InitReady3 = (N_95_5*(N_95_3*(FS[16]*FS[10]))) +CmdUFMSDI.D = Din_c[0] +CmdUFMSDI.CLK = ~PHI2_c +CmdUFMSDI.SP = CmdUFMCLK_1_sqmuxa +CmdUFMSDI.LSR = GND +N_95_3 = (FS[14]*FS[11]) + +comp 49: SLICE_75 (FSLICE) +N_133 = (~N_128*(~Din_c[5]*~Din_c[1])) +CASr.D = ~nCCAS_c +CASr.CLK = RCLK_c +CASr.SP = VCC +CASr.LSR = GND +N_128 = ((~Din_c[4]+Din_c[6])+Din_c[7]) +CASr2.D = CASr +CASr2.CLK = RCLK_c +CASr2.SP = VCC +CASr2.LSR = GND + +comp 50: SLICE_76 (FSLICE) +CmdEnable16_0_a2_4 = (~MAin_c[0]*(~Din_c[3]*(~Din_c[1]*CmdEnable16_4))) +Bank[4].D = Din_c[4] +Bank[4].CLK = PHI2_c +Bank[4].SP = VCC +Bank[4].LSR = GND +CmdEnable16_4 = (~Din_c[5]*Din_c[0]) +Bank[5].D = Din_c[5] +Bank[5].CLK = PHI2_c +Bank[5].SP = VCC +Bank[5].LSR = GND + +comp 51: SLICE_77 (FSLICE) +CmdEnable16_0_a2_5 = (MAin_c[1]*(Din_c[6]*(~Din_c[2]*CmdEnable16_1))) +Bank[6].D = Din_c[6] +Bank[6].CLK = PHI2_c +Bank[6].SP = VCC +Bank[6].LSR = GND +CmdEnable16_1 = (Din_c[7]*~Din_c[4]) +Bank[7].D = Din_c[7] +Bank[7].CLK = PHI2_c +Bank[7].SP = VCC +Bank[7].LSR = GND + +comp 52: SLICE_78 (FSLICE) +CmdEnable17_0_a2_4 = (~N_43*(MAin_c[1]*(~Din_c[6]*Din_c[2]))) +CBR.D = ~nCCAS_c +CBR.CLK = ~nCRAS_c +CBR.SP = VCC +CBR.LSR = GND +N_43 = (~Din_c[5]+~Din_c[3]) +CBR_fast.D = ~nCCAS_c +CBR_fast.CLK = ~nCRAS_c +CBR_fast.SP = VCC +CBR_fast.LSR = GND + +comp 53: SLICE_79 (FSLICE) +G_17_1 = (m6_0_a2_2*(S[1]*(CO0*~CBR))) +WRD[0].D = Din_c[0] +WRD[0].CLK = ~nCCAS_c +WRD[0].SP = VCC +WRD[0].LSR = GND +m6_0_a2_2 = (Ready*(~CASr3*CASr2)) +WRD[1].D = Din_c[1] +WRD[1].CLK = ~nCCAS_c +WRD[1].SP = VCC +WRD[1].LSR = GND + +comp 54: SLICE_80 (FSLICE) +g0_1 = (~g4_0_0_0*(~FWEr*(~CO0*~CBR_fast))+g4_0_0_0*(~FWEr*(~CO0*~CBR_fast)+FWEr*(CO0*~CBR_fast))) +RowA[8].D = MAin_c[8] +RowA[8].CLK = ~nCRAS_c +RowA[8].SP = VCC +RowA[8].LSR = ~Ready_fast +g4_0_0_0 = (~CASr3*CASr2) +RowA[9].D = MAin_c[9] +RowA[9].CLK = ~nCRAS_c +RowA[9].SP = VCC +RowA[9].LSR = ~Ready_fast + +comp 55: SLICE_81 (FSLICE) +N_95_5 = (FS[17]*(FS[15]*(FS[13]*FS[12]))) +FWEr.D = ~nFWE_c +FWEr.CLK = ~nCRAS_c +FWEr.SP = VCC +FWEr.LSR = GND +UFMSDI_ens2_i_o2_0_3 = (((FS[13]+FS[14])+FS[15])+FS[17]) +FWEr_fast.D = ~nFWE_c +FWEr_fast.CLK = ~nCRAS_c +FWEr_fast.SP = VCC +FWEr_fast.LSR = GND + +comp 56: SLICE_82 (FSLICE) +CmdSubmitted_1_sqmuxa = (~Din_c[3]*(~N_128*XOR8MEG18)+Din_c[3]*(~Din_c[5]*(~N_128*XOR8MEG18))) +CASr3.D = CASr2 +CASr3.CLK = RCLK_c +CASr3.SP = VCC +CASr3.LSR = GND +N_132 = (~Din_c[3]*(~CmdLEDEN*N_128)+Din_c[3]*(~Din_c[5]*(~CmdLEDEN*N_128)+Din_c[5]*~CmdLEDEN)) + +comp 57: SLICE_83 (FSLICE) +N_165 = (~IS[2]+(~IS[1]+~IS[0])) +RBA_c[0].D = CROW_c[0] +RBA_c[0].CLK = ~nCRAS_c +RBA_c[0].SP = VCC +RBA_c[0].LSR = ~Ready_fast +N_160 = ((IS[1]+IS[2])+IS[3]) +RBA_c[1].D = CROW_c[1] +RBA_c[1].CLK = ~nCRAS_c +RBA_c[1].SP = VCC +RBA_c[1].LSR = ~Ready_fast + +comp 58: SLICE_84 (FSLICE) +N_137_6 = (FS[10]*(~FS[7]*(~FS[6]*~FS[1]))) +UFMSDI_ens2_i_a2_4_2 = (FS[11]*(~FS[10]*(~FS[8]*FS[6]))) + +comp 59: SLICE_85 (FSLICE) +un1_Din_4 = (~Din_c[7]*(~Din_c[6]*(~Din_c[5]*~Din_c[4]))) +WRD[2].D = Din_c[2] +WRD[2].CLK = ~nCCAS_c +WRD[2].SP = VCC +WRD[2].LSR = GND +CmdEnable17_0_a2_3 = (~Din_c[4]*(Din_c[7]*(Din_c[0]*~Din_c[1]))) +WRD[3].D = Din_c[3] +WRD[3].CLK = ~nCCAS_c +WRD[3].SP = VCC +WRD[3].LSR = GND + +comp 60: SLICE_86 (FSLICE) +RA_c[9] = (~nRowColSel*RowA[9]+nRowColSel*MAin_c[9]) +RDQML_c = (~nRowColSel+~MAin_c[9]) + +comp 61: SLICE_87 (FSLICE) +N_137_8 = (N_151*(FS[11]*(~FS[9]*FS[4]))) +UFMSDI_r_xx_mm_1 = (~N_151*(~UFMSDI_ens2_i_a0*CmdUFMSDI)+N_151*~UFMSDI_ens2_i_a0) + +comp 62: SLICE_88 (FSLICE) +RD_1_i = (nCCAS_c+nFWE_c) +RowA[6].D = MAin_c[6] +RowA[6].CLK = ~nCRAS_c +RowA[6].SP = VCC +RowA[6].LSR = ~Ready_fast +C1WR_0_a2_0_3 = (~nFWE_c*(MAin_c[3]*MAin_c[2])) +RowA[7].D = MAin_c[7] +RowA[7].CLK = ~nCRAS_c +RowA[7].SP = VCC +RowA[7].LSR = ~Ready_fast + +comp 63: SLICE_89 (FSLICE) +RA_c[8] = (~nRowColSel*RowA[8]+nRowColSel*MAin_c[8]) +RDQMH_c = (~nRowColSel+MAin_c[9]) + +comp 64: SLICE_90 (FSLICE) +RA_c[0] = (~nRowColSel*RowA[0]+nRowColSel*MAin_c[0]) +un1_CMDWR = (~MAin_c[1]*(MAin_c[0]*N_147)+MAin_c[1]*N_147) + +comp 65: SLICE_91 (FSLICE) +RA_c[1] = (~nRowColSel*RowA[1]+nRowColSel*MAin_c[1]) +RA_c[7] = (~nRowColSel*RowA[7]+nRowColSel*MAin_c[7]) + +comp 66: SLICE_92 (FSLICE) +RA_c[2] = (~nRowColSel*RowA[2]+nRowColSel*MAin_c[2]) +RA_c[6] = (~nRowColSel*RowA[6]+nRowColSel*MAin_c[6]) + +comp 67: SLICE_93 (FSLICE) +RA_c[3] = (~nRowColSel*RowA[3]+nRowColSel*MAin_c[3]) +RA_c[5] = (~nRowColSel*RowA[5]+nRowColSel*MAin_c[5]) + +comp 68: SLICE_94 (FSLICE) +RCKEEN_8_u_0_a2_1_out = (S[1]*Ready) +RA_c[10].D = ~IS[0] +RA_c[10].CLK = RCLK_c +RA_c[10].SP = VCC +RA_c[10].LSR = RA10s_i +N_159_i = (~N_155*~Ready) diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.ncd b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.ncd index 37e2fc98df54ea11c33c83035af5fbdddab27f76..3448f965bb4d8f65bc25e76b275326e77843ac40 100644 GIT binary patch delta 40 wcmcaUiSzm-&IuyS4^v)l6n`YaRv+!BrLRAkQPQE=Ub5X@l5xAeB$I>z06`TEGXMYp delta 40 wcmcaUiSzm-&IuyScY2>~6n`YaR_OeIU0;7PqohN#y=1$+B;$5_NhS#c07~5rod5s; diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.ngd b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.ngd index 2e14e5f1e23090931395f355efceb9ebaff8295e..22385bb173f6cfb4a0301acfa8e6ab2b0693ef51 100644 GIT binary patch literal 144453 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

    4?75b@;OMC7r|je1oT~ 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 literal 144453 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 K-?>m41pfoC^wsPD diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.ngo b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.ngo index 8a421671ce7621b43c82a1483a96283878360970..92ba99dcbd1739d5dd4abf867f0bfe1970375de3 100644 GIT binary patch literal 70904 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 P2c%t4cVtNCNLl}1|Gl;- literal 70904 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 z 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 b?2{HrzC39$^m94V3D7SD5UX1P{b}s~`e98| diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.p2t b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.p2t index 16daf53..1df1245 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.p2t +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.p2t @@ -1,9 +1,9 @@ --w --l 5 --i 6 --n 1 --t 1 --s 1 --c 0 --e 0 --exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 +-w +-l 5 +-i 6 +-n 1 +-t 1 +-s 1 +-c 0 +-e 0 +-exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.pad b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.pad index f0915dc..da08f0e 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.pad +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.pad @@ -1,353 +1,353 @@ -PAD Specification File -*************************** - -PART TYPE: LCMXO640C -Performance Grade: 3 -PACKAGE: TQFP100 -Package Status: Final Version 1.17 - -Wed Aug 16 04:50:52 2023 - -Pinout by Port Name: -+-----------+----------+---------------+-------+----------------------------------+ -| Port Name | Pin/Bank | Buffer Type | Site | Properties | -+-----------+----------+---------------+-------+----------------------------------+ -| CROW[0] | 32/2 | LVCMOS33_IN | PB4C | SLEW:FAST PULL:KEEPER | -| CROW[1] | 34/2 | LVCMOS33_IN | PB4E | SLEW:FAST PULL:KEEPER | -| Din[0] | 21/3 | LVCMOS33_IN | PL10C | SLEW:FAST PULL:KEEPER | -| Din[1] | 15/3 | LVCMOS33_IN | PL7B | SLEW:FAST PULL:KEEPER | -| Din[2] | 14/3 | LVCMOS33_IN | PL5B | SLEW:FAST PULL:KEEPER | -| Din[3] | 16/3 | LVCMOS33_IN | PL8C | SLEW:FAST PULL:KEEPER | -| Din[4] | 18/3 | LVCMOS33_IN | PL9A | SLEW:FAST PULL:KEEPER | -| Din[5] | 17/3 | LVCMOS33_IN | PL8D | SLEW:FAST PULL:KEEPER | -| Din[6] | 20/3 | LVCMOS33_IN | PL10A | SLEW:FAST PULL:KEEPER | -| Din[7] | 19/3 | LVCMOS33_IN | PL9C | SLEW:FAST PULL:KEEPER | -| Dout[0] | 1/3 | LVCMOS33_OUT | PL2A | DRIVE:4mA SLEW:FAST | -| Dout[1] | 7/3 | LVCMOS33_OUT | PL3C | DRIVE:4mA SLEW:FAST | -| Dout[2] | 8/3 | LVCMOS33_OUT | PL3D | DRIVE:4mA SLEW:FAST | -| Dout[3] | 6/3 | LVCMOS33_OUT | PL3B | DRIVE:4mA SLEW:FAST | -| Dout[4] | 4/3 | LVCMOS33_OUT | PL2D | DRIVE:4mA SLEW:FAST | -| Dout[5] | 5/3 | LVCMOS33_OUT | PL3A | DRIVE:4mA SLEW:FAST | -| Dout[6] | 2/3 | LVCMOS33_OUT | PL2C | DRIVE:4mA SLEW:FAST | -| Dout[7] | 3/3 | LVCMOS33_OUT | PL2B | DRIVE:4mA SLEW:FAST | -| LED | 57/1 | LVCMOS33_OUT | PR10B | DRIVE:14mA SLEW:SLOW | -| MAin[0] | 23/3 | LVCMOS33_IN | PL11C | SLEW:FAST PULL:KEEPER | -| MAin[1] | 38/2 | LVCMOS33_IN | PB6B | SLEW:FAST PULL:KEEPER | -| MAin[2] | 37/2 | LVCMOS33_IN | PB5D | SLEW:FAST PULL:KEEPER | -| MAin[3] | 47/2 | LVCMOS33_IN | PB9C | SLEW:FAST PULL:KEEPER | -| MAin[4] | 46/2 | LVCMOS33_IN | PB9A | SLEW:FAST PULL:KEEPER | -| MAin[5] | 45/2 | LVCMOS33_IN | PB8D | SLEW:FAST PULL:KEEPER | -| MAin[6] | 49/2 | LVCMOS33_IN | PB9D | SLEW:FAST PULL:KEEPER | -| MAin[7] | 44/2 | LVCMOS33_IN | PB8C | SLEW:FAST PULL:KEEPER | -| MAin[8] | 50/2 | LVCMOS33_IN | PB9F | SLEW:FAST PULL:KEEPER | -| MAin[9] | 51/1 | LVCMOS33_IN | PR11D | SLEW:FAST PULL:KEEPER | -| PHI2 | 39/2 | LVCMOS33_IN | PB6C | SLEW:FAST PULL:DOWN | -| RA[0] | 98/0 | LVCMOS33_OUT | PT2B | DRIVE:4mA SLEW:SLOW | -| RA[10] | 87/0 | LVCMOS33_OUT | PT5A | DRIVE:4mA SLEW:SLOW | -| RA[11] | 79/0 | LVCMOS33_OUT | PT9A | DRIVE:4mA SLEW:SLOW | -| RA[1] | 89/0 | LVCMOS33_OUT | PT4F | DRIVE:4mA SLEW:SLOW | -| RA[2] | 94/0 | LVCMOS33_OUT | PT3B | DRIVE:4mA SLEW:SLOW | -| RA[3] | 97/0 | LVCMOS33_OUT | PT2E | DRIVE:4mA SLEW:SLOW | -| RA[4] | 99/0 | LVCMOS33_OUT | PT2C | DRIVE:4mA SLEW:SLOW | -| RA[5] | 95/0 | LVCMOS33_OUT | PT3A | DRIVE:4mA SLEW:SLOW | -| RA[6] | 91/0 | LVCMOS33_OUT | PT3F | DRIVE:4mA SLEW:SLOW | -| RA[7] | 100/0 | LVCMOS33_OUT | PT2A | DRIVE:4mA SLEW:SLOW | -| RA[8] | 96/0 | LVCMOS33_OUT | PT2F | DRIVE:4mA SLEW:SLOW | -| RA[9] | 85/0 | LVCMOS33_OUT | PT6B | DRIVE:4mA SLEW:SLOW | -| RBA[0] | 63/1 | LVCMOS33_OUT | PR7B | DRIVE:4mA SLEW:SLOW | -| RBA[1] | 83/0 | LVCMOS33_OUT | PT7A | DRIVE:4mA SLEW:SLOW | -| RCKE | 82/0 | LVCMOS33_OUT | PT7E | DRIVE:4mA SLEW:SLOW | -| RCLK | 86/0 | LVCMOS33_IN | PT5B | SLEW:FAST PULL:KEEPER | -| RDQMH | 76/0 | LVCMOS33_OUT | PT9F | DRIVE:4mA SLEW:SLOW | -| RDQML | 61/1 | LVCMOS33_OUT | PR9B | DRIVE:4mA SLEW:SLOW | -| RD[0] | 64/1 | LVCMOS33_BIDI | PR6C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[1] | 65/1 | LVCMOS33_BIDI | PR6B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[2] | 66/1 | LVCMOS33_BIDI | PR5D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[3] | 67/1 | LVCMOS33_BIDI | PR5B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[4] | 68/1 | LVCMOS33_BIDI | PR4D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[5] | 69/1 | LVCMOS33_BIDI | PR4B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[6] | 70/1 | LVCMOS33_BIDI | PR3D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[7] | 71/1 | LVCMOS33_BIDI | PR3B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| UFMCLK | 58/1 | LVCMOS33_OUT | PR10A | DRIVE:4mA SLEW:SLOW | -| UFMSDI | 56/1 | LVCMOS33_OUT | PR10C | DRIVE:4mA SLEW:SLOW | -| UFMSDO | 55/1 | LVCMOS33_IN | PR10D | SLEW:FAST PULL:KEEPER | -| nCCAS | 27/2 | LVCMOS33_IN | PB2C | SLEW:FAST PULL:UP | -| nCRAS | 43/2 | LVCMOS33_IN | PB8B | SLEW:FAST PULL:UP | -| nFWE | 22/3 | LVCMOS33_IN | PL11A | SLEW:FAST PULL:KEEPER | -| nRCAS | 78/0 | LVCMOS33_OUT | PT9C | DRIVE:4mA SLEW:SLOW | -| nRCS | 77/0 | LVCMOS33_OUT | PT9E | DRIVE:4mA SLEW:SLOW | -| nRRAS | 73/1 | LVCMOS33_OUT | PR2B | DRIVE:4mA SLEW:SLOW | -| nRWE | 72/1 | LVCMOS33_OUT | PR2D | DRIVE:4mA SLEW:SLOW | -| nUFMCS | 53/1 | LVCMOS33_OUT | PR11C | DRIVE:4mA SLEW:SLOW | -+-----------+----------+---------------+-------+----------------------------------+ - -Vccio by Bank: -+------+-------+ -| Bank | Vccio | -+------+-------+ -| 0 | 3.3V | -| 1 | 3.3V | -| 2 | | -| 3 | 3.3V | -+------+-------+ - -Vref by Bank: -+------+-----+-----------------+---------+ -| Vref | Pin | Bank # / Vref # | Load(s) | -+------+-----+-----------------+---------+ -+------+-----+-----------------+---------+ - -Pinout by Pin Number: -+----------+---------------------+------------+---------------+-------+---------------+ -| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | -+----------+---------------------+------------+---------------+-------+---------------+ -| 1/3 | Dout[0] | LOCATED | LVCMOS33_OUT | PL2A | | -| 2/3 | Dout[6] | LOCATED | LVCMOS33_OUT | PL2C | | -| 3/3 | Dout[7] | LOCATED | LVCMOS33_OUT | PL2B | | -| 4/3 | Dout[4] | LOCATED | LVCMOS33_OUT | PL2D | | -| 5/3 | Dout[5] | LOCATED | LVCMOS33_OUT | PL3A | | -| 6/3 | Dout[3] | LOCATED | LVCMOS33_OUT | PL3B | | -| 7/3 | Dout[1] | LOCATED | LVCMOS33_OUT | PL3C | | -| 8/3 | Dout[2] | LOCATED | LVCMOS33_OUT | PL3D | | -| 9/3 | unused, PULL:UP | | | PL4A | | -| 11/3 | unused, PULL:UP | | | PL4C | | -| 13/3 | unused, PULL:UP | | | PL4D | | -| 14/3 | Din[2] | LOCATED | LVCMOS33_IN | PL5B | GSR_PADN | -| 15/3 | Din[1] | LOCATED | LVCMOS33_IN | PL7B | | -| 16/3 | Din[3] | LOCATED | LVCMOS33_IN | PL8C | TSALLPAD | -| 17/3 | Din[5] | LOCATED | LVCMOS33_IN | PL8D | | -| 18/3 | Din[4] | LOCATED | LVCMOS33_IN | PL9A | | -| 19/3 | Din[7] | LOCATED | LVCMOS33_IN | PL9C | | -| 20/3 | Din[6] | LOCATED | LVCMOS33_IN | PL10A | | -| 21/3 | Din[0] | LOCATED | LVCMOS33_IN | PL10C | | -| 22/3 | nFWE | LOCATED | LVCMOS33_IN | PL11A | | -| 23/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL11C | | -| 27/2 | nCCAS | LOCATED | LVCMOS33_IN | PB2C | | -| 32/2 | CROW[0] | LOCATED | LVCMOS33_IN | PB4C | | -| 34/2 | CROW[1] | LOCATED | LVCMOS33_IN | PB4E | | -| 36/2 | unused, PULL:UP | | | PB5B | PCLKT2_1 | -| 37/2 | MAin[2] | LOCATED | LVCMOS33_IN | PB5D | | -| 38/2 | MAin[1] | LOCATED | LVCMOS33_IN | PB6B | PCLKT2_0 | -| 39/2 | PHI2 | LOCATED | LVCMOS33_IN | PB6C | | -| 43/2 | nCRAS | LOCATED | LVCMOS33_IN | PB8B | | -| 44/2 | MAin[7] | LOCATED | LVCMOS33_IN | PB8C | | -| 45/2 | MAin[5] | LOCATED | LVCMOS33_IN | PB8D | | -| 46/2 | MAin[4] | LOCATED | LVCMOS33_IN | PB9A | | -| 47/2 | MAin[3] | LOCATED | LVCMOS33_IN | PB9C | | -| 49/2 | MAin[6] | LOCATED | LVCMOS33_IN | PB9D | | -| 50/2 | MAin[8] | LOCATED | LVCMOS33_IN | PB9F | | -| 51/1 | MAin[9] | LOCATED | LVCMOS33_IN | PR11D | | -| 52/1 | unused, PULL:UP | | | PR11B | | -| 53/1 | nUFMCS | LOCATED | LVCMOS33_OUT | PR11C | | -| 54/1 | unused, PULL:UP | | | PR11A | | -| 55/1 | UFMSDO | LOCATED | LVCMOS33_IN | PR10D | | -| 56/1 | UFMSDI | LOCATED | LVCMOS33_OUT | PR10C | | -| 57/1 | LED | LOCATED | LVCMOS33_OUT | PR10B | | -| 58/1 | UFMCLK | LOCATED | LVCMOS33_OUT | PR10A | | -| 59/1 | unused, PULL:UP | | | PR9D | | -| 61/1 | RDQML | LOCATED | LVCMOS33_OUT | PR9B | | -| 63/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR7B | | -| 64/1 | RD[0] | LOCATED | LVCMOS33_BIDI | PR6C | | -| 65/1 | RD[1] | LOCATED | LVCMOS33_BIDI | PR6B | | -| 66/1 | RD[2] | LOCATED | LVCMOS33_BIDI | PR5D | | -| 67/1 | RD[3] | LOCATED | LVCMOS33_BIDI | PR5B | | -| 68/1 | RD[4] | LOCATED | LVCMOS33_BIDI | PR4D | | -| 69/1 | RD[5] | LOCATED | LVCMOS33_BIDI | PR4B | | -| 70/1 | RD[6] | LOCATED | LVCMOS33_BIDI | PR3D | | -| 71/1 | RD[7] | LOCATED | LVCMOS33_BIDI | PR3B | | -| 72/1 | nRWE | LOCATED | LVCMOS33_OUT | PR2D | | -| 73/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR2B | | -| 76/0 | RDQMH | LOCATED | LVCMOS33_OUT | PT9F | | -| 77/0 | nRCS | LOCATED | LVCMOS33_OUT | PT9E | | -| 78/0 | nRCAS | LOCATED | LVCMOS33_OUT | PT9C | | -| 79/0 | RA[11] | LOCATED | LVCMOS33_OUT | PT9A | | -| 82/0 | RCKE | LOCATED | LVCMOS33_OUT | PT7E | D7 | -| 83/0 | RBA[1] | LOCATED | LVCMOS33_OUT | PT7A | D6 | -| 85/0 | RA[9] | LOCATED | LVCMOS33_OUT | PT6B | PCLKT0_1 | -| 86/0 | RCLK | LOCATED | LVCMOS33_IN | PT5B | PCLKT0_0 | -| 87/0 | RA[10] | LOCATED | LVCMOS33_OUT | PT5A | | -| 89/0 | RA[1] | LOCATED | LVCMOS33_OUT | PT4F | | -| 91/0 | RA[6] | LOCATED | LVCMOS33_OUT | PT3F | D3 | -| 94/0 | RA[2] | LOCATED | LVCMOS33_OUT | PT3B | | -| 95/0 | RA[5] | LOCATED | LVCMOS33_OUT | PT3A | | -| 96/0 | RA[8] | LOCATED | LVCMOS33_OUT | PT2F | D2 | -| 97/0 | RA[3] | LOCATED | LVCMOS33_OUT | PT2E | | -| 98/0 | RA[0] | LOCATED | LVCMOS33_OUT | PT2B | D1 | -| 99/0 | RA[4] | LOCATED | LVCMOS33_OUT | PT2C | | -| 100/0 | RA[7] | LOCATED | LVCMOS33_OUT | PT2A | | -| PB2A/2 | unused, PULL:UP | | | PB2A | | -| PB2B/2 | unused, PULL:UP | | | PB2B | | -| PB2D/2 | unused, PULL:UP | | | PB2D | | -| PB3A/2 | unused, PULL:UP | | | PB3A | | -| PB3B/2 | unused, PULL:UP | | | PB3B | | -| PB3C/2 | unused, PULL:UP | | | PB3C | | -| PB3D/2 | unused, PULL:UP | | | PB3D | | -| PB4A/2 | unused, PULL:UP | | | PB4A | | -| PB4B/2 | unused, PULL:UP | | | PB4B | | -| PB4D/2 | unused, PULL:UP | | | PB4D | | -| PB4F/2 | unused, PULL:UP | | | PB4F | | -| PB5A/2 | unused, PULL:UP | | | PB5A | | -| PB5C/2 | unused, PULL:UP | | | PB5C | | -| PB6A/2 | unused, PULL:UP | | | PB6A | | -| PB6D/2 | unused, PULL:UP | | | PB6D | | -| PB7A/2 | unused, PULL:UP | | | PB7A | | -| PB7B/2 | unused, PULL:UP | | | PB7B | | -| PB7C/2 | unused, PULL:UP | | | PB7C | | -| PB7D/2 | unused, PULL:UP | | | PB7D | | -| PB7E/2 | unused, PULL:UP | | | PB7E | | -| PB7F/2 | unused, PULL:UP | | | PB7F | | -| PB8A/2 | unused, PULL:UP | | | PB8A | | -| PB9B/2 | unused, PULL:UP | | | PB9B | | -| PB9E/0 | unused, PULL:UP | | | PB9E | | -| PL4B/3 | unused, PULL:UP | | | PL4B | | -| PL5A/3 | unused, PULL:UP | | | PL5A | | -| PL5C/3 | unused, PULL:UP | | | PL5C | | -| PL5D/3 | unused, PULL:UP | | | PL5D | | -| PL6A/3 | unused, PULL:UP | | | PL6A | | -| PL6B/3 | unused, PULL:UP | | | PL6B | | -| PL6C/3 | unused, PULL:UP | | | PL6C | | -| PL6D/3 | unused, PULL:UP | | | PL6D | | -| PL7A/3 | unused, PULL:UP | | | PL7A | | -| PL7C/3 | unused, PULL:UP | | | PL7C | | -| PL7D/3 | unused, PULL:UP | | | PL7D | | -| PL8A/3 | unused, PULL:UP | | | PL8A | | -| PL8B/3 | unused, PULL:UP | | | PL8B | | -| PL9B/3 | unused, PULL:UP | | | PL9B | | -| PL9D/3 | unused, PULL:UP | | | PL9D | | -| PL10B/3 | unused, PULL:UP | | | PL10B | | -| PL10D/3 | unused, PULL:UP | | | PL10D | | -| PL11B/3 | unused, PULL:UP | | | PL11B | | -| PL11D/3 | unused, PULL:UP | | | PL11D | | -| PR2A/1 | unused, PULL:UP | | | PR2A | | -| PR2C/1 | unused, PULL:UP | | | PR2C | | -| PR3A/1 | unused, PULL:UP | | | PR3A | | -| PR3C/1 | unused, PULL:UP | | | PR3C | | -| PR4A/1 | unused, PULL:UP | | | PR4A | | -| PR4C/1 | unused, PULL:UP | | | PR4C | | -| PR5A/1 | unused, PULL:UP | | | PR5A | | -| PR5C/1 | unused, PULL:UP | | | PR5C | | -| PR6A/1 | unused, PULL:UP | | | PR6A | | -| PR6D/1 | unused, PULL:UP | | | PR6D | | -| PR7A/1 | unused, PULL:UP | | | PR7A | | -| PR7C/1 | unused, PULL:UP | | | PR7C | | -| PR7D/1 | unused, PULL:UP | | | PR7D | | -| PR8A/1 | unused, PULL:UP | | | PR8A | | -| PR8B/1 | unused, PULL:UP | | | PR8B | | -| PR8C/1 | unused, PULL:UP | | | PR8C | | -| PR8D/1 | unused, PULL:UP | | | PR8D | | -| PR9A/1 | unused, PULL:UP | | | PR9A | | -| PR9C/1 | unused, PULL:UP | | | PR9C | | -| PT2D/0 | unused, PULL:UP | | | PT2D | | -| PT3C/0 | unused, PULL:UP | | | PT3C | | -| PT3D/0 | unused, PULL:UP | | | PT3D | | -| PT3E/0 | unused, PULL:UP | | | PT3E | | -| PT4A/0 | unused, PULL:UP | | | PT4A | | -| PT4B/0 | unused, PULL:UP | | | PT4B | | -| PT4C/0 | unused, PULL:UP | | | PT4C | | -| PT4D/0 | unused, PULL:UP | | | PT4D | | -| PT4E/0 | unused, PULL:UP | | | PT4E | | -| PT5C/0 | unused, PULL:UP | | | PT5C | | -| PT5D/0 | unused, PULL:UP | | | PT5D | | -| PT6A/0 | unused, PULL:UP | | | PT6A | | -| PT6C/0 | unused, PULL:UP | | | PT6C | | -| PT6D/0 | unused, PULL:UP | | | PT6D | | -| PT7B/0 | unused, PULL:UP | | | PT7B | | -| PT7C/0 | unused, PULL:UP | | | PT7C | | -| PT7D/0 | unused, PULL:UP | | | PT7D | | -| PT7F/0 | unused, PULL:UP | | | PT7F | | -| PT8A/0 | unused, PULL:UP | | | PT8A | | -| PT8B/0 | unused, PULL:UP | | | PT8B | | -| PT8C/0 | unused, PULL:UP | | | PT8C | | -| PT8D/0 | unused, PULL:UP | | | PT8D | | -| PT9B/0 | unused, PULL:UP | | | PT9B | | -| PT9D/0 | unused, PULL:UP | | | PT9D | | -| TCK/2 | | | | TCK | TCK | -| TDI/2 | | | | TDI | TDID0 | -| TDO/2 | | | | TDO | TDO | -| TMS/2 | | | | TMS | TMS | -+----------+---------------------+------------+---------------+-------+---------------+ - - -List of All Pins' Locate Preferences Based on Final Placement After PAR -to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): - -LOCATE COMP "CROW[0]" SITE "32"; -LOCATE COMP "CROW[1]" SITE "34"; -LOCATE COMP "Din[0]" SITE "21"; -LOCATE COMP "Din[1]" SITE "15"; -LOCATE COMP "Din[2]" SITE "14"; -LOCATE COMP "Din[3]" SITE "16"; -LOCATE COMP "Din[4]" SITE "18"; -LOCATE COMP "Din[5]" SITE "17"; -LOCATE COMP "Din[6]" SITE "20"; -LOCATE COMP "Din[7]" SITE "19"; -LOCATE COMP "Dout[0]" SITE "1"; -LOCATE COMP "Dout[1]" SITE "7"; -LOCATE COMP "Dout[2]" SITE "8"; -LOCATE COMP "Dout[3]" SITE "6"; -LOCATE COMP "Dout[4]" SITE "4"; -LOCATE COMP "Dout[5]" SITE "5"; -LOCATE COMP "Dout[6]" SITE "2"; -LOCATE COMP "Dout[7]" SITE "3"; -LOCATE COMP "LED" SITE "57"; -LOCATE COMP "MAin[0]" SITE "23"; -LOCATE COMP "MAin[1]" SITE "38"; -LOCATE COMP "MAin[2]" SITE "37"; -LOCATE COMP "MAin[3]" SITE "47"; -LOCATE COMP "MAin[4]" SITE "46"; -LOCATE COMP "MAin[5]" SITE "45"; -LOCATE COMP "MAin[6]" SITE "49"; -LOCATE COMP "MAin[7]" SITE "44"; -LOCATE COMP "MAin[8]" SITE "50"; -LOCATE COMP "MAin[9]" SITE "51"; -LOCATE COMP "PHI2" SITE "39"; -LOCATE COMP "RA[0]" SITE "98"; -LOCATE COMP "RA[10]" SITE "87"; -LOCATE COMP "RA[11]" SITE "79"; -LOCATE COMP "RA[1]" SITE "89"; -LOCATE COMP "RA[2]" SITE "94"; -LOCATE COMP "RA[3]" SITE "97"; -LOCATE COMP "RA[4]" SITE "99"; -LOCATE COMP "RA[5]" SITE "95"; -LOCATE COMP "RA[6]" SITE "91"; -LOCATE COMP "RA[7]" SITE "100"; -LOCATE COMP "RA[8]" SITE "96"; -LOCATE COMP "RA[9]" SITE "85"; -LOCATE COMP "RBA[0]" SITE "63"; -LOCATE COMP "RBA[1]" SITE "83"; -LOCATE COMP "RCKE" SITE "82"; -LOCATE COMP "RCLK" SITE "86"; -LOCATE COMP "RDQMH" SITE "76"; -LOCATE COMP "RDQML" SITE "61"; -LOCATE COMP "RD[0]" SITE "64"; -LOCATE COMP "RD[1]" SITE "65"; -LOCATE COMP "RD[2]" SITE "66"; -LOCATE COMP "RD[3]" SITE "67"; -LOCATE COMP "RD[4]" SITE "68"; -LOCATE COMP "RD[5]" SITE "69"; -LOCATE COMP "RD[6]" SITE "70"; -LOCATE COMP "RD[7]" SITE "71"; -LOCATE COMP "UFMCLK" SITE "58"; -LOCATE COMP "UFMSDI" SITE "56"; -LOCATE COMP "UFMSDO" SITE "55"; -LOCATE COMP "nCCAS" SITE "27"; -LOCATE COMP "nCRAS" SITE "43"; -LOCATE COMP "nFWE" SITE "22"; -LOCATE COMP "nRCAS" SITE "78"; -LOCATE COMP "nRCS" SITE "77"; -LOCATE COMP "nRRAS" SITE "73"; -LOCATE COMP "nRWE" SITE "72"; -LOCATE COMP "nUFMCS" SITE "53"; - - - - - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:52 2023 - +PAD Specification File +*************************** + +PART TYPE: LCMXO640C +Performance Grade: 3 +PACKAGE: TQFP100 +Package Status: Final Version 1.17 + +Sat Aug 19 20:57:21 2023 + +Pinout by Port Name: ++-----------+----------+---------------+-------+----------------------------------+ +| Port Name | Pin/Bank | Buffer Type | Site | Properties | ++-----------+----------+---------------+-------+----------------------------------+ +| CROW[0] | 32/2 | LVCMOS33_IN | PB4C | SLEW:FAST PULL:KEEPER | +| CROW[1] | 34/2 | LVCMOS33_IN | PB4E | SLEW:FAST PULL:KEEPER | +| Din[0] | 21/3 | LVCMOS33_IN | PL10C | SLEW:FAST PULL:KEEPER | +| Din[1] | 15/3 | LVCMOS33_IN | PL7B | SLEW:FAST PULL:KEEPER | +| Din[2] | 14/3 | LVCMOS33_IN | PL5B | SLEW:FAST PULL:KEEPER | +| Din[3] | 16/3 | LVCMOS33_IN | PL8C | SLEW:FAST PULL:KEEPER | +| Din[4] | 18/3 | LVCMOS33_IN | PL9A | SLEW:FAST PULL:KEEPER | +| Din[5] | 17/3 | LVCMOS33_IN | PL8D | SLEW:FAST PULL:KEEPER | +| Din[6] | 20/3 | LVCMOS33_IN | PL10A | SLEW:FAST PULL:KEEPER | +| Din[7] | 19/3 | LVCMOS33_IN | PL9C | SLEW:FAST PULL:KEEPER | +| Dout[0] | 1/3 | LVCMOS33_OUT | PL2A | DRIVE:4mA SLEW:FAST | +| Dout[1] | 7/3 | LVCMOS33_OUT | PL3C | DRIVE:4mA SLEW:FAST | +| Dout[2] | 8/3 | LVCMOS33_OUT | PL3D | DRIVE:4mA SLEW:FAST | +| Dout[3] | 6/3 | LVCMOS33_OUT | PL3B | DRIVE:4mA SLEW:FAST | +| Dout[4] | 4/3 | LVCMOS33_OUT | PL2D | DRIVE:4mA SLEW:FAST | +| Dout[5] | 5/3 | LVCMOS33_OUT | PL3A | DRIVE:4mA SLEW:FAST | +| Dout[6] | 2/3 | LVCMOS33_OUT | PL2C | DRIVE:4mA SLEW:FAST | +| Dout[7] | 3/3 | LVCMOS33_OUT | PL2B | DRIVE:4mA SLEW:FAST | +| LED | 57/1 | LVCMOS33_OUT | PR10B | DRIVE:14mA SLEW:SLOW | +| MAin[0] | 23/3 | LVCMOS33_IN | PL11C | SLEW:FAST PULL:KEEPER | +| MAin[1] | 38/2 | LVCMOS33_IN | PB6B | SLEW:FAST PULL:KEEPER | +| MAin[2] | 37/2 | LVCMOS33_IN | PB5D | SLEW:FAST PULL:KEEPER | +| MAin[3] | 47/2 | LVCMOS33_IN | PB9C | SLEW:FAST PULL:KEEPER | +| MAin[4] | 46/2 | LVCMOS33_IN | PB9A | SLEW:FAST PULL:KEEPER | +| MAin[5] | 45/2 | LVCMOS33_IN | PB8D | SLEW:FAST PULL:KEEPER | +| MAin[6] | 49/2 | LVCMOS33_IN | PB9D | SLEW:FAST PULL:KEEPER | +| MAin[7] | 44/2 | LVCMOS33_IN | PB8C | SLEW:FAST PULL:KEEPER | +| MAin[8] | 50/2 | LVCMOS33_IN | PB9F | SLEW:FAST PULL:KEEPER | +| MAin[9] | 51/1 | LVCMOS33_IN | PR11D | SLEW:FAST PULL:KEEPER | +| PHI2 | 39/2 | LVCMOS33_IN | PB6C | SLEW:FAST PULL:DOWN | +| RA[0] | 98/0 | LVCMOS33_OUT | PT2B | DRIVE:4mA SLEW:SLOW | +| RA[10] | 87/0 | LVCMOS33_OUT | PT5A | DRIVE:4mA SLEW:SLOW | +| RA[11] | 79/0 | LVCMOS33_OUT | PT9A | DRIVE:4mA SLEW:SLOW | +| RA[1] | 89/0 | LVCMOS33_OUT | PT4F | DRIVE:4mA SLEW:SLOW | +| RA[2] | 94/0 | LVCMOS33_OUT | PT3B | DRIVE:4mA SLEW:SLOW | +| RA[3] | 97/0 | LVCMOS33_OUT | PT2E | DRIVE:4mA SLEW:SLOW | +| RA[4] | 99/0 | LVCMOS33_OUT | PT2C | DRIVE:4mA SLEW:SLOW | +| RA[5] | 95/0 | LVCMOS33_OUT | PT3A | DRIVE:4mA SLEW:SLOW | +| RA[6] | 91/0 | LVCMOS33_OUT | PT3F | DRIVE:4mA SLEW:SLOW | +| RA[7] | 100/0 | LVCMOS33_OUT | PT2A | DRIVE:4mA SLEW:SLOW | +| RA[8] | 96/0 | LVCMOS33_OUT | PT2F | DRIVE:4mA SLEW:SLOW | +| RA[9] | 85/0 | LVCMOS33_OUT | PT6B | DRIVE:4mA SLEW:SLOW | +| RBA[0] | 63/1 | LVCMOS33_OUT | PR7B | DRIVE:4mA SLEW:SLOW | +| RBA[1] | 83/0 | LVCMOS33_OUT | PT7A | DRIVE:4mA SLEW:SLOW | +| RCKE | 82/0 | LVCMOS33_OUT | PT7E | DRIVE:4mA SLEW:SLOW | +| RCLK | 86/0 | LVCMOS33_IN | PT5B | SLEW:FAST PULL:KEEPER | +| RDQMH | 76/0 | LVCMOS33_OUT | PT9F | DRIVE:4mA SLEW:SLOW | +| RDQML | 61/1 | LVCMOS33_OUT | PR9B | DRIVE:4mA SLEW:SLOW | +| RD[0] | 64/1 | LVCMOS33_BIDI | PR6C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[1] | 65/1 | LVCMOS33_BIDI | PR6B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[2] | 66/1 | LVCMOS33_BIDI | PR5D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[3] | 67/1 | LVCMOS33_BIDI | PR5B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[4] | 68/1 | LVCMOS33_BIDI | PR4D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[5] | 69/1 | LVCMOS33_BIDI | PR4B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[6] | 70/1 | LVCMOS33_BIDI | PR3D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[7] | 71/1 | LVCMOS33_BIDI | PR3B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| UFMCLK | 58/1 | LVCMOS33_OUT | PR10A | DRIVE:4mA SLEW:SLOW | +| UFMSDI | 56/1 | LVCMOS33_OUT | PR10C | DRIVE:4mA SLEW:SLOW | +| UFMSDO | 55/1 | LVCMOS33_IN | PR10D | SLEW:FAST PULL:KEEPER | +| nCCAS | 27/2 | LVCMOS33_IN | PB2C | SLEW:FAST PULL:UP | +| nCRAS | 43/2 | LVCMOS33_IN | PB8B | SLEW:FAST PULL:UP | +| nFWE | 22/3 | LVCMOS33_IN | PL11A | SLEW:FAST PULL:KEEPER | +| nRCAS | 78/0 | LVCMOS33_OUT | PT9C | DRIVE:4mA SLEW:SLOW | +| nRCS | 77/0 | LVCMOS33_OUT | PT9E | DRIVE:4mA SLEW:SLOW | +| nRRAS | 73/1 | LVCMOS33_OUT | PR2B | DRIVE:4mA SLEW:SLOW | +| nRWE | 72/1 | LVCMOS33_OUT | PR2D | DRIVE:4mA SLEW:SLOW | +| nUFMCS | 53/1 | LVCMOS33_OUT | PR11C | DRIVE:4mA SLEW:SLOW | ++-----------+----------+---------------+-------+----------------------------------+ + +Vccio by Bank: ++------+-------+ +| Bank | Vccio | ++------+-------+ +| 0 | 3.3V | +| 1 | 3.3V | +| 2 | | +| 3 | 3.3V | ++------+-------+ + +Vref by Bank: ++------+-----+-----------------+---------+ +| Vref | Pin | Bank # / Vref # | Load(s) | ++------+-----+-----------------+---------+ ++------+-----+-----------------+---------+ + +Pinout by Pin Number: ++----------+---------------------+------------+---------------+-------+---------------+ +| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | ++----------+---------------------+------------+---------------+-------+---------------+ +| 1/3 | Dout[0] | LOCATED | LVCMOS33_OUT | PL2A | | +| 2/3 | Dout[6] | LOCATED | LVCMOS33_OUT | PL2C | | +| 3/3 | Dout[7] | LOCATED | LVCMOS33_OUT | PL2B | | +| 4/3 | Dout[4] | LOCATED | LVCMOS33_OUT | PL2D | | +| 5/3 | Dout[5] | LOCATED | LVCMOS33_OUT | PL3A | | +| 6/3 | Dout[3] | LOCATED | LVCMOS33_OUT | PL3B | | +| 7/3 | Dout[1] | LOCATED | LVCMOS33_OUT | PL3C | | +| 8/3 | Dout[2] | LOCATED | LVCMOS33_OUT | PL3D | | +| 9/3 | unused, PULL:UP | | | PL4A | | +| 11/3 | unused, PULL:UP | | | PL4C | | +| 13/3 | unused, PULL:UP | | | PL4D | | +| 14/3 | Din[2] | LOCATED | LVCMOS33_IN | PL5B | GSR_PADN | +| 15/3 | Din[1] | LOCATED | LVCMOS33_IN | PL7B | | +| 16/3 | Din[3] | LOCATED | LVCMOS33_IN | PL8C | TSALLPAD | +| 17/3 | Din[5] | LOCATED | LVCMOS33_IN | PL8D | | +| 18/3 | Din[4] | LOCATED | LVCMOS33_IN | PL9A | | +| 19/3 | Din[7] | LOCATED | LVCMOS33_IN | PL9C | | +| 20/3 | Din[6] | LOCATED | LVCMOS33_IN | PL10A | | +| 21/3 | Din[0] | LOCATED | LVCMOS33_IN | PL10C | | +| 22/3 | nFWE | LOCATED | LVCMOS33_IN | PL11A | | +| 23/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL11C | | +| 27/2 | nCCAS | LOCATED | LVCMOS33_IN | PB2C | | +| 32/2 | CROW[0] | LOCATED | LVCMOS33_IN | PB4C | | +| 34/2 | CROW[1] | LOCATED | LVCMOS33_IN | PB4E | | +| 36/2 | unused, PULL:UP | | | PB5B | PCLKT2_1 | +| 37/2 | MAin[2] | LOCATED | LVCMOS33_IN | PB5D | | +| 38/2 | MAin[1] | LOCATED | LVCMOS33_IN | PB6B | PCLKT2_0 | +| 39/2 | PHI2 | LOCATED | LVCMOS33_IN | PB6C | | +| 43/2 | nCRAS | LOCATED | LVCMOS33_IN | PB8B | | +| 44/2 | MAin[7] | LOCATED | LVCMOS33_IN | PB8C | | +| 45/2 | MAin[5] | LOCATED | LVCMOS33_IN | PB8D | | +| 46/2 | MAin[4] | LOCATED | LVCMOS33_IN | PB9A | | +| 47/2 | MAin[3] | LOCATED | LVCMOS33_IN | PB9C | | +| 49/2 | MAin[6] | LOCATED | LVCMOS33_IN | PB9D | | +| 50/2 | MAin[8] | LOCATED | LVCMOS33_IN | PB9F | | +| 51/1 | MAin[9] | LOCATED | LVCMOS33_IN | PR11D | | +| 52/1 | unused, PULL:UP | | | PR11B | | +| 53/1 | nUFMCS | LOCATED | LVCMOS33_OUT | PR11C | | +| 54/1 | unused, PULL:UP | | | PR11A | | +| 55/1 | UFMSDO | LOCATED | LVCMOS33_IN | PR10D | | +| 56/1 | UFMSDI | LOCATED | LVCMOS33_OUT | PR10C | | +| 57/1 | LED | LOCATED | LVCMOS33_OUT | PR10B | | +| 58/1 | UFMCLK | LOCATED | LVCMOS33_OUT | PR10A | | +| 59/1 | unused, PULL:UP | | | PR9D | | +| 61/1 | RDQML | LOCATED | LVCMOS33_OUT | PR9B | | +| 63/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR7B | | +| 64/1 | RD[0] | LOCATED | LVCMOS33_BIDI | PR6C | | +| 65/1 | RD[1] | LOCATED | LVCMOS33_BIDI | PR6B | | +| 66/1 | RD[2] | LOCATED | LVCMOS33_BIDI | PR5D | | +| 67/1 | RD[3] | LOCATED | LVCMOS33_BIDI | PR5B | | +| 68/1 | RD[4] | LOCATED | LVCMOS33_BIDI | PR4D | | +| 69/1 | RD[5] | LOCATED | LVCMOS33_BIDI | PR4B | | +| 70/1 | RD[6] | LOCATED | LVCMOS33_BIDI | PR3D | | +| 71/1 | RD[7] | LOCATED | LVCMOS33_BIDI | PR3B | | +| 72/1 | nRWE | LOCATED | LVCMOS33_OUT | PR2D | | +| 73/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR2B | | +| 76/0 | RDQMH | LOCATED | LVCMOS33_OUT | PT9F | | +| 77/0 | nRCS | LOCATED | LVCMOS33_OUT | PT9E | | +| 78/0 | nRCAS | LOCATED | LVCMOS33_OUT | PT9C | | +| 79/0 | RA[11] | LOCATED | LVCMOS33_OUT | PT9A | | +| 82/0 | RCKE | LOCATED | LVCMOS33_OUT | PT7E | D7 | +| 83/0 | RBA[1] | LOCATED | LVCMOS33_OUT | PT7A | D6 | +| 85/0 | RA[9] | LOCATED | LVCMOS33_OUT | PT6B | PCLKT0_1 | +| 86/0 | RCLK | LOCATED | LVCMOS33_IN | PT5B | PCLKT0_0 | +| 87/0 | RA[10] | LOCATED | LVCMOS33_OUT | PT5A | | +| 89/0 | RA[1] | LOCATED | LVCMOS33_OUT | PT4F | | +| 91/0 | RA[6] | LOCATED | LVCMOS33_OUT | PT3F | D3 | +| 94/0 | RA[2] | LOCATED | LVCMOS33_OUT | PT3B | | +| 95/0 | RA[5] | LOCATED | LVCMOS33_OUT | PT3A | | +| 96/0 | RA[8] | LOCATED | LVCMOS33_OUT | PT2F | D2 | +| 97/0 | RA[3] | LOCATED | LVCMOS33_OUT | PT2E | | +| 98/0 | RA[0] | LOCATED | LVCMOS33_OUT | PT2B | D1 | +| 99/0 | RA[4] | LOCATED | LVCMOS33_OUT | PT2C | | +| 100/0 | RA[7] | LOCATED | LVCMOS33_OUT | PT2A | | +| PB2A/2 | unused, PULL:UP | | | PB2A | | +| PB2B/2 | unused, PULL:UP | | | PB2B | | +| PB2D/2 | unused, PULL:UP | | | PB2D | | +| PB3A/2 | unused, PULL:UP | | | PB3A | | +| PB3B/2 | unused, PULL:UP | | | PB3B | | +| PB3C/2 | unused, PULL:UP | | | PB3C | | +| PB3D/2 | unused, PULL:UP | | | PB3D | | +| PB4A/2 | unused, PULL:UP | | | PB4A | | +| PB4B/2 | unused, PULL:UP | | | PB4B | | +| PB4D/2 | unused, PULL:UP | | | PB4D | | +| PB4F/2 | unused, PULL:UP | | | PB4F | | +| PB5A/2 | unused, PULL:UP | | | PB5A | | +| PB5C/2 | unused, PULL:UP | | | PB5C | | +| PB6A/2 | unused, PULL:UP | | | PB6A | | +| PB6D/2 | unused, PULL:UP | | | PB6D | | +| PB7A/2 | unused, PULL:UP | | | PB7A | | +| PB7B/2 | unused, PULL:UP | | | PB7B | | +| PB7C/2 | unused, PULL:UP | | | PB7C | | +| PB7D/2 | unused, PULL:UP | | | PB7D | | +| PB7E/2 | unused, PULL:UP | | | PB7E | | +| PB7F/2 | unused, PULL:UP | | | PB7F | | +| PB8A/2 | unused, PULL:UP | | | PB8A | | +| PB9B/2 | unused, PULL:UP | | | PB9B | | +| PB9E/0 | unused, PULL:UP | | | PB9E | | +| PL4B/3 | unused, PULL:UP | | | PL4B | | +| PL5A/3 | unused, PULL:UP | | | PL5A | | +| PL5C/3 | unused, PULL:UP | | | PL5C | | +| PL5D/3 | unused, PULL:UP | | | PL5D | | +| PL6A/3 | unused, PULL:UP | | | PL6A | | +| PL6B/3 | unused, PULL:UP | | | PL6B | | +| PL6C/3 | unused, PULL:UP | | | PL6C | | +| PL6D/3 | unused, PULL:UP | | | PL6D | | +| PL7A/3 | unused, PULL:UP | | | PL7A | | +| PL7C/3 | unused, PULL:UP | | | PL7C | | +| PL7D/3 | unused, PULL:UP | | | PL7D | | +| PL8A/3 | unused, PULL:UP | | | PL8A | | +| PL8B/3 | unused, PULL:UP | | | PL8B | | +| PL9B/3 | unused, PULL:UP | | | PL9B | | +| PL9D/3 | unused, PULL:UP | | | PL9D | | +| PL10B/3 | unused, PULL:UP | | | PL10B | | +| PL10D/3 | unused, PULL:UP | | | PL10D | | +| PL11B/3 | unused, PULL:UP | | | PL11B | | +| PL11D/3 | unused, PULL:UP | | | PL11D | | +| PR2A/1 | unused, PULL:UP | | | PR2A | | +| PR2C/1 | unused, PULL:UP | | | PR2C | | +| PR3A/1 | unused, PULL:UP | | | PR3A | | +| PR3C/1 | unused, PULL:UP | | | PR3C | | +| PR4A/1 | unused, PULL:UP | | | PR4A | | +| PR4C/1 | unused, PULL:UP | | | PR4C | | +| PR5A/1 | unused, PULL:UP | | | PR5A | | +| PR5C/1 | unused, PULL:UP | | | PR5C | | +| PR6A/1 | unused, PULL:UP | | | PR6A | | +| PR6D/1 | unused, PULL:UP | | | PR6D | | +| PR7A/1 | unused, PULL:UP | | | PR7A | | +| PR7C/1 | unused, PULL:UP | | | PR7C | | +| PR7D/1 | unused, PULL:UP | | | PR7D | | +| PR8A/1 | unused, PULL:UP | | | PR8A | | +| PR8B/1 | unused, PULL:UP | | | PR8B | | +| PR8C/1 | unused, PULL:UP | | | PR8C | | +| PR8D/1 | unused, PULL:UP | | | PR8D | | +| PR9A/1 | unused, PULL:UP | | | PR9A | | +| PR9C/1 | unused, PULL:UP | | | PR9C | | +| PT2D/0 | unused, PULL:UP | | | PT2D | | +| PT3C/0 | unused, PULL:UP | | | PT3C | | +| PT3D/0 | unused, PULL:UP | | | PT3D | | +| PT3E/0 | unused, PULL:UP | | | PT3E | | +| PT4A/0 | unused, PULL:UP | | | PT4A | | +| PT4B/0 | unused, PULL:UP | | | PT4B | | +| PT4C/0 | unused, PULL:UP | | | PT4C | | +| PT4D/0 | unused, PULL:UP | | | PT4D | | +| PT4E/0 | unused, PULL:UP | | | PT4E | | +| PT5C/0 | unused, PULL:UP | | | PT5C | | +| PT5D/0 | unused, PULL:UP | | | PT5D | | +| PT6A/0 | unused, PULL:UP | | | PT6A | | +| PT6C/0 | unused, PULL:UP | | | PT6C | | +| PT6D/0 | unused, PULL:UP | | | PT6D | | +| PT7B/0 | unused, PULL:UP | | | PT7B | | +| PT7C/0 | unused, PULL:UP | | | PT7C | | +| PT7D/0 | unused, PULL:UP | | | PT7D | | +| PT7F/0 | unused, PULL:UP | | | PT7F | | +| PT8A/0 | unused, PULL:UP | | | PT8A | | +| PT8B/0 | unused, PULL:UP | | | PT8B | | +| PT8C/0 | unused, PULL:UP | | | PT8C | | +| PT8D/0 | unused, PULL:UP | | | PT8D | | +| PT9B/0 | unused, PULL:UP | | | PT9B | | +| PT9D/0 | unused, PULL:UP | | | PT9D | | +| TCK/2 | | | | TCK | TCK | +| TDI/2 | | | | TDI | TDID0 | +| TDO/2 | | | | TDO | TDO | +| TMS/2 | | | | TMS | TMS | ++----------+---------------------+------------+---------------+-------+---------------+ + + +List of All Pins' Locate Preferences Based on Final Placement After PAR +to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): + +LOCATE COMP "CROW[0]" SITE "32"; +LOCATE COMP "CROW[1]" SITE "34"; +LOCATE COMP "Din[0]" SITE "21"; +LOCATE COMP "Din[1]" SITE "15"; +LOCATE COMP "Din[2]" SITE "14"; +LOCATE COMP "Din[3]" SITE "16"; +LOCATE COMP "Din[4]" SITE "18"; +LOCATE COMP "Din[5]" SITE "17"; +LOCATE COMP "Din[6]" SITE "20"; +LOCATE COMP "Din[7]" SITE "19"; +LOCATE COMP "Dout[0]" SITE "1"; +LOCATE COMP "Dout[1]" SITE "7"; +LOCATE COMP "Dout[2]" SITE "8"; +LOCATE COMP "Dout[3]" SITE "6"; +LOCATE COMP "Dout[4]" SITE "4"; +LOCATE COMP "Dout[5]" SITE "5"; +LOCATE COMP "Dout[6]" SITE "2"; +LOCATE COMP "Dout[7]" SITE "3"; +LOCATE COMP "LED" SITE "57"; +LOCATE COMP "MAin[0]" SITE "23"; +LOCATE COMP "MAin[1]" SITE "38"; +LOCATE COMP "MAin[2]" SITE "37"; +LOCATE COMP "MAin[3]" SITE "47"; +LOCATE COMP "MAin[4]" SITE "46"; +LOCATE COMP "MAin[5]" SITE "45"; +LOCATE COMP "MAin[6]" SITE "49"; +LOCATE COMP "MAin[7]" SITE "44"; +LOCATE COMP "MAin[8]" SITE "50"; +LOCATE COMP "MAin[9]" SITE "51"; +LOCATE COMP "PHI2" SITE "39"; +LOCATE COMP "RA[0]" SITE "98"; +LOCATE COMP "RA[10]" SITE "87"; +LOCATE COMP "RA[11]" SITE "79"; +LOCATE COMP "RA[1]" SITE "89"; +LOCATE COMP "RA[2]" SITE "94"; +LOCATE COMP "RA[3]" SITE "97"; +LOCATE COMP "RA[4]" SITE "99"; +LOCATE COMP "RA[5]" SITE "95"; +LOCATE COMP "RA[6]" SITE "91"; +LOCATE COMP "RA[7]" SITE "100"; +LOCATE COMP "RA[8]" SITE "96"; +LOCATE COMP "RA[9]" SITE "85"; +LOCATE COMP "RBA[0]" SITE "63"; +LOCATE COMP "RBA[1]" SITE "83"; +LOCATE COMP "RCKE" SITE "82"; +LOCATE COMP "RCLK" SITE "86"; +LOCATE COMP "RDQMH" SITE "76"; +LOCATE COMP "RDQML" SITE "61"; +LOCATE COMP "RD[0]" SITE "64"; +LOCATE COMP "RD[1]" SITE "65"; +LOCATE COMP "RD[2]" SITE "66"; +LOCATE COMP "RD[3]" SITE "67"; +LOCATE COMP "RD[4]" SITE "68"; +LOCATE COMP "RD[5]" SITE "69"; +LOCATE COMP "RD[6]" SITE "70"; +LOCATE COMP "RD[7]" SITE "71"; +LOCATE COMP "UFMCLK" SITE "58"; +LOCATE COMP "UFMSDI" SITE "56"; +LOCATE COMP "UFMSDO" SITE "55"; +LOCATE COMP "nCCAS" SITE "27"; +LOCATE COMP "nCRAS" SITE "43"; +LOCATE COMP "nFWE" SITE "22"; +LOCATE COMP "nRCAS" SITE "78"; +LOCATE COMP "nRCS" SITE "77"; +LOCATE COMP "nRRAS" SITE "73"; +LOCATE COMP "nRWE" SITE "72"; +LOCATE COMP "nUFMCS" SITE "53"; + + + + + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:57:21 2023 + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.par b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.par index 2b7c7ac..dd2c27b 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.par +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.par @@ -1,241 +1,241 @@ -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:48 2023 - -C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO640C_impl1.p2t -RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir -RAM2GS_LCMXO640C_impl1.prf -gui -msgset -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml - - -Preference file: RAM2GS_LCMXO640C_impl1.prf. - -Level/ Number Worst Timing Worst Timing Run NCD -Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ----------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 7.336 0 0.273 0 04 Completed - -* : Design saved. - -Total (real) run time for 1-seed: 4 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Lattice Place and Route Report for Design "RAM2GS_LCMXO640C_impl1_map.ncd" -Wed Aug 16 04:50:48 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf -Preference file: RAM2GS_LCMXO640C_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file RAM2GS_LCMXO640C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application par from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 67/159 42% used - 67/74 90% bonded - SLICE 69/320 21% used - - - -Number of Signals: 251 -Number of Connections: 633 - -Pin Constraint Summary: - 67 out of 67 pins locked (100% locked). - -The following 2 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 32) - PHI2_c (driver: PHI2, clk load #: 14) - -The following 1 signal is selected to use the secondary clock routing resources: - nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) - -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -......... -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -............. -Placer score = 956294. -Finished Placer Phase 1. REAL time: 4 secs - -Starting Placer Phase 2. -. -Placer score = 953137 -Finished Placer Phase 2. REAL time: 4 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 1 out of 4 (25%) - General PIO: 1 out of 160 (0%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT5B)", clk load = 32 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB6C)", clk load = 14 - SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB8B)", clk load = 8, ce load = 0, sr load = 0 - - PRIMARY : 2 out of 4 (50%) - SECONDARY: 1 out of 4 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 67 out of 159 (42.1%) PIO sites used. - 67 out of 74 (90.5%) bonded PIO sites used. - Number of PIO comps: 67; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+------------+------------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | -+----------+----------------+------------+------------+------------+ -| 0 | 18 / 18 (100%) | 3.3V | - | - | -| 1 | 18 / 21 ( 85%) | 3.3V | - | - | -| 2 | 13 / 14 ( 92%) | - | - | - | -| 3 | 18 / 21 ( 85%) | 3.3V | - | - | -+----------+----------------+------------+------------+------------+ - -Total placer CPU time: 3 secs - -Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. - -0 connections routed; 633 unrouted. -Starting router resource preassignment -WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. -WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Completed router resource preassignment. Real time: 4 secs - -Start NBR router at 04:50:52 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 04:50:52 08/16/23 - -Start NBR section for initial routing at 04:50:52 08/16/23 -Level 1, iteration 1 -1(0.00%) conflict; 548(86.57%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.325ns/0.000ns; real time: 4 secs -Level 2, iteration 1 -1(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.532ns/0.000ns; real time: 4 secs -Level 3, iteration 1 -0(0.00%) conflict; 542(85.62%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.449ns/0.000ns; real time: 4 secs -Level 4, iteration 1 -8(0.03%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 04:50:52 08/16/23 -Level 4, iteration 1 -5(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs -Level 4, iteration 2 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs -Level 4, iteration 3 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:52 08/16/23 - -Start NBR section for re-routing at 04:50:52 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Start NBR section for post-routing at 04:50:52 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 7.336ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Total CPU time 4 secs -Total REAL time: 4 secs -Completely routed. -End of route. 633 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. - - -All signals are completely routed. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 7.336 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.273 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 4 secs -Total REAL time to completion: 4 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:57:16 2023 + +C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO640C_impl1.p2t +RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir +RAM2GS_LCMXO640C_impl1.prf -gui -msgset +Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml + + +Preference file: RAM2GS_LCMXO640C_impl1.prf. + +Level/ Number Worst Timing Worst Timing Run NCD +Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status +---------- -------- ----- ------ ----------- ----------- ---- ------ +5_1 * 0 7.336 0 0.273 0 06 Completed + +* : Design saved. + +Total (real) run time for 1-seed: 6 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Lattice Place and Route Report for Design "RAM2GS_LCMXO640C_impl1_map.ncd" +Sat Aug 19 20:57:16 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf +Preference file: RAM2GS_LCMXO640C_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file RAM2GS_LCMXO640C_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 3 +Loading device for application par from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 67/159 42% used + 67/74 90% bonded + SLICE 69/320 21% used + + + +Number of Signals: 251 +Number of Connections: 633 + +Pin Constraint Summary: + 67 out of 67 pins locked (100% locked). + +The following 2 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 32) + PHI2_c (driver: PHI2, clk load #: 14) + +The following 1 signal is selected to use the secondary clock routing resources: + nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) + +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +......... +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +............. +Placer score = 956294. +Finished Placer Phase 1. REAL time: 5 secs + +Starting Placer Phase 2. +. +Placer score = 953137 +Finished Placer Phase 2. REAL time: 5 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 1 out of 4 (25%) + General PIO: 1 out of 160 (0%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT5B)", clk load = 32 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB6C)", clk load = 14 + SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB8B)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 2 out of 4 (50%) + SECONDARY: 1 out of 4 (25%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 67 out of 159 (42.1%) PIO sites used. + 67 out of 74 (90.5%) bonded PIO sites used. + Number of PIO comps: 67; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+------------+------------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | ++----------+----------------+------------+------------+------------+ +| 0 | 18 / 18 (100%) | 3.3V | - | - | +| 1 | 18 / 21 ( 85%) | 3.3V | - | - | +| 2 | 13 / 14 ( 92%) | - | - | - | +| 3 | 18 / 21 ( 85%) | 3.3V | - | - | ++----------+----------------+------------+------------+------------+ + +Total placer CPU time: 5 secs + +Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. + +0 connections routed; 633 unrouted. +Starting router resource preassignment +WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. +WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Completed router resource preassignment. Real time: 6 secs + +Start NBR router at 20:57:22 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 20:57:22 08/19/23 + +Start NBR section for initial routing at 20:57:22 08/19/23 +Level 1, iteration 1 +1(0.00%) conflict; 548(86.57%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.325ns/0.000ns; real time: 6 secs +Level 2, iteration 1 +1(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.532ns/0.000ns; real time: 6 secs +Level 3, iteration 1 +0(0.00%) conflict; 542(85.62%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.449ns/0.000ns; real time: 6 secs +Level 4, iteration 1 +8(0.03%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 20:57:22 08/19/23 +Level 4, iteration 1 +5(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs +Level 4, iteration 2 +1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs +Level 4, iteration 3 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 20:57:22 08/19/23 + +Start NBR section for re-routing at 20:57:22 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 6 secs + +Start NBR section for post-routing at 20:57:22 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 7.336ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Total CPU time 6 secs +Total REAL time: 6 secs +Completely routed. +End of route. 633 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. + + +All signals are completely routed. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 7.336 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.273 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 6 secs +Total REAL time to completion: 6 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.prf b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.prf index ab940d3..181b2ca 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.prf +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.prf @@ -1,79 +1,79 @@ -SCHEMATIC START ; -# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Wed Aug 16 04:50:46 2023 - -SYSCONFIG INBUF=ON CONFIG_SECURE=OFF ; -LOCATE COMP "RD[0]" SITE "64" ; -LOCATE COMP "Dout[0]" SITE "1" ; -LOCATE COMP "PHI2" SITE "39" ; -LOCATE COMP "UFMSDO" SITE "55" ; -LOCATE COMP "UFMSDI" SITE "56" ; -LOCATE COMP "UFMCLK" SITE "58" ; -LOCATE COMP "nUFMCS" SITE "53" ; -LOCATE COMP "RDQML" SITE "61" ; -LOCATE COMP "RDQMH" SITE "76" ; -LOCATE COMP "nRCAS" SITE "78" ; -LOCATE COMP "nRRAS" SITE "73" ; -LOCATE COMP "nRWE" SITE "72" ; -LOCATE COMP "RCKE" SITE "82" ; -LOCATE COMP "RCLK" SITE "86" ; -LOCATE COMP "nRCS" SITE "77" ; -LOCATE COMP "RD[7]" SITE "71" ; -LOCATE COMP "RD[6]" SITE "70" ; -LOCATE COMP "RD[5]" SITE "69" ; -LOCATE COMP "RD[4]" SITE "68" ; -LOCATE COMP "RD[3]" SITE "67" ; -LOCATE COMP "RD[2]" SITE "66" ; -LOCATE COMP "RD[1]" SITE "65" ; -LOCATE COMP "RA[11]" SITE "79" ; -LOCATE COMP "RA[10]" SITE "87" ; -LOCATE COMP "RA[9]" SITE "85" ; -LOCATE COMP "RA[8]" SITE "96" ; -LOCATE COMP "RA[7]" SITE "100" ; -LOCATE COMP "RA[6]" SITE "91" ; -LOCATE COMP "RA[5]" SITE "95" ; -LOCATE COMP "RA[4]" SITE "99" ; -LOCATE COMP "RA[3]" SITE "97" ; -LOCATE COMP "RA[2]" SITE "94" ; -LOCATE COMP "RA[1]" SITE "89" ; -LOCATE COMP "RA[0]" SITE "98" ; -LOCATE COMP "RBA[1]" SITE "83" ; -LOCATE COMP "RBA[0]" SITE "63" ; -LOCATE COMP "LED" SITE "57" ; -LOCATE COMP "nFWE" SITE "22" ; -LOCATE COMP "nCRAS" SITE "43" ; -LOCATE COMP "nCCAS" SITE "27" ; -LOCATE COMP "Dout[7]" SITE "3" ; -LOCATE COMP "Dout[6]" SITE "2" ; -LOCATE COMP "Dout[5]" SITE "5" ; -LOCATE COMP "Dout[4]" SITE "4" ; -LOCATE COMP "Dout[3]" SITE "6" ; -LOCATE COMP "Dout[2]" SITE "8" ; -LOCATE COMP "Dout[1]" SITE "7" ; -LOCATE COMP "Din[7]" SITE "19" ; -LOCATE COMP "Din[6]" SITE "20" ; -LOCATE COMP "Din[5]" SITE "17" ; -LOCATE COMP "Din[4]" SITE "18" ; -LOCATE COMP "Din[3]" SITE "16" ; -LOCATE COMP "Din[2]" SITE "14" ; -LOCATE COMP "Din[1]" SITE "15" ; -LOCATE COMP "Din[0]" SITE "21" ; -LOCATE COMP "CROW[1]" SITE "34" ; -LOCATE COMP "CROW[0]" SITE "32" ; -LOCATE COMP "MAin[9]" SITE "51" ; -LOCATE COMP "MAin[8]" SITE "50" ; -LOCATE COMP "MAin[7]" SITE "44" ; -LOCATE COMP "MAin[6]" SITE "49" ; -LOCATE COMP "MAin[5]" SITE "45" ; -LOCATE COMP "MAin[4]" SITE "46" ; -LOCATE COMP "MAin[3]" SITE "47" ; -LOCATE COMP "MAin[2]" SITE "37" ; -LOCATE COMP "MAin[1]" SITE "38" ; -LOCATE COMP "MAin[0]" SITE "23" ; -FREQUENCY PORT "PHI2" 2.900000 MHz ; -FREQUENCY PORT "nCCAS" 2.900000 MHz ; -FREQUENCY PORT "nCRAS" 2.900000 MHz ; -FREQUENCY PORT "RCLK" 62.500000 MHz ; -SCHEMATIC END ; -BLOCK RESETPATHS ; -BLOCK ASYNCPATHS ; -COMMERCIAL ; +SCHEMATIC START ; +# map: version Diamond (64-bit) 3.12.1.454 -- WARNING: Map write only section -- Sat Aug 19 20:57:14 2023 + +SYSCONFIG INBUF=ON CONFIG_SECURE=OFF ; +LOCATE COMP "RD[0]" SITE "64" ; +LOCATE COMP "Dout[0]" SITE "1" ; +LOCATE COMP "PHI2" SITE "39" ; +LOCATE COMP "UFMSDO" SITE "55" ; +LOCATE COMP "UFMSDI" SITE "56" ; +LOCATE COMP "UFMCLK" SITE "58" ; +LOCATE COMP "nUFMCS" SITE "53" ; +LOCATE COMP "RDQML" SITE "61" ; +LOCATE COMP "RDQMH" SITE "76" ; +LOCATE COMP "nRCAS" SITE "78" ; +LOCATE COMP "nRRAS" SITE "73" ; +LOCATE COMP "nRWE" SITE "72" ; +LOCATE COMP "RCKE" SITE "82" ; +LOCATE COMP "RCLK" SITE "86" ; +LOCATE COMP "nRCS" SITE "77" ; +LOCATE COMP "RD[7]" SITE "71" ; +LOCATE COMP "RD[6]" SITE "70" ; +LOCATE COMP "RD[5]" SITE "69" ; +LOCATE COMP "RD[4]" SITE "68" ; +LOCATE COMP "RD[3]" SITE "67" ; +LOCATE COMP "RD[2]" SITE "66" ; +LOCATE COMP "RD[1]" SITE "65" ; +LOCATE COMP "RA[11]" SITE "79" ; +LOCATE COMP "RA[10]" SITE "87" ; +LOCATE COMP "RA[9]" SITE "85" ; +LOCATE COMP "RA[8]" SITE "96" ; +LOCATE COMP "RA[7]" SITE "100" ; +LOCATE COMP "RA[6]" SITE "91" ; +LOCATE COMP "RA[5]" SITE "95" ; +LOCATE COMP "RA[4]" SITE "99" ; +LOCATE COMP "RA[3]" SITE "97" ; +LOCATE COMP "RA[2]" SITE "94" ; +LOCATE COMP "RA[1]" SITE "89" ; +LOCATE COMP "RA[0]" SITE "98" ; +LOCATE COMP "RBA[1]" SITE "83" ; +LOCATE COMP "RBA[0]" SITE "63" ; +LOCATE COMP "LED" SITE "57" ; +LOCATE COMP "nFWE" SITE "22" ; +LOCATE COMP "nCRAS" SITE "43" ; +LOCATE COMP "nCCAS" SITE "27" ; +LOCATE COMP "Dout[7]" SITE "3" ; +LOCATE COMP "Dout[6]" SITE "2" ; +LOCATE COMP "Dout[5]" SITE "5" ; +LOCATE COMP "Dout[4]" SITE "4" ; +LOCATE COMP "Dout[3]" SITE "6" ; +LOCATE COMP "Dout[2]" SITE "8" ; +LOCATE COMP "Dout[1]" SITE "7" ; +LOCATE COMP "Din[7]" SITE "19" ; +LOCATE COMP "Din[6]" SITE "20" ; +LOCATE COMP "Din[5]" SITE "17" ; +LOCATE COMP "Din[4]" SITE "18" ; +LOCATE COMP "Din[3]" SITE "16" ; +LOCATE COMP "Din[2]" SITE "14" ; +LOCATE COMP "Din[1]" SITE "15" ; +LOCATE COMP "Din[0]" SITE "21" ; +LOCATE COMP "CROW[1]" SITE "34" ; +LOCATE COMP "CROW[0]" SITE "32" ; +LOCATE COMP "MAin[9]" SITE "51" ; +LOCATE COMP "MAin[8]" SITE "50" ; +LOCATE COMP "MAin[7]" SITE "44" ; +LOCATE COMP "MAin[6]" SITE "49" ; +LOCATE COMP "MAin[5]" SITE "45" ; +LOCATE COMP "MAin[4]" SITE "46" ; +LOCATE COMP "MAin[3]" SITE "47" ; +LOCATE COMP "MAin[2]" SITE "37" ; +LOCATE COMP "MAin[1]" SITE "38" ; +LOCATE COMP "MAin[0]" SITE "23" ; +FREQUENCY PORT "PHI2" 2.900000 MHz ; +FREQUENCY PORT "nCCAS" 2.900000 MHz ; +FREQUENCY PORT "nCRAS" 2.900000 MHz ; +FREQUENCY PORT "RCLK" 62.500000 MHz ; +SCHEMATIC END ; +BLOCK RESETPATHS ; +BLOCK ASYNCPATHS ; +COMMERCIAL ; diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srd b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srd index 6d23493b35d178a92c4cddd2c4d81a993875ac86..7cc0fa03803065ab09751908d1b0c54998cada29 100644 GIT binary patch literal 22546 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 E0P;#*RR910 literal 20862 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 delta 28208 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 diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srr b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srr index cabd4ec..4f25284 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srr +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srr @@ -1,966 +1,968 @@ -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 -#install: C:\lscc\diamond\3.12\synpbase -#OS: Windows 8 6.2 -#Hostname: ZANEPC - -# Wed Aug 16 04:50:37 2023 - -#Implementation: impl1 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:39 2023 - -###########################################################] -# Wed Aug 16 04:50:39 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:41 2023 - -###########################################################] -# Wed Aug 16 04:50:41 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:02s -2.99ns 128 / 92 - - - 8 0h:00m:02s -2.99ns 127 / 92 - 9 0h:00m:02s -3.09ns 127 / 92 - 10 0h:00m:02s -3.19ns 127 / 92 - 11 0h:00m:02s -3.19ns 127 / 92 - 12 0h:00m:02s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 143MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:45 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo640c-3 - -Register bits: 92 of 640 (14%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:04s realtime, 0h:00m:04s cputime -# Wed Aug 16 04:50:45 2023 - -###########################################################] +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 +#install: C:\lscc\diamond\3.12\synpbase +#OS: Windows 8 6.2 +#Hostname: ZANEMACWIN11 + +# Sat Aug 19 20:57:05 2023 + +#Implementation: impl1 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +Verilog syntax check successful! +Options changed - recompiling +Selecting top level module RAM2GS +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv + + +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:05 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:05 2023 + +###########################################################] + +For a summary of runtime and memory usage for all design units, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv + +@END + +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:05 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:06 2023 + +###########################################################] +Premap Report + +# Sat Aug 19 20:57:07 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + + +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 131MB peak: 140MB) + +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) + +@N: FX493 |Applying initial value "0" on instance InitReady. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdUFMCS. +@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance CmdSubmitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "1" on instance nUFMCS. +@N: FX493 |Applying initial value "0" on instance UFMSDI. +@N: FX493 |Applying initial value "0" on instance UFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. + +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + +@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS + +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + + +Clock Summary +****************** + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + + +Clock Load Summary +*********************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== + +ICG Latch Removal Summary: +Number of ICG latches removed: 0 +Number of ICG latches not removed: 0 +For details review file gcc_ICG_report.rpt + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 48 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +Finished Pre Mapping Phase. + +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) + + +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + +Pre-mapping successful! + +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime +# Sat Aug 19 20:57:08 2023 + +###########################################################] +Map & Optimize Report + +# Sat Aug 19 20:57:08 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) + + + +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) + + +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. + +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) + + +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Available hyper_sources - for debug and ip models + None Found + + +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) + + +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) + +Pass CPU time Worst Slack Luts / Registers +------------------------------------------------------------ + 1 0h:00m:01s -3.26ns 127 / 89 + 2 0h:00m:01s -3.23ns 123 / 89 + 3 0h:00m:01s -3.23ns 123 / 89 + 4 0h:00m:01s -3.23ns 123 / 89 + 5 0h:00m:01s -3.23ns 124 / 89 + 6 0h:00m:01s -3.23ns 124 / 89 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +Timing driven replication report +Added 3 Registers via timing driven replication +Added 1 LUTs via timing driven replication + + 7 0h:00m:01s -2.99ns 128 / 92 + + + 8 0h:00m:01s -2.99ns 127 / 92 + 9 0h:00m:01s -3.09ns 127 / 92 + 10 0h:00m:01s -3.19ns 127 / 92 + 11 0h:00m:01s -3.19ns 127 / 92 + 12 0h:00m:01s -3.19ns 127 / 92 + +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) + + +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB) + + +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) + +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm + +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB) + +Writing EDIF Netlist and constraint files +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF + +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB) + + +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB) + + +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) + +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns + + +##### START OF TIMING REPORT #####[ +# Timing report written on Sat Aug 19 20:57:11 2023 +# + + +Top view: RAM2GS +Requested Frequency: 2.9 MHz +Wire load mode: top +Paths requested: 3 +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc + +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. + +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. + + + +Performance Summary +******************* + + +Worst slack in design: -3.705 + + Requested Estimated Requested Estimated Clock Clock +Starting Clock Frequency Frequency Period Period Slack Type Group +------------------------------------------------------------------------------------------------------------------- +PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup +RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup +nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup +nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup +=================================================================================================================== +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform + + +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + + +Clock Relationships +******************* + +Clocks | rise to rise | fall to fall | rise to fall | fall to rise +--------------------------------------------------------------------------------------------------------------- +Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack +--------------------------------------------------------------------------------------------------------------- +RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 +PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 +nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 +=============================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + + +Interface Information +********************* + +No IO constraint found + + + +==================================== +Detailed Report for Clock: PHI2 +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 +CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 +CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 +CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 +Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 +Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 +Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 +Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 +======================================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------------------- +UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 +UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 +nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 +LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 +n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 +LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 +n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 +CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 +ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 +C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 +============================================================================================ + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMCLK / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - +UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMCLK_RNO Net - - - - 1 +UFMCLK FD1S3AX D In 0.000 3.702 r - +================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: nUFMCS / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - +nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - +nUFMCS_s_0_N_5_i Net - - - - 1 +nUFMCS FD1S3AY D In 0.000 3.702 r - +=================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMSDI / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - +UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMSDI_RNO Net - - - - 1 +UFMSDI FD1S3AX D In 0.000 3.702 r - +================================================================================== + + + + +==================================== +Detailed Report for Clock: RCLK +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 +n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 +FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 +FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 +FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 +FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 +S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 +S[0] RCLK FD1S3IX Q CO0 1.756 8.545 +FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 +FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 +============================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------------------- +CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 +Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 +RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 +UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 +UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 +LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 +n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 +nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 +nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 +========================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: CmdLEDEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - +CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - +N_21_i Net - - - - 1 +CmdLEDEN FD1P3AX D In 0.000 2.309 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +------------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - +XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.309 f - +===================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.213 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.216 + + Number of logic level(s): 1 + Starting point: n8MEGEN / Q + Ending point: Cmdn8MEGEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +n8MEGEN FD1P3AX Q Out 1.456 1.456 r - +n8MEGEN Net - - - - 2 +Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - +Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - +N_19_i Net - - - - 1 +Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: nCRAS +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------- +CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 +CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 +FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 +FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 +================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 +nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 +nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 +RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 +nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 +======================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRWE / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - +nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - +G_17_1 Net - - - - 1 +nRWE_RNO ORCALUT4 B In 0.000 2.849 f - +nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - +N_39_i Net - - - - 1 +nRWE FD1S3AY D In 0.000 3.606 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRowColSel / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - +nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - +N_179 Net - - - - 1 +nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - +nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - +nRowColSel_0_0 Net - - - - 1 +nRowColSel FD1S3IX D In 0.000 3.606 f - +====================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.510 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.513 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRCAS / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.456 1.456 r - +CBR_fast Net - - - - 2 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - +nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - +N_37_i Net - - - - 1 +nRCAS FD1S3AY D In 0.000 3.510 f - +======================================================================================== + + + +##### END OF TIMING REPORT #####] + +Timing exceptions that could not be applied + +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + + +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + +--------------------------------------- +Resource Usage Report +Part: lcmxo640c-3 + +Register bits: 92 of 640 (14%) +PIC Latch: 0 +I/O cells: 67 + + +Details: +BB: 8 +CCU2: 9 +FD1P3AX: 11 +FD1S3AX: 59 +FD1S3AY: 5 +FD1S3IX: 14 +FD1S3JX: 3 +GSR: 1 +IB: 26 +INV: 8 +OB: 33 +ORCALUT4: 119 +PFUMX: 2 +PUR: 1 +VHI: 1 +VLO: 1 +Mapper successful! + +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 196MB) + +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 20:57:12 2023 + +###########################################################] diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srr.db b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srr.db index 1f2d69f618bce437a777bacb9d96d0abb3a9cb5b..1e4545ad9e7d38619b9a2f06ae6b6032f37d682b 100644 GIT binary patch delta 1949 zcmeHHO-vI}5bl=J?aywv7E9ahmMx$HqR@Yq0xe6S1fdds3?h(7ppuFy@^cUpl}6)% zAB~w9BQa4EJwc4meOq0adnb2LwXV9PimKE(L&~R08}*3lp+v<;#foA=k^LkWTnXDC8FnaT2^PbW zMwY57)E2fEt{U^;L%4w8^Tq&KUKo#+%hGT;ZDUiFW@YrK+vN}ROeCff$q{E$W7K&f zaVj2k_6GYqJcl>p@^hSxl2XzA+n4pbz^rs4?i z+X{QK@ZJo}A={mSQ`SB3+;N?fz-bQIWa(THDNmb~v38I5kN&(q(jVGtXvz1%Co_uy zXA4O{?zRD2E~F*D9*;cjgj)q?a->obc(DYFx-7M17)i@TN`xPlKD6!D5ZcSuh(;8` zHk@7pR{4s&Bhgr-tu@^v;?}KrS7S>Cw`}4f3YV|W%Ia>j~@eLT@wnxw(;_ym+uwvJcDu!&8FLs7_ z+02E*0YQgA9Ro7XYe29fJ)%eYIG(``_XR?ib?}|{>)VT#inxNBSwchK-(REnMV;d|*0xZy^a+tF)gvP8x^dfn0M-}GA9Wi5V31WPm3 z3U1W!(=f`uXFHj7rh0X}n1O|wdGa&0)y|RSUTu2ksY~zHHkL!73F2D|0WQA*2|4}} delta 1972 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 Wa!}v`00030{{sLMEnRAyeEsU@{P3kwio( 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 BCq@7O diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.tw1 b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.tw1 index 7499213..4ca5dd2 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.tw1 +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.tw1 @@ -1,413 +1,413 @@ - -Loading design for application trce from file ram2gs_lcmxo640c_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application trce from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Setup and Hold Report - --------------------------------------------------------------------------------- -Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:47 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1_map.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,3 -Report level: verbose report, limited to 1 item per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -================================================================================ -Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; - 129 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 162.619ns (weighted slack = 325.238ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[2] (from PHI2_c +) - Destination: FF Data in CmdSubmitted (to PHI2_c -) - - Delay: 9.621ns (25.1% logic, 74.9% route), 6 logic levels. - - Constraint Details: - - 9.621ns physical path delay SLICE_71 to SLICE_22 meets - 172.414ns delay constraint less - 0.174ns DIN_SET requirement (totaling 172.240ns) by 162.619ns - - Physical Path Details: - - Data path SLICE_71 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 SLICE_71.CLK to SLICE_71.Q0 SLICE_71 (from PHI2_c) -ROUTE 1 e 1.441 SLICE_71.Q0 to SLICE_56.A1 Bank[2] -CTOF_DEL --- 0.371 SLICE_56.A1 to SLICE_56.F1 SLICE_56 -ROUTE 1 e 1.441 SLICE_56.F1 to SLICE_70.D1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 SLICE_70.D1 to SLICE_70.F1 SLICE_70 -ROUTE 6 e 1.441 SLICE_70.F1 to SLICE_67.D0 N_147 -CTOF_DEL --- 0.371 SLICE_67.D0 to SLICE_67.F0 SLICE_67 -ROUTE 5 e 1.441 SLICE_67.F0 to SLICE_82.A0 XOR8MEG18 -CTOF_DEL --- 0.371 SLICE_82.A0 to SLICE_82.F0 SLICE_82 -ROUTE 1 e 1.441 SLICE_82.F0 to SLICE_22.A0 CmdSubmitted_1_sqmuxa -CTOF_DEL --- 0.371 SLICE_22.A0 to SLICE_22.F0 SLICE_22 -ROUTE 1 e 0.001 SLICE_22.F0 to SLICE_22.DI0 N_460_0 (to PHI2_c) - -------- - 9.621 (25.1% logic, 74.9% route), 6 logic levels. - -Report: 51.046MHz is the maximum frequency for this preference. - - -================================================================================ -Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 342.328ns - The internal maximum frequency of the following component is 400.000 MHz - - Logical Details: Cell type Pin name Component name - - Destination: PIO PAD nCCAS - - Delay: 2.500ns -- based on Minimum Pulse Width - -Report: 400.000MHz is the maximum frequency for this preference. - - -================================================================================ -Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 342.328ns - The internal maximum frequency of the following component is 400.000 MHz - - Logical Details: Cell type Pin name Component name - - Destination: PIO PAD nCRAS - - Delay: 2.500ns -- based on Minimum Pulse Width - -Report: 400.000MHz is the maximum frequency for this preference. - - -================================================================================ -Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; - 388 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 4.695ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[17] (from RCLK_c +) - Destination: FF Data in LEDEN (to RCLK_c +) - - Delay: 11.061ns (21.8% logic, 78.2% route), 6 logic levels. - - Constraint Details: - - 11.061ns physical path delay SLICE_1 to SLICE_33 meets - 16.000ns delay constraint less - 0.244ns CE_SET requirement (totaling 15.756ns) by 4.695ns - - Physical Path Details: - - Data path SLICE_1 to SLICE_33: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 SLICE_1.CLK to SLICE_1.Q1 SLICE_1 (from RCLK_c) -ROUTE 3 e 1.441 SLICE_1.Q1 to SLICE_81.D1 FS[17] -CTOF_DEL --- 0.371 SLICE_81.D1 to SLICE_81.F1 SLICE_81 -ROUTE 1 e 1.441 SLICE_81.F1 to SLICE_72.C1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 SLICE_72.C1 to SLICE_72.F1 SLICE_72 -ROUTE 4 e 1.441 SLICE_72.F1 to SLICE_58.C1 N_51 -CTOF_DEL --- 0.371 SLICE_58.C1 to SLICE_58.F1 SLICE_58 -ROUTE 2 e 1.441 SLICE_58.F1 to SLICE_87.D0 N_151 -CTOF_DEL --- 0.371 SLICE_87.D0 to SLICE_87.F0 SLICE_87 -ROUTE 2 e 1.441 SLICE_87.F0 to SLICE_69.C0 N_137_8 -CTOF_DEL --- 0.371 SLICE_69.C0 to SLICE_69.F0 SLICE_69 -ROUTE 1 e 1.441 SLICE_69.F0 to SLICE_33.CE N_33 (to RCLK_c) - -------- - 11.061 (21.8% logic, 78.2% route), 6 logic levels. - -Report: 88.456MHz is the maximum frequency for this preference. - -Report Summary --------------- ----------------------------------------------------------------------------- -Preference | Constraint| Actual|Levels ----------------------------------------------------------------------------- - | | | -FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 51.046 MHz| 6 - | | | -FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 - | | | -FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 - | | | -FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 88.456 MHz| 6 - | | | ----------------------------------------------------------------------------- - - -All preferences were met. - - -Clock Domains Analysis ------------------------- - -Found 4 clocks: - -Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 - No transfer within this clock domain is found - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 - No transfer within this clock domain is found - -Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 - Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; - - Data transfers from: - Clock Domain: nCRAS_c Source: nCRAS.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - Clock Domain: PHI2_c Source: PHI2.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 - Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - -Timing summary (Setup): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) - --------------------------------------------------------------------------------- -Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:47 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1_map.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,M -Report level: verbose report, limited to 1 item per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -================================================================================ -Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; - 129 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 0.430ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q C1Submitted (from PHI2_c -) - Destination: FF Data in C1Submitted (to PHI2_c -) - - Delay: 0.411ns (51.3% logic, 48.7% route), 2 logic levels. - - Constraint Details: - - 0.411ns physical path delay SLICE_14 to SLICE_14 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint requirement (totaling -0.019ns) by 0.430ns - - Physical Path Details: - - Data path SLICE_14 to SLICE_14: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 SLICE_14.CLK to SLICE_14.Q0 SLICE_14 (from PHI2_c) -ROUTE 2 e 0.199 SLICE_14.Q0 to SLICE_14.B0 C1Submitted -CTOF_DEL --- 0.074 SLICE_14.B0 to SLICE_14.F0 SLICE_14 -ROUTE 1 e 0.001 SLICE_14.F0 to SLICE_14.DI0 C1Submitted_RNO (to PHI2_c) - -------- - 0.411 (51.3% logic, 48.7% route), 2 logic levels. - - -================================================================================ -Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -================================================================================ -Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -================================================================================ -Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; - 388 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 0.342ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CASr (from RCLK_c +) - Destination: FF Data in CASr2 (to RCLK_c +) - - Delay: 0.325ns (38.8% logic, 61.2% route), 1 logic levels. - - Constraint Details: - - 0.325ns physical path delay SLICE_75 to SLICE_75 meets - -0.017ns M_HLD and - 0.000ns delay constraint requirement (totaling -0.017ns) by 0.342ns - - Physical Path Details: - - Data path SLICE_75 to SLICE_75: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 SLICE_75.CLK to SLICE_75.Q0 SLICE_75 (from RCLK_c) -ROUTE 1 e 0.199 SLICE_75.Q0 to SLICE_75.M1 CASr (to RCLK_c) - -------- - 0.325 (38.8% logic, 61.2% route), 1 logic levels. - -Report Summary --------------- ----------------------------------------------------------------------------- -Preference(MIN Delays) | Constraint| Actual|Levels ----------------------------------------------------------------------------- - | | | -FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 - | | | -FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 - | | | -FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 - | | | -FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 - | | | ----------------------------------------------------------------------------- - - -All preferences were met. - - -Clock Domains Analysis ------------------------- - -Found 4 clocks: - -Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 - No transfer within this clock domain is found - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 - No transfer within this clock domain is found - -Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 - Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; - - Data transfers from: - Clock Domain: nCRAS_c Source: nCRAS.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - Clock Domain: PHI2_c Source: PHI2.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 - Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - -Timing summary (Hold): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) - - - -Timing summary (Setup and Hold): ---------------- - -Timing errors: 0 (setup), 0 (hold) -Score: 0 (setup), 0 (hold) -Cumulative negative slack: 0 (0+0) --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- - + +Loading design for application trce from file ram2gs_lcmxo640c_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 3 +Loading device for application trce from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +Setup and Hold Report + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 20:57:14 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf +Design file: ram2gs_lcmxo640c_impl1_map.ncd +Preference file: ram2gs_lcmxo640c_impl1.prf +Device,speed: LCMXO640C,3 +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 129 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 162.619ns (weighted slack = 325.238ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[2] (from PHI2_c +) + Destination: FF Data in CmdSubmitted (to PHI2_c -) + + Delay: 9.621ns (25.1% logic, 74.9% route), 6 logic levels. + + Constraint Details: + + 9.621ns physical path delay SLICE_71 to SLICE_22 meets + 172.414ns delay constraint less + 0.174ns DIN_SET requirement (totaling 172.240ns) by 162.619ns + + Physical Path Details: + + Data path SLICE_71 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 SLICE_71.CLK to SLICE_71.Q0 SLICE_71 (from PHI2_c) +ROUTE 1 e 1.441 SLICE_71.Q0 to SLICE_56.A1 Bank[2] +CTOF_DEL --- 0.371 SLICE_56.A1 to SLICE_56.F1 SLICE_56 +ROUTE 1 e 1.441 SLICE_56.F1 to SLICE_70.D1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 SLICE_70.D1 to SLICE_70.F1 SLICE_70 +ROUTE 6 e 1.441 SLICE_70.F1 to SLICE_67.D0 N_147 +CTOF_DEL --- 0.371 SLICE_67.D0 to SLICE_67.F0 SLICE_67 +ROUTE 5 e 1.441 SLICE_67.F0 to SLICE_82.A0 XOR8MEG18 +CTOF_DEL --- 0.371 SLICE_82.A0 to SLICE_82.F0 SLICE_82 +ROUTE 1 e 1.441 SLICE_82.F0 to SLICE_22.A0 CmdSubmitted_1_sqmuxa +CTOF_DEL --- 0.371 SLICE_22.A0 to SLICE_22.F0 SLICE_22 +ROUTE 1 e 0.001 SLICE_22.F0 to SLICE_22.DI0 N_460_0 (to PHI2_c) + -------- + 9.621 (25.1% logic, 74.9% route), 6 logic levels. + +Report: 51.046MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 342.328ns + The internal maximum frequency of the following component is 400.000 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCCAS + + Delay: 2.500ns -- based on Minimum Pulse Width + +Report: 400.000MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 342.328ns + The internal maximum frequency of the following component is 400.000 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCRAS + + Delay: 2.500ns -- based on Minimum Pulse Width + +Report: 400.000MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 388 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 4.695ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in LEDEN (to RCLK_c +) + + Delay: 11.061ns (21.8% logic, 78.2% route), 6 logic levels. + + Constraint Details: + + 11.061ns physical path delay SLICE_1 to SLICE_33 meets + 16.000ns delay constraint less + 0.244ns CE_SET requirement (totaling 15.756ns) by 4.695ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_33: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 SLICE_1.CLK to SLICE_1.Q1 SLICE_1 (from RCLK_c) +ROUTE 3 e 1.441 SLICE_1.Q1 to SLICE_81.D1 FS[17] +CTOF_DEL --- 0.371 SLICE_81.D1 to SLICE_81.F1 SLICE_81 +ROUTE 1 e 1.441 SLICE_81.F1 to SLICE_72.C1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 SLICE_72.C1 to SLICE_72.F1 SLICE_72 +ROUTE 4 e 1.441 SLICE_72.F1 to SLICE_58.C1 N_51 +CTOF_DEL --- 0.371 SLICE_58.C1 to SLICE_58.F1 SLICE_58 +ROUTE 2 e 1.441 SLICE_58.F1 to SLICE_87.D0 N_151 +CTOF_DEL --- 0.371 SLICE_87.D0 to SLICE_87.F0 SLICE_87 +ROUTE 2 e 1.441 SLICE_87.F0 to SLICE_69.C0 N_137_8 +CTOF_DEL --- 0.371 SLICE_69.C0 to SLICE_69.F0 SLICE_69 +ROUTE 1 e 1.441 SLICE_69.F0 to SLICE_33.CE N_33 (to RCLK_c) + -------- + 11.061 (21.8% logic, 78.2% route), 6 logic levels. + +Report: 88.456MHz is the maximum frequency for this preference. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 51.046 MHz| 6 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 88.456 MHz| 6 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 20:57:14 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf +Design file: ram2gs_lcmxo640c_impl1_map.ncd +Preference file: ram2gs_lcmxo640c_impl1.prf +Device,speed: LCMXO640C,M +Report level: verbose report, limited to 1 item per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 129 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.430ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q C1Submitted (from PHI2_c -) + Destination: FF Data in C1Submitted (to PHI2_c -) + + Delay: 0.411ns (51.3% logic, 48.7% route), 2 logic levels. + + Constraint Details: + + 0.411ns physical path delay SLICE_14 to SLICE_14 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint requirement (totaling -0.019ns) by 0.430ns + + Physical Path Details: + + Data path SLICE_14 to SLICE_14: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 SLICE_14.CLK to SLICE_14.Q0 SLICE_14 (from PHI2_c) +ROUTE 2 e 0.199 SLICE_14.Q0 to SLICE_14.B0 C1Submitted +CTOF_DEL --- 0.074 SLICE_14.B0 to SLICE_14.F0 SLICE_14 +ROUTE 1 e 0.001 SLICE_14.F0 to SLICE_14.DI0 C1Submitted_RNO (to PHI2_c) + -------- + 0.411 (51.3% logic, 48.7% route), 2 logic levels. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 388 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.342ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr (from RCLK_c +) + Destination: FF Data in CASr2 (to RCLK_c +) + + Delay: 0.325ns (38.8% logic, 61.2% route), 1 logic levels. + + Constraint Details: + + 0.325ns physical path delay SLICE_75 to SLICE_75 meets + -0.017ns M_HLD and + 0.000ns delay constraint requirement (totaling -0.017ns) by 0.342ns + + Physical Path Details: + + Data path SLICE_75 to SLICE_75: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 SLICE_75.CLK to SLICE_75.Q0 SLICE_75 (from RCLK_c) +ROUTE 1 e 0.199 SLICE_75.Q0 to SLICE_75.M1 CASr (to RCLK_c) + -------- + 0.325 (38.8% logic, 61.2% route), 1 logic levels. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference(MIN Delays) | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.twr b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.twr index b6f806d..c593152 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.twr +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.twr @@ -1,2238 +1,2238 @@ - -Loading design for application trce from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application trce from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Setup and Hold Report - --------------------------------------------------------------------------------- -Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:53 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,3 -Report level: verbose report, limited to 10 items per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -================================================================================ -Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; - 129 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 160.663ns (weighted slack = 321.326ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[7] (from PHI2_c +) - Destination: FF Data in CmdSubmitted (to PHI2_c -) - - Delay: 11.577ns (20.9% logic, 79.1% route), 6 logic levels. - - Constraint Details: - - 11.577ns physical path delay SLICE_77 to SLICE_22 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.174ns DIN_SET requirement (totaling 172.240ns) by 160.663ns - - Physical Path Details: - - Data path SLICE_77 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q1 SLICE_77 (from PHI2_c) -ROUTE 1 2.505 R7C2B.Q1 to R4C9B.A1 Bank[7] -CTOF_DEL --- 0.371 R4C9B.A1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 -ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa -CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 -ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) - -------- - 11.577 (20.9% logic, 79.1% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_77: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 161.013ns (weighted slack = 322.026ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[6] (from PHI2_c +) - Destination: FF Data in CmdSubmitted (to PHI2_c -) - - Delay: 11.227ns (21.5% logic, 78.5% route), 6 logic levels. - - Constraint Details: - - 11.227ns physical path delay SLICE_77 to SLICE_22 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.174ns DIN_SET requirement (totaling 172.240ns) by 161.013ns - - Physical Path Details: - - Data path SLICE_77 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q0 SLICE_77 (from PHI2_c) -ROUTE 1 2.155 R7C2B.Q0 to R4C9B.B1 Bank[6] -CTOF_DEL --- 0.371 R4C9B.B1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 -ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa -CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 -ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) - -------- - 11.227 (21.5% logic, 78.5% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_77: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 161.212ns (weighted slack = 322.424ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[2] (from PHI2_c +) - Destination: FF Data in CmdSubmitted (to PHI2_c -) - - Delay: 11.028ns (21.9% logic, 78.1% route), 6 logic levels. - - Constraint Details: - - 11.028ns physical path delay SLICE_71 to SLICE_22 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.174ns DIN_SET requirement (totaling 172.240ns) by 161.212ns - - Physical Path Details: - - Data path SLICE_71 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C4A.CLK to R7C4A.Q0 SLICE_71 (from PHI2_c) -ROUTE 1 1.956 R7C4A.Q0 to R4C9B.C1 Bank[2] -CTOF_DEL --- 0.371 R4C9B.C1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 -ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa -CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 -ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) - -------- - 11.028 (21.9% logic, 78.1% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_71: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C4A.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 161.405ns (weighted slack = 322.810ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[5] (from PHI2_c +) - Destination: FF Data in CmdSubmitted (to PHI2_c -) - - Delay: 10.835ns (22.3% logic, 77.7% route), 6 logic levels. - - Constraint Details: - - 10.835ns physical path delay SLICE_76 to SLICE_22 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.174ns DIN_SET requirement (totaling 172.240ns) by 161.405ns - - Physical Path Details: - - Data path SLICE_76 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C4C.CLK to R7C4C.Q1 SLICE_76 (from PHI2_c) -ROUTE 1 1.763 R7C4C.Q1 to R4C9B.D1 Bank[5] -CTOF_DEL --- 0.371 R4C9B.D1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 -ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa -CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 -ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) - -------- - 10.835 (22.3% logic, 77.7% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_76: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C4C.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 161.733ns (weighted slack = 323.466ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[7] (from PHI2_c +) - Destination: FF Data in CmdUFMSDI (to PHI2_c -) - - Delay: 10.416ns (19.6% logic, 80.4% route), 5 logic levels. - - Constraint Details: - - 10.416ns physical path delay SLICE_77 to SLICE_74 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.265ns CE_SET requirement (totaling 172.149ns) by 161.733ns - - Physical Path Details: - - Data path SLICE_77 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q1 SLICE_77 (from PHI2_c) -ROUTE 1 2.505 R7C2B.Q1 to R4C9B.A1 Bank[7] -CTOF_DEL --- 0.371 R4C9B.A1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 -ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) - -------- - 10.416 (19.6% logic, 80.4% route), 5 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_77: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 162.083ns (weighted slack = 324.166ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[6] (from PHI2_c +) - Destination: FF Data in CmdUFMSDI (to PHI2_c -) - - Delay: 10.066ns (20.3% logic, 79.7% route), 5 logic levels. - - Constraint Details: - - 10.066ns physical path delay SLICE_77 to SLICE_74 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.265ns CE_SET requirement (totaling 172.149ns) by 162.083ns - - Physical Path Details: - - Data path SLICE_77 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q0 SLICE_77 (from PHI2_c) -ROUTE 1 2.155 R7C2B.Q0 to R4C9B.B1 Bank[6] -CTOF_DEL --- 0.371 R4C9B.B1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 -ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) - -------- - 10.066 (20.3% logic, 79.7% route), 5 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_77: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 162.194ns (weighted slack = 324.388ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[7] (from PHI2_c +) - Destination: FF Data in CmdUFMCS (to PHI2_c -) - FF CmdUFMCLK - - Delay: 9.955ns (20.5% logic, 79.5% route), 5 logic levels. - - Constraint Details: - - 9.955ns physical path delay SLICE_77 to SLICE_73 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.265ns CE_SET requirement (totaling 172.149ns) by 162.194ns - - Physical Path Details: - - Data path SLICE_77 to SLICE_73: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q1 SLICE_77 (from PHI2_c) -ROUTE 1 2.505 R7C2B.Q1 to R4C9B.A1 Bank[7] -CTOF_DEL --- 0.371 R4C9B.A1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 -ROUTE 2 1.178 R7C5D.F1 to R7C8A.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) - -------- - 9.955 (20.5% logic, 79.5% route), 5 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_77: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_73: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C8A.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 162.282ns (weighted slack = 324.564ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[2] (from PHI2_c +) - Destination: FF Data in CmdUFMSDI (to PHI2_c -) - - Delay: 9.867ns (20.7% logic, 79.3% route), 5 logic levels. - - Constraint Details: - - 9.867ns physical path delay SLICE_71 to SLICE_74 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.265ns CE_SET requirement (totaling 172.149ns) by 162.282ns - - Physical Path Details: - - Data path SLICE_71 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C4A.CLK to R7C4A.Q0 SLICE_71 (from PHI2_c) -ROUTE 1 1.956 R7C4A.Q0 to R4C9B.C1 Bank[2] -CTOF_DEL --- 0.371 R4C9B.C1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 -ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) - -------- - 9.867 (20.7% logic, 79.3% route), 5 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_71: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C4A.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 162.475ns (weighted slack = 324.950ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[5] (from PHI2_c +) - Destination: FF Data in CmdUFMSDI (to PHI2_c -) - - Delay: 9.674ns (21.1% logic, 78.9% route), 5 logic levels. - - Constraint Details: - - 9.674ns physical path delay SLICE_76 to SLICE_74 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.265ns CE_SET requirement (totaling 172.149ns) by 162.475ns - - Physical Path Details: - - Data path SLICE_76 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C4C.CLK to R7C4C.Q1 SLICE_76 (from PHI2_c) -ROUTE 1 1.763 R7C4C.Q1 to R4C9B.D1 Bank[5] -CTOF_DEL --- 0.371 R4C9B.D1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 -ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) - -------- - 9.674 (21.1% logic, 78.9% route), 5 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_76: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C4C.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_74: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 162.544ns (weighted slack = 325.088ns) - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Bank[6] (from PHI2_c +) - Destination: FF Data in CmdUFMCS (to PHI2_c -) - FF CmdUFMCLK - - Delay: 9.605ns (21.3% logic, 78.7% route), 5 logic levels. - - Constraint Details: - - 9.605ns physical path delay SLICE_77 to SLICE_73 meets - 172.414ns delay constraint less - 0.000ns skew and - 0.265ns CE_SET requirement (totaling 172.149ns) by 162.544ns - - Physical Path Details: - - Data path SLICE_77 to SLICE_73: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q0 SLICE_77 (from PHI2_c) -ROUTE 1 2.155 R7C2B.Q0 to R4C9B.B1 Bank[6] -CTOF_DEL --- 0.371 R4C9B.B1 to R4C9B.F1 SLICE_56 -ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 -CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 -ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 -CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 -CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 -ROUTE 2 1.178 R7C5D.F1 to R7C8A.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) - -------- - 9.605 (21.3% logic, 78.7% route), 5 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_77: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_73: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 3.682 39.PADDI to R7C8A.CLK PHI2_c - -------- - 3.682 (0.0% logic, 100.0% route), 0 logic levels. - -Report: 42.550MHz is the maximum frequency for this preference. - - -================================================================================ -Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 342.328ns - The internal maximum frequency of the following component is 400.000 MHz - - Logical Details: Cell type Pin name Component name - - Destination: PIO PAD nCCAS - - Delay: 2.500ns -- based on Minimum Pulse Width - -Report: 400.000MHz is the maximum frequency for this preference. - - -================================================================================ -Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 342.328ns - The internal maximum frequency of the following component is 400.000 MHz - - Logical Details: Cell type Pin name Component name - - Destination: PIO PAD nCRAS - - Delay: 2.500ns -- based on Minimum Pulse Width - -Report: 400.000MHz is the maximum frequency for this preference. - - -================================================================================ -Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; - 388 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 7.336ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[15] (from RCLK_c +) - Destination: FF Data in n8MEGEN (to RCLK_c +) - - Delay: 8.420ns (28.7% logic, 71.3% route), 6 logic levels. - - Constraint Details: - - 8.420ns physical path delay SLICE_2 to SLICE_58 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.336ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_58: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) -ROUTE 3 1.571 R8C5D.Q1 to R7C6A.B1 FS[15] -CTOF_DEL --- 0.371 R7C6A.B1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 -CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 -ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) - -------- - 8.420 (28.7% logic, 71.3% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_58: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.342ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[15] (from RCLK_c +) - Destination: FF Data in LEDEN (to RCLK_c +) - - Delay: 8.414ns (28.7% logic, 71.3% route), 6 logic levels. - - Constraint Details: - - 8.414ns physical path delay SLICE_2 to SLICE_33 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.342ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_33: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) -ROUTE 3 1.571 R8C5D.Q1 to R7C6A.B1 FS[15] -CTOF_DEL --- 0.371 R7C6A.B1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.716 R8C7B.F0 to R8C6B.D0 N_137_8 -CTOF_DEL --- 0.371 R8C6B.D0 to R8C6B.F0 SLICE_69 -ROUTE 1 1.260 R8C6B.F0 to R9C9B.CE N_33 (to RCLK_c) - -------- - 8.414 (28.7% logic, 71.3% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_33: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R9C9B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.396ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[13] (from RCLK_c +) - Destination: FF Data in n8MEGEN (to RCLK_c +) - - Delay: 8.360ns (28.9% logic, 71.1% route), 6 logic levels. - - Constraint Details: - - 8.360ns physical path delay SLICE_3 to SLICE_58 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.396ns - - Physical Path Details: - - Data path SLICE_3 to SLICE_58: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) -ROUTE 3 1.511 R8C5C.Q1 to R7C6A.A1 FS[13] -CTOF_DEL --- 0.371 R7C6A.A1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 -CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 -ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) - -------- - 8.360 (28.9% logic, 71.1% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_3: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5C.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_58: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.402ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[13] (from RCLK_c +) - Destination: FF Data in LEDEN (to RCLK_c +) - - Delay: 8.354ns (28.9% logic, 71.1% route), 6 logic levels. - - Constraint Details: - - 8.354ns physical path delay SLICE_3 to SLICE_33 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.402ns - - Physical Path Details: - - Data path SLICE_3 to SLICE_33: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) -ROUTE 3 1.511 R8C5C.Q1 to R7C6A.A1 FS[13] -CTOF_DEL --- 0.371 R7C6A.A1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.716 R8C7B.F0 to R8C6B.D0 N_137_8 -CTOF_DEL --- 0.371 R8C6B.D0 to R8C6B.F0 SLICE_69 -ROUTE 1 1.260 R8C6B.F0 to R9C9B.CE N_33 (to RCLK_c) - -------- - 8.354 (28.9% logic, 71.1% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_3: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5C.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_33: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R9C9B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.475ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[15] (from RCLK_c +) - Destination: FF Data in UFMSDI (to RCLK_c +) - - Delay: 8.344ns (28.9% logic, 71.1% route), 6 logic levels. - - Constraint Details: - - 8.344ns physical path delay SLICE_2 to SLICE_52 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.181ns DIN_SET requirement (totaling 15.819ns) by 7.475ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_52: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) -ROUTE 3 1.571 R8C5D.Q1 to R7C6A.B1 FS[15] -CTOF_DEL --- 0.371 R7C6A.B1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.919 R7C6B.F1 to R8C7B.B1 N_151 -CTOF_DEL --- 0.371 R8C7B.B1 to R8C7B.F1 SLICE_87 -ROUTE 1 1.156 R8C7B.F1 to R9C9C.D0 UFMSDI_r_xx_mm_1 -CTOF_DEL --- 0.371 R9C9C.D0 to R9C9C.F0 SLICE_52 -ROUTE 1 0.000 R9C9C.F0 to R9C9C.DI0 UFMSDI_RNO (to RCLK_c) - -------- - 8.344 (28.9% logic, 71.1% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_52: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R9C9C.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.535ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[13] (from RCLK_c +) - Destination: FF Data in UFMSDI (to RCLK_c +) - - Delay: 8.284ns (29.2% logic, 70.8% route), 6 logic levels. - - Constraint Details: - - 8.284ns physical path delay SLICE_3 to SLICE_52 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.181ns DIN_SET requirement (totaling 15.819ns) by 7.535ns - - Physical Path Details: - - Data path SLICE_3 to SLICE_52: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) -ROUTE 3 1.511 R8C5C.Q1 to R7C6A.A1 FS[13] -CTOF_DEL --- 0.371 R7C6A.A1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.919 R7C6B.F1 to R8C7B.B1 N_151 -CTOF_DEL --- 0.371 R8C7B.B1 to R8C7B.F1 SLICE_87 -ROUTE 1 1.156 R8C7B.F1 to R9C9C.D0 UFMSDI_r_xx_mm_1 -CTOF_DEL --- 0.371 R9C9C.D0 to R9C9C.F0 SLICE_52 -ROUTE 1 0.000 R9C9C.F0 to R9C9C.DI0 UFMSDI_RNO (to RCLK_c) - -------- - 8.284 (29.2% logic, 70.8% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_3: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5C.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_52: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R9C9C.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.721ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[14] (from RCLK_c +) - Destination: FF Data in n8MEGEN (to RCLK_c +) - - Delay: 8.035ns (30.1% logic, 69.9% route), 6 logic levels. - - Constraint Details: - - 8.035ns physical path delay SLICE_2 to SLICE_58 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.721ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_58: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q0 SLICE_2 (from RCLK_c) -ROUTE 3 1.186 R8C5D.Q0 to R7C6A.D1 FS[14] -CTOF_DEL --- 0.371 R7C6A.D1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 -CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 -ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) - -------- - 8.035 (30.1% logic, 69.9% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_58: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.727ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[14] (from RCLK_c +) - Destination: FF Data in LEDEN (to RCLK_c +) - - Delay: 8.029ns (30.1% logic, 69.9% route), 6 logic levels. - - Constraint Details: - - 8.029ns physical path delay SLICE_2 to SLICE_33 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.727ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_33: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q0 SLICE_2 (from RCLK_c) -ROUTE 3 1.186 R8C5D.Q0 to R7C6A.D1 FS[14] -CTOF_DEL --- 0.371 R7C6A.D1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.716 R8C7B.F0 to R8C6B.D0 N_137_8 -CTOF_DEL --- 0.371 R8C6B.D0 to R8C6B.F0 SLICE_69 -ROUTE 1 1.260 R8C6B.F0 to R9C9B.CE N_33 (to RCLK_c) - -------- - 8.029 (30.1% logic, 69.9% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_33: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R9C9B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.860ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[14] (from RCLK_c +) - Destination: FF Data in UFMSDI (to RCLK_c +) - - Delay: 7.959ns (30.3% logic, 69.7% route), 6 logic levels. - - Constraint Details: - - 7.959ns physical path delay SLICE_2 to SLICE_52 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.181ns DIN_SET requirement (totaling 15.819ns) by 7.860ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_52: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q0 SLICE_2 (from RCLK_c) -ROUTE 3 1.186 R8C5D.Q0 to R7C6A.D1 FS[14] -CTOF_DEL --- 0.371 R7C6A.D1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.919 R7C6B.F1 to R8C7B.B1 N_151 -CTOF_DEL --- 0.371 R8C7B.B1 to R8C7B.F1 SLICE_87 -ROUTE 1 1.156 R8C7B.F1 to R9C9C.D0 UFMSDI_r_xx_mm_1 -CTOF_DEL --- 0.371 R9C9C.D0 to R9C9C.F0 SLICE_52 -ROUTE 1 0.000 R9C9C.F0 to R9C9C.DI0 UFMSDI_RNO (to RCLK_c) - -------- - 7.959 (30.3% logic, 69.7% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_52: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R9C9C.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 7.998ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[17] (from RCLK_c +) - Destination: FF Data in n8MEGEN (to RCLK_c +) - - Delay: 7.758ns (31.1% logic, 68.9% route), 6 logic levels. - - Constraint Details: - - 7.758ns physical path delay SLICE_1 to SLICE_58 meets - 16.000ns delay constraint less - 0.000ns skew and - 0.244ns CE_SET requirement (totaling 15.756ns) by 7.998ns - - Physical Path Details: - - Data path SLICE_1 to SLICE_58: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.560 R8C6A.CLK to R8C6A.Q1 SLICE_1 (from RCLK_c) -ROUTE 3 0.909 R8C6A.Q1 to R7C6A.C1 FS[17] -CTOF_DEL --- 0.371 R7C6A.C1 to R7C6A.F1 SLICE_81 -ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 -CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 -ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 -CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 -ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 -CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 -ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 -CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 -ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) - -------- - 7.758 (31.1% logic, 68.9% route), 6 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_1: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R8C6A.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_58: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c - -------- - 1.425 (0.0% logic, 100.0% route), 0 logic levels. - -Report: 115.420MHz is the maximum frequency for this preference. - -Report Summary --------------- ----------------------------------------------------------------------------- -Preference | Constraint| Actual|Levels ----------------------------------------------------------------------------- - | | | -FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 42.550 MHz| 6 - | | | -FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 - | | | -FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 - | | | -FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 115.420 MHz| 6 - | | | ----------------------------------------------------------------------------- - - -All preferences were met. - - -Clock Domains Analysis ------------------------- - -Found 4 clocks: - -Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 - No transfer within this clock domain is found - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 - No transfer within this clock domain is found - -Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 - Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; - - Data transfers from: - Clock Domain: nCRAS_c Source: nCRAS.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - Clock Domain: PHI2_c Source: PHI2.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 - Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - -Timing summary (Setup): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) - --------------------------------------------------------------------------------- -Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:53 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,m -Report level: verbose report, limited to 10 items per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -================================================================================ -Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; - 129 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 0.358ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q ADSubmitted (from PHI2_c -) - Destination: FF Data in ADSubmitted (to PHI2_c -) - - Delay: 0.339ns (62.2% logic, 37.8% route), 2 logic levels. - - Constraint Details: - - 0.339ns physical path delay SLICE_9 to SLICE_9 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.358ns - - Physical Path Details: - - Data path SLICE_9 to SLICE_9: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R6C2A.CLK to R6C2A.Q0 SLICE_9 (from PHI2_c) -ROUTE 2 0.128 R6C2A.Q0 to R6C2A.D0 ADSubmitted -CTOF_DEL --- 0.074 R6C2A.D0 to R6C2A.F0 SLICE_9 -ROUTE 1 0.000 R6C2A.F0 to R6C2A.DI0 ADSubmitted_r (to PHI2_c) - -------- - 0.339 (62.2% logic, 37.8% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_9: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2A.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_9: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2A.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.361ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q C1Submitted (from PHI2_c -) - Destination: FF Data in C1Submitted (to PHI2_c -) - - Delay: 0.342ns (61.7% logic, 38.3% route), 2 logic levels. - - Constraint Details: - - 0.342ns physical path delay SLICE_14 to SLICE_14 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.361ns - - Physical Path Details: - - Data path SLICE_14 to SLICE_14: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R7C3C.CLK to R7C3C.Q0 SLICE_14 (from PHI2_c) -ROUTE 2 0.131 R7C3C.Q0 to R7C3C.A0 C1Submitted -CTOF_DEL --- 0.074 R7C3C.A0 to R7C3C.F0 SLICE_14 -ROUTE 1 0.000 R7C3C.F0 to R7C3C.DI0 C1Submitted_RNO (to PHI2_c) - -------- - 0.342 (61.7% logic, 38.3% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_14: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C3C.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_14: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C3C.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.364ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CmdSubmitted (from PHI2_c -) - Destination: FF Data in CmdSubmitted (to PHI2_c -) - - Delay: 0.345ns (61.2% logic, 38.8% route), 2 logic levels. - - Constraint Details: - - 0.345ns physical path delay SLICE_22 to SLICE_22 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.364ns - - Physical Path Details: - - Data path SLICE_22 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R8C9D.CLK to R8C9D.Q0 SLICE_22 (from PHI2_c) -ROUTE 3 0.134 R8C9D.Q0 to R8C9D.A0 CmdSubmitted -CTOF_DEL --- 0.074 R8C9D.A0 to R8C9D.F0 SLICE_22 -ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) - -------- - 0.345 (61.2% logic, 38.8% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R8C9D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_22: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R8C9D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.411ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CmdEnable (from PHI2_c -) - Destination: FF Data in CmdEnable (to PHI2_c -) - - Delay: 0.392ns (65.8% logic, 34.2% route), 2 logic levels. - - Constraint Details: - - 0.392ns physical path delay SLICE_20 to SLICE_20 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.411ns - - Physical Path Details: - - Data path SLICE_20 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R6C2D.CLK to R6C2D.Q0 SLICE_20 (from PHI2_c) -ROUTE 3 0.134 R6C2D.Q0 to R6C2D.D1 CmdEnable -CTOOFX_DEL --- 0.121 R6C2D.D1 to R6C2D.OFX0 SLICE_20 -ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) - -------- - 0.392 (65.8% logic, 34.2% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.415ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CmdEnable (from PHI2_c -) - Destination: FF Data in CmdEnable (to PHI2_c -) - - Delay: 0.396ns (66.2% logic, 33.8% route), 2 logic levels. - - Constraint Details: - - 0.396ns physical path delay SLICE_20 to SLICE_20 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.415ns - - Physical Path Details: - - Data path SLICE_20 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R6C2D.CLK to R6C2D.Q0 SLICE_20 (from PHI2_c) -ROUTE 3 0.134 R6C2D.Q0 to R6C2D.A0 CmdEnable -CTOOFX_DEL --- 0.125 R6C2D.A0 to R6C2D.OFX0 SLICE_20 -ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) - -------- - 0.396 (66.2% logic, 33.8% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.471ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q ADSubmitted (from PHI2_c -) - Destination: FF Data in CmdEnable (to PHI2_c -) - - Delay: 0.452ns (57.1% logic, 42.9% route), 2 logic levels. - - Constraint Details: - - 0.452ns physical path delay SLICE_9 to SLICE_20 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.471ns - - Physical Path Details: - - Data path SLICE_9 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R6C2A.CLK to R6C2A.Q0 SLICE_9 (from PHI2_c) -ROUTE 2 0.194 R6C2A.Q0 to R6C2D.A1 ADSubmitted -CTOOFX_DEL --- 0.121 R6C2D.A1 to R6C2D.OFX0 SLICE_20 -ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) - -------- - 0.452 (57.1% logic, 42.9% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_9: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2A.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.611ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q Cmdn8MEGEN (from PHI2_c -) - Destination: FF Data in Cmdn8MEGEN (to PHI2_c -) - - Delay: 0.592ns (48.1% logic, 51.9% route), 3 logic levels. - - Constraint Details: - - 0.592ns physical path delay SLICE_26 to SLICE_26 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.611ns - - Physical Path Details: - - Data path SLICE_26 to SLICE_26: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R7C5B.CLK to R7C5B.Q0 SLICE_26 (from PHI2_c) -ROUTE 2 0.208 R7C5B.Q0 to R7C5B.B1 Cmdn8MEGEN -CTOF_DEL --- 0.074 R7C5B.B1 to R7C5B.F1 SLICE_26 -ROUTE 1 0.099 R7C5B.F1 to R7C5B.C0 Cmdn8MEGEN_4_u_i_0 -CTOF_DEL --- 0.074 R7C5B.C0 to R7C5B.F0 SLICE_26 -ROUTE 1 0.000 R7C5B.F0 to R7C5B.DI0 N_19_i (to PHI2_c) - -------- - 0.592 (48.1% logic, 51.9% route), 3 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_26: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C5B.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_26: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C5B.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.634ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q C1Submitted (from PHI2_c -) - Destination: FF Data in CmdEnable (to PHI2_c -) - - Delay: 0.615ns (42.6% logic, 57.4% route), 2 logic levels. - - Constraint Details: - - 0.615ns physical path delay SLICE_14 to SLICE_20 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.634ns - - Physical Path Details: - - Data path SLICE_14 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R7C3C.CLK to R7C3C.Q0 SLICE_14 (from PHI2_c) -ROUTE 2 0.353 R7C3C.Q0 to R6C2D.C0 C1Submitted -CTOOFX_DEL --- 0.125 R6C2D.C0 to R6C2D.OFX0 SLICE_20 -ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) - -------- - 0.615 (42.6% logic, 57.4% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_14: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C3C.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.665ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CmdLEDEN (from PHI2_c -) - Destination: FF Data in CmdLEDEN (to PHI2_c -) - - Delay: 0.646ns (44.1% logic, 55.9% route), 3 logic levels. - - Constraint Details: - - 0.646ns physical path delay SLICE_21 to SLICE_21 meets - -0.019ns DIN_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.019ns) by 0.665ns - - Physical Path Details: - - Data path SLICE_21 to SLICE_21: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R7C5A.CLK to R7C5A.Q0 SLICE_21 (from PHI2_c) -ROUTE 2 0.169 R7C5A.Q0 to R7C5C.C1 CmdLEDEN -CTOF_DEL --- 0.074 R7C5C.C1 to R7C5C.F1 SLICE_82 -ROUTE 1 0.192 R7C5C.F1 to R7C5A.A0 N_132 -CTOF_DEL --- 0.074 R7C5A.A0 to R7C5A.F0 SLICE_21 -ROUTE 1 0.000 R7C5A.F0 to R7C5A.DI0 N_21_i (to PHI2_c) - -------- - 0.646 (44.1% logic, 55.9% route), 3 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_21: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C5A.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_21: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C5A.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.723ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CmdEnable (from PHI2_c -) - Destination: FF Data in CmdLEDEN (to PHI2_c -) - - Delay: 0.700ns (30.1% logic, 69.9% route), 2 logic levels. - - Constraint Details: - - 0.700ns physical path delay SLICE_20 to SLICE_21 meets - -0.023ns CE_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.023ns) by 0.723ns - - Physical Path Details: - - Data path SLICE_20 to SLICE_21: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.137 R6C2D.CLK to R6C2D.Q0 SLICE_20 (from PHI2_c) -ROUTE 3 0.348 R6C2D.Q0 to R7C5D.B0 CmdEnable -CTOF_DEL --- 0.074 R7C5D.B0 to R7C5D.F0 SLICE_67 -ROUTE 5 0.141 R7C5D.F0 to R7C5A.CE XOR8MEG18 (to PHI2_c) - -------- - 0.700 (30.1% logic, 69.9% route), 2 logic levels. - - Clock Skew Details: - - Source Clock Path PHI2 to SLICE_20: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path PHI2 to SLICE_21: - - Name Fanout Delay (ns) Site Resource -ROUTE 15 0.907 39.PADDI to R7C5A.CLK PHI2_c - -------- - 0.907 (0.0% logic, 100.0% route), 0 logic levels. - - -================================================================================ -Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -================================================================================ -Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; - 0 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -================================================================================ -Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; - 388 items scored, 0 timing errors detected. --------------------------------------------------------------------------------- - - -Passed: The following path meets requirements by 0.273ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q CASr (from RCLK_c +) - Destination: FF Data in CASr2 (to RCLK_c +) - - Delay: 0.256ns (49.2% logic, 50.8% route), 1 logic levels. - - Constraint Details: - - 0.256ns physical path delay SLICE_75 to SLICE_75 meets - -0.017ns M_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.017ns) by 0.273ns - - Physical Path Details: - - Data path SLICE_75 to SLICE_75: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R7C4B.CLK to R7C4B.Q0 SLICE_75 (from RCLK_c) -ROUTE 1 0.130 R7C4B.Q0 to R7C4B.M1 CASr (to RCLK_c) - -------- - 0.256 (49.2% logic, 50.8% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_75: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R7C4B.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_75: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R7C4B.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.301ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[17] (from RCLK_c +) - Destination: FF Data in FS[17] (to RCLK_c +) - FF FS[16] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_1 to SLICE_1 meets - -0.044ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.044ns) by 0.301ns - - Physical Path Details: - - Data path SLICE_1 to SLICE_1: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C6A.CLK to R8C6A.Q1 SLICE_1 (from RCLK_c) -ROUTE 3 0.131 R8C6A.Q1 to R8C6A.A1 FS[17] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_1: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C6A.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_1: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C6A.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.301ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[15] (from RCLK_c +) - Destination: FF Data in FS_cry_0[14] (to RCLK_c +) - FF FS[15] - FF FS[14] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_2 to SLICE_2 meets - -0.044ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.044ns) by 0.301ns - - Physical Path Details: - - Data path SLICE_2 to SLICE_2: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) -ROUTE 3 0.131 R8C5D.Q1 to R8C5D.A1 FS[15] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5D.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_2: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5D.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.301ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[13] (from RCLK_c +) - Destination: FF Data in FS_cry_0[12] (to RCLK_c +) - FF FS[13] - FF FS[12] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_3 to SLICE_3 meets - -0.044ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.044ns) by 0.301ns - - Physical Path Details: - - Data path SLICE_3 to SLICE_3: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) -ROUTE 3 0.131 R8C5C.Q1 to R8C5C.A1 FS[13] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_3: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5C.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_3: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5C.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.301ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[5] (from RCLK_c +) - Destination: FF Data in FS_cry_0[4] (to RCLK_c +) - FF FS[5] - FF FS[4] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_7 to SLICE_7 meets - -0.044ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.044ns) by 0.301ns - - Physical Path Details: - - Data path SLICE_7 to SLICE_7: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C4C.CLK to R8C4C.Q1 SLICE_7 (from RCLK_c) -ROUTE 4 0.131 R8C4C.Q1 to R8C4C.A1 FS[5] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_7: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4C.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_7: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4C.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.301ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[3] (from RCLK_c +) - Destination: FF Data in FS_cry_0[2] (to RCLK_c +) - FF FS[3] - FF FS[2] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_8 to SLICE_8 meets - -0.044ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.044ns) by 0.301ns - - Physical Path Details: - - Data path SLICE_8 to SLICE_8: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C4B.CLK to R8C4B.Q1 SLICE_8 (from RCLK_c) -ROUTE 3 0.131 R8C4B.Q1 to R8C4B.A1 FS[3] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_8: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4B.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_8: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4B.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.302ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[0] (from RCLK_c +) - Destination: FF Data in FS_cry_0[0] (to RCLK_c +) - FF FS[1] - FF FS[0] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_0 to SLICE_0 meets - -0.045ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.045ns) by 0.302ns - - Physical Path Details: - - Data path SLICE_0 to SLICE_0: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C4A.CLK to R8C4A.Q0 SLICE_0 (from RCLK_c) -ROUTE 3 0.131 R8C4A.Q0 to R8C4A.A0 FS[0] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_0: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4A.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_0: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4A.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.302ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[10] (from RCLK_c +) - Destination: FF Data in FS_cry_0[10] (to RCLK_c +) - FF FS[11] - FF FS[10] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_4 to SLICE_4 meets - -0.045ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.045ns) by 0.302ns - - Physical Path Details: - - Data path SLICE_4 to SLICE_4: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C5B.CLK to R8C5B.Q0 SLICE_4 (from RCLK_c) -ROUTE 5 0.131 R8C5B.Q0 to R8C5B.A0 FS[10] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_4: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5B.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_4: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5B.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.302ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[8] (from RCLK_c +) - Destination: FF Data in FS_cry_0[8] (to RCLK_c +) - FF FS[9] - FF FS[8] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_5 to SLICE_5 meets - -0.045ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.045ns) by 0.302ns - - Physical Path Details: - - Data path SLICE_5 to SLICE_5: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C5A.CLK to R8C5A.Q0 SLICE_5 (from RCLK_c) -ROUTE 3 0.131 R8C5A.Q0 to R8C5A.A0 FS[8] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_5: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5A.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_5: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C5A.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - -Passed: The following path meets requirements by 0.302ns - - Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) - - Source: FF Q FS[6] (from RCLK_c +) - Destination: FF Data in FS_cry_0[6] (to RCLK_c +) - FF FS[7] - FF FS[6] - - Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. - - Constraint Details: - - 0.257ns physical path delay SLICE_6 to SLICE_6 meets - -0.045ns LUT_HLD and - 0.000ns delay constraint less - 0.000ns skew requirement (totaling -0.045ns) by 0.302ns - - Physical Path Details: - - Data path SLICE_6 to SLICE_6: - - Name Fanout Delay (ns) Site Resource -REG_DEL --- 0.126 R8C4D.CLK to R8C4D.Q0 SLICE_6 (from RCLK_c) -ROUTE 3 0.131 R8C4D.Q0 to R8C4D.A0 FS[6] (to RCLK_c) - -------- - 0.257 (49.0% logic, 51.0% route), 1 logic levels. - - Clock Skew Details: - - Source Clock Path RCLK to SLICE_6: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4D.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - - Destination Clock Path RCLK to SLICE_6: - - Name Fanout Delay (ns) Site Resource -ROUTE 32 0.351 86.PADDI to R8C4D.CLK RCLK_c - -------- - 0.351 (0.0% logic, 100.0% route), 0 logic levels. - -Report Summary --------------- ----------------------------------------------------------------------------- -Preference(MIN Delays) | Constraint| Actual|Levels ----------------------------------------------------------------------------- - | | | -FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 - | | | -FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 - | | | -FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 - | | | -FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 - | | | ----------------------------------------------------------------------------- - - -All preferences were met. - - -Clock Domains Analysis ------------------------- - -Found 4 clocks: - -Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 - No transfer within this clock domain is found - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 - No transfer within this clock domain is found - -Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 - Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; - - Data transfers from: - Clock Domain: nCRAS_c Source: nCRAS.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - Clock Domain: PHI2_c Source: PHI2.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - -Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 - Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; - - Data transfers from: - Clock Domain: RCLK_c Source: RCLK.PAD - Not reported because source and destination domains are unrelated. - To report these transfers please refer to preference CLKSKEWDIFF to define - external clock skew between clock ports. - - -Timing summary (Hold): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) - - - -Timing summary (Setup and Hold): ---------------- - -Timing errors: 0 (setup), 0 (hold) -Score: 0 (setup), 0 (hold) -Cumulative negative slack: 0 (0+0) --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- - + +Loading design for application trce from file ram2gs_lcmxo640c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 3 +Loading device for application trce from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +Setup and Hold Report + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 20:57:23 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf +Design file: ram2gs_lcmxo640c_impl1.ncd +Preference file: ram2gs_lcmxo640c_impl1.prf +Device,speed: LCMXO640C,3 +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 129 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 160.663ns (weighted slack = 321.326ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[7] (from PHI2_c +) + Destination: FF Data in CmdSubmitted (to PHI2_c -) + + Delay: 11.577ns (20.9% logic, 79.1% route), 6 logic levels. + + Constraint Details: + + 11.577ns physical path delay SLICE_77 to SLICE_22 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.174ns DIN_SET requirement (totaling 172.240ns) by 160.663ns + + Physical Path Details: + + Data path SLICE_77 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q1 SLICE_77 (from PHI2_c) +ROUTE 1 2.505 R7C2B.Q1 to R4C9B.A1 Bank[7] +CTOF_DEL --- 0.371 R4C9B.A1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 +ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa +CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 +ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) + -------- + 11.577 (20.9% logic, 79.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_77: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 161.013ns (weighted slack = 322.026ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[6] (from PHI2_c +) + Destination: FF Data in CmdSubmitted (to PHI2_c -) + + Delay: 11.227ns (21.5% logic, 78.5% route), 6 logic levels. + + Constraint Details: + + 11.227ns physical path delay SLICE_77 to SLICE_22 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.174ns DIN_SET requirement (totaling 172.240ns) by 161.013ns + + Physical Path Details: + + Data path SLICE_77 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q0 SLICE_77 (from PHI2_c) +ROUTE 1 2.155 R7C2B.Q0 to R4C9B.B1 Bank[6] +CTOF_DEL --- 0.371 R4C9B.B1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 +ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa +CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 +ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) + -------- + 11.227 (21.5% logic, 78.5% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_77: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 161.212ns (weighted slack = 322.424ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[2] (from PHI2_c +) + Destination: FF Data in CmdSubmitted (to PHI2_c -) + + Delay: 11.028ns (21.9% logic, 78.1% route), 6 logic levels. + + Constraint Details: + + 11.028ns physical path delay SLICE_71 to SLICE_22 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.174ns DIN_SET requirement (totaling 172.240ns) by 161.212ns + + Physical Path Details: + + Data path SLICE_71 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C4A.CLK to R7C4A.Q0 SLICE_71 (from PHI2_c) +ROUTE 1 1.956 R7C4A.Q0 to R4C9B.C1 Bank[2] +CTOF_DEL --- 0.371 R4C9B.C1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 +ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa +CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 +ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) + -------- + 11.028 (21.9% logic, 78.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_71: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C4A.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 161.405ns (weighted slack = 322.810ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[5] (from PHI2_c +) + Destination: FF Data in CmdSubmitted (to PHI2_c -) + + Delay: 10.835ns (22.3% logic, 77.7% route), 6 logic levels. + + Constraint Details: + + 10.835ns physical path delay SLICE_76 to SLICE_22 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.174ns DIN_SET requirement (totaling 172.240ns) by 161.405ns + + Physical Path Details: + + Data path SLICE_76 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C4C.CLK to R7C4C.Q1 SLICE_76 (from PHI2_c) +ROUTE 1 1.763 R7C4C.Q1 to R4C9B.D1 Bank[5] +CTOF_DEL --- 0.371 R4C9B.D1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.867 R7C5D.F0 to R7C5C.C0 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5C.C0 to R7C5C.F0 SLICE_82 +ROUTE 1 2.090 R7C5C.F0 to R8C9D.D0 CmdSubmitted_1_sqmuxa +CTOF_DEL --- 0.371 R8C9D.D0 to R8C9D.F0 SLICE_22 +ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) + -------- + 10.835 (22.3% logic, 77.7% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_76: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C4C.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C9D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 161.733ns (weighted slack = 323.466ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[7] (from PHI2_c +) + Destination: FF Data in CmdUFMSDI (to PHI2_c -) + + Delay: 10.416ns (19.6% logic, 80.4% route), 5 logic levels. + + Constraint Details: + + 10.416ns physical path delay SLICE_77 to SLICE_74 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.265ns CE_SET requirement (totaling 172.149ns) by 161.733ns + + Physical Path Details: + + Data path SLICE_77 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q1 SLICE_77 (from PHI2_c) +ROUTE 1 2.505 R7C2B.Q1 to R4C9B.A1 Bank[7] +CTOF_DEL --- 0.371 R4C9B.A1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 +ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) + -------- + 10.416 (19.6% logic, 80.4% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_77: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.083ns (weighted slack = 324.166ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[6] (from PHI2_c +) + Destination: FF Data in CmdUFMSDI (to PHI2_c -) + + Delay: 10.066ns (20.3% logic, 79.7% route), 5 logic levels. + + Constraint Details: + + 10.066ns physical path delay SLICE_77 to SLICE_74 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.265ns CE_SET requirement (totaling 172.149ns) by 162.083ns + + Physical Path Details: + + Data path SLICE_77 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q0 SLICE_77 (from PHI2_c) +ROUTE 1 2.155 R7C2B.Q0 to R4C9B.B1 Bank[6] +CTOF_DEL --- 0.371 R4C9B.B1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 +ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) + -------- + 10.066 (20.3% logic, 79.7% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_77: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.194ns (weighted slack = 324.388ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[7] (from PHI2_c +) + Destination: FF Data in CmdUFMCS (to PHI2_c -) + FF CmdUFMCLK + + Delay: 9.955ns (20.5% logic, 79.5% route), 5 logic levels. + + Constraint Details: + + 9.955ns physical path delay SLICE_77 to SLICE_73 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.265ns CE_SET requirement (totaling 172.149ns) by 162.194ns + + Physical Path Details: + + Data path SLICE_77 to SLICE_73: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q1 SLICE_77 (from PHI2_c) +ROUTE 1 2.505 R7C2B.Q1 to R4C9B.A1 Bank[7] +CTOF_DEL --- 0.371 R4C9B.A1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 +ROUTE 2 1.178 R7C5D.F1 to R7C8A.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) + -------- + 9.955 (20.5% logic, 79.5% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_77: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_73: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C8A.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.282ns (weighted slack = 324.564ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[2] (from PHI2_c +) + Destination: FF Data in CmdUFMSDI (to PHI2_c -) + + Delay: 9.867ns (20.7% logic, 79.3% route), 5 logic levels. + + Constraint Details: + + 9.867ns physical path delay SLICE_71 to SLICE_74 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.265ns CE_SET requirement (totaling 172.149ns) by 162.282ns + + Physical Path Details: + + Data path SLICE_71 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C4A.CLK to R7C4A.Q0 SLICE_71 (from PHI2_c) +ROUTE 1 1.956 R7C4A.Q0 to R4C9B.C1 Bank[2] +CTOF_DEL --- 0.371 R4C9B.C1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 +ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) + -------- + 9.867 (20.7% logic, 79.3% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_71: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C4A.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.475ns (weighted slack = 324.950ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[5] (from PHI2_c +) + Destination: FF Data in CmdUFMSDI (to PHI2_c -) + + Delay: 9.674ns (21.1% logic, 78.9% route), 5 logic levels. + + Constraint Details: + + 9.674ns physical path delay SLICE_76 to SLICE_74 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.265ns CE_SET requirement (totaling 172.149ns) by 162.475ns + + Physical Path Details: + + Data path SLICE_76 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C4C.CLK to R7C4C.Q1 SLICE_76 (from PHI2_c) +ROUTE 1 1.763 R7C4C.Q1 to R4C9B.D1 Bank[5] +CTOF_DEL --- 0.371 R4C9B.D1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 +ROUTE 2 1.639 R7C5D.F1 to R8C7D.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) + -------- + 9.674 (21.1% logic, 78.9% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_76: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C4C.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_74: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R8C7D.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 162.544ns (weighted slack = 325.088ns) + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Bank[6] (from PHI2_c +) + Destination: FF Data in CmdUFMCS (to PHI2_c -) + FF CmdUFMCLK + + Delay: 9.605ns (21.3% logic, 78.7% route), 5 logic levels. + + Constraint Details: + + 9.605ns physical path delay SLICE_77 to SLICE_73 meets + 172.414ns delay constraint less + 0.000ns skew and + 0.265ns CE_SET requirement (totaling 172.149ns) by 162.544ns + + Physical Path Details: + + Data path SLICE_77 to SLICE_73: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R7C2B.CLK to R7C2B.Q0 SLICE_77 (from PHI2_c) +ROUTE 1 2.155 R7C2B.Q0 to R4C9B.B1 Bank[6] +CTOF_DEL --- 0.371 R4C9B.B1 to R4C9B.F1 SLICE_56 +ROUTE 1 2.155 R4C9B.F1 to R7C2A.B1 C1WR_0_a2_0_11 +CTOF_DEL --- 0.371 R7C2A.B1 to R7C2A.F1 SLICE_70 +ROUTE 6 1.545 R7C2A.F1 to R7C5D.A0 N_147 +CTOF_DEL --- 0.371 R7C5D.A0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.528 R7C5D.F0 to R7C5D.C1 XOR8MEG18 +CTOF_DEL --- 0.371 R7C5D.C1 to R7C5D.F1 SLICE_67 +ROUTE 2 1.178 R7C5D.F1 to R7C8A.CE CmdUFMCLK_1_sqmuxa (to PHI2_c) + -------- + 9.605 (21.3% logic, 78.7% route), 5 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_77: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C2B.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_73: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 3.682 39.PADDI to R7C8A.CLK PHI2_c + -------- + 3.682 (0.0% logic, 100.0% route), 0 logic levels. + +Report: 42.550MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 342.328ns + The internal maximum frequency of the following component is 400.000 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCCAS + + Delay: 2.500ns -- based on Minimum Pulse Width + +Report: 400.000MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 342.328ns + The internal maximum frequency of the following component is 400.000 MHz + + Logical Details: Cell type Pin name Component name + + Destination: PIO PAD nCRAS + + Delay: 2.500ns -- based on Minimum Pulse Width + +Report: 400.000MHz is the maximum frequency for this preference. + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 388 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 7.336ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in n8MEGEN (to RCLK_c +) + + Delay: 8.420ns (28.7% logic, 71.3% route), 6 logic levels. + + Constraint Details: + + 8.420ns physical path delay SLICE_2 to SLICE_58 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.336ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_58: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) +ROUTE 3 1.571 R8C5D.Q1 to R7C6A.B1 FS[15] +CTOF_DEL --- 0.371 R7C6A.B1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 +CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 +ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) + -------- + 8.420 (28.7% logic, 71.3% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_58: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.342ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in LEDEN (to RCLK_c +) + + Delay: 8.414ns (28.7% logic, 71.3% route), 6 logic levels. + + Constraint Details: + + 8.414ns physical path delay SLICE_2 to SLICE_33 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.342ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_33: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) +ROUTE 3 1.571 R8C5D.Q1 to R7C6A.B1 FS[15] +CTOF_DEL --- 0.371 R7C6A.B1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.716 R8C7B.F0 to R8C6B.D0 N_137_8 +CTOF_DEL --- 0.371 R8C6B.D0 to R8C6B.F0 SLICE_69 +ROUTE 1 1.260 R8C6B.F0 to R9C9B.CE N_33 (to RCLK_c) + -------- + 8.414 (28.7% logic, 71.3% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_33: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R9C9B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.396ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[13] (from RCLK_c +) + Destination: FF Data in n8MEGEN (to RCLK_c +) + + Delay: 8.360ns (28.9% logic, 71.1% route), 6 logic levels. + + Constraint Details: + + 8.360ns physical path delay SLICE_3 to SLICE_58 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.396ns + + Physical Path Details: + + Data path SLICE_3 to SLICE_58: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) +ROUTE 3 1.511 R8C5C.Q1 to R7C6A.A1 FS[13] +CTOF_DEL --- 0.371 R7C6A.A1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 +CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 +ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) + -------- + 8.360 (28.9% logic, 71.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5C.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_58: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.402ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[13] (from RCLK_c +) + Destination: FF Data in LEDEN (to RCLK_c +) + + Delay: 8.354ns (28.9% logic, 71.1% route), 6 logic levels. + + Constraint Details: + + 8.354ns physical path delay SLICE_3 to SLICE_33 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.402ns + + Physical Path Details: + + Data path SLICE_3 to SLICE_33: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) +ROUTE 3 1.511 R8C5C.Q1 to R7C6A.A1 FS[13] +CTOF_DEL --- 0.371 R7C6A.A1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.716 R8C7B.F0 to R8C6B.D0 N_137_8 +CTOF_DEL --- 0.371 R8C6B.D0 to R8C6B.F0 SLICE_69 +ROUTE 1 1.260 R8C6B.F0 to R9C9B.CE N_33 (to RCLK_c) + -------- + 8.354 (28.9% logic, 71.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5C.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_33: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R9C9B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.475ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in UFMSDI (to RCLK_c +) + + Delay: 8.344ns (28.9% logic, 71.1% route), 6 logic levels. + + Constraint Details: + + 8.344ns physical path delay SLICE_2 to SLICE_52 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.181ns DIN_SET requirement (totaling 15.819ns) by 7.475ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_52: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) +ROUTE 3 1.571 R8C5D.Q1 to R7C6A.B1 FS[15] +CTOF_DEL --- 0.371 R7C6A.B1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.919 R7C6B.F1 to R8C7B.B1 N_151 +CTOF_DEL --- 0.371 R8C7B.B1 to R8C7B.F1 SLICE_87 +ROUTE 1 1.156 R8C7B.F1 to R9C9C.D0 UFMSDI_r_xx_mm_1 +CTOF_DEL --- 0.371 R9C9C.D0 to R9C9C.F0 SLICE_52 +ROUTE 1 0.000 R9C9C.F0 to R9C9C.DI0 UFMSDI_RNO (to RCLK_c) + -------- + 8.344 (28.9% logic, 71.1% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R9C9C.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.535ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[13] (from RCLK_c +) + Destination: FF Data in UFMSDI (to RCLK_c +) + + Delay: 8.284ns (29.2% logic, 70.8% route), 6 logic levels. + + Constraint Details: + + 8.284ns physical path delay SLICE_3 to SLICE_52 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.181ns DIN_SET requirement (totaling 15.819ns) by 7.535ns + + Physical Path Details: + + Data path SLICE_3 to SLICE_52: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) +ROUTE 3 1.511 R8C5C.Q1 to R7C6A.A1 FS[13] +CTOF_DEL --- 0.371 R7C6A.A1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.919 R7C6B.F1 to R8C7B.B1 N_151 +CTOF_DEL --- 0.371 R8C7B.B1 to R8C7B.F1 SLICE_87 +ROUTE 1 1.156 R8C7B.F1 to R9C9C.D0 UFMSDI_r_xx_mm_1 +CTOF_DEL --- 0.371 R9C9C.D0 to R9C9C.F0 SLICE_52 +ROUTE 1 0.000 R9C9C.F0 to R9C9C.DI0 UFMSDI_RNO (to RCLK_c) + -------- + 8.284 (29.2% logic, 70.8% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5C.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R9C9C.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.721ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[14] (from RCLK_c +) + Destination: FF Data in n8MEGEN (to RCLK_c +) + + Delay: 8.035ns (30.1% logic, 69.9% route), 6 logic levels. + + Constraint Details: + + 8.035ns physical path delay SLICE_2 to SLICE_58 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.721ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_58: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q0 SLICE_2 (from RCLK_c) +ROUTE 3 1.186 R8C5D.Q0 to R7C6A.D1 FS[14] +CTOF_DEL --- 0.371 R7C6A.D1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 +CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 +ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) + -------- + 8.035 (30.1% logic, 69.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_58: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.727ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[14] (from RCLK_c +) + Destination: FF Data in LEDEN (to RCLK_c +) + + Delay: 8.029ns (30.1% logic, 69.9% route), 6 logic levels. + + Constraint Details: + + 8.029ns physical path delay SLICE_2 to SLICE_33 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.727ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_33: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q0 SLICE_2 (from RCLK_c) +ROUTE 3 1.186 R8C5D.Q0 to R7C6A.D1 FS[14] +CTOF_DEL --- 0.371 R7C6A.D1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.716 R8C7B.F0 to R8C6B.D0 N_137_8 +CTOF_DEL --- 0.371 R8C6B.D0 to R8C6B.F0 SLICE_69 +ROUTE 1 1.260 R8C6B.F0 to R9C9B.CE N_33 (to RCLK_c) + -------- + 8.029 (30.1% logic, 69.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_33: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R9C9B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.860ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[14] (from RCLK_c +) + Destination: FF Data in UFMSDI (to RCLK_c +) + + Delay: 7.959ns (30.3% logic, 69.7% route), 6 logic levels. + + Constraint Details: + + 7.959ns physical path delay SLICE_2 to SLICE_52 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.181ns DIN_SET requirement (totaling 15.819ns) by 7.860ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_52: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C5D.CLK to R8C5D.Q0 SLICE_2 (from RCLK_c) +ROUTE 3 1.186 R8C5D.Q0 to R7C6A.D1 FS[14] +CTOF_DEL --- 0.371 R7C6A.D1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.919 R7C6B.F1 to R8C7B.B1 N_151 +CTOF_DEL --- 0.371 R8C7B.B1 to R8C7B.F1 SLICE_87 +ROUTE 1 1.156 R8C7B.F1 to R9C9C.D0 UFMSDI_r_xx_mm_1 +CTOF_DEL --- 0.371 R9C9C.D0 to R9C9C.F0 SLICE_52 +ROUTE 1 0.000 R9C9C.F0 to R9C9C.DI0 UFMSDI_RNO (to RCLK_c) + -------- + 7.959 (30.3% logic, 69.7% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C5D.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_52: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R9C9C.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 7.998ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in n8MEGEN (to RCLK_c +) + + Delay: 7.758ns (31.1% logic, 68.9% route), 6 logic levels. + + Constraint Details: + + 7.758ns physical path delay SLICE_1 to SLICE_58 meets + 16.000ns delay constraint less + 0.000ns skew and + 0.244ns CE_SET requirement (totaling 15.756ns) by 7.998ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_58: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.560 R8C6A.CLK to R8C6A.Q1 SLICE_1 (from RCLK_c) +ROUTE 3 0.909 R8C6A.Q1 to R7C6A.C1 FS[17] +CTOF_DEL --- 0.371 R7C6A.C1 to R7C6A.F1 SLICE_81 +ROUTE 1 0.626 R7C6A.F1 to R7C6D.D1 UFMSDI_ens2_i_o2_0_3 +CTOF_DEL --- 0.371 R7C6D.D1 to R7C6D.F1 SLICE_72 +ROUTE 4 0.657 R7C6D.F1 to R7C6B.D1 N_51 +CTOF_DEL --- 0.371 R7C6B.D1 to R7C6B.F1 SLICE_58 +ROUTE 2 1.169 R7C6B.F1 to R8C7B.D0 N_151 +CTOF_DEL --- 0.371 R8C7B.D0 to R8C7B.F0 SLICE_87 +ROUTE 2 0.909 R8C7B.F0 to R8C6C.C0 N_137_8 +CTOF_DEL --- 0.371 R8C6C.C0 to R8C6C.F0 SLICE_68 +ROUTE 1 1.073 R8C6C.F0 to R7C6B.CE N_31 (to RCLK_c) + -------- + 7.758 (31.1% logic, 68.9% route), 6 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R8C6A.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_58: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 1.425 86.PADDI to R7C6B.CLK RCLK_c + -------- + 1.425 (0.0% logic, 100.0% route), 0 logic levels. + +Report: 115.420MHz is the maximum frequency for this preference. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | 2.900 MHz| 42.550 MHz| 6 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | 2.900 MHz| 400.000 MHz| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | 62.500 MHz| 115.420 MHz| 6 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Setup): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) + +-------------------------------------------------------------------------------- +Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 +Sat Aug 19 20:57:23 2023 + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Report Information +------------------ +Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf +Design file: ram2gs_lcmxo640c_impl1.ncd +Preference file: ram2gs_lcmxo640c_impl1.prf +Device,speed: LCMXO640C,m +Report level: verbose report, limited to 10 items per preference +-------------------------------------------------------------------------------- + +BLOCK ASYNCPATHS +BLOCK RESETPATHS +-------------------------------------------------------------------------------- + + + +================================================================================ +Preference: FREQUENCY PORT "PHI2" 2.900000 MHz ; + 129 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.358ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in ADSubmitted (to PHI2_c -) + + Delay: 0.339ns (62.2% logic, 37.8% route), 2 logic levels. + + Constraint Details: + + 0.339ns physical path delay SLICE_9 to SLICE_9 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.358ns + + Physical Path Details: + + Data path SLICE_9 to SLICE_9: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R6C2A.CLK to R6C2A.Q0 SLICE_9 (from PHI2_c) +ROUTE 2 0.128 R6C2A.Q0 to R6C2A.D0 ADSubmitted +CTOF_DEL --- 0.074 R6C2A.D0 to R6C2A.F0 SLICE_9 +ROUTE 1 0.000 R6C2A.F0 to R6C2A.DI0 ADSubmitted_r (to PHI2_c) + -------- + 0.339 (62.2% logic, 37.8% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_9: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2A.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_9: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2A.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.361ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q C1Submitted (from PHI2_c -) + Destination: FF Data in C1Submitted (to PHI2_c -) + + Delay: 0.342ns (61.7% logic, 38.3% route), 2 logic levels. + + Constraint Details: + + 0.342ns physical path delay SLICE_14 to SLICE_14 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.361ns + + Physical Path Details: + + Data path SLICE_14 to SLICE_14: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R7C3C.CLK to R7C3C.Q0 SLICE_14 (from PHI2_c) +ROUTE 2 0.131 R7C3C.Q0 to R7C3C.A0 C1Submitted +CTOF_DEL --- 0.074 R7C3C.A0 to R7C3C.F0 SLICE_14 +ROUTE 1 0.000 R7C3C.F0 to R7C3C.DI0 C1Submitted_RNO (to PHI2_c) + -------- + 0.342 (61.7% logic, 38.3% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_14: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C3C.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_14: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C3C.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.364ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdSubmitted (from PHI2_c -) + Destination: FF Data in CmdSubmitted (to PHI2_c -) + + Delay: 0.345ns (61.2% logic, 38.8% route), 2 logic levels. + + Constraint Details: + + 0.345ns physical path delay SLICE_22 to SLICE_22 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.364ns + + Physical Path Details: + + Data path SLICE_22 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R8C9D.CLK to R8C9D.Q0 SLICE_22 (from PHI2_c) +ROUTE 3 0.134 R8C9D.Q0 to R8C9D.A0 CmdSubmitted +CTOF_DEL --- 0.074 R8C9D.A0 to R8C9D.F0 SLICE_22 +ROUTE 1 0.000 R8C9D.F0 to R8C9D.DI0 N_460_0 (to PHI2_c) + -------- + 0.345 (61.2% logic, 38.8% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R8C9D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_22: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R8C9D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.411ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.392ns (65.8% logic, 34.2% route), 2 logic levels. + + Constraint Details: + + 0.392ns physical path delay SLICE_20 to SLICE_20 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.411ns + + Physical Path Details: + + Data path SLICE_20 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R6C2D.CLK to R6C2D.Q0 SLICE_20 (from PHI2_c) +ROUTE 3 0.134 R6C2D.Q0 to R6C2D.D1 CmdEnable +CTOOFX_DEL --- 0.121 R6C2D.D1 to R6C2D.OFX0 SLICE_20 +ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.392 (65.8% logic, 34.2% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.415ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.396ns (66.2% logic, 33.8% route), 2 logic levels. + + Constraint Details: + + 0.396ns physical path delay SLICE_20 to SLICE_20 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.415ns + + Physical Path Details: + + Data path SLICE_20 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R6C2D.CLK to R6C2D.Q0 SLICE_20 (from PHI2_c) +ROUTE 3 0.134 R6C2D.Q0 to R6C2D.A0 CmdEnable +CTOOFX_DEL --- 0.125 R6C2D.A0 to R6C2D.OFX0 SLICE_20 +ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.396 (66.2% logic, 33.8% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.471ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q ADSubmitted (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.452ns (57.1% logic, 42.9% route), 2 logic levels. + + Constraint Details: + + 0.452ns physical path delay SLICE_9 to SLICE_20 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.471ns + + Physical Path Details: + + Data path SLICE_9 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R6C2A.CLK to R6C2A.Q0 SLICE_9 (from PHI2_c) +ROUTE 2 0.194 R6C2A.Q0 to R6C2D.A1 ADSubmitted +CTOOFX_DEL --- 0.121 R6C2D.A1 to R6C2D.OFX0 SLICE_20 +ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.452 (57.1% logic, 42.9% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_9: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2A.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.611ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q Cmdn8MEGEN (from PHI2_c -) + Destination: FF Data in Cmdn8MEGEN (to PHI2_c -) + + Delay: 0.592ns (48.1% logic, 51.9% route), 3 logic levels. + + Constraint Details: + + 0.592ns physical path delay SLICE_26 to SLICE_26 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.611ns + + Physical Path Details: + + Data path SLICE_26 to SLICE_26: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R7C5B.CLK to R7C5B.Q0 SLICE_26 (from PHI2_c) +ROUTE 2 0.208 R7C5B.Q0 to R7C5B.B1 Cmdn8MEGEN +CTOF_DEL --- 0.074 R7C5B.B1 to R7C5B.F1 SLICE_26 +ROUTE 1 0.099 R7C5B.F1 to R7C5B.C0 Cmdn8MEGEN_4_u_i_0 +CTOF_DEL --- 0.074 R7C5B.C0 to R7C5B.F0 SLICE_26 +ROUTE 1 0.000 R7C5B.F0 to R7C5B.DI0 N_19_i (to PHI2_c) + -------- + 0.592 (48.1% logic, 51.9% route), 3 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_26: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C5B.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_26: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C5B.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.634ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q C1Submitted (from PHI2_c -) + Destination: FF Data in CmdEnable (to PHI2_c -) + + Delay: 0.615ns (42.6% logic, 57.4% route), 2 logic levels. + + Constraint Details: + + 0.615ns physical path delay SLICE_14 to SLICE_20 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.634ns + + Physical Path Details: + + Data path SLICE_14 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R7C3C.CLK to R7C3C.Q0 SLICE_14 (from PHI2_c) +ROUTE 2 0.353 R7C3C.Q0 to R6C2D.C0 C1Submitted +CTOOFX_DEL --- 0.125 R6C2D.C0 to R6C2D.OFX0 SLICE_20 +ROUTE 1 0.000 R6C2D.OFX0 to R6C2D.DI0 CmdEnable_s (to PHI2_c) + -------- + 0.615 (42.6% logic, 57.4% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_14: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C3C.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.665ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdLEDEN (from PHI2_c -) + Destination: FF Data in CmdLEDEN (to PHI2_c -) + + Delay: 0.646ns (44.1% logic, 55.9% route), 3 logic levels. + + Constraint Details: + + 0.646ns physical path delay SLICE_21 to SLICE_21 meets + -0.019ns DIN_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.019ns) by 0.665ns + + Physical Path Details: + + Data path SLICE_21 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R7C5A.CLK to R7C5A.Q0 SLICE_21 (from PHI2_c) +ROUTE 2 0.169 R7C5A.Q0 to R7C5C.C1 CmdLEDEN +CTOF_DEL --- 0.074 R7C5C.C1 to R7C5C.F1 SLICE_82 +ROUTE 1 0.192 R7C5C.F1 to R7C5A.A0 N_132 +CTOF_DEL --- 0.074 R7C5A.A0 to R7C5A.F0 SLICE_21 +ROUTE 1 0.000 R7C5A.F0 to R7C5A.DI0 N_21_i (to PHI2_c) + -------- + 0.646 (44.1% logic, 55.9% route), 3 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C5A.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C5A.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.723ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CmdEnable (from PHI2_c -) + Destination: FF Data in CmdLEDEN (to PHI2_c -) + + Delay: 0.700ns (30.1% logic, 69.9% route), 2 logic levels. + + Constraint Details: + + 0.700ns physical path delay SLICE_20 to SLICE_21 meets + -0.023ns CE_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.023ns) by 0.723ns + + Physical Path Details: + + Data path SLICE_20 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.137 R6C2D.CLK to R6C2D.Q0 SLICE_20 (from PHI2_c) +ROUTE 3 0.348 R6C2D.Q0 to R7C5D.B0 CmdEnable +CTOF_DEL --- 0.074 R7C5D.B0 to R7C5D.F0 SLICE_67 +ROUTE 5 0.141 R7C5D.F0 to R7C5A.CE XOR8MEG18 (to PHI2_c) + -------- + 0.700 (30.1% logic, 69.9% route), 2 logic levels. + + Clock Skew Details: + + Source Clock Path PHI2 to SLICE_20: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R6C2D.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path PHI2 to SLICE_21: + + Name Fanout Delay (ns) Site Resource +ROUTE 15 0.907 39.PADDI to R7C5A.CLK PHI2_c + -------- + 0.907 (0.0% logic, 100.0% route), 0 logic levels. + + +================================================================================ +Preference: FREQUENCY PORT "nCCAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "nCRAS" 2.900000 MHz ; + 0 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +================================================================================ +Preference: FREQUENCY PORT "RCLK" 62.500000 MHz ; + 388 items scored, 0 timing errors detected. +-------------------------------------------------------------------------------- + + +Passed: The following path meets requirements by 0.273ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q CASr (from RCLK_c +) + Destination: FF Data in CASr2 (to RCLK_c +) + + Delay: 0.256ns (49.2% logic, 50.8% route), 1 logic levels. + + Constraint Details: + + 0.256ns physical path delay SLICE_75 to SLICE_75 meets + -0.017ns M_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.017ns) by 0.273ns + + Physical Path Details: + + Data path SLICE_75 to SLICE_75: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R7C4B.CLK to R7C4B.Q0 SLICE_75 (from RCLK_c) +ROUTE 1 0.130 R7C4B.Q0 to R7C4B.M1 CASr (to RCLK_c) + -------- + 0.256 (49.2% logic, 50.8% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_75: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R7C4B.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_75: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R7C4B.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.301ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[17] (from RCLK_c +) + Destination: FF Data in FS[17] (to RCLK_c +) + FF FS[16] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_1 to SLICE_1 meets + -0.044ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.044ns) by 0.301ns + + Physical Path Details: + + Data path SLICE_1 to SLICE_1: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C6A.CLK to R8C6A.Q1 SLICE_1 (from RCLK_c) +ROUTE 3 0.131 R8C6A.Q1 to R8C6A.A1 FS[17] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C6A.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_1: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C6A.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.301ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[15] (from RCLK_c +) + Destination: FF Data in FS_cry_0[14] (to RCLK_c +) + FF FS[15] + FF FS[14] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_2 to SLICE_2 meets + -0.044ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.044ns) by 0.301ns + + Physical Path Details: + + Data path SLICE_2 to SLICE_2: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C5D.CLK to R8C5D.Q1 SLICE_2 (from RCLK_c) +ROUTE 3 0.131 R8C5D.Q1 to R8C5D.A1 FS[15] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5D.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_2: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5D.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.301ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[13] (from RCLK_c +) + Destination: FF Data in FS_cry_0[12] (to RCLK_c +) + FF FS[13] + FF FS[12] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_3 to SLICE_3 meets + -0.044ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.044ns) by 0.301ns + + Physical Path Details: + + Data path SLICE_3 to SLICE_3: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C5C.CLK to R8C5C.Q1 SLICE_3 (from RCLK_c) +ROUTE 3 0.131 R8C5C.Q1 to R8C5C.A1 FS[13] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5C.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_3: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5C.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.301ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[5] (from RCLK_c +) + Destination: FF Data in FS_cry_0[4] (to RCLK_c +) + FF FS[5] + FF FS[4] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_7 to SLICE_7 meets + -0.044ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.044ns) by 0.301ns + + Physical Path Details: + + Data path SLICE_7 to SLICE_7: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C4C.CLK to R8C4C.Q1 SLICE_7 (from RCLK_c) +ROUTE 4 0.131 R8C4C.Q1 to R8C4C.A1 FS[5] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_7: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4C.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_7: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4C.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.301ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[3] (from RCLK_c +) + Destination: FF Data in FS_cry_0[2] (to RCLK_c +) + FF FS[3] + FF FS[2] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_8 to SLICE_8 meets + -0.044ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.044ns) by 0.301ns + + Physical Path Details: + + Data path SLICE_8 to SLICE_8: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C4B.CLK to R8C4B.Q1 SLICE_8 (from RCLK_c) +ROUTE 3 0.131 R8C4B.Q1 to R8C4B.A1 FS[3] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_8: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4B.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_8: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4B.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.302ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[0] (from RCLK_c +) + Destination: FF Data in FS_cry_0[0] (to RCLK_c +) + FF FS[1] + FF FS[0] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_0 to SLICE_0 meets + -0.045ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.045ns) by 0.302ns + + Physical Path Details: + + Data path SLICE_0 to SLICE_0: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C4A.CLK to R8C4A.Q0 SLICE_0 (from RCLK_c) +ROUTE 3 0.131 R8C4A.Q0 to R8C4A.A0 FS[0] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4A.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_0: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4A.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.302ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[10] (from RCLK_c +) + Destination: FF Data in FS_cry_0[10] (to RCLK_c +) + FF FS[11] + FF FS[10] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_4 to SLICE_4 meets + -0.045ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.045ns) by 0.302ns + + Physical Path Details: + + Data path SLICE_4 to SLICE_4: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C5B.CLK to R8C5B.Q0 SLICE_4 (from RCLK_c) +ROUTE 5 0.131 R8C5B.Q0 to R8C5B.A0 FS[10] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_4: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5B.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_4: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5B.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.302ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[8] (from RCLK_c +) + Destination: FF Data in FS_cry_0[8] (to RCLK_c +) + FF FS[9] + FF FS[8] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_5 to SLICE_5 meets + -0.045ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.045ns) by 0.302ns + + Physical Path Details: + + Data path SLICE_5 to SLICE_5: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C5A.CLK to R8C5A.Q0 SLICE_5 (from RCLK_c) +ROUTE 3 0.131 R8C5A.Q0 to R8C5A.A0 FS[8] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_5: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5A.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_5: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C5A.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + +Passed: The following path meets requirements by 0.302ns + + Logical Details: Cell type Pin type Cell/ASIC name (clock net +/-) + + Source: FF Q FS[6] (from RCLK_c +) + Destination: FF Data in FS_cry_0[6] (to RCLK_c +) + FF FS[7] + FF FS[6] + + Delay: 0.257ns (49.0% logic, 51.0% route), 1 logic levels. + + Constraint Details: + + 0.257ns physical path delay SLICE_6 to SLICE_6 meets + -0.045ns LUT_HLD and + 0.000ns delay constraint less + 0.000ns skew requirement (totaling -0.045ns) by 0.302ns + + Physical Path Details: + + Data path SLICE_6 to SLICE_6: + + Name Fanout Delay (ns) Site Resource +REG_DEL --- 0.126 R8C4D.CLK to R8C4D.Q0 SLICE_6 (from RCLK_c) +ROUTE 3 0.131 R8C4D.Q0 to R8C4D.A0 FS[6] (to RCLK_c) + -------- + 0.257 (49.0% logic, 51.0% route), 1 logic levels. + + Clock Skew Details: + + Source Clock Path RCLK to SLICE_6: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4D.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + + Destination Clock Path RCLK to SLICE_6: + + Name Fanout Delay (ns) Site Resource +ROUTE 32 0.351 86.PADDI to R8C4D.CLK RCLK_c + -------- + 0.351 (0.0% logic, 100.0% route), 0 logic levels. + +Report Summary +-------------- +---------------------------------------------------------------------------- +Preference(MIN Delays) | Constraint| Actual|Levels +---------------------------------------------------------------------------- + | | | +FREQUENCY PORT "PHI2" 2.900000 MHz ; | -| -| 2 + | | | +FREQUENCY PORT "nCCAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "nCRAS" 2.900000 MHz ; | -| -| 0 + | | | +FREQUENCY PORT "RCLK" 62.500000 MHz ; | -| -| 1 + | | | +---------------------------------------------------------------------------- + + +All preferences were met. + + +Clock Domains Analysis +------------------------ + +Found 4 clocks: + +Clock Domain: nCRAS_c Source: nCRAS.PAD Loads: 10 + No transfer within this clock domain is found + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: nCCAS_c Source: nCCAS.PAD Loads: 8 + No transfer within this clock domain is found + +Clock Domain: RCLK_c Source: RCLK.PAD Loads: 32 + Covered under: FREQUENCY PORT "RCLK" 62.500000 MHz ; + + Data transfers from: + Clock Domain: nCRAS_c Source: nCRAS.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + Clock Domain: PHI2_c Source: PHI2.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + +Clock Domain: PHI2_c Source: PHI2.PAD Loads: 15 + Covered under: FREQUENCY PORT "PHI2" 2.900000 MHz ; + + Data transfers from: + Clock Domain: RCLK_c Source: RCLK.PAD + Not reported because source and destination domains are unrelated. + To report these transfers please refer to preference CLKSKEWDIFF to define + external clock skew between clock ports. + + +Timing summary (Hold): +--------------- + +Timing errors: 0 Score: 0 +Cumulative negative slack: 0 + +Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) + + + +Timing summary (Setup and Hold): +--------------- + +Timing errors: 0 (setup), 0 (hold) +Score: 0 (setup), 0 (hold) +Cumulative negative slack: 0 (0+0) +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_bgn.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_bgn.html index 71517e5..e7b5a82 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_bgn.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_bgn.html @@ -12,10 +12,10 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:55 2023 +Sat Aug 19 20:57:26 2023 -Command: bitgen -w -g ES:No -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf +Command: bitgen -w -g ES:No -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf Loading design for application Bitgen from file RAM2GS_LCMXO640C_impl1.ncd. Design name: RAM2GS @@ -52,7 +52,7 @@ Creating bit map... Saving bit stream in "RAM2GS_LCMXO640C_impl1.bit". Total CPU Time: 0 secs Total REAL Time: 0 secs -Peak Memory Usage: 46 MB +Peak Memory Usage: 67 MB diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_cck.rpt b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_cck.rpt index 06106c9..c904785 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_cck.rpt +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_cck.rpt @@ -1,155 +1,155 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 - -# Written on Wed Aug 16 04:50:41 2023 - -##### DESIGN INFO ####################################################### - -Top View: "RAM2GS" -Constraint File(s): "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc" - - - - -##### SUMMARY ############################################################ - -Found 0 issues in 0 out of 4 constraints - - -##### DETAILS ############################################################ - - - -Clock Relationships -******************* - -Starting Ending | rise to rise | fall to fall | rise to fall | fall to rise ------------------------------------------------------------------------------------------------------------------------------------ -RCLK RCLK | 16.000 | No paths | No paths | No paths -RCLK PHI2 | 2.000 | No paths | 1.000 | No paths -RCLK nCRAS | No paths | No paths | 1.000 | No paths -PHI2 RCLK | No paths | No paths | No paths | 1.000 -PHI2 PHI2 | No paths | 350.000 | 175.000 | 175.000 -nCRAS RCLK | No paths | No paths | No paths | 1.000 -=================================================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":2:0:2:0|Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":3:0:3:0|Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W:"d:/onedrive/documents/github/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - -Unconstrained Start/End Points -****************************** - -p:CROW[0] -p:CROW[1] -p:Din[0] -p:Din[1] -p:Din[2] -p:Din[3] -p:Din[4] -p:Din[5] -p:Din[6] -p:Din[7] -p:Dout[0] -p:Dout[1] -p:Dout[2] -p:Dout[3] -p:Dout[4] -p:Dout[5] -p:Dout[6] -p:Dout[7] -p:MAin[0] -p:MAin[1] -p:MAin[2] -p:MAin[3] -p:MAin[4] -p:MAin[5] -p:MAin[6] -p:MAin[7] -p:MAin[8] -p:MAin[9] -p:RA[0] -p:RA[1] -p:RA[2] -p:RA[3] -p:RA[4] -p:RA[5] -p:RA[6] -p:RA[7] -p:RA[8] -p:RA[9] -p:RA[10] -p:RA[11] -p:RBA[0] -p:RBA[1] -p:RCKE -p:RDQMH -p:RDQML -p:RD[0] (bidir end point) -p:RD[0] (bidir start point) -p:RD[1] (bidir end point) -p:RD[1] (bidir start point) -p:RD[2] (bidir end point) -p:RD[2] (bidir start point) -p:RD[3] (bidir end point) -p:RD[3] (bidir start point) -p:RD[4] (bidir end point) -p:RD[4] (bidir start point) -p:RD[5] (bidir end point) -p:RD[5] (bidir start point) -p:RD[6] (bidir end point) -p:RD[6] (bidir start point) -p:RD[7] (bidir end point) -p:RD[7] (bidir start point) -p:UFMCLK -p:UFMSDI -p:UFMSDO -p:nFWE -p:nRCAS -p:nRCS -p:nRRAS -p:nRWE -p:nUFMCS - - -Inapplicable constraints -************************ - -(none) - - -Applicable constraints with issues -********************************** - -(none) - - -Constraints with matching wildcard expressions -********************************************** - -(none) - - -Library Report -************** - - -# End of Constraint Checker Report + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 + +# Written on Sat Aug 19 20:57:08 2023 + +##### DESIGN INFO ####################################################### + +Top View: "RAM2GS" +Constraint File(s): "Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc" + + + + +##### SUMMARY ############################################################ + +Found 0 issues in 0 out of 4 constraints + + +##### DETAILS ############################################################ + + + +Clock Relationships +******************* + +Starting Ending | rise to rise | fall to fall | rise to fall | fall to rise +----------------------------------------------------------------------------------------------------------------------------------- +RCLK RCLK | 16.000 | No paths | No paths | No paths +RCLK PHI2 | 2.000 | No paths | 1.000 | No paths +RCLK nCRAS | No paths | No paths | 1.000 | No paths +PHI2 RCLK | No paths | No paths | No paths | 1.000 +PHI2 PHI2 | No paths | 350.000 | 175.000 | 175.000 +nCRAS RCLK | No paths | No paths | No paths | 1.000 +=================================================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":2:0:2:0|Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":3:0:3:0|Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W:"y:/repos/ram2gs/cpld/ram2gs.sdc":1:0:1:0|Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + +Unconstrained Start/End Points +****************************** + +p:CROW[0] +p:CROW[1] +p:Din[0] +p:Din[1] +p:Din[2] +p:Din[3] +p:Din[4] +p:Din[5] +p:Din[6] +p:Din[7] +p:Dout[0] +p:Dout[1] +p:Dout[2] +p:Dout[3] +p:Dout[4] +p:Dout[5] +p:Dout[6] +p:Dout[7] +p:MAin[0] +p:MAin[1] +p:MAin[2] +p:MAin[3] +p:MAin[4] +p:MAin[5] +p:MAin[6] +p:MAin[7] +p:MAin[8] +p:MAin[9] +p:RA[0] +p:RA[1] +p:RA[2] +p:RA[3] +p:RA[4] +p:RA[5] +p:RA[6] +p:RA[7] +p:RA[8] +p:RA[9] +p:RA[10] +p:RA[11] +p:RBA[0] +p:RBA[1] +p:RCKE +p:RDQMH +p:RDQML +p:RD[0] (bidir end point) +p:RD[0] (bidir start point) +p:RD[1] (bidir end point) +p:RD[1] (bidir start point) +p:RD[2] (bidir end point) +p:RD[2] (bidir start point) +p:RD[3] (bidir end point) +p:RD[3] (bidir start point) +p:RD[4] (bidir end point) +p:RD[4] (bidir start point) +p:RD[5] (bidir end point) +p:RD[5] (bidir start point) +p:RD[6] (bidir end point) +p:RD[6] (bidir start point) +p:RD[7] (bidir end point) +p:RD[7] (bidir start point) +p:UFMCLK +p:UFMSDI +p:UFMSDO +p:nFWE +p:nRCAS +p:nRCS +p:nRRAS +p:nRWE +p:nUFMCS + + +Inapplicable constraints +************************ + +(none) + + +Applicable constraints with issues +********************************** + +(none) + + +Constraints with matching wildcard expressions +********************************************** + +(none) + + +Library Report +************** + + +# End of Constraint Checker Report diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_cck.rpt.db b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_cck.rpt.db index 55fa29d7f68280f61f0b2d81f71dcf95a299bdd8..10dc1a5b2075d91ba4ab0032304cae6b1b035682 100644 GIT binary patch delta 171 zcmZp0XmHrTCcrb9fj^LM5$`8nXP(I$3mbWa8+BRPdE*;PrJ0l}t@Mjh3-XI6FOYMY zJWVECR9>c0hXo{Cj4JCnIYBlMB&*AeMX%)KFS1Qwy-Zm2&H~FYVv&)YTr1zmBrgL1 D3$ilL delta 264 zcmZp0XmHrTCcvY`z;DA>!MmB~J&)GLLJ1y?MkiJd-bVJuQfVfo6f6DwywsGU%(7Jd zl>Fq<+|<01V*T{Yl8n-%$;)JBYdOj^I{SmQPQE=UUIv=Bx80O02iqZ1ONa4 delta 36 scmZ4WpLNxL)(IlacY2>~6n`YaR^a~io4)>JMoEWed&%wgl8o7D05!%A!~g&Q diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.sdf b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.sdf index 127ff2f..fa48bbd 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.sdf +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.sdf @@ -1,2922 +1,2922 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:48 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1I) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20I) - (DELAY - (ABSOLUTE - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55I) - (DELAY - (ABSOLUTE - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1_SLICE_65I) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94I) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_B") - (INSTANCE RD_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_B") - (INSTANCE Dout_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2B") - (INSTANCE PHI2I) - (DELAY - (ABSOLUTE - (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2S) (1250:1250:1250)) - (WIDTH (negedge PHI2S) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDOB") - (INSTANCE UFMSDOI) - (DELAY - (ABSOLUTE - (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDOS) (1250:1250:1250)) - (WIDTH (negedge UFMSDOS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDIB") - (INSTANCE UFMSDII) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLKB") - (INSTANCE UFMCLKI) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCSB") - (INSTANCE nUFMCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMLB") - (INSTANCE RDQMLI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMHB") - (INSTANCE RDQMHI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCASB") - (INSTANCE nRCASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRASB") - (INSTANCE nRRASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWEB") - (INSTANCE nRWEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKEB") - (INSTANCE RCKEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLKB") - (INSTANCE RCLKI) - (DELAY - (ABSOLUTE - (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLKS) (1250:1250:1250)) - (WIDTH (negedge RCLKS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCSB") - (INSTANCE nRCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_B") - (INSTANCE RD_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_B") - (INSTANCE RD_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_B") - (INSTANCE RD_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_B") - (INSTANCE RD_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_B") - (INSTANCE RD_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_B") - (INSTANCE RD_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_B") - (INSTANCE RD_1_I0) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_B") - (INSTANCE RA_11_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_B") - (INSTANCE RA_10_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_B") - (INSTANCE RA_9_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_B") - (INSTANCE RA_8_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_B") - (INSTANCE RA_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_B") - (INSTANCE RA_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_B") - (INSTANCE RA_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_B") - (INSTANCE RA_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_B") - (INSTANCE RA_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_B") - (INSTANCE RA_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_B") - (INSTANCE RA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_B") - (INSTANCE RA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_B") - (INSTANCE RBA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_B") - (INSTANCE RBA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LEDB") - (INSTANCE LEDI) - (DELAY - (ABSOLUTE - (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWEB") - (INSTANCE nFWEI) - (DELAY - (ABSOLUTE - (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWES) (1250:1250:1250)) - (WIDTH (negedge nFWES) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRASB") - (INSTANCE nCRASI) - (DELAY - (ABSOLUTE - (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRASS) (1250:1250:1250)) - (WIDTH (negedge nCRASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCASB") - (INSTANCE nCCASI) - (DELAY - (ABSOLUTE - (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCASS) (1250:1250:1250)) - (WIDTH (negedge nCCASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_B") - (INSTANCE Dout_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_B") - (INSTANCE Dout_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_B") - (INSTANCE Dout_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_B") - (INSTANCE Dout_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_B") - (INSTANCE Dout_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_B") - (INSTANCE Dout_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_B") - (INSTANCE Dout_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_B") - (INSTANCE Din_7_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_B") - (INSTANCE Din_6_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_B") - (INSTANCE Din_5_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_B") - (INSTANCE Din_4_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_B") - (INSTANCE Din_3_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_B") - (INSTANCE Din_2_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_B") - (INSTANCE Din_1_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_B") - (INSTANCE Din_0_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_B") - (INSTANCE CROW_1_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_B") - (INSTANCE CROW_0_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_B") - (INSTANCE MAin_9_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_B") - (INSTANCE MAin_8_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_B") - (INSTANCE MAin_7_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_B") - (INSTANCE MAin_6_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_B") - (INSTANCE MAin_5_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_B") - (INSTANCE MAin_4_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_B") - (INSTANCE MAin_3_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_B") - (INSTANCE MAin_2_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_B") - (INSTANCE MAin_1_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_B") - (INSTANCE MAin_0_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q1 SLICE_72I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q1 SLICE_84I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q0 SLICE_68I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/Q0 SLICE_69I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_66I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_72I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q0 SLICE_74I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q0 SLICE_74I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q0 SLICE_81I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q0 SLICE_81I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_64I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_72I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_74I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_84I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_87I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_64I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_74I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_87I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q0 SLICE_58I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q0 SLICE_84I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_56I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_84I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_56I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_68I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_69I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q0 SLICE_72I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_68I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_69I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q0 SLICE_68I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q0 SLICE_69I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_9I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_67I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_70I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F1 SLICE_90I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_9I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_67I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/F0 SLICE_9I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/F1 SLICE_9I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F1 SLICE_9I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F1 SLICE_14I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/F1 SLICE_9I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/F1 SLICE_20I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/F0 SLICE_9I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/Q0 SLICE_9I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/Q0 SLICE_20I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/F0 SLICE_14I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/F0 SLICE_14I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_14I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_67I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_70I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_77I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_78I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_90I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_1_I/PADDI SLICE_91I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/Q0 SLICE_14I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/Q0 SLICE_20I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_41I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_63I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_73I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_79I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/Q0 SLICE_94I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_43I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_61I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_62I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q1 SLICE_73I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_19I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/Q0 SLICE_83I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_41I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_60I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_63I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_73I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_79I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_80I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F1 SLICE_43I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F1 SLICE_44I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/Q0 SLICE_67I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90I/F1 SLICE_20I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_21I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_67I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_21I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_67I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_75I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_85I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_21I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_57I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_67I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_76I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_78I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/F1 SLICE_21I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/F1 SLICE_26I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/F0 SLICE_21I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/F1 SLICE_21I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/Q0 SLICE_21I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/Q0 SLICE_33I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_67I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_82I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/Q0 SLICE_33I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21I/Q0 SLICE_82I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q1 SLICE_22I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q1 SLICE_52I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q1 SLICE_22I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q1 SLICE_52I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_22I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_33I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_44I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_51I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_52I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_64I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/Q0 SLICE_73I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/F0 SLICE_22I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F1 SLICE_68I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F1 SLICE_69I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/F1 SLICE_78I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/Q0 SLICE_58I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/F1 SLICE_76I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/Q0 SLICE_26I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/Q0 SLICE_39I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/F1 SLICE_26I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F1 SLICE_29I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F1 SLICE_61I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_29I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_59I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_61I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_59I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_73I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F1 SLICE_94I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_31I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_42I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_61I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_83I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_41I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_44I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_50I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_59I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_61I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_62I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_73I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_79I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_30I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_42I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_42I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/F0 SLICE_31I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84I/F1 SLICE_32I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/F0 SLICE_32I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_32I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_58I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_64I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F1 SLICE_72I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/F0 SLICE_32I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/F1 SLICE_87I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_33I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_41I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_60I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_63I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q0 SLICE_79I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDOI/PADDI SLICE_33I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDOI/PADDI SLICE_58I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/F0 SLICE_39I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_39I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_75I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_78I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_6_I/PADDI SLICE_85I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_44I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39I/F1 SLICE_57I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q1 SLICE_41I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q1 SLICE_60I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_41I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_60I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_79I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_80I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/F1 SLICE_41I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/F1 SLICE_41I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41I/Q0 SLICE_42I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q1 SLICE_42I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 SLICE_61I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_43I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_61I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F0 SLICE_62I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F0 SLICE_43I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F0 SLICE_44I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/F1 SLICE_44I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/F0 SLICE_51I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/F0 SLICE_51I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/F0 SLICE_66I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/Q0 SLICE_51I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/F1 SLICE_51I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q0 SLICE_51I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F1 SLICE_52I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F1 SLICE_51I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F1 SLICE_52I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F1 SLICE_64I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/Q0 SLICE_52I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_55I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_90I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/Q0 SLICE_55I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_55I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_4_I/PADDI SLICE_71I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_75I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_77I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCASI/PADDI SLICE_88I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/Q1 SLICE_56I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/Q0 SLICE_56I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/Q1 SLICE_56I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/Q0 SLICE_56I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_75I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/F1 SLICE_70I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_77I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_57I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_76I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_0_I/PADDI SLICE_85I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/F1 SLICE_57I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_57I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_75I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din_1_I/PADDI SLICE_85I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/F0 SLICE_59I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/F1 SLICE_59I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/F1 SLICE_62I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/F1 SLICE_59I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_60I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_63I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_79I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F0 SLICE_60I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/F1 SLICE_60I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q1 SLICE_62I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78I/Q1 SLICE_80I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/F0 SLICE_62I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q0 SLICE_62I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q0 SLICE_63I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/Q0 SLICE_80I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/F1 SLICE_63I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/F1 SLICE_64I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/Q0 SLICE_64I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/Q1 SLICE_66I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/F0 SLICE_74I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/F1 SLICE_66I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/Q0 SLICE_90I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66I/Q1 SLICE_91I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_5_I/PADDI SLICE_71I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_5_I/PADDI SLICE_93I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/Q1 SLICE_93I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68I/F1 SLICE_68I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F0 SLICE_68I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F0 SLICE_69I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84I/F0 SLICE_68I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84I/F0 SLICE_69I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69I/F1 SLICE_69I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/Q1 SLICE_70I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70I/Q0 SLICE_70I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_7_I/PADDI SLICE_71I/D1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_7_I/PADDI SLICE_91I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_6_I/PADDI SLICE_71I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_6_I/PADDI SLICE_92I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/F1 SLICE_71I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F1 SLICE_71I/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71I/Q1 SLICE_71I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81I/F1 SLICE_72I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_3_I/PADDI SLICE_88I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_3_I/PADDI SLICE_93I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_2_I/PADDI SLICE_88I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_2_I/PADDI SLICE_92I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/Q0 SLICE_92I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72I/Q1 SLICE_93I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74I/Q0 SLICE_87I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77I/F1 SLICE_77I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/F1 SLICE_79I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/F1 SLICE_80I/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_9_I/PADDI SLICE_89I/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin_8_I/PADDI SLICE_89I/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/Q0 SLICE_89I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80I/Q1 SLICE_86I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/B0 (0:0:0)(0:0:0)) - (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (0:0:0)(0:0:0)) - (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/Q0 SLICE_92I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88I/Q1 SLICE_91I/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (0:0:0)(0:0:0)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:57:16 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1I) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20I) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55I) + (DELAY + (ABSOLUTE + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1_SLICE_65I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94I) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_B") + (INSTANCE RD_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_B") + (INSTANCE Dout_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2B") + (INSTANCE PHI2I) + (DELAY + (ABSOLUTE + (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2S) (1250:1250:1250)) + (WIDTH (negedge PHI2S) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDOB") + (INSTANCE UFMSDOI) + (DELAY + (ABSOLUTE + (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDOS) (1250:1250:1250)) + (WIDTH (negedge UFMSDOS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDIB") + (INSTANCE UFMSDII) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLKB") + (INSTANCE UFMCLKI) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCSB") + (INSTANCE nUFMCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMLB") + (INSTANCE RDQMLI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMHB") + (INSTANCE RDQMHI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCASB") + (INSTANCE nRCASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRASB") + (INSTANCE nRRASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWEB") + (INSTANCE nRWEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKEB") + (INSTANCE RCKEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLKB") + (INSTANCE RCLKI) + (DELAY + (ABSOLUTE + (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLKS) (1250:1250:1250)) + (WIDTH (negedge RCLKS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCSB") + (INSTANCE nRCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_B") + (INSTANCE RD_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_B") + (INSTANCE RD_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_B") + (INSTANCE RD_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_B") + (INSTANCE RD_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_B") + (INSTANCE RD_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_B") + (INSTANCE RD_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_B") + (INSTANCE RD_1_I0) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_B") + (INSTANCE RA_11_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_B") + (INSTANCE RA_10_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_B") + (INSTANCE RA_9_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_B") + (INSTANCE RA_8_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_B") + (INSTANCE RA_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_B") + (INSTANCE RA_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_B") + (INSTANCE RA_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_B") + (INSTANCE RA_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_B") + (INSTANCE RA_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_B") + (INSTANCE RA_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_B") + (INSTANCE RA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_B") + (INSTANCE RA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_B") + (INSTANCE RBA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_B") + (INSTANCE RBA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LEDB") + (INSTANCE LEDI) + (DELAY + (ABSOLUTE + (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWEB") + (INSTANCE nFWEI) + (DELAY + (ABSOLUTE + (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWES) (1250:1250:1250)) + (WIDTH (negedge nFWES) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRASB") + (INSTANCE nCRASI) + (DELAY + (ABSOLUTE + (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRASS) (1250:1250:1250)) + (WIDTH (negedge nCRASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCASB") + (INSTANCE nCCASI) + (DELAY + (ABSOLUTE + (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCASS) (1250:1250:1250)) + (WIDTH (negedge nCCASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_B") + (INSTANCE Dout_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_B") + (INSTANCE Dout_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_B") + (INSTANCE Dout_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_B") + (INSTANCE Dout_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_B") + (INSTANCE Dout_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_B") + (INSTANCE Dout_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_B") + (INSTANCE Dout_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_B") + (INSTANCE Din_7_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_B") + (INSTANCE Din_6_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_B") + (INSTANCE Din_5_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_B") + (INSTANCE Din_4_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_B") + (INSTANCE Din_3_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_B") + (INSTANCE Din_2_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_B") + (INSTANCE Din_1_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_B") + (INSTANCE Din_0_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_B") + (INSTANCE CROW_1_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_B") + (INSTANCE CROW_0_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_B") + (INSTANCE MAin_9_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_B") + (INSTANCE MAin_8_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_B") + (INSTANCE MAin_7_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_B") + (INSTANCE MAin_6_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_B") + (INSTANCE MAin_5_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_B") + (INSTANCE MAin_4_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_B") + (INSTANCE MAin_3_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_B") + (INSTANCE MAin_2_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_B") + (INSTANCE MAin_1_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_B") + (INSTANCE MAin_0_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q1 SLICE_72I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q1 SLICE_84I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q0 SLICE_68I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/Q0 SLICE_69I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_66I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_72I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q0 SLICE_74I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q0 SLICE_74I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q0 SLICE_81I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q0 SLICE_81I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_64I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_72I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_74I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_84I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_87I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_64I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_74I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_87I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q0 SLICE_58I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q0 SLICE_84I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_56I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_84I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_56I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_68I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_69I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q0 SLICE_72I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_68I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_69I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q0 SLICE_68I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q0 SLICE_69I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_9I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_67I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_70I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F1 SLICE_90I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_9I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_67I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/F0 SLICE_9I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/F1 SLICE_9I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F1 SLICE_9I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F1 SLICE_14I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F1 SLICE_9I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F1 SLICE_20I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/F0 SLICE_9I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/Q0 SLICE_9I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/Q0 SLICE_20I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/F0 SLICE_14I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/F0 SLICE_14I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_14I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_67I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_70I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_77I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_78I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_90I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_1_I/PADDI SLICE_91I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/Q0 SLICE_14I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/Q0 SLICE_20I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_41I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_63I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_73I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_79I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/Q0 SLICE_94I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_43I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_61I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_62I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q1 SLICE_73I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_19I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/Q0 SLICE_83I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_41I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_60I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_63I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_73I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_79I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_80I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F1 SLICE_43I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F1 SLICE_44I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/Q0 SLICE_67I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90I/F1 SLICE_20I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_21I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_67I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_21I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_67I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_75I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_85I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_21I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_57I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_67I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_76I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_78I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/F1 SLICE_21I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/F1 SLICE_26I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/F0 SLICE_21I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/F1 SLICE_21I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/Q0 SLICE_21I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/Q0 SLICE_33I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_67I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_82I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/Q0 SLICE_33I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21I/Q0 SLICE_82I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q1 SLICE_22I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q1 SLICE_52I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q1 SLICE_22I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q1 SLICE_52I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_22I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_33I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_44I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_51I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_52I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_64I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/Q0 SLICE_73I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/F0 SLICE_22I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F1 SLICE_68I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F1 SLICE_69I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/F1 SLICE_78I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/Q0 SLICE_58I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/F1 SLICE_76I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/Q0 SLICE_26I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/Q0 SLICE_39I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/F1 SLICE_26I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F1 SLICE_29I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F1 SLICE_61I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_29I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_59I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_61I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_59I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_73I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F1 SLICE_94I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_31I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_42I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_61I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_83I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_41I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_44I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_50I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_59I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_61I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_62I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_73I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_79I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_30I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_42I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_42I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/F0 SLICE_31I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F1 SLICE_32I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/F0 SLICE_32I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_32I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_58I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_64I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F1 SLICE_72I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/F0 SLICE_32I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/F1 SLICE_87I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_33I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_41I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_60I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_63I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q0 SLICE_79I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDOI/PADDI SLICE_33I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDOI/PADDI SLICE_58I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/F0 SLICE_39I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_39I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_75I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_78I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_6_I/PADDI SLICE_85I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_44I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39I/F1 SLICE_57I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q1 SLICE_41I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q1 SLICE_60I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_41I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_60I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_79I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_80I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/F1 SLICE_41I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/F1 SLICE_41I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41I/Q0 SLICE_42I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q1 SLICE_42I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 SLICE_61I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_43I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_61I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F0 SLICE_62I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F0 SLICE_43I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F0 SLICE_44I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F1 SLICE_44I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/F0 SLICE_51I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/F0 SLICE_51I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/F0 SLICE_66I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/Q0 SLICE_51I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/F1 SLICE_51I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q0 SLICE_51I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F1 SLICE_52I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F1 SLICE_51I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F1 SLICE_52I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F1 SLICE_64I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q0 SLICE_52I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_55I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_90I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/Q0 SLICE_55I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_55I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_4_I/PADDI SLICE_71I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_75I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_77I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCASI/PADDI SLICE_88I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/Q1 SLICE_56I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/Q0 SLICE_56I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/Q1 SLICE_56I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/Q0 SLICE_56I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_75I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/F1 SLICE_70I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_77I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_57I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_76I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_0_I/PADDI SLICE_85I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/F1 SLICE_57I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_57I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_75I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din_1_I/PADDI SLICE_85I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/F0 SLICE_59I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F1 SLICE_59I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F1 SLICE_62I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/F1 SLICE_59I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_60I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_63I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_79I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F0 SLICE_60I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/F1 SLICE_60I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q1 SLICE_62I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78I/Q1 SLICE_80I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/F0 SLICE_62I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q0 SLICE_62I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q0 SLICE_63I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/Q0 SLICE_80I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/F1 SLICE_63I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/F1 SLICE_64I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/Q0 SLICE_64I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/Q1 SLICE_66I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/F0 SLICE_74I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/F1 SLICE_66I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/Q0 SLICE_90I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66I/Q1 SLICE_91I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_5_I/PADDI SLICE_71I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_5_I/PADDI SLICE_93I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/Q1 SLICE_93I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68I/F1 SLICE_68I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F0 SLICE_68I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F0 SLICE_69I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F0 SLICE_68I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84I/F0 SLICE_69I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F1 SLICE_69I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/Q1 SLICE_70I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70I/Q0 SLICE_70I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_7_I/PADDI SLICE_71I/D1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_7_I/PADDI SLICE_91I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_6_I/PADDI SLICE_71I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_6_I/PADDI SLICE_92I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/F1 SLICE_71I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F1 SLICE_71I/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71I/Q1 SLICE_71I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81I/F1 SLICE_72I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_3_I/PADDI SLICE_88I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_3_I/PADDI SLICE_93I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_2_I/PADDI SLICE_88I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_2_I/PADDI SLICE_92I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/Q0 SLICE_92I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72I/Q1 SLICE_93I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74I/Q0 SLICE_87I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77I/F1 SLICE_77I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/F1 SLICE_79I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/F1 SLICE_80I/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_9_I/PADDI SLICE_89I/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin_8_I/PADDI SLICE_89I/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/Q0 SLICE_89I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80I/Q1 SLICE_86I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/B0 (0:0:0)(0:0:0)) + (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (0:0:0)(0:0:0)) + (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/Q0 SLICE_92I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88I/Q1 SLICE_91I/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (0:0:0)(0:0:0)) + ) + ) + ) +) diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.vho b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.vho index c1b6306..10da344 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.vho +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvho.vho @@ -1,24885 +1,24885 @@ - --- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - --- ldbanno -n VHDL -o RAM2GS_LCMXO640C_impl1_mapvho.vho -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd --- Netlist created on Wed Aug 16 04:50:46 2023 --- Netlist written on Wed Aug 16 04:50:48 2023 --- Design is for device LCMXO640C --- Design is for package TQFP100 --- Design is for performance grade 3 - --- entity vmuxregsre - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; - - end vmuxregsre; - - architecture Structure of vmuxregsre is - component FL1P3DX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3DX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity vcc - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vcc is - port (PWR1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; - - end vcc; - - architecture Structure of vcc is - component VHI - port (Z: out Std_logic); - end component; - begin - INST1: VHI - port map (Z=>PWR1); - end Structure; - --- entity gnd - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity gnd is - port (PWR0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; - - end gnd; - - architecture Structure of gnd is - component VLO - port (Z: out Std_logic); - end component; - begin - INST1: VLO - port map (Z=>PWR0); - end Structure; - --- entity ccu2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu2B is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; - - end ccu2B; - - architecture Structure of ccu2B is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_0 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_0 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_0"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; - - end SLICE_0; - - architecture Structure of SLICE_0 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_0_FS_cry_0_0_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_0_FS_cry_0_0_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_1: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_0: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_0: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, - S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity ccu20001 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu20001 is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; - - end ccu20001; - - architecture Structure of ccu20001 is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_1 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_1 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_1"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; - - end SLICE_1; - - architecture Structure of SLICE_1 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_1_FS_cry_0_16_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_1_FS_cry_0_16_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu20001 - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_17: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_16: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_16: ccu20001 - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, - S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_2 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_2"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; - - end SLICE_2; - - architecture Structure of SLICE_2 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_2_FS_cry_0_14_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_2_FS_cry_0_14_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_15: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_14: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_14: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, - S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_3 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_3 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_3"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; - - end SLICE_3; - - architecture Structure of SLICE_3 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_3_FS_cry_0_12_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_3_FS_cry_0_12_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_13: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_12: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_12: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, - S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_4 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_4"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; - - end SLICE_4; - - architecture Structure of SLICE_4 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_4_FS_cry_0_10_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_4_FS_cry_0_10_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_11: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_10: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_10: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, - S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_5 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_5 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_5"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; - - end SLICE_5; - - architecture Structure of SLICE_5 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_5_FS_cry_0_8_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_5_FS_cry_0_8_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_9: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_8: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_8: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, - S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_6 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_6 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_6"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; - - end SLICE_6; - - architecture Structure of SLICE_6 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_6_FS_cry_0_6_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_6_FS_cry_0_6_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_7: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_6: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_6: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, - S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_7 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_7 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_7"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; - - end SLICE_7; - - architecture Structure of SLICE_7 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_7_FS_cry_0_4_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_7_FS_cry_0_4_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_5: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_4: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_4: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, - S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_8 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_8 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_8"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; - - end SLICE_8; - - architecture Structure of SLICE_8 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_8_FS_cry_0_2_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_8_FS_cry_0_2_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_3: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_2: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_2: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, - S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut4 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; - - end lut4; - - architecture Structure of lut4 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40002 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40002 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; - - end lut40002; - - architecture Structure of lut40002 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00F2") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity inverter - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity inverter is - port (I: in Std_logic; Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; - - end inverter; - - architecture Structure of inverter is - component INV - port (A: in Std_logic; Z: out Std_logic); - end component; - begin - INST1: INV - port map (A=>I, Z=>Z); - end Structure; - --- entity SLICE_9 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_9 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_9"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; - - end SLICE_9; - - architecture Structure of SLICE_9 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40002 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - ADSubmitted_r: lut40002 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - ADSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40003 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40003 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; - - end lut40003; - - architecture Structure of lut40003 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8080") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40004 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40004 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; - - end lut40004; - - architecture Structure of lut40004 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_14 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_14 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_14"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; - - end SLICE_14; - - architecture Structure of SLICE_14 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40003 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40004 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2: lut40003 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - C1Submitted_RNO: lut40004 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - C1Submitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40005 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40005 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; - - end lut40005; - - architecture Structure of lut40005 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40006 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40006 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; - - end lut40006; - - architecture Structure of lut40006 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDDDD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0007 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0007 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; - - end vmuxregsre0007; - - architecture Structure of vmuxregsre0007 is - component FL1P3IY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3IY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_19 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_19 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_19"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; - - end SLICE_19; - - architecture Structure of SLICE_19 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40006 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3_2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - S_RNO_0: lut40006 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40008 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40008 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; - - end lut40008; - - architecture Structure of lut40008 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40009 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40009 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; - - end lut40009; - - architecture Structure of lut40009 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAC8C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity selmux2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity selmux2 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; - - end selmux2; - - architecture Structure of selmux2 is - component MUX21 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - INST1: MUX21 - port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); - end Structure; - --- entity SLICE_20 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_20 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_20"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; - - end SLICE_20; - - architecture Structure of SLICE_20 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal SLICE_20_SLICE_20_K1_H1: Std_logic; - signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40008 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40009 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - SLICE_20_K1: lut40008 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, - Z=>SLICE_20_SLICE_20_K1_H1); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable_s_GATE: lut40009 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>SLICE_20_CmdEnable_s_GATE_H0); - CmdEnable: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - SLICE_20_K0K1MUX: selmux2 - port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, - SD=>M0_ipd, Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - OFX0_zd := OFX0_out; - Q0_zd := Q0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40010 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40010 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; - - end lut40010; - - architecture Structure of lut40010 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0404") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40011 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40011 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; - - end lut40011; - - architecture Structure of lut40011 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0203") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_21 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_21 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_21"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; - - end SLICE_21; - - architecture Structure of SLICE_21 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40010 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40011 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_a2_2: lut40010 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_RNO: lut40011 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdLEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40012 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40012 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; - - end lut40012; - - architecture Structure of lut40012 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_22 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_22 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_22"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; - - end SLICE_22; - - architecture Structure of SLICE_22 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_RNO: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40013 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40013 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; - - end lut40013; - - architecture Structure of lut40013 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x33AB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40014 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40014 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; - - end lut40014; - - architecture Structure of lut40014 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5151") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_26 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_26 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_26"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; - - end SLICE_26; - - architecture Structure of SLICE_26 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40014 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_0: lut40013 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Cmdn8MEGEN_RNO: lut40014 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Cmdn8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40015 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40015 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; - - end lut40015; - - architecture Structure of lut40015 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF32") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40016 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40016 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; - - end lut40016; - - architecture Structure of lut40016 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA9A9") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_29 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_29 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_29"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; - - end SLICE_29; - - architecture Structure of SLICE_29 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40015 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40016 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i: lut40015 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_0: lut40016 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_0: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40017 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40017 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; - - end lut40017; - - architecture Structure of lut40017 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7878") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40018 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40018 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; - - end lut40018; - - architecture Structure of lut40018 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x6666") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_30 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_30 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_30"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI1_CLK : VitalDelayType := 0 ns; - tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; - - end SLICE_30; - - architecture Structure of SLICE_30 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI1_ipd : std_logic := 'X'; - signal DI1_dly : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40017 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40018 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_RNO_2: lut40017 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_n1_0_x2: lut40018 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - IS_2: vmuxregsre - port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - IS_1: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI1_ipd, DI1, tipd_DI1); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI1_CLK : x01 := '0'; - VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI1_dly, - TestSignalName => "DI1", - TestDelay => tisd_DI1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI1_CLK_noedge_posedge, - SetupLow => tsetup_DI1_CLK_noedge_posedge, - HoldHigh => thold_DI1_CLK_noedge_posedge, - HoldLow => thold_DI1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI1_CLK_TimingDatash, - Violation => tviol_DI1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40019 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40019 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; - - end lut40019; - - architecture Structure of lut40019 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFEF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40020 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40020 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; - - end lut40020; - - architecture Structure of lut40020 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x6AAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_31 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_31 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_31"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; - - end SLICE_31; - - architecture Structure of SLICE_31 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40019 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40020 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RA10_RNO: lut40019 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_3: lut40020 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - IS_3: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40021 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40021 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; - - end lut40021; - - architecture Structure of lut40021 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4555") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_32 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_32 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_32"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; - - end SLICE_32; - - architecture Structure of SLICE_32 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40021 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a0: lut40021 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady_RNO: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40022 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40022 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; - - end lut40022; - - architecture Structure of lut40022 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFBFB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40023 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40023 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; - - end lut40023; - - architecture Structure of lut40023 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8B8B") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_33 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_33 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_33"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; - - end SLICE_33; - - architecture Structure of SLICE_33 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40022 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40023 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - LED_pad_RNO: lut40022 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - LEDEN_5_i_m2: lut40023 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - LEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40024 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40024 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; - - end lut40024; - - architecture Structure of lut40024 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2222") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40025 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40025 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; - - end lut40025; - - architecture Structure of lut40025 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xC6C6") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_39 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_39 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_39"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; - - end SLICE_39; - - architecture Structure of SLICE_39 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40025 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_0: lut40024 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RA11_2: lut40025 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RA11: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40026 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40026 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; - - end lut40026; - - architecture Structure of lut40026 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x70CF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40027 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40027 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; - - end lut40027; - - architecture Structure of lut40027 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCCC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_41 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_41 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_41"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; - - end SLICE_41; - - architecture Structure of SLICE_41 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40026 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40027 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_1_0: lut40026 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKEEN_8_u: lut40027 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40028 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40028 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; - - end lut40028; - - architecture Structure of lut40028 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0200") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40029 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40029 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; - - end lut40029; - - architecture Structure of lut40029 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFE30") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_42 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_42 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_42"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; - - end SLICE_42; - - architecture Structure of SLICE_42 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40029 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_5: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKE_2_0: lut40029 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKE: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40030 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40030 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; - - end lut40030; - - architecture Structure of lut40030 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5072") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40031 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40031 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; - - end lut40031; - - architecture Structure of lut40031 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAEAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_43 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_43 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_43"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; - - end SLICE_43; - - architecture Structure of SLICE_43 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40030 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40031 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_RNO: lut40030 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_RNO: lut40031 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_44 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_44 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_44"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; - - end SLICE_44; - - architecture Structure of SLICE_44 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_fast_RNO: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RASr: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Ready_fast: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40032 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40032 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; - - end lut40032; - - architecture Structure of lut40032 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0202") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_50 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_50 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_50"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; - - end SLICE_50; - - architecture Structure of SLICE_50 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40032 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_RNO: lut40032 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0_i_o2_1: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - S_1: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40033 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40033 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; - - end lut40033; - - architecture Structure of lut40033 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF2F7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40034 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40034 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; - - end lut40034; - - architecture Structure of lut40034 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1032") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_51 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_51 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_51"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; - - end SLICE_51; - - architecture Structure of SLICE_51 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40033 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40034 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMCLK_RNO_0: lut40033 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMCLK_RNO: lut40034 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40035 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40035 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; - - end lut40035; - - architecture Structure of lut40035 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3B33") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40036 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40036 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; - - end lut40036; - - architecture Structure of lut40036 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3210") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_52 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_52 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_52"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; - - end SLICE_52; - - architecture Structure of SLICE_52 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40035 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40036 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - PHI2r3_RNITCN41: lut40035 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_RNO: lut40036 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMSDI: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40037 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40037 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; - - end lut40037; - - architecture Structure of lut40037 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xACAC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_55 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_55 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_55"; - - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; - - end SLICE_55; - - architecture Structure of SLICE_55 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_4: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, - F0_out, Q0_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40038 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40038 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; - - end lut40038; - - architecture Structure of lut40038 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40039 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40039 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; - - end lut40039; - - architecture Structure of lut40039 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2C2C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_56 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_56 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_56"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; - - end SLICE_56; - - architecture Structure of SLICE_56 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40038 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40039 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_11: lut40038 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_ens2_i_o2: lut40039 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40040 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40040 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; - - end lut40040; - - architecture Structure of lut40040 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF7F0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_57 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_57 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_57"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; - - end SLICE_57; - - architecture Structure of SLICE_57 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40040 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG_3_u_0_a3_3: lut40040 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - XOR8MEG: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40041 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40041 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; - - end lut40041; - - architecture Structure of lut40041 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0101") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_58 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_58 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_58"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; - - end SLICE_58; - - architecture Structure of SLICE_58 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40023 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_en_ss0_0_a2_0: lut40041 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - n8MEGEN_5_i_m2: lut40023 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - n8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40042 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40042 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; - - end lut40042; - - architecture Structure of lut40042 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0BFB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40043 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40043 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; - - end lut40043; - - architecture Structure of lut40043 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2232") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0044 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0044 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0044 : ENTITY IS TRUE; - - end vmuxregsre0044; - - architecture Structure of vmuxregsre0044 is - component FL1P3BX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3BX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_59 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_59 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_59"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; - - end SLICE_59; - - architecture Structure of SLICE_59 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40042 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40043 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_0: lut40042 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCAS_RNO: lut40043 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCAS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40045 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40045 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; - - end lut40045; - - architecture Structure of lut40045 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xE6EE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40046 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40046 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; - - end lut40046; - - architecture Structure of lut40046 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3233") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_60 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_60 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_60"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; - - end SLICE_60; - - architecture Structure of SLICE_60 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40045 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40046 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCS_RNO_0: lut40045 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCS_RNO: lut40046 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40047 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40047 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; - - end lut40047; - - architecture Structure of lut40047 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5400") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40048 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40048 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; - - end lut40048; - - architecture Structure of lut40048 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5051") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_61 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_61 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_61"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; - - end SLICE_61; - - architecture Structure of SLICE_61 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40047 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40048 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i_0: lut40047 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRRAS_RNO: lut40048 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRRAS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40049 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40049 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; - - end lut40049; - - architecture Structure of lut40049 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40050 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40050 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; - - end lut40050; - - architecture Structure of lut40050 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF4F7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_62 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_62 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_62"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; - - end SLICE_62; - - architecture Structure of SLICE_62 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40050 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_0_sqmuxa_1_0_a3: lut40049 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRWE_RNO: lut40050 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRWE: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40051 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40051 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; - - end lut40051; - - architecture Structure of lut40051 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40052 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40052 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; - - end lut40052; - - architecture Structure of lut40052 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCEC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_63 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_63 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_63"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; - - end SLICE_63; - - architecture Structure of SLICE_63 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40051 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40052 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_0_0_a3_0: lut40051 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRowColSel_0_0: lut40052 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRowColSel: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40053 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40053 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; - - end lut40053; - - architecture Structure of lut40053 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40054 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40054 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; - - end lut40054; - - architecture Structure of lut40054 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_64 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_64 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_64"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; - - end SLICE_64; - - architecture Structure of SLICE_64 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0044 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40054 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS15_0_a2: lut40053 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nUFMCS_s_0_N_5_i: lut40054 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nUFMCS: vmuxregsre0044 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40055 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40055 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; - - end lut40055; - - architecture Structure of lut40055 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0010") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40056 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40056 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; - - end lut40056; - - architecture Structure of lut40056 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity nRWE_RNO_1_SLICE_65 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWE_RNO_1_SLICE_65 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWE_RNO_1_SLICE_65"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; - - end nRWE_RNO_1_SLICE_65; - - architecture Structure of nRWE_RNO_1_SLICE_65 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - component lut40055 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40056 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_1_SLICE_65_K1: lut40055 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); - nRWE_RNO_1_GATE: lut40056 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); - nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 - port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, - D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, - Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_ipd, OFX0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - OFX0_zd := OFX0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 7 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 8 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40057 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40057 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; - - end lut40057; - - architecture Structure of lut40057 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0B0B") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_66 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_66 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_66"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; - - end SLICE_66; - - architecture Structure of SLICE_66 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40057 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS_s_0_N_5_i_N_2L1: lut40057 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_a2_2_2: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40058 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40058 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; - - end lut40058; - - architecture Structure of lut40058 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0059 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0059 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0059 : ENTITY IS TRUE; - - end vmuxregsre0059; - - architecture Structure of vmuxregsre0059 is - component FL1P3JY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3JY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_67 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_67 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_67"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; - - end SLICE_67; - - architecture Structure of SLICE_67 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40058 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0059 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - CmdUFMCLK_1_sqmuxa_0_a2: lut40058 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG18_0_a2: lut40005 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_5: vmuxregsre0059 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_4: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, - Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40060 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40060 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; - - end lut40060; - - architecture Structure of lut40060 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEAAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_68 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_68 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_68"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; - - end SLICE_68; - - architecture Structure of SLICE_68 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40060 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2_0_1: lut40053 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_14_i_0: lut40060 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40061 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40061 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; - - end lut40061; - - architecture Structure of lut40061 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0100") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_69 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_69 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_69"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; - - end SLICE_69; - - architecture Structure of SLICE_69 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40060 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40061 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_13_i_a2_1: lut40061 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_0: lut40060 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40062 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40062 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; - - end lut40062; - - architecture Structure of lut40062 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8888") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_70 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_70 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_70"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; - - end SLICE_70; - - architecture Structure of SLICE_70 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2: lut40062 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_71 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_71 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_71"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; - - end SLICE_71; - - architecture Structure of SLICE_71 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_4: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2_0_10: lut4 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40063 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40063 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; - - end lut40063; - - architecture Structure of lut40063 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFEFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40064 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40064 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; - - end lut40064; - - architecture Structure of lut40064 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAAC0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_72 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_72 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_72"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; - - end SLICE_72; - - architecture Structure of SLICE_72 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40063 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40064 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0: lut40063 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_m2: lut40064 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_3: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_2: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40065 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40065 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; - - end lut40065; - - architecture Structure of lut40065 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFF7") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_73 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_73 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_73"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; - - end SLICE_73; - - architecture Structure of SLICE_73 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40065 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0: lut40065 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_0_sqmuxa_0_o2: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdUFMCS: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CmdUFMCLK: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_74 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_74 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_74"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; - - end SLICE_74; - - architecture Structure of SLICE_74 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - InitReady3_0_a2_3: lut40062 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady3_0_a2: lut4 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdUFMSDI: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40066 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40066 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; - - end lut40066; - - architecture Structure of lut40066 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFDFD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_75 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_75 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_75"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; - - end SLICE_75; - - architecture Structure of SLICE_75 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40066 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_o2_0: lut40066 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_4_u_i_a2_0: lut40041 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - CASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CASr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40067 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40067 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; - - end lut40067; - - architecture Structure of lut40067 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0002") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_76 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_76 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_76"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; - - end SLICE_76; - - architecture Structure of SLICE_76 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40067 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_4: lut40024 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_4_0: lut40067 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40068 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40068 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; - - end lut40068; - - architecture Structure of lut40068 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4444") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_77 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_77 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_77"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; - - end SLICE_77; - - architecture Structure of SLICE_77 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40068 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_1: lut40068 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_5: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40069 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40069 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; - - end lut40069; - - architecture Structure of lut40069 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7777") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_78 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_78 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_78"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; - - end SLICE_78; - - architecture Structure of SLICE_78 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40058 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40069 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_o2: lut40069 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable17_0_a2_4: lut40058 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CBR_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CBR: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40070 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40070 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; - - end lut40070; - - architecture Structure of lut40070 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_79 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_79 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_79"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; - - end SLICE_79; - - architecture Structure of SLICE_79 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40038 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40070 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_2: lut40070 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRWE_RNO_0: lut40038 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40071 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40071 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; - - end lut40071; - - architecture Structure of lut40071 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4101") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_80 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_80 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_80"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; - - end SLICE_80; - - architecture Structure of SLICE_80 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0059 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40071 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_RNO_1: lut40024 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRCAS_RNO_0: lut40071 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_9: vmuxregsre0059 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_8: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40072 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40072 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; - - end lut40072; - - architecture Structure of lut40072 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_81 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_81 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_81"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; - - end SLICE_81; - - architecture Structure of SLICE_81 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40072 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0_3: lut40072 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady3_0_a2_5: lut4 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - FWEr_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - FWEr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40073 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40073 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; - - end lut40073; - - architecture Structure of lut40073 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3222") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40074 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40074 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; - - end lut40074; - - architecture Structure of lut40074 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0222") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_82 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_82 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_82"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; - - end SLICE_82; - - architecture Structure of SLICE_82 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40073 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40074 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdLEDEN_4_u_i_a2: lut40073 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_1_sqmuxa_0_a2: lut40074 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CASr3: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40075 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40075 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; - - end lut40075; - - architecture Structure of lut40075 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x7F7F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_83 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_83 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_83"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; - - end SLICE_83; - - architecture Structure of SLICE_83 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40063 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40075 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_o2: lut40063 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready_0_sqmuxa_0_o2: lut40075 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - RBA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RBA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_84 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_84 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_84"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; - - end SLICE_84; - - architecture Structure of SLICE_84 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40061 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a2_4_2: lut40028 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_a2_6: lut40061 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40076 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40076 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; - - end lut40076; - - architecture Structure of lut40076 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0040") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_85 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_85 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_85"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; - - end SLICE_85; - - architecture Structure of SLICE_85 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40076 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2_3: lut40076 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_Din_4: lut40053 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_86 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_86 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_86"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; - - end SLICE_86; - - architecture Structure of SLICE_86 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40069 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQML: lut40069 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_9: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40077 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40077 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; - - end lut40077; - - architecture Structure of lut40077 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3232") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_87 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_87 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_87"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; - - end SLICE_87; - - architecture Structure of SLICE_87 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40077 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_RNO_0: lut40077 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un1_FS_13_i_a2_8: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40078 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40078 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; - - end lut40078; - - architecture Structure of lut40078 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0808") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_88 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_88 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_88"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; - - end SLICE_88; - - architecture Structure of SLICE_88 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40078 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_3: lut40078 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nCCAS_pad_RNI01SJ: lut40012 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - RowA_7: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_6: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, M1_dly, - M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40079 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40079 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; - - end lut40079; - - architecture Structure of lut40079 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBBBB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_89 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_89 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_89"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; - - end SLICE_89; - - architecture Structure of SLICE_89 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40079 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQMH: lut40079 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_8: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40080 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40080 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; - - end lut40080; - - architecture Structure of lut40080 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA8A8") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_90 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_90 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_90"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; - - end SLICE_90; - - architecture Structure of SLICE_90 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40080 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_CMDWR: lut40080 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_0: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_91 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_91 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_91"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; - - end SLICE_91; - - architecture Structure of SLICE_91 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_7: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_1: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_92 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_92 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_92"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; - - end SLICE_92; - - architecture Structure of SLICE_92 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_6: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_2: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_93 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_93 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_93"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; - - end SLICE_93; - - architecture Structure of SLICE_93 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_5: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_3: lut40037 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40081 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40081 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; - - end lut40081; - - architecture Structure of lut40081 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1111") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_94 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_94 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_94"; - - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; - - end SLICE_94; - - architecture Structure of SLICE_94 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M0_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0059 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40081 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0_RNIS63D: lut40081 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN_8_u_0_a2_1_s: lut40062 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - RA10: vmuxregsre0059 - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, M0_dly, LSR_dly, - CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf is - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; - - end mjiobuf; - - architecture Structure of mjiobuf is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - component OBW - port (I: in Std_logic; T: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PADI, O=>Z); - INST2: OBW - port map (I=>I, T=>T, O=>PAD); - end Structure; - --- entity RD_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_0_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD0 : VitalDelayType := 0 ns; - tpw_RD0_posedge : VitalDelayType := 0 ns; - tpw_RD0_negedge : VitalDelayType := 0 ns; - tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; - - end RD_0_B; - - architecture Structure of RD_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD0_ipd : std_logic := 'X'; - signal RD0_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_0: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, - PADI=>RD0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD0_ipd, RD0, tipd_RD0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD0_zd : std_logic := 'X'; - VARIABLE RD0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD0_RD0 : x01 := '0'; - VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD0_ipd, - TestSignalName => "RD0", - Period => tperiod_RD0, - PulseWidthHigh => tpw_RD0_posedge, - PulseWidthLow => tpw_RD0_negedge, - PeriodData => periodcheckinfo_RD0, - Violation => tviol_RD0_RD0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD0_zd := RD0_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD0_ipd'last_event, - PathDelay => tpd_RD0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD0, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD0, - PathCondition => TRUE)), - GlitchData => RD0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0082 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0082 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0082 : ENTITY IS TRUE; - - end mjiobuf0082; - - architecture Structure of mjiobuf0082 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity Dout_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; - - end Dout_0_B; - - architecture Structure of Dout_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout0_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_0: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) - VARIABLE Dout0_zd : std_logic := 'X'; - VARIABLE Dout0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout0_zd := Dout0_out; - - VitalPathDelay01Z ( - OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout0, - PathCondition => TRUE)), - GlitchData => Dout0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0083 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0083 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0083 : ENTITY IS TRUE; - - end mjiobuf0083; - - architecture Structure of mjiobuf0083 is - component IBPD - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPD - port map (I=>PAD, O=>Z); - end Structure; - --- entity PHI2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity PHI2B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "PHI2B"; - - tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); - tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_PHI2S : VitalDelayType := 0 ns; - tpw_PHI2S_posedge : VitalDelayType := 0 ns; - tpw_PHI2S_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; PHI2S: in Std_logic); - - ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; - - end PHI2B; - - architecture Structure of PHI2B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PHI2S_ipd : std_logic := 'X'; - - component mjiobuf0083 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - PHI2_pad: mjiobuf0083 - port map (Z=>PADDI_out, PAD=>PHI2S_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; - VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => PHI2S_ipd, - TestSignalName => "PHI2S", - Period => tperiod_PHI2S, - PulseWidthHigh => tpw_PHI2S_posedge, - PulseWidthLow => tpw_PHI2S_negedge, - PeriodData => periodcheckinfo_PHI2S, - Violation => tviol_PHI2S_PHI2S, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, - PathDelay => tpd_PHI2S_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0084 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0084 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0084 : ENTITY IS TRUE; - - end mjiobuf0084; - - architecture Structure of mjiobuf0084 is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PAD, O=>Z); - end Structure; - --- entity UFMSDOB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDOB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDOB"; - - tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); - tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_UFMSDOS : VitalDelayType := 0 ns; - tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; - tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; - - end UFMSDOB; - - architecture Structure of UFMSDOB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal UFMSDOS_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - UFMSDO_pad: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; - VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => UFMSDOS_ipd, - TestSignalName => "UFMSDOS", - Period => tperiod_UFMSDOS, - PulseWidthHigh => tpw_UFMSDOS_posedge, - PulseWidthLow => tpw_UFMSDOS_negedge, - PeriodData => periodcheckinfo_UFMSDOS, - Violation => tviol_UFMSDOS_UFMSDOS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, - PathDelay => tpd_UFMSDOS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0085 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0085 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0085 : ENTITY IS TRUE; - - end mjiobuf0085; - - architecture Structure of mjiobuf0085 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity UFMSDIB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDIB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDIB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; - - end UFMSDIB; - - architecture Structure of UFMSDIB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMSDIS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMSDI_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) - VARIABLE UFMSDIS_zd : std_logic := 'X'; - VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMSDIS_zd := UFMSDIS_out; - - VitalPathDelay01Z ( - OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMSDIS, - PathCondition => TRUE)), - GlitchData => UFMSDIS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity UFMCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMCLKB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; - - end UFMCLKB; - - architecture Structure of UFMCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMCLKS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMCLK_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) - VARIABLE UFMCLKS_zd : std_logic := 'X'; - VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMCLKS_zd := UFMCLKS_out; - - VitalPathDelay01Z ( - OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMCLKS, - PathCondition => TRUE)), - GlitchData => UFMCLKS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nUFMCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nUFMCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nUFMCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; - - end nUFMCSB; - - architecture Structure of nUFMCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nUFMCSS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nUFMCS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) - VARIABLE nUFMCSS_zd : std_logic := 'X'; - VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nUFMCSS_zd := nUFMCSS_out; - - VitalPathDelay01Z ( - OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nUFMCSS, - PathCondition => TRUE)), - GlitchData => nUFMCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMLB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMLB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMLB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; - - end RDQMLB; - - architecture Structure of RDQMLB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMLS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQML_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RDQMLS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) - VARIABLE RDQMLS_zd : std_logic := 'X'; - VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMLS_zd := RDQMLS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMLS, - PathCondition => TRUE)), - GlitchData => RDQMLS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMHB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMHB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMHB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; - - end RDQMHB; - - architecture Structure of RDQMHB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMHS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQMH_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RDQMHS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) - VARIABLE RDQMHS_zd : std_logic := 'X'; - VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMHS_zd := RDQMHS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMHS, - PathCondition => TRUE)), - GlitchData => RDQMHS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; - - end nRCASB; - - architecture Structure of nRCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCASS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCAS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRCASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) - VARIABLE nRCASS_zd : std_logic := 'X'; - VARIABLE nRCASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCASS_zd := nRCASS_out; - - VitalPathDelay01Z ( - OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCASS, - PathCondition => TRUE)), - GlitchData => nRCASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRRASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRRASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; - - end nRRASB; - - architecture Structure of nRRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRRASS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRRAS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRRASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) - VARIABLE nRRASS_zd : std_logic := 'X'; - VARIABLE nRRASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRRASS_zd := nRRASS_out; - - VitalPathDelay01Z ( - OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRRASS, - PathCondition => TRUE)), - GlitchData => nRRASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRWES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; - - end nRWEB; - - architecture Structure of nRWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRWES_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRWE_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRWES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) - VARIABLE nRWES_zd : std_logic := 'X'; - VARIABLE nRWES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRWES_zd := nRWES_out; - - VitalPathDelay01Z ( - OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRWES, - PathCondition => TRUE)), - GlitchData => nRWES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCKEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCKEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCKEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RCKES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; - - end RCKEB; - - architecture Structure of RCKEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RCKES_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RCKE_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RCKES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) - VARIABLE RCKES_zd : std_logic := 'X'; - VARIABLE RCKES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RCKES_zd := RCKES_out; - - VitalPathDelay01Z ( - OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RCKES, - PathCondition => TRUE)), - GlitchData => RCKES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCLKB"; - - tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); - tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RCLKS : VitalDelayType := 0 ns; - tpw_RCLKS_posedge : VitalDelayType := 0 ns; - tpw_RCLKS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; RCLKS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; - - end RCLKB; - - architecture Structure of RCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal RCLKS_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - RCLK_pad: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>RCLKS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; - VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RCLKS_ipd, - TestSignalName => "RCLKS", - Period => tperiod_RCLKS, - PulseWidthHigh => tpw_RCLKS_posedge, - PulseWidthLow => tpw_RCLKS_negedge, - PeriodData => periodcheckinfo_RCLKS, - Violation => tviol_RCLKS_RCLKS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, - PathDelay => tpd_RCLKS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; - - end nRCSB; - - architecture Structure of nRCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCSS_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCS_pad: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>nRCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) - VARIABLE nRCSS_zd : std_logic := 'X'; - VARIABLE nRCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCSS_zd := nRCSS_out; - - VitalPathDelay01Z ( - OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCSS, - PathCondition => TRUE)), - GlitchData => nRCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_7_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD7 : VitalDelayType := 0 ns; - tpw_RD7_posedge : VitalDelayType := 0 ns; - tpw_RD7_negedge : VitalDelayType := 0 ns; - tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; - - end RD_7_B; - - architecture Structure of RD_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD7_ipd : std_logic := 'X'; - signal RD7_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_7: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, - PADI=>RD7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD7_ipd, RD7, tipd_RD7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD7_zd : std_logic := 'X'; - VARIABLE RD7_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD7_RD7 : x01 := '0'; - VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD7_ipd, - TestSignalName => "RD7", - Period => tperiod_RD7, - PulseWidthHigh => tpw_RD7_posedge, - PulseWidthLow => tpw_RD7_negedge, - PeriodData => periodcheckinfo_RD7, - Violation => tviol_RD7_RD7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD7_zd := RD7_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD7_ipd'last_event, - PathDelay => tpd_RD7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD7, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD7, - PathCondition => TRUE)), - GlitchData => RD7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_6_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD6 : VitalDelayType := 0 ns; - tpw_RD6_posedge : VitalDelayType := 0 ns; - tpw_RD6_negedge : VitalDelayType := 0 ns; - tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; - - end RD_6_B; - - architecture Structure of RD_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD6_ipd : std_logic := 'X'; - signal RD6_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_6: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, - PADI=>RD6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD6_ipd, RD6, tipd_RD6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD6_zd : std_logic := 'X'; - VARIABLE RD6_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD6_RD6 : x01 := '0'; - VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD6_ipd, - TestSignalName => "RD6", - Period => tperiod_RD6, - PulseWidthHigh => tpw_RD6_posedge, - PulseWidthLow => tpw_RD6_negedge, - PeriodData => periodcheckinfo_RD6, - Violation => tviol_RD6_RD6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD6_zd := RD6_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD6_ipd'last_event, - PathDelay => tpd_RD6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD6, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD6, - PathCondition => TRUE)), - GlitchData => RD6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_5_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD5 : VitalDelayType := 0 ns; - tpw_RD5_posedge : VitalDelayType := 0 ns; - tpw_RD5_negedge : VitalDelayType := 0 ns; - tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; - - end RD_5_B; - - architecture Structure of RD_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD5_ipd : std_logic := 'X'; - signal RD5_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_5: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, - PADI=>RD5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD5_ipd, RD5, tipd_RD5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD5_zd : std_logic := 'X'; - VARIABLE RD5_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD5_RD5 : x01 := '0'; - VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD5_ipd, - TestSignalName => "RD5", - Period => tperiod_RD5, - PulseWidthHigh => tpw_RD5_posedge, - PulseWidthLow => tpw_RD5_negedge, - PeriodData => periodcheckinfo_RD5, - Violation => tviol_RD5_RD5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD5_zd := RD5_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD5_ipd'last_event, - PathDelay => tpd_RD5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD5, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD5, - PathCondition => TRUE)), - GlitchData => RD5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_4_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD4 : VitalDelayType := 0 ns; - tpw_RD4_posedge : VitalDelayType := 0 ns; - tpw_RD4_negedge : VitalDelayType := 0 ns; - tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; - - end RD_4_B; - - architecture Structure of RD_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD4_ipd : std_logic := 'X'; - signal RD4_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_4: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, - PADI=>RD4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD4_ipd, RD4, tipd_RD4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD4_zd : std_logic := 'X'; - VARIABLE RD4_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD4_RD4 : x01 := '0'; - VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD4_ipd, - TestSignalName => "RD4", - Period => tperiod_RD4, - PulseWidthHigh => tpw_RD4_posedge, - PulseWidthLow => tpw_RD4_negedge, - PeriodData => periodcheckinfo_RD4, - Violation => tviol_RD4_RD4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD4_zd := RD4_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD4_ipd'last_event, - PathDelay => tpd_RD4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD4, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD4, - PathCondition => TRUE)), - GlitchData => RD4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_3_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD3 : VitalDelayType := 0 ns; - tpw_RD3_posedge : VitalDelayType := 0 ns; - tpw_RD3_negedge : VitalDelayType := 0 ns; - tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; - - end RD_3_B; - - architecture Structure of RD_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD3_ipd : std_logic := 'X'; - signal RD3_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_3: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, - PADI=>RD3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD3_ipd, RD3, tipd_RD3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD3_zd : std_logic := 'X'; - VARIABLE RD3_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD3_RD3 : x01 := '0'; - VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD3_ipd, - TestSignalName => "RD3", - Period => tperiod_RD3, - PulseWidthHigh => tpw_RD3_posedge, - PulseWidthLow => tpw_RD3_negedge, - PeriodData => periodcheckinfo_RD3, - Violation => tviol_RD3_RD3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD3_zd := RD3_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD3_ipd'last_event, - PathDelay => tpd_RD3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD3, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD3, - PathCondition => TRUE)), - GlitchData => RD3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_2_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD2 : VitalDelayType := 0 ns; - tpw_RD2_posedge : VitalDelayType := 0 ns; - tpw_RD2_negedge : VitalDelayType := 0 ns; - tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; - - end RD_2_B; - - architecture Structure of RD_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD2_ipd : std_logic := 'X'; - signal RD2_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_2: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, - PADI=>RD2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD2_ipd, RD2, tipd_RD2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD2_zd : std_logic := 'X'; - VARIABLE RD2_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD2_RD2 : x01 := '0'; - VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD2_ipd, - TestSignalName => "RD2", - Period => tperiod_RD2, - PulseWidthHigh => tpw_RD2_posedge, - PulseWidthLow => tpw_RD2_negedge, - PeriodData => periodcheckinfo_RD2, - Violation => tviol_RD2_RD2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD2_zd := RD2_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD2_ipd'last_event, - PathDelay => tpd_RD2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD2, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD2, - PathCondition => TRUE)), - GlitchData => RD2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_1_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD1 : VitalDelayType := 0 ns; - tpw_RD1_posedge : VitalDelayType := 0 ns; - tpw_RD1_negedge : VitalDelayType := 0 ns; - tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; - - end RD_1_B; - - architecture Structure of RD_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD1_ipd : std_logic := 'X'; - signal RD1_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_1: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, - PADI=>RD1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD1_ipd, RD1, tipd_RD1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD1_zd : std_logic := 'X'; - VARIABLE RD1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD1_RD1 : x01 := '0'; - VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD1_ipd, - TestSignalName => "RD1", - Period => tperiod_RD1, - PulseWidthHigh => tpw_RD1_posedge, - PulseWidthLow => tpw_RD1_negedge, - PeriodData => periodcheckinfo_RD1, - Violation => tviol_RD1_RD1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD1_zd := RD1_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD1_ipd'last_event, - PathDelay => tpd_RD1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD1, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD1, - PathCondition => TRUE)), - GlitchData => RD1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_11_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_11_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_11_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA11: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; - - end RA_11_B; - - architecture Structure of RA_11_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA11_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_11: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA11_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA11_out) - VARIABLE RA11_zd : std_logic := 'X'; - VARIABLE RA11_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA11_zd := RA11_out; - - VitalPathDelay01Z ( - OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA11, - PathCondition => TRUE)), - GlitchData => RA11_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_10_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_10_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_10_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA10: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; - - end RA_10_B; - - architecture Structure of RA_10_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA10_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_10: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA10_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA10_out) - VARIABLE RA10_zd : std_logic := 'X'; - VARIABLE RA10_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA10_zd := RA10_out; - - VitalPathDelay01Z ( - OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA10, - PathCondition => TRUE)), - GlitchData => RA10_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_9_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA9: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; - - end RA_9_B; - - architecture Structure of RA_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA9_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_9: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA9_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA9_out) - VARIABLE RA9_zd : std_logic := 'X'; - VARIABLE RA9_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA9_zd := RA9_out; - - VitalPathDelay01Z ( - OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA9, - PathCondition => TRUE)), - GlitchData => RA9_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_8_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA8: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; - - end RA_8_B; - - architecture Structure of RA_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA8_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_8: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA8_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA8_out) - VARIABLE RA8_zd : std_logic := 'X'; - VARIABLE RA8_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA8_zd := RA8_out; - - VitalPathDelay01Z ( - OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA8, - PathCondition => TRUE)), - GlitchData => RA8_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; - - end RA_7_B; - - architecture Structure of RA_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA7_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_7: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA7_out) - VARIABLE RA7_zd : std_logic := 'X'; - VARIABLE RA7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA7_zd := RA7_out; - - VitalPathDelay01Z ( - OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA7, - PathCondition => TRUE)), - GlitchData => RA7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; - - end RA_6_B; - - architecture Structure of RA_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA6_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_6: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA6_out) - VARIABLE RA6_zd : std_logic := 'X'; - VARIABLE RA6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA6_zd := RA6_out; - - VitalPathDelay01Z ( - OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA6, - PathCondition => TRUE)), - GlitchData => RA6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; - - end RA_5_B; - - architecture Structure of RA_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA5_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_5: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA5_out) - VARIABLE RA5_zd : std_logic := 'X'; - VARIABLE RA5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA5_zd := RA5_out; - - VitalPathDelay01Z ( - OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA5, - PathCondition => TRUE)), - GlitchData => RA5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; - - end RA_4_B; - - architecture Structure of RA_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA4_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_4: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA4_out) - VARIABLE RA4_zd : std_logic := 'X'; - VARIABLE RA4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA4_zd := RA4_out; - - VitalPathDelay01Z ( - OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA4, - PathCondition => TRUE)), - GlitchData => RA4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; - - end RA_3_B; - - architecture Structure of RA_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA3_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_3: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA3_out) - VARIABLE RA3_zd : std_logic := 'X'; - VARIABLE RA3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA3_zd := RA3_out; - - VitalPathDelay01Z ( - OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA3, - PathCondition => TRUE)), - GlitchData => RA3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; - - end RA_2_B; - - architecture Structure of RA_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA2_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_2: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA2_out) - VARIABLE RA2_zd : std_logic := 'X'; - VARIABLE RA2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA2_zd := RA2_out; - - VitalPathDelay01Z ( - OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA2, - PathCondition => TRUE)), - GlitchData => RA2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; - - end RA_1_B; - - architecture Structure of RA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA1_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_1: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA1_out) - VARIABLE RA1_zd : std_logic := 'X'; - VARIABLE RA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA1_zd := RA1_out; - - VitalPathDelay01Z ( - OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA1, - PathCondition => TRUE)), - GlitchData => RA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; - - end RA_0_B; - - architecture Structure of RA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA0_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_0: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA0_out) - VARIABLE RA0_zd : std_logic := 'X'; - VARIABLE RA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA0_zd := RA0_out; - - VitalPathDelay01Z ( - OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA0, - PathCondition => TRUE)), - GlitchData => RA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; - - end RBA_1_B; - - architecture Structure of RBA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA1_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_1: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RBA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) - VARIABLE RBA1_zd : std_logic := 'X'; - VARIABLE RBA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA1_zd := RBA1_out; - - VitalPathDelay01Z ( - OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA1, - PathCondition => TRUE)), - GlitchData => RBA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; - - end RBA_0_B; - - architecture Structure of RBA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA0_out : std_logic := 'X'; - - component mjiobuf0085 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_0: mjiobuf0085 - port map (I=>PADDO_ipd, PAD=>RBA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) - VARIABLE RBA0_zd : std_logic := 'X'; - VARIABLE RBA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA0_zd := RBA0_out; - - VitalPathDelay01Z ( - OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA0, - PathCondition => TRUE)), - GlitchData => RBA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0086 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0086 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0086 : ENTITY IS TRUE; - - end mjiobuf0086; - - architecture Structure of mjiobuf0086 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity LEDB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity LEDB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "LEDB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; LEDS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; - - end LEDB; - - architecture Structure of LEDB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal LEDS_out : std_logic := 'X'; - - component mjiobuf0086 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - LED_pad: mjiobuf0086 - port map (I=>PADDO_ipd, PAD=>LEDS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) - VARIABLE LEDS_zd : std_logic := 'X'; - VARIABLE LEDS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - LEDS_zd := LEDS_out; - - VitalPathDelay01Z ( - OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_LEDS, - PathCondition => TRUE)), - GlitchData => LEDS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nFWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nFWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nFWEB"; - - tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); - tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nFWES : VitalDelayType := 0 ns; - tpw_nFWES_posedge : VitalDelayType := 0 ns; - tpw_nFWES_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nFWES: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; - - end nFWEB; - - architecture Structure of nFWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nFWES_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nFWE_pad: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>nFWES_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nFWES_nFWES : x01 := '0'; - VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nFWES_ipd, - TestSignalName => "nFWES", - Period => tperiod_nFWES, - PulseWidthHigh => tpw_nFWES_posedge, - PulseWidthLow => tpw_nFWES_negedge, - PeriodData => periodcheckinfo_nFWES, - Violation => tviol_nFWES_nFWES, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, - PathDelay => tpd_nFWES_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0087 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0087 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0087 : ENTITY IS TRUE; - - end mjiobuf0087; - - architecture Structure of mjiobuf0087 is - component IBPU - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPU - port map (I=>PAD, O=>Z); - end Structure; - --- entity nCRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCRASB"; - - tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCRASS : VitalDelayType := 0 ns; - tpw_nCRASS_posedge : VitalDelayType := 0 ns; - tpw_nCRASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCRASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; - - end nCRASB; - - architecture Structure of nCRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCRASS_ipd : std_logic := 'X'; - - component mjiobuf0087 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCRAS_pad: mjiobuf0087 - port map (Z=>PADDI_out, PAD=>nCRASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; - VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCRASS_ipd, - TestSignalName => "nCRASS", - Period => tperiod_nCRASS, - PulseWidthHigh => tpw_nCRASS_posedge, - PulseWidthLow => tpw_nCRASS_negedge, - PeriodData => periodcheckinfo_nCRASS, - Violation => tviol_nCRASS_nCRASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, - PathDelay => tpd_nCRASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nCCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCCASB"; - - tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCCASS : VitalDelayType := 0 ns; - tpw_nCCASS_posedge : VitalDelayType := 0 ns; - tpw_nCCASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCCASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; - - end nCCASB; - - architecture Structure of nCCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCCASS_ipd : std_logic := 'X'; - - component mjiobuf0087 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCCAS_pad: mjiobuf0087 - port map (Z=>PADDI_out, PAD=>nCCASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; - VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCCASS_ipd, - TestSignalName => "nCCASS", - Period => tperiod_nCCASS, - PulseWidthHigh => tpw_nCCASS_posedge, - PulseWidthLow => tpw_nCCASS_negedge, - PeriodData => periodcheckinfo_nCCASS, - Violation => tviol_nCCASS_nCCASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, - PathDelay => tpd_nCCASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; - - end Dout_7_B; - - architecture Structure of Dout_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout7_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_7: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) - VARIABLE Dout7_zd : std_logic := 'X'; - VARIABLE Dout7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout7_zd := Dout7_out; - - VitalPathDelay01Z ( - OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout7, - PathCondition => TRUE)), - GlitchData => Dout7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; - - end Dout_6_B; - - architecture Structure of Dout_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout6_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_6: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) - VARIABLE Dout6_zd : std_logic := 'X'; - VARIABLE Dout6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout6_zd := Dout6_out; - - VitalPathDelay01Z ( - OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout6, - PathCondition => TRUE)), - GlitchData => Dout6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; - - end Dout_5_B; - - architecture Structure of Dout_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout5_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_5: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) - VARIABLE Dout5_zd : std_logic := 'X'; - VARIABLE Dout5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout5_zd := Dout5_out; - - VitalPathDelay01Z ( - OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout5, - PathCondition => TRUE)), - GlitchData => Dout5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; - - end Dout_4_B; - - architecture Structure of Dout_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout4_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_4: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) - VARIABLE Dout4_zd : std_logic := 'X'; - VARIABLE Dout4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout4_zd := Dout4_out; - - VitalPathDelay01Z ( - OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout4, - PathCondition => TRUE)), - GlitchData => Dout4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; - - end Dout_3_B; - - architecture Structure of Dout_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout3_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_3: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) - VARIABLE Dout3_zd : std_logic := 'X'; - VARIABLE Dout3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout3_zd := Dout3_out; - - VitalPathDelay01Z ( - OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout3, - PathCondition => TRUE)), - GlitchData => Dout3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; - - end Dout_2_B; - - architecture Structure of Dout_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout2_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_2: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) - VARIABLE Dout2_zd : std_logic := 'X'; - VARIABLE Dout2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout2_zd := Dout2_out; - - VitalPathDelay01Z ( - OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout2, - PathCondition => TRUE)), - GlitchData => Dout2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; - - end Dout_1_B; - - architecture Structure of Dout_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout1_out : std_logic := 'X'; - - component mjiobuf0082 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_1: mjiobuf0082 - port map (I=>PADDO_ipd, PAD=>Dout1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) - VARIABLE Dout1_zd : std_logic := 'X'; - VARIABLE Dout1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout1_zd := Dout1_out; - - VitalPathDelay01Z ( - OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout1, - PathCondition => TRUE)), - GlitchData => Dout1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_7_B"; - - tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din7 : VitalDelayType := 0 ns; - tpw_Din7_posedge : VitalDelayType := 0 ns; - tpw_Din7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; - - end Din_7_B; - - architecture Structure of Din_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din7_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_7: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din7_ipd, Din7, tipd_Din7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din7_Din7 : x01 := '0'; - VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din7_ipd, - TestSignalName => "Din7", - Period => tperiod_Din7, - PulseWidthHigh => tpw_Din7_posedge, - PulseWidthLow => tpw_Din7_negedge, - PeriodData => periodcheckinfo_Din7, - Violation => tviol_Din7_Din7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din7_ipd'last_event, - PathDelay => tpd_Din7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_6_B"; - - tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din6 : VitalDelayType := 0 ns; - tpw_Din6_posedge : VitalDelayType := 0 ns; - tpw_Din6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; - - end Din_6_B; - - architecture Structure of Din_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din6_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_6: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din6_ipd, Din6, tipd_Din6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din6_Din6 : x01 := '0'; - VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din6_ipd, - TestSignalName => "Din6", - Period => tperiod_Din6, - PulseWidthHigh => tpw_Din6_posedge, - PulseWidthLow => tpw_Din6_negedge, - PeriodData => periodcheckinfo_Din6, - Violation => tviol_Din6_Din6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din6_ipd'last_event, - PathDelay => tpd_Din6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_5_B"; - - tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din5 : VitalDelayType := 0 ns; - tpw_Din5_posedge : VitalDelayType := 0 ns; - tpw_Din5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; - - end Din_5_B; - - architecture Structure of Din_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din5_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_5: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din5_ipd, Din5, tipd_Din5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din5_Din5 : x01 := '0'; - VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din5_ipd, - TestSignalName => "Din5", - Period => tperiod_Din5, - PulseWidthHigh => tpw_Din5_posedge, - PulseWidthLow => tpw_Din5_negedge, - PeriodData => periodcheckinfo_Din5, - Violation => tviol_Din5_Din5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din5_ipd'last_event, - PathDelay => tpd_Din5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_4_B"; - - tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din4 : VitalDelayType := 0 ns; - tpw_Din4_posedge : VitalDelayType := 0 ns; - tpw_Din4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; - - end Din_4_B; - - architecture Structure of Din_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din4_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_4: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din4_ipd, Din4, tipd_Din4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din4_Din4 : x01 := '0'; - VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din4_ipd, - TestSignalName => "Din4", - Period => tperiod_Din4, - PulseWidthHigh => tpw_Din4_posedge, - PulseWidthLow => tpw_Din4_negedge, - PeriodData => periodcheckinfo_Din4, - Violation => tviol_Din4_Din4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din4_ipd'last_event, - PathDelay => tpd_Din4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_3_B"; - - tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din3 : VitalDelayType := 0 ns; - tpw_Din3_posedge : VitalDelayType := 0 ns; - tpw_Din3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; - - end Din_3_B; - - architecture Structure of Din_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din3_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_3: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din3_ipd, Din3, tipd_Din3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din3_Din3 : x01 := '0'; - VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din3_ipd, - TestSignalName => "Din3", - Period => tperiod_Din3, - PulseWidthHigh => tpw_Din3_posedge, - PulseWidthLow => tpw_Din3_negedge, - PeriodData => periodcheckinfo_Din3, - Violation => tviol_Din3_Din3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din3_ipd'last_event, - PathDelay => tpd_Din3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_2_B"; - - tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din2 : VitalDelayType := 0 ns; - tpw_Din2_posedge : VitalDelayType := 0 ns; - tpw_Din2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; - - end Din_2_B; - - architecture Structure of Din_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din2_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_2: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din2_ipd, Din2, tipd_Din2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din2_Din2 : x01 := '0'; - VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din2_ipd, - TestSignalName => "Din2", - Period => tperiod_Din2, - PulseWidthHigh => tpw_Din2_posedge, - PulseWidthLow => tpw_Din2_negedge, - PeriodData => periodcheckinfo_Din2, - Violation => tviol_Din2_Din2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din2_ipd'last_event, - PathDelay => tpd_Din2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_1_B"; - - tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din1 : VitalDelayType := 0 ns; - tpw_Din1_posedge : VitalDelayType := 0 ns; - tpw_Din1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; - - end Din_1_B; - - architecture Structure of Din_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din1_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_1: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din1_ipd, Din1, tipd_Din1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din1_Din1 : x01 := '0'; - VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din1_ipd, - TestSignalName => "Din1", - Period => tperiod_Din1, - PulseWidthHigh => tpw_Din1_posedge, - PulseWidthLow => tpw_Din1_negedge, - PeriodData => periodcheckinfo_Din1, - Violation => tviol_Din1_Din1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din1_ipd'last_event, - PathDelay => tpd_Din1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_0_B"; - - tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din0 : VitalDelayType := 0 ns; - tpw_Din0_posedge : VitalDelayType := 0 ns; - tpw_Din0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; - - end Din_0_B; - - architecture Structure of Din_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din0_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_0: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>Din0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din0_ipd, Din0, tipd_Din0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din0_Din0 : x01 := '0'; - VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din0_ipd, - TestSignalName => "Din0", - Period => tperiod_Din0, - PulseWidthHigh => tpw_Din0_posedge, - PulseWidthLow => tpw_Din0_negedge, - PeriodData => periodcheckinfo_Din0, - Violation => tviol_Din0_Din0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din0_ipd'last_event, - PathDelay => tpd_Din0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_1_B"; - - tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW1 : VitalDelayType := 0 ns; - tpw_CROW1_posedge : VitalDelayType := 0 ns; - tpw_CROW1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; - - end CROW_1_B; - - architecture Structure of CROW_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW1_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_1: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>CROW1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW1_CROW1 : x01 := '0'; - VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW1_ipd, - TestSignalName => "CROW1", - Period => tperiod_CROW1, - PulseWidthHigh => tpw_CROW1_posedge, - PulseWidthLow => tpw_CROW1_negedge, - PeriodData => periodcheckinfo_CROW1, - Violation => tviol_CROW1_CROW1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, - PathDelay => tpd_CROW1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_0_B"; - - tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW0 : VitalDelayType := 0 ns; - tpw_CROW0_posedge : VitalDelayType := 0 ns; - tpw_CROW0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; - - end CROW_0_B; - - architecture Structure of CROW_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW0_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_0: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>CROW0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW0_CROW0 : x01 := '0'; - VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW0_ipd, - TestSignalName => "CROW0", - Period => tperiod_CROW0, - PulseWidthHigh => tpw_CROW0_posedge, - PulseWidthLow => tpw_CROW0_negedge, - PeriodData => periodcheckinfo_CROW0, - Violation => tviol_CROW0_CROW0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, - PathDelay => tpd_CROW0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_9_B"; - - tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin9 : VitalDelayType := 0 ns; - tpw_MAin9_posedge : VitalDelayType := 0 ns; - tpw_MAin9_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin9: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; - - end MAin_9_B; - - architecture Structure of MAin_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin9_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_9: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin9_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin9_MAin9 : x01 := '0'; - VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin9_ipd, - TestSignalName => "MAin9", - Period => tperiod_MAin9, - PulseWidthHigh => tpw_MAin9_posedge, - PulseWidthLow => tpw_MAin9_negedge, - PeriodData => periodcheckinfo_MAin9, - Violation => tviol_MAin9_MAin9, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, - PathDelay => tpd_MAin9_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_8_B"; - - tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin8 : VitalDelayType := 0 ns; - tpw_MAin8_posedge : VitalDelayType := 0 ns; - tpw_MAin8_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin8: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; - - end MAin_8_B; - - architecture Structure of MAin_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin8_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_8: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin8_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin8_MAin8 : x01 := '0'; - VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin8_ipd, - TestSignalName => "MAin8", - Period => tperiod_MAin8, - PulseWidthHigh => tpw_MAin8_posedge, - PulseWidthLow => tpw_MAin8_negedge, - PeriodData => periodcheckinfo_MAin8, - Violation => tviol_MAin8_MAin8, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, - PathDelay => tpd_MAin8_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_7_B"; - - tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin7 : VitalDelayType := 0 ns; - tpw_MAin7_posedge : VitalDelayType := 0 ns; - tpw_MAin7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; - - end MAin_7_B; - - architecture Structure of MAin_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin7_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_7: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin7_MAin7 : x01 := '0'; - VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin7_ipd, - TestSignalName => "MAin7", - Period => tperiod_MAin7, - PulseWidthHigh => tpw_MAin7_posedge, - PulseWidthLow => tpw_MAin7_negedge, - PeriodData => periodcheckinfo_MAin7, - Violation => tviol_MAin7_MAin7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, - PathDelay => tpd_MAin7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_6_B"; - - tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin6 : VitalDelayType := 0 ns; - tpw_MAin6_posedge : VitalDelayType := 0 ns; - tpw_MAin6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; - - end MAin_6_B; - - architecture Structure of MAin_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin6_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_6: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin6_MAin6 : x01 := '0'; - VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin6_ipd, - TestSignalName => "MAin6", - Period => tperiod_MAin6, - PulseWidthHigh => tpw_MAin6_posedge, - PulseWidthLow => tpw_MAin6_negedge, - PeriodData => periodcheckinfo_MAin6, - Violation => tviol_MAin6_MAin6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, - PathDelay => tpd_MAin6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_5_B"; - - tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin5 : VitalDelayType := 0 ns; - tpw_MAin5_posedge : VitalDelayType := 0 ns; - tpw_MAin5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; - - end MAin_5_B; - - architecture Structure of MAin_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin5_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_5: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin5_MAin5 : x01 := '0'; - VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin5_ipd, - TestSignalName => "MAin5", - Period => tperiod_MAin5, - PulseWidthHigh => tpw_MAin5_posedge, - PulseWidthLow => tpw_MAin5_negedge, - PeriodData => periodcheckinfo_MAin5, - Violation => tviol_MAin5_MAin5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, - PathDelay => tpd_MAin5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_4_B"; - - tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin4 : VitalDelayType := 0 ns; - tpw_MAin4_posedge : VitalDelayType := 0 ns; - tpw_MAin4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; - - end MAin_4_B; - - architecture Structure of MAin_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin4_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_4: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin4_MAin4 : x01 := '0'; - VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin4_ipd, - TestSignalName => "MAin4", - Period => tperiod_MAin4, - PulseWidthHigh => tpw_MAin4_posedge, - PulseWidthLow => tpw_MAin4_negedge, - PeriodData => periodcheckinfo_MAin4, - Violation => tviol_MAin4_MAin4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, - PathDelay => tpd_MAin4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_3_B"; - - tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin3 : VitalDelayType := 0 ns; - tpw_MAin3_posedge : VitalDelayType := 0 ns; - tpw_MAin3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; - - end MAin_3_B; - - architecture Structure of MAin_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin3_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_3: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin3_MAin3 : x01 := '0'; - VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin3_ipd, - TestSignalName => "MAin3", - Period => tperiod_MAin3, - PulseWidthHigh => tpw_MAin3_posedge, - PulseWidthLow => tpw_MAin3_negedge, - PeriodData => periodcheckinfo_MAin3, - Violation => tviol_MAin3_MAin3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, - PathDelay => tpd_MAin3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_2_B"; - - tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin2 : VitalDelayType := 0 ns; - tpw_MAin2_posedge : VitalDelayType := 0 ns; - tpw_MAin2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; - - end MAin_2_B; - - architecture Structure of MAin_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin2_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_2: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin2_MAin2 : x01 := '0'; - VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin2_ipd, - TestSignalName => "MAin2", - Period => tperiod_MAin2, - PulseWidthHigh => tpw_MAin2_posedge, - PulseWidthLow => tpw_MAin2_negedge, - PeriodData => periodcheckinfo_MAin2, - Violation => tviol_MAin2_MAin2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, - PathDelay => tpd_MAin2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_1_B"; - - tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin1 : VitalDelayType := 0 ns; - tpw_MAin1_posedge : VitalDelayType := 0 ns; - tpw_MAin1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; - - end MAin_1_B; - - architecture Structure of MAin_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin1_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_1: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin1_MAin1 : x01 := '0'; - VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin1_ipd, - TestSignalName => "MAin1", - Period => tperiod_MAin1, - PulseWidthHigh => tpw_MAin1_posedge, - PulseWidthLow => tpw_MAin1_negedge, - PeriodData => periodcheckinfo_MAin1, - Violation => tviol_MAin1_MAin1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, - PathDelay => tpd_MAin1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_0_B"; - - tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin0 : VitalDelayType := 0 ns; - tpw_MAin0_posedge : VitalDelayType := 0 ns; - tpw_MAin0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; - - end MAin_0_B; - - architecture Structure of MAin_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin0_ipd : std_logic := 'X'; - - component mjiobuf0084 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_0: mjiobuf0084 - port map (Z=>PADDI_out, PAD=>MAin0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin0_MAin0 : x01 := '0'; - VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin0_ipd, - TestSignalName => "MAin0", - Period => tperiod_MAin0, - PulseWidthHigh => tpw_MAin0_posedge, - PulseWidthLow => tpw_MAin0_negedge, - PeriodData => periodcheckinfo_MAin0, - Violation => tviol_MAin0_MAin0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, - PathDelay => tpd_MAin0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RAM2GS - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RAM2GS is - port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); - CROW: in Std_logic_vector (1 downto 0); - Din: in Std_logic_vector (7 downto 0); - Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; - nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; - RBA: out Std_logic_vector (1 downto 0); - RA: out Std_logic_vector (11 downto 0); - RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; - RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; - nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; - RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; - UFMSDI: out Std_logic; UFMSDO: in Std_logic); - - - - end RAM2GS; - - architecture Structure of RAM2GS is - signal FS_1: Std_logic; - signal FS_0: Std_logic; - signal RCLK_c: Std_logic; - signal FS_cry_1: Std_logic; - signal FS_17: Std_logic; - signal FS_16: Std_logic; - signal FS_cry_15: Std_logic; - signal FS_15: Std_logic; - signal FS_14: Std_logic; - signal FS_cry_13: Std_logic; - signal FS_13: Std_logic; - signal FS_12: Std_logic; - signal FS_cry_11: Std_logic; - signal FS_11: Std_logic; - signal FS_10: Std_logic; - signal FS_cry_9: Std_logic; - signal FS_9: Std_logic; - signal FS_8: Std_logic; - signal FS_cry_7: Std_logic; - signal FS_7: Std_logic; - signal FS_6: Std_logic; - signal FS_cry_5: Std_logic; - signal FS_5: Std_logic; - signal FS_4: Std_logic; - signal FS_cry_3: Std_logic; - signal FS_3: Std_logic; - signal FS_2: Std_logic; - signal N_147: Std_logic; - signal MAin_c_0: Std_logic; - signal CmdEnable17_0_a2_4: Std_logic; - signal CmdEnable17_0_a2_3: Std_logic; - signal CmdEnable16: Std_logic; - signal CmdEnable17: Std_logic; - signal C1WR_0_a2: Std_logic; - signal ADSubmitted: Std_logic; - signal ADSubmitted_r: Std_logic; - signal PHI2_c: Std_logic; - signal CmdEnable16_0_a2_5: Std_logic; - signal CmdEnable16_0_a2_4: Std_logic; - signal MAin_c_1: Std_logic; - signal C1Submitted: Std_logic; - signal C1Submitted_RNO: Std_logic; - signal S_1: Std_logic; - signal RASr2: Std_logic; - signal IS_3: Std_logic; - signal CO0: Std_logic; - signal N_177_i: Std_logic; - signal Ready_0_sqmuxa_0_a3_2: Std_logic; - signal CmdEnable: Std_logic; - signal un1_CMDWR: Std_logic; - signal CmdEnable_s: Std_logic; - signal N_128: Std_logic; - signal Din_c_5: Std_logic; - signal Din_c_3: Std_logic; - signal N_152: Std_logic; - signal N_133: Std_logic; - signal N_132: Std_logic; - signal LEDEN: Std_logic; - signal N_21_i: Std_logic; - signal XOR8MEG18: Std_logic; - signal CmdLEDEN: Std_logic; - signal PHI2r3: Std_logic; - signal PHI2r2: Std_logic; - signal InitReady: Std_logic; - signal CmdSubmitted: Std_logic; - signal CmdSubmitted_1_sqmuxa: Std_logic; - signal N_460_0: Std_logic; - signal N_136: Std_logic; - signal N_43: Std_logic; - signal Cmdn8MEGEN: Std_logic; - signal CmdEnable16_4: Std_logic; - signal n8MEGEN: Std_logic; - signal Cmdn8MEGEN_4_u_i_0: Std_logic; - signal N_19_i: Std_logic; - signal nRRAS_5_u_i_0: Std_logic; - signal N_160: Std_logic; - signal N_155: Std_logic; - signal IS_0: Std_logic; - signal Ready: Std_logic; - signal N_64_i_i: Std_logic; - signal N_24: Std_logic; - signal IS_2: Std_logic; - signal IS_1: Std_logic; - signal N_60_i_i: Std_logic; - signal N_56_i: Std_logic; - signal N_159_i: Std_logic; - signal N_159: Std_logic; - signal N_61_i_i: Std_logic; - signal RA10s_i: Std_logic; - signal UFMSDI_ens2_i_a2_4_2: Std_logic; - signal N_126: Std_logic; - signal N_51: Std_logic; - signal InitReady3: Std_logic; - signal N_461_0: Std_logic; - signal UFMSDI_ens2_i_a0: Std_logic; - signal nCRAS_c: Std_logic; - signal CBR: Std_logic; - signal UFMSDO_c: Std_logic; - signal N_70: Std_logic; - signal N_33: Std_logic; - signal LED_c: Std_logic; - signal un1_Din_4: Std_logic; - signal XOR8MEG: Std_logic; - signal Din_c_6: Std_logic; - signal RA11_2: Std_logic; - signal Ready_fast: Std_logic; - signal RA_c_11: Std_logic; - signal N_171: Std_logic; - signal FWEr_fast: Std_logic; - signal CASr2: Std_logic; - signal RCKEEN_8_u_1: Std_logic; - signal RCKEEN_8_u_0_0: Std_logic; - signal RCKEEN_8: Std_logic; - signal PHI2r: Std_logic; - signal RCKEEN: Std_logic; - signal RASr3: Std_logic; - signal RASr: Std_logic; - signal RCKE_2: Std_logic; - signal RCKE_c: Std_logic; - signal m18_0_a3_3: Std_logic; - signal S_0_i_o2_1: Std_logic; - signal N_165: Std_logic; - signal N_462_0: Std_logic; - signal Ready_0_sqmuxa: Std_logic; - signal N_463_0: Std_logic; - signal nRRAS_0_sqmuxa: Std_logic; - signal N_129: Std_logic; - signal UFMCLK_r_i_a2_2_2: Std_logic; - signal CmdUFMCLK: Std_logic; - signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; - signal UFMCLK_c: Std_logic; - signal nUFMCS15: Std_logic; - signal N_139_i: Std_logic; - signal UFMCLK_RNO: Std_logic; - signal UFMSDI_r_xx_mm_1: Std_logic; - signal UFMSDI_c: Std_logic; - signal UFMSDI_RNO: Std_logic; - signal nRowColSel: Std_logic; - signal RowA_4: Std_logic; - signal MAin_c_4: Std_logic; - signal Din_c_4: Std_logic; - signal nCCAS_c: Std_logic; - signal RA_c_4: Std_logic; - signal WRD_4: Std_logic; - signal WRD_5: Std_logic; - signal Bank_7: Std_logic; - signal Bank_6: Std_logic; - signal Bank_5: Std_logic; - signal Bank_2: Std_logic; - signal Din_c_7: Std_logic; - signal WRD_6: Std_logic; - signal C1WR_0_a2_0_11: Std_logic; - signal WRD_7: Std_logic; - signal Din_c_2: Std_logic; - signal Din_c_0: Std_logic; - signal XOR8MEG_3_u_0_a3_2: Std_logic; - signal Din_c_1: Std_logic; - signal XOR8MEG_3: Std_logic; - signal N_69: Std_logic; - signal N_31: Std_logic; - signal N_151: Std_logic; - signal g0_1: Std_logic; - signal nRCAS_0_sqmuxa_1: Std_logic; - signal N_41: Std_logic; - signal N_37_i: Std_logic; - signal nRCAS_c: Std_logic; - signal CASr3: Std_logic; - signal RCKEEN_8_u_0_a2_1_out: Std_logic; - signal N_28_i_1: Std_logic; - signal N_28_i: Std_logic; - signal nRCS_c: Std_logic; - signal N_24_i: Std_logic; - signal nRRAS_c: Std_logic; - signal CBR_fast: Std_logic; - signal m18_0_a2_1: Std_logic; - signal G_17_1: Std_logic; - signal FWEr: Std_logic; - signal N_39_i: Std_logic; - signal nRWE_c: Std_logic; - signal N_179: Std_logic; - signal nRowColSel_0_0: Std_logic; - signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; - signal nUFMCS_c: Std_logic; - signal nUFMCS_s_0_N_5_i: Std_logic; - signal CmdUFMCS: Std_logic; - signal N_95_5: Std_logic; - signal N_95_3: Std_logic; - signal RowA_0: Std_logic; - signal RowA_1: Std_logic; - signal MAin_c_5: Std_logic; - signal CmdUFMCLK_1_sqmuxa: Std_logic; - signal RowA_5: Std_logic; - signal un1_FS_14_i_a2_0_1: Std_logic; - signal N_137_8: Std_logic; - signal N_137_6: Std_logic; - signal un1_FS_13_i_a2_1: Std_logic; - signal C1WR_0_a2_0_10: Std_logic; - signal Bank_1: Std_logic; - signal Bank_0: Std_logic; - signal MAin_c_7: Std_logic; - signal MAin_c_6: Std_logic; - signal C1WR_0_a2_0_4: Std_logic; - signal C1WR_0_a2_0_3: Std_logic; - signal Bank_4: Std_logic; - signal Bank_3: Std_logic; - signal UFMSDI_ens2_i_o2_0_3: Std_logic; - signal MAin_c_3: Std_logic; - signal MAin_c_2: Std_logic; - signal RowA_2: Std_logic; - signal RowA_3: Std_logic; - signal CmdUFMSDI: Std_logic; - signal CASr: Std_logic; - signal CmdEnable16_1: Std_logic; - signal m6_0_a2_2: Std_logic; - signal WRD_0: Std_logic; - signal WRD_1: Std_logic; - signal g4_0_0_0: Std_logic; - signal MAin_c_9: Std_logic; - signal MAin_c_8: Std_logic; - signal RowA_8: Std_logic; - signal RowA_9: Std_logic; - signal nFWE_c: Std_logic; - signal CROW_c_1: Std_logic; - signal CROW_c_0: Std_logic; - signal RBA_c_0: Std_logic; - signal RBA_c_1: Std_logic; - signal WRD_2: Std_logic; - signal WRD_3: Std_logic; - signal RA_c_9: Std_logic; - signal RDQML_c: Std_logic; - signal RD_1_i: Std_logic; - signal RowA_6: Std_logic; - signal RowA_7: Std_logic; - signal RA_c_8: Std_logic; - signal RDQMH_c: Std_logic; - signal RA_c_0: Std_logic; - signal RA_c_1: Std_logic; - signal RA_c_7: Std_logic; - signal RA_c_2: Std_logic; - signal RA_c_6: Std_logic; - signal RA_c_3: Std_logic; - signal RA_c_5: Std_logic; - signal RA_c_10: Std_logic; - signal RD_in_0: Std_logic; - signal RD_in_7: Std_logic; - signal RD_in_6: Std_logic; - signal RD_in_5: Std_logic; - signal RD_in_4: Std_logic; - signal RD_in_3: Std_logic; - signal RD_in_2: Std_logic; - signal RD_in_1: Std_logic; - signal VCCI: Std_logic; - signal GNDI_TSALL: Std_logic; - component VHI - port (Z: out Std_logic); - end component; - component VLO - port (Z: out Std_logic); - end component; - component PUR - port (PUR: in Std_logic); - end component; - component GSR - port (GSR: in Std_logic); - end component; - component TSALL - port (TSALL: in Std_logic); - end component; - component SLICE_0 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - end component; - component SLICE_1 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_2 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_3 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_4 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_5 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_6 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_7 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_8 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_9 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_14 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_19 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_20 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - end component; - component SLICE_21 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_22 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_26 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_29 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_30 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_31 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_32 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_33 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_39 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_41 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_42 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_43 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_44 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_50 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_51 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_52 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_55 - port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_56 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_57 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_58 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_59 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_60 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_61 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_62 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_63 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_64 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component nRWE_RNO_1_SLICE_65 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - end component; - component SLICE_66 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_67 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_68 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_69 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_70 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_71 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_72 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_73 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_74 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_75 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_76 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_77 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_78 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_79 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_80 - port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_81 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_82 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_83 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_84 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_85 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_86 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_87 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_88 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_89 - port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_90 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_91 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_92 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_93 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_94 - port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component RD_0_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - end component; - component Dout_0_B - port (PADDO: in Std_logic; Dout0: out Std_logic); - end component; - component PHI2B - port (PADDI: out Std_logic; PHI2S: in Std_logic); - end component; - component UFMSDOB - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - end component; - component UFMSDIB - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - end component; - component UFMCLKB - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - end component; - component nUFMCSB - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - end component; - component RDQMLB - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - end component; - component RDQMHB - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - end component; - component nRCASB - port (PADDO: in Std_logic; nRCASS: out Std_logic); - end component; - component nRRASB - port (PADDO: in Std_logic; nRRASS: out Std_logic); - end component; - component nRWEB - port (PADDO: in Std_logic; nRWES: out Std_logic); - end component; - component RCKEB - port (PADDO: in Std_logic; RCKES: out Std_logic); - end component; - component RCLKB - port (PADDI: out Std_logic; RCLKS: in Std_logic); - end component; - component nRCSB - port (PADDO: in Std_logic; nRCSS: out Std_logic); - end component; - component RD_7_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - end component; - component RD_6_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - end component; - component RD_5_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - end component; - component RD_4_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - end component; - component RD_3_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - end component; - component RD_2_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - end component; - component RD_1_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - end component; - component RA_11_B - port (PADDO: in Std_logic; RA11: out Std_logic); - end component; - component RA_10_B - port (PADDO: in Std_logic; RA10: out Std_logic); - end component; - component RA_9_B - port (PADDO: in Std_logic; RA9: out Std_logic); - end component; - component RA_8_B - port (PADDO: in Std_logic; RA8: out Std_logic); - end component; - component RA_7_B - port (PADDO: in Std_logic; RA7: out Std_logic); - end component; - component RA_6_B - port (PADDO: in Std_logic; RA6: out Std_logic); - end component; - component RA_5_B - port (PADDO: in Std_logic; RA5: out Std_logic); - end component; - component RA_4_B - port (PADDO: in Std_logic; RA4: out Std_logic); - end component; - component RA_3_B - port (PADDO: in Std_logic; RA3: out Std_logic); - end component; - component RA_2_B - port (PADDO: in Std_logic; RA2: out Std_logic); - end component; - component RA_1_B - port (PADDO: in Std_logic; RA1: out Std_logic); - end component; - component RA_0_B - port (PADDO: in Std_logic; RA0: out Std_logic); - end component; - component RBA_1_B - port (PADDO: in Std_logic; RBA1: out Std_logic); - end component; - component RBA_0_B - port (PADDO: in Std_logic; RBA0: out Std_logic); - end component; - component LEDB - port (PADDO: in Std_logic; LEDS: out Std_logic); - end component; - component nFWEB - port (PADDI: out Std_logic; nFWES: in Std_logic); - end component; - component nCRASB - port (PADDI: out Std_logic; nCRASS: in Std_logic); - end component; - component nCCASB - port (PADDI: out Std_logic; nCCASS: in Std_logic); - end component; - component Dout_7_B - port (PADDO: in Std_logic; Dout7: out Std_logic); - end component; - component Dout_6_B - port (PADDO: in Std_logic; Dout6: out Std_logic); - end component; - component Dout_5_B - port (PADDO: in Std_logic; Dout5: out Std_logic); - end component; - component Dout_4_B - port (PADDO: in Std_logic; Dout4: out Std_logic); - end component; - component Dout_3_B - port (PADDO: in Std_logic; Dout3: out Std_logic); - end component; - component Dout_2_B - port (PADDO: in Std_logic; Dout2: out Std_logic); - end component; - component Dout_1_B - port (PADDO: in Std_logic; Dout1: out Std_logic); - end component; - component Din_7_B - port (PADDI: out Std_logic; Din7: in Std_logic); - end component; - component Din_6_B - port (PADDI: out Std_logic; Din6: in Std_logic); - end component; - component Din_5_B - port (PADDI: out Std_logic; Din5: in Std_logic); - end component; - component Din_4_B - port (PADDI: out Std_logic; Din4: in Std_logic); - end component; - component Din_3_B - port (PADDI: out Std_logic; Din3: in Std_logic); - end component; - component Din_2_B - port (PADDI: out Std_logic; Din2: in Std_logic); - end component; - component Din_1_B - port (PADDI: out Std_logic; Din1: in Std_logic); - end component; - component Din_0_B - port (PADDI: out Std_logic; Din0: in Std_logic); - end component; - component CROW_1_B - port (PADDI: out Std_logic; CROW1: in Std_logic); - end component; - component CROW_0_B - port (PADDI: out Std_logic; CROW0: in Std_logic); - end component; - component MAin_9_B - port (PADDI: out Std_logic; MAin9: in Std_logic); - end component; - component MAin_8_B - port (PADDI: out Std_logic; MAin8: in Std_logic); - end component; - component MAin_7_B - port (PADDI: out Std_logic; MAin7: in Std_logic); - end component; - component MAin_6_B - port (PADDI: out Std_logic; MAin6: in Std_logic); - end component; - component MAin_5_B - port (PADDI: out Std_logic; MAin5: in Std_logic); - end component; - component MAin_4_B - port (PADDI: out Std_logic; MAin4: in Std_logic); - end component; - component MAin_3_B - port (PADDI: out Std_logic; MAin3: in Std_logic); - end component; - component MAin_2_B - port (PADDI: out Std_logic; MAin2: in Std_logic); - end component; - component MAin_1_B - port (PADDI: out Std_logic; MAin1: in Std_logic); - end component; - component MAin_0_B - port (PADDI: out Std_logic; MAin0: in Std_logic); - end component; - begin - SLICE_0I: SLICE_0 - port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, - FCO=>FS_cry_1); - SLICE_1I: SLICE_1 - port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, - Q1=>FS_17); - SLICE_2I: SLICE_2 - port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, - Q1=>FS_15, FCO=>FS_cry_15); - SLICE_3I: SLICE_3 - port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, - Q1=>FS_13, FCO=>FS_cry_13); - SLICE_4I: SLICE_4 - port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, - Q1=>FS_11, FCO=>FS_cry_11); - SLICE_5I: SLICE_5 - port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, - Q1=>FS_9, FCO=>FS_cry_9); - SLICE_6I: SLICE_6 - port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, - Q1=>FS_7, FCO=>FS_cry_7); - SLICE_7I: SLICE_7 - port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, - Q1=>FS_5, FCO=>FS_cry_5); - SLICE_8I: SLICE_8 - port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, - Q1=>FS_3, FCO=>FS_cry_3); - SLICE_9I: SLICE_9 - port map (D1=>N_147, C1=>MAin_c_0, B1=>CmdEnable17_0_a2_4, - A1=>CmdEnable17_0_a2_3, D0=>CmdEnable16, C0=>CmdEnable17, - B0=>C1WR_0_a2, A0=>ADSubmitted, DI0=>ADSubmitted_r, - CLK=>PHI2_c, F0=>ADSubmitted_r, Q0=>ADSubmitted, - F1=>CmdEnable17); - SLICE_14I: SLICE_14 - port map (C1=>N_147, B1=>CmdEnable16_0_a2_5, A1=>CmdEnable16_0_a2_4, - D0=>MAin_c_1, C0=>N_147, B0=>C1Submitted, A0=>CmdEnable16, - DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, - Q0=>C1Submitted, F1=>CmdEnable16); - SLICE_19I: SLICE_19 - port map (D1=>S_1, C1=>RASr2, B1=>IS_3, A1=>CO0, B0=>S_1, A0=>CO0, - DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, - F1=>Ready_0_sqmuxa_0_a3_2); - SLICE_20I: SLICE_20 - port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>C1Submitted, C0=>un1_CMDWR, - B0=>CmdEnable, A0=>CmdEnable17, DI0=>CmdEnable_s, - M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); - SLICE_21I: SLICE_21 - port map (C1=>N_128, B1=>Din_c_5, A1=>Din_c_3, D0=>N_152, C0=>N_133, - B0=>N_132, A0=>LEDEN, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, - F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); - SLICE_22I: SLICE_22 - port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, - B0=>CmdSubmitted, A0=>CmdSubmitted_1_sqmuxa, DI0=>N_460_0, - CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); - SLICE_26I: SLICE_26 - port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, - C0=>n8MEGEN, B0=>N_152, A0=>Cmdn8MEGEN_4_u_i_0, DI0=>N_19_i, - CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, - F1=>Cmdn8MEGEN_4_u_i_0); - SLICE_29I: SLICE_29 - port map (D1=>nRRAS_5_u_i_0, C1=>N_160, B1=>N_155, A1=>IS_0, C0=>N_155, - B0=>Ready, A0=>IS_0, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, - Q0=>IS_0, F1=>N_24); - SLICE_30I: SLICE_30 - port map (C1=>IS_2, B1=>IS_1, A1=>IS_0, B0=>IS_1, A0=>IS_0, - DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); - SLICE_31I: SLICE_31 - port map (D1=>N_159, C1=>IS_3, B1=>IS_2, A1=>IS_1, D0=>IS_0, C0=>IS_1, - B0=>IS_2, A0=>IS_3, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); - SLICE_32I: SLICE_32 - port map (D1=>UFMSDI_ens2_i_a2_4_2, C1=>N_126, B1=>N_51, A1=>InitReady, - B0=>InitReady, A0=>InitReady3, DI0=>N_461_0, CLK=>RCLK_c, - F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); - SLICE_33I: SLICE_33 - port map (C1=>nCRAS_c, B1=>LEDEN, A1=>CBR, C0=>UFMSDO_c, B0=>InitReady, - A0=>CmdLEDEN, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, - Q0=>LEDEN, F1=>LED_c); - SLICE_39I: SLICE_39 - port map (B1=>un1_Din_4, A1=>XOR8MEG, C0=>n8MEGEN, B0=>XOR8MEG, - A0=>Din_c_6, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, - F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); - SLICE_41I: SLICE_41 - port map (D1=>S_1, C1=>FWEr_fast, B1=>CO0, A1=>CASr2, D0=>Ready, - C0=>RCKEEN_8_u_1, B0=>RCKEEN_8_u_0_0, A0=>CBR, DI0=>RCKEEN_8, - M1=>PHI2r, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, - F1=>RCKEEN_8_u_1, Q1=>PHI2r2); - SLICE_42I: SLICE_42 - port map (D1=>RASr2, C1=>IS_2, B1=>IS_1, A1=>IS_0, D0=>RCKEEN, C0=>RASr3, - B0=>RASr2, A0=>RASr, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, - F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); - SLICE_43I: SLICE_43 - port map (D1=>S_0_i_o2_1, C1=>InitReady, B1=>RASr2, A1=>Ready, - D0=>InitReady, C0=>N_165, B0=>Ready_0_sqmuxa_0_a3_2, A0=>Ready, - DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, - F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); - SLICE_44I: SLICE_44 - port map (D1=>Ready_0_sqmuxa_0_a3_2, C1=>Ready, B1=>N_165, A1=>InitReady, - B0=>Ready_fast, A0=>Ready_0_sqmuxa, DI0=>N_463_0, M1=>nCRAS_c, - CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, - Q1=>RASr); - SLICE_50I: SLICE_50 - port map (C1=>CO0, B1=>S_1, A1=>Ready, B0=>S_1, A0=>CO0, DI0=>S_0_i_o2_1, - LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, - F1=>nRRAS_0_sqmuxa); - SLICE_51I: SLICE_51 - port map (D1=>N_129, C1=>UFMCLK_r_i_a2_2_2, B1=>CmdUFMCLK, A1=>InitReady, - D0=>UFMCLK_r_i_m4_xx_mm_1, C0=>UFMCLK_c, B0=>nUFMCS15, - A0=>N_139_i, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, - F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, - Q1=>RASr2); - SLICE_52I: SLICE_52 - port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, - D0=>UFMSDI_r_xx_mm_1, C0=>UFMSDI_c, B0=>nUFMCS15, A0=>N_139_i, - DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, - Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); - SLICE_55I: SLICE_55 - port map (C0=>nRowColSel, B0=>RowA_4, A0=>MAin_c_4, M1=>Din_c_5, - M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); - SLICE_56I: SLICE_56 - port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, C0=>FS_9, - B0=>FS_7, A0=>FS_5, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, - F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); - SLICE_57I: SLICE_57 - port map (D1=>un1_Din_4, C1=>Din_c_3, B1=>Din_c_2, A1=>Din_c_0, - D0=>XOR8MEG_3_u_0_a3_2, C0=>N_171, B0=>LEDEN, A0=>Din_c_1, - DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, - Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); - SLICE_58I: SLICE_58 - port map (C1=>N_51, B1=>InitReady, A1=>FS_8, C0=>UFMSDO_c, B0=>InitReady, - A0=>Cmdn8MEGEN, DI0=>N_69, CE=>N_31, CLK=>RCLK_c, F0=>N_69, - Q0=>n8MEGEN, F1=>N_151); - SLICE_59I: SLICE_59 - port map (D1=>S_1, C1=>Ready, B1=>N_160, A1=>N_155, D0=>g0_1, C0=>S_1, - B0=>nRCAS_0_sqmuxa_1, A0=>N_41, DI0=>N_37_i, CLK=>RCLK_c, - F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); - SLICE_60I: SLICE_60 - port map (D1=>CASr2, C1=>CASr3, B1=>CO0, A1=>FWEr_fast, - D0=>RCKEEN_8_u_0_a2_1_out, C0=>N_28_i_1, B0=>N_24, A0=>CBR, - DI0=>N_28_i, CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); - SLICE_61I: SLICE_61 - port map (D1=>Ready, C1=>RCKE_c, B1=>RASr2, A1=>S_0_i_o2_1, D0=>IS_0, - C0=>N_155, B0=>N_160, A0=>nRRAS_5_u_i_0, DI0=>N_24_i, - CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); - SLICE_62I: SLICE_62 - port map (D1=>Ready, C1=>RASr2, B1=>S_0_i_o2_1, A1=>CBR_fast, - D0=>m18_0_a2_1, C0=>nRCAS_0_sqmuxa_1, B0=>G_17_1, A0=>FWEr, - DI0=>N_39_i, CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, - F1=>nRCAS_0_sqmuxa_1); - SLICE_63I: SLICE_63 - port map (D1=>Ready, C1=>FWEr, B1=>CBR, A1=>CASr3, D0=>S_1, C0=>Ready, - B0=>N_179, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, - CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); - SLICE_64I: SLICE_64 - port map (D1=>N_51, C1=>InitReady, B1=>FS_11, A1=>FS_10, - D0=>nUFMCS_s_0_N_5_i_N_2L1, C0=>nUFMCS_c, B0=>nUFMCS15, - A0=>N_139_i, DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, - F0=>nUFMCS_s_0_N_5_i, Q0=>nUFMCS_c, F1=>nUFMCS15); - nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 - port map (D1=>RASr2, C1=>RCKE_c, B1=>CO0, A1=>S_1, D0=>InitReady, - C0=>m18_0_a3_3, B0=>CO0, A0=>S_1, M0=>Ready, OFX0=>m18_0_a2_1); - SLICE_66I: SLICE_66 - port map (C1=>UFMCLK_r_i_a2_2_2, B1=>InitReady, A1=>CmdUFMCS, D0=>N_95_5, - C0=>N_95_3, B0=>InitReady, A0=>FS_16, M1=>MAin_c_1, - M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, - Q1=>RowA_1); - SLICE_67I: SLICE_67 - port map (D1=>Din_c_3, C1=>Din_c_5, B1=>N_128, A1=>XOR8MEG18, D0=>N_147, - C0=>MAin_c_1, B0=>MAin_c_0, A0=>CmdEnable, M1=>MAin_c_5, - M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, F0=>XOR8MEG18, - Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); - SLICE_68I: SLICE_68 - port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_14_i_a2_0_1, - C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_31, - F1=>un1_FS_14_i_a2_0_1); - SLICE_69I: SLICE_69 - port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_13_i_a2_1, - C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_33, - F1=>un1_FS_13_i_a2_1); - SLICE_70I: SLICE_70 - port map (D1=>C1WR_0_a2_0_11, C1=>C1WR_0_a2_0_10, B1=>Bank_1, A1=>Bank_0, - B0=>N_147, A0=>MAin_c_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, - F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); - SLICE_71I: SLICE_71 - port map (D1=>MAin_c_7, C1=>MAin_c_6, B1=>MAin_c_5, A1=>MAin_c_4, - D0=>C1WR_0_a2_0_4, C0=>C1WR_0_a2_0_3, B0=>Bank_4, A0=>Bank_3, - M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, - Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); - SLICE_72I: SLICE_72 - port map (C1=>UFMSDI_ens2_i_o2_0_3, B1=>FS_16, A1=>FS_12, D0=>N_51, - C0=>FS_11, B0=>FS_4, A0=>FS_1, M1=>MAin_c_3, M0=>MAin_c_2, - LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, - Q1=>RowA_3); - SLICE_73I: SLICE_73 - port map (D1=>CO0, C1=>S_1, B1=>InitReady, A1=>RASr2, B0=>Ready, - A0=>N_155, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, - CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); - SLICE_74I: SLICE_74 - port map (B1=>FS_14, A1=>FS_11, D0=>N_95_5, C0=>N_95_3, B0=>FS_16, - A0=>FS_10, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, - F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); - SLICE_75I: SLICE_75 - port map (C1=>Din_c_7, B1=>Din_c_6, A1=>Din_c_4, C0=>N_128, B0=>Din_c_5, - A0=>Din_c_1, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, - Q0=>CASr, F1=>N_128, Q1=>CASr2); - SLICE_76I: SLICE_76 - port map (B1=>Din_c_5, A1=>Din_c_0, D0=>MAin_c_0, C0=>Din_c_3, - B0=>Din_c_1, A0=>CmdEnable16_4, M1=>Din_c_5, M0=>Din_c_4, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, - F1=>CmdEnable16_4, Q1=>Bank_5); - SLICE_77I: SLICE_77 - port map (B1=>Din_c_7, A1=>Din_c_4, D0=>MAin_c_1, C0=>Din_c_6, - B0=>Din_c_2, A0=>CmdEnable16_1, M1=>Din_c_7, M0=>Din_c_6, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, - F1=>CmdEnable16_1, Q1=>Bank_7); - SLICE_78I: SLICE_78 - port map (B1=>Din_c_5, A1=>Din_c_3, D0=>N_43, C0=>MAin_c_1, B0=>Din_c_6, - A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, - F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); - SLICE_79I: SLICE_79 - port map (C1=>Ready, B1=>CASr3, A1=>CASr2, D0=>m6_0_a2_2, C0=>S_1, - B0=>CO0, A0=>CBR, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, - F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); - SLICE_80I: SLICE_80 - port map (B1=>CASr3, A1=>CASr2, D0=>g4_0_0_0, C0=>FWEr, B0=>CO0, - A0=>CBR_fast, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); - SLICE_81I: SLICE_81 - port map (D1=>FS_17, C1=>FS_15, B1=>FS_14, A1=>FS_13, D0=>FS_17, - C0=>FS_15, B0=>FS_13, A0=>FS_12, M1=>nFWE_c, M0=>nFWE_c, - CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, - Q1=>FWEr_fast); - SLICE_82I: SLICE_82 - port map (D1=>Din_c_3, C1=>Din_c_5, B1=>CmdLEDEN, A1=>N_128, D0=>Din_c_3, - C0=>Din_c_5, B0=>N_128, A0=>XOR8MEG18, M0=>CASr2, CLK=>RCLK_c, - F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); - SLICE_83I: SLICE_83 - port map (C1=>IS_3, B1=>IS_2, A1=>IS_1, C0=>IS_2, B0=>IS_1, A0=>IS_0, - M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); - SLICE_84I: SLICE_84 - port map (D1=>FS_11, C1=>FS_10, B1=>FS_8, A1=>FS_6, D0=>FS_10, C0=>FS_7, - B0=>FS_6, A0=>FS_1, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); - SLICE_85I: SLICE_85 - port map (D1=>Din_c_4, C1=>Din_c_7, B1=>Din_c_0, A1=>Din_c_1, - D0=>Din_c_7, C0=>Din_c_6, B0=>Din_c_5, A0=>Din_c_4, - M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, - Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); - SLICE_86I: SLICE_86 - port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_9, - A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQML_c); - SLICE_87I: SLICE_87 - port map (C1=>N_151, B1=>UFMSDI_ens2_i_a0, A1=>CmdUFMSDI, D0=>N_151, - C0=>FS_11, B0=>FS_9, A0=>FS_4, F0=>N_137_8, - F1=>UFMSDI_r_xx_mm_1); - SLICE_88I: SLICE_88 - port map (C1=>nFWE_c, B1=>MAin_c_3, A1=>MAin_c_2, B0=>nFWE_c, - A0=>nCCAS_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, - Q1=>RowA_7); - SLICE_89I: SLICE_89 - port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_8, - A0=>MAin_c_8, F0=>RA_c_8, F1=>RDQMH_c); - SLICE_90I: SLICE_90 - port map (C1=>MAin_c_1, B1=>MAin_c_0, A1=>N_147, C0=>nRowColSel, - B0=>RowA_0, A0=>MAin_c_0, F0=>RA_c_0, F1=>un1_CMDWR); - SLICE_91I: SLICE_91 - port map (C1=>nRowColSel, B1=>RowA_7, A1=>MAin_c_7, C0=>nRowColSel, - B0=>RowA_1, A0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); - SLICE_92I: SLICE_92 - port map (C1=>nRowColSel, B1=>RowA_6, A1=>MAin_c_6, C0=>nRowColSel, - B0=>RowA_2, A0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); - SLICE_93I: SLICE_93 - port map (C1=>nRowColSel, B1=>RowA_5, A1=>MAin_c_5, C0=>nRowColSel, - B0=>RowA_3, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); - SLICE_94I: SLICE_94 - port map (B1=>N_155, A1=>Ready, B0=>S_1, A0=>Ready, M0=>IS_0, - LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, - Q0=>RA_c_10, F1=>N_159_i); - RD_0_I: RD_0_B - port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); - Dout_0_I: Dout_0_B - port map (PADDO=>RD_in_0, Dout0=>Dout(0)); - PHI2I: PHI2B - port map (PADDI=>PHI2_c, PHI2S=>PHI2); - UFMSDOI: UFMSDOB - port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); - UFMSDII: UFMSDIB - port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); - UFMCLKI: UFMCLKB - port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); - nUFMCSI: nUFMCSB - port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); - RDQMLI: RDQMLB - port map (PADDO=>RDQML_c, RDQMLS=>RDQML); - RDQMHI: RDQMHB - port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); - nRCASI: nRCASB - port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); - nRRASI: nRRASB - port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); - nRWEI: nRWEB - port map (PADDO=>nRWE_c, nRWES=>nRWE); - RCKEI: RCKEB - port map (PADDO=>RCKE_c, RCKES=>RCKE); - RCLKI: RCLKB - port map (PADDI=>RCLK_c, RCLKS=>RCLK); - nRCSI: nRCSB - port map (PADDO=>nRCS_c, nRCSS=>nRCS); - RD_7_I: RD_7_B - port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); - RD_6_I: RD_6_B - port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); - RD_5_I: RD_5_B - port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); - RD_4_I: RD_4_B - port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); - RD_3_I: RD_3_B - port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); - RD_2_I: RD_2_B - port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); - RD_1_I0: RD_1_B - port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); - RA_11_I: RA_11_B - port map (PADDO=>RA_c_11, RA11=>RA(11)); - RA_10_I: RA_10_B - port map (PADDO=>RA_c_10, RA10=>RA(10)); - RA_9_I: RA_9_B - port map (PADDO=>RA_c_9, RA9=>RA(9)); - RA_8_I: RA_8_B - port map (PADDO=>RA_c_8, RA8=>RA(8)); - RA_7_I: RA_7_B - port map (PADDO=>RA_c_7, RA7=>RA(7)); - RA_6_I: RA_6_B - port map (PADDO=>RA_c_6, RA6=>RA(6)); - RA_5_I: RA_5_B - port map (PADDO=>RA_c_5, RA5=>RA(5)); - RA_4_I: RA_4_B - port map (PADDO=>RA_c_4, RA4=>RA(4)); - RA_3_I: RA_3_B - port map (PADDO=>RA_c_3, RA3=>RA(3)); - RA_2_I: RA_2_B - port map (PADDO=>RA_c_2, RA2=>RA(2)); - RA_1_I: RA_1_B - port map (PADDO=>RA_c_1, RA1=>RA(1)); - RA_0_I: RA_0_B - port map (PADDO=>RA_c_0, RA0=>RA(0)); - RBA_1_I: RBA_1_B - port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); - RBA_0_I: RBA_0_B - port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); - LEDI: LEDB - port map (PADDO=>LED_c, LEDS=>LED); - nFWEI: nFWEB - port map (PADDI=>nFWE_c, nFWES=>nFWE); - nCRASI: nCRASB - port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); - nCCASI: nCCASB - port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); - Dout_7_I: Dout_7_B - port map (PADDO=>RD_in_7, Dout7=>Dout(7)); - Dout_6_I: Dout_6_B - port map (PADDO=>RD_in_6, Dout6=>Dout(6)); - Dout_5_I: Dout_5_B - port map (PADDO=>RD_in_5, Dout5=>Dout(5)); - Dout_4_I: Dout_4_B - port map (PADDO=>RD_in_4, Dout4=>Dout(4)); - Dout_3_I: Dout_3_B - port map (PADDO=>RD_in_3, Dout3=>Dout(3)); - Dout_2_I: Dout_2_B - port map (PADDO=>RD_in_2, Dout2=>Dout(2)); - Dout_1_I: Dout_1_B - port map (PADDO=>RD_in_1, Dout1=>Dout(1)); - Din_7_I: Din_7_B - port map (PADDI=>Din_c_7, Din7=>Din(7)); - Din_6_I: Din_6_B - port map (PADDI=>Din_c_6, Din6=>Din(6)); - Din_5_I: Din_5_B - port map (PADDI=>Din_c_5, Din5=>Din(5)); - Din_4_I: Din_4_B - port map (PADDI=>Din_c_4, Din4=>Din(4)); - Din_3_I: Din_3_B - port map (PADDI=>Din_c_3, Din3=>Din(3)); - Din_2_I: Din_2_B - port map (PADDI=>Din_c_2, Din2=>Din(2)); - Din_1_I: Din_1_B - port map (PADDI=>Din_c_1, Din1=>Din(1)); - Din_0_I: Din_0_B - port map (PADDI=>Din_c_0, Din0=>Din(0)); - CROW_1_I: CROW_1_B - port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); - CROW_0_I: CROW_0_B - port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); - MAin_9_I: MAin_9_B - port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); - MAin_8_I: MAin_8_B - port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); - MAin_7_I: MAin_7_B - port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); - MAin_6_I: MAin_6_B - port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); - MAin_5_I: MAin_5_B - port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); - MAin_4_I: MAin_4_B - port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); - MAin_3_I: MAin_3_B - port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); - MAin_2_I: MAin_2_B - port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); - MAin_1_I: MAin_1_B - port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); - MAin_0_I: MAin_0_B - port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); - VHI_INST: VHI - port map (Z=>VCCI); - PUR_INST: PUR - port map (PUR=>VCCI); - GSR_INST: GSR - port map (GSR=>VCCI); - VLO_INST: VLO - port map (Z=>GNDI_TSALL); - TSALL_INST: TSALL - port map (TSALL=>GNDI_TSALL); - end Structure; - - - - library IEEE, vital2000, MACHXO; - configuration Structure_CON of RAM2GS is - for Structure - end for; - end Structure_CON; - - + +-- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +-- ldbanno -n VHDL -o RAM2GS_LCMXO640C_impl1_mapvho.vho -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd +-- Netlist created on Sat Aug 19 20:57:13 2023 +-- Netlist written on Sat Aug 19 20:57:16 2023 +-- Design is for device LCMXO640C +-- Design is for package TQFP100 +-- Design is for performance grade 3 + +-- entity vmuxregsre + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; + + end vmuxregsre; + + architecture Structure of vmuxregsre is + component FL1P3DX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3DX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity vcc + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vcc is + port (PWR1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; + + end vcc; + + architecture Structure of vcc is + component VHI + port (Z: out Std_logic); + end component; + begin + INST1: VHI + port map (Z=>PWR1); + end Structure; + +-- entity gnd + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity gnd is + port (PWR0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; + + end gnd; + + architecture Structure of gnd is + component VLO + port (Z: out Std_logic); + end component; + begin + INST1: VLO + port map (Z=>PWR0); + end Structure; + +-- entity ccu2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu2B is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; + + end ccu2B; + + architecture Structure of ccu2B is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_0 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_0 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_0"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; + + end SLICE_0; + + architecture Structure of SLICE_0 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_0_FS_cry_0_0_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_0_FS_cry_0_0_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_1: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_0: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_0: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, + S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20001 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu20001 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; + + end ccu20001; + + architecture Structure of ccu20001 is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_1 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_1 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_1"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; + + end SLICE_1; + + architecture Structure of SLICE_1 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_1_FS_cry_0_16_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_1_FS_cry_0_16_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20001 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_17: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_16: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_16: ccu20001 + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, + S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_2 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_2"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; + + end SLICE_2; + + architecture Structure of SLICE_2 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_2_FS_cry_0_14_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_2_FS_cry_0_14_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_15: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_14: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_14: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, + S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_3 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_3 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_3"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; + + end SLICE_3; + + architecture Structure of SLICE_3 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_3_FS_cry_0_12_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_3_FS_cry_0_12_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_13: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_12: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_12: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, + S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_4 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_4"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; + + end SLICE_4; + + architecture Structure of SLICE_4 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_4_FS_cry_0_10_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_4_FS_cry_0_10_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_11: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_10: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_10: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, + S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_5 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_5 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_5"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; + + end SLICE_5; + + architecture Structure of SLICE_5 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_5_FS_cry_0_8_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_5_FS_cry_0_8_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_9: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_8: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_8: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, + S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_6 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_6 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_6"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; + + end SLICE_6; + + architecture Structure of SLICE_6 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_6_FS_cry_0_6_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_6_FS_cry_0_6_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_7: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_6: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_6: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, + S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_7 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_7 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_7"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; + + end SLICE_7; + + architecture Structure of SLICE_7 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_7_FS_cry_0_4_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_7_FS_cry_0_4_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_5: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_4: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_4: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, + S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_8 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_8 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_8"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; + + end SLICE_8; + + architecture Structure of SLICE_8 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_8_FS_cry_0_2_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_8_FS_cry_0_2_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_3: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_2: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_2: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, + S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut4 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; + + end lut4; + + architecture Structure of lut4 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40002 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40002 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; + + end lut40002; + + architecture Structure of lut40002 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00F2") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity inverter + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity inverter is + port (I: in Std_logic; Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; + + end inverter; + + architecture Structure of inverter is + component INV + port (A: in Std_logic; Z: out Std_logic); + end component; + begin + INST1: INV + port map (A=>I, Z=>Z); + end Structure; + +-- entity SLICE_9 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_9 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_9"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; + + end SLICE_9; + + architecture Structure of SLICE_9 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40002 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ADSubmitted_r: lut40002 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + ADSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40003 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40003 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; + + end lut40003; + + architecture Structure of lut40003 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40004 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40004 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; + + end lut40004; + + architecture Structure of lut40004 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_14 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_14 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_14"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; + + end SLICE_14; + + architecture Structure of SLICE_14 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40003 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40004 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2: lut40003 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1Submitted_RNO: lut40004 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + C1Submitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40005 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40005 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; + + end lut40005; + + architecture Structure of lut40005 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40006 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40006 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; + + end lut40006; + + architecture Structure of lut40006 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDDDD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0007 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0007 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; + + end vmuxregsre0007; + + architecture Structure of vmuxregsre0007 is + component FL1P3IY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3IY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_19 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_19 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_19"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; + + end SLICE_19; + + architecture Structure of SLICE_19 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3_2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_RNO_0: lut40006 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40008 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40008 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; + + end lut40008; + + architecture Structure of lut40008 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40009 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40009 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; + + end lut40009; + + architecture Structure of lut40009 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAC8C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity selmux2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity selmux2 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; + + end selmux2; + + architecture Structure of selmux2 is + component MUX21 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + INST1: MUX21 + port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); + end Structure; + +-- entity SLICE_20 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_20 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_20"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; + + end SLICE_20; + + architecture Structure of SLICE_20 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal SLICE_20_SLICE_20_K1_H1: Std_logic; + signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40008 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40009 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + SLICE_20_K1: lut40008 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, + Z=>SLICE_20_SLICE_20_K1_H1); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable_s_GATE: lut40009 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>SLICE_20_CmdEnable_s_GATE_H0); + CmdEnable: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + SLICE_20_K0K1MUX: selmux2 + port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + OFX0_zd := OFX0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40010 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40010 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; + + end lut40010; + + architecture Structure of lut40010 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0404") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40011 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40011 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; + + end lut40011; + + architecture Structure of lut40011 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0203") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_21 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_21 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_21"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; + + end SLICE_21; + + architecture Structure of SLICE_21 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40010 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_a2_2: lut40010 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_RNO: lut40011 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdLEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40012 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40012 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; + + end lut40012; + + architecture Structure of lut40012 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_22 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_22 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_22"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; + + end SLICE_22; + + architecture Structure of SLICE_22 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_RNO: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40013 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40013 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; + + end lut40013; + + architecture Structure of lut40013 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x33AB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40014 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40014 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; + + end lut40014; + + architecture Structure of lut40014 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5151") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_26 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_26 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_26"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; + + end SLICE_26; + + architecture Structure of SLICE_26 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_0: lut40013 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Cmdn8MEGEN_RNO: lut40014 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Cmdn8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40015 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40015 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; + + end lut40015; + + architecture Structure of lut40015 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF32") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40016 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40016 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; + + end lut40016; + + architecture Structure of lut40016 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA9A9") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_29 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_29 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_29"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; + + end SLICE_29; + + architecture Structure of SLICE_29 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40015 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i: lut40015 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_0: lut40016 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40017 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40017 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; + + end lut40017; + + architecture Structure of lut40017 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7878") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40018 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40018 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; + + end lut40018; + + architecture Structure of lut40018 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x6666") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_30 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_30 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_30"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; + + end SLICE_30; + + architecture Structure of SLICE_30 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_RNO_2: lut40017 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_n1_0_x2: lut40018 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + IS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + IS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40019 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40019 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; + + end lut40019; + + architecture Structure of lut40019 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFEF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40020 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40020 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; + + end lut40020; + + architecture Structure of lut40020 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x6AAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_31 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_31 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_31"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; + + end SLICE_31; + + architecture Structure of SLICE_31 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40019 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_RNO: lut40019 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_3: lut40020 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + IS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40021 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40021 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; + + end lut40021; + + architecture Structure of lut40021 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4555") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_32 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_32 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_32"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; + + end SLICE_32; + + architecture Structure of SLICE_32 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a0: lut40021 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady_RNO: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40022 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40022 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; + + end lut40022; + + architecture Structure of lut40022 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFBFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40023 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40023 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; + + end lut40023; + + architecture Structure of lut40023 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8B8B") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_33 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_33 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_33"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; + + end SLICE_33; + + architecture Structure of SLICE_33 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LED_pad_RNO: lut40022 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + LEDEN_5_i_m2: lut40023 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + LEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40024 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40024 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; + + end lut40024; + + architecture Structure of lut40024 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40025 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40025 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; + + end lut40025; + + architecture Structure of lut40025 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xC6C6") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_39 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_39 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_39"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; + + end SLICE_39; + + architecture Structure of SLICE_39 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40025 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_0: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RA11_2: lut40025 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RA11: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40026 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40026 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; + + end lut40026; + + architecture Structure of lut40026 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x70CF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40027 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40027 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; + + end lut40027; + + architecture Structure of lut40027 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_41 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_41 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_41"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; + + end SLICE_41; + + architecture Structure of SLICE_41 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40026 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_1_0: lut40026 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKEEN_8_u: lut40027 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40028 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40028 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; + + end lut40028; + + architecture Structure of lut40028 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40029 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40029 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; + + end lut40029; + + architecture Structure of lut40029 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFE30") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_42 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_42 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_42"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; + + end SLICE_42; + + architecture Structure of SLICE_42 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_5: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKE_2_0: lut40029 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKE: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40030 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40030 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; + + end lut40030; + + architecture Structure of lut40030 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5072") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40031 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40031 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; + + end lut40031; + + architecture Structure of lut40031 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAEAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_43 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_43 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_43"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; + + end SLICE_43; + + architecture Structure of SLICE_43 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40030 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40031 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_RNO: lut40030 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_RNO: lut40031 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_44 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_44 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_44"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; + + end SLICE_44; + + architecture Structure of SLICE_44 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_fast_RNO: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RASr: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Ready_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40032 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40032 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; + + end lut40032; + + architecture Structure of lut40032 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0202") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_50 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_50 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_50"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; + + end SLICE_50; + + architecture Structure of SLICE_50 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_RNO: lut40032 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0_i_o2_1: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + S_1: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40033 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40033 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; + + end lut40033; + + architecture Structure of lut40033 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF2F7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40034 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40034 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; + + end lut40034; + + architecture Structure of lut40034 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1032") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_51 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_51 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_51"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; + + end SLICE_51; + + architecture Structure of SLICE_51 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMCLK_RNO_0: lut40033 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMCLK_RNO: lut40034 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40035 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40035 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; + + end lut40035; + + architecture Structure of lut40035 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3B33") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40036 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40036 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; + + end lut40036; + + architecture Structure of lut40036 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3210") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_52 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_52 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_52"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; + + end SLICE_52; + + architecture Structure of SLICE_52 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40035 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNITCN41: lut40035 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_RNO: lut40036 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMSDI: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40037 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40037 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; + + end lut40037; + + architecture Structure of lut40037 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xACAC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_55 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_55 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_55"; + + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; + + end SLICE_55; + + architecture Structure of SLICE_55 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_4: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, + F0_out, Q0_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40038 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40038 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; + + end lut40038; + + architecture Structure of lut40038 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40039 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40039 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; + + end lut40039; + + architecture Structure of lut40039 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2C2C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_56 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_56 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_56"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; + + end SLICE_56; + + architecture Structure of SLICE_56 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40039 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_11: lut40038 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_ens2_i_o2: lut40039 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40040 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40040 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; + + end lut40040; + + architecture Structure of lut40040 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF7F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_57 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_57 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_57"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; + + end SLICE_57; + + architecture Structure of SLICE_57 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG_3_u_0_a3_3: lut40040 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + XOR8MEG: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40041 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40041 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; + + end lut40041; + + architecture Structure of lut40041 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0101") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_58 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_58 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_58"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; + + end SLICE_58; + + architecture Structure of SLICE_58 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_en_ss0_0_a2_0: lut40041 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + n8MEGEN_5_i_m2: lut40023 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + n8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40042 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40042 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; + + end lut40042; + + architecture Structure of lut40042 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0BFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40043 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40043 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; + + end lut40043; + + architecture Structure of lut40043 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2232") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0044 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0044 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0044 : ENTITY IS TRUE; + + end vmuxregsre0044; + + architecture Structure of vmuxregsre0044 is + component FL1P3BX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3BX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_59 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_59 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_59"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; + + end SLICE_59; + + architecture Structure of SLICE_59 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40043 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_0: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_RNO: lut40043 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCAS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40045 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40045 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; + + end lut40045; + + architecture Structure of lut40045 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xE6EE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40046 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40046 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; + + end lut40046; + + architecture Structure of lut40046 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3233") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_60 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_60 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_60"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; + + end SLICE_60; + + architecture Structure of SLICE_60 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_RNO_0: lut40045 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCS_RNO: lut40046 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40047 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40047 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; + + end lut40047; + + architecture Structure of lut40047 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5400") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40048 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40048 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; + + end lut40048; + + architecture Structure of lut40048 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5051") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_61 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_61 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_61"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; + + end SLICE_61; + + architecture Structure of SLICE_61 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40048 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0: lut40047 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRRAS_RNO: lut40048 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRRAS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40049 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40049 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; + + end lut40049; + + architecture Structure of lut40049 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40050 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40050 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40050 : ENTITY IS TRUE; + + end lut40050; + + architecture Structure of lut40050 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF4F7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_62 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_62 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_62"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; + + end SLICE_62; + + architecture Structure of SLICE_62 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40050 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_0_sqmuxa_1_0_a3: lut40049 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRWE_RNO: lut40050 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRWE: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40051 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40051 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; + + end lut40051; + + architecture Structure of lut40051 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40052 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40052 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; + + end lut40052; + + architecture Structure of lut40052 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCEC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_63 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_63 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_63"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; + + end SLICE_63; + + architecture Structure of SLICE_63 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40051 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_0_0_a3_0: lut40051 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRowColSel_0_0: lut40052 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRowColSel: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40053 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40053 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; + + end lut40053; + + architecture Structure of lut40053 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40054 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40054 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; + + end lut40054; + + architecture Structure of lut40054 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_64 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_64 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_64"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; + + end SLICE_64; + + architecture Structure of SLICE_64 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0044 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40054 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS15_0_a2: lut40053 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nUFMCS_s_0_N_5_i: lut40054 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nUFMCS: vmuxregsre0044 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40055 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40055 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; + + end lut40055; + + architecture Structure of lut40055 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40056 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40056 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; + + end lut40056; + + architecture Structure of lut40056 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity nRWE_RNO_1_SLICE_65 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWE_RNO_1_SLICE_65 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWE_RNO_1_SLICE_65"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; + + end nRWE_RNO_1_SLICE_65; + + architecture Structure of nRWE_RNO_1_SLICE_65 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + component lut40055 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40056 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_1_SLICE_65_K1: lut40055 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); + nRWE_RNO_1_GATE: lut40056 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); + nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 + port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, + D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, + Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_ipd, OFX0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + OFX0_zd := OFX0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 7 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 8 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40057 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40057 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; + + end lut40057; + + architecture Structure of lut40057 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0B0B") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_66 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_66 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_66"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; + + end SLICE_66; + + architecture Structure of SLICE_66 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40057 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS_s_0_N_5_i_N_2L1: lut40057 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_a2_2_2: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40058 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40058 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; + + end lut40058; + + architecture Structure of lut40058 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0059 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0059 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0059 : ENTITY IS TRUE; + + end vmuxregsre0059; + + architecture Structure of vmuxregsre0059 is + component FL1P3JY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3JY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_67 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_67 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_67"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; + + end SLICE_67; + + architecture Structure of SLICE_67 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0059 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + CmdUFMCLK_1_sqmuxa_0_a2: lut40058 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG18_0_a2: lut40005 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_5: vmuxregsre0059 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_4: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40060 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40060 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; + + end lut40060; + + architecture Structure of lut40060 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEAAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_68 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_68 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_68"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; + + end SLICE_68; + + architecture Structure of SLICE_68 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2_0_1: lut40053 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_14_i_0: lut40060 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40061 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40061 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; + + end lut40061; + + architecture Structure of lut40061 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0100") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_69 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_69 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_69"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; + + end SLICE_69; + + architecture Structure of SLICE_69 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_13_i_a2_1: lut40061 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_0: lut40060 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40062 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40062 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; + + end lut40062; + + architecture Structure of lut40062 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8888") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_70 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_70 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_70"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; + + end SLICE_70; + + architecture Structure of SLICE_70 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2: lut40062 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_71 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_71 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_71"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; + + end SLICE_71; + + architecture Structure of SLICE_71 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_4: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2_0_10: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40063 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40063 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; + + end lut40063; + + architecture Structure of lut40063 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFEFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40064 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40064 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; + + end lut40064; + + architecture Structure of lut40064 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAAC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_72 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_72 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_72"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; + + end SLICE_72; + + architecture Structure of SLICE_72 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0: lut40063 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_m2: lut40064 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_3: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_2: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40065 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40065 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; + + end lut40065; + + architecture Structure of lut40065 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFF7") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_73 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_73 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_73"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; + + end SLICE_73; + + architecture Structure of SLICE_73 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40065 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0: lut40065 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_0_sqmuxa_0_o2: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMCS: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CmdUFMCLK: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_74 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_74 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_74"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; + + end SLICE_74; + + architecture Structure of SLICE_74 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a2_3: lut40062 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady3_0_a2: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMSDI: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40066 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40066 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; + + end lut40066; + + architecture Structure of lut40066 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFDFD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_75 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_75 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_75"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; + + end SLICE_75; + + architecture Structure of SLICE_75 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40066 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_o2_0: lut40066 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_4_u_i_a2_0: lut40041 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + CASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CASr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40067 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40067 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40067 : ENTITY IS TRUE; + + end lut40067; + + architecture Structure of lut40067 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0002") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_76 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_76 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_76"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; + + end SLICE_76; + + architecture Structure of SLICE_76 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40067 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_4: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_4_0: lut40067 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40068 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40068 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; + + end lut40068; + + architecture Structure of lut40068 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4444") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_77 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_77 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_77"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; + + end SLICE_77; + + architecture Structure of SLICE_77 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40068 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_1: lut40068 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_5: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40069 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40069 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; + + end lut40069; + + architecture Structure of lut40069 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7777") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_78 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_78 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_78"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; + + end SLICE_78; + + architecture Structure of SLICE_78 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_o2: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable17_0_a2_4: lut40058 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CBR_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CBR: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40070 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40070 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; + + end lut40070; + + architecture Structure of lut40070 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_79 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_79 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_79"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; + + end SLICE_79; + + architecture Structure of SLICE_79 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40070 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_2: lut40070 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRWE_RNO_0: lut40038 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40071 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40071 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; + + end lut40071; + + architecture Structure of lut40071 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4101") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_80 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_80 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_80"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; + + end SLICE_80; + + architecture Structure of SLICE_80 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0059 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40071 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_RNO_1: lut40024 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRCAS_RNO_0: lut40071 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_9: vmuxregsre0059 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_8: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40072 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40072 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; + + end lut40072; + + architecture Structure of lut40072 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_81 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_81 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_81"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; + + end SLICE_81; + + architecture Structure of SLICE_81 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0_3: lut40072 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady3_0_a2_5: lut4 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + FWEr_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + FWEr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40073 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40073 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; + + end lut40073; + + architecture Structure of lut40073 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40074 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40074 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; + + end lut40074; + + architecture Structure of lut40074 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0222") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_82 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_82 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_82"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; + + end SLICE_82; + + architecture Structure of SLICE_82 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdLEDEN_4_u_i_a2: lut40073 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_1_sqmuxa_0_a2: lut40074 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40075 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40075 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; + + end lut40075; + + architecture Structure of lut40075 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x7F7F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_83 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_83 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_83"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; + + end SLICE_83; + + architecture Structure of SLICE_83 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_o2: lut40063 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_0_sqmuxa_0_o2: lut40075 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + RBA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RBA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_84 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_84 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_84"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; + + end SLICE_84; + + architecture Structure of SLICE_84 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a2_4_2: lut40028 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_a2_6: lut40061 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40076 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40076 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; + + end lut40076; + + architecture Structure of lut40076 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_85 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_85 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_85"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; + + end SLICE_85; + + architecture Structure of SLICE_85 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40076 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2_3: lut40076 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_Din_4: lut40053 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_86 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_86 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_86"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; + + end SLICE_86; + + architecture Structure of SLICE_86 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQML: lut40069 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_9: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40077 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40077 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; + + end lut40077; + + architecture Structure of lut40077 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3232") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_87 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_87 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_87"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; + + end SLICE_87; + + architecture Structure of SLICE_87 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_RNO_0: lut40077 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_FS_13_i_a2_8: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40078 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40078 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; + + end lut40078; + + architecture Structure of lut40078 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0808") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_88 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_88 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_88"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; + + end SLICE_88; + + architecture Structure of SLICE_88 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40078 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_3: lut40078 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nCCAS_pad_RNI01SJ: lut40012 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RowA_7: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_6: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, M1_dly, + M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40079 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40079 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; + + end lut40079; + + architecture Structure of lut40079 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBBBB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_89 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_89 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_89"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; + + end SLICE_89; + + architecture Structure of SLICE_89 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQMH: lut40079 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_8: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40080 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40080 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; + + end lut40080; + + architecture Structure of lut40080 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA8A8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_90 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_90 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_90"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; + + end SLICE_90; + + architecture Structure of SLICE_90 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40080 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_CMDWR: lut40080 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_0: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_91 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_91 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_91"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; + + end SLICE_91; + + architecture Structure of SLICE_91 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_7: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_1: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_92 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_92 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_92"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; + + end SLICE_92; + + architecture Structure of SLICE_92 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_6: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_2: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_93 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_93 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_93"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; + + end SLICE_93; + + architecture Structure of SLICE_93 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_5: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_3: lut40037 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40081 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40081 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; + + end lut40081; + + architecture Structure of lut40081 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1111") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_94 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_94 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_94"; + + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; + + end SLICE_94; + + architecture Structure of SLICE_94 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M0_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0059 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40081 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0_RNIS63D: lut40081 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN_8_u_0_a2_1_s: lut40062 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + RA10: vmuxregsre0059 + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (B1_ipd, A1_ipd, B0_ipd, A0_ipd, M0_dly, LSR_dly, + CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf is + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; + + end mjiobuf; + + architecture Structure of mjiobuf is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + component OBW + port (I: in Std_logic; T: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PADI, O=>Z); + INST2: OBW + port map (I=>I, T=>T, O=>PAD); + end Structure; + +-- entity RD_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD0 : VitalDelayType := 0 ns; + tpw_RD0_posedge : VitalDelayType := 0 ns; + tpw_RD0_negedge : VitalDelayType := 0 ns; + tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; + + end RD_0_B; + + architecture Structure of RD_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD0_ipd : std_logic := 'X'; + signal RD0_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_0: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, + PADI=>RD0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD0_ipd, RD0, tipd_RD0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD0_zd : std_logic := 'X'; + VARIABLE RD0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD0_RD0 : x01 := '0'; + VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD0_ipd, + TestSignalName => "RD0", + Period => tperiod_RD0, + PulseWidthHigh => tpw_RD0_posedge, + PulseWidthLow => tpw_RD0_negedge, + PeriodData => periodcheckinfo_RD0, + Violation => tviol_RD0_RD0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD0_zd := RD0_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD0_ipd'last_event, + PathDelay => tpd_RD0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD0, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD0, + PathCondition => TRUE)), + GlitchData => RD0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0082 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0082 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0082 : ENTITY IS TRUE; + + end mjiobuf0082; + + architecture Structure of mjiobuf0082 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity Dout_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; + + end Dout_0_B; + + architecture Structure of Dout_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout0_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_0: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) + VARIABLE Dout0_zd : std_logic := 'X'; + VARIABLE Dout0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout0_zd := Dout0_out; + + VitalPathDelay01Z ( + OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout0, + PathCondition => TRUE)), + GlitchData => Dout0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0083 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0083 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0083 : ENTITY IS TRUE; + + end mjiobuf0083; + + architecture Structure of mjiobuf0083 is + component IBPD + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPD + port map (I=>PAD, O=>Z); + end Structure; + +-- entity PHI2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity PHI2B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2B"; + + tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); + tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_PHI2S : VitalDelayType := 0 ns; + tpw_PHI2S_posedge : VitalDelayType := 0 ns; + tpw_PHI2S_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; PHI2S: in Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; + + end PHI2B; + + architecture Structure of PHI2B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PHI2S_ipd : std_logic := 'X'; + + component mjiobuf0083 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + PHI2_pad: mjiobuf0083 + port map (Z=>PADDI_out, PAD=>PHI2S_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; + VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => PHI2S_ipd, + TestSignalName => "PHI2S", + Period => tperiod_PHI2S, + PulseWidthHigh => tpw_PHI2S_posedge, + PulseWidthLow => tpw_PHI2S_negedge, + PeriodData => periodcheckinfo_PHI2S, + Violation => tviol_PHI2S_PHI2S, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, + PathDelay => tpd_PHI2S_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0084 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0084 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0084 : ENTITY IS TRUE; + + end mjiobuf0084; + + architecture Structure of mjiobuf0084 is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PAD, O=>Z); + end Structure; + +-- entity UFMSDOB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDOB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDOB"; + + tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); + tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_UFMSDOS : VitalDelayType := 0 ns; + tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; + tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; + + end UFMSDOB; + + architecture Structure of UFMSDOB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal UFMSDOS_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + UFMSDO_pad: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; + VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => UFMSDOS_ipd, + TestSignalName => "UFMSDOS", + Period => tperiod_UFMSDOS, + PulseWidthHigh => tpw_UFMSDOS_posedge, + PulseWidthLow => tpw_UFMSDOS_negedge, + PeriodData => periodcheckinfo_UFMSDOS, + Violation => tviol_UFMSDOS_UFMSDOS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, + PathDelay => tpd_UFMSDOS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0085 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0085 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0085 : ENTITY IS TRUE; + + end mjiobuf0085; + + architecture Structure of mjiobuf0085 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity UFMSDIB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDIB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDIB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; + + end UFMSDIB; + + architecture Structure of UFMSDIB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMSDIS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMSDI_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) + VARIABLE UFMSDIS_zd : std_logic := 'X'; + VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMSDIS_zd := UFMSDIS_out; + + VitalPathDelay01Z ( + OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMSDIS, + PathCondition => TRUE)), + GlitchData => UFMSDIS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity UFMCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMCLKB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; + + end UFMCLKB; + + architecture Structure of UFMCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMCLKS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMCLK_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) + VARIABLE UFMCLKS_zd : std_logic := 'X'; + VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMCLKS_zd := UFMCLKS_out; + + VitalPathDelay01Z ( + OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMCLKS, + PathCondition => TRUE)), + GlitchData => UFMCLKS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nUFMCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nUFMCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nUFMCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; + + end nUFMCSB; + + architecture Structure of nUFMCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nUFMCSS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nUFMCS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) + VARIABLE nUFMCSS_zd : std_logic := 'X'; + VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nUFMCSS_zd := nUFMCSS_out; + + VitalPathDelay01Z ( + OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nUFMCSS, + PathCondition => TRUE)), + GlitchData => nUFMCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMLB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMLB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMLB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; + + end RDQMLB; + + architecture Structure of RDQMLB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMLS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQML_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RDQMLS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) + VARIABLE RDQMLS_zd : std_logic := 'X'; + VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMLS_zd := RDQMLS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMLS, + PathCondition => TRUE)), + GlitchData => RDQMLS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMHB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMHB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMHB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; + + end RDQMHB; + + architecture Structure of RDQMHB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMHS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQMH_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RDQMHS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) + VARIABLE RDQMHS_zd : std_logic := 'X'; + VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMHS_zd := RDQMHS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMHS, + PathCondition => TRUE)), + GlitchData => RDQMHS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; + + end nRCASB; + + architecture Structure of nRCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCASS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCAS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRCASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) + VARIABLE nRCASS_zd : std_logic := 'X'; + VARIABLE nRCASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCASS_zd := nRCASS_out; + + VitalPathDelay01Z ( + OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCASS, + PathCondition => TRUE)), + GlitchData => nRCASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRRASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; + + end nRRASB; + + architecture Structure of nRRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRRASS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRRAS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRRASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) + VARIABLE nRRASS_zd : std_logic := 'X'; + VARIABLE nRRASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRRASS_zd := nRRASS_out; + + VitalPathDelay01Z ( + OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRRASS, + PathCondition => TRUE)), + GlitchData => nRRASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRWES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; + + end nRWEB; + + architecture Structure of nRWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRWES_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRWE_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRWES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) + VARIABLE nRWES_zd : std_logic := 'X'; + VARIABLE nRWES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRWES_zd := nRWES_out; + + VitalPathDelay01Z ( + OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRWES, + PathCondition => TRUE)), + GlitchData => nRWES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCKEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCKEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCKEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RCKES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; + + end RCKEB; + + architecture Structure of RCKEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RCKES_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RCKE_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RCKES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) + VARIABLE RCKES_zd : std_logic := 'X'; + VARIABLE RCKES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RCKES_zd := RCKES_out; + + VitalPathDelay01Z ( + OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RCKES, + PathCondition => TRUE)), + GlitchData => RCKES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCLKB"; + + tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); + tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RCLKS : VitalDelayType := 0 ns; + tpw_RCLKS_posedge : VitalDelayType := 0 ns; + tpw_RCLKS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; RCLKS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; + + end RCLKB; + + architecture Structure of RCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal RCLKS_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + RCLK_pad: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>RCLKS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; + VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RCLKS_ipd, + TestSignalName => "RCLKS", + Period => tperiod_RCLKS, + PulseWidthHigh => tpw_RCLKS_posedge, + PulseWidthLow => tpw_RCLKS_negedge, + PeriodData => periodcheckinfo_RCLKS, + Violation => tviol_RCLKS_RCLKS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, + PathDelay => tpd_RCLKS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; + + end nRCSB; + + architecture Structure of nRCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCSS_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCS_pad: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>nRCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) + VARIABLE nRCSS_zd : std_logic := 'X'; + VARIABLE nRCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCSS_zd := nRCSS_out; + + VitalPathDelay01Z ( + OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCSS, + PathCondition => TRUE)), + GlitchData => nRCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD7 : VitalDelayType := 0 ns; + tpw_RD7_posedge : VitalDelayType := 0 ns; + tpw_RD7_negedge : VitalDelayType := 0 ns; + tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; + + end RD_7_B; + + architecture Structure of RD_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD7_ipd : std_logic := 'X'; + signal RD7_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_7: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, + PADI=>RD7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD7_ipd, RD7, tipd_RD7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD7_zd : std_logic := 'X'; + VARIABLE RD7_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD7_RD7 : x01 := '0'; + VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD7_ipd, + TestSignalName => "RD7", + Period => tperiod_RD7, + PulseWidthHigh => tpw_RD7_posedge, + PulseWidthLow => tpw_RD7_negedge, + PeriodData => periodcheckinfo_RD7, + Violation => tviol_RD7_RD7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD7_zd := RD7_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD7_ipd'last_event, + PathDelay => tpd_RD7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD7, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD7, + PathCondition => TRUE)), + GlitchData => RD7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD6 : VitalDelayType := 0 ns; + tpw_RD6_posedge : VitalDelayType := 0 ns; + tpw_RD6_negedge : VitalDelayType := 0 ns; + tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; + + end RD_6_B; + + architecture Structure of RD_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD6_ipd : std_logic := 'X'; + signal RD6_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_6: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, + PADI=>RD6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD6_ipd, RD6, tipd_RD6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD6_zd : std_logic := 'X'; + VARIABLE RD6_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD6_RD6 : x01 := '0'; + VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD6_ipd, + TestSignalName => "RD6", + Period => tperiod_RD6, + PulseWidthHigh => tpw_RD6_posedge, + PulseWidthLow => tpw_RD6_negedge, + PeriodData => periodcheckinfo_RD6, + Violation => tviol_RD6_RD6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD6_zd := RD6_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD6_ipd'last_event, + PathDelay => tpd_RD6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD6, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD6, + PathCondition => TRUE)), + GlitchData => RD6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD5 : VitalDelayType := 0 ns; + tpw_RD5_posedge : VitalDelayType := 0 ns; + tpw_RD5_negedge : VitalDelayType := 0 ns; + tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; + + end RD_5_B; + + architecture Structure of RD_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD5_ipd : std_logic := 'X'; + signal RD5_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_5: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, + PADI=>RD5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD5_ipd, RD5, tipd_RD5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD5_zd : std_logic := 'X'; + VARIABLE RD5_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD5_RD5 : x01 := '0'; + VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD5_ipd, + TestSignalName => "RD5", + Period => tperiod_RD5, + PulseWidthHigh => tpw_RD5_posedge, + PulseWidthLow => tpw_RD5_negedge, + PeriodData => periodcheckinfo_RD5, + Violation => tviol_RD5_RD5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD5_zd := RD5_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD5_ipd'last_event, + PathDelay => tpd_RD5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD5, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD5, + PathCondition => TRUE)), + GlitchData => RD5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD4 : VitalDelayType := 0 ns; + tpw_RD4_posedge : VitalDelayType := 0 ns; + tpw_RD4_negedge : VitalDelayType := 0 ns; + tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; + + end RD_4_B; + + architecture Structure of RD_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD4_ipd : std_logic := 'X'; + signal RD4_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_4: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, + PADI=>RD4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD4_ipd, RD4, tipd_RD4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD4_zd : std_logic := 'X'; + VARIABLE RD4_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD4_RD4 : x01 := '0'; + VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD4_ipd, + TestSignalName => "RD4", + Period => tperiod_RD4, + PulseWidthHigh => tpw_RD4_posedge, + PulseWidthLow => tpw_RD4_negedge, + PeriodData => periodcheckinfo_RD4, + Violation => tviol_RD4_RD4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD4_zd := RD4_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD4_ipd'last_event, + PathDelay => tpd_RD4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD4, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD4, + PathCondition => TRUE)), + GlitchData => RD4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD3 : VitalDelayType := 0 ns; + tpw_RD3_posedge : VitalDelayType := 0 ns; + tpw_RD3_negedge : VitalDelayType := 0 ns; + tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; + + end RD_3_B; + + architecture Structure of RD_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD3_ipd : std_logic := 'X'; + signal RD3_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_3: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, + PADI=>RD3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD3_ipd, RD3, tipd_RD3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD3_zd : std_logic := 'X'; + VARIABLE RD3_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD3_RD3 : x01 := '0'; + VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD3_ipd, + TestSignalName => "RD3", + Period => tperiod_RD3, + PulseWidthHigh => tpw_RD3_posedge, + PulseWidthLow => tpw_RD3_negedge, + PeriodData => periodcheckinfo_RD3, + Violation => tviol_RD3_RD3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD3_zd := RD3_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD3_ipd'last_event, + PathDelay => tpd_RD3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD3, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD3, + PathCondition => TRUE)), + GlitchData => RD3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD2 : VitalDelayType := 0 ns; + tpw_RD2_posedge : VitalDelayType := 0 ns; + tpw_RD2_negedge : VitalDelayType := 0 ns; + tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; + + end RD_2_B; + + architecture Structure of RD_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD2_ipd : std_logic := 'X'; + signal RD2_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_2: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, + PADI=>RD2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD2_ipd, RD2, tipd_RD2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD2_zd : std_logic := 'X'; + VARIABLE RD2_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD2_RD2 : x01 := '0'; + VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD2_ipd, + TestSignalName => "RD2", + Period => tperiod_RD2, + PulseWidthHigh => tpw_RD2_posedge, + PulseWidthLow => tpw_RD2_negedge, + PeriodData => periodcheckinfo_RD2, + Violation => tviol_RD2_RD2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD2_zd := RD2_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD2_ipd'last_event, + PathDelay => tpd_RD2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD2, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD2, + PathCondition => TRUE)), + GlitchData => RD2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD1 : VitalDelayType := 0 ns; + tpw_RD1_posedge : VitalDelayType := 0 ns; + tpw_RD1_negedge : VitalDelayType := 0 ns; + tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; + + end RD_1_B; + + architecture Structure of RD_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD1_ipd : std_logic := 'X'; + signal RD1_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_1: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, + PADI=>RD1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD1_ipd, RD1, tipd_RD1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD1_zd : std_logic := 'X'; + VARIABLE RD1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD1_RD1 : x01 := '0'; + VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD1_ipd, + TestSignalName => "RD1", + Period => tperiod_RD1, + PulseWidthHigh => tpw_RD1_posedge, + PulseWidthLow => tpw_RD1_negedge, + PeriodData => periodcheckinfo_RD1, + Violation => tviol_RD1_RD1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD1_zd := RD1_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD1_ipd'last_event, + PathDelay => tpd_RD1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD1, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD1, + PathCondition => TRUE)), + GlitchData => RD1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_11_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA11: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; + + end RA_11_B; + + architecture Structure of RA_11_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA11_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_11: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA11_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA11_out) + VARIABLE RA11_zd : std_logic := 'X'; + VARIABLE RA11_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA11_zd := RA11_out; + + VitalPathDelay01Z ( + OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA11, + PathCondition => TRUE)), + GlitchData => RA11_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_10_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_10_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA10: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; + + end RA_10_B; + + architecture Structure of RA_10_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA10_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_10: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA10_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA10_out) + VARIABLE RA10_zd : std_logic := 'X'; + VARIABLE RA10_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA10_zd := RA10_out; + + VitalPathDelay01Z ( + OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA10, + PathCondition => TRUE)), + GlitchData => RA10_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_9_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA9: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; + + end RA_9_B; + + architecture Structure of RA_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA9_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_9: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA9_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA9_out) + VARIABLE RA9_zd : std_logic := 'X'; + VARIABLE RA9_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA9_zd := RA9_out; + + VitalPathDelay01Z ( + OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA9, + PathCondition => TRUE)), + GlitchData => RA9_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_8_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA8: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; + + end RA_8_B; + + architecture Structure of RA_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA8_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_8: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA8_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA8_out) + VARIABLE RA8_zd : std_logic := 'X'; + VARIABLE RA8_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA8_zd := RA8_out; + + VitalPathDelay01Z ( + OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA8, + PathCondition => TRUE)), + GlitchData => RA8_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; + + end RA_7_B; + + architecture Structure of RA_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA7_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_7: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA7_out) + VARIABLE RA7_zd : std_logic := 'X'; + VARIABLE RA7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA7_zd := RA7_out; + + VitalPathDelay01Z ( + OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA7, + PathCondition => TRUE)), + GlitchData => RA7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; + + end RA_6_B; + + architecture Structure of RA_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA6_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_6: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA6_out) + VARIABLE RA6_zd : std_logic := 'X'; + VARIABLE RA6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA6_zd := RA6_out; + + VitalPathDelay01Z ( + OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA6, + PathCondition => TRUE)), + GlitchData => RA6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; + + end RA_5_B; + + architecture Structure of RA_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA5_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_5: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA5_out) + VARIABLE RA5_zd : std_logic := 'X'; + VARIABLE RA5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA5_zd := RA5_out; + + VitalPathDelay01Z ( + OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA5, + PathCondition => TRUE)), + GlitchData => RA5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; + + end RA_4_B; + + architecture Structure of RA_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA4_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_4: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA4_out) + VARIABLE RA4_zd : std_logic := 'X'; + VARIABLE RA4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA4_zd := RA4_out; + + VitalPathDelay01Z ( + OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA4, + PathCondition => TRUE)), + GlitchData => RA4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; + + end RA_3_B; + + architecture Structure of RA_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA3_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_3: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA3_out) + VARIABLE RA3_zd : std_logic := 'X'; + VARIABLE RA3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA3_zd := RA3_out; + + VitalPathDelay01Z ( + OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA3, + PathCondition => TRUE)), + GlitchData => RA3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; + + end RA_2_B; + + architecture Structure of RA_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA2_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_2: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA2_out) + VARIABLE RA2_zd : std_logic := 'X'; + VARIABLE RA2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA2_zd := RA2_out; + + VitalPathDelay01Z ( + OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA2, + PathCondition => TRUE)), + GlitchData => RA2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; + + end RA_1_B; + + architecture Structure of RA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA1_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_1: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA1_out) + VARIABLE RA1_zd : std_logic := 'X'; + VARIABLE RA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA1_zd := RA1_out; + + VitalPathDelay01Z ( + OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA1, + PathCondition => TRUE)), + GlitchData => RA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; + + end RA_0_B; + + architecture Structure of RA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA0_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_0: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA0_out) + VARIABLE RA0_zd : std_logic := 'X'; + VARIABLE RA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA0_zd := RA0_out; + + VitalPathDelay01Z ( + OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA0, + PathCondition => TRUE)), + GlitchData => RA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; + + end RBA_1_B; + + architecture Structure of RBA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA1_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_1: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RBA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) + VARIABLE RBA1_zd : std_logic := 'X'; + VARIABLE RBA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA1_zd := RBA1_out; + + VitalPathDelay01Z ( + OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA1, + PathCondition => TRUE)), + GlitchData => RBA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; + + end RBA_0_B; + + architecture Structure of RBA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA0_out : std_logic := 'X'; + + component mjiobuf0085 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_0: mjiobuf0085 + port map (I=>PADDO_ipd, PAD=>RBA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) + VARIABLE RBA0_zd : std_logic := 'X'; + VARIABLE RBA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA0_zd := RBA0_out; + + VitalPathDelay01Z ( + OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA0, + PathCondition => TRUE)), + GlitchData => RBA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0086 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0086 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0086 : ENTITY IS TRUE; + + end mjiobuf0086; + + architecture Structure of mjiobuf0086 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity LEDB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity LEDB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "LEDB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; LEDS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; + + end LEDB; + + architecture Structure of LEDB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal LEDS_out : std_logic := 'X'; + + component mjiobuf0086 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + LED_pad: mjiobuf0086 + port map (I=>PADDO_ipd, PAD=>LEDS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) + VARIABLE LEDS_zd : std_logic := 'X'; + VARIABLE LEDS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + LEDS_zd := LEDS_out; + + VitalPathDelay01Z ( + OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_LEDS, + PathCondition => TRUE)), + GlitchData => LEDS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nFWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nFWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nFWEB"; + + tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); + tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nFWES : VitalDelayType := 0 ns; + tpw_nFWES_posedge : VitalDelayType := 0 ns; + tpw_nFWES_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nFWES: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; + + end nFWEB; + + architecture Structure of nFWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nFWES_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nFWE_pad: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>nFWES_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nFWES_nFWES : x01 := '0'; + VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nFWES_ipd, + TestSignalName => "nFWES", + Period => tperiod_nFWES, + PulseWidthHigh => tpw_nFWES_posedge, + PulseWidthLow => tpw_nFWES_negedge, + PeriodData => periodcheckinfo_nFWES, + Violation => tviol_nFWES_nFWES, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, + PathDelay => tpd_nFWES_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0087 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0087 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0087 : ENTITY IS TRUE; + + end mjiobuf0087; + + architecture Structure of mjiobuf0087 is + component IBPU + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPU + port map (I=>PAD, O=>Z); + end Structure; + +-- entity nCRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCRASB"; + + tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCRASS : VitalDelayType := 0 ns; + tpw_nCRASS_posedge : VitalDelayType := 0 ns; + tpw_nCRASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCRASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; + + end nCRASB; + + architecture Structure of nCRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCRASS_ipd : std_logic := 'X'; + + component mjiobuf0087 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCRAS_pad: mjiobuf0087 + port map (Z=>PADDI_out, PAD=>nCRASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; + VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCRASS_ipd, + TestSignalName => "nCRASS", + Period => tperiod_nCRASS, + PulseWidthHigh => tpw_nCRASS_posedge, + PulseWidthLow => tpw_nCRASS_negedge, + PeriodData => periodcheckinfo_nCRASS, + Violation => tviol_nCRASS_nCRASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, + PathDelay => tpd_nCRASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCCASB"; + + tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCCASS : VitalDelayType := 0 ns; + tpw_nCCASS_posedge : VitalDelayType := 0 ns; + tpw_nCCASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCCASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; + + end nCCASB; + + architecture Structure of nCCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCCASS_ipd : std_logic := 'X'; + + component mjiobuf0087 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCCAS_pad: mjiobuf0087 + port map (Z=>PADDI_out, PAD=>nCCASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; + VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCCASS_ipd, + TestSignalName => "nCCASS", + Period => tperiod_nCCASS, + PulseWidthHigh => tpw_nCCASS_posedge, + PulseWidthLow => tpw_nCCASS_negedge, + PeriodData => periodcheckinfo_nCCASS, + Violation => tviol_nCCASS_nCCASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, + PathDelay => tpd_nCCASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; + + end Dout_7_B; + + architecture Structure of Dout_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout7_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_7: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) + VARIABLE Dout7_zd : std_logic := 'X'; + VARIABLE Dout7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout7_zd := Dout7_out; + + VitalPathDelay01Z ( + OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout7, + PathCondition => TRUE)), + GlitchData => Dout7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; + + end Dout_6_B; + + architecture Structure of Dout_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout6_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_6: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) + VARIABLE Dout6_zd : std_logic := 'X'; + VARIABLE Dout6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout6_zd := Dout6_out; + + VitalPathDelay01Z ( + OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout6, + PathCondition => TRUE)), + GlitchData => Dout6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; + + end Dout_5_B; + + architecture Structure of Dout_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout5_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_5: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) + VARIABLE Dout5_zd : std_logic := 'X'; + VARIABLE Dout5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout5_zd := Dout5_out; + + VitalPathDelay01Z ( + OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout5, + PathCondition => TRUE)), + GlitchData => Dout5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; + + end Dout_4_B; + + architecture Structure of Dout_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout4_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_4: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) + VARIABLE Dout4_zd : std_logic := 'X'; + VARIABLE Dout4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout4_zd := Dout4_out; + + VitalPathDelay01Z ( + OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout4, + PathCondition => TRUE)), + GlitchData => Dout4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; + + end Dout_3_B; + + architecture Structure of Dout_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout3_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_3: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) + VARIABLE Dout3_zd : std_logic := 'X'; + VARIABLE Dout3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout3_zd := Dout3_out; + + VitalPathDelay01Z ( + OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout3, + PathCondition => TRUE)), + GlitchData => Dout3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; + + end Dout_2_B; + + architecture Structure of Dout_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout2_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_2: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) + VARIABLE Dout2_zd : std_logic := 'X'; + VARIABLE Dout2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout2_zd := Dout2_out; + + VitalPathDelay01Z ( + OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout2, + PathCondition => TRUE)), + GlitchData => Dout2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; + + end Dout_1_B; + + architecture Structure of Dout_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout1_out : std_logic := 'X'; + + component mjiobuf0082 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_1: mjiobuf0082 + port map (I=>PADDO_ipd, PAD=>Dout1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) + VARIABLE Dout1_zd : std_logic := 'X'; + VARIABLE Dout1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout1_zd := Dout1_out; + + VitalPathDelay01Z ( + OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout1, + PathCondition => TRUE)), + GlitchData => Dout1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_B"; + + tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din7 : VitalDelayType := 0 ns; + tpw_Din7_posedge : VitalDelayType := 0 ns; + tpw_Din7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; + + end Din_7_B; + + architecture Structure of Din_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din7_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_7: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din7_ipd, Din7, tipd_Din7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din7_Din7 : x01 := '0'; + VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din7_ipd, + TestSignalName => "Din7", + Period => tperiod_Din7, + PulseWidthHigh => tpw_Din7_posedge, + PulseWidthLow => tpw_Din7_negedge, + PeriodData => periodcheckinfo_Din7, + Violation => tviol_Din7_Din7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din7_ipd'last_event, + PathDelay => tpd_Din7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_B"; + + tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din6 : VitalDelayType := 0 ns; + tpw_Din6_posedge : VitalDelayType := 0 ns; + tpw_Din6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; + + end Din_6_B; + + architecture Structure of Din_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din6_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_6: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din6_ipd, Din6, tipd_Din6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din6_Din6 : x01 := '0'; + VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din6_ipd, + TestSignalName => "Din6", + Period => tperiod_Din6, + PulseWidthHigh => tpw_Din6_posedge, + PulseWidthLow => tpw_Din6_negedge, + PeriodData => periodcheckinfo_Din6, + Violation => tviol_Din6_Din6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din6_ipd'last_event, + PathDelay => tpd_Din6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_B"; + + tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din5 : VitalDelayType := 0 ns; + tpw_Din5_posedge : VitalDelayType := 0 ns; + tpw_Din5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; + + end Din_5_B; + + architecture Structure of Din_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din5_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_5: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din5_ipd, Din5, tipd_Din5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din5_Din5 : x01 := '0'; + VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din5_ipd, + TestSignalName => "Din5", + Period => tperiod_Din5, + PulseWidthHigh => tpw_Din5_posedge, + PulseWidthLow => tpw_Din5_negedge, + PeriodData => periodcheckinfo_Din5, + Violation => tviol_Din5_Din5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din5_ipd'last_event, + PathDelay => tpd_Din5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_B"; + + tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din4 : VitalDelayType := 0 ns; + tpw_Din4_posedge : VitalDelayType := 0 ns; + tpw_Din4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; + + end Din_4_B; + + architecture Structure of Din_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din4_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_4: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din4_ipd, Din4, tipd_Din4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din4_Din4 : x01 := '0'; + VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din4_ipd, + TestSignalName => "Din4", + Period => tperiod_Din4, + PulseWidthHigh => tpw_Din4_posedge, + PulseWidthLow => tpw_Din4_negedge, + PeriodData => periodcheckinfo_Din4, + Violation => tviol_Din4_Din4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din4_ipd'last_event, + PathDelay => tpd_Din4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_B"; + + tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din3 : VitalDelayType := 0 ns; + tpw_Din3_posedge : VitalDelayType := 0 ns; + tpw_Din3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; + + end Din_3_B; + + architecture Structure of Din_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din3_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_3: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din3_ipd, Din3, tipd_Din3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din3_Din3 : x01 := '0'; + VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din3_ipd, + TestSignalName => "Din3", + Period => tperiod_Din3, + PulseWidthHigh => tpw_Din3_posedge, + PulseWidthLow => tpw_Din3_negedge, + PeriodData => periodcheckinfo_Din3, + Violation => tviol_Din3_Din3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din3_ipd'last_event, + PathDelay => tpd_Din3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_B"; + + tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din2 : VitalDelayType := 0 ns; + tpw_Din2_posedge : VitalDelayType := 0 ns; + tpw_Din2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; + + end Din_2_B; + + architecture Structure of Din_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din2_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_2: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din2_ipd, Din2, tipd_Din2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din2_Din2 : x01 := '0'; + VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din2_ipd, + TestSignalName => "Din2", + Period => tperiod_Din2, + PulseWidthHigh => tpw_Din2_posedge, + PulseWidthLow => tpw_Din2_negedge, + PeriodData => periodcheckinfo_Din2, + Violation => tviol_Din2_Din2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din2_ipd'last_event, + PathDelay => tpd_Din2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_B"; + + tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din1 : VitalDelayType := 0 ns; + tpw_Din1_posedge : VitalDelayType := 0 ns; + tpw_Din1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; + + end Din_1_B; + + architecture Structure of Din_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din1_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_1: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din1_ipd, Din1, tipd_Din1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din1_Din1 : x01 := '0'; + VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din1_ipd, + TestSignalName => "Din1", + Period => tperiod_Din1, + PulseWidthHigh => tpw_Din1_posedge, + PulseWidthLow => tpw_Din1_negedge, + PeriodData => periodcheckinfo_Din1, + Violation => tviol_Din1_Din1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din1_ipd'last_event, + PathDelay => tpd_Din1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_B"; + + tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din0 : VitalDelayType := 0 ns; + tpw_Din0_posedge : VitalDelayType := 0 ns; + tpw_Din0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; + + end Din_0_B; + + architecture Structure of Din_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din0_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_0: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>Din0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din0_ipd, Din0, tipd_Din0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din0_Din0 : x01 := '0'; + VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din0_ipd, + TestSignalName => "Din0", + Period => tperiod_Din0, + PulseWidthHigh => tpw_Din0_posedge, + PulseWidthLow => tpw_Din0_negedge, + PeriodData => periodcheckinfo_Din0, + Violation => tviol_Din0_Din0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din0_ipd'last_event, + PathDelay => tpd_Din0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_1_B"; + + tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW1 : VitalDelayType := 0 ns; + tpw_CROW1_posedge : VitalDelayType := 0 ns; + tpw_CROW1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; + + end CROW_1_B; + + architecture Structure of CROW_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW1_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_1: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>CROW1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW1_CROW1 : x01 := '0'; + VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW1_ipd, + TestSignalName => "CROW1", + Period => tperiod_CROW1, + PulseWidthHigh => tpw_CROW1_posedge, + PulseWidthLow => tpw_CROW1_negedge, + PeriodData => periodcheckinfo_CROW1, + Violation => tviol_CROW1_CROW1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, + PathDelay => tpd_CROW1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_0_B"; + + tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW0 : VitalDelayType := 0 ns; + tpw_CROW0_posedge : VitalDelayType := 0 ns; + tpw_CROW0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; + + end CROW_0_B; + + architecture Structure of CROW_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW0_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_0: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>CROW0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW0_CROW0 : x01 := '0'; + VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW0_ipd, + TestSignalName => "CROW0", + Period => tperiod_CROW0, + PulseWidthHigh => tpw_CROW0_posedge, + PulseWidthLow => tpw_CROW0_negedge, + PeriodData => periodcheckinfo_CROW0, + Violation => tviol_CROW0_CROW0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, + PathDelay => tpd_CROW0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_9_B"; + + tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin9 : VitalDelayType := 0 ns; + tpw_MAin9_posedge : VitalDelayType := 0 ns; + tpw_MAin9_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin9: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; + + end MAin_9_B; + + architecture Structure of MAin_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin9_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_9: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin9_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin9_MAin9 : x01 := '0'; + VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin9_ipd, + TestSignalName => "MAin9", + Period => tperiod_MAin9, + PulseWidthHigh => tpw_MAin9_posedge, + PulseWidthLow => tpw_MAin9_negedge, + PeriodData => periodcheckinfo_MAin9, + Violation => tviol_MAin9_MAin9, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, + PathDelay => tpd_MAin9_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_8_B"; + + tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin8 : VitalDelayType := 0 ns; + tpw_MAin8_posedge : VitalDelayType := 0 ns; + tpw_MAin8_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin8: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; + + end MAin_8_B; + + architecture Structure of MAin_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin8_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_8: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin8_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin8_MAin8 : x01 := '0'; + VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin8_ipd, + TestSignalName => "MAin8", + Period => tperiod_MAin8, + PulseWidthHigh => tpw_MAin8_posedge, + PulseWidthLow => tpw_MAin8_negedge, + PeriodData => periodcheckinfo_MAin8, + Violation => tviol_MAin8_MAin8, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, + PathDelay => tpd_MAin8_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_7_B"; + + tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin7 : VitalDelayType := 0 ns; + tpw_MAin7_posedge : VitalDelayType := 0 ns; + tpw_MAin7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; + + end MAin_7_B; + + architecture Structure of MAin_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin7_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_7: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin7_MAin7 : x01 := '0'; + VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin7_ipd, + TestSignalName => "MAin7", + Period => tperiod_MAin7, + PulseWidthHigh => tpw_MAin7_posedge, + PulseWidthLow => tpw_MAin7_negedge, + PeriodData => periodcheckinfo_MAin7, + Violation => tviol_MAin7_MAin7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, + PathDelay => tpd_MAin7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_6_B"; + + tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin6 : VitalDelayType := 0 ns; + tpw_MAin6_posedge : VitalDelayType := 0 ns; + tpw_MAin6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; + + end MAin_6_B; + + architecture Structure of MAin_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin6_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_6: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin6_MAin6 : x01 := '0'; + VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin6_ipd, + TestSignalName => "MAin6", + Period => tperiod_MAin6, + PulseWidthHigh => tpw_MAin6_posedge, + PulseWidthLow => tpw_MAin6_negedge, + PeriodData => periodcheckinfo_MAin6, + Violation => tviol_MAin6_MAin6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, + PathDelay => tpd_MAin6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_5_B"; + + tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin5 : VitalDelayType := 0 ns; + tpw_MAin5_posedge : VitalDelayType := 0 ns; + tpw_MAin5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; + + end MAin_5_B; + + architecture Structure of MAin_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin5_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_5: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin5_MAin5 : x01 := '0'; + VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin5_ipd, + TestSignalName => "MAin5", + Period => tperiod_MAin5, + PulseWidthHigh => tpw_MAin5_posedge, + PulseWidthLow => tpw_MAin5_negedge, + PeriodData => periodcheckinfo_MAin5, + Violation => tviol_MAin5_MAin5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, + PathDelay => tpd_MAin5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_4_B"; + + tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin4 : VitalDelayType := 0 ns; + tpw_MAin4_posedge : VitalDelayType := 0 ns; + tpw_MAin4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; + + end MAin_4_B; + + architecture Structure of MAin_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin4_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_4: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin4_MAin4 : x01 := '0'; + VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin4_ipd, + TestSignalName => "MAin4", + Period => tperiod_MAin4, + PulseWidthHigh => tpw_MAin4_posedge, + PulseWidthLow => tpw_MAin4_negedge, + PeriodData => periodcheckinfo_MAin4, + Violation => tviol_MAin4_MAin4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, + PathDelay => tpd_MAin4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_3_B"; + + tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin3 : VitalDelayType := 0 ns; + tpw_MAin3_posedge : VitalDelayType := 0 ns; + tpw_MAin3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; + + end MAin_3_B; + + architecture Structure of MAin_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin3_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_3: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin3_MAin3 : x01 := '0'; + VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin3_ipd, + TestSignalName => "MAin3", + Period => tperiod_MAin3, + PulseWidthHigh => tpw_MAin3_posedge, + PulseWidthLow => tpw_MAin3_negedge, + PeriodData => periodcheckinfo_MAin3, + Violation => tviol_MAin3_MAin3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, + PathDelay => tpd_MAin3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_2_B"; + + tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin2 : VitalDelayType := 0 ns; + tpw_MAin2_posedge : VitalDelayType := 0 ns; + tpw_MAin2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; + + end MAin_2_B; + + architecture Structure of MAin_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin2_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_2: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin2_MAin2 : x01 := '0'; + VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin2_ipd, + TestSignalName => "MAin2", + Period => tperiod_MAin2, + PulseWidthHigh => tpw_MAin2_posedge, + PulseWidthLow => tpw_MAin2_negedge, + PeriodData => periodcheckinfo_MAin2, + Violation => tviol_MAin2_MAin2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, + PathDelay => tpd_MAin2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_1_B"; + + tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin1 : VitalDelayType := 0 ns; + tpw_MAin1_posedge : VitalDelayType := 0 ns; + tpw_MAin1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; + + end MAin_1_B; + + architecture Structure of MAin_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin1_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_1: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin1_MAin1 : x01 := '0'; + VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin1_ipd, + TestSignalName => "MAin1", + Period => tperiod_MAin1, + PulseWidthHigh => tpw_MAin1_posedge, + PulseWidthLow => tpw_MAin1_negedge, + PeriodData => periodcheckinfo_MAin1, + Violation => tviol_MAin1_MAin1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, + PathDelay => tpd_MAin1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_0_B"; + + tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin0 : VitalDelayType := 0 ns; + tpw_MAin0_posedge : VitalDelayType := 0 ns; + tpw_MAin0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; + + end MAin_0_B; + + architecture Structure of MAin_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin0_ipd : std_logic := 'X'; + + component mjiobuf0084 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_0: mjiobuf0084 + port map (Z=>PADDI_out, PAD=>MAin0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin0_MAin0 : x01 := '0'; + VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin0_ipd, + TestSignalName => "MAin0", + Period => tperiod_MAin0, + PulseWidthHigh => tpw_MAin0_posedge, + PulseWidthLow => tpw_MAin0_negedge, + PeriodData => periodcheckinfo_MAin0, + Violation => tviol_MAin0_MAin0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, + PathDelay => tpd_MAin0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RAM2GS + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RAM2GS is + port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); + CROW: in Std_logic_vector (1 downto 0); + Din: in Std_logic_vector (7 downto 0); + Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; + nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; + RBA: out Std_logic_vector (1 downto 0); + RA: out Std_logic_vector (11 downto 0); + RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; + RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; + nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; + RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; + UFMSDI: out Std_logic; UFMSDO: in Std_logic); + + + + end RAM2GS; + + architecture Structure of RAM2GS is + signal FS_1: Std_logic; + signal FS_0: Std_logic; + signal RCLK_c: Std_logic; + signal FS_cry_1: Std_logic; + signal FS_17: Std_logic; + signal FS_16: Std_logic; + signal FS_cry_15: Std_logic; + signal FS_15: Std_logic; + signal FS_14: Std_logic; + signal FS_cry_13: Std_logic; + signal FS_13: Std_logic; + signal FS_12: Std_logic; + signal FS_cry_11: Std_logic; + signal FS_11: Std_logic; + signal FS_10: Std_logic; + signal FS_cry_9: Std_logic; + signal FS_9: Std_logic; + signal FS_8: Std_logic; + signal FS_cry_7: Std_logic; + signal FS_7: Std_logic; + signal FS_6: Std_logic; + signal FS_cry_5: Std_logic; + signal FS_5: Std_logic; + signal FS_4: Std_logic; + signal FS_cry_3: Std_logic; + signal FS_3: Std_logic; + signal FS_2: Std_logic; + signal N_147: Std_logic; + signal MAin_c_0: Std_logic; + signal CmdEnable17_0_a2_4: Std_logic; + signal CmdEnable17_0_a2_3: Std_logic; + signal CmdEnable16: Std_logic; + signal CmdEnable17: Std_logic; + signal C1WR_0_a2: Std_logic; + signal ADSubmitted: Std_logic; + signal ADSubmitted_r: Std_logic; + signal PHI2_c: Std_logic; + signal CmdEnable16_0_a2_5: Std_logic; + signal CmdEnable16_0_a2_4: Std_logic; + signal MAin_c_1: Std_logic; + signal C1Submitted: Std_logic; + signal C1Submitted_RNO: Std_logic; + signal S_1: Std_logic; + signal RASr2: Std_logic; + signal IS_3: Std_logic; + signal CO0: Std_logic; + signal N_177_i: Std_logic; + signal Ready_0_sqmuxa_0_a3_2: Std_logic; + signal CmdEnable: Std_logic; + signal un1_CMDWR: Std_logic; + signal CmdEnable_s: Std_logic; + signal N_128: Std_logic; + signal Din_c_5: Std_logic; + signal Din_c_3: Std_logic; + signal N_152: Std_logic; + signal N_133: Std_logic; + signal N_132: Std_logic; + signal LEDEN: Std_logic; + signal N_21_i: Std_logic; + signal XOR8MEG18: Std_logic; + signal CmdLEDEN: Std_logic; + signal PHI2r3: Std_logic; + signal PHI2r2: Std_logic; + signal InitReady: Std_logic; + signal CmdSubmitted: Std_logic; + signal CmdSubmitted_1_sqmuxa: Std_logic; + signal N_460_0: Std_logic; + signal N_136: Std_logic; + signal N_43: Std_logic; + signal Cmdn8MEGEN: Std_logic; + signal CmdEnable16_4: Std_logic; + signal n8MEGEN: Std_logic; + signal Cmdn8MEGEN_4_u_i_0: Std_logic; + signal N_19_i: Std_logic; + signal nRRAS_5_u_i_0: Std_logic; + signal N_160: Std_logic; + signal N_155: Std_logic; + signal IS_0: Std_logic; + signal Ready: Std_logic; + signal N_64_i_i: Std_logic; + signal N_24: Std_logic; + signal IS_2: Std_logic; + signal IS_1: Std_logic; + signal N_60_i_i: Std_logic; + signal N_56_i: Std_logic; + signal N_159_i: Std_logic; + signal N_159: Std_logic; + signal N_61_i_i: Std_logic; + signal RA10s_i: Std_logic; + signal UFMSDI_ens2_i_a2_4_2: Std_logic; + signal N_126: Std_logic; + signal N_51: Std_logic; + signal InitReady3: Std_logic; + signal N_461_0: Std_logic; + signal UFMSDI_ens2_i_a0: Std_logic; + signal nCRAS_c: Std_logic; + signal CBR: Std_logic; + signal UFMSDO_c: Std_logic; + signal N_70: Std_logic; + signal N_33: Std_logic; + signal LED_c: Std_logic; + signal un1_Din_4: Std_logic; + signal XOR8MEG: Std_logic; + signal Din_c_6: Std_logic; + signal RA11_2: Std_logic; + signal Ready_fast: Std_logic; + signal RA_c_11: Std_logic; + signal N_171: Std_logic; + signal FWEr_fast: Std_logic; + signal CASr2: Std_logic; + signal RCKEEN_8_u_1: Std_logic; + signal RCKEEN_8_u_0_0: Std_logic; + signal RCKEEN_8: Std_logic; + signal PHI2r: Std_logic; + signal RCKEEN: Std_logic; + signal RASr3: Std_logic; + signal RASr: Std_logic; + signal RCKE_2: Std_logic; + signal RCKE_c: Std_logic; + signal m18_0_a3_3: Std_logic; + signal S_0_i_o2_1: Std_logic; + signal N_165: Std_logic; + signal N_462_0: Std_logic; + signal Ready_0_sqmuxa: Std_logic; + signal N_463_0: Std_logic; + signal nRRAS_0_sqmuxa: Std_logic; + signal N_129: Std_logic; + signal UFMCLK_r_i_a2_2_2: Std_logic; + signal CmdUFMCLK: Std_logic; + signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; + signal UFMCLK_c: Std_logic; + signal nUFMCS15: Std_logic; + signal N_139_i: Std_logic; + signal UFMCLK_RNO: Std_logic; + signal UFMSDI_r_xx_mm_1: Std_logic; + signal UFMSDI_c: Std_logic; + signal UFMSDI_RNO: Std_logic; + signal nRowColSel: Std_logic; + signal RowA_4: Std_logic; + signal MAin_c_4: Std_logic; + signal Din_c_4: Std_logic; + signal nCCAS_c: Std_logic; + signal RA_c_4: Std_logic; + signal WRD_4: Std_logic; + signal WRD_5: Std_logic; + signal Bank_7: Std_logic; + signal Bank_6: Std_logic; + signal Bank_5: Std_logic; + signal Bank_2: Std_logic; + signal Din_c_7: Std_logic; + signal WRD_6: Std_logic; + signal C1WR_0_a2_0_11: Std_logic; + signal WRD_7: Std_logic; + signal Din_c_2: Std_logic; + signal Din_c_0: Std_logic; + signal XOR8MEG_3_u_0_a3_2: Std_logic; + signal Din_c_1: Std_logic; + signal XOR8MEG_3: Std_logic; + signal N_69: Std_logic; + signal N_31: Std_logic; + signal N_151: Std_logic; + signal g0_1: Std_logic; + signal nRCAS_0_sqmuxa_1: Std_logic; + signal N_41: Std_logic; + signal N_37_i: Std_logic; + signal nRCAS_c: Std_logic; + signal CASr3: Std_logic; + signal RCKEEN_8_u_0_a2_1_out: Std_logic; + signal N_28_i_1: Std_logic; + signal N_28_i: Std_logic; + signal nRCS_c: Std_logic; + signal N_24_i: Std_logic; + signal nRRAS_c: Std_logic; + signal CBR_fast: Std_logic; + signal m18_0_a2_1: Std_logic; + signal G_17_1: Std_logic; + signal FWEr: Std_logic; + signal N_39_i: Std_logic; + signal nRWE_c: Std_logic; + signal N_179: Std_logic; + signal nRowColSel_0_0: Std_logic; + signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; + signal nUFMCS_c: Std_logic; + signal nUFMCS_s_0_N_5_i: Std_logic; + signal CmdUFMCS: Std_logic; + signal N_95_5: Std_logic; + signal N_95_3: Std_logic; + signal RowA_0: Std_logic; + signal RowA_1: Std_logic; + signal MAin_c_5: Std_logic; + signal CmdUFMCLK_1_sqmuxa: Std_logic; + signal RowA_5: Std_logic; + signal un1_FS_14_i_a2_0_1: Std_logic; + signal N_137_8: Std_logic; + signal N_137_6: Std_logic; + signal un1_FS_13_i_a2_1: Std_logic; + signal C1WR_0_a2_0_10: Std_logic; + signal Bank_1: Std_logic; + signal Bank_0: Std_logic; + signal MAin_c_7: Std_logic; + signal MAin_c_6: Std_logic; + signal C1WR_0_a2_0_4: Std_logic; + signal C1WR_0_a2_0_3: Std_logic; + signal Bank_4: Std_logic; + signal Bank_3: Std_logic; + signal UFMSDI_ens2_i_o2_0_3: Std_logic; + signal MAin_c_3: Std_logic; + signal MAin_c_2: Std_logic; + signal RowA_2: Std_logic; + signal RowA_3: Std_logic; + signal CmdUFMSDI: Std_logic; + signal CASr: Std_logic; + signal CmdEnable16_1: Std_logic; + signal m6_0_a2_2: Std_logic; + signal WRD_0: Std_logic; + signal WRD_1: Std_logic; + signal g4_0_0_0: Std_logic; + signal MAin_c_9: Std_logic; + signal MAin_c_8: Std_logic; + signal RowA_8: Std_logic; + signal RowA_9: Std_logic; + signal nFWE_c: Std_logic; + signal CROW_c_1: Std_logic; + signal CROW_c_0: Std_logic; + signal RBA_c_0: Std_logic; + signal RBA_c_1: Std_logic; + signal WRD_2: Std_logic; + signal WRD_3: Std_logic; + signal RA_c_9: Std_logic; + signal RDQML_c: Std_logic; + signal RD_1_i: Std_logic; + signal RowA_6: Std_logic; + signal RowA_7: Std_logic; + signal RA_c_8: Std_logic; + signal RDQMH_c: Std_logic; + signal RA_c_0: Std_logic; + signal RA_c_1: Std_logic; + signal RA_c_7: Std_logic; + signal RA_c_2: Std_logic; + signal RA_c_6: Std_logic; + signal RA_c_3: Std_logic; + signal RA_c_5: Std_logic; + signal RA_c_10: Std_logic; + signal RD_in_0: Std_logic; + signal RD_in_7: Std_logic; + signal RD_in_6: Std_logic; + signal RD_in_5: Std_logic; + signal RD_in_4: Std_logic; + signal RD_in_3: Std_logic; + signal RD_in_2: Std_logic; + signal RD_in_1: Std_logic; + signal VCCI: Std_logic; + signal GNDI_TSALL: Std_logic; + component VHI + port (Z: out Std_logic); + end component; + component VLO + port (Z: out Std_logic); + end component; + component PUR + port (PUR: in Std_logic); + end component; + component GSR + port (GSR: in Std_logic); + end component; + component TSALL + port (TSALL: in Std_logic); + end component; + component SLICE_0 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_1 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_2 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_3 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_4 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_5 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_6 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_7 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_8 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_9 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_14 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_19 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_20 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_21 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_22 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_26 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_29 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_30 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_31 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_32 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_33 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_39 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_41 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_42 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_43 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_44 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_50 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_51 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_52 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_55 + port (C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_56 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_57 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_58 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_59 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_60 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_61 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_62 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_63 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_64 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component nRWE_RNO_1_SLICE_65 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + end component; + component SLICE_66 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_67 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_68 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_69 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_70 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_71 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_72 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_73 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_74 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_75 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_76 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_77 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_78 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_79 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_80 + port (B1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_81 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_82 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_83 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_84 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_85 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_86 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_87 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_88 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_89 + port (B1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_90 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_91 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_92 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_93 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_94 + port (B1: in Std_logic; A1: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component RD_0_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + end component; + component Dout_0_B + port (PADDO: in Std_logic; Dout0: out Std_logic); + end component; + component PHI2B + port (PADDI: out Std_logic; PHI2S: in Std_logic); + end component; + component UFMSDOB + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + end component; + component UFMSDIB + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + end component; + component UFMCLKB + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + end component; + component nUFMCSB + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + end component; + component RDQMLB + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + end component; + component RDQMHB + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + end component; + component nRCASB + port (PADDO: in Std_logic; nRCASS: out Std_logic); + end component; + component nRRASB + port (PADDO: in Std_logic; nRRASS: out Std_logic); + end component; + component nRWEB + port (PADDO: in Std_logic; nRWES: out Std_logic); + end component; + component RCKEB + port (PADDO: in Std_logic; RCKES: out Std_logic); + end component; + component RCLKB + port (PADDI: out Std_logic; RCLKS: in Std_logic); + end component; + component nRCSB + port (PADDO: in Std_logic; nRCSS: out Std_logic); + end component; + component RD_7_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + end component; + component RD_6_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + end component; + component RD_5_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + end component; + component RD_4_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + end component; + component RD_3_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + end component; + component RD_2_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + end component; + component RD_1_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + end component; + component RA_11_B + port (PADDO: in Std_logic; RA11: out Std_logic); + end component; + component RA_10_B + port (PADDO: in Std_logic; RA10: out Std_logic); + end component; + component RA_9_B + port (PADDO: in Std_logic; RA9: out Std_logic); + end component; + component RA_8_B + port (PADDO: in Std_logic; RA8: out Std_logic); + end component; + component RA_7_B + port (PADDO: in Std_logic; RA7: out Std_logic); + end component; + component RA_6_B + port (PADDO: in Std_logic; RA6: out Std_logic); + end component; + component RA_5_B + port (PADDO: in Std_logic; RA5: out Std_logic); + end component; + component RA_4_B + port (PADDO: in Std_logic; RA4: out Std_logic); + end component; + component RA_3_B + port (PADDO: in Std_logic; RA3: out Std_logic); + end component; + component RA_2_B + port (PADDO: in Std_logic; RA2: out Std_logic); + end component; + component RA_1_B + port (PADDO: in Std_logic; RA1: out Std_logic); + end component; + component RA_0_B + port (PADDO: in Std_logic; RA0: out Std_logic); + end component; + component RBA_1_B + port (PADDO: in Std_logic; RBA1: out Std_logic); + end component; + component RBA_0_B + port (PADDO: in Std_logic; RBA0: out Std_logic); + end component; + component LEDB + port (PADDO: in Std_logic; LEDS: out Std_logic); + end component; + component nFWEB + port (PADDI: out Std_logic; nFWES: in Std_logic); + end component; + component nCRASB + port (PADDI: out Std_logic; nCRASS: in Std_logic); + end component; + component nCCASB + port (PADDI: out Std_logic; nCCASS: in Std_logic); + end component; + component Dout_7_B + port (PADDO: in Std_logic; Dout7: out Std_logic); + end component; + component Dout_6_B + port (PADDO: in Std_logic; Dout6: out Std_logic); + end component; + component Dout_5_B + port (PADDO: in Std_logic; Dout5: out Std_logic); + end component; + component Dout_4_B + port (PADDO: in Std_logic; Dout4: out Std_logic); + end component; + component Dout_3_B + port (PADDO: in Std_logic; Dout3: out Std_logic); + end component; + component Dout_2_B + port (PADDO: in Std_logic; Dout2: out Std_logic); + end component; + component Dout_1_B + port (PADDO: in Std_logic; Dout1: out Std_logic); + end component; + component Din_7_B + port (PADDI: out Std_logic; Din7: in Std_logic); + end component; + component Din_6_B + port (PADDI: out Std_logic; Din6: in Std_logic); + end component; + component Din_5_B + port (PADDI: out Std_logic; Din5: in Std_logic); + end component; + component Din_4_B + port (PADDI: out Std_logic; Din4: in Std_logic); + end component; + component Din_3_B + port (PADDI: out Std_logic; Din3: in Std_logic); + end component; + component Din_2_B + port (PADDI: out Std_logic; Din2: in Std_logic); + end component; + component Din_1_B + port (PADDI: out Std_logic; Din1: in Std_logic); + end component; + component Din_0_B + port (PADDI: out Std_logic; Din0: in Std_logic); + end component; + component CROW_1_B + port (PADDI: out Std_logic; CROW1: in Std_logic); + end component; + component CROW_0_B + port (PADDI: out Std_logic; CROW0: in Std_logic); + end component; + component MAin_9_B + port (PADDI: out Std_logic; MAin9: in Std_logic); + end component; + component MAin_8_B + port (PADDI: out Std_logic; MAin8: in Std_logic); + end component; + component MAin_7_B + port (PADDI: out Std_logic; MAin7: in Std_logic); + end component; + component MAin_6_B + port (PADDI: out Std_logic; MAin6: in Std_logic); + end component; + component MAin_5_B + port (PADDI: out Std_logic; MAin5: in Std_logic); + end component; + component MAin_4_B + port (PADDI: out Std_logic; MAin4: in Std_logic); + end component; + component MAin_3_B + port (PADDI: out Std_logic; MAin3: in Std_logic); + end component; + component MAin_2_B + port (PADDI: out Std_logic; MAin2: in Std_logic); + end component; + component MAin_1_B + port (PADDI: out Std_logic; MAin1: in Std_logic); + end component; + component MAin_0_B + port (PADDI: out Std_logic; MAin0: in Std_logic); + end component; + begin + SLICE_0I: SLICE_0 + port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, + FCO=>FS_cry_1); + SLICE_1I: SLICE_1 + port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, + Q1=>FS_17); + SLICE_2I: SLICE_2 + port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, + Q1=>FS_15, FCO=>FS_cry_15); + SLICE_3I: SLICE_3 + port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, + Q1=>FS_13, FCO=>FS_cry_13); + SLICE_4I: SLICE_4 + port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, + Q1=>FS_11, FCO=>FS_cry_11); + SLICE_5I: SLICE_5 + port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, + Q1=>FS_9, FCO=>FS_cry_9); + SLICE_6I: SLICE_6 + port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, + Q1=>FS_7, FCO=>FS_cry_7); + SLICE_7I: SLICE_7 + port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, + Q1=>FS_5, FCO=>FS_cry_5); + SLICE_8I: SLICE_8 + port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, + Q1=>FS_3, FCO=>FS_cry_3); + SLICE_9I: SLICE_9 + port map (D1=>N_147, C1=>MAin_c_0, B1=>CmdEnable17_0_a2_4, + A1=>CmdEnable17_0_a2_3, D0=>CmdEnable16, C0=>CmdEnable17, + B0=>C1WR_0_a2, A0=>ADSubmitted, DI0=>ADSubmitted_r, + CLK=>PHI2_c, F0=>ADSubmitted_r, Q0=>ADSubmitted, + F1=>CmdEnable17); + SLICE_14I: SLICE_14 + port map (C1=>N_147, B1=>CmdEnable16_0_a2_5, A1=>CmdEnable16_0_a2_4, + D0=>MAin_c_1, C0=>N_147, B0=>C1Submitted, A0=>CmdEnable16, + DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, + Q0=>C1Submitted, F1=>CmdEnable16); + SLICE_19I: SLICE_19 + port map (D1=>S_1, C1=>RASr2, B1=>IS_3, A1=>CO0, B0=>S_1, A0=>CO0, + DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, + F1=>Ready_0_sqmuxa_0_a3_2); + SLICE_20I: SLICE_20 + port map (B1=>ADSubmitted, A1=>CmdEnable, D0=>C1Submitted, C0=>un1_CMDWR, + B0=>CmdEnable, A0=>CmdEnable17, DI0=>CmdEnable_s, + M0=>CmdEnable16, CLK=>PHI2_c, OFX0=>CmdEnable_s, Q0=>CmdEnable); + SLICE_21I: SLICE_21 + port map (C1=>N_128, B1=>Din_c_5, A1=>Din_c_3, D0=>N_152, C0=>N_133, + B0=>N_132, A0=>LEDEN, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, + F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); + SLICE_22I: SLICE_22 + port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, + B0=>CmdSubmitted, A0=>CmdSubmitted_1_sqmuxa, DI0=>N_460_0, + CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); + SLICE_26I: SLICE_26 + port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, + C0=>n8MEGEN, B0=>N_152, A0=>Cmdn8MEGEN_4_u_i_0, DI0=>N_19_i, + CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, + F1=>Cmdn8MEGEN_4_u_i_0); + SLICE_29I: SLICE_29 + port map (D1=>nRRAS_5_u_i_0, C1=>N_160, B1=>N_155, A1=>IS_0, C0=>N_155, + B0=>Ready, A0=>IS_0, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, + Q0=>IS_0, F1=>N_24); + SLICE_30I: SLICE_30 + port map (C1=>IS_2, B1=>IS_1, A1=>IS_0, B0=>IS_1, A0=>IS_0, + DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); + SLICE_31I: SLICE_31 + port map (D1=>N_159, C1=>IS_3, B1=>IS_2, A1=>IS_1, D0=>IS_0, C0=>IS_1, + B0=>IS_2, A0=>IS_3, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); + SLICE_32I: SLICE_32 + port map (D1=>UFMSDI_ens2_i_a2_4_2, C1=>N_126, B1=>N_51, A1=>InitReady, + B0=>InitReady, A0=>InitReady3, DI0=>N_461_0, CLK=>RCLK_c, + F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); + SLICE_33I: SLICE_33 + port map (C1=>nCRAS_c, B1=>LEDEN, A1=>CBR, C0=>UFMSDO_c, B0=>InitReady, + A0=>CmdLEDEN, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, + Q0=>LEDEN, F1=>LED_c); + SLICE_39I: SLICE_39 + port map (B1=>un1_Din_4, A1=>XOR8MEG, C0=>n8MEGEN, B0=>XOR8MEG, + A0=>Din_c_6, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, + F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); + SLICE_41I: SLICE_41 + port map (D1=>S_1, C1=>FWEr_fast, B1=>CO0, A1=>CASr2, D0=>Ready, + C0=>RCKEEN_8_u_1, B0=>RCKEEN_8_u_0_0, A0=>CBR, DI0=>RCKEEN_8, + M1=>PHI2r, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, + F1=>RCKEEN_8_u_1, Q1=>PHI2r2); + SLICE_42I: SLICE_42 + port map (D1=>RASr2, C1=>IS_2, B1=>IS_1, A1=>IS_0, D0=>RCKEEN, C0=>RASr3, + B0=>RASr2, A0=>RASr, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, + F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); + SLICE_43I: SLICE_43 + port map (D1=>S_0_i_o2_1, C1=>InitReady, B1=>RASr2, A1=>Ready, + D0=>InitReady, C0=>N_165, B0=>Ready_0_sqmuxa_0_a3_2, A0=>Ready, + DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, + F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); + SLICE_44I: SLICE_44 + port map (D1=>Ready_0_sqmuxa_0_a3_2, C1=>Ready, B1=>N_165, A1=>InitReady, + B0=>Ready_fast, A0=>Ready_0_sqmuxa, DI0=>N_463_0, M1=>nCRAS_c, + CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, + Q1=>RASr); + SLICE_50I: SLICE_50 + port map (C1=>CO0, B1=>S_1, A1=>Ready, B0=>S_1, A0=>CO0, DI0=>S_0_i_o2_1, + LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, + F1=>nRRAS_0_sqmuxa); + SLICE_51I: SLICE_51 + port map (D1=>N_129, C1=>UFMCLK_r_i_a2_2_2, B1=>CmdUFMCLK, A1=>InitReady, + D0=>UFMCLK_r_i_m4_xx_mm_1, C0=>UFMCLK_c, B0=>nUFMCS15, + A0=>N_139_i, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, + F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, + Q1=>RASr2); + SLICE_52I: SLICE_52 + port map (D1=>PHI2r3, C1=>PHI2r2, B1=>InitReady, A1=>CmdSubmitted, + D0=>UFMSDI_r_xx_mm_1, C0=>UFMSDI_c, B0=>nUFMCS15, A0=>N_139_i, + DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, + Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); + SLICE_55I: SLICE_55 + port map (C0=>nRowColSel, B0=>RowA_4, A0=>MAin_c_4, M1=>Din_c_5, + M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); + SLICE_56I: SLICE_56 + port map (D1=>Bank_7, C1=>Bank_6, B1=>Bank_5, A1=>Bank_2, C0=>FS_9, + B0=>FS_7, A0=>FS_5, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, + F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); + SLICE_57I: SLICE_57 + port map (D1=>un1_Din_4, C1=>Din_c_3, B1=>Din_c_2, A1=>Din_c_0, + D0=>XOR8MEG_3_u_0_a3_2, C0=>N_171, B0=>LEDEN, A0=>Din_c_1, + DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, + Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); + SLICE_58I: SLICE_58 + port map (C1=>N_51, B1=>InitReady, A1=>FS_8, C0=>UFMSDO_c, B0=>InitReady, + A0=>Cmdn8MEGEN, DI0=>N_69, CE=>N_31, CLK=>RCLK_c, F0=>N_69, + Q0=>n8MEGEN, F1=>N_151); + SLICE_59I: SLICE_59 + port map (D1=>S_1, C1=>Ready, B1=>N_160, A1=>N_155, D0=>g0_1, C0=>S_1, + B0=>nRCAS_0_sqmuxa_1, A0=>N_41, DI0=>N_37_i, CLK=>RCLK_c, + F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); + SLICE_60I: SLICE_60 + port map (D1=>CASr2, C1=>CASr3, B1=>CO0, A1=>FWEr_fast, + D0=>RCKEEN_8_u_0_a2_1_out, C0=>N_28_i_1, B0=>N_24, A0=>CBR, + DI0=>N_28_i, CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); + SLICE_61I: SLICE_61 + port map (D1=>Ready, C1=>RCKE_c, B1=>RASr2, A1=>S_0_i_o2_1, D0=>IS_0, + C0=>N_155, B0=>N_160, A0=>nRRAS_5_u_i_0, DI0=>N_24_i, + CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); + SLICE_62I: SLICE_62 + port map (D1=>Ready, C1=>RASr2, B1=>S_0_i_o2_1, A1=>CBR_fast, + D0=>m18_0_a2_1, C0=>nRCAS_0_sqmuxa_1, B0=>G_17_1, A0=>FWEr, + DI0=>N_39_i, CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, + F1=>nRCAS_0_sqmuxa_1); + SLICE_63I: SLICE_63 + port map (D1=>Ready, C1=>FWEr, B1=>CBR, A1=>CASr3, D0=>S_1, C0=>Ready, + B0=>N_179, A0=>CO0, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, + CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); + SLICE_64I: SLICE_64 + port map (D1=>N_51, C1=>InitReady, B1=>FS_11, A1=>FS_10, + D0=>nUFMCS_s_0_N_5_i_N_2L1, C0=>nUFMCS_c, B0=>nUFMCS15, + A0=>N_139_i, DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, + F0=>nUFMCS_s_0_N_5_i, Q0=>nUFMCS_c, F1=>nUFMCS15); + nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 + port map (D1=>RASr2, C1=>RCKE_c, B1=>CO0, A1=>S_1, D0=>InitReady, + C0=>m18_0_a3_3, B0=>CO0, A0=>S_1, M0=>Ready, OFX0=>m18_0_a2_1); + SLICE_66I: SLICE_66 + port map (C1=>UFMCLK_r_i_a2_2_2, B1=>InitReady, A1=>CmdUFMCS, D0=>N_95_5, + C0=>N_95_3, B0=>InitReady, A0=>FS_16, M1=>MAin_c_1, + M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, + Q1=>RowA_1); + SLICE_67I: SLICE_67 + port map (D1=>Din_c_3, C1=>Din_c_5, B1=>N_128, A1=>XOR8MEG18, D0=>N_147, + C0=>MAin_c_1, B0=>MAin_c_0, A0=>CmdEnable, M1=>MAin_c_5, + M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, F0=>XOR8MEG18, + Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); + SLICE_68I: SLICE_68 + port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_14_i_a2_0_1, + C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_31, + F1=>un1_FS_14_i_a2_0_1); + SLICE_69I: SLICE_69 + port map (D1=>FS_5, C1=>FS_3, B1=>FS_2, A1=>FS_0, D0=>un1_FS_13_i_a2_1, + C0=>N_137_8, B0=>N_137_6, A0=>N_136, F0=>N_33, + F1=>un1_FS_13_i_a2_1); + SLICE_70I: SLICE_70 + port map (D1=>C1WR_0_a2_0_11, C1=>C1WR_0_a2_0_10, B1=>Bank_1, A1=>Bank_0, + B0=>N_147, A0=>MAin_c_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, + F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); + SLICE_71I: SLICE_71 + port map (D1=>MAin_c_7, C1=>MAin_c_6, B1=>MAin_c_5, A1=>MAin_c_4, + D0=>C1WR_0_a2_0_4, C0=>C1WR_0_a2_0_3, B0=>Bank_4, A0=>Bank_3, + M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, + Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); + SLICE_72I: SLICE_72 + port map (C1=>UFMSDI_ens2_i_o2_0_3, B1=>FS_16, A1=>FS_12, D0=>N_51, + C0=>FS_11, B0=>FS_4, A0=>FS_1, M1=>MAin_c_3, M0=>MAin_c_2, + LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, + Q1=>RowA_3); + SLICE_73I: SLICE_73 + port map (D1=>CO0, C1=>S_1, B1=>InitReady, A1=>RASr2, B0=>Ready, + A0=>N_155, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, + CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); + SLICE_74I: SLICE_74 + port map (B1=>FS_14, A1=>FS_11, D0=>N_95_5, C0=>N_95_3, B0=>FS_16, + A0=>FS_10, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, + F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); + SLICE_75I: SLICE_75 + port map (C1=>Din_c_7, B1=>Din_c_6, A1=>Din_c_4, C0=>N_128, B0=>Din_c_5, + A0=>Din_c_1, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, + Q0=>CASr, F1=>N_128, Q1=>CASr2); + SLICE_76I: SLICE_76 + port map (B1=>Din_c_5, A1=>Din_c_0, D0=>MAin_c_0, C0=>Din_c_3, + B0=>Din_c_1, A0=>CmdEnable16_4, M1=>Din_c_5, M0=>Din_c_4, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, + F1=>CmdEnable16_4, Q1=>Bank_5); + SLICE_77I: SLICE_77 + port map (B1=>Din_c_7, A1=>Din_c_4, D0=>MAin_c_1, C0=>Din_c_6, + B0=>Din_c_2, A0=>CmdEnable16_1, M1=>Din_c_7, M0=>Din_c_6, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, + F1=>CmdEnable16_1, Q1=>Bank_7); + SLICE_78I: SLICE_78 + port map (B1=>Din_c_5, A1=>Din_c_3, D0=>N_43, C0=>MAin_c_1, B0=>Din_c_6, + A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, + F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); + SLICE_79I: SLICE_79 + port map (C1=>Ready, B1=>CASr3, A1=>CASr2, D0=>m6_0_a2_2, C0=>S_1, + B0=>CO0, A0=>CBR, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, + F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); + SLICE_80I: SLICE_80 + port map (B1=>CASr3, A1=>CASr2, D0=>g4_0_0_0, C0=>FWEr, B0=>CO0, + A0=>CBR_fast, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); + SLICE_81I: SLICE_81 + port map (D1=>FS_17, C1=>FS_15, B1=>FS_14, A1=>FS_13, D0=>FS_17, + C0=>FS_15, B0=>FS_13, A0=>FS_12, M1=>nFWE_c, M0=>nFWE_c, + CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, + Q1=>FWEr_fast); + SLICE_82I: SLICE_82 + port map (D1=>Din_c_3, C1=>Din_c_5, B1=>CmdLEDEN, A1=>N_128, D0=>Din_c_3, + C0=>Din_c_5, B0=>N_128, A0=>XOR8MEG18, M0=>CASr2, CLK=>RCLK_c, + F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); + SLICE_83I: SLICE_83 + port map (C1=>IS_3, B1=>IS_2, A1=>IS_1, C0=>IS_2, B0=>IS_1, A0=>IS_0, + M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); + SLICE_84I: SLICE_84 + port map (D1=>FS_11, C1=>FS_10, B1=>FS_8, A1=>FS_6, D0=>FS_10, C0=>FS_7, + B0=>FS_6, A0=>FS_1, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); + SLICE_85I: SLICE_85 + port map (D1=>Din_c_4, C1=>Din_c_7, B1=>Din_c_0, A1=>Din_c_1, + D0=>Din_c_7, C0=>Din_c_6, B0=>Din_c_5, A0=>Din_c_4, + M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, + Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); + SLICE_86I: SLICE_86 + port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_9, + A0=>MAin_c_9, F0=>RA_c_9, F1=>RDQML_c); + SLICE_87I: SLICE_87 + port map (C1=>N_151, B1=>UFMSDI_ens2_i_a0, A1=>CmdUFMSDI, D0=>N_151, + C0=>FS_11, B0=>FS_9, A0=>FS_4, F0=>N_137_8, + F1=>UFMSDI_r_xx_mm_1); + SLICE_88I: SLICE_88 + port map (C1=>nFWE_c, B1=>MAin_c_3, A1=>MAin_c_2, B0=>nFWE_c, + A0=>nCCAS_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, + Q1=>RowA_7); + SLICE_89I: SLICE_89 + port map (B1=>nRowColSel, A1=>MAin_c_9, C0=>nRowColSel, B0=>RowA_8, + A0=>MAin_c_8, F0=>RA_c_8, F1=>RDQMH_c); + SLICE_90I: SLICE_90 + port map (C1=>MAin_c_1, B1=>MAin_c_0, A1=>N_147, C0=>nRowColSel, + B0=>RowA_0, A0=>MAin_c_0, F0=>RA_c_0, F1=>un1_CMDWR); + SLICE_91I: SLICE_91 + port map (C1=>nRowColSel, B1=>RowA_7, A1=>MAin_c_7, C0=>nRowColSel, + B0=>RowA_1, A0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); + SLICE_92I: SLICE_92 + port map (C1=>nRowColSel, B1=>RowA_6, A1=>MAin_c_6, C0=>nRowColSel, + B0=>RowA_2, A0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); + SLICE_93I: SLICE_93 + port map (C1=>nRowColSel, B1=>RowA_5, A1=>MAin_c_5, C0=>nRowColSel, + B0=>RowA_3, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); + SLICE_94I: SLICE_94 + port map (B1=>N_155, A1=>Ready, B0=>S_1, A0=>Ready, M0=>IS_0, + LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, + Q0=>RA_c_10, F1=>N_159_i); + RD_0_I: RD_0_B + port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); + Dout_0_I: Dout_0_B + port map (PADDO=>RD_in_0, Dout0=>Dout(0)); + PHI2I: PHI2B + port map (PADDI=>PHI2_c, PHI2S=>PHI2); + UFMSDOI: UFMSDOB + port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); + UFMSDII: UFMSDIB + port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); + UFMCLKI: UFMCLKB + port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); + nUFMCSI: nUFMCSB + port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); + RDQMLI: RDQMLB + port map (PADDO=>RDQML_c, RDQMLS=>RDQML); + RDQMHI: RDQMHB + port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); + nRCASI: nRCASB + port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); + nRRASI: nRRASB + port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); + nRWEI: nRWEB + port map (PADDO=>nRWE_c, nRWES=>nRWE); + RCKEI: RCKEB + port map (PADDO=>RCKE_c, RCKES=>RCKE); + RCLKI: RCLKB + port map (PADDI=>RCLK_c, RCLKS=>RCLK); + nRCSI: nRCSB + port map (PADDO=>nRCS_c, nRCSS=>nRCS); + RD_7_I: RD_7_B + port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); + RD_6_I: RD_6_B + port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); + RD_5_I: RD_5_B + port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); + RD_4_I: RD_4_B + port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); + RD_3_I: RD_3_B + port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); + RD_2_I: RD_2_B + port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); + RD_1_I0: RD_1_B + port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); + RA_11_I: RA_11_B + port map (PADDO=>RA_c_11, RA11=>RA(11)); + RA_10_I: RA_10_B + port map (PADDO=>RA_c_10, RA10=>RA(10)); + RA_9_I: RA_9_B + port map (PADDO=>RA_c_9, RA9=>RA(9)); + RA_8_I: RA_8_B + port map (PADDO=>RA_c_8, RA8=>RA(8)); + RA_7_I: RA_7_B + port map (PADDO=>RA_c_7, RA7=>RA(7)); + RA_6_I: RA_6_B + port map (PADDO=>RA_c_6, RA6=>RA(6)); + RA_5_I: RA_5_B + port map (PADDO=>RA_c_5, RA5=>RA(5)); + RA_4_I: RA_4_B + port map (PADDO=>RA_c_4, RA4=>RA(4)); + RA_3_I: RA_3_B + port map (PADDO=>RA_c_3, RA3=>RA(3)); + RA_2_I: RA_2_B + port map (PADDO=>RA_c_2, RA2=>RA(2)); + RA_1_I: RA_1_B + port map (PADDO=>RA_c_1, RA1=>RA(1)); + RA_0_I: RA_0_B + port map (PADDO=>RA_c_0, RA0=>RA(0)); + RBA_1_I: RBA_1_B + port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); + RBA_0_I: RBA_0_B + port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); + LEDI: LEDB + port map (PADDO=>LED_c, LEDS=>LED); + nFWEI: nFWEB + port map (PADDI=>nFWE_c, nFWES=>nFWE); + nCRASI: nCRASB + port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); + nCCASI: nCCASB + port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); + Dout_7_I: Dout_7_B + port map (PADDO=>RD_in_7, Dout7=>Dout(7)); + Dout_6_I: Dout_6_B + port map (PADDO=>RD_in_6, Dout6=>Dout(6)); + Dout_5_I: Dout_5_B + port map (PADDO=>RD_in_5, Dout5=>Dout(5)); + Dout_4_I: Dout_4_B + port map (PADDO=>RD_in_4, Dout4=>Dout(4)); + Dout_3_I: Dout_3_B + port map (PADDO=>RD_in_3, Dout3=>Dout(3)); + Dout_2_I: Dout_2_B + port map (PADDO=>RD_in_2, Dout2=>Dout(2)); + Dout_1_I: Dout_1_B + port map (PADDO=>RD_in_1, Dout1=>Dout(1)); + Din_7_I: Din_7_B + port map (PADDI=>Din_c_7, Din7=>Din(7)); + Din_6_I: Din_6_B + port map (PADDI=>Din_c_6, Din6=>Din(6)); + Din_5_I: Din_5_B + port map (PADDI=>Din_c_5, Din5=>Din(5)); + Din_4_I: Din_4_B + port map (PADDI=>Din_c_4, Din4=>Din(4)); + Din_3_I: Din_3_B + port map (PADDI=>Din_c_3, Din3=>Din(3)); + Din_2_I: Din_2_B + port map (PADDI=>Din_c_2, Din2=>Din(2)); + Din_1_I: Din_1_B + port map (PADDI=>Din_c_1, Din1=>Din(1)); + Din_0_I: Din_0_B + port map (PADDI=>Din_c_0, Din0=>Din(0)); + CROW_1_I: CROW_1_B + port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); + CROW_0_I: CROW_0_B + port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); + MAin_9_I: MAin_9_B + port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); + MAin_8_I: MAin_8_B + port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); + MAin_7_I: MAin_7_B + port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); + MAin_6_I: MAin_6_B + port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); + MAin_5_I: MAin_5_B + port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); + MAin_4_I: MAin_4_B + port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); + MAin_3_I: MAin_3_B + port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); + MAin_2_I: MAin_2_B + port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); + MAin_1_I: MAin_1_B + port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); + MAin_0_I: MAin_0_B + port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); + VHI_INST: VHI + port map (Z=>VCCI); + PUR_INST: PUR + port map (PUR=>VCCI); + GSR_INST: GSR + port map (GSR=>VCCI); + VLO_INST: VLO + port map (Z=>GNDI_TSALL); + TSALL_INST: TSALL + port map (TSALL=>GNDI_TSALL); + end Structure; + + + + library IEEE, vital2000, MACHXO; + configuration Structure_CON of RAM2GS is + for Structure + end for; + end Structure_CON; + + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.sdf b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.sdf index 88865b5..18e3f29 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.sdf +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.sdf @@ -1,2922 +1,2922 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:47 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20) - (DELAY - (ABSOLUTE - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55) - (DELAY - (ABSOLUTE - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1\/SLICE_65) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94) - (DELAY - (ABSOLUTE - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_") - (INSTANCE RD\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_") - (INSTANCE Dout\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2") - (INSTANCE PHI2_I) - (DELAY - (ABSOLUTE - (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2) (1250:1250:1250)) - (WIDTH (negedge PHI2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDO") - (INSTANCE UFMSDO_I) - (DELAY - (ABSOLUTE - (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDO) (1250:1250:1250)) - (WIDTH (negedge UFMSDO) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDI") - (INSTANCE UFMSDI_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLK") - (INSTANCE UFMCLK_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCS") - (INSTANCE nUFMCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQML") - (INSTANCE RDQML_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMH") - (INSTANCE RDQMH_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCAS") - (INSTANCE nRCAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRAS") - (INSTANCE nRRAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWE") - (INSTANCE nRWE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKE") - (INSTANCE RCKE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLK") - (INSTANCE RCLK_I) - (DELAY - (ABSOLUTE - (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLK) (1250:1250:1250)) - (WIDTH (negedge RCLK) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCS") - (INSTANCE nRCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_") - (INSTANCE RD\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_") - (INSTANCE RD\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_") - (INSTANCE RD\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_") - (INSTANCE RD\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_") - (INSTANCE RD\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_") - (INSTANCE RD\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_") - (INSTANCE RD\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_") - (INSTANCE RA\[11\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_") - (INSTANCE RA\[10\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_") - (INSTANCE RA\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_") - (INSTANCE RA\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_") - (INSTANCE RA\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_") - (INSTANCE RA\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_") - (INSTANCE RA\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_") - (INSTANCE RA\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_") - (INSTANCE RA\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_") - (INSTANCE RA\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_") - (INSTANCE RA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_") - (INSTANCE RA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_") - (INSTANCE RBA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_") - (INSTANCE RBA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LED") - (INSTANCE LED_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWE") - (INSTANCE nFWE_I) - (DELAY - (ABSOLUTE - (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWE) (1250:1250:1250)) - (WIDTH (negedge nFWE) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRAS") - (INSTANCE nCRAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRAS) (1250:1250:1250)) - (WIDTH (negedge nCRAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCAS") - (INSTANCE nCCAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCAS) (1250:1250:1250)) - (WIDTH (negedge nCCAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_") - (INSTANCE Dout\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_") - (INSTANCE Dout\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_") - (INSTANCE Dout\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_") - (INSTANCE Dout\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_") - (INSTANCE Dout\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_") - (INSTANCE Dout\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_") - (INSTANCE Dout\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_") - (INSTANCE Din\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_") - (INSTANCE Din\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_") - (INSTANCE Din\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_") - (INSTANCE Din\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_") - (INSTANCE Din\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_") - (INSTANCE Din\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_") - (INSTANCE Din\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_") - (INSTANCE Din\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_") - (INSTANCE CROW\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_") - (INSTANCE CROW\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_") - (INSTANCE MAin\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_") - (INSTANCE MAin\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_") - (INSTANCE MAin\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_") - (INSTANCE MAin\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_") - (INSTANCE MAin\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_") - (INSTANCE MAin\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_") - (INSTANCE MAin\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_") - (INSTANCE MAin\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_") - (INSTANCE MAin\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_") - (INSTANCE MAin\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q1 SLICE_72/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q1 SLICE_84/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q0 SLICE_68/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/Q0 SLICE_69/A1 (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (0:0:0)(0:0:0)) - (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_66/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_72/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q0 SLICE_74/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q0 SLICE_74/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q0 SLICE_81/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q0 SLICE_81/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_64/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_72/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_74/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_84/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_87/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_64/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_74/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_87/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q0 SLICE_58/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q0 SLICE_84/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_56/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_84/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_56/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_68/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_69/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q0 SLICE_72/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_68/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_69/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q0 SLICE_68/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q0 SLICE_69/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_9/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_14/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_14/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_67/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_70/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F1 SLICE_90/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/F0 SLICE_9/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/F1 SLICE_9/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F1 SLICE_9/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F1 SLICE_14/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/F1 SLICE_9/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/F1 SLICE_20/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/F0 SLICE_9/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/Q0 SLICE_9/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/Q0 SLICE_20/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/F0 SLICE_14/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/F0 SLICE_14/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/C0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/Q0 SLICE_14/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/Q0 SLICE_20/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_41/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_63/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_73/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_79/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/Q0 SLICE_94/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_43/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_61/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_62/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q1 SLICE_73/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_19/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/Q0 SLICE_83/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_41/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_60/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_63/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_73/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_79/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_80/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F1 SLICE_43/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F1 SLICE_44/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/Q0 SLICE_67/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90/F1 SLICE_20/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_21/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_67/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_82/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/F1 SLICE_21/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/F1 SLICE_26/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/F0 SLICE_21/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/F1 SLICE_21/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/Q0 SLICE_21/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/Q0 SLICE_33/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_21/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_26/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_57/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_67/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_82/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/Q0 SLICE_33/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_21/Q0 SLICE_82/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q1 SLICE_22/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q1 SLICE_52/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q1 SLICE_22/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q1 SLICE_52/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_22/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_33/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_44/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_51/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_52/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_64/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/Q0 SLICE_73/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/F0 SLICE_22/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F1 SLICE_68/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F1 SLICE_69/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/F1 SLICE_78/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/Q0 SLICE_58/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/F1 SLICE_76/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/Q0 SLICE_26/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/Q0 SLICE_39/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/F1 SLICE_26/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F1 SLICE_29/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F1 SLICE_61/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_29/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_59/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_61/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_29/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_29/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_59/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_73/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F1 SLICE_94/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_31/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_42/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_61/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_83/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_41/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_44/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_50/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_59/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_61/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_62/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_73/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_79/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_30/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_42/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_42/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F1 SLICE_30/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F1 SLICE_31/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/F0 SLICE_31/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84/F1 SLICE_32/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/F0 SLICE_32/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_32/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_58/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_64/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F1 SLICE_72/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/F0 SLICE_32/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/F1 SLICE_87/B1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_33/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_41/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_60/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_63/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q0 SLICE_79/A0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_33/C0 (0:0:0)(0:0:0)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_58/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69/F0 SLICE_33/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_33/F1 LED_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/F0 SLICE_39/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/C0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_44/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_39/F1 SLICE_57/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q1 SLICE_41/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q1 SLICE_60/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_41/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_60/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_79/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_80/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/F1 SLICE_41/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/F1 SLICE_41/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_41/Q0 SLICE_42/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q1 SLICE_42/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 SLICE_61/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_43/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_61/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F0 SLICE_62/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F0 SLICE_43/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F0 SLICE_44/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/F1 SLICE_44/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/F0 SLICE_51/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/F0 SLICE_51/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/F0 SLICE_66/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/Q0 SLICE_51/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/F1 SLICE_51/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q0 SLICE_51/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F1 SLICE_52/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F1 SLICE_51/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F1 SLICE_52/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F1 SLICE_64/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/Q0 SLICE_52/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_55/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_90/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/Q0 SLICE_55/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/D1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (0:0:0)(0:0:0)) - (INTERCONNECT nCCAS_I/PADDI SLICE_88/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/Q1 SLICE_56/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/Q0 SLICE_56/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/Q1 SLICE_56/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/Q0 SLICE_56/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/F1 SLICE_70/D1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/A1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/F1 SLICE_57/D0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/A0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68/F0 SLICE_58/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F1 SLICE_87/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/F0 SLICE_59/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/F1 SLICE_59/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/F1 SLICE_62/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/F1 SLICE_59/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_60/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_63/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_79/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F0 SLICE_60/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q1 SLICE_62/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_78/Q1 SLICE_80/A0 (0:0:0)(0:0:0)) - (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/F0 SLICE_62/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q0 SLICE_62/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q0 SLICE_63/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/Q0 SLICE_80/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/F1 SLICE_63/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/F1 SLICE_64/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/Q0 SLICE_64/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/Q1 SLICE_66/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/F0 SLICE_74/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/F1 SLICE_66/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/Q0 SLICE_90/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_66/Q1 SLICE_91/B0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F1 SLICE_73/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F1 SLICE_74/CE (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/Q1 SLICE_93/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68/F1 SLICE_68/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F0 SLICE_68/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F0 SLICE_69/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84/F0 SLICE_68/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_84/F0 SLICE_69/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69/F1 SLICE_69/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/Q1 SLICE_70/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_70/Q0 SLICE_70/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/D1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/F1 SLICE_71/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F1 SLICE_71/C0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_71/Q1 SLICE_71/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_81/F1 SLICE_72/C1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/B1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/Q0 SLICE_92/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_72/Q1 SLICE_93/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_74/Q0 SLICE_87/A1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_77/F1 SLICE_77/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/F1 SLICE_79/D0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/F1 SLICE_80/D0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/A1 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (0:0:0)(0:0:0)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/A0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/Q0 SLICE_89/B0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_80/Q1 SLICE_86/B0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (0:0:0)(0:0:0)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/B0 (0:0:0)(0:0:0)) - (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (0:0:0)(0:0:0)) - (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/Q0 SLICE_92/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_88/Q1 SLICE_91/B1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (0:0:0)(0:0:0)) - (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (0:0:0)(0:0:0)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:57:15 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20) + (DELAY + (ABSOLUTE + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55) + (DELAY + (ABSOLUTE + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1\/SLICE_65) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94) + (DELAY + (ABSOLUTE + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_") + (INSTANCE RD\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_") + (INSTANCE Dout\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2") + (INSTANCE PHI2_I) + (DELAY + (ABSOLUTE + (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2) (1250:1250:1250)) + (WIDTH (negedge PHI2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDO") + (INSTANCE UFMSDO_I) + (DELAY + (ABSOLUTE + (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDO) (1250:1250:1250)) + (WIDTH (negedge UFMSDO) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDI") + (INSTANCE UFMSDI_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLK") + (INSTANCE UFMCLK_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCS") + (INSTANCE nUFMCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQML") + (INSTANCE RDQML_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMH") + (INSTANCE RDQMH_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS") + (INSTANCE nRCAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS") + (INSTANCE nRRAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE") + (INSTANCE nRWE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKE") + (INSTANCE RCKE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLK") + (INSTANCE RCLK_I) + (DELAY + (ABSOLUTE + (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLK) (1250:1250:1250)) + (WIDTH (negedge RCLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCS") + (INSTANCE nRCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_") + (INSTANCE RD\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_") + (INSTANCE RD\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_") + (INSTANCE RD\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_") + (INSTANCE RD\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_") + (INSTANCE RD\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_") + (INSTANCE RD\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_") + (INSTANCE RD\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_") + (INSTANCE RA\[11\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_") + (INSTANCE RA\[10\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_") + (INSTANCE RA\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_") + (INSTANCE RA\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_") + (INSTANCE RA\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_") + (INSTANCE RA\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_") + (INSTANCE RA\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_") + (INSTANCE RA\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_") + (INSTANCE RA\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_") + (INSTANCE RA\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_") + (INSTANCE RA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_") + (INSTANCE RA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_") + (INSTANCE RBA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_") + (INSTANCE RBA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LED") + (INSTANCE LED_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWE") + (INSTANCE nFWE_I) + (DELAY + (ABSOLUTE + (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWE) (1250:1250:1250)) + (WIDTH (negedge nFWE) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRAS") + (INSTANCE nCRAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRAS) (1250:1250:1250)) + (WIDTH (negedge nCRAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCAS") + (INSTANCE nCCAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCAS) (1250:1250:1250)) + (WIDTH (negedge nCCAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_") + (INSTANCE Dout\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_") + (INSTANCE Dout\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_") + (INSTANCE Dout\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_") + (INSTANCE Dout\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_") + (INSTANCE Dout\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_") + (INSTANCE Dout\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_") + (INSTANCE Dout\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_") + (INSTANCE Din\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_") + (INSTANCE Din\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_") + (INSTANCE Din\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_") + (INSTANCE Din\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_") + (INSTANCE Din\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_") + (INSTANCE Din\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_") + (INSTANCE Din\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_") + (INSTANCE Din\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_") + (INSTANCE CROW\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_") + (INSTANCE CROW\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_") + (INSTANCE MAin\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_") + (INSTANCE MAin\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_") + (INSTANCE MAin\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_") + (INSTANCE MAin\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_") + (INSTANCE MAin\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_") + (INSTANCE MAin\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_") + (INSTANCE MAin\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_") + (INSTANCE MAin\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_") + (INSTANCE MAin\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_") + (INSTANCE MAin\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q1 SLICE_72/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q1 SLICE_84/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q0 SLICE_68/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/Q0 SLICE_69/A1 (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (0:0:0)(0:0:0)) + (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_66/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_72/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q0 SLICE_74/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_74/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q0 SLICE_81/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q0 SLICE_81/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_64/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_72/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_74/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_84/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_87/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_64/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_74/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_87/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_58/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q0 SLICE_84/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_56/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_84/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_56/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_68/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_69/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_72/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_68/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_69/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_68/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q0 SLICE_69/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_9/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_14/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_14/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_67/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_70/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F1 SLICE_90/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F0 SLICE_9/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F1 SLICE_9/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F1 SLICE_9/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F1 SLICE_14/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F1 SLICE_9/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F1 SLICE_20/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/F0 SLICE_9/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q0 SLICE_9/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/Q0 SLICE_20/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F0 SLICE_14/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F0 SLICE_14/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/C0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/Q0 SLICE_14/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/Q0 SLICE_20/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_41/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_63/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_73/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_79/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/Q0 SLICE_94/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_43/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_61/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_62/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q1 SLICE_73/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_19/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/Q0 SLICE_83/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_41/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_60/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_63/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_73/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_79/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_80/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F1 SLICE_43/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F1 SLICE_44/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/Q0 SLICE_67/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F1 SLICE_20/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_21/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_67/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_82/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F1 SLICE_21/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F1 SLICE_26/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/F0 SLICE_21/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F1 SLICE_21/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/Q0 SLICE_21/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/Q0 SLICE_33/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_21/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_26/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_57/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_67/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_82/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_33/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_21/Q0 SLICE_82/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q1 SLICE_22/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q1 SLICE_52/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_22/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q1 SLICE_52/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_22/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_33/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_44/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_51/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_52/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_64/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/Q0 SLICE_73/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/F0 SLICE_22/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_68/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_69/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/F1 SLICE_78/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/Q0 SLICE_58/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/F1 SLICE_76/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_26/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/Q0 SLICE_39/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F1 SLICE_26/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F1 SLICE_29/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F1 SLICE_61/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_29/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_59/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_61/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_29/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_29/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_59/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_73/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F1 SLICE_94/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_31/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_42/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_61/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_83/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_41/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_44/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_50/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_59/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_61/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_62/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_73/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_79/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_30/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_42/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_42/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_30/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_31/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/F0 SLICE_31/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F1 SLICE_32/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F0 SLICE_32/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_32/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_58/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_64/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F1 SLICE_72/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F0 SLICE_32/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F1 SLICE_87/B1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_33/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_41/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_60/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_63/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q0 SLICE_79/A0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_33/C0 (0:0:0)(0:0:0)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_58/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_33/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_33/F1 LED_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F0 SLICE_39/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/C0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_44/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_39/F1 SLICE_57/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q1 SLICE_41/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q1 SLICE_60/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_41/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_60/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_79/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_80/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F1 SLICE_41/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F1 SLICE_41/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_41/Q0 SLICE_42/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q1 SLICE_42/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 SLICE_61/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_43/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_61/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F0 SLICE_62/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F0 SLICE_43/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F0 SLICE_44/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F1 SLICE_44/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/F0 SLICE_51/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F0 SLICE_51/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F0 SLICE_66/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q0 SLICE_51/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F1 SLICE_51/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q0 SLICE_51/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 SLICE_52/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_51/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_52/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F1 SLICE_64/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q0 SLICE_52/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_55/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_90/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/Q0 SLICE_55/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/D1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (0:0:0)(0:0:0)) + (INTERCONNECT nCCAS_I/PADDI SLICE_88/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/Q1 SLICE_56/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/Q0 SLICE_56/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/Q1 SLICE_56/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/Q0 SLICE_56/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/F1 SLICE_70/D1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/A1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F1 SLICE_57/D0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/A0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F0 SLICE_58/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F1 SLICE_87/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/F0 SLICE_59/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_59/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F1 SLICE_62/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F1 SLICE_59/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_60/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_63/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_79/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F0 SLICE_60/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/F1 SLICE_60/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q1 SLICE_62/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_78/Q1 SLICE_80/A0 (0:0:0)(0:0:0)) + (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/F0 SLICE_62/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q0 SLICE_62/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q0 SLICE_63/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/Q0 SLICE_80/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F1 SLICE_63/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/F1 SLICE_64/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/Q0 SLICE_64/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q1 SLICE_66/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F0 SLICE_74/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F1 SLICE_66/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/Q0 SLICE_90/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_66/Q1 SLICE_91/B0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_73/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F1 SLICE_74/CE (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/Q1 SLICE_93/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F1 SLICE_68/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F0 SLICE_68/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F0 SLICE_69/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F0 SLICE_68/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_84/F0 SLICE_69/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F1 SLICE_69/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/Q1 SLICE_70/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_70/Q0 SLICE_70/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/D1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/F1 SLICE_71/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F1 SLICE_71/C0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_71/Q1 SLICE_71/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_81/F1 SLICE_72/C1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/B1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/Q0 SLICE_92/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_72/Q1 SLICE_93/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_74/Q0 SLICE_87/A1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_77/F1 SLICE_77/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/F1 SLICE_79/D0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/F1 SLICE_80/D0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/A0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/A1 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (0:0:0)(0:0:0)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/A0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/Q0 SLICE_89/B0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_80/Q1 SLICE_86/B0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (0:0:0)(0:0:0)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/B0 (0:0:0)(0:0:0)) + (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (0:0:0)(0:0:0)) + (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/Q0 SLICE_92/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_88/Q1 SLICE_91/B1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (0:0:0)(0:0:0)) + (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (0:0:0)(0:0:0)) + ) + ) + ) +) diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.vo b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.vo index 2bd84fc..ddc55d0 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.vo +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mapvo.vo @@ -1,3540 +1,3540 @@ - -// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - -// ldbanno -n Verilog -o RAM2GS_LCMXO640C_impl1_mapvo.vo -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd -// Netlist created on Wed Aug 16 04:50:46 2023 -// Netlist written on Wed Aug 16 04:50:47 2023 -// Design is for device LCMXO640C -// Design is for package TQFP100 -// Design is for performance grade 3 - -`timescale 1 ns / 1 ps - -module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, - RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, - UFMCLK, UFMSDI, UFMSDO ); - input PHI2; - input [9:0] MAin; - input [1:0] CROW; - input [7:0] Din; - input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; - output [7:0] Dout; - output LED; - output [1:0] RBA; - output [11:0] RA; - output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; - inout [7:0] RD; - wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , - \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , - \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , - \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , - \FS_cry[3] , \FS[3] , \FS[2] , N_147, \MAin_c[0] , CmdEnable17_0_a2_4, - CmdEnable17_0_a2_3, CmdEnable16, CmdEnable17, C1WR_0_a2, ADSubmitted, - ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, CmdEnable16_0_a2_4, - \MAin_c[1] , C1Submitted, C1Submitted_RNO, \S[1] , RASr2, \IS[3] , - CO0, N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, - CmdEnable_s, N_128, \Din_c[5] , \Din_c[3] , N_152, N_133, N_132, - LEDEN, N_21_i, XOR8MEG18, CmdLEDEN, PHI2r3, PHI2r2, InitReady, - CmdSubmitted, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, Cmdn8MEGEN, - CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, nRRAS_5_u_i_0, - N_160, N_155, \IS[0] , Ready, N_64_i_i, N_24, \IS[2] , \IS[1] , - N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, - UFMSDI_ens2_i_a2_4_2, N_126, N_51, InitReady3, N_461_0, - UFMSDI_ens2_i_a0, nCRAS_c, CBR, UFMSDO_c, N_70, N_33, LED_c, - un1_Din_4, XOR8MEG, \Din_c[6] , RA11_2, Ready_fast, \RA_c[11] , N_171, - FWEr_fast, CASr2, RCKEEN_8_u_1, RCKEEN_8_u_0_0, RCKEEN_8, PHI2r, - RCKEEN, RASr3, RASr, RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, - N_462_0, Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, N_129, - UFMCLK_r_i_a2_2_2, CmdUFMCLK, UFMCLK_r_i_m4_xx_mm_1, UFMCLK_c, - nUFMCS15, N_139_i, UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, - nRowColSel, \RowA[4] , \MAin_c[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , - \WRD[4] , \WRD[5] , \Bank[7] , \Bank[6] , \Bank[5] , \Bank[2] , - \Din_c[7] , \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[2] , - \Din_c[0] , XOR8MEG_3_u_0_a3_2, \Din_c[1] , XOR8MEG_3, N_69, N_31, - N_151, g0_1, nRCAS_0_sqmuxa_1, N_41, N_37_i, nRCAS_c, CASr3, - RCKEEN_8_u_0_a2_1_out, N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, - CBR_fast, m18_0_a2_1, G_17_1, FWEr, N_39_i, nRWE_c, N_179, - nRowColSel_0_0, nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_c, nUFMCS_s_0_N_5_i, - CmdUFMCS, N_95_5, N_95_3, \RowA[0] , \RowA[1] , \MAin_c[5] , - CmdUFMCLK_1_sqmuxa, \RowA[5] , un1_FS_14_i_a2_0_1, N_137_8, N_137_6, - un1_FS_13_i_a2_1, C1WR_0_a2_0_10, \Bank[1] , \Bank[0] , \MAin_c[7] , - \MAin_c[6] , C1WR_0_a2_0_4, C1WR_0_a2_0_3, \Bank[4] , \Bank[3] , - UFMSDI_ens2_i_o2_0_3, \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , - CmdUFMSDI, CASr, CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , - g4_0_0_0, \MAin_c[9] , \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, - \CROW_c[1] , \CROW_c[0] , \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , - \RA_c[9] , RDQML_c, RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, - \RA_c[0] , \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , - \RA_c[5] , \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , - \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; - - SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), - .Q1(\FS[1] ), .FCO(\FS_cry[1] )); - SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), - .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); - SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), - .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); - SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), - .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); - SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), - .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); - SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), - .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); - SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), - .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); - SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), - .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); - SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), - .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); - SLICE_9 SLICE_9( .D1(N_147), .C1(\MAin_c[0] ), .B1(CmdEnable17_0_a2_4), - .A1(CmdEnable17_0_a2_3), .D0(CmdEnable16), .C0(CmdEnable17), - .B0(C1WR_0_a2), .A0(ADSubmitted), .DI0(ADSubmitted_r), .CLK(PHI2_c), - .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); - SLICE_14 SLICE_14( .C1(N_147), .B1(CmdEnable16_0_a2_5), - .A1(CmdEnable16_0_a2_4), .D0(\MAin_c[1] ), .C0(N_147), .B0(C1Submitted), - .A0(CmdEnable16), .DI0(C1Submitted_RNO), .CLK(PHI2_c), - .F0(C1Submitted_RNO), .Q0(C1Submitted), .F1(CmdEnable16)); - SLICE_19 SLICE_19( .D1(\S[1] ), .C1(RASr2), .B1(\IS[3] ), .A1(CO0), - .B0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), - .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); - SLICE_20 SLICE_20( .B1(ADSubmitted), .A1(CmdEnable), .D0(C1Submitted), - .C0(un1_CMDWR), .B0(CmdEnable), .A0(CmdEnable17), .DI0(CmdEnable_s), - .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); - SLICE_21 SLICE_21( .C1(N_128), .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_152), - .C0(N_133), .B0(N_132), .A0(LEDEN), .DI0(N_21_i), .CE(XOR8MEG18), - .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); - SLICE_22 SLICE_22( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), - .A1(CmdSubmitted), .B0(CmdSubmitted), .A0(CmdSubmitted_1_sqmuxa), - .DI0(N_460_0), .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); - SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), - .A1(CmdEnable16_4), .C0(n8MEGEN), .B0(N_152), .A0(Cmdn8MEGEN_4_u_i_0), - .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), - .F1(Cmdn8MEGEN_4_u_i_0)); - SLICE_29 SLICE_29( .D1(nRRAS_5_u_i_0), .C1(N_160), .B1(N_155), .A1(\IS[0] ), - .C0(N_155), .B0(Ready), .A0(\IS[0] ), .DI0(N_64_i_i), .CLK(RCLK_c), - .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); - SLICE_30 SLICE_30( .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), .B0(\IS[1] ), - .A0(\IS[0] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), - .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); - SLICE_31 SLICE_31( .D1(N_159), .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), - .D0(\IS[0] ), .C0(\IS[1] ), .B0(\IS[2] ), .A0(\IS[3] ), .DI0(N_61_i_i), - .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); - SLICE_32 SLICE_32( .D1(UFMSDI_ens2_i_a2_4_2), .C1(N_126), .B1(N_51), - .A1(InitReady), .B0(InitReady), .A0(InitReady3), .DI0(N_461_0), - .CLK(RCLK_c), .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); - SLICE_33 SLICE_33( .C1(nCRAS_c), .B1(LEDEN), .A1(CBR), .C0(UFMSDO_c), - .B0(InitReady), .A0(CmdLEDEN), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), - .F0(N_70), .Q0(LEDEN), .F1(LED_c)); - SLICE_39 SLICE_39( .B1(un1_Din_4), .A1(XOR8MEG), .C0(n8MEGEN), .B0(XOR8MEG), - .A0(\Din_c[6] ), .DI0(RA11_2), .LSR(Ready_fast), .CLK(PHI2_c), .F0(RA11_2), - .Q0(\RA_c[11] ), .F1(N_171)); - SLICE_41 SLICE_41( .D1(\S[1] ), .C1(FWEr_fast), .B1(CO0), .A1(CASr2), - .D0(Ready), .C0(RCKEEN_8_u_1), .B0(RCKEEN_8_u_0_0), .A0(CBR), - .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), - .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); - SLICE_42 SLICE_42( .D1(RASr2), .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), - .D0(RCKEEN), .C0(RASr3), .B0(RASr2), .A0(RASr), .DI0(RCKE_2), .M1(PHI2_c), - .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); - SLICE_43 SLICE_43( .D1(\S_0_i_o2[1] ), .C1(InitReady), .B1(RASr2), - .A1(Ready), .D0(InitReady), .C0(N_165), .B0(Ready_0_sqmuxa_0_a3_2), - .A0(Ready), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), .F0(N_462_0), - .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); - SLICE_44 SLICE_44( .D1(Ready_0_sqmuxa_0_a3_2), .C1(Ready), .B1(N_165), - .A1(InitReady), .B0(Ready_fast), .A0(Ready_0_sqmuxa), .DI0(N_463_0), - .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), - .F1(Ready_0_sqmuxa), .Q1(RASr)); - SLICE_50 SLICE_50( .C1(CO0), .B1(\S[1] ), .A1(Ready), .B0(\S[1] ), .A0(CO0), - .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), - .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); - SLICE_51 SLICE_51( .D1(N_129), .C1(UFMCLK_r_i_a2_2_2), .B1(CmdUFMCLK), - .A1(InitReady), .D0(UFMCLK_r_i_m4_xx_mm_1), .C0(UFMCLK_c), .B0(nUFMCS15), - .A0(N_139_i), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), .F0(UFMCLK_RNO), - .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); - SLICE_52 SLICE_52( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), - .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(UFMSDI_c), .B0(nUFMCS15), - .A0(N_139_i), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), - .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); - SLICE_55 SLICE_55( .C0(nRowColSel), .B0(\RowA[4] ), .A0(\MAin_c[4] ), - .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), - .Q0(\WRD[4] ), .Q1(\WRD[5] )); - SLICE_56 SLICE_56( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), - .A1(\Bank[2] ), .C0(\FS[9] ), .B0(\FS[7] ), .A0(\FS[5] ), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), - .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); - SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[3] ), .B1(\Din_c[2] ), - .A1(\Din_c[0] ), .D0(XOR8MEG_3_u_0_a3_2), .C0(N_171), .B0(LEDEN), - .A0(\Din_c[1] ), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), - .F0(XOR8MEG_3), .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); - SLICE_58 SLICE_58( .C1(N_51), .B1(InitReady), .A1(\FS[8] ), .C0(UFMSDO_c), - .B0(InitReady), .A0(Cmdn8MEGEN), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), - .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); - SLICE_59 SLICE_59( .D1(\S[1] ), .C1(Ready), .B1(N_160), .A1(N_155), - .D0(g0_1), .C0(\S[1] ), .B0(nRCAS_0_sqmuxa_1), .A0(N_41), .DI0(N_37_i), - .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); - SLICE_60 SLICE_60( .D1(CASr2), .C1(CASr3), .B1(CO0), .A1(FWEr_fast), - .D0(RCKEEN_8_u_0_a2_1_out), .C0(N_28_i_1), .B0(N_24), .A0(CBR), - .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); - SLICE_61 SLICE_61( .D1(Ready), .C1(RCKE_c), .B1(RASr2), .A1(\S_0_i_o2[1] ), - .D0(\IS[0] ), .C0(N_155), .B0(N_160), .A0(nRRAS_5_u_i_0), .DI0(N_24_i), - .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); - SLICE_62 SLICE_62( .D1(Ready), .C1(RASr2), .B1(\S_0_i_o2[1] ), .A1(CBR_fast), - .D0(m18_0_a2_1), .C0(nRCAS_0_sqmuxa_1), .B0(G_17_1), .A0(FWEr), - .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), - .F1(nRCAS_0_sqmuxa_1)); - SLICE_63 SLICE_63( .D1(Ready), .C1(FWEr), .B1(CBR), .A1(CASr3), .D0(\S[1] ), - .C0(Ready), .B0(N_179), .A0(CO0), .DI0(nRowColSel_0_0), - .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), - .F1(N_179)); - SLICE_64 SLICE_64( .D1(N_51), .C1(InitReady), .B1(\FS[11] ), .A1(\FS[10] ), - .D0(nUFMCS_s_0_N_5_i_N_2L1), .C0(nUFMCS_c), .B0(nUFMCS15), .A0(N_139_i), - .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), - .F1(nUFMCS15)); - nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(RCKE_c), .B1(CO0), - .A1(\S[1] ), .D0(InitReady), .C0(m18_0_a3_3), .B0(CO0), .A0(\S[1] ), - .M0(Ready), .OFX0(m18_0_a2_1)); - SLICE_66 SLICE_66( .C1(UFMCLK_r_i_a2_2_2), .B1(InitReady), .A1(CmdUFMCS), - .D0(N_95_5), .C0(N_95_3), .B0(InitReady), .A0(\FS[16] ), .M1(\MAin_c[1] ), - .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), - .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); - SLICE_67 SLICE_67( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(N_128), - .A1(XOR8MEG18), .D0(N_147), .C0(\MAin_c[1] ), .B0(\MAin_c[0] ), - .A0(CmdEnable), .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), - .CLK(nCRAS_c), .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), - .Q1(\RowA[5] )); - SLICE_68 SLICE_68( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), - .D0(un1_FS_14_i_a2_0_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_31), - .F1(un1_FS_14_i_a2_0_1)); - SLICE_69 SLICE_69( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), - .D0(un1_FS_13_i_a2_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_33), - .F1(un1_FS_13_i_a2_1)); - SLICE_70 SLICE_70( .D1(C1WR_0_a2_0_11), .C1(C1WR_0_a2_0_10), .B1(\Bank[1] ), - .A1(\Bank[0] ), .B0(N_147), .A0(\MAin_c[1] ), .M1(\Din_c[1] ), - .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), - .Q1(\Bank[1] )); - SLICE_71 SLICE_71( .D1(\MAin_c[7] ), .C1(\MAin_c[6] ), .B1(\MAin_c[5] ), - .A1(\MAin_c[4] ), .D0(C1WR_0_a2_0_4), .C0(C1WR_0_a2_0_3), .B0(\Bank[4] ), - .A0(\Bank[3] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), - .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); - SLICE_72 SLICE_72( .C1(UFMSDI_ens2_i_o2_0_3), .B1(\FS[16] ), .A1(\FS[12] ), - .D0(N_51), .C0(\FS[11] ), .B0(\FS[4] ), .A0(\FS[1] ), .M1(\MAin_c[3] ), - .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), - .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); - SLICE_73 SLICE_73( .D1(CO0), .C1(\S[1] ), .B1(InitReady), .A1(RASr2), - .B0(Ready), .A0(N_155), .M1(\Din_c[2] ), .M0(\Din_c[1] ), - .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), - .F1(N_155), .Q1(CmdUFMCS)); - SLICE_74 SLICE_74( .B1(\FS[14] ), .A1(\FS[11] ), .D0(N_95_5), .C0(N_95_3), - .B0(\FS[16] ), .A0(\FS[10] ), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), - .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); - SLICE_75 SLICE_75( .C1(\Din_c[7] ), .B1(\Din_c[6] ), .A1(\Din_c[4] ), - .C0(N_128), .B0(\Din_c[5] ), .A0(\Din_c[1] ), .M1(CASr), .M0(nCCAS_c), - .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); - SLICE_76 SLICE_76( .B1(\Din_c[5] ), .A1(\Din_c[0] ), .D0(\MAin_c[0] ), - .C0(\Din_c[3] ), .B0(\Din_c[1] ), .A0(CmdEnable16_4), .M1(\Din_c[5] ), - .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), - .F1(CmdEnable16_4), .Q1(\Bank[5] )); - SLICE_77 SLICE_77( .B1(\Din_c[7] ), .A1(\Din_c[4] ), .D0(\MAin_c[1] ), - .C0(\Din_c[6] ), .B0(\Din_c[2] ), .A0(CmdEnable16_1), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), - .F1(CmdEnable16_1), .Q1(\Bank[7] )); - SLICE_78 SLICE_78( .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_43), - .C0(\MAin_c[1] ), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(nCCAS_c), - .M0(nCCAS_c), .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), - .Q1(CBR_fast)); - SLICE_79 SLICE_79( .C1(Ready), .B1(CASr3), .A1(CASr2), .D0(m6_0_a2_2), - .C0(\S[1] ), .B0(CO0), .A0(CBR), .M1(\Din_c[1] ), .M0(\Din_c[0] ), - .CLK(nCCAS_c), .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); - SLICE_80 SLICE_80( .B1(CASr3), .A1(CASr2), .D0(g4_0_0_0), .C0(FWEr), - .B0(CO0), .A0(CBR_fast), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), - .Q1(\RowA[9] )); - SLICE_81 SLICE_81( .D1(\FS[17] ), .C1(\FS[15] ), .B1(\FS[14] ), - .A1(\FS[13] ), .D0(\FS[17] ), .C0(\FS[15] ), .B0(\FS[13] ), .A0(\FS[12] ), - .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), - .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); - SLICE_82 SLICE_82( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(CmdLEDEN), - .A1(N_128), .D0(\Din_c[3] ), .C0(\Din_c[5] ), .B0(N_128), .A0(XOR8MEG18), - .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), .Q0(CASr3), - .F1(N_132)); - SLICE_83 SLICE_83( .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), .C0(\IS[2] ), - .B0(\IS[1] ), .A0(\IS[0] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), - .Q1(\RBA_c[1] )); - SLICE_84 SLICE_84( .D1(\FS[11] ), .C1(\FS[10] ), .B1(\FS[8] ), .A1(\FS[6] ), - .D0(\FS[10] ), .C0(\FS[7] ), .B0(\FS[6] ), .A0(\FS[1] ), .F0(N_137_6), - .F1(UFMSDI_ens2_i_a2_4_2)); - SLICE_85 SLICE_85( .D1(\Din_c[4] ), .C1(\Din_c[7] ), .B1(\Din_c[0] ), - .A1(\Din_c[1] ), .D0(\Din_c[7] ), .C0(\Din_c[6] ), .B0(\Din_c[5] ), - .A0(\Din_c[4] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), - .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); - SLICE_86 SLICE_86( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), - .B0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQML_c)); - SLICE_87 SLICE_87( .C1(N_151), .B1(UFMSDI_ens2_i_a0), .A1(CmdUFMSDI), - .D0(N_151), .C0(\FS[11] ), .B0(\FS[9] ), .A0(\FS[4] ), .F0(N_137_8), - .F1(UFMSDI_r_xx_mm_1)); - SLICE_88 SLICE_88( .C1(nFWE_c), .B1(\MAin_c[3] ), .A1(\MAin_c[2] ), - .B0(nFWE_c), .A0(nCCAS_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), - .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); - SLICE_89 SLICE_89( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), - .B0(\RowA[8] ), .A0(\MAin_c[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); - SLICE_90 SLICE_90( .C1(\MAin_c[1] ), .B1(\MAin_c[0] ), .A1(N_147), - .C0(nRowColSel), .B0(\RowA[0] ), .A0(\MAin_c[0] ), .F0(\RA_c[0] ), - .F1(un1_CMDWR)); - SLICE_91 SLICE_91( .C1(nRowColSel), .B1(\RowA[7] ), .A1(\MAin_c[7] ), - .C0(nRowColSel), .B0(\RowA[1] ), .A0(\MAin_c[1] ), .F0(\RA_c[1] ), - .F1(\RA_c[7] )); - SLICE_92 SLICE_92( .C1(nRowColSel), .B1(\RowA[6] ), .A1(\MAin_c[6] ), - .C0(nRowColSel), .B0(\RowA[2] ), .A0(\MAin_c[2] ), .F0(\RA_c[2] ), - .F1(\RA_c[6] )); - SLICE_93 SLICE_93( .C1(nRowColSel), .B1(\RowA[5] ), .A1(\MAin_c[5] ), - .C0(nRowColSel), .B0(\RowA[3] ), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), - .F1(\RA_c[5] )); - SLICE_94 SLICE_94( .B1(N_155), .A1(Ready), .B0(\S[1] ), .A0(Ready), - .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), - .Q0(\RA_c[10] ), .F1(N_159_i)); - RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), - .RD0(RD[0])); - Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); - PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); - UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); - UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); - UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); - nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); - RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); - RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); - nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); - nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); - nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); - RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); - RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); - nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); - RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), - .RD7(RD[7])); - RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), - .RD6(RD[6])); - RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), - .RD5(RD[5])); - RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), - .RD4(RD[4])); - RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), - .RD3(RD[3])); - RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), - .RD2(RD[2])); - RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), - .RD1(RD[1])); - RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); - RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); - RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); - RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); - RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); - RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); - RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); - RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); - RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); - RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); - RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); - RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); - RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); - RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); - LED LED_I( .PADDO(LED_c), .LED(LED)); - nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); - nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); - nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); - Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); - Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); - Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); - Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); - Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); - Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); - Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); - Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); - Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); - Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); - Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); - Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); - Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); - Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); - Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); - CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); - CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); - MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); - MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); - MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); - MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); - MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); - MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); - MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); - MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); - MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); - MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); - VHI VHI_INST( .Z(VCCI)); - PUR PUR_INST( .PUR(VCCI)); - GSR GSR_INST( .GSR(VCCI)); - VLO VLO_INST( .Z(GNDI_TSALL)); - TSALL TSALL_INST( .TSALL(GNDI_TSALL)); -endmodule - -module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); - wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , - A1_dly, CLK_dly, A0_dly; - - vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), - .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - endspecify - -endmodule - -module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module vcc ( output PWR1 ); - - VHI INST1( .Z(PWR1)); -endmodule - -module gnd ( output PWR0 ); - - VLO INST1( .Z(PWR0)); -endmodule - -module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h300a; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); - wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), - .CO1()); - - specify - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h5002; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; - - lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut4 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40002 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00F2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module inverter ( input I, output Z ); - - INV INST1( .A(I), .Z(Z)); -endmodule - -module SLICE_14 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40003 CmdEnable16_0_a2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40003 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40004 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_19 ( input D1, C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40006 \S_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40005 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40006 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDDDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_20 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); - wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, - CLK_NOTIN, DI0_dly, CLK_dly; - - lut40008 SLICE_20_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), - .Z(\SLICE_20/SLICE_20_K1_H1 )); - gnd DRIVEGND( .PWR0(GNDI)); - lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); - vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), - .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40008 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40009 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAC8C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module selmux2 ( input D0, D1, SD, output Z ); - - MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); -endmodule - -module SLICE_21 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40010 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40011 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0203) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_22 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40005 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 CmdSubmitted_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40012 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_26 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40013 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40014 Cmdn8MEGEN_RNO( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40013 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40014 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5151) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_29 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40015 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40016 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40015 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF32) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40016 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_30 ( input C1, B1, A1, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; - - lut40017 \IS_RNO[2] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40018 IS_n1_0_x2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40017 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7878) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40018 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h6666) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40019 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40020 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40019 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40020 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_32 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40021 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40021 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4555) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_33 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40022 LED_pad_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40023 LEDEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40022 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFBFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40023 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8B8B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_39 ( input B1, A1, C0, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40024 XOR8MEG_3_u_0_a3_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40025 RA11_2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40024 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40025 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hC6C6) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40026 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40027 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40026 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h70CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40027 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40028 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40029 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40028 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40029 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFE30) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40030 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40031 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40030 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5072) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40031 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAEAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_44 ( input D1, C1, B1, A1, B0, A0, DI0, M1, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; - - lut40028 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module SLICE_50 ( input C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40032 nRowColSel_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40012 \S_0_i_o2[1] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40032 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0202) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40033 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40034 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40033 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF2F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40034 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1032) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40035 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40036 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40035 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3B33) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40036 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3210) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_55 ( input C0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40037 \un9_RA[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40037 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hACAC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_56 ( input D1, C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40038 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40039 UFMSDI_ens2_i_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40038 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40039 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2C2C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40005 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40040 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40040 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF7F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_58 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40041 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40023 n8MEGEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40041 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40042 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40043 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40042 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0BFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40043 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0044 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40045 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40046 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40045 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hE6EE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40046 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3233) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40047 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40048 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40047 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40048 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5051) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40049 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40050 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40049 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40050 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF4F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output - F0, Q0, F1 ); - wire VCCI, DI0_dly, CLK_dly, LSR_dly; - - lut40051 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40052 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40051 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40052 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40053 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40054 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0044 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40053 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40054 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output - OFX0 ); - wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , - \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; - - lut40055 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); - lut40056 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); - selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( - .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), - .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (D1 => OFX0) = (0:0:0,0:0:0); - (C1 => OFX0) = (0:0:0,0:0:0); - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40055 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40056 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40057 nUFMCS_s_0_N_5_i_N_2L1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40049 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40057 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0B0B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, - output F0, Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40058 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40005 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0059 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40058 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0059 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40053 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40060 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40060 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEAAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40061 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40060 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40061 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_70 ( input D1, C1, B1, A1, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut4 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40062 C1WR_0_a2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40062 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; - - lut4 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut4 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module SLICE_72 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40063 UFMSDI_ens2_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40064 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40063 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40064 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAAC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_73 ( input D1, C1, B1, A1, B0, A0, M1, M0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; - - lut40065 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40012 IS_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40065 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFF7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_74 ( input B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; - - lut40062 InitReady3_0_a2_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut4 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module SLICE_75 ( input C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40066 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40041 CmdLEDEN_4_u_i_a2_0( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40066 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFDFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_76 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40024 CmdEnable16_0_a2_4( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40067 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40067 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_77 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40068 CmdEnable16_0_a2_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40049 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40068 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_78 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40069 CmdEnable17_0_o2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40058 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40069 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7777) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_79 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40070 nRWE_RNO_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40038 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40070 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_80 ( input B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40024 nRCAS_RNO_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40071 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0059 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40071 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40072 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut4 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40072 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, - F1 ); - wire VCCI, GNDI, M0_dly, CLK_dly; - - lut40073 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40074 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40073 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40074 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_83 ( input C1, B1, A1, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40063 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40075 Ready_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40075 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40028 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40061 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40076 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40053 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40076 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_86 ( input B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40069 RDQML( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_87 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40077 UFMSDI_RNO_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40049 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40077 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_88 ( input C1, B1, A1, B0, A0, M1, M0, LSR, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40078 C1WR_0_a2_0_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40012 nCCAS_pad_RNI01SJ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40078 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_89 ( input B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40079 RDQMH( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[8] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40079 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBBBB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_90 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40080 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40080 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA8A8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_91 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40037 \un9_RA[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[1] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_92 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40037 \un9_RA[6] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_93 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40037 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40037 \un9_RA[3] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_94 ( input B1, A1, B0, A0, M0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; - - lut40081 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A1), .B(B1), .C(GNDI), .D(GNDI), - .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40062 RCKEEN_8_u_0_a2_1_s( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - vmuxregsre0059 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40081 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); - - mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); - - specify - (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD0) = (0:0:0,0:0:0); - (RD0 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD0, 0:0:0); - $width (negedge RD0, 0:0:0); - endspecify - -endmodule - -module mjiobuf ( input I, T, output Z, PAD, input PADI ); - - IB INST1( .I(PADI), .O(Z)); - OBW INST2( .I(I), .T(T), .O(PAD)); -endmodule - -module Dout_0_ ( input PADDO, output Dout0 ); - - mjiobuf0082 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); - - specify - (PADDO => Dout0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0082 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module PHI2 ( output PADDI, input PHI2 ); - - mjiobuf0083 PHI2_pad( .Z(PADDI), .PAD(PHI2)); - - specify - (PHI2 => PADDI) = (0:0:0,0:0:0); - $width (posedge PHI2, 0:0:0); - $width (negedge PHI2, 0:0:0); - endspecify - -endmodule - -module mjiobuf0083 ( output Z, input PAD ); - - IBPD INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDO ( output PADDI, input UFMSDO ); - - mjiobuf0084 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); - - specify - (UFMSDO => PADDI) = (0:0:0,0:0:0); - $width (posedge UFMSDO, 0:0:0); - $width (negedge UFMSDO, 0:0:0); - endspecify - -endmodule - -module mjiobuf0084 ( output Z, input PAD ); - - IB INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDI ( input PADDO, output UFMSDI ); - - mjiobuf0085 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); - - specify - (PADDO => UFMSDI) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0085 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module UFMCLK ( input PADDO, output UFMCLK ); - - mjiobuf0085 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); - - specify - (PADDO => UFMCLK) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nUFMCS ( input PADDO, output nUFMCS ); - - mjiobuf0085 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); - - specify - (PADDO => nUFMCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQML ( input PADDO, output RDQML ); - - mjiobuf0085 RDQML_pad( .I(PADDO), .PAD(RDQML)); - - specify - (PADDO => RDQML) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQMH ( input PADDO, output RDQMH ); - - mjiobuf0085 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); - - specify - (PADDO => RDQMH) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRCAS ( input PADDO, output nRCAS ); - - mjiobuf0085 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); - - specify - (PADDO => nRCAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRRAS ( input PADDO, output nRRAS ); - - mjiobuf0085 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); - - specify - (PADDO => nRRAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRWE ( input PADDO, output nRWE ); - - mjiobuf0085 nRWE_pad( .I(PADDO), .PAD(nRWE)); - - specify - (PADDO => nRWE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCKE ( input PADDO, output RCKE ); - - mjiobuf0085 RCKE_pad( .I(PADDO), .PAD(RCKE)); - - specify - (PADDO => RCKE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCLK ( output PADDI, input RCLK ); - - mjiobuf0084 RCLK_pad( .Z(PADDI), .PAD(RCLK)); - - specify - (RCLK => PADDI) = (0:0:0,0:0:0); - $width (posedge RCLK, 0:0:0); - $width (negedge RCLK, 0:0:0); - endspecify - -endmodule - -module nRCS ( input PADDO, output nRCS ); - - mjiobuf0085 nRCS_pad( .I(PADDO), .PAD(nRCS)); - - specify - (PADDO => nRCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); - - mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); - - specify - (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD7) = (0:0:0,0:0:0); - (RD7 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD7, 0:0:0); - $width (negedge RD7, 0:0:0); - endspecify - -endmodule - -module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); - - mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); - - specify - (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD6) = (0:0:0,0:0:0); - (RD6 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD6, 0:0:0); - $width (negedge RD6, 0:0:0); - endspecify - -endmodule - -module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); - - mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); - - specify - (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD5) = (0:0:0,0:0:0); - (RD5 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD5, 0:0:0); - $width (negedge RD5, 0:0:0); - endspecify - -endmodule - -module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); - - mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); - - specify - (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD4) = (0:0:0,0:0:0); - (RD4 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD4, 0:0:0); - $width (negedge RD4, 0:0:0); - endspecify - -endmodule - -module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); - - mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); - - specify - (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD3) = (0:0:0,0:0:0); - (RD3 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD3, 0:0:0); - $width (negedge RD3, 0:0:0); - endspecify - -endmodule - -module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); - - mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); - - specify - (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD2) = (0:0:0,0:0:0); - (RD2 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD2, 0:0:0); - $width (negedge RD2, 0:0:0); - endspecify - -endmodule - -module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); - - mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); - - specify - (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD1) = (0:0:0,0:0:0); - (RD1 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD1, 0:0:0); - $width (negedge RD1, 0:0:0); - endspecify - -endmodule - -module RA_11_ ( input PADDO, output RA11 ); - - mjiobuf0085 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); - - specify - (PADDO => RA11) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_10_ ( input PADDO, output RA10 ); - - mjiobuf0085 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); - - specify - (PADDO => RA10) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_9_ ( input PADDO, output RA9 ); - - mjiobuf0085 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); - - specify - (PADDO => RA9) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_8_ ( input PADDO, output RA8 ); - - mjiobuf0085 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); - - specify - (PADDO => RA8) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_7_ ( input PADDO, output RA7 ); - - mjiobuf0085 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); - - specify - (PADDO => RA7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_6_ ( input PADDO, output RA6 ); - - mjiobuf0085 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); - - specify - (PADDO => RA6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_5_ ( input PADDO, output RA5 ); - - mjiobuf0085 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); - - specify - (PADDO => RA5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_4_ ( input PADDO, output RA4 ); - - mjiobuf0085 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); - - specify - (PADDO => RA4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_3_ ( input PADDO, output RA3 ); - - mjiobuf0085 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); - - specify - (PADDO => RA3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_2_ ( input PADDO, output RA2 ); - - mjiobuf0085 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); - - specify - (PADDO => RA2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_1_ ( input PADDO, output RA1 ); - - mjiobuf0085 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); - - specify - (PADDO => RA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_0_ ( input PADDO, output RA0 ); - - mjiobuf0085 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); - - specify - (PADDO => RA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_1_ ( input PADDO, output RBA1 ); - - mjiobuf0085 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); - - specify - (PADDO => RBA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_0_ ( input PADDO, output RBA0 ); - - mjiobuf0085 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); - - specify - (PADDO => RBA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module LED ( input PADDO, output LED ); - - mjiobuf0086 LED_pad( .I(PADDO), .PAD(LED)); - - specify - (PADDO => LED) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0086 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module nFWE ( output PADDI, input nFWE ); - - mjiobuf0084 nFWE_pad( .Z(PADDI), .PAD(nFWE)); - - specify - (nFWE => PADDI) = (0:0:0,0:0:0); - $width (posedge nFWE, 0:0:0); - $width (negedge nFWE, 0:0:0); - endspecify - -endmodule - -module nCRAS ( output PADDI, input nCRAS ); - - mjiobuf0087 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); - - specify - (nCRAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCRAS, 0:0:0); - $width (negedge nCRAS, 0:0:0); - endspecify - -endmodule - -module mjiobuf0087 ( output Z, input PAD ); - - IBPU INST1( .I(PAD), .O(Z)); -endmodule - -module nCCAS ( output PADDI, input nCCAS ); - - mjiobuf0087 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); - - specify - (nCCAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCCAS, 0:0:0); - $width (negedge nCCAS, 0:0:0); - endspecify - -endmodule - -module Dout_7_ ( input PADDO, output Dout7 ); - - mjiobuf0082 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); - - specify - (PADDO => Dout7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_6_ ( input PADDO, output Dout6 ); - - mjiobuf0082 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); - - specify - (PADDO => Dout6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_5_ ( input PADDO, output Dout5 ); - - mjiobuf0082 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); - - specify - (PADDO => Dout5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_4_ ( input PADDO, output Dout4 ); - - mjiobuf0082 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); - - specify - (PADDO => Dout4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_3_ ( input PADDO, output Dout3 ); - - mjiobuf0082 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); - - specify - (PADDO => Dout3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_2_ ( input PADDO, output Dout2 ); - - mjiobuf0082 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); - - specify - (PADDO => Dout2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_1_ ( input PADDO, output Dout1 ); - - mjiobuf0082 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); - - specify - (PADDO => Dout1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Din_7_ ( output PADDI, input Din7 ); - - mjiobuf0084 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); - - specify - (Din7 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din7, 0:0:0); - $width (negedge Din7, 0:0:0); - endspecify - -endmodule - -module Din_6_ ( output PADDI, input Din6 ); - - mjiobuf0084 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); - - specify - (Din6 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din6, 0:0:0); - $width (negedge Din6, 0:0:0); - endspecify - -endmodule - -module Din_5_ ( output PADDI, input Din5 ); - - mjiobuf0084 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); - - specify - (Din5 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din5, 0:0:0); - $width (negedge Din5, 0:0:0); - endspecify - -endmodule - -module Din_4_ ( output PADDI, input Din4 ); - - mjiobuf0084 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); - - specify - (Din4 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din4, 0:0:0); - $width (negedge Din4, 0:0:0); - endspecify - -endmodule - -module Din_3_ ( output PADDI, input Din3 ); - - mjiobuf0084 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); - - specify - (Din3 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din3, 0:0:0); - $width (negedge Din3, 0:0:0); - endspecify - -endmodule - -module Din_2_ ( output PADDI, input Din2 ); - - mjiobuf0084 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); - - specify - (Din2 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din2, 0:0:0); - $width (negedge Din2, 0:0:0); - endspecify - -endmodule - -module Din_1_ ( output PADDI, input Din1 ); - - mjiobuf0084 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); - - specify - (Din1 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din1, 0:0:0); - $width (negedge Din1, 0:0:0); - endspecify - -endmodule - -module Din_0_ ( output PADDI, input Din0 ); - - mjiobuf0084 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); - - specify - (Din0 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din0, 0:0:0); - $width (negedge Din0, 0:0:0); - endspecify - -endmodule - -module CROW_1_ ( output PADDI, input CROW1 ); - - mjiobuf0084 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); - - specify - (CROW1 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW1, 0:0:0); - $width (negedge CROW1, 0:0:0); - endspecify - -endmodule - -module CROW_0_ ( output PADDI, input CROW0 ); - - mjiobuf0084 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); - - specify - (CROW0 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW0, 0:0:0); - $width (negedge CROW0, 0:0:0); - endspecify - -endmodule - -module MAin_9_ ( output PADDI, input MAin9 ); - - mjiobuf0084 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); - - specify - (MAin9 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin9, 0:0:0); - $width (negedge MAin9, 0:0:0); - endspecify - -endmodule - -module MAin_8_ ( output PADDI, input MAin8 ); - - mjiobuf0084 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); - - specify - (MAin8 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin8, 0:0:0); - $width (negedge MAin8, 0:0:0); - endspecify - -endmodule - -module MAin_7_ ( output PADDI, input MAin7 ); - - mjiobuf0084 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); - - specify - (MAin7 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin7, 0:0:0); - $width (negedge MAin7, 0:0:0); - endspecify - -endmodule - -module MAin_6_ ( output PADDI, input MAin6 ); - - mjiobuf0084 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); - - specify - (MAin6 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin6, 0:0:0); - $width (negedge MAin6, 0:0:0); - endspecify - -endmodule - -module MAin_5_ ( output PADDI, input MAin5 ); - - mjiobuf0084 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); - - specify - (MAin5 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin5, 0:0:0); - $width (negedge MAin5, 0:0:0); - endspecify - -endmodule - -module MAin_4_ ( output PADDI, input MAin4 ); - - mjiobuf0084 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); - - specify - (MAin4 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin4, 0:0:0); - $width (negedge MAin4, 0:0:0); - endspecify - -endmodule - -module MAin_3_ ( output PADDI, input MAin3 ); - - mjiobuf0084 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); - - specify - (MAin3 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin3, 0:0:0); - $width (negedge MAin3, 0:0:0); - endspecify - -endmodule - -module MAin_2_ ( output PADDI, input MAin2 ); - - mjiobuf0084 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); - - specify - (MAin2 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin2, 0:0:0); - $width (negedge MAin2, 0:0:0); - endspecify - -endmodule - -module MAin_1_ ( output PADDI, input MAin1 ); - - mjiobuf0084 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); - - specify - (MAin1 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin1, 0:0:0); - $width (negedge MAin1, 0:0:0); - endspecify - -endmodule - -module MAin_0_ ( output PADDI, input MAin0 ); - - mjiobuf0084 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); - - specify - (MAin0 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin0, 0:0:0); - $width (negedge MAin0, 0:0:0); - endspecify - -endmodule + +// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +// ldbanno -n Verilog -o RAM2GS_LCMXO640C_impl1_mapvo.vo -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd +// Netlist created on Sat Aug 19 20:57:13 2023 +// Netlist written on Sat Aug 19 20:57:15 2023 +// Design is for device LCMXO640C +// Design is for package TQFP100 +// Design is for performance grade 3 + +`timescale 1 ns / 1 ps + +module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, + RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, + UFMCLK, UFMSDI, UFMSDO ); + input PHI2; + input [9:0] MAin; + input [1:0] CROW; + input [7:0] Din; + input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; + output [7:0] Dout; + output LED; + output [1:0] RBA; + output [11:0] RA; + output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; + inout [7:0] RD; + wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , + \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , + \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , + \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , + \FS_cry[3] , \FS[3] , \FS[2] , N_147, \MAin_c[0] , CmdEnable17_0_a2_4, + CmdEnable17_0_a2_3, CmdEnable16, CmdEnable17, C1WR_0_a2, ADSubmitted, + ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, CmdEnable16_0_a2_4, + \MAin_c[1] , C1Submitted, C1Submitted_RNO, \S[1] , RASr2, \IS[3] , + CO0, N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, un1_CMDWR, + CmdEnable_s, N_128, \Din_c[5] , \Din_c[3] , N_152, N_133, N_132, + LEDEN, N_21_i, XOR8MEG18, CmdLEDEN, PHI2r3, PHI2r2, InitReady, + CmdSubmitted, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, Cmdn8MEGEN, + CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, nRRAS_5_u_i_0, + N_160, N_155, \IS[0] , Ready, N_64_i_i, N_24, \IS[2] , \IS[1] , + N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, + UFMSDI_ens2_i_a2_4_2, N_126, N_51, InitReady3, N_461_0, + UFMSDI_ens2_i_a0, nCRAS_c, CBR, UFMSDO_c, N_70, N_33, LED_c, + un1_Din_4, XOR8MEG, \Din_c[6] , RA11_2, Ready_fast, \RA_c[11] , N_171, + FWEr_fast, CASr2, RCKEEN_8_u_1, RCKEEN_8_u_0_0, RCKEEN_8, PHI2r, + RCKEEN, RASr3, RASr, RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, + N_462_0, Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, N_129, + UFMCLK_r_i_a2_2_2, CmdUFMCLK, UFMCLK_r_i_m4_xx_mm_1, UFMCLK_c, + nUFMCS15, N_139_i, UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, + nRowColSel, \RowA[4] , \MAin_c[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , + \WRD[4] , \WRD[5] , \Bank[7] , \Bank[6] , \Bank[5] , \Bank[2] , + \Din_c[7] , \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[2] , + \Din_c[0] , XOR8MEG_3_u_0_a3_2, \Din_c[1] , XOR8MEG_3, N_69, N_31, + N_151, g0_1, nRCAS_0_sqmuxa_1, N_41, N_37_i, nRCAS_c, CASr3, + RCKEEN_8_u_0_a2_1_out, N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, + CBR_fast, m18_0_a2_1, G_17_1, FWEr, N_39_i, nRWE_c, N_179, + nRowColSel_0_0, nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_c, nUFMCS_s_0_N_5_i, + CmdUFMCS, N_95_5, N_95_3, \RowA[0] , \RowA[1] , \MAin_c[5] , + CmdUFMCLK_1_sqmuxa, \RowA[5] , un1_FS_14_i_a2_0_1, N_137_8, N_137_6, + un1_FS_13_i_a2_1, C1WR_0_a2_0_10, \Bank[1] , \Bank[0] , \MAin_c[7] , + \MAin_c[6] , C1WR_0_a2_0_4, C1WR_0_a2_0_3, \Bank[4] , \Bank[3] , + UFMSDI_ens2_i_o2_0_3, \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , + CmdUFMSDI, CASr, CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , + g4_0_0_0, \MAin_c[9] , \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, + \CROW_c[1] , \CROW_c[0] , \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , + \RA_c[9] , RDQML_c, RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, + \RA_c[0] , \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , + \RA_c[5] , \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , + \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; + + SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), + .Q1(\FS[1] ), .FCO(\FS_cry[1] )); + SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), + .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); + SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), + .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); + SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), + .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); + SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), + .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); + SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), + .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); + SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), + .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); + SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), + .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); + SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), + .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); + SLICE_9 SLICE_9( .D1(N_147), .C1(\MAin_c[0] ), .B1(CmdEnable17_0_a2_4), + .A1(CmdEnable17_0_a2_3), .D0(CmdEnable16), .C0(CmdEnable17), + .B0(C1WR_0_a2), .A0(ADSubmitted), .DI0(ADSubmitted_r), .CLK(PHI2_c), + .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); + SLICE_14 SLICE_14( .C1(N_147), .B1(CmdEnable16_0_a2_5), + .A1(CmdEnable16_0_a2_4), .D0(\MAin_c[1] ), .C0(N_147), .B0(C1Submitted), + .A0(CmdEnable16), .DI0(C1Submitted_RNO), .CLK(PHI2_c), + .F0(C1Submitted_RNO), .Q0(C1Submitted), .F1(CmdEnable16)); + SLICE_19 SLICE_19( .D1(\S[1] ), .C1(RASr2), .B1(\IS[3] ), .A1(CO0), + .B0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), + .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); + SLICE_20 SLICE_20( .B1(ADSubmitted), .A1(CmdEnable), .D0(C1Submitted), + .C0(un1_CMDWR), .B0(CmdEnable), .A0(CmdEnable17), .DI0(CmdEnable_s), + .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); + SLICE_21 SLICE_21( .C1(N_128), .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_152), + .C0(N_133), .B0(N_132), .A0(LEDEN), .DI0(N_21_i), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); + SLICE_22 SLICE_22( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), + .A1(CmdSubmitted), .B0(CmdSubmitted), .A0(CmdSubmitted_1_sqmuxa), + .DI0(N_460_0), .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); + SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), + .A1(CmdEnable16_4), .C0(n8MEGEN), .B0(N_152), .A0(Cmdn8MEGEN_4_u_i_0), + .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), + .F1(Cmdn8MEGEN_4_u_i_0)); + SLICE_29 SLICE_29( .D1(nRRAS_5_u_i_0), .C1(N_160), .B1(N_155), .A1(\IS[0] ), + .C0(N_155), .B0(Ready), .A0(\IS[0] ), .DI0(N_64_i_i), .CLK(RCLK_c), + .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); + SLICE_30 SLICE_30( .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), .B0(\IS[1] ), + .A0(\IS[0] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), + .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); + SLICE_31 SLICE_31( .D1(N_159), .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), + .D0(\IS[0] ), .C0(\IS[1] ), .B0(\IS[2] ), .A0(\IS[3] ), .DI0(N_61_i_i), + .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); + SLICE_32 SLICE_32( .D1(UFMSDI_ens2_i_a2_4_2), .C1(N_126), .B1(N_51), + .A1(InitReady), .B0(InitReady), .A0(InitReady3), .DI0(N_461_0), + .CLK(RCLK_c), .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); + SLICE_33 SLICE_33( .C1(nCRAS_c), .B1(LEDEN), .A1(CBR), .C0(UFMSDO_c), + .B0(InitReady), .A0(CmdLEDEN), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), + .F0(N_70), .Q0(LEDEN), .F1(LED_c)); + SLICE_39 SLICE_39( .B1(un1_Din_4), .A1(XOR8MEG), .C0(n8MEGEN), .B0(XOR8MEG), + .A0(\Din_c[6] ), .DI0(RA11_2), .LSR(Ready_fast), .CLK(PHI2_c), .F0(RA11_2), + .Q0(\RA_c[11] ), .F1(N_171)); + SLICE_41 SLICE_41( .D1(\S[1] ), .C1(FWEr_fast), .B1(CO0), .A1(CASr2), + .D0(Ready), .C0(RCKEEN_8_u_1), .B0(RCKEEN_8_u_0_0), .A0(CBR), + .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), + .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); + SLICE_42 SLICE_42( .D1(RASr2), .C1(\IS[2] ), .B1(\IS[1] ), .A1(\IS[0] ), + .D0(RCKEEN), .C0(RASr3), .B0(RASr2), .A0(RASr), .DI0(RCKE_2), .M1(PHI2_c), + .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); + SLICE_43 SLICE_43( .D1(\S_0_i_o2[1] ), .C1(InitReady), .B1(RASr2), + .A1(Ready), .D0(InitReady), .C0(N_165), .B0(Ready_0_sqmuxa_0_a3_2), + .A0(Ready), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), .F0(N_462_0), + .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); + SLICE_44 SLICE_44( .D1(Ready_0_sqmuxa_0_a3_2), .C1(Ready), .B1(N_165), + .A1(InitReady), .B0(Ready_fast), .A0(Ready_0_sqmuxa), .DI0(N_463_0), + .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), + .F1(Ready_0_sqmuxa), .Q1(RASr)); + SLICE_50 SLICE_50( .C1(CO0), .B1(\S[1] ), .A1(Ready), .B0(\S[1] ), .A0(CO0), + .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), + .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); + SLICE_51 SLICE_51( .D1(N_129), .C1(UFMCLK_r_i_a2_2_2), .B1(CmdUFMCLK), + .A1(InitReady), .D0(UFMCLK_r_i_m4_xx_mm_1), .C0(UFMCLK_c), .B0(nUFMCS15), + .A0(N_139_i), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), .F0(UFMCLK_RNO), + .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); + SLICE_52 SLICE_52( .D1(PHI2r3), .C1(PHI2r2), .B1(InitReady), + .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(UFMSDI_c), .B0(nUFMCS15), + .A0(N_139_i), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), + .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); + SLICE_55 SLICE_55( .C0(nRowColSel), .B0(\RowA[4] ), .A0(\MAin_c[4] ), + .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), + .Q0(\WRD[4] ), .Q1(\WRD[5] )); + SLICE_56 SLICE_56( .D1(\Bank[7] ), .C1(\Bank[6] ), .B1(\Bank[5] ), + .A1(\Bank[2] ), .C0(\FS[9] ), .B0(\FS[7] ), .A0(\FS[5] ), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), + .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); + SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[3] ), .B1(\Din_c[2] ), + .A1(\Din_c[0] ), .D0(XOR8MEG_3_u_0_a3_2), .C0(N_171), .B0(LEDEN), + .A0(\Din_c[1] ), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), + .F0(XOR8MEG_3), .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); + SLICE_58 SLICE_58( .C1(N_51), .B1(InitReady), .A1(\FS[8] ), .C0(UFMSDO_c), + .B0(InitReady), .A0(Cmdn8MEGEN), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), + .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); + SLICE_59 SLICE_59( .D1(\S[1] ), .C1(Ready), .B1(N_160), .A1(N_155), + .D0(g0_1), .C0(\S[1] ), .B0(nRCAS_0_sqmuxa_1), .A0(N_41), .DI0(N_37_i), + .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); + SLICE_60 SLICE_60( .D1(CASr2), .C1(CASr3), .B1(CO0), .A1(FWEr_fast), + .D0(RCKEEN_8_u_0_a2_1_out), .C0(N_28_i_1), .B0(N_24), .A0(CBR), + .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); + SLICE_61 SLICE_61( .D1(Ready), .C1(RCKE_c), .B1(RASr2), .A1(\S_0_i_o2[1] ), + .D0(\IS[0] ), .C0(N_155), .B0(N_160), .A0(nRRAS_5_u_i_0), .DI0(N_24_i), + .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); + SLICE_62 SLICE_62( .D1(Ready), .C1(RASr2), .B1(\S_0_i_o2[1] ), .A1(CBR_fast), + .D0(m18_0_a2_1), .C0(nRCAS_0_sqmuxa_1), .B0(G_17_1), .A0(FWEr), + .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), + .F1(nRCAS_0_sqmuxa_1)); + SLICE_63 SLICE_63( .D1(Ready), .C1(FWEr), .B1(CBR), .A1(CASr3), .D0(\S[1] ), + .C0(Ready), .B0(N_179), .A0(CO0), .DI0(nRowColSel_0_0), + .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), + .F1(N_179)); + SLICE_64 SLICE_64( .D1(N_51), .C1(InitReady), .B1(\FS[11] ), .A1(\FS[10] ), + .D0(nUFMCS_s_0_N_5_i_N_2L1), .C0(nUFMCS_c), .B0(nUFMCS15), .A0(N_139_i), + .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), + .F1(nUFMCS15)); + nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(RCKE_c), .B1(CO0), + .A1(\S[1] ), .D0(InitReady), .C0(m18_0_a3_3), .B0(CO0), .A0(\S[1] ), + .M0(Ready), .OFX0(m18_0_a2_1)); + SLICE_66 SLICE_66( .C1(UFMCLK_r_i_a2_2_2), .B1(InitReady), .A1(CmdUFMCS), + .D0(N_95_5), .C0(N_95_3), .B0(InitReady), .A0(\FS[16] ), .M1(\MAin_c[1] ), + .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), + .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); + SLICE_67 SLICE_67( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(N_128), + .A1(XOR8MEG18), .D0(N_147), .C0(\MAin_c[1] ), .B0(\MAin_c[0] ), + .A0(CmdEnable), .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), + .CLK(nCRAS_c), .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), + .Q1(\RowA[5] )); + SLICE_68 SLICE_68( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), + .D0(un1_FS_14_i_a2_0_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_31), + .F1(un1_FS_14_i_a2_0_1)); + SLICE_69 SLICE_69( .D1(\FS[5] ), .C1(\FS[3] ), .B1(\FS[2] ), .A1(\FS[0] ), + .D0(un1_FS_13_i_a2_1), .C0(N_137_8), .B0(N_137_6), .A0(N_136), .F0(N_33), + .F1(un1_FS_13_i_a2_1)); + SLICE_70 SLICE_70( .D1(C1WR_0_a2_0_11), .C1(C1WR_0_a2_0_10), .B1(\Bank[1] ), + .A1(\Bank[0] ), .B0(N_147), .A0(\MAin_c[1] ), .M1(\Din_c[1] ), + .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), + .Q1(\Bank[1] )); + SLICE_71 SLICE_71( .D1(\MAin_c[7] ), .C1(\MAin_c[6] ), .B1(\MAin_c[5] ), + .A1(\MAin_c[4] ), .D0(C1WR_0_a2_0_4), .C0(C1WR_0_a2_0_3), .B0(\Bank[4] ), + .A0(\Bank[3] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), + .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); + SLICE_72 SLICE_72( .C1(UFMSDI_ens2_i_o2_0_3), .B1(\FS[16] ), .A1(\FS[12] ), + .D0(N_51), .C0(\FS[11] ), .B0(\FS[4] ), .A0(\FS[1] ), .M1(\MAin_c[3] ), + .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), + .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); + SLICE_73 SLICE_73( .D1(CO0), .C1(\S[1] ), .B1(InitReady), .A1(RASr2), + .B0(Ready), .A0(N_155), .M1(\Din_c[2] ), .M0(\Din_c[1] ), + .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), + .F1(N_155), .Q1(CmdUFMCS)); + SLICE_74 SLICE_74( .B1(\FS[14] ), .A1(\FS[11] ), .D0(N_95_5), .C0(N_95_3), + .B0(\FS[16] ), .A0(\FS[10] ), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), + .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); + SLICE_75 SLICE_75( .C1(\Din_c[7] ), .B1(\Din_c[6] ), .A1(\Din_c[4] ), + .C0(N_128), .B0(\Din_c[5] ), .A0(\Din_c[1] ), .M1(CASr), .M0(nCCAS_c), + .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); + SLICE_76 SLICE_76( .B1(\Din_c[5] ), .A1(\Din_c[0] ), .D0(\MAin_c[0] ), + .C0(\Din_c[3] ), .B0(\Din_c[1] ), .A0(CmdEnable16_4), .M1(\Din_c[5] ), + .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), + .F1(CmdEnable16_4), .Q1(\Bank[5] )); + SLICE_77 SLICE_77( .B1(\Din_c[7] ), .A1(\Din_c[4] ), .D0(\MAin_c[1] ), + .C0(\Din_c[6] ), .B0(\Din_c[2] ), .A0(CmdEnable16_1), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), + .F1(CmdEnable16_1), .Q1(\Bank[7] )); + SLICE_78 SLICE_78( .B1(\Din_c[5] ), .A1(\Din_c[3] ), .D0(N_43), + .C0(\MAin_c[1] ), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(nCCAS_c), + .M0(nCCAS_c), .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), + .Q1(CBR_fast)); + SLICE_79 SLICE_79( .C1(Ready), .B1(CASr3), .A1(CASr2), .D0(m6_0_a2_2), + .C0(\S[1] ), .B0(CO0), .A0(CBR), .M1(\Din_c[1] ), .M0(\Din_c[0] ), + .CLK(nCCAS_c), .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); + SLICE_80 SLICE_80( .B1(CASr3), .A1(CASr2), .D0(g4_0_0_0), .C0(FWEr), + .B0(CO0), .A0(CBR_fast), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), + .Q1(\RowA[9] )); + SLICE_81 SLICE_81( .D1(\FS[17] ), .C1(\FS[15] ), .B1(\FS[14] ), + .A1(\FS[13] ), .D0(\FS[17] ), .C0(\FS[15] ), .B0(\FS[13] ), .A0(\FS[12] ), + .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), + .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); + SLICE_82 SLICE_82( .D1(\Din_c[3] ), .C1(\Din_c[5] ), .B1(CmdLEDEN), + .A1(N_128), .D0(\Din_c[3] ), .C0(\Din_c[5] ), .B0(N_128), .A0(XOR8MEG18), + .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), .Q0(CASr3), + .F1(N_132)); + SLICE_83 SLICE_83( .C1(\IS[3] ), .B1(\IS[2] ), .A1(\IS[1] ), .C0(\IS[2] ), + .B0(\IS[1] ), .A0(\IS[0] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), + .Q1(\RBA_c[1] )); + SLICE_84 SLICE_84( .D1(\FS[11] ), .C1(\FS[10] ), .B1(\FS[8] ), .A1(\FS[6] ), + .D0(\FS[10] ), .C0(\FS[7] ), .B0(\FS[6] ), .A0(\FS[1] ), .F0(N_137_6), + .F1(UFMSDI_ens2_i_a2_4_2)); + SLICE_85 SLICE_85( .D1(\Din_c[4] ), .C1(\Din_c[7] ), .B1(\Din_c[0] ), + .A1(\Din_c[1] ), .D0(\Din_c[7] ), .C0(\Din_c[6] ), .B0(\Din_c[5] ), + .A0(\Din_c[4] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), + .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); + SLICE_86 SLICE_86( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\RowA[9] ), .A0(\MAin_c[9] ), .F0(\RA_c[9] ), .F1(RDQML_c)); + SLICE_87 SLICE_87( .C1(N_151), .B1(UFMSDI_ens2_i_a0), .A1(CmdUFMSDI), + .D0(N_151), .C0(\FS[11] ), .B0(\FS[9] ), .A0(\FS[4] ), .F0(N_137_8), + .F1(UFMSDI_r_xx_mm_1)); + SLICE_88 SLICE_88( .C1(nFWE_c), .B1(\MAin_c[3] ), .A1(\MAin_c[2] ), + .B0(nFWE_c), .A0(nCCAS_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), + .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); + SLICE_89 SLICE_89( .B1(nRowColSel), .A1(\MAin_c[9] ), .C0(nRowColSel), + .B0(\RowA[8] ), .A0(\MAin_c[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); + SLICE_90 SLICE_90( .C1(\MAin_c[1] ), .B1(\MAin_c[0] ), .A1(N_147), + .C0(nRowColSel), .B0(\RowA[0] ), .A0(\MAin_c[0] ), .F0(\RA_c[0] ), + .F1(un1_CMDWR)); + SLICE_91 SLICE_91( .C1(nRowColSel), .B1(\RowA[7] ), .A1(\MAin_c[7] ), + .C0(nRowColSel), .B0(\RowA[1] ), .A0(\MAin_c[1] ), .F0(\RA_c[1] ), + .F1(\RA_c[7] )); + SLICE_92 SLICE_92( .C1(nRowColSel), .B1(\RowA[6] ), .A1(\MAin_c[6] ), + .C0(nRowColSel), .B0(\RowA[2] ), .A0(\MAin_c[2] ), .F0(\RA_c[2] ), + .F1(\RA_c[6] )); + SLICE_93 SLICE_93( .C1(nRowColSel), .B1(\RowA[5] ), .A1(\MAin_c[5] ), + .C0(nRowColSel), .B0(\RowA[3] ), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), + .F1(\RA_c[5] )); + SLICE_94 SLICE_94( .B1(N_155), .A1(Ready), .B0(\S[1] ), .A0(Ready), + .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), + .Q0(\RA_c[10] ), .F1(N_159_i)); + RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), + .RD0(RD[0])); + Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); + PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); + UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); + UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); + UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); + nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); + RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); + RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); + nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); + nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); + nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); + RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); + RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); + nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); + RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), + .RD7(RD[7])); + RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), + .RD6(RD[6])); + RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), + .RD5(RD[5])); + RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), + .RD4(RD[4])); + RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), + .RD3(RD[3])); + RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), + .RD2(RD[2])); + RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), + .RD1(RD[1])); + RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); + RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); + RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); + RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); + RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); + RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); + RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); + RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); + RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); + RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); + RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); + RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); + RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); + RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); + LED LED_I( .PADDO(LED_c), .LED(LED)); + nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); + nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); + nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); + Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); + Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); + Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); + Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); + Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); + Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); + Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); + Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); + Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); + Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); + Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); + Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); + Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); + Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); + Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); + CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); + CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); + MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); + MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); + MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); + MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); + MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); + MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); + MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); + MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); + MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); + MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); + VHI VHI_INST( .Z(VCCI)); + PUR PUR_INST( .PUR(VCCI)); + GSR GSR_INST( .GSR(VCCI)); + VLO VLO_INST( .Z(GNDI_TSALL)); + TSALL TSALL_INST( .TSALL(GNDI_TSALL)); +endmodule + +module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); + wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , + A1_dly, CLK_dly, A0_dly; + + vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), + .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + endspecify + +endmodule + +module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module vcc ( output PWR1 ); + + VHI INST1( .Z(PWR1)); +endmodule + +module gnd ( output PWR0 ); + + VLO INST1( .Z(PWR0)); +endmodule + +module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h300a; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); + wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), + .CO1()); + + specify + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h5002; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; + + lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut4 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40002 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00F2) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module inverter ( input I, output Z ); + + INV INST1( .A(I), .Z(Z)); +endmodule + +module SLICE_14 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40003 CmdEnable16_0_a2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40003 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40004 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_19 ( input D1, C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40006 \S_RNO[0] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40005 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40006 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDDDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_20 ( input B1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); + wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, + CLK_NOTIN, DI0_dly, CLK_dly; + + lut40008 SLICE_20_K1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(\SLICE_20/SLICE_20_K1_H1 )); + gnd DRIVEGND( .PWR0(GNDI)); + lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); + vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), + .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40008 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40009 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAC8C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module selmux2 ( input D0, D1, SD, output Z ); + + MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); +endmodule + +module SLICE_21 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40010 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40011 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0203) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_22 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40005 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 CmdSubmitted_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40012 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_26 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40013 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40014 Cmdn8MEGEN_RNO( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40013 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40014 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5151) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_29 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40015 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40016 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40015 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF32) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40016 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_30 ( input C1, B1, A1, B0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40017 \IS_RNO[2] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40018 IS_n1_0_x2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40017 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7878) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40018 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h6666) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40019 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40020 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40019 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40020 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h6AAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_32 ( input D1, C1, B1, A1, B0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40021 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 InitReady_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40021 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4555) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_33 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40022 LED_pad_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40023 LEDEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40022 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFBFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40023 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8B8B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_39 ( input B1, A1, C0, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40024 XOR8MEG_3_u_0_a3_0( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40025 RA11_2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40024 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40025 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hC6C6) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40026 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40027 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40026 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h70CF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40027 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40028 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40029 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40028 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40029 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFE30) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40030 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40031 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40030 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5072) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40031 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAEAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_44 ( input D1, C1, B1, A1, B0, A0, DI0, M1, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40028 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_50 ( input C1, B1, A1, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40032 nRowColSel_RNO( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 \S_0_i_o2[1] ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40032 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0202) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40033 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40034 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40033 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF2F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40034 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1032) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40035 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40036 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40035 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3B33) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40036 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3210) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_55 ( input C0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40037 \un9_RA[4] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40037 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hACAC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_56 ( input D1, C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40038 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40039 UFMSDI_ens2_i_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40038 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40039 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2C2C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40005 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40040 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40040 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF7F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_58 ( input C1, B1, A1, C0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40041 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40023 n8MEGEN_5_i_m2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40041 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40042 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40043 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40042 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0BFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40043 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0044 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40045 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40046 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40045 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hE6EE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40046 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3233) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40047 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40048 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40047 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5400) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40048 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5051) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40049 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40050 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40049 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40050 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF4F7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output + F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40051 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40052 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40051 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40052 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCEC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40053 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40054 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0044 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40053 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40054 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output + OFX0 ); + wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , + \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; + + lut40055 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); + lut40056 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); + selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( + .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), + .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (C1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40055 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40056 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40057 nUFMCS_s_0_N_5_i_N_2L1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40049 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40057 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0B0B) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40058 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40005 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0059 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40058 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0059 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40053 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40060 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40060 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEAAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40061 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40060 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40061 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0100) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_70 ( input D1, C1, B1, A1, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut4 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40062 C1WR_0_a2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40062 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8888) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; + + lut4 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut4 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module SLICE_72 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40063 UFMSDI_ens2_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40064 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40063 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40064 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAAC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_73 ( input D1, C1, B1, A1, B0, A0, M1, M0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; + + lut40065 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40012 IS_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40065 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFF7) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_74 ( input B1, A1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; + + lut40062 InitReady3_0_a2_3( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut4 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module SLICE_75 ( input C1, B1, A1, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40066 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40041 CmdLEDEN_4_u_i_a2_0( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40066 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFDFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_76 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40024 CmdEnable16_0_a2_4( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40067 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40067 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_77 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40068 CmdEnable16_0_a2_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40049 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40068 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4444) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_78 ( input B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40069 CmdEnable17_0_o2( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40058 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40069 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7777) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_79 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40070 nRWE_RNO_2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40038 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40070 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_80 ( input B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40024 nRCAS_RNO_1( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40071 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0059 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40071 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4101) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40072 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut4 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40072 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, + F1 ); + wire VCCI, GNDI, M0_dly, CLK_dly; + + lut40073 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40074 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40073 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40074 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0222) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_83 ( input C1, B1, A1, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40063 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40075 Ready_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40075 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h7F7F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40028 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40061 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40076 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40053 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40076 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_86 ( input B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40069 RDQML( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_87 ( input C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40077 UFMSDI_RNO_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40049 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40077 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3232) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_88 ( input C1, B1, A1, B0, A0, M1, M0, LSR, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40078 C1WR_0_a2_0_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40012 nCCAS_pad_RNI01SJ( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40078 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_89 ( input B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40079 RDQMH( .A(A1), .B(B1), .C(GNDI), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[8] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40079 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBBBB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_90 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40080 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40080 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA8A8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_91 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 \un9_RA[7] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[1] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_92 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 \un9_RA[6] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[2] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_93 ( input C1, B1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40037 \un9_RA[5] ( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40037 \un9_RA[3] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_94 ( input B1, A1, B0, A0, M0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; + + lut40081 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(A1), .B(B1), .C(GNDI), .D(GNDI), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40062 RCKEEN_8_u_0_a2_1_s( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + vmuxregsre0059 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40081 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1111) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); + + mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); + + specify + (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD0) = (0:0:0,0:0:0); + (RD0 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD0, 0:0:0); + $width (negedge RD0, 0:0:0); + endspecify + +endmodule + +module mjiobuf ( input I, T, output Z, PAD, input PADI ); + + IB INST1( .I(PADI), .O(Z)); + OBW INST2( .I(I), .T(T), .O(PAD)); +endmodule + +module Dout_0_ ( input PADDO, output Dout0 ); + + mjiobuf0082 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); + + specify + (PADDO => Dout0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0082 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module PHI2 ( output PADDI, input PHI2 ); + + mjiobuf0083 PHI2_pad( .Z(PADDI), .PAD(PHI2)); + + specify + (PHI2 => PADDI) = (0:0:0,0:0:0); + $width (posedge PHI2, 0:0:0); + $width (negedge PHI2, 0:0:0); + endspecify + +endmodule + +module mjiobuf0083 ( output Z, input PAD ); + + IBPD INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDO ( output PADDI, input UFMSDO ); + + mjiobuf0084 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); + + specify + (UFMSDO => PADDI) = (0:0:0,0:0:0); + $width (posedge UFMSDO, 0:0:0); + $width (negedge UFMSDO, 0:0:0); + endspecify + +endmodule + +module mjiobuf0084 ( output Z, input PAD ); + + IB INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDI ( input PADDO, output UFMSDI ); + + mjiobuf0085 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); + + specify + (PADDO => UFMSDI) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0085 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module UFMCLK ( input PADDO, output UFMCLK ); + + mjiobuf0085 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); + + specify + (PADDO => UFMCLK) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nUFMCS ( input PADDO, output nUFMCS ); + + mjiobuf0085 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); + + specify + (PADDO => nUFMCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQML ( input PADDO, output RDQML ); + + mjiobuf0085 RDQML_pad( .I(PADDO), .PAD(RDQML)); + + specify + (PADDO => RDQML) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQMH ( input PADDO, output RDQMH ); + + mjiobuf0085 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); + + specify + (PADDO => RDQMH) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS ( input PADDO, output nRCAS ); + + mjiobuf0085 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); + + specify + (PADDO => nRCAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRRAS ( input PADDO, output nRRAS ); + + mjiobuf0085 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); + + specify + (PADDO => nRRAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRWE ( input PADDO, output nRWE ); + + mjiobuf0085 nRWE_pad( .I(PADDO), .PAD(nRWE)); + + specify + (PADDO => nRWE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCKE ( input PADDO, output RCKE ); + + mjiobuf0085 RCKE_pad( .I(PADDO), .PAD(RCKE)); + + specify + (PADDO => RCKE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCLK ( output PADDI, input RCLK ); + + mjiobuf0084 RCLK_pad( .Z(PADDI), .PAD(RCLK)); + + specify + (RCLK => PADDI) = (0:0:0,0:0:0); + $width (posedge RCLK, 0:0:0); + $width (negedge RCLK, 0:0:0); + endspecify + +endmodule + +module nRCS ( input PADDO, output nRCS ); + + mjiobuf0085 nRCS_pad( .I(PADDO), .PAD(nRCS)); + + specify + (PADDO => nRCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); + + mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); + + specify + (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD7) = (0:0:0,0:0:0); + (RD7 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD7, 0:0:0); + $width (negedge RD7, 0:0:0); + endspecify + +endmodule + +module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); + + mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); + + specify + (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD6) = (0:0:0,0:0:0); + (RD6 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD6, 0:0:0); + $width (negedge RD6, 0:0:0); + endspecify + +endmodule + +module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); + + mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); + + specify + (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD5) = (0:0:0,0:0:0); + (RD5 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD5, 0:0:0); + $width (negedge RD5, 0:0:0); + endspecify + +endmodule + +module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); + + mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); + + specify + (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD4) = (0:0:0,0:0:0); + (RD4 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD4, 0:0:0); + $width (negedge RD4, 0:0:0); + endspecify + +endmodule + +module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); + + mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); + + specify + (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD3) = (0:0:0,0:0:0); + (RD3 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD3, 0:0:0); + $width (negedge RD3, 0:0:0); + endspecify + +endmodule + +module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); + + mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); + + specify + (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD2) = (0:0:0,0:0:0); + (RD2 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD2, 0:0:0); + $width (negedge RD2, 0:0:0); + endspecify + +endmodule + +module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); + + mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); + + specify + (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD1) = (0:0:0,0:0:0); + (RD1 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD1, 0:0:0); + $width (negedge RD1, 0:0:0); + endspecify + +endmodule + +module RA_11_ ( input PADDO, output RA11 ); + + mjiobuf0085 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); + + specify + (PADDO => RA11) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_10_ ( input PADDO, output RA10 ); + + mjiobuf0085 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); + + specify + (PADDO => RA10) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_9_ ( input PADDO, output RA9 ); + + mjiobuf0085 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); + + specify + (PADDO => RA9) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_8_ ( input PADDO, output RA8 ); + + mjiobuf0085 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); + + specify + (PADDO => RA8) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_7_ ( input PADDO, output RA7 ); + + mjiobuf0085 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); + + specify + (PADDO => RA7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_6_ ( input PADDO, output RA6 ); + + mjiobuf0085 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); + + specify + (PADDO => RA6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_5_ ( input PADDO, output RA5 ); + + mjiobuf0085 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); + + specify + (PADDO => RA5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_4_ ( input PADDO, output RA4 ); + + mjiobuf0085 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); + + specify + (PADDO => RA4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_3_ ( input PADDO, output RA3 ); + + mjiobuf0085 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); + + specify + (PADDO => RA3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_2_ ( input PADDO, output RA2 ); + + mjiobuf0085 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); + + specify + (PADDO => RA2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_1_ ( input PADDO, output RA1 ); + + mjiobuf0085 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); + + specify + (PADDO => RA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_0_ ( input PADDO, output RA0 ); + + mjiobuf0085 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); + + specify + (PADDO => RA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1_ ( input PADDO, output RBA1 ); + + mjiobuf0085 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); + + specify + (PADDO => RBA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_0_ ( input PADDO, output RBA0 ); + + mjiobuf0085 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); + + specify + (PADDO => RBA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module LED ( input PADDO, output LED ); + + mjiobuf0086 LED_pad( .I(PADDO), .PAD(LED)); + + specify + (PADDO => LED) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0086 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module nFWE ( output PADDI, input nFWE ); + + mjiobuf0084 nFWE_pad( .Z(PADDI), .PAD(nFWE)); + + specify + (nFWE => PADDI) = (0:0:0,0:0:0); + $width (posedge nFWE, 0:0:0); + $width (negedge nFWE, 0:0:0); + endspecify + +endmodule + +module nCRAS ( output PADDI, input nCRAS ); + + mjiobuf0087 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); + + specify + (nCRAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCRAS, 0:0:0); + $width (negedge nCRAS, 0:0:0); + endspecify + +endmodule + +module mjiobuf0087 ( output Z, input PAD ); + + IBPU INST1( .I(PAD), .O(Z)); +endmodule + +module nCCAS ( output PADDI, input nCCAS ); + + mjiobuf0087 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); + + specify + (nCCAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCCAS, 0:0:0); + $width (negedge nCCAS, 0:0:0); + endspecify + +endmodule + +module Dout_7_ ( input PADDO, output Dout7 ); + + mjiobuf0082 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); + + specify + (PADDO => Dout7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_6_ ( input PADDO, output Dout6 ); + + mjiobuf0082 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); + + specify + (PADDO => Dout6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_5_ ( input PADDO, output Dout5 ); + + mjiobuf0082 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); + + specify + (PADDO => Dout5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_4_ ( input PADDO, output Dout4 ); + + mjiobuf0082 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); + + specify + (PADDO => Dout4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_3_ ( input PADDO, output Dout3 ); + + mjiobuf0082 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); + + specify + (PADDO => Dout3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_2_ ( input PADDO, output Dout2 ); + + mjiobuf0082 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); + + specify + (PADDO => Dout2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_1_ ( input PADDO, output Dout1 ); + + mjiobuf0082 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); + + specify + (PADDO => Dout1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Din_7_ ( output PADDI, input Din7 ); + + mjiobuf0084 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); + + specify + (Din7 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din7, 0:0:0); + $width (negedge Din7, 0:0:0); + endspecify + +endmodule + +module Din_6_ ( output PADDI, input Din6 ); + + mjiobuf0084 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); + + specify + (Din6 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din6, 0:0:0); + $width (negedge Din6, 0:0:0); + endspecify + +endmodule + +module Din_5_ ( output PADDI, input Din5 ); + + mjiobuf0084 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); + + specify + (Din5 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din5, 0:0:0); + $width (negedge Din5, 0:0:0); + endspecify + +endmodule + +module Din_4_ ( output PADDI, input Din4 ); + + mjiobuf0084 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); + + specify + (Din4 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din4, 0:0:0); + $width (negedge Din4, 0:0:0); + endspecify + +endmodule + +module Din_3_ ( output PADDI, input Din3 ); + + mjiobuf0084 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); + + specify + (Din3 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din3, 0:0:0); + $width (negedge Din3, 0:0:0); + endspecify + +endmodule + +module Din_2_ ( output PADDI, input Din2 ); + + mjiobuf0084 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); + + specify + (Din2 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din2, 0:0:0); + $width (negedge Din2, 0:0:0); + endspecify + +endmodule + +module Din_1_ ( output PADDI, input Din1 ); + + mjiobuf0084 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); + + specify + (Din1 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din1, 0:0:0); + $width (negedge Din1, 0:0:0); + endspecify + +endmodule + +module Din_0_ ( output PADDI, input Din0 ); + + mjiobuf0084 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); + + specify + (Din0 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din0, 0:0:0); + $width (negedge Din0, 0:0:0); + endspecify + +endmodule + +module CROW_1_ ( output PADDI, input CROW1 ); + + mjiobuf0084 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); + + specify + (CROW1 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW1, 0:0:0); + $width (negedge CROW1, 0:0:0); + endspecify + +endmodule + +module CROW_0_ ( output PADDI, input CROW0 ); + + mjiobuf0084 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); + + specify + (CROW0 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW0, 0:0:0); + $width (negedge CROW0, 0:0:0); + endspecify + +endmodule + +module MAin_9_ ( output PADDI, input MAin9 ); + + mjiobuf0084 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); + + specify + (MAin9 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin9, 0:0:0); + $width (negedge MAin9, 0:0:0); + endspecify + +endmodule + +module MAin_8_ ( output PADDI, input MAin8 ); + + mjiobuf0084 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); + + specify + (MAin8 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin8, 0:0:0); + $width (negedge MAin8, 0:0:0); + endspecify + +endmodule + +module MAin_7_ ( output PADDI, input MAin7 ); + + mjiobuf0084 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); + + specify + (MAin7 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin7, 0:0:0); + $width (negedge MAin7, 0:0:0); + endspecify + +endmodule + +module MAin_6_ ( output PADDI, input MAin6 ); + + mjiobuf0084 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); + + specify + (MAin6 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin6, 0:0:0); + $width (negedge MAin6, 0:0:0); + endspecify + +endmodule + +module MAin_5_ ( output PADDI, input MAin5 ); + + mjiobuf0084 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); + + specify + (MAin5 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin5, 0:0:0); + $width (negedge MAin5, 0:0:0); + endspecify + +endmodule + +module MAin_4_ ( output PADDI, input MAin4 ); + + mjiobuf0084 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); + + specify + (MAin4 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin4, 0:0:0); + $width (negedge MAin4, 0:0:0); + endspecify + +endmodule + +module MAin_3_ ( output PADDI, input MAin3 ); + + mjiobuf0084 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); + + specify + (MAin3 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin3, 0:0:0); + $width (negedge MAin3, 0:0:0); + endspecify + +endmodule + +module MAin_2_ ( output PADDI, input MAin2 ); + + mjiobuf0084 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); + + specify + (MAin2 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin2, 0:0:0); + $width (negedge MAin2, 0:0:0); + endspecify + +endmodule + +module MAin_1_ ( output PADDI, input MAin1 ); + + mjiobuf0084 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); + + specify + (MAin1 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin1, 0:0:0); + $width (negedge MAin1, 0:0:0); + endspecify + +endmodule + +module MAin_0_ ( output PADDI, input MAin0 ); + + mjiobuf0084 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); + + specify + (MAin0 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin0, 0:0:0); + $width (negedge MAin0, 0:0:0); + endspecify + +endmodule diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mrp.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mrp.html index edaf6e7..5cb4aa5 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mrp.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_mrp.html @@ -15,17 +15,15 @@ Command line: map -a MachXO -p LCMXO640C -t TQFP100 -s 3 -oc Commercial -ioreg b RAM2GS_LCMXO640C_impl1.ngd -o RAM2GS_LCMXO640C_impl1_map.ncd -pr - RAM2GS_LCMXO640C_impl1.prf -mp RAM2GS_LCMXO640C_impl1.mrp -lpf D:/OneDrive/ - Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplif - y.lpf -lpf - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.lpf -c - 0 -gui -msgset - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml + RAM2GS_LCMXO640C_impl1.prf -mp RAM2GS_LCMXO640C_impl1.mrp -lpf + Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf + -lpf Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO.lpf -c 0 -gui -msgset + Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml Target Vendor: LATTICE Target Device: LCMXO640CTQFP100 Target Performance: 3 Mapper: mj5g00, version: Diamond (64-bit) 3.12.1.454 -Mapped on: 08/16/23 04:50:46 +Mapped on: 08/19/23 20:57:13 Design Summary @@ -67,9 +65,9 @@ Mapped on: 08/16/23 04:50:46 Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs Net RASr2: 2 loads, 2 LSLICEs Net Ready_fast: 7 loads, 7 LSLICEs - Number of nets driven by tri-state buffers: 0 Top 10 highest fanout non-clock nets: + Net InitReady: 16 loads Net Ready: 16 loads Net S[1]: 13 loads @@ -127,9 +125,9 @@ Mapped on: 08/16/23 04:50:46 +---------------------+-----------+-----------+------------+------------+ | nRWE | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ - | RCKE | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ + | RCLK | INPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ | nRCS | OUTPUT | LVCMOS33 | | | @@ -184,9 +182,9 @@ Mapped on: 08/16/23 04:50:46 +---------------------+-----------+-----------+------------+------------+ | nCCAS | INPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ - | Dout[7] | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ + | Dout[6] | OUTPUT | LVCMOS33 | | | +---------------------+-----------+-----------+------------+------------+ | Dout[5] | OUTPUT | LVCMOS33 | | | @@ -244,6 +242,8 @@ Mapped on: 08/16/23 04:50:46 + + Removed logic Block GSR_INST undriven or does not drive anything - clipped. @@ -285,7 +285,7 @@ Block VCC was optimized away. Total CPU Time: 0 secs Total REAL Time: 0 secs - Peak Memory Usage: 30 MB + Peak Memory Usage: 51 MB diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_ngd.asd b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_ngd.asd index c265c78..8440a7e 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_ngd.asd +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_ngd.asd @@ -1 +1 @@ -[ActiveSupport NGD] +[ActiveSupport NGD] diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_pad.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_pad.html index 633dcd2..b171e28 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_pad.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_pad.html @@ -14,7 +14,7 @@ Performance Grade: 3 PACKAGE: TQFP100 Package Status: Final Version 1.17 -Wed Aug 16 04:50:52 2023 +Sat Aug 19 20:57:21 2023 Pinout by Port Name: +-----------+----------+---------------+-------+----------------------------------+ @@ -358,7 +358,7 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:52 2023 +Sat Aug 19 20:57:21 2023 diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_par.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_par.html index 979b886..5c3777f 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_par.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_par.html @@ -12,12 +12,12 @@ Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:48 2023 +Sat Aug 19 20:57:16 2023 C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO640C_impl1.p2t RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir RAM2GS_LCMXO640C_impl1.prf -gui -msgset -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml +Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml Preference file: RAM2GS_LCMXO640C_impl1.prf. @@ -26,22 +26,22 @@ Preference file: RAM2GS_LCMXO640C_impl1.prf. Level/ Number Worst Timing Worst Timing Run NCD Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ---------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 7.336 0 0.273 0 04 Completed +5_1 * 0 7.336 0 0.273 0 06 Completed * : Design saved. -Total (real) run time for 1-seed: 4 secs +Total (real) run time for 1-seed: 6 secs par done! Note: user must run 'Trace' for timing closure signoff. Lattice Place and Route Report for Design "RAM2GS_LCMXO640C_impl1_map.ncd" -Wed Aug 16 04:50:48 2023 +Sat Aug 19 20:57:16 2023 Best Par Run PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf Preference file: RAM2GS_LCMXO640C_impl1.prf. Placement level-cost: 5-1. Routing Iterations: 6 @@ -90,12 +90,12 @@ Finished Placer Phase 0. REAL time: 0 secs Starting Placer Phase 1. ............. Placer score = 956294. -Finished Placer Phase 1. REAL time: 4 secs +Finished Placer Phase 1. REAL time: 5 secs Starting Placer Phase 2. . Placer score = 953137 -Finished Placer Phase 2. REAL time: 4 secs +Finished Placer Phase 2. REAL time: 5 secs @@ -132,7 +132,7 @@ I/O Bank Usage Summary: | 3 | 18 / 21 ( 85%) | 3.3V | - | - | +----------+----------------+------------+------------+------------+ -Total placer CPU time: 3 secs +Total placer CPU time: 5 secs Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. @@ -144,9 +144,9 @@ WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. Signal=nCCAS_c loads=8 clock_loads=4 -Completed router resource preassignment. Real time: 4 secs +Completed router resource preassignment. Real time: 6 secs -Start NBR router at 04:50:52 08/16/23 +Start NBR router at 20:57:22 08/19/23 ***************************************************************** Info: NBR allows conflicts(one node used by more than one signal) @@ -161,44 +161,44 @@ Note: NBR uses a different method to calculate timing slacks. The your design. ***************************************************************** -Start NBR special constraint process at 04:50:52 08/16/23 +Start NBR special constraint process at 20:57:22 08/19/23 -Start NBR section for initial routing at 04:50:52 08/16/23 +Start NBR section for initial routing at 20:57:22 08/19/23 Level 1, iteration 1 1(0.00%) conflict; 548(86.57%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.325ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.325ns/0.000ns; real time: 6 secs Level 2, iteration 1 1(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.532ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.532ns/0.000ns; real time: 6 secs Level 3, iteration 1 0(0.00%) conflict; 542(85.62%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.449ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.449ns/0.000ns; real time: 6 secs Level 4, iteration 1 8(0.03%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 6 secs Info: Initial congestion level at 75% usage is 0 Info: Initial congestion area at 75% usage is 0 (0.00%) -Start NBR section for normal routing at 04:50:52 08/16/23 +Start NBR section for normal routing at 20:57:22 08/19/23 Level 4, iteration 1 5(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 6 secs Level 4, iteration 2 1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 6 secs Level 4, iteration 3 0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 6 secs -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:52 08/16/23 +Start NBR section for setup/hold timing optimization with effort level 3 at 20:57:22 08/19/23 -Start NBR section for re-routing at 04:50:52 08/16/23 +Start NBR section for re-routing at 20:57:22 08/19/23 Level 4, iteration 1 0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 4 secs +Estimated worst slack/total negative slack<setup>: 7.336ns/0.000ns; real time: 6 secs -Start NBR section for post-routing at 04:50:52 08/16/23 +Start NBR section for post-routing at 20:57:22 08/19/23 End NBR router with 0 unrouted connection @@ -216,8 +216,8 @@ Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. Signal=nCCAS_c loads=8 clock_loads=4 -Total CPU time 4 secs -Total REAL time: 4 secs +Total CPU time 6 secs +Total REAL time: 6 secs Completely routed. End of route. 633 routed (100.00%); 0 unrouted. @@ -239,8 +239,8 @@ PAR_SUMMARY::Worst slack<hold /<ns>> = 0.273 PAR_SUMMARY::Timing score<hold /<ns>> = 0.000 PAR_SUMMARY::Number of errors = 0 -Total CPU time to completion: 4 secs -Total REAL time to completion: 4 secs +Total CPU time to completion: 6 secs +Total REAL time to completion: 6 secs par done! diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_scck.rpt b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_scck.rpt index ab934cf..33d5310 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_scck.rpt +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_scck.rpt @@ -1,59 +1,59 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 - -# Written on Wed Aug 16 04:50:40 2023 - -##### FILES SYNTAX CHECKED ############################################## -Constraint File(s): "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc" - -#Run constraint checker to find more issues with constraints. -######################################################################### - - - -No issues found in constraint syntax. - - - -Clock Summary -************* - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - -Clock Load Summary -****************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 + +# Written on Sat Aug 19 20:57:07 2023 + +##### FILES SYNTAX CHECKED ############################################## +Constraint File(s): "Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc" + +#Run constraint checker to find more issues with constraints. +######################################################################### + + + +No issues found in constraint syntax. + + + +Clock Summary +************* + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + +Clock Load Summary +****************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_summary.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_summary.html index 755533f..97f67a6 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_summary.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_summary.html @@ -24,7 +24,7 @@ Last Process: -JEDEC File +IBIS Model State: Passed @@ -48,7 +48,7 @@ Logic preference file: -RAM2GS_LCMXO640C.lpf +RAM2GS-LCMXO.lpf Physical Preference file: @@ -62,15 +62,15 @@ Updated: -2023/08/16 05:03:17 +2023/08/20 05:55:53 Implementation Location: -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1 +Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1 Project File: -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf +Y:/Repos/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.ldf
    diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.html index b0aa4d8..94c8d3e 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.html @@ -10,9 +10,9 @@ #Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 #install: C:\lscc\diamond\3.12\synpbase #OS: Windows 8 6.2 -#Hostname: ZANEPC +#Hostname: ZANEMACWIN11 -# Wed Aug 16 04:50:37 2023 +# Sat Aug 19 20:57:05 2023 #Implementation: impl1 @@ -27,7 +27,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -45,7 +45,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -57,29 +57,27 @@ Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 202 @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) @I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - +Options changed - recompiling Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) For a summary of runtime and memory usage per design unit, please see file: ========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:38 2023 +# Sat Aug 19 20:57:05 2023 ###########################################################] ###########################################################[ @@ -94,34 +92,34 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @N|Running in 64-bit mode -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:38 2023 +# Sat Aug 19 20:57:05 2023 ###########################################################] For a summary of runtime and memory usage for all design units, please see file: ========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv @END -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:38 2023 +# Sat Aug 19 20:57:05 2023 ###########################################################] ###########################################################[ @@ -136,7 +134,7 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ @@ -144,15 +142,17 @@ Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug @N|Running in 64-bit mode File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime Process completed successfully. -# Wed Aug 16 04:50:39 2023 +# Sat Aug 19 20:57:06 2023 ###########################################################] -# Wed Aug 16 04:50:39 2023 +Premap Report + +# Sat Aug 19 20:57:07 2023 Copyright (C) 1994-2021 Synopsys, Inc. @@ -165,34 +165,34 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 131MB peak: 140MB) -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" @N: MF916 |Option synthesis_strategy=base is enabled. @N: MF248 |Running in 64-bit mode. @N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) @N: FX493 |Applying initial value "0" on instance InitReady. @W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. @@ -218,20 +218,20 @@ Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h @N: FX493 |Applying initial value "0" on instance CmdEnable. @N: FX493 |Applying initial value "1" on instance nRWE. -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) @N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) @@ -298,23 +298,25 @@ Clock Tree ID Driving Element Drive Element Type Fanout Sample I @N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. Finished Pre Mapping Phase. -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) Pre-mapping successful! -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:41 2023 +# Sat Aug 19 20:57:08 2023 ###########################################################] -# Wed Aug 16 04:50:41 2023 +Map & Optimize Report + +# Sat Aug 19 20:57:08 2023 Copyright (C) 1994-2021 Synopsys, Inc. @@ -327,70 +329,70 @@ Build: R-2021.03L-SP1 Install: C:\lscc\diamond\3.12\synpbase OS: Windows 6.2 -Hostname: ZANEPC +Hostname: ZANEMACWIN11 Implementation : impl1 Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) @N: MF916 |Option synthesis_strategy=base is enabled. @N: MF248 |Running in 64-bit mode. @N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] @N: FX493 |Applying initial value "0" on instance IS[0]. @W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. @N: FX493 |Applying initial value "0" on instance IS[1]. @N: FX493 |Applying initial value "0" on instance IS[2]. @N: FX493 |Applying initial value "0" on instance IS[3]. -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB) +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) -Finished factoring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 174MB peak: 174MB) +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) Available hyper_sources - for debug and ip models None Found -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------ @@ -400,45 +402,45 @@ Pass CPU time Worst Slack Luts / Registers 4 0h:00m:01s -3.23ns 123 / 89 5 0h:00m:01s -3.23ns 124 / 89 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. Timing driven replication report Added 3 Registers via timing driven replication Added 1 LUTs via timing driven replication - 7 0h:00m:02s -2.99ns 128 / 92 + 7 0h:00m:01s -2.99ns 128 / 92 - 8 0h:00m:02s -2.99ns 127 / 92 - 9 0h:00m:02s -3.09ns 127 / 92 - 10 0h:00m:02s -3.19ns 127 / 92 - 11 0h:00m:02s -3.19ns 127 / 92 - 12 0h:00m:02s -3.19ns 127 / 92 + 8 0h:00m:01s -2.99ns 127 / 92 + 9 0h:00m:01s -3.09ns 127 / 92 + 10 0h:00m:01s -3.19ns 127 / 92 + 11 0h:00m:01s -3.19ns 127 / 92 + 12 0h:00m:01s -3.19ns 127 / 92 -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB) -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 143MB peak: 179MB) +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 179MB peak: 179MB) +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB) Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi @N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 184MB) +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB) -Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 185MB) +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB) -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) @N: MT615 |Found clock RCLK with period 16.00ns @N: MT615 |Found clock PHI2 with period 350.00ns @@ -447,7 +449,7 @@ Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:0 ##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:45 2023 +# Timing report written on Sat Aug 19 20:57:11 2023 # @@ -455,7 +457,7 @@ Top view: RAM2GS Requested Frequency: 2.9 MHz Wire load mode: top Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc @N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. @@ -934,10 +936,10 @@ nRCAS FD1S3AY D In 0.000 3.510 f - Timing exceptions that could not be applied -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) --------------------------------------- Resource Usage Report @@ -967,10 +969,10 @@ VHI: 1 VLO: 1 Mapper successful! -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 196MB) -Process took 0h:00m:04s realtime, 0h:00m:04s cputime -# Wed Aug 16 04:50:45 2023 +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 20:57:12 2023 ###########################################################] diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf index 2b0f89b..ca24d6c 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf @@ -1,24 +1,24 @@ -# -# Logical Preferences generated for Lattice by Synplify map202103lat, Build 070R. -# - -# Period Constraints -FREQUENCY PORT "PHI2" 2.9 MHz; -FREQUENCY PORT "nCCAS" 2.9 MHz; -FREQUENCY PORT "nCRAS" 2.9 MHz; -FREQUENCY PORT "RCLK" 62.5 MHz; - - -# Output Constraints - -# Input Constraints - -# Point-to-point Delay Constraints - - - -# Block Path Constraints - -BLOCK ASYNCPATHS; - -# End of generated Logical Preferences. +# +# Logical Preferences generated for Lattice by Synplify map202103lat, Build 070R. +# + +# Period Constraints +FREQUENCY PORT "PHI2" 2.9 MHz; +FREQUENCY PORT "nCCAS" 2.9 MHz; +FREQUENCY PORT "nCRAS" 2.9 MHz; +FREQUENCY PORT "RCLK" 62.5 MHz; + + +# Output Constraints + +# Input Constraints + +# Point-to-point Delay Constraints + + + +# Block Path Constraints + +BLOCK ASYNCPATHS; + +# End of generated Logical Preferences. diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.tcl b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.tcl index 2f392b6..9dfcd14 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.tcl +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.tcl @@ -1,65 +1,65 @@ -#-- Lattice Semiconductor Corporation Ltd. -#-- Synplify OEM project file - -#device options -set_option -technology MACHXO -set_option -part LCMXO640C -set_option -package T100C -set_option -speed_grade -3 - -#compilation/mapping options -set_option -symbolic_fsm_compiler true -set_option -resource_sharing true - -#use verilog 2001 standard option -set_option -vlog_std v2001 - -#map options -set_option -frequency 70 -set_option -maxfan 1000 -set_option -auto_constrain_io 0 -set_option -disable_io_insertion false -set_option -retiming false; set_option -pipe false -set_option -force_gsr auto -set_option -compiler_compatible 0 -set_option -dup false - -add_file -constraint {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc} -set_option -default_enum_encoding default - -#simulation options - - -#timing analysis options -set_option -num_critical_paths 3 - - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#synplifyPro options -set_option -fix_gated_and_generated_clocks 1 -set_option -update_models_cp 0 -set_option -resolve_multiple_driver 0 - - -set_option -seqshift_no_replicate 0 - -#-- add_file options -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C} -add_file -verilog -vlog_std v2001 {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v} - -#-- top module name -set_option -top_module RAM2GS - -#-- set result format/file last -project -result_file {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi} - -#-- error message log file -project -log_file {RAM2GS_LCMXO640C_impl1.srf} - -#-- set any command lines input by customer - - -#-- run Synplify with 'arrange HDL file' -project -run -clean +#-- Lattice Semiconductor Corporation Ltd. +#-- Synplify OEM project file + +#device options +set_option -technology MACHXO +set_option -part LCMXO640C +set_option -package T100C +set_option -speed_grade -3 + +#compilation/mapping options +set_option -symbolic_fsm_compiler true +set_option -resource_sharing true + +#use verilog 2001 standard option +set_option -vlog_std v2001 + +#map options +set_option -frequency 70 +set_option -maxfan 1000 +set_option -auto_constrain_io 0 +set_option -disable_io_insertion false +set_option -retiming false; set_option -pipe false +set_option -force_gsr auto +set_option -compiler_compatible 0 +set_option -dup false + +add_file -constraint {Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc} +set_option -default_enum_encoding default + +#simulation options + + +#timing analysis options +set_option -num_critical_paths 3 + + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#synplifyPro options +set_option -fix_gated_and_generated_clocks 1 +set_option -update_models_cp 0 +set_option -resolve_multiple_driver 0 + + +set_option -seqshift_no_replicate 0 + +#-- add_file options +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO640C} +add_file -verilog -vlog_std v2001 {Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v} + +#-- top module name +set_option -top_module RAM2GS + +#-- set result format/file last +project -result_file {Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi} + +#-- error message log file +project -log_file {RAM2GS_LCMXO640C_impl1.srf} + +#-- set any command lines input by customer + + +#-- run Synplify with 'arrange HDL file' +project -run -clean diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_tw1.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_tw1.html index c8fba6a..e08c8f3 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_tw1.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_tw1.html @@ -22,7 +22,7 @@ Setup and Hold Report -------------------------------------------------------------------------------- Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:47 2023 +Sat Aug 19 20:57:14 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -32,7 +32,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf Design file: ram2gs_lcmxo640c_impl1_map.ncd Preference file: ram2gs_lcmxo640c_impl1.prf Device,speed: LCMXO640C,3 @@ -253,7 +253,7 @@ Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) -------------------------------------------------------------------------------- Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:47 2023 +Sat Aug 19 20:57:14 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -263,7 +263,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf +Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf Design file: ram2gs_lcmxo640c_impl1_map.ncd Preference file: ram2gs_lcmxo640c_impl1.prf Device,speed: LCMXO640C,M diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_twr.html b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_twr.html index fe8751d..b93319a 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_twr.html +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_twr.html @@ -22,7 +22,7 @@ Setup and Hold Report -------------------------------------------------------------------------------- Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:53 2023 +Sat Aug 19 20:57:23 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -32,7 +32,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf +Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf Design file: ram2gs_lcmxo640c_impl1.ncd Preference file: ram2gs_lcmxo640c_impl1.prf Device,speed: LCMXO640C,3 @@ -1231,7 +1231,7 @@ Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) -------------------------------------------------------------------------------- Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:53 2023 +Sat Aug 19 20:57:23 2023 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. @@ -1241,7 +1241,7 @@ Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. Report Information ------------------ -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf +Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf Design file: ram2gs_lcmxo640c_impl1.ncd Preference file: ram2gs_lcmxo640c_impl1.prf Device,speed: LCMXO640C,m diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.sdf b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.sdf index d3d13b4..93d8db6 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.sdf +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.sdf @@ -1,2928 +1,2928 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:55 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1I) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8I) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20I) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55I) - (DELAY - (ABSOLUTE - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1_SLICE_65I) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90I) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94I) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_B") - (INSTANCE RD_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_B") - (INSTANCE Dout_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2B") - (INSTANCE PHI2I) - (DELAY - (ABSOLUTE - (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2S) (1250:1250:1250)) - (WIDTH (negedge PHI2S) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDOB") - (INSTANCE UFMSDOI) - (DELAY - (ABSOLUTE - (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDOS) (1250:1250:1250)) - (WIDTH (negedge UFMSDOS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDIB") - (INSTANCE UFMSDII) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLKB") - (INSTANCE UFMCLKI) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCSB") - (INSTANCE nUFMCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMLB") - (INSTANCE RDQMLI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMHB") - (INSTANCE RDQMHI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCASB") - (INSTANCE nRCASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRASB") - (INSTANCE nRRASI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWEB") - (INSTANCE nRWEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKEB") - (INSTANCE RCKEI) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLKB") - (INSTANCE RCLKI) - (DELAY - (ABSOLUTE - (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLKS) (1250:1250:1250)) - (WIDTH (negedge RCLKS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCSB") - (INSTANCE nRCSI) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_B") - (INSTANCE RD_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_B") - (INSTANCE RD_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_B") - (INSTANCE RD_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_B") - (INSTANCE RD_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_B") - (INSTANCE RD_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_B") - (INSTANCE RD_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_B") - (INSTANCE RD_1_I0) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_B") - (INSTANCE RA_11_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_B") - (INSTANCE RA_10_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_B") - (INSTANCE RA_9_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_B") - (INSTANCE RA_8_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_B") - (INSTANCE RA_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_B") - (INSTANCE RA_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_B") - (INSTANCE RA_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_B") - (INSTANCE RA_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_B") - (INSTANCE RA_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_B") - (INSTANCE RA_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_B") - (INSTANCE RA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_B") - (INSTANCE RA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_B") - (INSTANCE RBA_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_B") - (INSTANCE RBA_0_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LEDB") - (INSTANCE LEDI) - (DELAY - (ABSOLUTE - (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWEB") - (INSTANCE nFWEI) - (DELAY - (ABSOLUTE - (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWES) (1250:1250:1250)) - (WIDTH (negedge nFWES) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRASB") - (INSTANCE nCRASI) - (DELAY - (ABSOLUTE - (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRASS) (1250:1250:1250)) - (WIDTH (negedge nCRASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCASB") - (INSTANCE nCCASI) - (DELAY - (ABSOLUTE - (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCASS) (1250:1250:1250)) - (WIDTH (negedge nCCASS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_B") - (INSTANCE Dout_7_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_B") - (INSTANCE Dout_6_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_B") - (INSTANCE Dout_5_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_B") - (INSTANCE Dout_4_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_B") - (INSTANCE Dout_3_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_B") - (INSTANCE Dout_2_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_B") - (INSTANCE Dout_1_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_B") - (INSTANCE Din_7_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_B") - (INSTANCE Din_6_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_B") - (INSTANCE Din_5_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_B") - (INSTANCE Din_4_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_B") - (INSTANCE Din_3_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_B") - (INSTANCE Din_2_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_B") - (INSTANCE Din_1_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_B") - (INSTANCE Din_0_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_B") - (INSTANCE CROW_1_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_B") - (INSTANCE CROW_0_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_B") - (INSTANCE MAin_9_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_B") - (INSTANCE MAin_8_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_B") - (INSTANCE MAin_7_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_B") - (INSTANCE MAin_6_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_B") - (INSTANCE MAin_5_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_B") - (INSTANCE MAin_4_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_B") - (INSTANCE MAin_3_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_B") - (INSTANCE MAin_2_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_B") - (INSTANCE MAin_1_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_B") - (INSTANCE MAin_0_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_0I/Q1 SLICE_72I/D0 (1405:1526:1647)(1405:1526:1647)) - (INTERCONNECT SLICE_0I/Q1 SLICE_84I/C0 (754:836:918)(754:836:918)) - (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_0I/Q0 SLICE_68I/C1 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_0I/Q0 SLICE_69I/C1 (743:826:909)(743:826:909)) - (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/C1 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_1I/Q1 SLICE_81I/C0 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_1I/Q0 SLICE_66I/B0 (917:1024:1131)(917:1024:1131)) - (INTERCONNECT SLICE_1I/Q0 SLICE_72I/C1 (750:837:924)(750:837:924)) - (INTERCONNECT SLICE_1I/Q0 SLICE_74I/D0 (602:670:739)(602:670:739)) - (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B1 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B0 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_2I/Q0 SLICE_74I/D1 (599:662:725)(599:662:725)) - (INTERCONNECT SLICE_2I/Q0 SLICE_81I/D1 (1002:1094:1186)(1002:1094:1186)) - (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A1 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A0 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_3I/Q0 SLICE_81I/D0 (963:1075:1187)(963:1075:1187)) - (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_4I/Q1 SLICE_64I/B1 (1823:1986:2149)(1823:1986:2149)) - (INTERCONNECT SLICE_4I/Q1 SLICE_72I/B0 (1823:1986:2149)(1823:1986:2149)) - (INTERCONNECT SLICE_4I/Q1 SLICE_74I/B1 (923:1026:1129)(923:1026:1129)) - (INTERCONNECT SLICE_4I/Q1 SLICE_84I/B1 (923:1026:1129)(923:1026:1129)) - (INTERCONNECT SLICE_4I/Q1 SLICE_87I/B0 (923:1026:1129)(923:1026:1129)) - (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_4I/Q0 SLICE_64I/D1 (1404:1527:1650)(1404:1527:1650)) - (INTERCONNECT SLICE_4I/Q0 SLICE_74I/B0 (913:1016:1120)(913:1016:1120)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (1560:1708:1856)(1560:1708:1856)) - (INTERCONNECT SLICE_4I/Q0 SLICE_84I/B0 (913:1016:1120)(913:1016:1120)) - (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (2087:2267:2448)(2087:2267:2448)) - (INTERCONNECT SLICE_5I/Q1 SLICE_87I/C0 (754:836:918)(754:836:918)) - (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_5I/Q0 SLICE_58I/C1 (1149:1260:1372)(1149:1260:1372)) - (INTERCONNECT SLICE_5I/Q0 SLICE_84I/D1 (1397:1518:1640)(1397:1518:1640)) - (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_6I/Q1 SLICE_56I/A0 (2201:2394:2587)(2201:2394:2587)) - (INTERCONNECT SLICE_6I/Q1 SLICE_84I/D0 (599:662:725)(599:662:725)) - (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A1 (1225:1371:1517)(1225:1371:1517)) - (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A0 (1225:1371:1517)(1225:1371:1517)) - (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_7I/Q1 SLICE_56I/D0 (1803:1960:2118)(1803:1960:2118)) - (INTERCONNECT SLICE_7I/Q1 SLICE_68I/A1 (862:958:1054)(862:958:1054)) - (INTERCONNECT SLICE_7I/Q1 SLICE_69I/A1 (862:958:1054)(862:958:1054)) - (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_7I/Q0 SLICE_72I/A0 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8I/Q1 SLICE_68I/D1 (876:974:1072)(876:974:1072)) - (INTERCONNECT SLICE_8I/Q1 SLICE_69I/D1 (876:974:1072)(876:974:1072)) - (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8I/Q0 SLICE_68I/B1 (903:1005:1108)(903:1005:1108)) - (INTERCONNECT SLICE_8I/Q0 SLICE_69I/B1 (903:1005:1108)(903:1005:1108)) - (INTERCONNECT SLICE_78I/F0 SLICE_9I/D1 (932:1044:1156)(932:1044:1156)) - (INTERCONNECT SLICE_70I/F1 SLICE_9I/C1 (769:851:933)(769:851:933)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/C1 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_70I/F1 SLICE_14I/C0 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_70I/F1 SLICE_67I/A0 (1295:1420:1545)(1295:1420:1545)) - (INTERCONNECT SLICE_70I/F1 SLICE_70I/B0 (606:674:742)(606:674:742)) - (INTERCONNECT SLICE_70I/F1 SLICE_90I/C1 (769:851:933)(769:851:933)) - (INTERCONNECT SLICE_85I/F1 SLICE_9I/B1 (2100:2300:2500)(2100:2300:2500)) - (INTERCONNECT MAin_0_I/PADDI SLICE_9I/A1 (1802:1995:2189)(1802:1995:2189)) - (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (1606:1757:1909)(1606:1757:1909)) - (INTERCONNECT MAin_0_I/PADDI SLICE_67I/C0 (2131:2353:2575)(2131:2353:2575)) - (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (2379:2611:2843)(2379:2611:2843)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B1 (1395:1576:1757)(1395:1576:1757)) - (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B0 (1395:1576:1757)(1395:1576:1757)) - (INTERCONNECT SLICE_9I/Q0 SLICE_9I/D0 (517:575:634)(517:575:634)) - (INTERCONNECT SLICE_9I/Q0 SLICE_20I/A1 (786:876:966)(786:876:966)) - (INTERCONNECT SLICE_70I/F0 SLICE_9I/C0 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_9I/F1 SLICE_9I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_9I/F1 SLICE_20I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_14I/F1 SLICE_9I/A0 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_14I/F1 SLICE_14I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (1301:1429:1558)(1301:1429:1558)) - (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (2017:2199:2381)(2017:2199:2381)) - (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT SLICE_77I/F0 SLICE_14I/B1 (883:984:1086)(883:984:1086)) - (INTERCONNECT SLICE_76I/F0 SLICE_14I/A1 (837:931:1026)(837:931:1026)) - (INTERCONNECT MAin_1_I/PADDI SLICE_14I/B0 (1984:2189:2395)(1984:2189:2395)) - (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (1925:2114:2304)(1925:2114:2304)) - (INTERCONNECT MAin_1_I/PADDI SLICE_67I/D0 (1636:1793:1950)(1636:1793:1950)) - (INTERCONNECT MAin_1_I/PADDI SLICE_70I/C0 (2423:2682:2941)(2423:2682:2941)) - (INTERCONNECT MAin_1_I/PADDI SLICE_77I/D0 (2046:2232:2419)(2046:2232:2419)) - (INTERCONNECT MAin_1_I/PADDI SLICE_78I/D0 (1522:1684:1847)(1522:1684:1847)) - (INTERCONNECT MAin_1_I/PADDI SLICE_90I/A1 (2718:2965:3212)(2718:2965:3212)) - (INTERCONNECT MAin_1_I/PADDI SLICE_91I/B0 (2379:2611:2843)(2379:2611:2843)) - (INTERCONNECT SLICE_14I/Q0 SLICE_14I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_14I/Q0 SLICE_20I/C0 (1431:1576:1722)(1431:1576:1722)) - (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/D1 (571:629:687)(571:629:687)) - (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (575:636:697)(575:636:697)) - (INTERCONNECT SLICE_19I/Q0 SLICE_41I/D1 (632:700:769)(632:700:769)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (808:893:978)(808:893:978)) - (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C0 (808:893:978)(808:893:978)) - (INTERCONNECT SLICE_19I/Q0 SLICE_60I/C1 (1211:1325:1439)(1211:1325:1439)) - (INTERCONNECT SLICE_19I/Q0 SLICE_63I/B0 (968:1072:1177)(968:1072:1177)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (1236:1372:1509) - (1236:1372:1509)) - (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (1236:1372:1509) - (1236:1372:1509)) - (INTERCONNECT SLICE_19I/Q0 SLICE_73I/B1 (947:1054:1161)(947:1054:1161)) - (INTERCONNECT SLICE_19I/Q0 SLICE_79I/D0 (653:719:785)(653:719:785)) - (INTERCONNECT SLICE_19I/Q0 SLICE_80I/A0 (922:1019:1117)(922:1019:1117)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C1 (788:872:957)(788:872:957)) - (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C0 (788:872:957)(788:872:957)) - (INTERCONNECT SLICE_50I/Q0 SLICE_41I/A1 (1312:1438:1565)(1312:1438:1565)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/A1 (839:930:1021)(839:930:1021)) - (INTERCONNECT SLICE_50I/Q0 SLICE_50I/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C1 (1839:2035:2231)(1839:2035:2231)) - (INTERCONNECT SLICE_50I/Q0 SLICE_59I/B0 (1710:1891:2072)(1710:1891:2072)) - (INTERCONNECT SLICE_50I/Q0 SLICE_63I/A0 (839:930:1021)(839:930:1021)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A1 (1191:1322:1454) - (1191:1322:1454)) - (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/D0 (633:698:764)(633:698:764)) - (INTERCONNECT SLICE_50I/Q0 SLICE_73I/D1 (1332:1461:1591)(1332:1461:1591)) - (INTERCONNECT SLICE_50I/Q0 SLICE_79I/A0 (839:930:1021)(839:930:1021)) - (INTERCONNECT SLICE_50I/Q0 SLICE_94I/C0 (2356:2575:2795)(2356:2575:2795)) - (INTERCONNECT SLICE_31I/Q0 SLICE_19I/B1 (863:960:1057)(863:960:1057)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A1 (810:899:989)(810:899:989)) - (INTERCONNECT SLICE_31I/Q0 SLICE_31I/C0 (696:773:850)(696:773:850)) - (INTERCONNECT SLICE_31I/Q0 SLICE_83I/B1 (863:960:1057)(863:960:1057)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/A1 (1282:1411:1540)(1282:1411:1540)) - (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (1320:1453:1587)(1320:1453:1587)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/A1 (1688:1854:2020)(1688:1854:2020)) - (INTERCONNECT SLICE_51I/Q1 SLICE_42I/A0 (1688:1854:2020)(1688:1854:2020)) - (INTERCONNECT SLICE_51I/Q1 SLICE_43I/B1 (1328:1464:1600)(1328:1464:1600)) - (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (1320:1453:1587)(1320:1453:1587)) - (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (889:990:1091)(889:990:1091)) - (INTERCONNECT SLICE_51I/Q1 SLICE_61I/B1 (1726:1896:2067)(1726:1896:2067)) - (INTERCONNECT SLICE_51I/Q1 SLICE_62I/A1 (2115:2317:2519)(2115:2317:2519)) - (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (582:647:712)(582:647:712)) - (INTERCONNECT SLICE_51I/Q1 SLICE_73I/C1 (1571:1716:1862)(1571:1716:1862)) - (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19I/F1 SLICE_43I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_19I/F1 SLICE_44I/B1 (1394:1526:1659)(1394:1526:1659)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_20I/Q0 SLICE_67I/B0 (1409:1541:1674)(1409:1541:1674)) - (INTERCONNECT SLICE_90I/F1 SLICE_20I/B0 (1286:1416:1547)(1286:1416:1547)) - (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT Din_5_I/PADDI SLICE_21I/D1 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (2758:3009:3261)(2758:3009:3261)) - (INTERCONNECT Din_5_I/PADDI SLICE_67I/D1 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din_5_I/PADDI SLICE_75I/A0 (1511:1671:1831)(1511:1671:1831)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/D1 (1242:1370:1499)(1242:1370:1499)) - (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (1549:1713:1878)(1549:1713:1878)) - (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (2391:2619:2848)(2391:2619:2848)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/D1 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din_5_I/PADDI SLICE_82I/D0 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din_5_I/PADDI SLICE_85I/A0 (1876:2059:2243)(1876:2059:2243)) - (INTERCONNECT Din_3_I/PADDI SLICE_21I/C1 (1790:1964:2139)(1790:1964:2139)) - (INTERCONNECT Din_3_I/PADDI SLICE_57I/C1 (2200:2404:2608)(2200:2404:2608)) - (INTERCONNECT Din_3_I/PADDI SLICE_67I/B1 (1930:2123:2316)(1930:2123:2316)) - (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (2355:2576:2798)(2355:2576:2798)) - (INTERCONNECT Din_3_I/PADDI SLICE_76I/A0 (2606:2857:3109)(2606:2857:3109)) - (INTERCONNECT Din_3_I/PADDI SLICE_78I/C1 (1790:1964:2139)(1790:1964:2139)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/A1 (1904:2091:2278)(1904:2091:2278)) - (INTERCONNECT Din_3_I/PADDI SLICE_82I/A0 (1904:2091:2278)(1904:2091:2278)) - (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (1922:2112:2303)(1922:2112:2303)) - (INTERCONNECT SLICE_75I/F1 SLICE_21I/B1 (931:1040:1149)(931:1040:1149)) - (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (616:686:757)(616:686:757)) - (INTERCONNECT SLICE_75I/F1 SLICE_67I/A1 (864:963:1063)(864:963:1063)) - (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/B1 (931:1040:1149)(931:1040:1149)) - (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (931:1040:1149)(931:1040:1149)) - (INTERCONNECT SLICE_21I/F1 SLICE_21I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_21I/F1 SLICE_26I/A0 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_33I/Q0 SLICE_21I/C0 (1644:1786:1929)(1644:1786:1929)) - (INTERCONNECT SLICE_33I/Q0 SLICE_33I/D1 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (2611:2837:3063)(2611:2837:3063)) - (INTERCONNECT SLICE_75I/F0 SLICE_21I/B0 (883:984:1086)(883:984:1086)) - (INTERCONNECT SLICE_82I/F1 SLICE_21I/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (573:634:695)(573:634:695)) - (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (573:634:695)(573:634:695)) - (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (906:1005:1104)(906:1005:1104)) - (INTERCONNECT SLICE_67I/F0 SLICE_67I/C1 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_67I/F0 SLICE_82I/C0 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_21I/Q0 SLICE_33I/B0 (1797:1958:2120)(1797:1958:2120)) - (INTERCONNECT SLICE_21I/Q0 SLICE_82I/C1 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (1157:1286:1415)(1157:1286:1415)) - (INTERCONNECT SLICE_43I/Q1 SLICE_22I/C1 (1016:1133:1251)(1016:1133:1251)) - (INTERCONNECT SLICE_43I/Q1 SLICE_52I/D1 (861:959:1058)(861:959:1058)) - (INTERCONNECT SLICE_41I/Q1 SLICE_22I/B1 (1300:1432:1564)(1300:1432:1564)) - (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (1695:1853:2012)(1695:1853:2012)) - (INTERCONNECT SLICE_41I/Q1 SLICE_52I/B1 (1703:1864:2025)(1703:1864:2025)) - (INTERCONNECT SLICE_32I/Q0 SLICE_22I/A1 (887:984:1081)(887:984:1081)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/C1 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_32I/Q0 SLICE_33I/D0 (1042:1139:1236)(1042:1139:1236)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/A1 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32I/Q0 SLICE_43I/A0 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32I/Q0 SLICE_44I/A1 (887:984:1081)(887:984:1081)) - (INTERCONNECT SLICE_32I/Q0 SLICE_51I/C1 (1197:1313:1429)(1197:1313:1429)) - (INTERCONNECT SLICE_32I/Q0 SLICE_52I/C1 (1197:1313:1429)(1197:1313:1429)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/A1 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32I/Q0 SLICE_58I/A0 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32I/Q0 SLICE_64I/A1 (1311:1439:1568)(1311:1439:1568)) - (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/A0 (887:984:1081)(887:984:1081)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/C1 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_32I/Q0 SLICE_66I/C0 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_32I/Q0 SLICE_73I/A1 (1304:1431:1559)(1304:1431:1559)) - (INTERCONNECT SLICE_82I/F0 SLICE_22I/D0 (1778:1934:2090)(1778:1934:2090)) - (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22I/F1 SLICE_68I/D0 (975:1068:1161)(975:1068:1161)) - (INTERCONNECT SLICE_22I/F1 SLICE_69I/B0 (1290:1421:1553)(1290:1421:1553)) - (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (735:822:909)(735:822:909)) - (INTERCONNECT SLICE_78I/F1 SLICE_78I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_26I/Q0 SLICE_58I/B0 (899:1000:1102)(899:1000:1102)) - (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (1348:1473:1599)(1348:1473:1599)) - (INTERCONNECT SLICE_76I/F1 SLICE_76I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_58I/Q0 SLICE_26I/D0 (580:648:716)(580:648:716)) - (INTERCONNECT SLICE_58I/Q0 SLICE_39I/A0 (2063:2250:2438)(2063:2250:2438)) - (INTERCONNECT SLICE_26I/F1 SLICE_26I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83I/F1 SLICE_29I/D1 (1406:1541:1676)(1406:1541:1676)) - (INTERCONNECT SLICE_83I/F1 SLICE_59I/A1 (2154:2337:2521)(2154:2337:2521)) - (INTERCONNECT SLICE_83I/F1 SLICE_61I/D0 (1695:1864:2034)(1695:1864:2034)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/C1 (1273:1392:1511)(1273:1392:1511)) - (INTERCONNECT SLICE_73I/F1 SLICE_29I/C0 (1273:1392:1511)(1273:1392:1511)) - (INTERCONNECT SLICE_73I/F1 SLICE_59I/B1 (1836:2003:2171)(1836:2003:2171)) - (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (1273:1392:1511)(1273:1392:1511)) - (INTERCONNECT SLICE_73I/F1 SLICE_73I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_73I/F1 SLICE_94I/C1 (1680:1833:1986)(1680:1833:1986)) - (INTERCONNECT SLICE_61I/F1 SLICE_29I/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_61I/F1 SLICE_61I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A1 (832:922:1012)(832:922:1012)) - (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D1 (623:687:752)(623:687:752)) - (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D0 (623:687:752)(623:687:752)) - (INTERCONNECT SLICE_29I/Q0 SLICE_31I/A0 (1302:1427:1553)(1302:1427:1553)) - (INTERCONNECT SLICE_29I/Q0 SLICE_42I/B1 (1703:1883:2063)(1703:1883:2063)) - (INTERCONNECT SLICE_29I/Q0 SLICE_61I/A0 (832:922:1012)(832:922:1012)) - (INTERCONNECT SLICE_29I/Q0 SLICE_83I/D0 (1033:1127:1221)(1033:1127:1221)) - (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (2098:2304:2511)(2098:2304:2511)) - (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (1347:1503:1660)(1347:1503:1660)) - (INTERCONNECT SLICE_43I/Q0 SLICE_41I/B0 (948:1050:1153)(948:1050:1153)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/D1 (578:636:695)(578:636:695)) - (INTERCONNECT SLICE_43I/Q0 SLICE_43I/D0 (578:636:695)(578:636:695)) - (INTERCONNECT SLICE_43I/Q0 SLICE_44I/D1 (633:697:761)(633:697:761)) - (INTERCONNECT SLICE_43I/Q0 SLICE_50I/D1 (632:700:769)(632:700:769)) - (INTERCONNECT SLICE_43I/Q0 SLICE_59I/D1 (1435:1582:1729)(1435:1582:1729)) - (INTERCONNECT SLICE_43I/Q0 SLICE_61I/C1 (1476:1647:1819)(1476:1647:1819)) - (INTERCONNECT SLICE_43I/Q0 SLICE_62I/B1 (2176:2379:2582)(2176:2379:2582)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C1 (801:890:980)(801:890:980)) - (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C0 (801:890:980)(801:890:980)) - (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (640:705:770)(640:705:770)) - (INTERCONNECT SLICE_43I/Q0 SLICE_73I/A0 (1191:1321:1451)(1191:1321:1451)) - (INTERCONNECT SLICE_43I/Q0 SLICE_79I/C1 (801:890:980)(801:890:980)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/D1 (2271:2465:2659)(2271:2465:2659)) - (INTERCONNECT SLICE_43I/Q0 SLICE_94I/D0 (2271:2465:2659)(2271:2465:2659)) - (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_30I/Q1 SLICE_30I/C1 (696:773:850)(696:773:850)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D1 (991:1107:1224)(991:1107:1224)) - (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D0 (991:1107:1224)(991:1107:1224)) - (INTERCONNECT SLICE_30I/Q1 SLICE_42I/C1 (1560:1700:1840)(1560:1700:1840)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C1 (1146:1281:1417)(1146:1281:1417)) - (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C0 (1146:1281:1417)(1146:1281:1417)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/A1 (825:914:1004)(825:914:1004)) - (INTERCONNECT SLICE_30I/Q0 SLICE_30I/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B1 (943:1046:1150)(943:1046:1150)) - (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B0 (943:1046:1150)(943:1046:1150)) - (INTERCONNECT SLICE_30I/Q0 SLICE_42I/D1 (1109:1203:1297)(1109:1203:1297)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A1 (897:993:1090)(897:993:1090)) - (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A0 (897:993:1090)(897:993:1090)) - (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (1885:2046:2208)(1885:2046:2208)) - (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (2184:2374:2565)(2184:2374:2565)) - (INTERCONNECT SLICE_73I/F0 SLICE_31I/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (1908:2070:2233)(1908:2070:2233)) - (INTERCONNECT SLICE_56I/F0 SLICE_32I/D1 (1374:1495:1616)(1374:1495:1616)) - (INTERCONNECT SLICE_84I/F1 SLICE_32I/B1 (1172:1308:1444)(1172:1308:1444)) - (INTERCONNECT SLICE_72I/F1 SLICE_32I/A1 (1239:1383:1527)(1239:1383:1527)) - (INTERCONNECT SLICE_72I/F1 SLICE_58I/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_72I/F1 SLICE_64I/C1 (1575:1727:1879)(1575:1727:1879)) - (INTERCONNECT SLICE_72I/F1 SLICE_72I/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_74I/F0 SLICE_32I/D0 (245:274:304)(245:274:304)) - (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32I/F1 SLICE_87I/D1 (245:274:304)(245:274:304)) - (INTERCONNECT nCRASI/PADDI SLICE_33I/C1 (1635:1825:2016)(1635:1825:2016)) - (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (1526:1687:1849)(1526:1687:1849)) - (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (1758:1913:2068)(1758:1913:2068)) - (INTERCONNECT SLICE_78I/Q0 SLICE_41I/D0 (1892:2044:2197)(1892:2044:2197)) - (INTERCONNECT SLICE_78I/Q0 SLICE_60I/D0 (1405:1538:1671)(1405:1538:1671)) - (INTERCONNECT SLICE_78I/Q0 SLICE_63I/A1 (1634:1807:1981)(1634:1807:1981)) - (INTERCONNECT SLICE_78I/Q0 SLICE_79I/B0 (1969:2184:2399)(1969:2184:2399)) - (INTERCONNECT UFMSDOI/PADDI SLICE_33I/A0 (1377:1528:1680)(1377:1528:1680)) - (INTERCONNECT UFMSDOI/PADDI SLICE_58I/D0 (2317:2524:2731)(2317:2524:2731)) - (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (1070:1165:1260)(1070:1165:1260)) - (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/D1 (1908:2070:2232)(1908:2070:2232)) - (INTERCONNECT SLICE_57I/Q0 SLICE_39I/D0 (1908:2070:2232)(1908:2070:2232)) - (INTERCONNECT SLICE_85I/F0 SLICE_39I/B1 (1792:1955:2118)(1792:1955:2118)) - (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (1477:1601:1726)(1477:1601:1726)) - (INTERCONNECT Din_6_I/PADDI SLICE_39I/B0 (2577:2847:3118)(2577:2847:3118)) - (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (2415:2652:2889)(2415:2652:2889)) - (INTERCONNECT Din_6_I/PADDI SLICE_75I/A1 (2528:2792:3057)(2528:2792:3057)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/B0 (2695:2961:3228)(2695:2961:3228)) - (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (2387:2616:2845)(2387:2616:2845)) - (INTERCONNECT Din_6_I/PADDI SLICE_78I/C0 (2520:2764:3008)(2520:2764:3008)) - (INTERCONNECT Din_6_I/PADDI SLICE_85I/D0 (1973:2170:2368)(1973:2170:2368)) - (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (1723:1881:2040)(1723:1881:2040)) - (INTERCONNECT SLICE_44I/Q0 SLICE_44I/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (910:1010:1110)(910:1010:1110)) - (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (1730:1889:2048)(1730:1889:2048)) - (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (1730:1889:2048)(1730:1889:2048)) - (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (1320:1449:1579)(1320:1449:1579)) - (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (910:1010:1110)(910:1010:1110)) - (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (1723:1881:2040)(1723:1881:2040)) - (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_39I/F1 SLICE_57I/A0 (2170:2363:2556)(2170:2363:2556)) - (INTERCONNECT SLICE_81I/Q1 SLICE_41I/C1 (2032:2205:2379)(2032:2205:2379)) - (INTERCONNECT SLICE_81I/Q1 SLICE_60I/B1 (1789:1953:2117)(1789:1953:2117)) - (INTERCONNECT SLICE_75I/Q1 SLICE_41I/B1 (1295:1427:1559)(1295:1427:1559)) - (INTERCONNECT SLICE_75I/Q1 SLICE_60I/A1 (2074:2266:2459)(2074:2266:2459)) - (INTERCONNECT SLICE_75I/Q1 SLICE_79I/B1 (1717:1887:2058)(1717:1887:2058)) - (INTERCONNECT SLICE_75I/Q1 SLICE_80I/C1 (1557:1708:1859)(1557:1708:1859)) - (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (884:984:1085)(884:984:1085)) - (INTERCONNECT SLICE_41I/F1 SLICE_41I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_43I/F1 SLICE_41I/A0 (833:932:1032)(833:932:1032)) - (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (1773:1932:2091)(1773:1932:2091)) - (INTERCONNECT SLICE_41I/Q0 SLICE_42I/B0 (1781:1942:2104)(1781:1942:2104)) - (INTERCONNECT SLICE_44I/Q1 SLICE_42I/D0 (1398:1530:1663)(1398:1530:1663)) - (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (1386:1516:1646)(1386:1516:1646)) - (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (1621:1763:1905)(1621:1763:1905)) - (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42I/Q0 SLICE_61I/A1 (1247:1371:1495)(1247:1371:1495)) - (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/C1 (2228:2432:2636) - (2228:2432:2636)) - (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/C0 (1537:1688:1840) - (1537:1688:1840)) - (INTERCONNECT SLICE_50I/F0 SLICE_43I/C1 (750:837:924)(750:837:924)) - (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (31:31:31)(31:31:31)) - (INTERCONNECT SLICE_50I/F0 SLICE_61I/D1 (970:1082:1195)(970:1082:1195)) - (INTERCONNECT SLICE_50I/F0 SLICE_62I/C1 (1575:1727:1879)(1575:1727:1879)) - (INTERCONNECT SLICE_83I/F0 SLICE_43I/C0 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_83I/F0 SLICE_44I/C1 (739:821:903)(739:821:903)) - (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44I/F1 SLICE_44I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_73I/Q0 SLICE_51I/D1 (1335:1476:1617)(1335:1476:1617)) - (INTERCONNECT SLICE_72I/F0 SLICE_51I/B1 (1781:1942:2104)(1781:1942:2104)) - (INTERCONNECT SLICE_66I/F0 SLICE_51I/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_66I/F0 SLICE_66I/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_52I/F1 SLICE_51I/D0 (877:975:1074)(877:975:1074)) - (INTERCONNECT SLICE_52I/F1 SLICE_52I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_52I/F1 SLICE_64I/A0 (857:952:1048)(857:952:1048)) - (INTERCONNECT SLICE_51I/F1 SLICE_51I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_64I/F1 SLICE_52I/A0 (868:962:1057)(868:962:1057)) - (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_51I/Q0 SLICE_51I/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (1184:1361:1538)(1184:1361:1538)) - (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (932:1044:1156)(932:1044:1156)) - (INTERCONNECT SLICE_52I/Q0 SLICE_52I/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67I/Q0 SLICE_55I/D0 (1466:1589:1712)(1466:1589:1712)) - (INTERCONNECT SLICE_63I/Q0 SLICE_55I/B0 (2114:2313:2513)(2114:2313:2513)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/A1 (1678:1840:2002)(1678:1840:2002)) - (INTERCONNECT SLICE_63I/Q0 SLICE_86I/A0 (1678:1840:2002)(1678:1840:2002)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D1 (2224:2421:2618)(2224:2421:2618)) - (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D0 (2224:2421:2618)(2224:2421:2618)) - (INTERCONNECT SLICE_63I/Q0 SLICE_90I/A0 (1802:1970:2138)(1802:1970:2138)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/D1 (1796:1956:2117)(1796:1956:2117)) - (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (1954:2134:2314)(1954:2134:2314)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/D1 (2320:2504:2689)(2320:2504:2689)) - (INTERCONNECT SLICE_63I/Q0 SLICE_92I/D0 (2320:2504:2689)(2320:2504:2689)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/B1 (2543:2782:3021)(2543:2782:3021)) - (INTERCONNECT SLICE_63I/Q0 SLICE_93I/B0 (2543:2782:3021)(2543:2782:3021)) - (INTERCONNECT MAin_4_I/PADDI SLICE_55I/A0 (2220:2446:2672)(2220:2446:2672)) - (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (2701:2972:3244)(2701:2972:3244)) - (INTERCONNECT MAin_4_I/PADDI SLICE_71I/A1 (2663:2930:3197)(2663:2930:3197)) - (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (2067:2260:2454)(2067:2260:2454)) - (INTERCONNECT Din_4_I/PADDI SLICE_75I/C1 (1378:1524:1670)(1378:1524:1670)) - (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (1530:1693:1856)(1530:1693:1856)) - (INTERCONNECT Din_4_I/PADDI SLICE_77I/A1 (2732:2985:3238)(2732:2985:3238)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/B1 (1973:2177:2381)(1973:2177:2381)) - (INTERCONNECT Din_4_I/PADDI SLICE_85I/B0 (1973:2177:2381)(1973:2177:2381)) - (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (1242:1370:1498)(1242:1370:1498)) - (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (2109:2309:2510)(2109:2309:2510)) - (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (1503:1660:1818)(1503:1660:1818)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (2373:2602:2831)(2373:2602:2831)) - (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (2373:2602:2831)(2373:2602:2831)) - (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (1706:1877:2049)(1706:1877:2049)) - (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (1706:1877:2049)(1706:1877:2049)) - (INTERCONNECT nCCASI/PADDI SLICE_88I/D0 (2063:2255:2448)(2063:2255:2448)) - (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (1288:1474:1660)(1288:1474:1660)) - (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (2378:2648:2918)(2378:2648:2918)) - (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (1982:2228:2475)(1982:2228:2475)) - (INTERCONNECT SLICE_76I/Q1 SLICE_56I/D1 (1498:1630:1763)(1498:1630:1763)) - (INTERCONNECT SLICE_71I/Q0 SLICE_56I/C1 (1653:1804:1956)(1653:1804:1956)) - (INTERCONNECT SLICE_77I/Q0 SLICE_56I/B1 (1813:1984:2155)(1813:1984:2155)) - (INTERCONNECT SLICE_77I/Q1 SLICE_56I/A1 (2138:2321:2505)(2138:2321:2505)) - (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (2264:2497:2730)(2264:2497:2730)) - (INTERCONNECT Din_7_I/PADDI SLICE_75I/B1 (1828:2016:2205)(1828:2016:2205)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/C1 (1272:1412:1553)(1272:1412:1553)) - (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (1424:1581:1739)(1424:1581:1739)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/C1 (2522:2767:3013)(2522:2767:3013)) - (INTERCONNECT Din_7_I/PADDI SLICE_85I/C0 (2522:2767:3013)(2522:2767:3013)) - (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_56I/F1 SLICE_70I/B1 (1813:1984:2155)(1813:1984:2155)) - (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (1547:1713:1879)(1547:1713:1879)) - (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (1539:1702:1866)(1539:1702:1866)) - (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (1921:2109:2298)(1921:2109:2298)) - (INTERCONNECT Din_2_I/PADDI SLICE_77I/A0 (1904:2092:2280)(1904:2092:2280)) - (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (1904:2092:2280)(1904:2092:2280)) - (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (2324:2541:2759)(2324:2541:2759)) - (INTERCONNECT Din_0_I/PADDI SLICE_57I/A1 (1891:2077:2264)(1891:2077:2264)) - (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (2325:2544:2764)(2325:2544:2764)) - (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (1529:1691:1854)(1529:1691:1854)) - (INTERCONNECT Din_0_I/PADDI SLICE_76I/B1 (1937:2130:2324)(1937:2130:2324)) - (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (2739:2994:3250)(2739:2994:3250)) - (INTERCONNECT Din_0_I/PADDI SLICE_85I/A1 (2297:2513:2729)(2297:2513:2729)) - (INTERCONNECT Din_1_I/PADDI SLICE_57I/D0 (1217:1343:1469)(1217:1343:1469)) - (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (714:807:900)(714:807:900)) - (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (1521:1678:1835)(1521:1678:1835)) - (INTERCONNECT Din_1_I/PADDI SLICE_75I/D0 (1217:1343:1469)(1217:1343:1469)) - (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (1421:1579:1738)(1421:1579:1738)) - (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (1959:2159:2360)(1959:2159:2360)) - (INTERCONNECT Din_1_I/PADDI SLICE_85I/D1 (1941:2140:2339)(1941:2140:2339)) - (INTERCONNECT SLICE_57I/F1 SLICE_57I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (875:974:1073)(875:974:1073)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/B1 (1544:1731:1919)(1544:1731:1919)) - (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (940:1054:1169)(940:1054:1169)) - (INTERCONNECT SLICE_59I/F1 SLICE_59I/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_62I/F1 SLICE_59I/C0 (1669:1820:1972)(1669:1820:1972)) - (INTERCONNECT SLICE_62I/F1 SLICE_62I/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_80I/F0 SLICE_59I/A0 (1201:1344:1488)(1201:1344:1488)) - (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_82I/Q0 SLICE_60I/D1 (1509:1643:1777)(1509:1643:1777)) - (INTERCONNECT SLICE_82I/Q0 SLICE_63I/D1 (1491:1617:1743)(1491:1617:1743)) - (INTERCONNECT SLICE_82I/Q0 SLICE_79I/D1 (1491:1617:1743)(1491:1617:1743)) - (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (2209:2402:2596)(2209:2402:2596)) - (INTERCONNECT SLICE_94I/F0 SLICE_60I/C0 (1529:1669:1809)(1529:1669:1809)) - (INTERCONNECT SLICE_60I/F1 SLICE_60I/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (1291:1473:1656)(1291:1473:1656)) - (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (1935:2190:2445)(1935:2190:2445)) - (INTERCONNECT SLICE_78I/Q1 SLICE_62I/D1 (1079:1173:1267)(1079:1173:1267)) - (INTERCONNECT SLICE_78I/Q1 SLICE_80I/C0 (1637:1779:1921)(1637:1779:1921)) - (INTERCONNECT SLICE_81I/Q0 SLICE_62I/D0 (1679:1834:1990)(1679:1834:1990)) - (INTERCONNECT SLICE_81I/Q0 SLICE_63I/B1 (1691:1860:2030)(1691:1860:2030)) - (INTERCONNECT SLICE_81I/Q0 SLICE_80I/D0 (1376:1507:1638)(1376:1507:1638)) - (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/C0 (1653:1804:1956) - (1653:1804:1956)) - (INTERCONNECT SLICE_79I/F0 SLICE_62I/A0 (1651:1815:1979)(1651:1815:1979)) - (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (2095:2345:2595)(2095:2345:2595)) - (INTERCONNECT SLICE_63I/F1 SLICE_63I/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64I/Q0 SLICE_64I/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (1548:1774:2000)(1548:1774:2000)) - (INTERCONNECT SLICE_66I/F1 SLICE_64I/C0 (1529:1669:1809)(1529:1669:1809)) - (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73I/Q1 SLICE_66I/B1 (1247:1397:1548)(1247:1397:1548)) - (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (1383:1512:1642)(1383:1512:1642)) - (INTERCONNECT SLICE_81I/F0 SLICE_74I/A0 (1652:1813:1974)(1652:1813:1974)) - (INTERCONNECT SLICE_74I/F1 SLICE_66I/A0 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_66I/Q0 SLICE_90I/D0 (1375:1502:1629)(1375:1502:1629)) - (INTERCONNECT SLICE_66I/Q1 SLICE_91I/D0 (1901:2062:2224)(1901:2062:2224)) - (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (1621:1774:1928)(1621:1774:1928)) - (INTERCONNECT MAin_5_I/PADDI SLICE_71I/D1 (1614:1766:1919)(1614:1766:1919)) - (INTERCONNECT MAin_5_I/PADDI SLICE_93I/A1 (1908:2101:2294)(1908:2101:2294)) - (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (947:1062:1178)(947:1062:1178)) - (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (1350:1494:1639)(1350:1494:1639)) - (INTERCONNECT SLICE_67I/Q1 SLICE_93I/D1 (1063:1157:1251)(1063:1157:1251)) - (INTERCONNECT SLICE_87I/F0 SLICE_68I/C0 (735:822:909)(735:822:909)) - (INTERCONNECT SLICE_87I/F0 SLICE_69I/D0 (580:648:716)(580:648:716)) - (INTERCONNECT SLICE_68I/F1 SLICE_68I/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_84I/F0 SLICE_68I/A0 (786:876:966)(786:876:966)) - (INTERCONNECT SLICE_84I/F0 SLICE_69I/A0 (786:876:966)(786:876:966)) - (INTERCONNECT SLICE_69I/F1 SLICE_69I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_70I/Q0 SLICE_70I/D1 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_70I/Q1 SLICE_70I/A1 (514:575:636)(514:575:636)) - (INTERCONNECT MAin_7_I/PADDI SLICE_71I/C1 (1805:1987:2169)(1805:1987:2169)) - (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (1657:1821:1985)(1657:1821:1985)) - (INTERCONNECT MAin_7_I/PADDI SLICE_91I/B1 (2368:2598:2829)(2368:2598:2829)) - (INTERCONNECT MAin_6_I/PADDI SLICE_71I/B1 (1951:2152:2353)(1951:2152:2353)) - (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (2353:2581:2809)(2353:2581:2809)) - (INTERCONNECT MAin_6_I/PADDI SLICE_92I/C1 (3008:3283:3558)(3008:3283:3558)) - (INTERCONNECT SLICE_71I/F1 SLICE_71I/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_71I/Q1 SLICE_71I/C0 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_88I/F1 SLICE_71I/A0 (1490:1668:1846)(1490:1668:1846)) - (INTERCONNECT SLICE_81I/F1 SLICE_72I/D1 (510:568:626)(510:568:626)) - (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (1657:1821:1985)(1657:1821:1985)) - (INTERCONNECT MAin_3_I/PADDI SLICE_88I/A1 (1919:2113:2308)(1919:2113:2308)) - (INTERCONNECT MAin_3_I/PADDI SLICE_93I/A0 (2322:2545:2769)(2322:2545:2769)) - (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (1606:1757:1909)(1606:1757:1909)) - (INTERCONNECT MAin_2_I/PADDI SLICE_88I/B1 (1519:1681:1844)(1519:1681:1844)) - (INTERCONNECT MAin_2_I/PADDI SLICE_92I/B0 (2326:2552:2779)(2326:2552:2779)) - (INTERCONNECT SLICE_72I/Q0 SLICE_92I/C0 (1653:1804:1956)(1653:1804:1956)) - (INTERCONNECT SLICE_72I/Q1 SLICE_93I/D0 (1466:1589:1712)(1466:1589:1712)) - (INTERCONNECT SLICE_74I/Q0 SLICE_87I/C1 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_77I/F1 SLICE_77I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_79I/F1 SLICE_79I/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (1164:1346:1528)(1164:1346:1528)) - (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (1165:1345:1526)(1165:1345:1526)) - (INTERCONNECT SLICE_80I/F1 SLICE_80I/B0 (560:628:696)(560:628:696)) - (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/C1 (1769:1940:2112)(1769:1940:2112)) - (INTERCONNECT MAin_9_I/PADDI SLICE_86I/C0 (1769:1940:2112)(1769:1940:2112)) - (INTERCONNECT MAin_9_I/PADDI SLICE_89I/C1 (2608:2849:3090)(2608:2849:3090)) - (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (1508:1668:1828)(1508:1668:1828)) - (INTERCONNECT MAin_8_I/PADDI SLICE_89I/C0 (3001:3275:3550)(3001:3275:3550)) - (INTERCONNECT SLICE_80I/Q0 SLICE_89I/B0 (1247:1397:1548)(1247:1397:1548)) - (INTERCONNECT SLICE_80I/Q1 SLICE_86I/B0 (1378:1510:1643)(1378:1510:1643)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (2204:2414:2624)(2204:2414:2624)) - (INTERCONNECT nFWEI/PADDI SLICE_88I/C0 (2204:2414:2624)(2204:2414:2624)) - (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (2038:2228:2418)(2038:2228:2418)) - (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (2307:2528:2750)(2307:2528:2750)) - (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (1165:1345:1526)(1165:1345:1526)) - (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (2466:2735:3005)(2466:2735:3005)) - (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (1568:1777:1987)(1568:1777:1987)) - (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (2477:2778:3080)(2477:2778:3080)) - (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (1756:2001:2247)(1756:2001:2247)) - (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (2571:2883:3195)(2571:2883:3195)) - (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (2571:2883:3195)(2571:2883:3195)) - (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (2538:2838:3139)(2538:2838:3139)) - (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (2538:2838:3139)(2538:2838:3139)) - (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (1741:1997:2254)(1741:1997:2254)) - (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (1741:1997:2254)(1741:1997:2254)) - (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (2098:2368:2638)(2098:2368:2638)) - (INTERCONNECT SLICE_88I/Q0 SLICE_92I/A1 (1735:1889:2044)(1735:1889:2044)) - (INTERCONNECT SLICE_88I/Q1 SLICE_91I/C1 (1218:1331:1444)(1218:1331:1444)) - (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (1979:2229:2479)(1979:2229:2479)) - (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (1723:1947:2172)(1723:1947:2172)) - (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (1971:2209:2448)(1971:2209:2448)) - (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (1288:1474:1660)(1288:1474:1660)) - (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (1168:1345:1522)(1168:1345:1522)) - (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (1610:1831:2052)(1610:1831:2052)) - (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (1982:2228:2475)(1982:2228:2475)) - (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (2942:3272:3602)(2942:3272:3602)) - (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (2505:2806:3107)(2505:2806:3107)) - (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (2540:2847:3154)(2540:2847:3154)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:57:26 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1I) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8I) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55I) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1_SLICE_65I) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90I) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94I) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_B") + (INSTANCE RD_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_B") + (INSTANCE Dout_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2B") + (INSTANCE PHI2I) + (DELAY + (ABSOLUTE + (IOPATH PHI2S PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2S) (1250:1250:1250)) + (WIDTH (negedge PHI2S) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDOB") + (INSTANCE UFMSDOI) + (DELAY + (ABSOLUTE + (IOPATH UFMSDOS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDOS) (1250:1250:1250)) + (WIDTH (negedge UFMSDOS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDIB") + (INSTANCE UFMSDII) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDIS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLKB") + (INSTANCE UFMCLKI) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLKS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCSB") + (INSTANCE nUFMCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMLB") + (INSTANCE RDQMLI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMLS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMHB") + (INSTANCE RDQMHI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMHS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCASB") + (INSTANCE nRCASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRASB") + (INSTANCE nRRASI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRASS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWEB") + (INSTANCE nRWEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKEB") + (INSTANCE RCKEI) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKES (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLKB") + (INSTANCE RCLKI) + (DELAY + (ABSOLUTE + (IOPATH RCLKS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLKS) (1250:1250:1250)) + (WIDTH (negedge RCLKS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCSB") + (INSTANCE nRCSI) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCSS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_B") + (INSTANCE RD_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_B") + (INSTANCE RD_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_B") + (INSTANCE RD_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_B") + (INSTANCE RD_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_B") + (INSTANCE RD_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_B") + (INSTANCE RD_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_B") + (INSTANCE RD_1_I0) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_B") + (INSTANCE RA_11_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_B") + (INSTANCE RA_10_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_B") + (INSTANCE RA_9_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_B") + (INSTANCE RA_8_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_B") + (INSTANCE RA_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_B") + (INSTANCE RA_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_B") + (INSTANCE RA_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_B") + (INSTANCE RA_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_B") + (INSTANCE RA_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_B") + (INSTANCE RA_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_B") + (INSTANCE RA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_B") + (INSTANCE RA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_B") + (INSTANCE RBA_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_B") + (INSTANCE RBA_0_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LEDB") + (INSTANCE LEDI) + (DELAY + (ABSOLUTE + (IOPATH PADDO LEDS (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWEB") + (INSTANCE nFWEI) + (DELAY + (ABSOLUTE + (IOPATH nFWES PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWES) (1250:1250:1250)) + (WIDTH (negedge nFWES) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRASB") + (INSTANCE nCRASI) + (DELAY + (ABSOLUTE + (IOPATH nCRASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRASS) (1250:1250:1250)) + (WIDTH (negedge nCRASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCASB") + (INSTANCE nCCASI) + (DELAY + (ABSOLUTE + (IOPATH nCCASS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCASS) (1250:1250:1250)) + (WIDTH (negedge nCCASS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_B") + (INSTANCE Dout_7_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_B") + (INSTANCE Dout_6_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_B") + (INSTANCE Dout_5_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_B") + (INSTANCE Dout_4_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_B") + (INSTANCE Dout_3_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_B") + (INSTANCE Dout_2_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_B") + (INSTANCE Dout_1_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_B") + (INSTANCE Din_7_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_B") + (INSTANCE Din_6_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_B") + (INSTANCE Din_5_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_B") + (INSTANCE Din_4_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_B") + (INSTANCE Din_3_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_B") + (INSTANCE Din_2_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_B") + (INSTANCE Din_1_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_B") + (INSTANCE Din_0_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_B") + (INSTANCE CROW_1_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_B") + (INSTANCE CROW_0_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_B") + (INSTANCE MAin_9_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_B") + (INSTANCE MAin_8_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_B") + (INSTANCE MAin_7_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_B") + (INSTANCE MAin_6_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_B") + (INSTANCE MAin_5_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_B") + (INSTANCE MAin_4_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_B") + (INSTANCE MAin_3_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_B") + (INSTANCE MAin_2_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_B") + (INSTANCE MAin_1_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_B") + (INSTANCE MAin_0_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0I/Q1 SLICE_0I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_0I/Q1 SLICE_72I/D0 (1405:1526:1647)(1405:1526:1647)) + (INTERCONNECT SLICE_0I/Q1 SLICE_84I/C0 (754:836:918)(754:836:918)) + (INTERCONNECT SLICE_0I/Q0 SLICE_0I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_0I/Q0 SLICE_68I/C1 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_0I/Q0 SLICE_69I/C1 (743:826:909)(743:826:909)) + (INTERCONNECT RCLKI/PADDI SLICE_0I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_1I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_2I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_3I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_4I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_5I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_6I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_7I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_8I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_19I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_29I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_30I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_31I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_32I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_33I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_41I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_42I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_43I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_44I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_50I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_51I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_52I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_58I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_59I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_60I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_61I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_62I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_63I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_64I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_75I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_82I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLKI/PADDI SLICE_94I/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT SLICE_0I/FCO SLICE_8I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1I/Q1 SLICE_1I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/C1 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_1I/Q1 SLICE_81I/C0 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_1I/Q0 SLICE_1I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_1I/Q0 SLICE_66I/B0 (917:1024:1131)(917:1024:1131)) + (INTERCONNECT SLICE_1I/Q0 SLICE_72I/C1 (750:837:924)(750:837:924)) + (INTERCONNECT SLICE_1I/Q0 SLICE_74I/D0 (602:670:739)(602:670:739)) + (INTERCONNECT SLICE_2I/FCO SLICE_1I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2I/Q1 SLICE_2I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B1 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2I/Q1 SLICE_81I/B0 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2I/Q0 SLICE_2I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_2I/Q0 SLICE_74I/D1 (599:662:725)(599:662:725)) + (INTERCONNECT SLICE_2I/Q0 SLICE_81I/D1 (1002:1094:1186)(1002:1094:1186)) + (INTERCONNECT SLICE_3I/FCO SLICE_2I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3I/Q1 SLICE_3I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A1 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_3I/Q1 SLICE_81I/A0 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_3I/Q0 SLICE_3I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_3I/Q0 SLICE_72I/A1 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_3I/Q0 SLICE_81I/D0 (963:1075:1187)(963:1075:1187)) + (INTERCONNECT SLICE_4I/FCO SLICE_3I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4I/Q1 SLICE_4I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_4I/Q1 SLICE_64I/B1 (1823:1986:2149)(1823:1986:2149)) + (INTERCONNECT SLICE_4I/Q1 SLICE_72I/B0 (1823:1986:2149)(1823:1986:2149)) + (INTERCONNECT SLICE_4I/Q1 SLICE_74I/B1 (923:1026:1129)(923:1026:1129)) + (INTERCONNECT SLICE_4I/Q1 SLICE_84I/B1 (923:1026:1129)(923:1026:1129)) + (INTERCONNECT SLICE_4I/Q1 SLICE_87I/B0 (923:1026:1129)(923:1026:1129)) + (INTERCONNECT SLICE_4I/Q0 SLICE_4I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_4I/Q0 SLICE_64I/D1 (1404:1527:1650)(1404:1527:1650)) + (INTERCONNECT SLICE_4I/Q0 SLICE_74I/B0 (913:1016:1120)(913:1016:1120)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/C1 (1560:1708:1856)(1560:1708:1856)) + (INTERCONNECT SLICE_4I/Q0 SLICE_84I/B0 (913:1016:1120)(913:1016:1120)) + (INTERCONNECT SLICE_5I/FCO SLICE_4I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5I/Q1 SLICE_5I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_5I/Q1 SLICE_56I/C0 (2087:2267:2448)(2087:2267:2448)) + (INTERCONNECT SLICE_5I/Q1 SLICE_87I/C0 (754:836:918)(754:836:918)) + (INTERCONNECT SLICE_5I/Q0 SLICE_5I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_5I/Q0 SLICE_58I/C1 (1149:1260:1372)(1149:1260:1372)) + (INTERCONNECT SLICE_5I/Q0 SLICE_84I/D1 (1397:1518:1640)(1397:1518:1640)) + (INTERCONNECT SLICE_6I/FCO SLICE_5I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6I/Q1 SLICE_6I/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_6I/Q1 SLICE_56I/A0 (2201:2394:2587)(2201:2394:2587)) + (INTERCONNECT SLICE_6I/Q1 SLICE_84I/D0 (599:662:725)(599:662:725)) + (INTERCONNECT SLICE_6I/Q0 SLICE_6I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A1 (1225:1371:1517)(1225:1371:1517)) + (INTERCONNECT SLICE_6I/Q0 SLICE_84I/A0 (1225:1371:1517)(1225:1371:1517)) + (INTERCONNECT SLICE_7I/FCO SLICE_6I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7I/Q1 SLICE_7I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_7I/Q1 SLICE_56I/D0 (1803:1960:2118)(1803:1960:2118)) + (INTERCONNECT SLICE_7I/Q1 SLICE_68I/A1 (862:958:1054)(862:958:1054)) + (INTERCONNECT SLICE_7I/Q1 SLICE_69I/A1 (862:958:1054)(862:958:1054)) + (INTERCONNECT SLICE_7I/Q0 SLICE_7I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_7I/Q0 SLICE_72I/A0 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_7I/Q0 SLICE_87I/A0 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_8I/FCO SLICE_7I/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8I/Q1 SLICE_8I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8I/Q1 SLICE_68I/D1 (876:974:1072)(876:974:1072)) + (INTERCONNECT SLICE_8I/Q1 SLICE_69I/D1 (876:974:1072)(876:974:1072)) + (INTERCONNECT SLICE_8I/Q0 SLICE_8I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8I/Q0 SLICE_68I/B1 (903:1005:1108)(903:1005:1108)) + (INTERCONNECT SLICE_8I/Q0 SLICE_69I/B1 (903:1005:1108)(903:1005:1108)) + (INTERCONNECT SLICE_78I/F0 SLICE_9I/D1 (932:1044:1156)(932:1044:1156)) + (INTERCONNECT SLICE_70I/F1 SLICE_9I/C1 (769:851:933)(769:851:933)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/C1 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_70I/F1 SLICE_14I/C0 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_70I/F1 SLICE_67I/A0 (1295:1420:1545)(1295:1420:1545)) + (INTERCONNECT SLICE_70I/F1 SLICE_70I/B0 (606:674:742)(606:674:742)) + (INTERCONNECT SLICE_70I/F1 SLICE_90I/C1 (769:851:933)(769:851:933)) + (INTERCONNECT SLICE_85I/F1 SLICE_9I/B1 (2100:2300:2500)(2100:2300:2500)) + (INTERCONNECT MAin_0_I/PADDI SLICE_9I/A1 (1802:1995:2189)(1802:1995:2189)) + (INTERCONNECT MAin_0_I/PADDI SLICE_66I/M0 (1606:1757:1909)(1606:1757:1909)) + (INTERCONNECT MAin_0_I/PADDI SLICE_67I/C0 (2131:2353:2575)(2131:2353:2575)) + (INTERCONNECT MAin_0_I/PADDI SLICE_76I/D0 (2379:2611:2843)(2379:2611:2843)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B1 (1395:1576:1757)(1395:1576:1757)) + (INTERCONNECT MAin_0_I/PADDI SLICE_90I/B0 (1395:1576:1757)(1395:1576:1757)) + (INTERCONNECT SLICE_9I/Q0 SLICE_9I/D0 (517:575:634)(517:575:634)) + (INTERCONNECT SLICE_9I/Q0 SLICE_20I/A1 (786:876:966)(786:876:966)) + (INTERCONNECT SLICE_70I/F0 SLICE_9I/C0 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_9I/F1 SLICE_9I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_9I/F1 SLICE_20I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_14I/F1 SLICE_9I/A0 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_14I/F1 SLICE_14I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_14I/F1 SLICE_20I/M0 (1301:1429:1558)(1301:1429:1558)) + (INTERCONNECT SLICE_9I/F0 SLICE_9I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2I/PADDI SLICE_9I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_14I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_20I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_21I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_22I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_26I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_39I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_42I/M1 (2017:2199:2381)(2017:2199:2381)) + (INTERCONNECT PHI2I/PADDI SLICE_57I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_70I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_71I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_73I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_74I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_76I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2I/PADDI SLICE_77I/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT SLICE_77I/F0 SLICE_14I/B1 (883:984:1086)(883:984:1086)) + (INTERCONNECT SLICE_76I/F0 SLICE_14I/A1 (837:931:1026)(837:931:1026)) + (INTERCONNECT MAin_1_I/PADDI SLICE_14I/B0 (1984:2189:2395)(1984:2189:2395)) + (INTERCONNECT MAin_1_I/PADDI SLICE_66I/M1 (1925:2114:2304)(1925:2114:2304)) + (INTERCONNECT MAin_1_I/PADDI SLICE_67I/D0 (1636:1793:1950)(1636:1793:1950)) + (INTERCONNECT MAin_1_I/PADDI SLICE_70I/C0 (2423:2682:2941)(2423:2682:2941)) + (INTERCONNECT MAin_1_I/PADDI SLICE_77I/D0 (2046:2232:2419)(2046:2232:2419)) + (INTERCONNECT MAin_1_I/PADDI SLICE_78I/D0 (1522:1684:1847)(1522:1684:1847)) + (INTERCONNECT MAin_1_I/PADDI SLICE_90I/A1 (2718:2965:3212)(2718:2965:3212)) + (INTERCONNECT MAin_1_I/PADDI SLICE_91I/B0 (2379:2611:2843)(2379:2611:2843)) + (INTERCONNECT SLICE_14I/Q0 SLICE_14I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_14I/Q0 SLICE_20I/C0 (1431:1576:1722)(1431:1576:1722)) + (INTERCONNECT SLICE_14I/F0 SLICE_14I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/D1 (571:629:687)(571:629:687)) + (INTERCONNECT SLICE_19I/Q0 SLICE_19I/A0 (575:636:697)(575:636:697)) + (INTERCONNECT SLICE_19I/Q0 SLICE_41I/D1 (632:700:769)(632:700:769)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C1 (808:893:978)(808:893:978)) + (INTERCONNECT SLICE_19I/Q0 SLICE_50I/C0 (808:893:978)(808:893:978)) + (INTERCONNECT SLICE_19I/Q0 SLICE_60I/C1 (1211:1325:1439)(1211:1325:1439)) + (INTERCONNECT SLICE_19I/Q0 SLICE_63I/B0 (968:1072:1177)(968:1072:1177)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B1 (1236:1372:1509) + (1236:1372:1509)) + (INTERCONNECT SLICE_19I/Q0 nRWE_RNO_1_SLICE_65I/B0 (1236:1372:1509) + (1236:1372:1509)) + (INTERCONNECT SLICE_19I/Q0 SLICE_73I/B1 (947:1054:1161)(947:1054:1161)) + (INTERCONNECT SLICE_19I/Q0 SLICE_79I/D0 (653:719:785)(653:719:785)) + (INTERCONNECT SLICE_19I/Q0 SLICE_80I/A0 (922:1019:1117)(922:1019:1117)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C1 (788:872:957)(788:872:957)) + (INTERCONNECT SLICE_50I/Q0 SLICE_19I/C0 (788:872:957)(788:872:957)) + (INTERCONNECT SLICE_50I/Q0 SLICE_41I/A1 (1312:1438:1565)(1312:1438:1565)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/A1 (839:930:1021)(839:930:1021)) + (INTERCONNECT SLICE_50I/Q0 SLICE_50I/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/C1 (1839:2035:2231)(1839:2035:2231)) + (INTERCONNECT SLICE_50I/Q0 SLICE_59I/B0 (1710:1891:2072)(1710:1891:2072)) + (INTERCONNECT SLICE_50I/Q0 SLICE_63I/A0 (839:930:1021)(839:930:1021)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/A1 (1191:1322:1454) + (1191:1322:1454)) + (INTERCONNECT SLICE_50I/Q0 nRWE_RNO_1_SLICE_65I/D0 (633:698:764)(633:698:764)) + (INTERCONNECT SLICE_50I/Q0 SLICE_73I/D1 (1332:1461:1591)(1332:1461:1591)) + (INTERCONNECT SLICE_50I/Q0 SLICE_79I/A0 (839:930:1021)(839:930:1021)) + (INTERCONNECT SLICE_50I/Q0 SLICE_94I/C0 (2356:2575:2795)(2356:2575:2795)) + (INTERCONNECT SLICE_31I/Q0 SLICE_19I/B1 (863:960:1057)(863:960:1057)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/A1 (810:899:989)(810:899:989)) + (INTERCONNECT SLICE_31I/Q0 SLICE_31I/C0 (696:773:850)(696:773:850)) + (INTERCONNECT SLICE_31I/Q0 SLICE_83I/B1 (863:960:1057)(863:960:1057)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/A1 (1282:1411:1540)(1282:1411:1540)) + (INTERCONNECT SLICE_51I/Q1 SLICE_19I/LSR (1320:1453:1587)(1320:1453:1587)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/A1 (1688:1854:2020)(1688:1854:2020)) + (INTERCONNECT SLICE_51I/Q1 SLICE_42I/A0 (1688:1854:2020)(1688:1854:2020)) + (INTERCONNECT SLICE_51I/Q1 SLICE_43I/B1 (1328:1464:1600)(1328:1464:1600)) + (INTERCONNECT SLICE_51I/Q1 SLICE_50I/LSR (1320:1453:1587)(1320:1453:1587)) + (INTERCONNECT SLICE_51I/Q1 SLICE_52I/M1 (889:990:1091)(889:990:1091)) + (INTERCONNECT SLICE_51I/Q1 SLICE_61I/B1 (1726:1896:2067)(1726:1896:2067)) + (INTERCONNECT SLICE_51I/Q1 SLICE_62I/A1 (2115:2317:2519)(2115:2317:2519)) + (INTERCONNECT SLICE_51I/Q1 nRWE_RNO_1_SLICE_65I/D1 (582:647:712)(582:647:712)) + (INTERCONNECT SLICE_51I/Q1 SLICE_73I/C1 (1571:1716:1862)(1571:1716:1862)) + (INTERCONNECT SLICE_19I/F0 SLICE_19I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19I/F1 SLICE_43I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_19I/F1 SLICE_44I/B1 (1394:1526:1659)(1394:1526:1659)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_20I/Q0 SLICE_20I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_20I/Q0 SLICE_67I/B0 (1409:1541:1674)(1409:1541:1674)) + (INTERCONNECT SLICE_90I/F1 SLICE_20I/B0 (1286:1416:1547)(1286:1416:1547)) + (INTERCONNECT SLICE_20I/OFX0 SLICE_20I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din_5_I/PADDI SLICE_21I/D1 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din_5_I/PADDI SLICE_55I/M1 (2758:3009:3261)(2758:3009:3261)) + (INTERCONNECT Din_5_I/PADDI SLICE_67I/D1 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din_5_I/PADDI SLICE_75I/A0 (1511:1671:1831)(1511:1671:1831)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/D1 (1242:1370:1499)(1242:1370:1499)) + (INTERCONNECT Din_5_I/PADDI SLICE_76I/M1 (1549:1713:1878)(1549:1713:1878)) + (INTERCONNECT Din_5_I/PADDI SLICE_78I/B1 (2391:2619:2848)(2391:2619:2848)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/D1 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din_5_I/PADDI SLICE_82I/D0 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din_5_I/PADDI SLICE_85I/A0 (1876:2059:2243)(1876:2059:2243)) + (INTERCONNECT Din_3_I/PADDI SLICE_21I/C1 (1790:1964:2139)(1790:1964:2139)) + (INTERCONNECT Din_3_I/PADDI SLICE_57I/C1 (2200:2404:2608)(2200:2404:2608)) + (INTERCONNECT Din_3_I/PADDI SLICE_67I/B1 (1930:2123:2316)(1930:2123:2316)) + (INTERCONNECT Din_3_I/PADDI SLICE_71I/M1 (2355:2576:2798)(2355:2576:2798)) + (INTERCONNECT Din_3_I/PADDI SLICE_76I/A0 (2606:2857:3109)(2606:2857:3109)) + (INTERCONNECT Din_3_I/PADDI SLICE_78I/C1 (1790:1964:2139)(1790:1964:2139)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/A1 (1904:2091:2278)(1904:2091:2278)) + (INTERCONNECT Din_3_I/PADDI SLICE_82I/A0 (1904:2091:2278)(1904:2091:2278)) + (INTERCONNECT Din_3_I/PADDI SLICE_85I/M1 (1922:2112:2303)(1922:2112:2303)) + (INTERCONNECT SLICE_75I/F1 SLICE_21I/B1 (931:1040:1149)(931:1040:1149)) + (INTERCONNECT SLICE_75I/F1 SLICE_26I/D1 (616:686:757)(616:686:757)) + (INTERCONNECT SLICE_75I/F1 SLICE_67I/A1 (864:963:1063)(864:963:1063)) + (INTERCONNECT SLICE_75I/F1 SLICE_75I/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/B1 (931:1040:1149)(931:1040:1149)) + (INTERCONNECT SLICE_75I/F1 SLICE_82I/B0 (931:1040:1149)(931:1040:1149)) + (INTERCONNECT SLICE_21I/F1 SLICE_21I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_21I/F1 SLICE_26I/A0 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_33I/Q0 SLICE_21I/C0 (1644:1786:1929)(1644:1786:1929)) + (INTERCONNECT SLICE_33I/Q0 SLICE_33I/D1 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_33I/Q0 SLICE_57I/B0 (2611:2837:3063)(2611:2837:3063)) + (INTERCONNECT SLICE_75I/F0 SLICE_21I/B0 (883:984:1086)(883:984:1086)) + (INTERCONNECT SLICE_82I/F1 SLICE_21I/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_21I/F0 SLICE_21I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/F0 SLICE_21I/CE (573:634:695)(573:634:695)) + (INTERCONNECT SLICE_67I/F0 SLICE_26I/CE (573:634:695)(573:634:695)) + (INTERCONNECT SLICE_67I/F0 SLICE_57I/CE (906:1005:1104)(906:1005:1104)) + (INTERCONNECT SLICE_67I/F0 SLICE_67I/C1 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_67I/F0 SLICE_82I/C0 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_21I/Q0 SLICE_33I/B0 (1797:1958:2120)(1797:1958:2120)) + (INTERCONNECT SLICE_21I/Q0 SLICE_82I/C1 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_22I/Q0 SLICE_22I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_22I/Q0 SLICE_52I/A1 (1157:1286:1415)(1157:1286:1415)) + (INTERCONNECT SLICE_43I/Q1 SLICE_22I/C1 (1016:1133:1251)(1016:1133:1251)) + (INTERCONNECT SLICE_43I/Q1 SLICE_52I/D1 (861:959:1058)(861:959:1058)) + (INTERCONNECT SLICE_41I/Q1 SLICE_22I/B1 (1300:1432:1564)(1300:1432:1564)) + (INTERCONNECT SLICE_41I/Q1 SLICE_43I/M1 (1695:1853:2012)(1695:1853:2012)) + (INTERCONNECT SLICE_41I/Q1 SLICE_52I/B1 (1703:1864:2025)(1703:1864:2025)) + (INTERCONNECT SLICE_32I/Q0 SLICE_22I/A1 (887:984:1081)(887:984:1081)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/C1 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_32I/Q0 SLICE_32I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_32I/Q0 SLICE_33I/D0 (1042:1139:1236)(1042:1139:1236)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/A1 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32I/Q0 SLICE_43I/A0 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32I/Q0 SLICE_44I/A1 (887:984:1081)(887:984:1081)) + (INTERCONNECT SLICE_32I/Q0 SLICE_51I/C1 (1197:1313:1429)(1197:1313:1429)) + (INTERCONNECT SLICE_32I/Q0 SLICE_52I/C1 (1197:1313:1429)(1197:1313:1429)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/A1 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32I/Q0 SLICE_58I/A0 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32I/Q0 SLICE_64I/A1 (1311:1439:1568)(1311:1439:1568)) + (INTERCONNECT SLICE_32I/Q0 nRWE_RNO_1_SLICE_65I/A0 (887:984:1081)(887:984:1081)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/C1 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_32I/Q0 SLICE_66I/C0 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_32I/Q0 SLICE_73I/A1 (1304:1431:1559)(1304:1431:1559)) + (INTERCONNECT SLICE_82I/F0 SLICE_22I/D0 (1778:1934:2090)(1778:1934:2090)) + (INTERCONNECT SLICE_22I/F0 SLICE_22I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22I/F1 SLICE_68I/D0 (975:1068:1161)(975:1068:1161)) + (INTERCONNECT SLICE_22I/F1 SLICE_69I/B0 (1290:1421:1553)(1290:1421:1553)) + (INTERCONNECT SLICE_78I/F1 SLICE_26I/C1 (735:822:909)(735:822:909)) + (INTERCONNECT SLICE_78I/F1 SLICE_78I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_26I/Q0 SLICE_26I/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_26I/Q0 SLICE_58I/B0 (899:1000:1102)(899:1000:1102)) + (INTERCONNECT SLICE_76I/F1 SLICE_26I/A1 (1348:1473:1599)(1348:1473:1599)) + (INTERCONNECT SLICE_76I/F1 SLICE_76I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_58I/Q0 SLICE_26I/D0 (580:648:716)(580:648:716)) + (INTERCONNECT SLICE_58I/Q0 SLICE_39I/A0 (2063:2250:2438)(2063:2250:2438)) + (INTERCONNECT SLICE_26I/F1 SLICE_26I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_26I/F0 SLICE_26I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83I/F1 SLICE_29I/D1 (1406:1541:1676)(1406:1541:1676)) + (INTERCONNECT SLICE_83I/F1 SLICE_59I/A1 (2154:2337:2521)(2154:2337:2521)) + (INTERCONNECT SLICE_83I/F1 SLICE_61I/D0 (1695:1864:2034)(1695:1864:2034)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/C1 (1273:1392:1511)(1273:1392:1511)) + (INTERCONNECT SLICE_73I/F1 SLICE_29I/C0 (1273:1392:1511)(1273:1392:1511)) + (INTERCONNECT SLICE_73I/F1 SLICE_59I/B1 (1836:2003:2171)(1836:2003:2171)) + (INTERCONNECT SLICE_73I/F1 SLICE_61I/C0 (1273:1392:1511)(1273:1392:1511)) + (INTERCONNECT SLICE_73I/F1 SLICE_73I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_73I/F1 SLICE_94I/C1 (1680:1833:1986)(1680:1833:1986)) + (INTERCONNECT SLICE_61I/F1 SLICE_29I/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_61I/F1 SLICE_61I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A1 (832:922:1012)(832:922:1012)) + (INTERCONNECT SLICE_29I/Q0 SLICE_29I/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D1 (623:687:752)(623:687:752)) + (INTERCONNECT SLICE_29I/Q0 SLICE_30I/D0 (623:687:752)(623:687:752)) + (INTERCONNECT SLICE_29I/Q0 SLICE_31I/A0 (1302:1427:1553)(1302:1427:1553)) + (INTERCONNECT SLICE_29I/Q0 SLICE_42I/B1 (1703:1883:2063)(1703:1883:2063)) + (INTERCONNECT SLICE_29I/Q0 SLICE_61I/A0 (832:922:1012)(832:922:1012)) + (INTERCONNECT SLICE_29I/Q0 SLICE_83I/D0 (1033:1127:1221)(1033:1127:1221)) + (INTERCONNECT SLICE_29I/Q0 SLICE_94I/M0 (2098:2304:2511)(2098:2304:2511)) + (INTERCONNECT SLICE_43I/Q0 SLICE_29I/B0 (1347:1503:1660)(1347:1503:1660)) + (INTERCONNECT SLICE_43I/Q0 SLICE_41I/B0 (948:1050:1153)(948:1050:1153)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/D1 (578:636:695)(578:636:695)) + (INTERCONNECT SLICE_43I/Q0 SLICE_43I/D0 (578:636:695)(578:636:695)) + (INTERCONNECT SLICE_43I/Q0 SLICE_44I/D1 (633:697:761)(633:697:761)) + (INTERCONNECT SLICE_43I/Q0 SLICE_50I/D1 (632:700:769)(632:700:769)) + (INTERCONNECT SLICE_43I/Q0 SLICE_59I/D1 (1435:1582:1729)(1435:1582:1729)) + (INTERCONNECT SLICE_43I/Q0 SLICE_61I/C1 (1476:1647:1819)(1476:1647:1819)) + (INTERCONNECT SLICE_43I/Q0 SLICE_62I/B1 (2176:2379:2582)(2176:2379:2582)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C1 (801:890:980)(801:890:980)) + (INTERCONNECT SLICE_43I/Q0 SLICE_63I/C0 (801:890:980)(801:890:980)) + (INTERCONNECT SLICE_43I/Q0 nRWE_RNO_1_SLICE_65I/M0 (640:705:770)(640:705:770)) + (INTERCONNECT SLICE_43I/Q0 SLICE_73I/A0 (1191:1321:1451)(1191:1321:1451)) + (INTERCONNECT SLICE_43I/Q0 SLICE_79I/C1 (801:890:980)(801:890:980)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/D1 (2271:2465:2659)(2271:2465:2659)) + (INTERCONNECT SLICE_43I/Q0 SLICE_94I/D0 (2271:2465:2659)(2271:2465:2659)) + (INTERCONNECT SLICE_29I/F0 SLICE_29I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29I/F1 SLICE_60I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_30I/Q1 SLICE_30I/C1 (696:773:850)(696:773:850)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D1 (991:1107:1224)(991:1107:1224)) + (INTERCONNECT SLICE_30I/Q1 SLICE_31I/D0 (991:1107:1224)(991:1107:1224)) + (INTERCONNECT SLICE_30I/Q1 SLICE_42I/C1 (1560:1700:1840)(1560:1700:1840)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C1 (1146:1281:1417)(1146:1281:1417)) + (INTERCONNECT SLICE_30I/Q1 SLICE_83I/C0 (1146:1281:1417)(1146:1281:1417)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/A1 (825:914:1004)(825:914:1004)) + (INTERCONNECT SLICE_30I/Q0 SLICE_30I/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B1 (943:1046:1150)(943:1046:1150)) + (INTERCONNECT SLICE_30I/Q0 SLICE_31I/B0 (943:1046:1150)(943:1046:1150)) + (INTERCONNECT SLICE_30I/Q0 SLICE_42I/D1 (1109:1203:1297)(1109:1203:1297)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A1 (897:993:1090)(897:993:1090)) + (INTERCONNECT SLICE_30I/Q0 SLICE_83I/A0 (897:993:1090)(897:993:1090)) + (INTERCONNECT SLICE_30I/F1 SLICE_30I/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30I/F0 SLICE_30I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94I/F1 SLICE_30I/CE (1885:2046:2208)(1885:2046:2208)) + (INTERCONNECT SLICE_94I/F1 SLICE_31I/CE (2184:2374:2565)(2184:2374:2565)) + (INTERCONNECT SLICE_73I/F0 SLICE_31I/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_31I/F0 SLICE_31I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31I/F1 SLICE_94I/LSR (1908:2070:2233)(1908:2070:2233)) + (INTERCONNECT SLICE_56I/F0 SLICE_32I/D1 (1374:1495:1616)(1374:1495:1616)) + (INTERCONNECT SLICE_84I/F1 SLICE_32I/B1 (1172:1308:1444)(1172:1308:1444)) + (INTERCONNECT SLICE_72I/F1 SLICE_32I/A1 (1239:1383:1527)(1239:1383:1527)) + (INTERCONNECT SLICE_72I/F1 SLICE_58I/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_72I/F1 SLICE_64I/C1 (1575:1727:1879)(1575:1727:1879)) + (INTERCONNECT SLICE_72I/F1 SLICE_72I/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_74I/F0 SLICE_32I/D0 (245:274:304)(245:274:304)) + (INTERCONNECT SLICE_32I/F0 SLICE_32I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32I/F1 SLICE_87I/D1 (245:274:304)(245:274:304)) + (INTERCONNECT nCRASI/PADDI SLICE_33I/C1 (1635:1825:2016)(1635:1825:2016)) + (INTERCONNECT nCRASI/PADDI SLICE_44I/M1 (1526:1687:1849)(1526:1687:1849)) + (INTERCONNECT nCRASI/PADDI SLICE_66I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_67I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_72I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_78I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_80I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_81I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_83I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRASI/PADDI SLICE_88I/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT SLICE_78I/Q0 SLICE_33I/A1 (1758:1913:2068)(1758:1913:2068)) + (INTERCONNECT SLICE_78I/Q0 SLICE_41I/D0 (1892:2044:2197)(1892:2044:2197)) + (INTERCONNECT SLICE_78I/Q0 SLICE_60I/D0 (1405:1538:1671)(1405:1538:1671)) + (INTERCONNECT SLICE_78I/Q0 SLICE_63I/A1 (1634:1807:1981)(1634:1807:1981)) + (INTERCONNECT SLICE_78I/Q0 SLICE_79I/B0 (1969:2184:2399)(1969:2184:2399)) + (INTERCONNECT UFMSDOI/PADDI SLICE_33I/A0 (1377:1528:1680)(1377:1528:1680)) + (INTERCONNECT UFMSDOI/PADDI SLICE_58I/D0 (2317:2524:2731)(2317:2524:2731)) + (INTERCONNECT SLICE_33I/F0 SLICE_33I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69I/F0 SLICE_33I/CE (1070:1165:1260)(1070:1165:1260)) + (INTERCONNECT SLICE_33I/F1 LEDI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/D1 (1908:2070:2232)(1908:2070:2232)) + (INTERCONNECT SLICE_57I/Q0 SLICE_39I/D0 (1908:2070:2232)(1908:2070:2232)) + (INTERCONNECT SLICE_85I/F0 SLICE_39I/B1 (1792:1955:2118)(1792:1955:2118)) + (INTERCONNECT SLICE_85I/F0 SLICE_57I/D1 (1477:1601:1726)(1477:1601:1726)) + (INTERCONNECT Din_6_I/PADDI SLICE_39I/B0 (2577:2847:3118)(2577:2847:3118)) + (INTERCONNECT Din_6_I/PADDI SLICE_56I/M0 (2415:2652:2889)(2415:2652:2889)) + (INTERCONNECT Din_6_I/PADDI SLICE_75I/A1 (2528:2792:3057)(2528:2792:3057)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/B0 (2695:2961:3228)(2695:2961:3228)) + (INTERCONNECT Din_6_I/PADDI SLICE_77I/M0 (2387:2616:2845)(2387:2616:2845)) + (INTERCONNECT Din_6_I/PADDI SLICE_78I/C0 (2520:2764:3008)(2520:2764:3008)) + (INTERCONNECT Din_6_I/PADDI SLICE_85I/D0 (1973:2170:2368)(1973:2170:2368)) + (INTERCONNECT SLICE_39I/F0 SLICE_39I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/Q0 SLICE_39I/LSR (1723:1881:2040)(1723:1881:2040)) + (INTERCONNECT SLICE_44I/Q0 SLICE_44I/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_44I/Q0 SLICE_66I/LSR (910:1010:1110)(910:1010:1110)) + (INTERCONNECT SLICE_44I/Q0 SLICE_67I/LSR (1730:1889:2048)(1730:1889:2048)) + (INTERCONNECT SLICE_44I/Q0 SLICE_72I/LSR (1730:1889:2048)(1730:1889:2048)) + (INTERCONNECT SLICE_44I/Q0 SLICE_80I/LSR (1320:1449:1579)(1320:1449:1579)) + (INTERCONNECT SLICE_44I/Q0 SLICE_83I/LSR (910:1010:1110)(910:1010:1110)) + (INTERCONNECT SLICE_44I/Q0 SLICE_88I/LSR (1723:1881:2040)(1723:1881:2040)) + (INTERCONNECT SLICE_39I/Q0 RA_11_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_39I/F1 SLICE_57I/A0 (2170:2363:2556)(2170:2363:2556)) + (INTERCONNECT SLICE_81I/Q1 SLICE_41I/C1 (2032:2205:2379)(2032:2205:2379)) + (INTERCONNECT SLICE_81I/Q1 SLICE_60I/B1 (1789:1953:2117)(1789:1953:2117)) + (INTERCONNECT SLICE_75I/Q1 SLICE_41I/B1 (1295:1427:1559)(1295:1427:1559)) + (INTERCONNECT SLICE_75I/Q1 SLICE_60I/A1 (2074:2266:2459)(2074:2266:2459)) + (INTERCONNECT SLICE_75I/Q1 SLICE_79I/B1 (1717:1887:2058)(1717:1887:2058)) + (INTERCONNECT SLICE_75I/Q1 SLICE_80I/C1 (1557:1708:1859)(1557:1708:1859)) + (INTERCONNECT SLICE_75I/Q1 SLICE_82I/M0 (884:984:1085)(884:984:1085)) + (INTERCONNECT SLICE_41I/F1 SLICE_41I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_43I/F1 SLICE_41I/A0 (833:932:1032)(833:932:1032)) + (INTERCONNECT SLICE_41I/F0 SLICE_41I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q1 SLICE_41I/M1 (1773:1932:2091)(1773:1932:2091)) + (INTERCONNECT SLICE_41I/Q0 SLICE_42I/B0 (1781:1942:2104)(1781:1942:2104)) + (INTERCONNECT SLICE_44I/Q1 SLICE_42I/D0 (1398:1530:1663)(1398:1530:1663)) + (INTERCONNECT SLICE_44I/Q1 SLICE_51I/M1 (1386:1516:1646)(1386:1516:1646)) + (INTERCONNECT SLICE_52I/Q1 SLICE_42I/C0 (1621:1763:1905)(1621:1763:1905)) + (INTERCONNECT SLICE_42I/F0 SLICE_42I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42I/Q0 SLICE_61I/A1 (1247:1371:1495)(1247:1371:1495)) + (INTERCONNECT SLICE_42I/Q0 nRWE_RNO_1_SLICE_65I/C1 (2228:2432:2636) + (2228:2432:2636)) + (INTERCONNECT SLICE_42I/Q0 RCKEI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_42I/F1 nRWE_RNO_1_SLICE_65I/C0 (1537:1688:1840) + (1537:1688:1840)) + (INTERCONNECT SLICE_50I/F0 SLICE_43I/C1 (750:837:924)(750:837:924)) + (INTERCONNECT SLICE_50I/F0 SLICE_50I/DI0 (31:31:31)(31:31:31)) + (INTERCONNECT SLICE_50I/F0 SLICE_61I/D1 (970:1082:1195)(970:1082:1195)) + (INTERCONNECT SLICE_50I/F0 SLICE_62I/C1 (1575:1727:1879)(1575:1727:1879)) + (INTERCONNECT SLICE_83I/F0 SLICE_43I/C0 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_83I/F0 SLICE_44I/C1 (739:821:903)(739:821:903)) + (INTERCONNECT SLICE_43I/F0 SLICE_43I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44I/F1 SLICE_44I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_44I/F0 SLICE_44I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50I/F1 SLICE_63I/LSR (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_73I/Q0 SLICE_51I/D1 (1335:1476:1617)(1335:1476:1617)) + (INTERCONNECT SLICE_72I/F0 SLICE_51I/B1 (1781:1942:2104)(1781:1942:2104)) + (INTERCONNECT SLICE_66I/F0 SLICE_51I/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_66I/F0 SLICE_66I/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_52I/F1 SLICE_51I/D0 (877:975:1074)(877:975:1074)) + (INTERCONNECT SLICE_52I/F1 SLICE_52I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_52I/F1 SLICE_64I/A0 (857:952:1048)(857:952:1048)) + (INTERCONNECT SLICE_51I/F1 SLICE_51I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_64I/F1 SLICE_51I/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_64I/F1 SLICE_52I/A0 (868:962:1057)(868:962:1057)) + (INTERCONNECT SLICE_64I/F1 SLICE_64I/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_51I/Q0 SLICE_51I/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_51I/Q0 UFMCLKI/PADDO (1184:1361:1538)(1184:1361:1538)) + (INTERCONNECT SLICE_51I/F0 SLICE_51I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87I/F1 SLICE_52I/D0 (932:1044:1156)(932:1044:1156)) + (INTERCONNECT SLICE_52I/Q0 SLICE_52I/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_52I/Q0 UFMSDII/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_52I/F0 SLICE_52I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67I/Q0 SLICE_55I/D0 (1466:1589:1712)(1466:1589:1712)) + (INTERCONNECT SLICE_63I/Q0 SLICE_55I/B0 (2114:2313:2513)(2114:2313:2513)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/A1 (1678:1840:2002)(1678:1840:2002)) + (INTERCONNECT SLICE_63I/Q0 SLICE_86I/A0 (1678:1840:2002)(1678:1840:2002)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D1 (2224:2421:2618)(2224:2421:2618)) + (INTERCONNECT SLICE_63I/Q0 SLICE_89I/D0 (2224:2421:2618)(2224:2421:2618)) + (INTERCONNECT SLICE_63I/Q0 SLICE_90I/A0 (1802:1970:2138)(1802:1970:2138)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/D1 (1796:1956:2117)(1796:1956:2117)) + (INTERCONNECT SLICE_63I/Q0 SLICE_91I/C0 (1954:2134:2314)(1954:2134:2314)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/D1 (2320:2504:2689)(2320:2504:2689)) + (INTERCONNECT SLICE_63I/Q0 SLICE_92I/D0 (2320:2504:2689)(2320:2504:2689)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/B1 (2543:2782:3021)(2543:2782:3021)) + (INTERCONNECT SLICE_63I/Q0 SLICE_93I/B0 (2543:2782:3021)(2543:2782:3021)) + (INTERCONNECT MAin_4_I/PADDI SLICE_55I/A0 (2220:2446:2672)(2220:2446:2672)) + (INTERCONNECT MAin_4_I/PADDI SLICE_67I/M0 (2701:2972:3244)(2701:2972:3244)) + (INTERCONNECT MAin_4_I/PADDI SLICE_71I/A1 (2663:2930:3197)(2663:2930:3197)) + (INTERCONNECT Din_4_I/PADDI SLICE_55I/M0 (2067:2260:2454)(2067:2260:2454)) + (INTERCONNECT Din_4_I/PADDI SLICE_75I/C1 (1378:1524:1670)(1378:1524:1670)) + (INTERCONNECT Din_4_I/PADDI SLICE_76I/M0 (1530:1693:1856)(1530:1693:1856)) + (INTERCONNECT Din_4_I/PADDI SLICE_77I/A1 (2732:2985:3238)(2732:2985:3238)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/B1 (1973:2177:2381)(1973:2177:2381)) + (INTERCONNECT Din_4_I/PADDI SLICE_85I/B0 (1973:2177:2381)(1973:2177:2381)) + (INTERCONNECT nCCASI/PADDI SLICE_55I/CLK (1242:1370:1498)(1242:1370:1498)) + (INTERCONNECT nCCASI/PADDI SLICE_56I/CLK (2109:2309:2510)(2109:2309:2510)) + (INTERCONNECT nCCASI/PADDI SLICE_75I/M0 (1503:1660:1818)(1503:1660:1818)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M0 (2373:2602:2831)(2373:2602:2831)) + (INTERCONNECT nCCASI/PADDI SLICE_78I/M1 (2373:2602:2831)(2373:2602:2831)) + (INTERCONNECT nCCASI/PADDI SLICE_79I/CLK (1706:1877:2049)(1706:1877:2049)) + (INTERCONNECT nCCASI/PADDI SLICE_85I/CLK (1706:1877:2049)(1706:1877:2049)) + (INTERCONNECT nCCASI/PADDI SLICE_88I/D0 (2063:2255:2448)(2063:2255:2448)) + (INTERCONNECT SLICE_55I/F0 RA_4_I/PADDO (1288:1474:1660)(1288:1474:1660)) + (INTERCONNECT SLICE_55I/Q0 RD_4_I/PADDO (2378:2648:2918)(2378:2648:2918)) + (INTERCONNECT SLICE_55I/Q1 RD_5_I/PADDO (1982:2228:2475)(1982:2228:2475)) + (INTERCONNECT SLICE_76I/Q1 SLICE_56I/D1 (1498:1630:1763)(1498:1630:1763)) + (INTERCONNECT SLICE_71I/Q0 SLICE_56I/C1 (1653:1804:1956)(1653:1804:1956)) + (INTERCONNECT SLICE_77I/Q0 SLICE_56I/B1 (1813:1984:2155)(1813:1984:2155)) + (INTERCONNECT SLICE_77I/Q1 SLICE_56I/A1 (2138:2321:2505)(2138:2321:2505)) + (INTERCONNECT Din_7_I/PADDI SLICE_56I/M1 (2264:2497:2730)(2264:2497:2730)) + (INTERCONNECT Din_7_I/PADDI SLICE_75I/B1 (1828:2016:2205)(1828:2016:2205)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/C1 (1272:1412:1553)(1272:1412:1553)) + (INTERCONNECT Din_7_I/PADDI SLICE_77I/M1 (1424:1581:1739)(1424:1581:1739)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/C1 (2522:2767:3013)(2522:2767:3013)) + (INTERCONNECT Din_7_I/PADDI SLICE_85I/C0 (2522:2767:3013)(2522:2767:3013)) + (INTERCONNECT SLICE_56I/Q0 RD_6_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_56I/F1 SLICE_70I/B1 (1813:1984:2155)(1813:1984:2155)) + (INTERCONNECT SLICE_56I/Q1 RD_7_I/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT Din_2_I/PADDI SLICE_57I/B1 (1547:1713:1879)(1547:1713:1879)) + (INTERCONNECT Din_2_I/PADDI SLICE_71I/M0 (1539:1702:1866)(1539:1702:1866)) + (INTERCONNECT Din_2_I/PADDI SLICE_73I/M1 (1921:2109:2298)(1921:2109:2298)) + (INTERCONNECT Din_2_I/PADDI SLICE_77I/A0 (1904:2092:2280)(1904:2092:2280)) + (INTERCONNECT Din_2_I/PADDI SLICE_78I/A0 (1904:2092:2280)(1904:2092:2280)) + (INTERCONNECT Din_2_I/PADDI SLICE_85I/M0 (2324:2541:2759)(2324:2541:2759)) + (INTERCONNECT Din_0_I/PADDI SLICE_57I/A1 (1891:2077:2264)(1891:2077:2264)) + (INTERCONNECT Din_0_I/PADDI SLICE_70I/M0 (2325:2544:2764)(2325:2544:2764)) + (INTERCONNECT Din_0_I/PADDI SLICE_74I/M0 (1529:1691:1854)(1529:1691:1854)) + (INTERCONNECT Din_0_I/PADDI SLICE_76I/B1 (1937:2130:2324)(1937:2130:2324)) + (INTERCONNECT Din_0_I/PADDI SLICE_79I/M0 (2739:2994:3250)(2739:2994:3250)) + (INTERCONNECT Din_0_I/PADDI SLICE_85I/A1 (2297:2513:2729)(2297:2513:2729)) + (INTERCONNECT Din_1_I/PADDI SLICE_57I/D0 (1217:1343:1469)(1217:1343:1469)) + (INTERCONNECT Din_1_I/PADDI SLICE_70I/M1 (714:807:900)(714:807:900)) + (INTERCONNECT Din_1_I/PADDI SLICE_73I/M0 (1521:1678:1835)(1521:1678:1835)) + (INTERCONNECT Din_1_I/PADDI SLICE_75I/D0 (1217:1343:1469)(1217:1343:1469)) + (INTERCONNECT Din_1_I/PADDI SLICE_76I/B0 (1421:1579:1738)(1421:1579:1738)) + (INTERCONNECT Din_1_I/PADDI SLICE_79I/M1 (1959:2159:2360)(1959:2159:2360)) + (INTERCONNECT Din_1_I/PADDI SLICE_85I/D1 (1941:2140:2339)(1941:2140:2339)) + (INTERCONNECT SLICE_57I/F1 SLICE_57I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_57I/F0 SLICE_57I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58I/F0 SLICE_58I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68I/F0 SLICE_58I/CE (875:974:1073)(875:974:1073)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/B1 (1544:1731:1919)(1544:1731:1919)) + (INTERCONNECT SLICE_58I/F1 SLICE_87I/D0 (940:1054:1169)(940:1054:1169)) + (INTERCONNECT SLICE_59I/F1 SLICE_59I/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_62I/F1 SLICE_59I/C0 (1669:1820:1972)(1669:1820:1972)) + (INTERCONNECT SLICE_62I/F1 SLICE_62I/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_80I/F0 SLICE_59I/A0 (1201:1344:1488)(1201:1344:1488)) + (INTERCONNECT SLICE_59I/F0 SLICE_59I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59I/Q0 nRCASI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_82I/Q0 SLICE_60I/D1 (1509:1643:1777)(1509:1643:1777)) + (INTERCONNECT SLICE_82I/Q0 SLICE_63I/D1 (1491:1617:1743)(1491:1617:1743)) + (INTERCONNECT SLICE_82I/Q0 SLICE_79I/D1 (1491:1617:1743)(1491:1617:1743)) + (INTERCONNECT SLICE_82I/Q0 SLICE_80I/B1 (2209:2402:2596)(2209:2402:2596)) + (INTERCONNECT SLICE_94I/F0 SLICE_60I/C0 (1529:1669:1809)(1529:1669:1809)) + (INTERCONNECT SLICE_60I/F1 SLICE_60I/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_60I/F0 SLICE_60I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60I/Q0 nRCSI/PADDO (1291:1473:1656)(1291:1473:1656)) + (INTERCONNECT SLICE_61I/F0 SLICE_61I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61I/Q0 nRRASI/PADDO (1935:2190:2445)(1935:2190:2445)) + (INTERCONNECT SLICE_78I/Q1 SLICE_62I/D1 (1079:1173:1267)(1079:1173:1267)) + (INTERCONNECT SLICE_78I/Q1 SLICE_80I/C0 (1637:1779:1921)(1637:1779:1921)) + (INTERCONNECT SLICE_81I/Q0 SLICE_62I/D0 (1679:1834:1990)(1679:1834:1990)) + (INTERCONNECT SLICE_81I/Q0 SLICE_63I/B1 (1691:1860:2030)(1691:1860:2030)) + (INTERCONNECT SLICE_81I/Q0 SLICE_80I/D0 (1376:1507:1638)(1376:1507:1638)) + (INTERCONNECT nRWE_RNO_1_SLICE_65I/OFX0 SLICE_62I/C0 (1653:1804:1956) + (1653:1804:1956)) + (INTERCONNECT SLICE_79I/F0 SLICE_62I/A0 (1651:1815:1979)(1651:1815:1979)) + (INTERCONNECT SLICE_62I/F0 SLICE_62I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62I/Q0 nRWEI/PADDO (2095:2345:2595)(2095:2345:2595)) + (INTERCONNECT SLICE_63I/F1 SLICE_63I/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_63I/F0 SLICE_63I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64I/Q0 SLICE_64I/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_64I/Q0 nUFMCSI/PADDO (1548:1774:2000)(1548:1774:2000)) + (INTERCONNECT SLICE_66I/F1 SLICE_64I/C0 (1529:1669:1809)(1529:1669:1809)) + (INTERCONNECT SLICE_64I/F0 SLICE_64I/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73I/Q1 SLICE_66I/B1 (1247:1397:1548)(1247:1397:1548)) + (INTERCONNECT SLICE_81I/F0 SLICE_66I/D0 (1383:1512:1642)(1383:1512:1642)) + (INTERCONNECT SLICE_81I/F0 SLICE_74I/A0 (1652:1813:1974)(1652:1813:1974)) + (INTERCONNECT SLICE_74I/F1 SLICE_66I/A0 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_74I/F1 SLICE_74I/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_66I/Q0 SLICE_90I/D0 (1375:1502:1629)(1375:1502:1629)) + (INTERCONNECT SLICE_66I/Q1 SLICE_91I/D0 (1901:2062:2224)(1901:2062:2224)) + (INTERCONNECT MAin_5_I/PADDI SLICE_67I/M1 (1621:1774:1928)(1621:1774:1928)) + (INTERCONNECT MAin_5_I/PADDI SLICE_71I/D1 (1614:1766:1919)(1614:1766:1919)) + (INTERCONNECT MAin_5_I/PADDI SLICE_93I/A1 (1908:2101:2294)(1908:2101:2294)) + (INTERCONNECT SLICE_67I/F1 SLICE_73I/CE (947:1062:1178)(947:1062:1178)) + (INTERCONNECT SLICE_67I/F1 SLICE_74I/CE (1350:1494:1639)(1350:1494:1639)) + (INTERCONNECT SLICE_67I/Q1 SLICE_93I/D1 (1063:1157:1251)(1063:1157:1251)) + (INTERCONNECT SLICE_87I/F0 SLICE_68I/C0 (735:822:909)(735:822:909)) + (INTERCONNECT SLICE_87I/F0 SLICE_69I/D0 (580:648:716)(580:648:716)) + (INTERCONNECT SLICE_68I/F1 SLICE_68I/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_84I/F0 SLICE_68I/A0 (786:876:966)(786:876:966)) + (INTERCONNECT SLICE_84I/F0 SLICE_69I/A0 (786:876:966)(786:876:966)) + (INTERCONNECT SLICE_69I/F1 SLICE_69I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_70I/Q0 SLICE_70I/D1 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_71I/F0 SLICE_70I/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_70I/Q1 SLICE_70I/A1 (514:575:636)(514:575:636)) + (INTERCONNECT MAin_7_I/PADDI SLICE_71I/C1 (1805:1987:2169)(1805:1987:2169)) + (INTERCONNECT MAin_7_I/PADDI SLICE_88I/M1 (1657:1821:1985)(1657:1821:1985)) + (INTERCONNECT MAin_7_I/PADDI SLICE_91I/B1 (2368:2598:2829)(2368:2598:2829)) + (INTERCONNECT MAin_6_I/PADDI SLICE_71I/B1 (1951:2152:2353)(1951:2152:2353)) + (INTERCONNECT MAin_6_I/PADDI SLICE_88I/M0 (2353:2581:2809)(2353:2581:2809)) + (INTERCONNECT MAin_6_I/PADDI SLICE_92I/C1 (3008:3283:3558)(3008:3283:3558)) + (INTERCONNECT SLICE_71I/F1 SLICE_71I/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_71I/Q1 SLICE_71I/C0 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_76I/Q0 SLICE_71I/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_88I/F1 SLICE_71I/A0 (1490:1668:1846)(1490:1668:1846)) + (INTERCONNECT SLICE_81I/F1 SLICE_72I/D1 (510:568:626)(510:568:626)) + (INTERCONNECT MAin_3_I/PADDI SLICE_72I/M1 (1657:1821:1985)(1657:1821:1985)) + (INTERCONNECT MAin_3_I/PADDI SLICE_88I/A1 (1919:2113:2308)(1919:2113:2308)) + (INTERCONNECT MAin_3_I/PADDI SLICE_93I/A0 (2322:2545:2769)(2322:2545:2769)) + (INTERCONNECT MAin_2_I/PADDI SLICE_72I/M0 (1606:1757:1909)(1606:1757:1909)) + (INTERCONNECT MAin_2_I/PADDI SLICE_88I/B1 (1519:1681:1844)(1519:1681:1844)) + (INTERCONNECT MAin_2_I/PADDI SLICE_92I/B0 (2326:2552:2779)(2326:2552:2779)) + (INTERCONNECT SLICE_72I/Q0 SLICE_92I/C0 (1653:1804:1956)(1653:1804:1956)) + (INTERCONNECT SLICE_72I/Q1 SLICE_93I/D0 (1466:1589:1712)(1466:1589:1712)) + (INTERCONNECT SLICE_74I/Q0 SLICE_87I/C1 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_75I/Q0 SLICE_75I/M1 (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_77I/F1 SLICE_77I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_79I/F1 SLICE_79I/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_79I/Q0 RD_0_I/PADDO (1164:1346:1528)(1164:1346:1528)) + (INTERCONNECT SLICE_79I/Q1 RD_1_I0/PADDO (1165:1345:1526)(1165:1345:1526)) + (INTERCONNECT SLICE_80I/F1 SLICE_80I/B0 (560:628:696)(560:628:696)) + (INTERCONNECT MAin_9_I/PADDI SLICE_80I/M1 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/C1 (1769:1940:2112)(1769:1940:2112)) + (INTERCONNECT MAin_9_I/PADDI SLICE_86I/C0 (1769:1940:2112)(1769:1940:2112)) + (INTERCONNECT MAin_9_I/PADDI SLICE_89I/C1 (2608:2849:3090)(2608:2849:3090)) + (INTERCONNECT MAin_8_I/PADDI SLICE_80I/M0 (1508:1668:1828)(1508:1668:1828)) + (INTERCONNECT MAin_8_I/PADDI SLICE_89I/C0 (3001:3275:3550)(3001:3275:3550)) + (INTERCONNECT SLICE_80I/Q0 SLICE_89I/B0 (1247:1397:1548)(1247:1397:1548)) + (INTERCONNECT SLICE_80I/Q1 SLICE_86I/B0 (1378:1510:1643)(1378:1510:1643)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M0 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT nFWEI/PADDI SLICE_81I/M1 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/C1 (2204:2414:2624)(2204:2414:2624)) + (INTERCONNECT nFWEI/PADDI SLICE_88I/C0 (2204:2414:2624)(2204:2414:2624)) + (INTERCONNECT CROW_1_I/PADDI SLICE_83I/M1 (2038:2228:2418)(2038:2228:2418)) + (INTERCONNECT CROW_0_I/PADDI SLICE_83I/M0 (2307:2528:2750)(2307:2528:2750)) + (INTERCONNECT SLICE_83I/Q0 RBA_0_I/PADDO (1165:1345:1526)(1165:1345:1526)) + (INTERCONNECT SLICE_83I/Q1 RBA_1_I/PADDO (2466:2735:3005)(2466:2735:3005)) + (INTERCONNECT SLICE_85I/Q0 RD_2_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_85I/Q1 RD_3_I/PADDO (1568:1777:1987)(1568:1777:1987)) + (INTERCONNECT SLICE_86I/F0 RA_9_I/PADDO (2477:2778:3080)(2477:2778:3080)) + (INTERCONNECT SLICE_86I/F1 RDQMLI/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT SLICE_88I/F0 RD_0_I/PADDT (1756:2001:2247)(1756:2001:2247)) + (INTERCONNECT SLICE_88I/F0 RD_7_I/PADDT (2571:2883:3195)(2571:2883:3195)) + (INTERCONNECT SLICE_88I/F0 RD_6_I/PADDT (2571:2883:3195)(2571:2883:3195)) + (INTERCONNECT SLICE_88I/F0 RD_5_I/PADDT (2538:2838:3139)(2538:2838:3139)) + (INTERCONNECT SLICE_88I/F0 RD_4_I/PADDT (2538:2838:3139)(2538:2838:3139)) + (INTERCONNECT SLICE_88I/F0 RD_3_I/PADDT (1741:1997:2254)(1741:1997:2254)) + (INTERCONNECT SLICE_88I/F0 RD_2_I/PADDT (1741:1997:2254)(1741:1997:2254)) + (INTERCONNECT SLICE_88I/F0 RD_1_I0/PADDT (2098:2368:2638)(2098:2368:2638)) + (INTERCONNECT SLICE_88I/Q0 SLICE_92I/A1 (1735:1889:2044)(1735:1889:2044)) + (INTERCONNECT SLICE_88I/Q1 SLICE_91I/C1 (1218:1331:1444)(1218:1331:1444)) + (INTERCONNECT SLICE_89I/F0 RA_8_I/PADDO (1979:2229:2479)(1979:2229:2479)) + (INTERCONNECT SLICE_89I/F1 RDQMHI/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_90I/F0 RA_0_I/PADDO (1723:1947:2172)(1723:1947:2172)) + (INTERCONNECT SLICE_91I/F0 RA_1_I/PADDO (1971:2209:2448)(1971:2209:2448)) + (INTERCONNECT SLICE_91I/F1 RA_7_I/PADDO (1288:1474:1660)(1288:1474:1660)) + (INTERCONNECT SLICE_92I/F0 RA_2_I/PADDO (1168:1345:1522)(1168:1345:1522)) + (INTERCONNECT SLICE_92I/F1 RA_6_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_93I/F0 RA_3_I/PADDO (1610:1831:2052)(1610:1831:2052)) + (INTERCONNECT SLICE_93I/F1 RA_5_I/PADDO (1982:2228:2475)(1982:2228:2475)) + (INTERCONNECT SLICE_94I/Q0 RA_10_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT RD_0_I/PADDI Dout_0_I/PADDO (2942:3272:3602)(2942:3272:3602)) + (INTERCONNECT RD_7_I/PADDI Dout_7_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD_6_I/PADDI Dout_6_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD_5_I/PADDI Dout_5_I/PADDO (2505:2806:3107)(2505:2806:3107)) + (INTERCONNECT RD_4_I/PADDI Dout_4_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD_3_I/PADDI Dout_3_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD_2_I/PADDI Dout_2_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD_1_I0/PADDI Dout_1_I/PADDO (2540:2847:3154)(2540:2847:3154)) + ) + ) + ) +) diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.vho b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.vho index a1cd0a4..ce89e62 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.vho +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vho.vho @@ -1,25833 +1,25833 @@ - --- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - --- ldbanno -n VHDL -o RAM2GS_LCMXO640C_impl1_vho.vho -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd --- Netlist created on Wed Aug 16 04:50:46 2023 --- Netlist written on Wed Aug 16 04:50:55 2023 --- Design is for device LCMXO640C --- Design is for package TQFP100 --- Design is for performance grade 3 - --- entity vmuxregsre - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; - - end vmuxregsre; - - architecture Structure of vmuxregsre is - component FL1P3DX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3DX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity vcc - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vcc is - port (PWR1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; - - end vcc; - - architecture Structure of vcc is - component VHI - port (Z: out Std_logic); - end component; - begin - INST1: VHI - port map (Z=>PWR1); - end Structure; - --- entity gnd - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity gnd is - port (PWR0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; - - end gnd; - - architecture Structure of gnd is - component VLO - port (Z: out Std_logic); - end component; - begin - INST1: VLO - port map (Z=>PWR0); - end Structure; - --- entity ccu2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu2B is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; - - end ccu2B; - - architecture Structure of ccu2B is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_0 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_0 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_0"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; - - end SLICE_0; - - architecture Structure of SLICE_0 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_0_FS_cry_0_0_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_0_FS_cry_0_0_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_1: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_0: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_0: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, - S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity ccu20001 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity ccu20001 is - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; - - end ccu20001; - - architecture Structure of ccu20001 is - component CCU2 - generic (INIT0: String; INIT1: String; INJECT1_0: String; - INJECT1_1: String); - port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; - C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; - B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; - S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; - COUT1: out Std_logic); - end component; - begin - inst1: CCU2 - generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", - INJECT1_1 => "NO") - port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, - C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); - end Structure; - --- entity SLICE_1 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_1 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_1"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; - - end SLICE_1; - - architecture Structure of SLICE_1 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_1_FS_cry_0_16_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_1_FS_cry_0_16_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu20001 - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_17: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_16: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_16: ccu20001 - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, - S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_2 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_2"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; - - end SLICE_2; - - architecture Structure of SLICE_2 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_2_FS_cry_0_14_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_2_FS_cry_0_14_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_15: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_14: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_14: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, - S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_3 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_3 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_3"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; - - end SLICE_3; - - architecture Structure of SLICE_3 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_3_FS_cry_0_12_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_3_FS_cry_0_12_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_13: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_12: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_12: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, - S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_4 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_4"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; - - end SLICE_4; - - architecture Structure of SLICE_4 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_4_FS_cry_0_10_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_4_FS_cry_0_10_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_11: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_10: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_10: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, - S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_5 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_5 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_5"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; - - end SLICE_5; - - architecture Structure of SLICE_5 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_5_FS_cry_0_8_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_5_FS_cry_0_8_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_9: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_8: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_8: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, - S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_6 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_6 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_6"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; - - end SLICE_6; - - architecture Structure of SLICE_6 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_6_FS_cry_0_6_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_6_FS_cry_0_6_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_7: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_6: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_6: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, - S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_7 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_7 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_7"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; - - end SLICE_7; - - architecture Structure of SLICE_7 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_7_FS_cry_0_4_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_7_FS_cry_0_4_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_5: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_4: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_4: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, - S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_8 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_8 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_8"; - - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_A1_CLK : VitalDelayType := 0 ns; - tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_A0_CLK : VitalDelayType := 0 ns; - tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_FCI_CLK : VitalDelayType := 0 ns; - tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); - - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; - - end SLICE_8; - - architecture Structure of SLICE_8 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal A1_ipd : std_logic := 'X'; - signal A1_dly : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal A0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal FCI_ipd : std_logic := 'X'; - signal FCI_dly : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - signal FCO_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal SLICE_8_FS_cry_0_2_S1: Std_logic; - signal GNDI: Std_logic; - signal SLICE_8_FS_cry_0_2_S0: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component ccu2B - port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; - D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; - C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; - S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; - CO1: out Std_logic); - end component; - begin - FS_3: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - FS_2: vmuxregsre - port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, - CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); - FS_cry_0_2: ccu2B - port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, - C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, - S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - VitalWireDelay(FCI_ipd, FCI, tipd_FCI); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); - VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); - END BLOCK; - - VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, - FCO_out) - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - VARIABLE FCO_zd : std_logic := 'X'; - VARIABLE FCO_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_A1_CLK : x01 := '0'; - VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_A0_CLK : x01 := '0'; - VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_FCI_CLK : x01 := '0'; - VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => A1_dly, - TestSignalName => "A1", - TestDelay => tisd_A1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A1_CLK_noedge_posedge, - SetupLow => tsetup_A1_CLK_noedge_posedge, - HoldHigh => thold_A1_CLK_noedge_posedge, - HoldLow => thold_A1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A1_CLK_TimingDatash, - Violation => tviol_A1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => A0_dly, - TestSignalName => "A0", - TestDelay => tisd_A0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_A0_CLK_noedge_posedge, - SetupLow => tsetup_A0_CLK_noedge_posedge, - HoldHigh => thold_A0_CLK_noedge_posedge, - HoldLow => thold_A0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => A0_CLK_TimingDatash, - Violation => tviol_A0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => FCI_dly, - TestSignalName => "FCI", - TestDelay => tisd_FCI_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_FCI_CLK_noedge_posedge, - SetupLow => tsetup_FCI_CLK_noedge_posedge, - HoldHigh => thold_FCI_CLK_noedge_posedge, - HoldLow => thold_FCI_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => FCI_CLK_TimingDatash, - Violation => tviol_FCI_CLK, - MsgSeverity => warning); - - END IF; - - Q0_zd := Q0_out; - Q1_zd := Q1_out; - FCO_zd := FCO_out; - - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, - Paths => (0 => (InputChangeTime => A1_dly'last_event, - PathDelay => tpd_A1_FCO, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_dly'last_event, - PathDelay => tpd_A0_FCO, - PathCondition => TRUE), - 2 => (InputChangeTime => FCI_dly'last_event, - PathDelay => tpd_FCI_FCO, - PathCondition => TRUE)), - GlitchData => FCO_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut4 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut4 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; - - end lut4; - - architecture Structure of lut4 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40002 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40002 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; - - end lut40002; - - architecture Structure of lut40002 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4544") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity inverter - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity inverter is - port (I: in Std_logic; Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; - - end inverter; - - architecture Structure of inverter is - component INV - port (A: in Std_logic; Z: out Std_logic); - end component; - begin - INST1: INV - port map (A=>I, Z=>Z); - end Structure; - --- entity SLICE_9 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_9 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_9"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; - - end SLICE_9; - - architecture Structure of SLICE_9 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut4 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40002 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2: lut4 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - ADSubmitted_r: lut40002 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - ADSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40003 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40003 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; - - end lut40003; - - architecture Structure of lut40003 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8080") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40004 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40004 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; - - end lut40004; - - architecture Structure of lut40004 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF2A") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_14 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_14 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_14"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; - - end SLICE_14; - - architecture Structure of SLICE_14 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40003 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40004 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2: lut40003 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - C1Submitted_RNO: lut40004 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - C1Submitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40005 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40005 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; - - end lut40005; - - architecture Structure of lut40005 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40006 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40006 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; - - end lut40006; - - architecture Structure of lut40006 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF5F5") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0007 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0007 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; - - end vmuxregsre0007; - - architecture Structure of vmuxregsre0007 is - component FL1P3IY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3IY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_19 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_19 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_19"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; - - end SLICE_19; - - architecture Structure of SLICE_19 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40005 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40006 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3_2: lut40005 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - S_RNO_0: lut40006 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, - DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40008 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40008 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; - - end lut40008; - - architecture Structure of lut40008 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40009 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40009 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; - - end lut40009; - - architecture Structure of lut40009 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEA22") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity selmux2 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity selmux2 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; - - end selmux2; - - architecture Structure of selmux2 is - component MUX21 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - INST1: MUX21 - port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); - end Structure; - --- entity SLICE_20 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_20 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_20"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; - - end SLICE_20; - - architecture Structure of SLICE_20 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal SLICE_20_SLICE_20_K1_H1: Std_logic; - signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40008 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40009 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - begin - SLICE_20_K1: lut40008 - port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, - Z=>SLICE_20_SLICE_20_K1_H1); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable_s_GATE: lut40009 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>SLICE_20_CmdEnable_s_GATE_H0); - CmdEnable: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - SLICE_20_K0K1MUX: selmux2 - port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, - SD=>M0_ipd, Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - OFX0_zd := OFX0_out; - Q0_zd := Q0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40010 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40010 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; - - end lut40010; - - architecture Structure of lut40010 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0300") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40011 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40011 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; - - end lut40011; - - architecture Structure of lut40011 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1011") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_21 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_21 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_21"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; - - end SLICE_21; - - architecture Structure of SLICE_21 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40010 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40011 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_a2_2: lut40010 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_RNO: lut40011 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdLEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40012 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40012 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; - - end lut40012; - - architecture Structure of lut40012 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40013 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40013 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; - - end lut40013; - - architecture Structure of lut40013 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFAA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_22 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_22 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_22"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; - - end SLICE_22; - - architecture Structure of SLICE_22 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40012 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2: lut40012 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_RNO: lut40013 - port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdSubmitted: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40014 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40014 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; - - end lut40014; - - architecture Structure of lut40014 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x33AB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40015 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40015 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; - - end lut40015; - - architecture Structure of lut40015 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0F05") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_26 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_26 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_26"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; - - end SLICE_26; - - architecture Structure of SLICE_26 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40014 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40015 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_0: lut40014 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Cmdn8MEGEN_RNO: lut40015 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Cmdn8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40016 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40016 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; - - end lut40016; - - architecture Structure of lut40016 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCFCE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40017 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40017 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; - - end lut40017; - - architecture Structure of lut40017 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xA9A9") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_29 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_29 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_29"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; - - end SLICE_29; - - architecture Structure of SLICE_29 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40016 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40017 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i: lut40016 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_0: lut40017 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_0: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40018 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40018 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; - - end lut40018; - - architecture Structure of lut40018 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5AF0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40019 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40019 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; - - end lut40019; - - architecture Structure of lut40019 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x55AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_30 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_30 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_30"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI1_CLK : VitalDelayType := 0 ns; - tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; - - end SLICE_30; - - architecture Structure of SLICE_30 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI1_ipd : std_logic := 'X'; - signal DI1_dly : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40018 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40019 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_RNO_2: lut40018 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - IS_n1_0_x2: lut40019 - port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); - IS_2: vmuxregsre - port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - IS_1: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI1_ipd, DI1, tipd_DI1); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, A0_ipd, DI1_dly, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI1_CLK : x01 := '0'; - VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI1_dly, - TestSignalName => "DI1", - TestDelay => tisd_DI1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI1_CLK_noedge_posedge, - SetupLow => tsetup_DI1_CLK_noedge_posedge, - HoldHigh => thold_DI1_CLK_noedge_posedge, - HoldLow => thold_DI1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI1_CLK_TimingDatash, - Violation => tviol_DI1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40020 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40020 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; - - end lut40020; - - architecture Structure of lut40020 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40021 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40021 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; - - end lut40021; - - architecture Structure of lut40021 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x78F0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_31 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_31 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_31"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; - - end SLICE_31; - - architecture Structure of SLICE_31 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40020 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40021 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RA10_RNO: lut40020 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_RNO_3: lut40021 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - IS_3: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40022 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40022 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; - - end lut40022; - - architecture Structure of lut40022 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0B0F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_32 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_32 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_32"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; - - end SLICE_32; - - architecture Structure of SLICE_32 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40013 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40022 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a0: lut40022 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady_RNO: lut40013 - port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, - DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40023 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40023 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; - - end lut40023; - - architecture Structure of lut40023 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFAFF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40024 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40024 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; - - end lut40024; - - architecture Structure of lut40024 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCC55") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_33 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_33 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_33"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; - - end SLICE_33; - - architecture Structure of SLICE_33 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40023 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40024 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - LED_pad_RNO: lut40023 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - LEDEN_5_i_m2: lut40024 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - LEDEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40025 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40025 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; - - end lut40025; - - architecture Structure of lut40025 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3300") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40026 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40026 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; - - end lut40026; - - architecture Structure of lut40026 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBB44") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_39 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_39 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_39"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; - - end SLICE_39; - - architecture Structure of SLICE_39 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40025 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40026 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_0: lut40025 - port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RA11_2: lut40026 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - RA11: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, B0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40027 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40027 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; - - end lut40027; - - architecture Structure of lut40027 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x75A5") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40028 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40028 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; - - end lut40028; - - architecture Structure of lut40028 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xAAEA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_41 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_41 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_41"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; - - end SLICE_41; - - architecture Structure of SLICE_41 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40027 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40028 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_1_0: lut40027 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKEEN_8_u: lut40028 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40029 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40029 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; - - end lut40029; - - architecture Structure of lut40029 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0008") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40030 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40030 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; - - end lut40030; - - architecture Structure of lut40030 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDCD8") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_42 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_42 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_42"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; - - end SLICE_42; - - architecture Structure of SLICE_42 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40029 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40030 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_5: lut40029 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - RCKE_2_0: lut40030 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKE: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40031 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40031 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; - - end lut40031; - - architecture Structure of lut40031 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x03AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40032 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40032 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; - - end lut40032; - - architecture Structure of lut40032 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF08") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_43 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_43 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_43"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; - - end SLICE_43; - - architecture Structure of SLICE_43 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40031 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40032 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RCKEEN_8_u_RNO: lut40031 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_RNO: lut40032 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - PHI2r3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40033 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40033 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; - - end lut40033; - - architecture Structure of lut40033 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0008") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40034 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40034 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; - - end lut40034; - - architecture Structure of lut40034 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEEEE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_44 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_44 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_44"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; - - end SLICE_44; - - architecture Structure of SLICE_44 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40033 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40034 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Ready_0_sqmuxa_0_a3: lut40033 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - Ready_fast_RNO: lut40034 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RASr: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Ready_fast: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40035 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40035 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; - - end lut40035; - - architecture Structure of lut40035 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0500") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40036 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40036 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; - - end lut40036; - - architecture Structure of lut40036 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFAFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_50 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_50 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_50"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; - - end SLICE_50; - - architecture Structure of SLICE_50 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40035 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40036 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_RNO: lut40035 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - S_0_i_o2_1: lut40036 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); - S_1: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_NOTIN, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, C0_ipd, A0_ipd, DI0_dly, - LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40037 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40037 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; - - end lut40037; - - architecture Structure of lut40037 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xABFB") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40038 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40038 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; - - end lut40038; - - architecture Structure of lut40038 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0322") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_51 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_51 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_51"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; - - end SLICE_51; - - architecture Structure of SLICE_51 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40037 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40038 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMCLK_RNO_0: lut40037 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMCLK_RNO: lut40038 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40039 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40039 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; - - end lut40039; - - architecture Structure of lut40039 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2F0F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40040 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40040 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; - - end lut40040; - - architecture Structure of lut40040 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5404") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_52 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_52 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_52"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; - - end SLICE_52; - - architecture Structure of SLICE_52 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40039 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40040 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - PHI2r3_RNITCN41: lut40039 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_RNO: lut40040 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RASr3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMSDI: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40041 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40041 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; - - end lut40041; - - architecture Structure of lut40041 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBB88") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_55 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_55 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_55"; - - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; - - end SLICE_55; - - architecture Structure of SLICE_55 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_4: lut40041 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, - F0_out, Q0_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40042 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40042 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; - - end lut40042; - - architecture Structure of lut40042 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40043 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40043 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; - - end lut40043; - - architecture Structure of lut40043 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5A0A") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_56 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_56 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_56"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; - - end SLICE_56; - - architecture Structure of SLICE_56 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40042 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40043 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_11: lut40042 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - UFMSDI_ens2_i_o2: lut40043 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - WRD_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40044 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40044 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40044 : ENTITY IS TRUE; - - end lut40044; - - architecture Structure of lut40044 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40045 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40045 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; - - end lut40045; - - architecture Structure of lut40045 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xBAFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_57 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_57 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_57"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; - - end SLICE_57; - - architecture Structure of SLICE_57 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40044 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40045 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - XOR8MEG_3_u_0_a3_2: lut40044 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG_3_u_0_a3_3: lut40045 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - XOR8MEG: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_negedge, - SetupLow => tsetup_DI0_CLK_noedge_negedge, - HoldHigh => thold_DI0_CLK_noedge_negedge, - HoldLow => thold_DI0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40046 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40046 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; - - end lut40046; - - architecture Structure of lut40046 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0005") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40047 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40047 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; - - end lut40047; - - architecture Structure of lut40047 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x88DD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_58 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_58 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_58"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; - - end SLICE_58; - - architecture Structure of SLICE_58 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40046 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40047 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_en_ss0_0_a2_0: lut40046 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - n8MEGEN_5_i_m2: lut40047 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - n8MEGEN: vmuxregsre - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, - DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_posedge, - SetupLow => tsetup_CE_CLK_noedge_posedge, - HoldHigh => thold_CE_CLK_noedge_posedge, - HoldLow => thold_CE_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40048 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40048 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; - - end lut40048; - - architecture Structure of lut40048 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0FDD") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40049 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40049 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; - - end lut40049; - - architecture Structure of lut40049 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0F04") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0050 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0050 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0050 : ENTITY IS TRUE; - - end vmuxregsre0050; - - architecture Structure of vmuxregsre0050 is - component FL1P3BX - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3BX - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_59 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_59 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_59"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; - - end SLICE_59; - - architecture Structure of SLICE_59 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40048 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40049 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0050 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_0: lut40048 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCAS_RNO: lut40049 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCAS: vmuxregsre0050 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40051 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40051 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; - - end lut40051; - - architecture Structure of lut40051 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFC7C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40052 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40052 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; - - end lut40052; - - architecture Structure of lut40052 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3323") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_60 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_60 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_60"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; - - end SLICE_60; - - architecture Structure of SLICE_60 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0050 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40051 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40052 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCS_RNO_0: lut40051 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRCS_RNO: lut40052 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRCS: vmuxregsre0050 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40053 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40053 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; - - end lut40053; - - architecture Structure of lut40053 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00E0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40054 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40054 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; - - end lut40054; - - architecture Structure of lut40054 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3031") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_61 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_61 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_61"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; - - end SLICE_61; - - architecture Structure of SLICE_61 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0050 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40053 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40054 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRRAS_5_u_i_0: lut40053 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRRAS_RNO: lut40054 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRRAS: vmuxregsre0050 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40055 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40055 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; - - end lut40055; - - architecture Structure of lut40055 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40056 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40056 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; - - end lut40056; - - architecture Structure of lut40056 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCDEF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_62 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_62 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_62"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; - - end SLICE_62; - - architecture Structure of SLICE_62 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0050 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40055 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40056 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_0_sqmuxa_1_0_a3: lut40055 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRWE_RNO: lut40056 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRWE: vmuxregsre0050 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40057 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40057 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; - - end lut40057; - - architecture Structure of lut40057 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0040") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40058 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40058 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; - - end lut40058; - - architecture Structure of lut40058 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF60") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_63 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_63 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_63"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; - - end SLICE_63; - - architecture Structure of SLICE_63 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40057 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40058 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRowColSel_0_0_a3_0: lut40057 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nRowColSel_0_0: lut40058 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nRowColSel: vmuxregsre0007 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40059 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40059 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40059 : ENTITY IS TRUE; - - end lut40059; - - architecture Structure of lut40059 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40060 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40060 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; - - end lut40060; - - architecture Structure of lut40060 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDFCE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_64 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_64 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_64"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_DI0_CLK : VitalDelayType := 0 ns; - tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; - - end SLICE_64; - - architecture Structure of SLICE_64 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal DI0_ipd : std_logic := 'X'; - signal DI0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component vmuxregsre0050 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40059 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40060 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS15_0_a2: lut40059 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - nUFMCS_s_0_N_5_i: lut40060 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - nUFMCS: vmuxregsre0050 - port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(DI0_ipd, DI0, tipd_DI0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_DI0_CLK : x01 := '0'; - VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => DI0_dly, - TestSignalName => "DI0", - TestDelay => tisd_DI0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_DI0_CLK_noedge_posedge, - SetupLow => tsetup_DI0_CLK_noedge_posedge, - HoldHigh => thold_DI0_CLK_noedge_posedge, - HoldLow => thold_DI0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => DI0_CLK_TimingDatash, - Violation => tviol_DI0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40061 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40061 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; - - end lut40061; - - architecture Structure of lut40061 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0010") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40062 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40062 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; - - end lut40062; - - architecture Structure of lut40062 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity nRWE_RNO_1_SLICE_65 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWE_RNO_1_SLICE_65 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWE_RNO_1_SLICE_65"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; - - end nRWE_RNO_1_SLICE_65; - - architecture Structure of nRWE_RNO_1_SLICE_65 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal OFX0_out : std_logic := 'X'; - - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; - signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; - component selmux2 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - Z: out Std_logic); - end component; - component lut40061 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40062 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_1_SLICE_65_K1: lut40061 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); - nRWE_RNO_1_GATE: lut40062 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, - Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); - nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 - port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, - D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, - Z=>OFX0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_ipd, OFX0_out) - VARIABLE OFX0_zd : std_logic := 'X'; - VARIABLE OFX0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - OFX0_zd := OFX0_out; - - VitalPathDelay01 ( - OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_OFX0, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_OFX0, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_OFX0, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_OFX0, - PathCondition => TRUE), - 4 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_OFX0, - PathCondition => TRUE), - 5 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_OFX0, - PathCondition => TRUE), - 6 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_OFX0, - PathCondition => TRUE), - 7 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_OFX0, - PathCondition => TRUE), - 8 => (InputChangeTime => M0_ipd'last_event, - PathDelay => tpd_M0_OFX0, - PathCondition => TRUE)), - GlitchData => OFX0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40063 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40063 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; - - end lut40063; - - architecture Structure of lut40063 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4545") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40064 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40064 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; - - end lut40064; - - architecture Structure of lut40064 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_66 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_66 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_66"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; - - end SLICE_66; - - architecture Structure of SLICE_66 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40063 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40064 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nUFMCS_s_0_N_5_i_N_2L1: lut40063 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_a2_2_2: lut40064 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40065 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40065 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; - - end lut40065; - - architecture Structure of lut40065 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40066 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40066 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; - - end lut40066; - - architecture Structure of lut40066 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0080") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity vmuxregsre0067 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity vmuxregsre0067 is - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - - ATTRIBUTE Vital_Level0 OF vmuxregsre0067 : ENTITY IS TRUE; - - end vmuxregsre0067; - - architecture Structure of vmuxregsre0067 is - component FL1P3JY - generic (GSR: String); - port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; - CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; - Q: out Std_logic); - end component; - begin - INST01: FL1P3JY - generic map (GSR => "DISABLED") - port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); - end Structure; - --- entity SLICE_67 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_67 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_67"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; - - end SLICE_67; - - architecture Structure of SLICE_67 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40065 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40066 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component vmuxregsre0067 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - begin - CmdUFMCLK_1_sqmuxa_0_a2: lut40065 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - XOR8MEG18_0_a2: lut40066 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_5: vmuxregsre0067 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_4: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, - Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40068 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40068 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; - - end lut40068; - - architecture Structure of lut40068 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40069 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40069 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; - - end lut40069; - - architecture Structure of lut40069 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFF80") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_68 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_68 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_68"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; - - end SLICE_68; - - architecture Structure of SLICE_68 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40068 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40069 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_14_i_a2_0_1: lut40068 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_14_i_0: lut40069 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40070 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40070 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; - - end lut40070; - - architecture Structure of lut40070 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0002") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40071 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40071 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; - - end lut40071; - - architecture Structure of lut40071 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xECCC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_69 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_69 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_69"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; - - end SLICE_69; - - architecture Structure of SLICE_69 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40070 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40071 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_FS_13_i_a2_1: lut40070 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_0: lut40071 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40072 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40072 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; - - end lut40072; - - architecture Structure of lut40072 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40073 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40073 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; - - end lut40073; - - architecture Structure of lut40073 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xC0C0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_70 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_70 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_70"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; - - end SLICE_70; - - architecture Structure of SLICE_70 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40072 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40073 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0: lut40072 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2: lut40073 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40074 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40074 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; - - end lut40074; - - architecture Structure of lut40074 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40075 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40075 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; - - end lut40075; - - architecture Structure of lut40075 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_71 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_71 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_71"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; - - end SLICE_71; - - architecture Structure of SLICE_71 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40074 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40075 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_4: lut40074 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - C1WR_0_a2_0_10: lut40075 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Bank_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40076 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40076 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; - - end lut40076; - - architecture Structure of lut40076 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40077 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40077 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; - - end lut40077; - - architecture Structure of lut40077 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF808") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_72 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_72 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_72"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; - - end SLICE_72; - - architecture Structure of SLICE_72 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40076 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40077 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0: lut40076 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - UFMCLK_r_i_m2: lut40077 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_3: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_2: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40078 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40078 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; - - end lut40078; - - architecture Structure of lut40078 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFDF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_73 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_73 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_73"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; - - end SLICE_73; - - architecture Structure of SLICE_73 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40034 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40078 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0: lut40078 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - IS_0_sqmuxa_0_o2: lut40034 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdUFMCS: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CmdUFMCLK: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40079 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40079 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; - - end lut40079; - - architecture Structure of lut40079 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCC00") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40080 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40080 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; - - end lut40080; - - architecture Structure of lut40080 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_74 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_74 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_74"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CE : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_CE_CLK : VitalDelayType := 0 ns; - tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; - - end SLICE_74; - - architecture Structure of SLICE_74 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CE_ipd : std_logic := 'X'; - signal CE_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40079 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40080 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - InitReady3_0_a2_3: lut40079 - port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - InitReady3_0_a2: lut40080 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CmdUFMSDI: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CE_ipd, CE, tipd_CE); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CE_CLK : x01 := '0'; - VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => CE_dly, - TestSignalName => "CE", - TestDelay => tisd_CE_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_CE_CLK_noedge_negedge, - SetupLow => tsetup_CE_CLK_noedge_negedge, - HoldHigh => thold_CE_CLK_noedge_negedge, - HoldLow => thold_CE_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => CE_CLK_TimingDatash, - Violation => tviol_CE_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40081 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40081 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; - - end lut40081; - - architecture Structure of lut40081 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xEFEF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40082 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40082 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40082 : ENTITY IS TRUE; - - end lut40082; - - architecture Structure of lut40082 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0005") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_75 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_75 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_75"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; - - end SLICE_75; - - architecture Structure of SLICE_75 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40081 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40082 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - Cmdn8MEGEN_4_u_i_o2_0: lut40081 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdLEDEN_4_u_i_a2_0: lut40082 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CASr2: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CASr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40083 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40083 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40083 : ENTITY IS TRUE; - - end lut40083; - - architecture Structure of lut40083 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00CC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40084 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40084 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40084 : ENTITY IS TRUE; - - end lut40084; - - architecture Structure of lut40084 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0010") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_76 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_76 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_76"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; - - end SLICE_76; - - architecture Structure of SLICE_76 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40083 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40084 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_4: lut40083 - port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_4_0: lut40084 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_5: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_4: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40085 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40085 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40085 : ENTITY IS TRUE; - - end lut40085; - - architecture Structure of lut40085 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5050") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40086 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40086 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40086 : ENTITY IS TRUE; - - end lut40086; - - architecture Structure of lut40086 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x4000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_77 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_77 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_77"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; - - end SLICE_77; - - architecture Structure of SLICE_77 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40085 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40086 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable16_0_a2_1: lut40085 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable16_0_a2_5: lut40086 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - Bank_7: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - Bank_6: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_posedge, - SetupLow => tsetup_M1_CLK_noedge_posedge, - HoldHigh => thold_M1_CLK_noedge_posedge, - HoldLow => thold_M1_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40087 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40087 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40087 : ENTITY IS TRUE; - - end lut40087; - - architecture Structure of lut40087 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3F3F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40088 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40088 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40088 : ENTITY IS TRUE; - - end lut40088; - - architecture Structure of lut40088 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0200") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_78 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_78 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_78"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; - - end SLICE_78; - - architecture Structure of SLICE_78 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40087 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40088 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_o2: lut40087 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CmdEnable17_0_a2_4: lut40088 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CBR_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - CBR: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40089 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40089 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40089 : ENTITY IS TRUE; - - end lut40089; - - architecture Structure of lut40089 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00C0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40090 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40090 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40090 : ENTITY IS TRUE; - - end lut40090; - - architecture Structure of lut40090 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x2000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_79 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_79 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_79"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; - - end SLICE_79; - - architecture Structure of SLICE_79 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40089 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40090 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRWE_RNO_2: lut40089 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRWE_RNO_0: lut40090 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_1: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_0: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40091 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40091 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40091 : ENTITY IS TRUE; - - end lut40091; - - architecture Structure of lut40091 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x3030") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40092 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40092 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40092 : ENTITY IS TRUE; - - end lut40092; - - architecture Structure of lut40092 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0805") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_80 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_80 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_80"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; - - end SLICE_80; - - architecture Structure of SLICE_80 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vmuxregsre0067 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40091 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40092 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - nRCAS_RNO_1: lut40091 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nRCAS_RNO_0: lut40092 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_9: vmuxregsre0067 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_8: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40093 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40093 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40093 : ENTITY IS TRUE; - - end lut40093; - - architecture Structure of lut40093 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40094 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40094 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40094 : ENTITY IS TRUE; - - end lut40094; - - architecture Structure of lut40094 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x8000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_81 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_81 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_81"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; - - end SLICE_81; - - architecture Structure of SLICE_81 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal M1_NOTIN: Std_logic; - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal M0_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40093 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40094 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_o2_0_3: lut40093 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - InitReady3_0_a2_5: lut40094 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - FWEr_fast: vmuxregsre - port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - M1_INVERTERIN: inverter - port map (I=>M1_dly, Z=>M1_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - FWEr: vmuxregsre - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40095 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40095 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40095 : ENTITY IS TRUE; - - end lut40095; - - architecture Structure of lut40095 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0E0C") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40096 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40096 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40096 : ENTITY IS TRUE; - - end lut40096; - - architecture Structure of lut40096 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x1030") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_82 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_82 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_82"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; - - end SLICE_82; - - architecture Structure of SLICE_82 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40095 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40096 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdLEDEN_4_u_i_a2: lut40095 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - CmdSubmitted_1_sqmuxa_0_a2: lut40096 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - CASr3: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>GNDI, Q=>Q0_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40097 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40097 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40097 : ENTITY IS TRUE; - - end lut40097; - - architecture Structure of lut40097 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFEFE") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40098 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40098 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40098 : ENTITY IS TRUE; - - end lut40098; - - architecture Structure of lut40098 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5FFF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_83 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_83 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_83"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; - - end SLICE_83; - - architecture Structure of SLICE_83 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40097 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40098 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_nRCAS_6_sqmuxa_i_o2: lut40097 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - Ready_0_sqmuxa_0_o2: lut40098 - port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RBA_1: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RBA_0: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, - M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40099 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40099 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40099 : ENTITY IS TRUE; - - end lut40099; - - architecture Structure of lut40099 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0008") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40100 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40100 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40100 : ENTITY IS TRUE; - - end lut40100; - - architecture Structure of lut40100 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0004") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_84 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_84 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_84"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; - - end SLICE_84; - - architecture Structure of SLICE_84 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - component lut40099 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40100 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_ens2_i_a2_4_2: lut40099 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_FS_13_i_a2_6: lut40100 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40101 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40101 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40101 : ENTITY IS TRUE; - - end lut40101; - - architecture Structure of lut40101 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0020") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40102 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40102 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40102 : ENTITY IS TRUE; - - end lut40102; - - architecture Structure of lut40102 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0001") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_85 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_85 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_85"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; - - end SLICE_85; - - architecture Structure of SLICE_85 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal VCCI: Std_logic; - signal GNDI: Std_logic; - signal CLK_NOTIN: Std_logic; - component vmuxregsre - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component lut40101 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40102 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - CmdEnable17_0_a2_3: lut40101 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - un1_Din_4: lut40102 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - WRD_3: vmuxregsre - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - DRIVEGND: gnd - port map (PWR0=>GNDI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - WRD_2: vmuxregsre - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>GNDI, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, - B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 3 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40103 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40103 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40103 : ENTITY IS TRUE; - - end lut40103; - - architecture Structure of lut40103 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x5F5F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40104 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40104 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40104 : ENTITY IS TRUE; - - end lut40104; - - architecture Structure of lut40104 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xE4E4") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_86 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_86 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_86"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; - - end SLICE_86; - - architecture Structure of SLICE_86 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40103 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40104 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQML: lut40103 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_9: lut40104 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40105 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40105 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40105 : ENTITY IS TRUE; - - end lut40105; - - architecture Structure of lut40105 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x00FC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40106 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40106 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40106 : ENTITY IS TRUE; - - end lut40106; - - architecture Structure of lut40106 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0800") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_87 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_87 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_87"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; - - end SLICE_87; - - architecture Structure of SLICE_87 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40105 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40106 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - UFMSDI_RNO_0: lut40105 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un1_FS_13_i_a2_8: lut40106 - port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, - A0_ipd, F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 3 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40107 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40107 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40107 : ENTITY IS TRUE; - - end lut40107; - - architecture Structure of lut40107 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x0808") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40108 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40108 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40108 : ENTITY IS TRUE; - - end lut40108; - - architecture Structure of lut40108 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xFFF0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_88 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_88 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_88"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns; - ticd_CLK : VitalDelayType := 0 ns; - tisd_M1_CLK : VitalDelayType := 0 ns; - tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; - - end SLICE_88; - - architecture Structure of SLICE_88 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal M1_ipd : std_logic := 'X'; - signal M1_dly : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - signal Q1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal VCCI: Std_logic; - signal CLK_NOTIN: Std_logic; - signal LSR_NOTIN: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0007 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40107 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40108 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - C1WR_0_a2_0_3: lut40107 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - nCCAS_pad_RNI01SJ: lut40108 - port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RowA_7: vmuxregsre0007 - port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q1_out); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - CLK_INVERTERIN: inverter - port map (I=>CLK_dly, Z=>CLK_NOTIN); - LSR_INVERTERIN: inverter - port map (I=>LSR_dly, Z=>LSR_NOTIN); - RowA_6: vmuxregsre0007 - port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, - LSR=>LSR_NOTIN, Q=>Q0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(M1_ipd, M1, tipd_M1); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, M1_dly, - M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - VARIABLE Q1_zd : std_logic := 'X'; - VARIABLE Q1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M1_CLK : x01 := '0'; - VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M1_dly, - TestSignalName => "M1", - TestDelay => tisd_M1_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M1_CLK_noedge_negedge, - SetupLow => tsetup_M1_CLK_noedge_negedge, - HoldHigh => thold_M1_CLK_noedge_negedge, - HoldLow => thold_M1_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M1_CLK_TimingDatash, - Violation => tviol_M1_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_negedge, - SetupLow => tsetup_M0_CLK_noedge_negedge, - HoldHigh => thold_M0_CLK_noedge_negedge, - HoldLow => thold_M0_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_negedge, - SetupLow => tsetup_LSR_CLK_noedge_negedge, - HoldHigh => thold_LSR_CLK_noedge_negedge, - HoldLow => thold_LSR_CLK_noedge_negedge, - CheckEnabled => TRUE, - RefTransition => '\', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - Q1_zd := Q1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q1, - PathCondition => TRUE)), - GlitchData => Q1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40109 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40109 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40109 : ENTITY IS TRUE; - - end lut40109; - - architecture Structure of lut40109 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF0FF") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40110 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40110 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40110 : ENTITY IS TRUE; - - end lut40110; - - architecture Structure of lut40110 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF0CC") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_89 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_89 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_89"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; - - end SLICE_89; - - architecture Structure of SLICE_89 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40109 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40110 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - RDQMH: lut40109 - port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_8: lut40110 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, D0_ipd, C0_ipd, B0_ipd, F0_out, - F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40111 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40111 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40111 : ENTITY IS TRUE; - - end lut40111; - - architecture Structure of lut40111 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xE0E0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40112 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40112 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40112 : ENTITY IS TRUE; - - end lut40112; - - architecture Structure of lut40112 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xDD88") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_90 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_90 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_90"; - - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; - - end SLICE_90; - - architecture Structure of SLICE_90 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40111 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40112 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un1_CMDWR: lut40111 - port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_0: lut40112 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40113 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40113 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40113 : ENTITY IS TRUE; - - end lut40113; - - architecture Structure of lut40113 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCCF0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40114 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40114 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40114 : ENTITY IS TRUE; - - end lut40114; - - architecture Structure of lut40114 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xCFC0") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_91 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_91 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_91"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; - - end SLICE_91; - - architecture Structure of SLICE_91 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40113 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40114 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_7: lut40113 - port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_1: lut40114 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40115 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40115 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40115 : ENTITY IS TRUE; - - end lut40115; - - architecture Structure of lut40115 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF0AA") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_92 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_92 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_92"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; - - end SLICE_92; - - architecture Structure of SLICE_92 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40113 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40115 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_6: lut40115 - port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_2: lut40113 - port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity SLICE_93 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_93 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_93"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); - - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; - - end SLICE_93; - - architecture Structure of SLICE_93 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal B1_ipd : std_logic := 'X'; - signal A1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal B0_ipd : std_logic := 'X'; - signal A0_ipd : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - component gnd - port (PWR0: out Std_logic); - end component; - component lut40041 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - un9_RA_5: lut40041 - port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - un9_RA_3: lut40041 - port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(B1_ipd, B1, tipd_B1); - VitalWireDelay(A1_ipd, A1, tipd_A1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(B0_ipd, B0, tipd_B0); - VitalWireDelay(A0_ipd, A0, tipd_A0); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, - F0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - F0_zd := F0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => B0_ipd'last_event, - PathDelay => tpd_B0_F0, - PathCondition => TRUE), - 2 => (InputChangeTime => A0_ipd'last_event, - PathDelay => tpd_A0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => B1_ipd'last_event, - PathDelay => tpd_B1_F1, - PathCondition => TRUE), - 2 => (InputChangeTime => A1_ipd'last_event, - PathDelay => tpd_A1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity lut40116 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40116 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40116 : ENTITY IS TRUE; - - end lut40116; - - architecture Structure of lut40116 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0x000F") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity lut40117 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity lut40117 is - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - - ATTRIBUTE Vital_Level0 OF lut40117 : ENTITY IS TRUE; - - end lut40117; - - architecture Structure of lut40117 is - component ROM16X1 - generic (initval: String); - port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; - AD3: in Std_logic; DO0: out Std_logic); - end component; - begin - INST10: ROM16X1 - generic map (initval => "0xF000") - port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); - end Structure; - --- entity SLICE_94 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity SLICE_94 is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "SLICE_94"; - - tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); - tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); - tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); - tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); - tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); - ticd_CLK : VitalDelayType := 0 ns; - tisd_M0_CLK : VitalDelayType := 0 ns; - tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; - tisd_LSR_CLK : VitalDelayType := 0 ns; - tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; - tperiod_CLK : VitalDelayType := 0 ns; - tpw_CLK_posedge : VitalDelayType := 0 ns; - tpw_CLK_negedge : VitalDelayType := 0 ns); - - port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; - - end SLICE_94; - - architecture Structure of SLICE_94 is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal D1_ipd : std_logic := 'X'; - signal C1_ipd : std_logic := 'X'; - signal D0_ipd : std_logic := 'X'; - signal C0_ipd : std_logic := 'X'; - signal M0_ipd : std_logic := 'X'; - signal M0_dly : std_logic := 'X'; - signal LSR_ipd : std_logic := 'X'; - signal LSR_dly : std_logic := 'X'; - signal CLK_ipd : std_logic := 'X'; - signal CLK_dly : std_logic := 'X'; - signal F0_out : std_logic := 'X'; - signal Q0_out : std_logic := 'X'; - signal F1_out : std_logic := 'X'; - - signal GNDI: Std_logic; - signal M0_NOTIN: Std_logic; - signal VCCI: Std_logic; - component vcc - port (PWR1: out Std_logic); - end component; - component gnd - port (PWR0: out Std_logic); - end component; - component inverter - port (I: in Std_logic; Z: out Std_logic); - end component; - component vmuxregsre0067 - port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; - SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; - Q: out Std_logic); - end component; - component lut40116 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - component lut40117 - port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; - Z: out Std_logic); - end component; - begin - IS_0_sqmuxa_0_o2_0_RNIS63D: lut40116 - port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); - DRIVEGND: gnd - port map (PWR0=>GNDI); - RCKEEN_8_u_0_a2_1_s: lut40117 - port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); - RA10: vmuxregsre0067 - port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, - LSR=>LSR_dly, Q=>Q0_out); - M0_INVERTERIN: inverter - port map (I=>M0_dly, Z=>M0_NOTIN); - DRIVEVCC: vcc - port map (PWR1=>VCCI); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(D1_ipd, D1, tipd_D1); - VitalWireDelay(C1_ipd, C1, tipd_C1); - VitalWireDelay(D0_ipd, D0, tipd_D0); - VitalWireDelay(C0_ipd, C0, tipd_C0); - VitalWireDelay(M0_ipd, M0, tipd_M0); - VitalWireDelay(LSR_ipd, LSR, tipd_LSR); - VitalWireDelay(CLK_ipd, CLK, tipd_CLK); - END BLOCK; - - -- Setup and Hold DELAYs - SignalDelay : BLOCK - BEGIN - VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); - VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); - VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); - END BLOCK; - - VitalBehavior : PROCESS (D1_ipd, C1_ipd, D0_ipd, C0_ipd, M0_dly, LSR_dly, - CLK_dly, F0_out, Q0_out, F1_out) - VARIABLE F0_zd : std_logic := 'X'; - VARIABLE F0_GlitchData : VitalGlitchDataType; - VARIABLE Q0_zd : std_logic := 'X'; - VARIABLE Q0_GlitchData : VitalGlitchDataType; - VARIABLE F1_zd : std_logic := 'X'; - VARIABLE F1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_M0_CLK : x01 := '0'; - VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_LSR_CLK : x01 := '0'; - VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; - VARIABLE tviol_CLK_CLK : x01 := '0'; - VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalSetupHoldCheck ( - TestSignal => M0_dly, - TestSignalName => "M0", - TestDelay => tisd_M0_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_M0_CLK_noedge_posedge, - SetupLow => tsetup_M0_CLK_noedge_posedge, - HoldHigh => thold_M0_CLK_noedge_posedge, - HoldLow => thold_M0_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => M0_CLK_TimingDatash, - Violation => tviol_M0_CLK, - MsgSeverity => warning); - VitalSetupHoldCheck ( - TestSignal => LSR_dly, - TestSignalName => "LSR", - TestDelay => tisd_LSR_CLK, - RefSignal => CLK_dly, - RefSignalName => "CLK", - RefDelay => ticd_CLK, - SetupHigh => tsetup_LSR_CLK_noedge_posedge, - SetupLow => tsetup_LSR_CLK_noedge_posedge, - HoldHigh => thold_LSR_CLK_noedge_posedge, - HoldLow => thold_LSR_CLK_noedge_posedge, - CheckEnabled => TRUE, - RefTransition => '/', - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - TimingData => LSR_CLK_TimingDatash, - Violation => tviol_LSR_CLK, - MsgSeverity => warning); - VitalPeriodPulseCheck ( - TestSignal => CLK_ipd, - TestSignalName => "CLK", - Period => tperiod_CLK, - PulseWidthHigh => tpw_CLK_posedge, - PulseWidthLow => tpw_CLK_negedge, - PeriodData => periodcheckinfo_CLK, - Violation => tviol_CLK_CLK, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - F0_zd := F0_out; - Q0_zd := Q0_out; - F1_zd := F1_out; - - VitalPathDelay01 ( - OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, - Paths => (0 => (InputChangeTime => D0_ipd'last_event, - PathDelay => tpd_D0_F0, - PathCondition => TRUE), - 1 => (InputChangeTime => C0_ipd'last_event, - PathDelay => tpd_C0_F0, - PathCondition => TRUE)), - GlitchData => F0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, - Paths => (0 => (InputChangeTime => CLK_dly'last_event, - PathDelay => tpd_CLK_Q0, - PathCondition => TRUE)), - GlitchData => Q0_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01 ( - OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, - Paths => (0 => (InputChangeTime => D1_ipd'last_event, - PathDelay => tpd_D1_F1, - PathCondition => TRUE), - 1 => (InputChangeTime => C1_ipd'last_event, - PathDelay => tpd_C1_F1, - PathCondition => TRUE)), - GlitchData => F1_GlitchData, - Mode => ondetect, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf is - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; - - end mjiobuf; - - architecture Structure of mjiobuf is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - component OBW - port (I: in Std_logic; T: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PADI, O=>Z); - INST2: OBW - port map (I=>I, T=>T, O=>PAD); - end Structure; - --- entity RD_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_0_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD0 : VitalDelayType := 0 ns; - tpw_RD0_posedge : VitalDelayType := 0 ns; - tpw_RD0_negedge : VitalDelayType := 0 ns; - tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; - - end RD_0_B; - - architecture Structure of RD_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD0_ipd : std_logic := 'X'; - signal RD0_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_0: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, - PADI=>RD0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD0_ipd, RD0, tipd_RD0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD0_zd : std_logic := 'X'; - VARIABLE RD0_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD0_RD0 : x01 := '0'; - VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD0_ipd, - TestSignalName => "RD0", - Period => tperiod_RD0, - PulseWidthHigh => tpw_RD0_posedge, - PulseWidthLow => tpw_RD0_negedge, - PeriodData => periodcheckinfo_RD0, - Violation => tviol_RD0_RD0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD0_zd := RD0_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD0_ipd'last_event, - PathDelay => tpd_RD0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD0, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD0, - PathCondition => TRUE)), - GlitchData => RD0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0118 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0118 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0118 : ENTITY IS TRUE; - - end mjiobuf0118; - - architecture Structure of mjiobuf0118 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity Dout_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; - - end Dout_0_B; - - architecture Structure of Dout_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout0_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_0: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) - VARIABLE Dout0_zd : std_logic := 'X'; - VARIABLE Dout0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout0_zd := Dout0_out; - - VitalPathDelay01Z ( - OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout0, - PathCondition => TRUE)), - GlitchData => Dout0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0119 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0119 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0119 : ENTITY IS TRUE; - - end mjiobuf0119; - - architecture Structure of mjiobuf0119 is - component IBPD - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPD - port map (I=>PAD, O=>Z); - end Structure; - --- entity PHI2B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity PHI2B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "PHI2B"; - - tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); - tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_PHI2S : VitalDelayType := 0 ns; - tpw_PHI2S_posedge : VitalDelayType := 0 ns; - tpw_PHI2S_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; PHI2S: in Std_logic); - - ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; - - end PHI2B; - - architecture Structure of PHI2B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PHI2S_ipd : std_logic := 'X'; - - component mjiobuf0119 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - PHI2_pad: mjiobuf0119 - port map (Z=>PADDI_out, PAD=>PHI2S_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; - VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => PHI2S_ipd, - TestSignalName => "PHI2S", - Period => tperiod_PHI2S, - PulseWidthHigh => tpw_PHI2S_posedge, - PulseWidthLow => tpw_PHI2S_negedge, - PeriodData => periodcheckinfo_PHI2S, - Violation => tviol_PHI2S_PHI2S, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, - PathDelay => tpd_PHI2S_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0120 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0120 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0120 : ENTITY IS TRUE; - - end mjiobuf0120; - - architecture Structure of mjiobuf0120 is - component IB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IB - port map (I=>PAD, O=>Z); - end Structure; - --- entity UFMSDOB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDOB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDOB"; - - tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); - tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_UFMSDOS : VitalDelayType := 0 ns; - tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; - tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; - - end UFMSDOB; - - architecture Structure of UFMSDOB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal UFMSDOS_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - UFMSDO_pad: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; - VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => UFMSDOS_ipd, - TestSignalName => "UFMSDOS", - Period => tperiod_UFMSDOS, - PulseWidthHigh => tpw_UFMSDOS_posedge, - PulseWidthLow => tpw_UFMSDOS_negedge, - PeriodData => periodcheckinfo_UFMSDOS, - Violation => tviol_UFMSDOS_UFMSDOS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, - PathDelay => tpd_UFMSDOS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0121 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0121 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0121 : ENTITY IS TRUE; - - end mjiobuf0121; - - architecture Structure of mjiobuf0121 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity UFMSDIB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMSDIB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMSDIB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; - - end UFMSDIB; - - architecture Structure of UFMSDIB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMSDIS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMSDI_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) - VARIABLE UFMSDIS_zd : std_logic := 'X'; - VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMSDIS_zd := UFMSDIS_out; - - VitalPathDelay01Z ( - OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMSDIS, - PathCondition => TRUE)), - GlitchData => UFMSDIS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity UFMCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity UFMCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "UFMCLKB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; - - end UFMCLKB; - - architecture Structure of UFMCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal UFMCLKS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - UFMCLK_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) - VARIABLE UFMCLKS_zd : std_logic := 'X'; - VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - UFMCLKS_zd := UFMCLKS_out; - - VitalPathDelay01Z ( - OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_UFMCLKS, - PathCondition => TRUE)), - GlitchData => UFMCLKS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nUFMCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nUFMCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nUFMCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - - tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; - - end nUFMCSB; - - architecture Structure of nUFMCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nUFMCSS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nUFMCS_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) - VARIABLE nUFMCSS_zd : std_logic := 'X'; - VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nUFMCSS_zd := nUFMCSS_out; - - VitalPathDelay01Z ( - OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nUFMCSS, - PathCondition => TRUE)), - GlitchData => nUFMCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMLB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMLB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMLB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; - - end RDQMLB; - - architecture Structure of RDQMLB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMLS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQML_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RDQMLS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) - VARIABLE RDQMLS_zd : std_logic := 'X'; - VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMLS_zd := RDQMLS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMLS, - PathCondition => TRUE)), - GlitchData => RDQMLS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RDQMHB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RDQMHB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RDQMHB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; - - end RDQMHB; - - architecture Structure of RDQMHB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RDQMHS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RDQMH_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RDQMHS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) - VARIABLE RDQMHS_zd : std_logic := 'X'; - VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RDQMHS_zd := RDQMHS_out; - - VitalPathDelay01Z ( - OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RDQMHS, - PathCondition => TRUE)), - GlitchData => RDQMHS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; - - end nRCASB; - - architecture Structure of nRCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCASS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCAS_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>nRCASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) - VARIABLE nRCASS_zd : std_logic := 'X'; - VARIABLE nRCASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCASS_zd := nRCASS_out; - - VitalPathDelay01Z ( - OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCASS, - PathCondition => TRUE)), - GlitchData => nRCASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRRASB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRRASS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; - - end nRRASB; - - architecture Structure of nRRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRRASS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRRAS_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>nRRASS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) - VARIABLE nRRASS_zd : std_logic := 'X'; - VARIABLE nRRASS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRRASS_zd := nRRASS_out; - - VitalPathDelay01Z ( - OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRRASS, - PathCondition => TRUE)), - GlitchData => nRRASS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRWEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRWES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; - - end nRWEB; - - architecture Structure of nRWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRWES_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRWE_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>nRWES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) - VARIABLE nRWES_zd : std_logic := 'X'; - VARIABLE nRWES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRWES_zd := nRWES_out; - - VitalPathDelay01Z ( - OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRWES, - PathCondition => TRUE)), - GlitchData => nRWES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCKEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCKEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCKEB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RCKES: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; - - end RCKEB; - - architecture Structure of RCKEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RCKES_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RCKE_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RCKES_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) - VARIABLE RCKES_zd : std_logic := 'X'; - VARIABLE RCKES_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RCKES_zd := RCKES_out; - - VitalPathDelay01Z ( - OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RCKES, - PathCondition => TRUE)), - GlitchData => RCKES_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RCLKB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RCLKB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RCLKB"; - - tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); - tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RCLKS : VitalDelayType := 0 ns; - tpw_RCLKS_posedge : VitalDelayType := 0 ns; - tpw_RCLKS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; RCLKS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; - - end RCLKB; - - architecture Structure of RCLKB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal RCLKS_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - RCLK_pad: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>RCLKS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; - VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RCLKS_ipd, - TestSignalName => "RCLKS", - Period => tperiod_RCLKS, - PulseWidthHigh => tpw_RCLKS_posedge, - PulseWidthLow => tpw_RCLKS_negedge, - PeriodData => periodcheckinfo_RCLKS, - Violation => tviol_RCLKS_RCLKS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, - PathDelay => tpd_RCLKS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nRCSB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nRCSB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nRCSB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; nRCSS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; - - end nRCSB; - - architecture Structure of nRCSB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal nRCSS_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - nRCS_pad: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>nRCSS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) - VARIABLE nRCSS_zd : std_logic := 'X'; - VARIABLE nRCSS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - nRCSS_zd := nRCSS_out; - - VitalPathDelay01Z ( - OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_nRCSS, - PathCondition => TRUE)), - GlitchData => nRCSS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_7_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD7 : VitalDelayType := 0 ns; - tpw_RD7_posedge : VitalDelayType := 0 ns; - tpw_RD7_negedge : VitalDelayType := 0 ns; - tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; - - end RD_7_B; - - architecture Structure of RD_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD7_ipd : std_logic := 'X'; - signal RD7_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_7: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, - PADI=>RD7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD7_ipd, RD7, tipd_RD7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD7_zd : std_logic := 'X'; - VARIABLE RD7_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD7_RD7 : x01 := '0'; - VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD7_ipd, - TestSignalName => "RD7", - Period => tperiod_RD7, - PulseWidthHigh => tpw_RD7_posedge, - PulseWidthLow => tpw_RD7_negedge, - PeriodData => periodcheckinfo_RD7, - Violation => tviol_RD7_RD7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD7_zd := RD7_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD7_ipd'last_event, - PathDelay => tpd_RD7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD7, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD7, - PathCondition => TRUE)), - GlitchData => RD7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_6_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD6 : VitalDelayType := 0 ns; - tpw_RD6_posedge : VitalDelayType := 0 ns; - tpw_RD6_negedge : VitalDelayType := 0 ns; - tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; - - end RD_6_B; - - architecture Structure of RD_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD6_ipd : std_logic := 'X'; - signal RD6_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_6: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, - PADI=>RD6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD6_ipd, RD6, tipd_RD6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD6_zd : std_logic := 'X'; - VARIABLE RD6_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD6_RD6 : x01 := '0'; - VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD6_ipd, - TestSignalName => "RD6", - Period => tperiod_RD6, - PulseWidthHigh => tpw_RD6_posedge, - PulseWidthLow => tpw_RD6_negedge, - PeriodData => periodcheckinfo_RD6, - Violation => tviol_RD6_RD6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD6_zd := RD6_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD6_ipd'last_event, - PathDelay => tpd_RD6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD6, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD6, - PathCondition => TRUE)), - GlitchData => RD6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_5_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD5 : VitalDelayType := 0 ns; - tpw_RD5_posedge : VitalDelayType := 0 ns; - tpw_RD5_negedge : VitalDelayType := 0 ns; - tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; - - end RD_5_B; - - architecture Structure of RD_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD5_ipd : std_logic := 'X'; - signal RD5_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_5: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, - PADI=>RD5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD5_ipd, RD5, tipd_RD5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD5_zd : std_logic := 'X'; - VARIABLE RD5_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD5_RD5 : x01 := '0'; - VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD5_ipd, - TestSignalName => "RD5", - Period => tperiod_RD5, - PulseWidthHigh => tpw_RD5_posedge, - PulseWidthLow => tpw_RD5_negedge, - PeriodData => periodcheckinfo_RD5, - Violation => tviol_RD5_RD5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD5_zd := RD5_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD5_ipd'last_event, - PathDelay => tpd_RD5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD5, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD5, - PathCondition => TRUE)), - GlitchData => RD5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_4_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD4 : VitalDelayType := 0 ns; - tpw_RD4_posedge : VitalDelayType := 0 ns; - tpw_RD4_negedge : VitalDelayType := 0 ns; - tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; - - end RD_4_B; - - architecture Structure of RD_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD4_ipd : std_logic := 'X'; - signal RD4_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_4: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, - PADI=>RD4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD4_ipd, RD4, tipd_RD4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD4_zd : std_logic := 'X'; - VARIABLE RD4_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD4_RD4 : x01 := '0'; - VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD4_ipd, - TestSignalName => "RD4", - Period => tperiod_RD4, - PulseWidthHigh => tpw_RD4_posedge, - PulseWidthLow => tpw_RD4_negedge, - PeriodData => periodcheckinfo_RD4, - Violation => tviol_RD4_RD4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD4_zd := RD4_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD4_ipd'last_event, - PathDelay => tpd_RD4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD4, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD4, - PathCondition => TRUE)), - GlitchData => RD4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_3_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD3 : VitalDelayType := 0 ns; - tpw_RD3_posedge : VitalDelayType := 0 ns; - tpw_RD3_negedge : VitalDelayType := 0 ns; - tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; - - end RD_3_B; - - architecture Structure of RD_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD3_ipd : std_logic := 'X'; - signal RD3_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_3: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, - PADI=>RD3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD3_ipd, RD3, tipd_RD3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD3_zd : std_logic := 'X'; - VARIABLE RD3_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD3_RD3 : x01 := '0'; - VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD3_ipd, - TestSignalName => "RD3", - Period => tperiod_RD3, - PulseWidthHigh => tpw_RD3_posedge, - PulseWidthLow => tpw_RD3_negedge, - PeriodData => periodcheckinfo_RD3, - Violation => tviol_RD3_RD3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD3_zd := RD3_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD3_ipd'last_event, - PathDelay => tpd_RD3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD3, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD3, - PathCondition => TRUE)), - GlitchData => RD3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_2_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD2 : VitalDelayType := 0 ns; - tpw_RD2_posedge : VitalDelayType := 0 ns; - tpw_RD2_negedge : VitalDelayType := 0 ns; - tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; - - end RD_2_B; - - architecture Structure of RD_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD2_ipd : std_logic := 'X'; - signal RD2_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_2: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, - PADI=>RD2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD2_ipd, RD2, tipd_RD2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD2_zd : std_logic := 'X'; - VARIABLE RD2_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD2_RD2 : x01 := '0'; - VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD2_ipd, - TestSignalName => "RD2", - Period => tperiod_RD2, - PulseWidthHigh => tpw_RD2_posedge, - PulseWidthLow => tpw_RD2_negedge, - PeriodData => periodcheckinfo_RD2, - Violation => tviol_RD2_RD2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD2_zd := RD2_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD2_ipd'last_event, - PathDelay => tpd_RD2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD2, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD2, - PathCondition => TRUE)), - GlitchData => RD2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RD_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RD_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RD_1_B"; - - tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); - tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_RD1 : VitalDelayType := 0 ns; - tpw_RD1_posedge : VitalDelayType := 0 ns; - tpw_RD1_negedge : VitalDelayType := 0 ns; - tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - - ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; - - end RD_1_B; - - architecture Structure of RD_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal PADDT_ipd : std_logic := 'X'; - signal PADDO_ipd : std_logic := 'X'; - signal RD1_ipd : std_logic := 'X'; - signal RD1_out : std_logic := 'Z'; - - component mjiobuf - port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; - PAD: out Std_logic; PADI: in Std_logic); - end component; - begin - RD_pad_1: mjiobuf - port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, - PADI=>RD1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - VitalWireDelay(RD1_ipd, RD1, tipd_RD1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - VARIABLE RD1_zd : std_logic := 'X'; - VARIABLE RD1_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_RD1_RD1 : x01 := '0'; - VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => RD1_ipd, - TestSignalName => "RD1", - Period => tperiod_RD1, - PulseWidthHigh => tpw_RD1_posedge, - PulseWidthLow => tpw_RD1_negedge, - PeriodData => periodcheckinfo_RD1, - Violation => tviol_RD1_RD1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - RD1_zd := RD1_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => RD1_ipd'last_event, - PathDelay => tpd_RD1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - VitalPathDelay01Z ( - OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, - Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, - PathDelay => tpd_PADDT_RD1, - PathCondition => TRUE), - 1 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RD1, - PathCondition => TRUE)), - GlitchData => RD1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_11_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_11_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_11_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA11: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; - - end RA_11_B; - - architecture Structure of RA_11_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA11_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_11: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA11_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA11_out) - VARIABLE RA11_zd : std_logic := 'X'; - VARIABLE RA11_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA11_zd := RA11_out; - - VitalPathDelay01Z ( - OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA11, - PathCondition => TRUE)), - GlitchData => RA11_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_10_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_10_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_10_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RA10: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; - - end RA_10_B; - - architecture Structure of RA_10_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA10_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_10: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA10_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA10_out) - VARIABLE RA10_zd : std_logic := 'X'; - VARIABLE RA10_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA10_zd := RA10_out; - - VitalPathDelay01Z ( - OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA10, - PathCondition => TRUE)), - GlitchData => RA10_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_9_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA9: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; - - end RA_9_B; - - architecture Structure of RA_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA9_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_9: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA9_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA9_out) - VARIABLE RA9_zd : std_logic := 'X'; - VARIABLE RA9_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA9_zd := RA9_out; - - VitalPathDelay01Z ( - OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA9, - PathCondition => TRUE)), - GlitchData => RA9_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_8_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA8: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; - - end RA_8_B; - - architecture Structure of RA_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA8_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_8: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA8_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA8_out) - VARIABLE RA8_zd : std_logic := 'X'; - VARIABLE RA8_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA8_zd := RA8_out; - - VitalPathDelay01Z ( - OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA8, - PathCondition => TRUE)), - GlitchData => RA8_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; - - end RA_7_B; - - architecture Structure of RA_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA7_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_7: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA7_out) - VARIABLE RA7_zd : std_logic := 'X'; - VARIABLE RA7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA7_zd := RA7_out; - - VitalPathDelay01Z ( - OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA7, - PathCondition => TRUE)), - GlitchData => RA7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; - - end RA_6_B; - - architecture Structure of RA_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA6_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_6: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA6_out) - VARIABLE RA6_zd : std_logic := 'X'; - VARIABLE RA6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA6_zd := RA6_out; - - VitalPathDelay01Z ( - OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA6, - PathCondition => TRUE)), - GlitchData => RA6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; - - end RA_5_B; - - architecture Structure of RA_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA5_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_5: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA5_out) - VARIABLE RA5_zd : std_logic := 'X'; - VARIABLE RA5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA5_zd := RA5_out; - - VitalPathDelay01Z ( - OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA5, - PathCondition => TRUE)), - GlitchData => RA5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; - - end RA_4_B; - - architecture Structure of RA_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA4_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_4: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA4_out) - VARIABLE RA4_zd : std_logic := 'X'; - VARIABLE RA4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA4_zd := RA4_out; - - VitalPathDelay01Z ( - OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA4, - PathCondition => TRUE)), - GlitchData => RA4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; - - end RA_3_B; - - architecture Structure of RA_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA3_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_3: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA3_out) - VARIABLE RA3_zd : std_logic := 'X'; - VARIABLE RA3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA3_zd := RA3_out; - - VitalPathDelay01Z ( - OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA3, - PathCondition => TRUE)), - GlitchData => RA3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; - - end RA_2_B; - - architecture Structure of RA_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA2_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_2: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA2_out) - VARIABLE RA2_zd : std_logic := 'X'; - VARIABLE RA2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA2_zd := RA2_out; - - VitalPathDelay01Z ( - OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA2, - PathCondition => TRUE)), - GlitchData => RA2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; - - end RA_1_B; - - architecture Structure of RA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA1_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_1: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA1_out) - VARIABLE RA1_zd : std_logic := 'X'; - VARIABLE RA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA1_zd := RA1_out; - - VitalPathDelay01Z ( - OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA1, - PathCondition => TRUE)), - GlitchData => RA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); - - port (PADDO: in Std_logic; RA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; - - end RA_0_B; - - architecture Structure of RA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RA0_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RA_pad_0: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RA0_out) - VARIABLE RA0_zd : std_logic := 'X'; - VARIABLE RA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RA0_zd := RA0_out; - - VitalPathDelay01Z ( - OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RA0, - PathCondition => TRUE)), - GlitchData => RA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; - - end RBA_1_B; - - architecture Structure of RBA_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA1_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_1: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RBA1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) - VARIABLE RBA1_zd : std_logic := 'X'; - VARIABLE RBA1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA1_zd := RBA1_out; - - VitalPathDelay01Z ( - OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA1, - PathCondition => TRUE)), - GlitchData => RBA1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RBA_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RBA_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "RBA_0_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; RBA0: out Std_logic); - - ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; - - end RBA_0_B; - - architecture Structure of RBA_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal RBA0_out : std_logic := 'X'; - - component mjiobuf0121 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - RBA_pad_0: mjiobuf0121 - port map (I=>PADDO_ipd, PAD=>RBA0_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) - VARIABLE RBA0_zd : std_logic := 'X'; - VARIABLE RBA0_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - RBA0_zd := RBA0_out; - - VitalPathDelay01Z ( - OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_RBA0, - PathCondition => TRUE)), - GlitchData => RBA0_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0122 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0122 is - port (I: in Std_logic; PAD: out Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0122 : ENTITY IS TRUE; - - end mjiobuf0122; - - architecture Structure of mjiobuf0122 is - component OB - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST5: OB - port map (I=>I, O=>PAD); - end Structure; - --- entity LEDB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity LEDB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "LEDB"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; LEDS: out Std_logic); - - ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; - - end LEDB; - - architecture Structure of LEDB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal LEDS_out : std_logic := 'X'; - - component mjiobuf0122 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - LED_pad: mjiobuf0122 - port map (I=>PADDO_ipd, PAD=>LEDS_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) - VARIABLE LEDS_zd : std_logic := 'X'; - VARIABLE LEDS_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - LEDS_zd := LEDS_out; - - VitalPathDelay01Z ( - OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_LEDS, - PathCondition => TRUE)), - GlitchData => LEDS_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nFWEB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nFWEB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nFWEB"; - - tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); - tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nFWES : VitalDelayType := 0 ns; - tpw_nFWES_posedge : VitalDelayType := 0 ns; - tpw_nFWES_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nFWES: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; - - end nFWEB; - - architecture Structure of nFWEB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nFWES_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nFWE_pad: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>nFWES_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nFWES_nFWES : x01 := '0'; - VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nFWES_ipd, - TestSignalName => "nFWES", - Period => tperiod_nFWES, - PulseWidthHigh => tpw_nFWES_posedge, - PulseWidthLow => tpw_nFWES_negedge, - PeriodData => periodcheckinfo_nFWES, - Violation => tviol_nFWES_nFWES, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, - PathDelay => tpd_nFWES_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity mjiobuf0123 - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity mjiobuf0123 is - port (Z: out Std_logic; PAD: in Std_logic); - - ATTRIBUTE Vital_Level0 OF mjiobuf0123 : ENTITY IS TRUE; - - end mjiobuf0123; - - architecture Structure of mjiobuf0123 is - component IBPU - port (I: in Std_logic; O: out Std_logic); - end component; - begin - INST1: IBPU - port map (I=>PAD, O=>Z); - end Structure; - --- entity nCRASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCRASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCRASB"; - - tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCRASS : VitalDelayType := 0 ns; - tpw_nCRASS_posedge : VitalDelayType := 0 ns; - tpw_nCRASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCRASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; - - end nCRASB; - - architecture Structure of nCRASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCRASS_ipd : std_logic := 'X'; - - component mjiobuf0123 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCRAS_pad: mjiobuf0123 - port map (Z=>PADDI_out, PAD=>nCRASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; - VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCRASS_ipd, - TestSignalName => "nCRASS", - Period => tperiod_nCRASS, - PulseWidthHigh => tpw_nCRASS_posedge, - PulseWidthLow => tpw_nCRASS_negedge, - PeriodData => periodcheckinfo_nCRASS, - Violation => tviol_nCRASS_nCRASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, - PathDelay => tpd_nCRASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity nCCASB - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity nCCASB is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "nCCASB"; - - tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); - tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_nCCASS : VitalDelayType := 0 ns; - tpw_nCCASS_posedge : VitalDelayType := 0 ns; - tpw_nCCASS_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; nCCASS: in Std_logic); - - ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; - - end nCCASB; - - architecture Structure of nCCASB is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal nCCASS_ipd : std_logic := 'X'; - - component mjiobuf0123 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - nCCAS_pad: mjiobuf0123 - port map (Z=>PADDI_out, PAD=>nCCASS_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; - VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => nCCASS_ipd, - TestSignalName => "nCCASS", - Period => tperiod_nCCASS, - PulseWidthHigh => tpw_nCCASS_posedge, - PulseWidthLow => tpw_nCCASS_negedge, - PeriodData => periodcheckinfo_nCCASS, - Violation => tviol_nCCASS_nCCASS, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, - PathDelay => tpd_nCCASS_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_7_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout7: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; - - end Dout_7_B; - - architecture Structure of Dout_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout7_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_7: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout7_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) - VARIABLE Dout7_zd : std_logic := 'X'; - VARIABLE Dout7_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout7_zd := Dout7_out; - - VitalPathDelay01Z ( - OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout7, - PathCondition => TRUE)), - GlitchData => Dout7_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_6_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout6: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; - - end Dout_6_B; - - architecture Structure of Dout_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout6_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_6: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout6_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) - VARIABLE Dout6_zd : std_logic := 'X'; - VARIABLE Dout6_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout6_zd := Dout6_out; - - VitalPathDelay01Z ( - OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout6, - PathCondition => TRUE)), - GlitchData => Dout6_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_5_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout5: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; - - end Dout_5_B; - - architecture Structure of Dout_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout5_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_5: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout5_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) - VARIABLE Dout5_zd : std_logic := 'X'; - VARIABLE Dout5_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout5_zd := Dout5_out; - - VitalPathDelay01Z ( - OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout5, - PathCondition => TRUE)), - GlitchData => Dout5_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_4_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout4: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; - - end Dout_4_B; - - architecture Structure of Dout_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout4_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_4: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout4_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) - VARIABLE Dout4_zd : std_logic := 'X'; - VARIABLE Dout4_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout4_zd := Dout4_out; - - VitalPathDelay01Z ( - OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout4, - PathCondition => TRUE)), - GlitchData => Dout4_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_3_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout3: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; - - end Dout_3_B; - - architecture Structure of Dout_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout3_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_3: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout3_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) - VARIABLE Dout3_zd : std_logic := 'X'; - VARIABLE Dout3_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout3_zd := Dout3_out; - - VitalPathDelay01Z ( - OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout3, - PathCondition => TRUE)), - GlitchData => Dout3_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_2_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout2: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; - - end Dout_2_B; - - architecture Structure of Dout_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout2_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_2: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout2_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) - VARIABLE Dout2_zd : std_logic := 'X'; - VARIABLE Dout2_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout2_zd := Dout2_out; - - VitalPathDelay01Z ( - OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout2, - PathCondition => TRUE)), - GlitchData => Dout2_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Dout_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Dout_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Dout_1_B"; - - tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); - tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) - ); - - port (PADDO: in Std_logic; Dout1: out Std_logic); - - ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; - - end Dout_1_B; - - architecture Structure of Dout_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDO_ipd : std_logic := 'X'; - signal Dout1_out : std_logic := 'X'; - - component mjiobuf0118 - port (I: in Std_logic; PAD: out Std_logic); - end component; - begin - Dout_pad_1: mjiobuf0118 - port map (I=>PADDO_ipd, PAD=>Dout1_out); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); - END BLOCK; - - VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) - VARIABLE Dout1_zd : std_logic := 'X'; - VARIABLE Dout1_GlitchData : VitalGlitchDataType; - - - BEGIN - - IF (TimingChecksOn) THEN - - END IF; - - Dout1_zd := Dout1_out; - - VitalPathDelay01Z ( - OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, - Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, - PathDelay => tpd_PADDO_Dout1, - PathCondition => TRUE)), - GlitchData => Dout1_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_7_B"; - - tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din7 : VitalDelayType := 0 ns; - tpw_Din7_posedge : VitalDelayType := 0 ns; - tpw_Din7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; - - end Din_7_B; - - architecture Structure of Din_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din7_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_7: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din7_ipd, Din7, tipd_Din7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din7_Din7 : x01 := '0'; - VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din7_ipd, - TestSignalName => "Din7", - Period => tperiod_Din7, - PulseWidthHigh => tpw_Din7_posedge, - PulseWidthLow => tpw_Din7_negedge, - PeriodData => periodcheckinfo_Din7, - Violation => tviol_Din7_Din7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din7_ipd'last_event, - PathDelay => tpd_Din7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_6_B"; - - tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din6 : VitalDelayType := 0 ns; - tpw_Din6_posedge : VitalDelayType := 0 ns; - tpw_Din6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; - - end Din_6_B; - - architecture Structure of Din_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din6_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_6: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din6_ipd, Din6, tipd_Din6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din6_Din6 : x01 := '0'; - VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din6_ipd, - TestSignalName => "Din6", - Period => tperiod_Din6, - PulseWidthHigh => tpw_Din6_posedge, - PulseWidthLow => tpw_Din6_negedge, - PeriodData => periodcheckinfo_Din6, - Violation => tviol_Din6_Din6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din6_ipd'last_event, - PathDelay => tpd_Din6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_5_B"; - - tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din5 : VitalDelayType := 0 ns; - tpw_Din5_posedge : VitalDelayType := 0 ns; - tpw_Din5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; - - end Din_5_B; - - architecture Structure of Din_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din5_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_5: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din5_ipd, Din5, tipd_Din5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din5_Din5 : x01 := '0'; - VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din5_ipd, - TestSignalName => "Din5", - Period => tperiod_Din5, - PulseWidthHigh => tpw_Din5_posedge, - PulseWidthLow => tpw_Din5_negedge, - PeriodData => periodcheckinfo_Din5, - Violation => tviol_Din5_Din5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din5_ipd'last_event, - PathDelay => tpd_Din5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_4_B"; - - tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din4 : VitalDelayType := 0 ns; - tpw_Din4_posedge : VitalDelayType := 0 ns; - tpw_Din4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; - - end Din_4_B; - - architecture Structure of Din_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din4_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_4: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din4_ipd, Din4, tipd_Din4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din4_Din4 : x01 := '0'; - VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din4_ipd, - TestSignalName => "Din4", - Period => tperiod_Din4, - PulseWidthHigh => tpw_Din4_posedge, - PulseWidthLow => tpw_Din4_negedge, - PeriodData => periodcheckinfo_Din4, - Violation => tviol_Din4_Din4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din4_ipd'last_event, - PathDelay => tpd_Din4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_3_B"; - - tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din3 : VitalDelayType := 0 ns; - tpw_Din3_posedge : VitalDelayType := 0 ns; - tpw_Din3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; - - end Din_3_B; - - architecture Structure of Din_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din3_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_3: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din3_ipd, Din3, tipd_Din3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din3_Din3 : x01 := '0'; - VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din3_ipd, - TestSignalName => "Din3", - Period => tperiod_Din3, - PulseWidthHigh => tpw_Din3_posedge, - PulseWidthLow => tpw_Din3_negedge, - PeriodData => periodcheckinfo_Din3, - Violation => tviol_Din3_Din3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din3_ipd'last_event, - PathDelay => tpd_Din3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_2_B"; - - tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din2 : VitalDelayType := 0 ns; - tpw_Din2_posedge : VitalDelayType := 0 ns; - tpw_Din2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; - - end Din_2_B; - - architecture Structure of Din_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din2_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_2: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din2_ipd, Din2, tipd_Din2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din2_Din2 : x01 := '0'; - VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din2_ipd, - TestSignalName => "Din2", - Period => tperiod_Din2, - PulseWidthHigh => tpw_Din2_posedge, - PulseWidthLow => tpw_Din2_negedge, - PeriodData => periodcheckinfo_Din2, - Violation => tviol_Din2_Din2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din2_ipd'last_event, - PathDelay => tpd_Din2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_1_B"; - - tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din1 : VitalDelayType := 0 ns; - tpw_Din1_posedge : VitalDelayType := 0 ns; - tpw_Din1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; - - end Din_1_B; - - architecture Structure of Din_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din1_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_1: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din1_ipd, Din1, tipd_Din1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din1_Din1 : x01 := '0'; - VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din1_ipd, - TestSignalName => "Din1", - Period => tperiod_Din1, - PulseWidthHigh => tpw_Din1_posedge, - PulseWidthLow => tpw_Din1_negedge, - PeriodData => periodcheckinfo_Din1, - Violation => tviol_Din1_Din1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din1_ipd'last_event, - PathDelay => tpd_Din1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity Din_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity Din_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "Din_0_B"; - - tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_Din0 : VitalDelayType := 0 ns; - tpw_Din0_posedge : VitalDelayType := 0 ns; - tpw_Din0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; Din0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; - - end Din_0_B; - - architecture Structure of Din_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal Din0_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - Din_pad_0: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>Din0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(Din0_ipd, Din0, tipd_Din0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, Din0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_Din0_Din0 : x01 := '0'; - VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => Din0_ipd, - TestSignalName => "Din0", - Period => tperiod_Din0, - PulseWidthHigh => tpw_Din0_posedge, - PulseWidthLow => tpw_Din0_negedge, - PeriodData => periodcheckinfo_Din0, - Violation => tviol_Din0_Din0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => Din0_ipd'last_event, - PathDelay => tpd_Din0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_1_B"; - - tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW1 : VitalDelayType := 0 ns; - tpw_CROW1_posedge : VitalDelayType := 0 ns; - tpw_CROW1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; - - end CROW_1_B; - - architecture Structure of CROW_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW1_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_1: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>CROW1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW1_CROW1 : x01 := '0'; - VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW1_ipd, - TestSignalName => "CROW1", - Period => tperiod_CROW1, - PulseWidthHigh => tpw_CROW1_posedge, - PulseWidthLow => tpw_CROW1_negedge, - PeriodData => periodcheckinfo_CROW1, - Violation => tviol_CROW1_CROW1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, - PathDelay => tpd_CROW1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity CROW_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity CROW_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "CROW_0_B"; - - tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_CROW0 : VitalDelayType := 0 ns; - tpw_CROW0_posedge : VitalDelayType := 0 ns; - tpw_CROW0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; CROW0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; - - end CROW_0_B; - - architecture Structure of CROW_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal CROW0_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - CROW_pad_0: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>CROW0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_CROW0_CROW0 : x01 := '0'; - VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => CROW0_ipd, - TestSignalName => "CROW0", - Period => tperiod_CROW0, - PulseWidthHigh => tpw_CROW0_posedge, - PulseWidthLow => tpw_CROW0_negedge, - PeriodData => periodcheckinfo_CROW0, - Violation => tviol_CROW0_CROW0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, - PathDelay => tpd_CROW0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_9_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_9_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_9_B"; - - tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin9 : VitalDelayType := 0 ns; - tpw_MAin9_posedge : VitalDelayType := 0 ns; - tpw_MAin9_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin9: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; - - end MAin_9_B; - - architecture Structure of MAin_9_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin9_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_9: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin9_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin9_MAin9 : x01 := '0'; - VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin9_ipd, - TestSignalName => "MAin9", - Period => tperiod_MAin9, - PulseWidthHigh => tpw_MAin9_posedge, - PulseWidthLow => tpw_MAin9_negedge, - PeriodData => periodcheckinfo_MAin9, - Violation => tviol_MAin9_MAin9, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, - PathDelay => tpd_MAin9_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_8_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_8_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_8_B"; - - tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin8 : VitalDelayType := 0 ns; - tpw_MAin8_posedge : VitalDelayType := 0 ns; - tpw_MAin8_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin8: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; - - end MAin_8_B; - - architecture Structure of MAin_8_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin8_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_8: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin8_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin8_MAin8 : x01 := '0'; - VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin8_ipd, - TestSignalName => "MAin8", - Period => tperiod_MAin8, - PulseWidthHigh => tpw_MAin8_posedge, - PulseWidthLow => tpw_MAin8_negedge, - PeriodData => periodcheckinfo_MAin8, - Violation => tviol_MAin8_MAin8, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, - PathDelay => tpd_MAin8_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_7_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_7_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_7_B"; - - tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin7 : VitalDelayType := 0 ns; - tpw_MAin7_posedge : VitalDelayType := 0 ns; - tpw_MAin7_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin7: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; - - end MAin_7_B; - - architecture Structure of MAin_7_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin7_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_7: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin7_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin7_MAin7 : x01 := '0'; - VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin7_ipd, - TestSignalName => "MAin7", - Period => tperiod_MAin7, - PulseWidthHigh => tpw_MAin7_posedge, - PulseWidthLow => tpw_MAin7_negedge, - PeriodData => periodcheckinfo_MAin7, - Violation => tviol_MAin7_MAin7, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, - PathDelay => tpd_MAin7_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_6_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_6_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_6_B"; - - tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin6 : VitalDelayType := 0 ns; - tpw_MAin6_posedge : VitalDelayType := 0 ns; - tpw_MAin6_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin6: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; - - end MAin_6_B; - - architecture Structure of MAin_6_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin6_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_6: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin6_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin6_MAin6 : x01 := '0'; - VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin6_ipd, - TestSignalName => "MAin6", - Period => tperiod_MAin6, - PulseWidthHigh => tpw_MAin6_posedge, - PulseWidthLow => tpw_MAin6_negedge, - PeriodData => periodcheckinfo_MAin6, - Violation => tviol_MAin6_MAin6, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, - PathDelay => tpd_MAin6_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_5_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_5_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_5_B"; - - tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin5 : VitalDelayType := 0 ns; - tpw_MAin5_posedge : VitalDelayType := 0 ns; - tpw_MAin5_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin5: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; - - end MAin_5_B; - - architecture Structure of MAin_5_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin5_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_5: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin5_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin5_MAin5 : x01 := '0'; - VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin5_ipd, - TestSignalName => "MAin5", - Period => tperiod_MAin5, - PulseWidthHigh => tpw_MAin5_posedge, - PulseWidthLow => tpw_MAin5_negedge, - PeriodData => periodcheckinfo_MAin5, - Violation => tviol_MAin5_MAin5, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, - PathDelay => tpd_MAin5_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_4_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_4_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_4_B"; - - tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin4 : VitalDelayType := 0 ns; - tpw_MAin4_posedge : VitalDelayType := 0 ns; - tpw_MAin4_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin4: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; - - end MAin_4_B; - - architecture Structure of MAin_4_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin4_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_4: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin4_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin4_MAin4 : x01 := '0'; - VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin4_ipd, - TestSignalName => "MAin4", - Period => tperiod_MAin4, - PulseWidthHigh => tpw_MAin4_posedge, - PulseWidthLow => tpw_MAin4_negedge, - PeriodData => periodcheckinfo_MAin4, - Violation => tviol_MAin4_MAin4, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, - PathDelay => tpd_MAin4_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_3_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_3_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_3_B"; - - tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin3 : VitalDelayType := 0 ns; - tpw_MAin3_posedge : VitalDelayType := 0 ns; - tpw_MAin3_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin3: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; - - end MAin_3_B; - - architecture Structure of MAin_3_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin3_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_3: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin3_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin3_MAin3 : x01 := '0'; - VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin3_ipd, - TestSignalName => "MAin3", - Period => tperiod_MAin3, - PulseWidthHigh => tpw_MAin3_posedge, - PulseWidthLow => tpw_MAin3_negedge, - PeriodData => periodcheckinfo_MAin3, - Violation => tviol_MAin3_MAin3, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, - PathDelay => tpd_MAin3_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_2_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_2_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_2_B"; - - tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin2 : VitalDelayType := 0 ns; - tpw_MAin2_posedge : VitalDelayType := 0 ns; - tpw_MAin2_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin2: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; - - end MAin_2_B; - - architecture Structure of MAin_2_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin2_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_2: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin2_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin2_MAin2 : x01 := '0'; - VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin2_ipd, - TestSignalName => "MAin2", - Period => tperiod_MAin2, - PulseWidthHigh => tpw_MAin2_posedge, - PulseWidthLow => tpw_MAin2_negedge, - PeriodData => periodcheckinfo_MAin2, - Violation => tviol_MAin2_MAin2, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, - PathDelay => tpd_MAin2_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_1_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_1_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_1_B"; - - tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin1 : VitalDelayType := 0 ns; - tpw_MAin1_posedge : VitalDelayType := 0 ns; - tpw_MAin1_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin1: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; - - end MAin_1_B; - - architecture Structure of MAin_1_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin1_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_1: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin1_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin1_MAin1 : x01 := '0'; - VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin1_ipd, - TestSignalName => "MAin1", - Period => tperiod_MAin1, - PulseWidthHigh => tpw_MAin1_posedge, - PulseWidthLow => tpw_MAin1_negedge, - PeriodData => periodcheckinfo_MAin1, - Violation => tviol_MAin1_MAin1, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, - PathDelay => tpd_MAin1_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity MAin_0_B - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity MAin_0_B is - -- miscellaneous vital GENERICs - GENERIC ( - TimingChecksOn : boolean := TRUE; - XOn : boolean := FALSE; - MsgOn : boolean := TRUE; - InstancePath : string := "MAin_0_B"; - - tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); - tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); - tperiod_MAin0 : VitalDelayType := 0 ns; - tpw_MAin0_posedge : VitalDelayType := 0 ns; - tpw_MAin0_negedge : VitalDelayType := 0 ns); - - port (PADDI: out Std_logic; MAin0: in Std_logic); - - ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; - - end MAin_0_B; - - architecture Structure of MAin_0_B is - ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; - - signal PADDI_out : std_logic := 'X'; - signal MAin0_ipd : std_logic := 'X'; - - component mjiobuf0120 - port (Z: out Std_logic; PAD: in Std_logic); - end component; - begin - MAin_pad_0: mjiobuf0120 - port map (Z=>PADDI_out, PAD=>MAin0_ipd); - - -- INPUT PATH DELAYs - WireDelay : BLOCK - BEGIN - VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); - END BLOCK; - - VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) - VARIABLE PADDI_zd : std_logic := 'X'; - VARIABLE PADDI_GlitchData : VitalGlitchDataType; - - VARIABLE tviol_MAin0_MAin0 : x01 := '0'; - VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; - - BEGIN - - IF (TimingChecksOn) THEN - VitalPeriodPulseCheck ( - TestSignal => MAin0_ipd, - TestSignalName => "MAin0", - Period => tperiod_MAin0, - PulseWidthHigh => tpw_MAin0_posedge, - PulseWidthLow => tpw_MAin0_negedge, - PeriodData => periodcheckinfo_MAin0, - Violation => tviol_MAin0_MAin0, - MsgOn => MsgOn, XOn => XOn, - HeaderMsg => InstancePath, - CheckEnabled => TRUE, - MsgSeverity => warning); - - END IF; - - PADDI_zd := PADDI_out; - - VitalPathDelay01 ( - OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, - Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, - PathDelay => tpd_MAin0_PADDI, - PathCondition => TRUE)), - GlitchData => PADDI_GlitchData, - Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); - - END PROCESS; - - end Structure; - --- entity RAM2GS - library IEEE, vital2000, MACHXO; - use IEEE.STD_LOGIC_1164.all; - use vital2000.vital_timing.all; - use MACHXO.COMPONENTS.ALL; - - entity RAM2GS is - port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); - CROW: in Std_logic_vector (1 downto 0); - Din: in Std_logic_vector (7 downto 0); - Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; - nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; - RBA: out Std_logic_vector (1 downto 0); - RA: out Std_logic_vector (11 downto 0); - RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; - RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; - nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; - RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; - UFMSDI: out Std_logic; UFMSDO: in Std_logic); - - - - end RAM2GS; - - architecture Structure of RAM2GS is - signal FS_1: Std_logic; - signal FS_0: Std_logic; - signal RCLK_c: Std_logic; - signal FS_cry_1: Std_logic; - signal FS_17: Std_logic; - signal FS_16: Std_logic; - signal FS_cry_15: Std_logic; - signal FS_15: Std_logic; - signal FS_14: Std_logic; - signal FS_cry_13: Std_logic; - signal FS_13: Std_logic; - signal FS_12: Std_logic; - signal FS_cry_11: Std_logic; - signal FS_11: Std_logic; - signal FS_10: Std_logic; - signal FS_cry_9: Std_logic; - signal FS_9: Std_logic; - signal FS_8: Std_logic; - signal FS_cry_7: Std_logic; - signal FS_7: Std_logic; - signal FS_6: Std_logic; - signal FS_cry_5: Std_logic; - signal FS_5: Std_logic; - signal FS_4: Std_logic; - signal FS_cry_3: Std_logic; - signal FS_3: Std_logic; - signal FS_2: Std_logic; - signal CmdEnable17_0_a2_4: Std_logic; - signal N_147: Std_logic; - signal CmdEnable17_0_a2_3: Std_logic; - signal MAin_c_0: Std_logic; - signal ADSubmitted: Std_logic; - signal C1WR_0_a2: Std_logic; - signal CmdEnable17: Std_logic; - signal CmdEnable16: Std_logic; - signal ADSubmitted_r: Std_logic; - signal PHI2_c: Std_logic; - signal CmdEnable16_0_a2_5: Std_logic; - signal CmdEnable16_0_a2_4: Std_logic; - signal MAin_c_1: Std_logic; - signal C1Submitted: Std_logic; - signal C1Submitted_RNO: Std_logic; - signal CO0: Std_logic; - signal S_1: Std_logic; - signal IS_3: Std_logic; - signal RASr2: Std_logic; - signal N_177_i: Std_logic; - signal Ready_0_sqmuxa_0_a3_2: Std_logic; - signal CmdEnable: Std_logic; - signal un1_CMDWR: Std_logic; - signal CmdEnable_s: Std_logic; - signal Din_c_5: Std_logic; - signal Din_c_3: Std_logic; - signal N_128: Std_logic; - signal N_152: Std_logic; - signal LEDEN: Std_logic; - signal N_133: Std_logic; - signal N_132: Std_logic; - signal N_21_i: Std_logic; - signal XOR8MEG18: Std_logic; - signal CmdLEDEN: Std_logic; - signal CmdSubmitted: Std_logic; - signal PHI2r3: Std_logic; - signal PHI2r2: Std_logic; - signal InitReady: Std_logic; - signal CmdSubmitted_1_sqmuxa: Std_logic; - signal N_460_0: Std_logic; - signal N_136: Std_logic; - signal N_43: Std_logic; - signal Cmdn8MEGEN: Std_logic; - signal CmdEnable16_4: Std_logic; - signal n8MEGEN: Std_logic; - signal Cmdn8MEGEN_4_u_i_0: Std_logic; - signal N_19_i: Std_logic; - signal N_160: Std_logic; - signal N_155: Std_logic; - signal nRRAS_5_u_i_0: Std_logic; - signal IS_0: Std_logic; - signal Ready: Std_logic; - signal N_64_i_i: Std_logic; - signal N_24: Std_logic; - signal IS_2: Std_logic; - signal IS_1: Std_logic; - signal N_60_i_i: Std_logic; - signal N_56_i: Std_logic; - signal N_159_i: Std_logic; - signal N_159: Std_logic; - signal N_61_i_i: Std_logic; - signal RA10s_i: Std_logic; - signal N_126: Std_logic; - signal UFMSDI_ens2_i_a2_4_2: Std_logic; - signal N_51: Std_logic; - signal InitReady3: Std_logic; - signal N_461_0: Std_logic; - signal UFMSDI_ens2_i_a0: Std_logic; - signal nCRAS_c: Std_logic; - signal CBR: Std_logic; - signal UFMSDO_c: Std_logic; - signal N_70: Std_logic; - signal N_33: Std_logic; - signal LED_c: Std_logic; - signal XOR8MEG: Std_logic; - signal un1_Din_4: Std_logic; - signal Din_c_6: Std_logic; - signal RA11_2: Std_logic; - signal Ready_fast: Std_logic; - signal RA_c_11: Std_logic; - signal N_171: Std_logic; - signal FWEr_fast: Std_logic; - signal CASr2: Std_logic; - signal RCKEEN_8_u_1: Std_logic; - signal RCKEEN_8_u_0_0: Std_logic; - signal RCKEEN_8: Std_logic; - signal PHI2r: Std_logic; - signal RCKEEN: Std_logic; - signal RASr: Std_logic; - signal RASr3: Std_logic; - signal RCKE_2: Std_logic; - signal RCKE_c: Std_logic; - signal m18_0_a3_3: Std_logic; - signal S_0_i_o2_1: Std_logic; - signal N_165: Std_logic; - signal N_462_0: Std_logic; - signal Ready_0_sqmuxa: Std_logic; - signal N_463_0: Std_logic; - signal nRRAS_0_sqmuxa: Std_logic; - signal CmdUFMCLK: Std_logic; - signal N_129: Std_logic; - signal UFMCLK_r_i_a2_2_2: Std_logic; - signal N_139_i: Std_logic; - signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; - signal nUFMCS15: Std_logic; - signal UFMCLK_c: Std_logic; - signal UFMCLK_RNO: Std_logic; - signal UFMSDI_r_xx_mm_1: Std_logic; - signal UFMSDI_c: Std_logic; - signal UFMSDI_RNO: Std_logic; - signal RowA_4: Std_logic; - signal nRowColSel: Std_logic; - signal MAin_c_4: Std_logic; - signal Din_c_4: Std_logic; - signal nCCAS_c: Std_logic; - signal RA_c_4: Std_logic; - signal WRD_4: Std_logic; - signal WRD_5: Std_logic; - signal Bank_5: Std_logic; - signal Bank_2: Std_logic; - signal Bank_6: Std_logic; - signal Bank_7: Std_logic; - signal Din_c_7: Std_logic; - signal WRD_6: Std_logic; - signal C1WR_0_a2_0_11: Std_logic; - signal WRD_7: Std_logic; - signal Din_c_2: Std_logic; - signal Din_c_0: Std_logic; - signal Din_c_1: Std_logic; - signal XOR8MEG_3_u_0_a3_2: Std_logic; - signal XOR8MEG_3: Std_logic; - signal N_69: Std_logic; - signal N_31: Std_logic; - signal N_151: Std_logic; - signal N_41: Std_logic; - signal nRCAS_0_sqmuxa_1: Std_logic; - signal g0_1: Std_logic; - signal N_37_i: Std_logic; - signal nRCAS_c: Std_logic; - signal CASr3: Std_logic; - signal RCKEEN_8_u_0_a2_1_out: Std_logic; - signal N_28_i_1: Std_logic; - signal N_28_i: Std_logic; - signal nRCS_c: Std_logic; - signal N_24_i: Std_logic; - signal nRRAS_c: Std_logic; - signal CBR_fast: Std_logic; - signal FWEr: Std_logic; - signal m18_0_a2_1: Std_logic; - signal G_17_1: Std_logic; - signal N_39_i: Std_logic; - signal nRWE_c: Std_logic; - signal N_179: Std_logic; - signal nRowColSel_0_0: Std_logic; - signal nUFMCS_c: Std_logic; - signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; - signal nUFMCS_s_0_N_5_i: Std_logic; - signal CmdUFMCS: Std_logic; - signal N_95_5: Std_logic; - signal N_95_3: Std_logic; - signal RowA_0: Std_logic; - signal RowA_1: Std_logic; - signal MAin_c_5: Std_logic; - signal CmdUFMCLK_1_sqmuxa: Std_logic; - signal RowA_5: Std_logic; - signal N_137_8: Std_logic; - signal un1_FS_14_i_a2_0_1: Std_logic; - signal N_137_6: Std_logic; - signal un1_FS_13_i_a2_1: Std_logic; - signal Bank_0: Std_logic; - signal C1WR_0_a2_0_10: Std_logic; - signal Bank_1: Std_logic; - signal MAin_c_7: Std_logic; - signal MAin_c_6: Std_logic; - signal C1WR_0_a2_0_4: Std_logic; - signal Bank_3: Std_logic; - signal Bank_4: Std_logic; - signal C1WR_0_a2_0_3: Std_logic; - signal UFMSDI_ens2_i_o2_0_3: Std_logic; - signal MAin_c_3: Std_logic; - signal MAin_c_2: Std_logic; - signal RowA_2: Std_logic; - signal RowA_3: Std_logic; - signal CmdUFMSDI: Std_logic; - signal CASr: Std_logic; - signal CmdEnable16_1: Std_logic; - signal m6_0_a2_2: Std_logic; - signal WRD_0: Std_logic; - signal WRD_1: Std_logic; - signal g4_0_0_0: Std_logic; - signal MAin_c_9: Std_logic; - signal MAin_c_8: Std_logic; - signal RowA_8: Std_logic; - signal RowA_9: Std_logic; - signal nFWE_c: Std_logic; - signal CROW_c_1: Std_logic; - signal CROW_c_0: Std_logic; - signal RBA_c_0: Std_logic; - signal RBA_c_1: Std_logic; - signal WRD_2: Std_logic; - signal WRD_3: Std_logic; - signal RA_c_9: Std_logic; - signal RDQML_c: Std_logic; - signal RD_1_i: Std_logic; - signal RowA_6: Std_logic; - signal RowA_7: Std_logic; - signal RA_c_8: Std_logic; - signal RDQMH_c: Std_logic; - signal RA_c_0: Std_logic; - signal RA_c_1: Std_logic; - signal RA_c_7: Std_logic; - signal RA_c_2: Std_logic; - signal RA_c_6: Std_logic; - signal RA_c_3: Std_logic; - signal RA_c_5: Std_logic; - signal RA_c_10: Std_logic; - signal RD_in_0: Std_logic; - signal RD_in_7: Std_logic; - signal RD_in_6: Std_logic; - signal RD_in_5: Std_logic; - signal RD_in_4: Std_logic; - signal RD_in_3: Std_logic; - signal RD_in_2: Std_logic; - signal RD_in_1: Std_logic; - signal VCCI: Std_logic; - signal GNDI_TSALL: Std_logic; - component VHI - port (Z: out Std_logic); - end component; - component VLO - port (Z: out Std_logic); - end component; - component PUR - port (PUR: in Std_logic); - end component; - component GSR - port (GSR: in Std_logic); - end component; - component TSALL - port (TSALL: in Std_logic); - end component; - component SLICE_0 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); - end component; - component SLICE_1 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_2 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_3 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_4 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_5 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_6 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_7 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_8 - port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; - FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; - FCO: out Std_logic); - end component; - component SLICE_9 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_14 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_19 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_20 - port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - OFX0: out Std_logic; Q0: out Std_logic); - end component; - component SLICE_21 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_22 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_26 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_29 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_30 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_31 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_32 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_33 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_39 - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_41 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_42 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_43 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_44 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_50 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_51 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_52 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_55 - port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_56 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_57 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_58 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_59 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_60 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_61 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_62 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_63 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_64 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component nRWE_RNO_1_SLICE_65 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - OFX0: out Std_logic); - end component; - component SLICE_66 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_67 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_68 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_69 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_70 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_71 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_72 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_73 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_74 - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_75 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_76 - port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_77 - port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_78 - port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_79 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_80 - port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_81 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_82 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_83 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; - M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_84 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_85 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; - Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); - end component; - component SLICE_86 - port (C1: in Std_logic; A1: in Std_logic; C0: in Std_logic; - B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_87 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_88 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; M1: in Std_logic; - M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; - F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; - Q1: out Std_logic); - end component; - component SLICE_89 - port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; B0: in Std_logic; F0: out Std_logic; - F1: out Std_logic); - end component; - component SLICE_90 - port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_91 - port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_92 - port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_93 - port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; - D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; - F0: out Std_logic; F1: out Std_logic); - end component; - component SLICE_94 - port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; - C0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; - CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; - F1: out Std_logic); - end component; - component RD_0_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD0: inout Std_logic); - end component; - component Dout_0_B - port (PADDO: in Std_logic; Dout0: out Std_logic); - end component; - component PHI2B - port (PADDI: out Std_logic; PHI2S: in Std_logic); - end component; - component UFMSDOB - port (PADDI: out Std_logic; UFMSDOS: in Std_logic); - end component; - component UFMSDIB - port (PADDO: in Std_logic; UFMSDIS: out Std_logic); - end component; - component UFMCLKB - port (PADDO: in Std_logic; UFMCLKS: out Std_logic); - end component; - component nUFMCSB - port (PADDO: in Std_logic; nUFMCSS: out Std_logic); - end component; - component RDQMLB - port (PADDO: in Std_logic; RDQMLS: out Std_logic); - end component; - component RDQMHB - port (PADDO: in Std_logic; RDQMHS: out Std_logic); - end component; - component nRCASB - port (PADDO: in Std_logic; nRCASS: out Std_logic); - end component; - component nRRASB - port (PADDO: in Std_logic; nRRASS: out Std_logic); - end component; - component nRWEB - port (PADDO: in Std_logic; nRWES: out Std_logic); - end component; - component RCKEB - port (PADDO: in Std_logic; RCKES: out Std_logic); - end component; - component RCLKB - port (PADDI: out Std_logic; RCLKS: in Std_logic); - end component; - component nRCSB - port (PADDO: in Std_logic; nRCSS: out Std_logic); - end component; - component RD_7_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD7: inout Std_logic); - end component; - component RD_6_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD6: inout Std_logic); - end component; - component RD_5_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD5: inout Std_logic); - end component; - component RD_4_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD4: inout Std_logic); - end component; - component RD_3_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD3: inout Std_logic); - end component; - component RD_2_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD2: inout Std_logic); - end component; - component RD_1_B - port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; - RD1: inout Std_logic); - end component; - component RA_11_B - port (PADDO: in Std_logic; RA11: out Std_logic); - end component; - component RA_10_B - port (PADDO: in Std_logic; RA10: out Std_logic); - end component; - component RA_9_B - port (PADDO: in Std_logic; RA9: out Std_logic); - end component; - component RA_8_B - port (PADDO: in Std_logic; RA8: out Std_logic); - end component; - component RA_7_B - port (PADDO: in Std_logic; RA7: out Std_logic); - end component; - component RA_6_B - port (PADDO: in Std_logic; RA6: out Std_logic); - end component; - component RA_5_B - port (PADDO: in Std_logic; RA5: out Std_logic); - end component; - component RA_4_B - port (PADDO: in Std_logic; RA4: out Std_logic); - end component; - component RA_3_B - port (PADDO: in Std_logic; RA3: out Std_logic); - end component; - component RA_2_B - port (PADDO: in Std_logic; RA2: out Std_logic); - end component; - component RA_1_B - port (PADDO: in Std_logic; RA1: out Std_logic); - end component; - component RA_0_B - port (PADDO: in Std_logic; RA0: out Std_logic); - end component; - component RBA_1_B - port (PADDO: in Std_logic; RBA1: out Std_logic); - end component; - component RBA_0_B - port (PADDO: in Std_logic; RBA0: out Std_logic); - end component; - component LEDB - port (PADDO: in Std_logic; LEDS: out Std_logic); - end component; - component nFWEB - port (PADDI: out Std_logic; nFWES: in Std_logic); - end component; - component nCRASB - port (PADDI: out Std_logic; nCRASS: in Std_logic); - end component; - component nCCASB - port (PADDI: out Std_logic; nCCASS: in Std_logic); - end component; - component Dout_7_B - port (PADDO: in Std_logic; Dout7: out Std_logic); - end component; - component Dout_6_B - port (PADDO: in Std_logic; Dout6: out Std_logic); - end component; - component Dout_5_B - port (PADDO: in Std_logic; Dout5: out Std_logic); - end component; - component Dout_4_B - port (PADDO: in Std_logic; Dout4: out Std_logic); - end component; - component Dout_3_B - port (PADDO: in Std_logic; Dout3: out Std_logic); - end component; - component Dout_2_B - port (PADDO: in Std_logic; Dout2: out Std_logic); - end component; - component Dout_1_B - port (PADDO: in Std_logic; Dout1: out Std_logic); - end component; - component Din_7_B - port (PADDI: out Std_logic; Din7: in Std_logic); - end component; - component Din_6_B - port (PADDI: out Std_logic; Din6: in Std_logic); - end component; - component Din_5_B - port (PADDI: out Std_logic; Din5: in Std_logic); - end component; - component Din_4_B - port (PADDI: out Std_logic; Din4: in Std_logic); - end component; - component Din_3_B - port (PADDI: out Std_logic; Din3: in Std_logic); - end component; - component Din_2_B - port (PADDI: out Std_logic; Din2: in Std_logic); - end component; - component Din_1_B - port (PADDI: out Std_logic; Din1: in Std_logic); - end component; - component Din_0_B - port (PADDI: out Std_logic; Din0: in Std_logic); - end component; - component CROW_1_B - port (PADDI: out Std_logic; CROW1: in Std_logic); - end component; - component CROW_0_B - port (PADDI: out Std_logic; CROW0: in Std_logic); - end component; - component MAin_9_B - port (PADDI: out Std_logic; MAin9: in Std_logic); - end component; - component MAin_8_B - port (PADDI: out Std_logic; MAin8: in Std_logic); - end component; - component MAin_7_B - port (PADDI: out Std_logic; MAin7: in Std_logic); - end component; - component MAin_6_B - port (PADDI: out Std_logic; MAin6: in Std_logic); - end component; - component MAin_5_B - port (PADDI: out Std_logic; MAin5: in Std_logic); - end component; - component MAin_4_B - port (PADDI: out Std_logic; MAin4: in Std_logic); - end component; - component MAin_3_B - port (PADDI: out Std_logic; MAin3: in Std_logic); - end component; - component MAin_2_B - port (PADDI: out Std_logic; MAin2: in Std_logic); - end component; - component MAin_1_B - port (PADDI: out Std_logic; MAin1: in Std_logic); - end component; - component MAin_0_B - port (PADDI: out Std_logic; MAin0: in Std_logic); - end component; - begin - SLICE_0I: SLICE_0 - port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, - FCO=>FS_cry_1); - SLICE_1I: SLICE_1 - port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, - Q1=>FS_17); - SLICE_2I: SLICE_2 - port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, - Q1=>FS_15, FCO=>FS_cry_15); - SLICE_3I: SLICE_3 - port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, - Q1=>FS_13, FCO=>FS_cry_13); - SLICE_4I: SLICE_4 - port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, - Q1=>FS_11, FCO=>FS_cry_11); - SLICE_5I: SLICE_5 - port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, - Q1=>FS_9, FCO=>FS_cry_9); - SLICE_6I: SLICE_6 - port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, - Q1=>FS_7, FCO=>FS_cry_7); - SLICE_7I: SLICE_7 - port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, - Q1=>FS_5, FCO=>FS_cry_5); - SLICE_8I: SLICE_8 - port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, - Q1=>FS_3, FCO=>FS_cry_3); - SLICE_9I: SLICE_9 - port map (D1=>CmdEnable17_0_a2_4, C1=>N_147, B1=>CmdEnable17_0_a2_3, - A1=>MAin_c_0, D0=>ADSubmitted, C0=>C1WR_0_a2, B0=>CmdEnable17, - A0=>CmdEnable16, DI0=>ADSubmitted_r, CLK=>PHI2_c, - F0=>ADSubmitted_r, Q0=>ADSubmitted, F1=>CmdEnable17); - SLICE_14I: SLICE_14 - port map (C1=>N_147, B1=>CmdEnable16_0_a2_5, A1=>CmdEnable16_0_a2_4, - D0=>CmdEnable16, C0=>N_147, B0=>MAin_c_1, A0=>C1Submitted, - DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, - Q0=>C1Submitted, F1=>CmdEnable16); - SLICE_19I: SLICE_19 - port map (D1=>CO0, C1=>S_1, B1=>IS_3, A1=>RASr2, C0=>S_1, A0=>CO0, - DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, - F1=>Ready_0_sqmuxa_0_a3_2); - SLICE_20I: SLICE_20 - port map (D1=>CmdEnable, A1=>ADSubmitted, D0=>CmdEnable17, - C0=>C1Submitted, B0=>un1_CMDWR, A0=>CmdEnable, - DI0=>CmdEnable_s, M0=>CmdEnable16, CLK=>PHI2_c, - OFX0=>CmdEnable_s, Q0=>CmdEnable); - SLICE_21I: SLICE_21 - port map (D1=>Din_c_5, C1=>Din_c_3, B1=>N_128, D0=>N_152, C0=>LEDEN, - B0=>N_133, A0=>N_132, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, - F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); - SLICE_22I: SLICE_22 - port map (D1=>CmdSubmitted, C1=>PHI2r3, B1=>PHI2r2, A1=>InitReady, - D0=>CmdSubmitted_1_sqmuxa, A0=>CmdSubmitted, DI0=>N_460_0, - CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); - SLICE_26I: SLICE_26 - port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, - D0=>n8MEGEN, C0=>Cmdn8MEGEN_4_u_i_0, A0=>N_152, DI0=>N_19_i, - CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, - F1=>Cmdn8MEGEN_4_u_i_0); - SLICE_29I: SLICE_29 - port map (D1=>N_160, C1=>N_155, B1=>nRRAS_5_u_i_0, A1=>IS_0, C0=>N_155, - B0=>Ready, A0=>IS_0, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, - Q0=>IS_0, F1=>N_24); - SLICE_30I: SLICE_30 - port map (D1=>IS_0, C1=>IS_2, A1=>IS_1, D0=>IS_0, A0=>IS_1, - DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); - SLICE_31I: SLICE_31 - port map (D1=>IS_2, C1=>N_159, B1=>IS_1, A1=>IS_3, D0=>IS_2, C0=>IS_3, - B0=>IS_1, A0=>IS_0, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, - F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); - SLICE_32I: SLICE_32 - port map (D1=>N_126, C1=>InitReady, B1=>UFMSDI_ens2_i_a2_4_2, A1=>N_51, - D0=>InitReady3, A0=>InitReady, DI0=>N_461_0, CLK=>RCLK_c, - F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); - SLICE_33I: SLICE_33 - port map (D1=>LEDEN, C1=>nCRAS_c, A1=>CBR, D0=>InitReady, B0=>CmdLEDEN, - A0=>UFMSDO_c, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, - Q0=>LEDEN, F1=>LED_c); - SLICE_39I: SLICE_39 - port map (D1=>XOR8MEG, B1=>un1_Din_4, D0=>XOR8MEG, B0=>Din_c_6, - A0=>n8MEGEN, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, - F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); - SLICE_41I: SLICE_41 - port map (D1=>CO0, C1=>FWEr_fast, B1=>CASr2, A1=>S_1, D0=>CBR, - C0=>RCKEEN_8_u_1, B0=>Ready, A0=>RCKEEN_8_u_0_0, DI0=>RCKEEN_8, - M1=>PHI2r, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, - F1=>RCKEEN_8_u_1, Q1=>PHI2r2); - SLICE_42I: SLICE_42 - port map (D1=>IS_1, C1=>IS_2, B1=>IS_0, A1=>RASr2, D0=>RASr, C0=>RASr3, - B0=>RCKEEN, A0=>RASr2, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, - F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); - SLICE_43I: SLICE_43 - port map (D1=>Ready, C1=>S_0_i_o2_1, B1=>RASr2, A1=>InitReady, D0=>Ready, - C0=>N_165, B0=>Ready_0_sqmuxa_0_a3_2, A0=>InitReady, - DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, - F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); - SLICE_44I: SLICE_44 - port map (D1=>Ready, C1=>N_165, B1=>Ready_0_sqmuxa_0_a3_2, A1=>InitReady, - B0=>Ready_0_sqmuxa, A0=>Ready_fast, DI0=>N_463_0, M1=>nCRAS_c, - CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, - Q1=>RASr); - SLICE_50I: SLICE_50 - port map (D1=>Ready, C1=>CO0, A1=>S_1, C0=>CO0, A0=>S_1, DI0=>S_0_i_o2_1, - LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, - F1=>nRRAS_0_sqmuxa); - SLICE_51I: SLICE_51 - port map (D1=>CmdUFMCLK, C1=>InitReady, B1=>N_129, A1=>UFMCLK_r_i_a2_2_2, - D0=>N_139_i, C0=>UFMCLK_r_i_m4_xx_mm_1, B0=>nUFMCS15, - A0=>UFMCLK_c, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, - F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, - Q1=>RASr2); - SLICE_52I: SLICE_52 - port map (D1=>PHI2r3, C1=>InitReady, B1=>PHI2r2, A1=>CmdSubmitted, - D0=>UFMSDI_r_xx_mm_1, C0=>N_139_i, B0=>UFMSDI_c, A0=>nUFMCS15, - DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, - Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); - SLICE_55I: SLICE_55 - port map (D0=>RowA_4, B0=>nRowColSel, A0=>MAin_c_4, M1=>Din_c_5, - M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); - SLICE_56I: SLICE_56 - port map (D1=>Bank_5, C1=>Bank_2, B1=>Bank_6, A1=>Bank_7, D0=>FS_5, - C0=>FS_9, A0=>FS_7, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, - F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); - SLICE_57I: SLICE_57 - port map (D1=>un1_Din_4, C1=>Din_c_3, B1=>Din_c_2, A1=>Din_c_0, - D0=>Din_c_1, C0=>XOR8MEG_3_u_0_a3_2, B0=>LEDEN, A0=>N_171, - DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, - Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); - SLICE_58I: SLICE_58 - port map (D1=>N_51, C1=>FS_8, A1=>InitReady, D0=>UFMSDO_c, - B0=>Cmdn8MEGEN, A0=>InitReady, DI0=>N_69, CE=>N_31, - CLK=>RCLK_c, F0=>N_69, Q0=>n8MEGEN, F1=>N_151); - SLICE_59I: SLICE_59 - port map (D1=>Ready, C1=>S_1, B1=>N_155, A1=>N_160, D0=>N_41, - C0=>nRCAS_0_sqmuxa_1, B0=>S_1, A0=>g0_1, DI0=>N_37_i, - CLK=>RCLK_c, F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); - SLICE_60I: SLICE_60 - port map (D1=>CASr3, C1=>CO0, B1=>FWEr_fast, A1=>CASr2, D0=>CBR, - C0=>RCKEEN_8_u_0_a2_1_out, B0=>N_24, A0=>N_28_i_1, DI0=>N_28_i, - CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); - SLICE_61I: SLICE_61 - port map (D1=>S_0_i_o2_1, C1=>Ready, B1=>RASr2, A1=>RCKE_c, D0=>N_160, - C0=>N_155, B0=>nRRAS_5_u_i_0, A0=>IS_0, DI0=>N_24_i, - CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); - SLICE_62I: SLICE_62 - port map (D1=>CBR_fast, C1=>S_0_i_o2_1, B1=>Ready, A1=>RASr2, D0=>FWEr, - C0=>m18_0_a2_1, B0=>nRCAS_0_sqmuxa_1, A0=>G_17_1, DI0=>N_39_i, - CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, F1=>nRCAS_0_sqmuxa_1); - SLICE_63I: SLICE_63 - port map (D1=>CASr3, C1=>Ready, B1=>FWEr, A1=>CBR, D0=>N_179, C0=>Ready, - B0=>CO0, A0=>S_1, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, - CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); - SLICE_64I: SLICE_64 - port map (D1=>FS_10, C1=>N_51, B1=>FS_11, A1=>InitReady, D0=>nUFMCS_c, - C0=>nUFMCS_s_0_N_5_i_N_2L1, B0=>nUFMCS15, A0=>N_139_i, - DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, F0=>nUFMCS_s_0_N_5_i, - Q0=>nUFMCS_c, F1=>nUFMCS15); - nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 - port map (D1=>RASr2, C1=>RCKE_c, B1=>CO0, A1=>S_1, D0=>S_1, - C0=>m18_0_a3_3, B0=>CO0, A0=>InitReady, M0=>Ready, - OFX0=>m18_0_a2_1); - SLICE_66I: SLICE_66 - port map (C1=>InitReady, B1=>CmdUFMCS, A1=>UFMCLK_r_i_a2_2_2, D0=>N_95_5, - C0=>InitReady, B0=>FS_16, A0=>N_95_3, M1=>MAin_c_1, - M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, - Q1=>RowA_1); - SLICE_67I: SLICE_67 - port map (D1=>Din_c_5, C1=>XOR8MEG18, B1=>Din_c_3, A1=>N_128, - D0=>MAin_c_1, C0=>MAin_c_0, B0=>CmdEnable, A0=>N_147, - M1=>MAin_c_5, M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>XOR8MEG18, Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); - SLICE_68I: SLICE_68 - port map (D1=>FS_3, C1=>FS_0, B1=>FS_2, A1=>FS_5, D0=>N_136, C0=>N_137_8, - B0=>un1_FS_14_i_a2_0_1, A0=>N_137_6, F0=>N_31, - F1=>un1_FS_14_i_a2_0_1); - SLICE_69I: SLICE_69 - port map (D1=>FS_3, C1=>FS_0, B1=>FS_2, A1=>FS_5, D0=>N_137_8, - C0=>un1_FS_13_i_a2_1, B0=>N_136, A0=>N_137_6, F0=>N_33, - F1=>un1_FS_13_i_a2_1); - SLICE_70I: SLICE_70 - port map (D1=>Bank_0, C1=>C1WR_0_a2_0_10, B1=>C1WR_0_a2_0_11, A1=>Bank_1, - C0=>MAin_c_1, B0=>N_147, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, - F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); - SLICE_71I: SLICE_71 - port map (D1=>MAin_c_5, C1=>MAin_c_7, B1=>MAin_c_6, A1=>MAin_c_4, - D0=>C1WR_0_a2_0_4, C0=>Bank_3, B0=>Bank_4, A0=>C1WR_0_a2_0_3, - M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, - Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); - SLICE_72I: SLICE_72 - port map (D1=>UFMSDI_ens2_i_o2_0_3, C1=>FS_16, A1=>FS_12, D0=>FS_1, - C0=>N_51, B0=>FS_11, A0=>FS_4, M1=>MAin_c_3, M0=>MAin_c_2, - LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, - Q1=>RowA_3); - SLICE_73I: SLICE_73 - port map (D1=>S_1, C1=>RASr2, B1=>CO0, A1=>InitReady, B0=>N_155, - A0=>Ready, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, - CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); - SLICE_74I: SLICE_74 - port map (D1=>FS_14, B1=>FS_11, D0=>FS_16, C0=>N_95_3, B0=>FS_10, - A0=>N_95_5, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, - F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); - SLICE_75I: SLICE_75 - port map (C1=>Din_c_4, B1=>Din_c_7, A1=>Din_c_6, D0=>Din_c_1, C0=>N_128, - A0=>Din_c_5, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, - Q0=>CASr, F1=>N_128, Q1=>CASr2); - SLICE_76I: SLICE_76 - port map (D1=>Din_c_5, B1=>Din_c_0, D0=>MAin_c_0, C0=>CmdEnable16_4, - B0=>Din_c_1, A0=>Din_c_3, M1=>Din_c_5, M0=>Din_c_4, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, - F1=>CmdEnable16_4, Q1=>Bank_5); - SLICE_77I: SLICE_77 - port map (C1=>Din_c_7, A1=>Din_c_4, D0=>MAin_c_1, C0=>CmdEnable16_1, - B0=>Din_c_6, A0=>Din_c_2, M1=>Din_c_7, M0=>Din_c_6, - CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, - F1=>CmdEnable16_1, Q1=>Bank_7); - SLICE_78I: SLICE_78 - port map (C1=>Din_c_3, B1=>Din_c_5, D0=>MAin_c_1, C0=>Din_c_6, B0=>N_43, - A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, - F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); - SLICE_79I: SLICE_79 - port map (D1=>CASr3, C1=>Ready, B1=>CASr2, D0=>CO0, C0=>m6_0_a2_2, - B0=>CBR, A0=>S_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, - F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); - SLICE_80I: SLICE_80 - port map (C1=>CASr2, B1=>CASr3, D0=>FWEr, C0=>CBR_fast, B0=>g4_0_0_0, - A0=>CO0, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); - SLICE_81I: SLICE_81 - port map (D1=>FS_14, C1=>FS_17, B1=>FS_15, A1=>FS_13, D0=>FS_12, - C0=>FS_17, B0=>FS_15, A0=>FS_13, M1=>nFWE_c, M0=>nFWE_c, - CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, - Q1=>FWEr_fast); - SLICE_82I: SLICE_82 - port map (D1=>Din_c_5, C1=>CmdLEDEN, B1=>N_128, A1=>Din_c_3, D0=>Din_c_5, - C0=>XOR8MEG18, B0=>N_128, A0=>Din_c_3, M0=>CASr2, CLK=>RCLK_c, - F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); - SLICE_83I: SLICE_83 - port map (C1=>IS_2, B1=>IS_3, A1=>IS_1, D0=>IS_0, C0=>IS_2, A0=>IS_1, - M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, - F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); - SLICE_84I: SLICE_84 - port map (D1=>FS_8, C1=>FS_10, B1=>FS_11, A1=>FS_6, D0=>FS_7, C0=>FS_1, - B0=>FS_10, A0=>FS_6, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); - SLICE_85I: SLICE_85 - port map (D1=>Din_c_1, C1=>Din_c_7, B1=>Din_c_4, A1=>Din_c_0, - D0=>Din_c_6, C0=>Din_c_7, B0=>Din_c_4, A0=>Din_c_5, - M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, - Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); - SLICE_86I: SLICE_86 - port map (C1=>MAin_c_9, A1=>nRowColSel, C0=>MAin_c_9, B0=>RowA_9, - A0=>nRowColSel, F0=>RA_c_9, F1=>RDQML_c); - SLICE_87I: SLICE_87 - port map (D1=>UFMSDI_ens2_i_a0, C1=>CmdUFMSDI, B1=>N_151, D0=>N_151, - C0=>FS_9, B0=>FS_11, A0=>FS_4, F0=>N_137_8, - F1=>UFMSDI_r_xx_mm_1); - SLICE_88I: SLICE_88 - port map (C1=>nFWE_c, B1=>MAin_c_2, A1=>MAin_c_3, D0=>nCCAS_c, - C0=>nFWE_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, - CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, - Q1=>RowA_7); - SLICE_89I: SLICE_89 - port map (D1=>nRowColSel, C1=>MAin_c_9, D0=>nRowColSel, C0=>MAin_c_8, - B0=>RowA_8, F0=>RA_c_8, F1=>RDQMH_c); - SLICE_90I: SLICE_90 - port map (C1=>N_147, B1=>MAin_c_0, A1=>MAin_c_1, D0=>RowA_0, - B0=>MAin_c_0, A0=>nRowColSel, F0=>RA_c_0, F1=>un1_CMDWR); - SLICE_91I: SLICE_91 - port map (D1=>nRowColSel, C1=>RowA_7, B1=>MAin_c_7, D0=>RowA_1, - C0=>nRowColSel, B0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); - SLICE_92I: SLICE_92 - port map (D1=>nRowColSel, C1=>MAin_c_6, A1=>RowA_6, D0=>nRowColSel, - C0=>RowA_2, B0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); - SLICE_93I: SLICE_93 - port map (D1=>RowA_5, B1=>nRowColSel, A1=>MAin_c_5, D0=>RowA_3, - B0=>nRowColSel, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); - SLICE_94I: SLICE_94 - port map (D1=>Ready, C1=>N_155, D0=>Ready, C0=>S_1, M0=>IS_0, - LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, - Q0=>RA_c_10, F1=>N_159_i); - RD_0_I: RD_0_B - port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); - Dout_0_I: Dout_0_B - port map (PADDO=>RD_in_0, Dout0=>Dout(0)); - PHI2I: PHI2B - port map (PADDI=>PHI2_c, PHI2S=>PHI2); - UFMSDOI: UFMSDOB - port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); - UFMSDII: UFMSDIB - port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); - UFMCLKI: UFMCLKB - port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); - nUFMCSI: nUFMCSB - port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); - RDQMLI: RDQMLB - port map (PADDO=>RDQML_c, RDQMLS=>RDQML); - RDQMHI: RDQMHB - port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); - nRCASI: nRCASB - port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); - nRRASI: nRRASB - port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); - nRWEI: nRWEB - port map (PADDO=>nRWE_c, nRWES=>nRWE); - RCKEI: RCKEB - port map (PADDO=>RCKE_c, RCKES=>RCKE); - RCLKI: RCLKB - port map (PADDI=>RCLK_c, RCLKS=>RCLK); - nRCSI: nRCSB - port map (PADDO=>nRCS_c, nRCSS=>nRCS); - RD_7_I: RD_7_B - port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); - RD_6_I: RD_6_B - port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); - RD_5_I: RD_5_B - port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); - RD_4_I: RD_4_B - port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); - RD_3_I: RD_3_B - port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); - RD_2_I: RD_2_B - port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); - RD_1_I0: RD_1_B - port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); - RA_11_I: RA_11_B - port map (PADDO=>RA_c_11, RA11=>RA(11)); - RA_10_I: RA_10_B - port map (PADDO=>RA_c_10, RA10=>RA(10)); - RA_9_I: RA_9_B - port map (PADDO=>RA_c_9, RA9=>RA(9)); - RA_8_I: RA_8_B - port map (PADDO=>RA_c_8, RA8=>RA(8)); - RA_7_I: RA_7_B - port map (PADDO=>RA_c_7, RA7=>RA(7)); - RA_6_I: RA_6_B - port map (PADDO=>RA_c_6, RA6=>RA(6)); - RA_5_I: RA_5_B - port map (PADDO=>RA_c_5, RA5=>RA(5)); - RA_4_I: RA_4_B - port map (PADDO=>RA_c_4, RA4=>RA(4)); - RA_3_I: RA_3_B - port map (PADDO=>RA_c_3, RA3=>RA(3)); - RA_2_I: RA_2_B - port map (PADDO=>RA_c_2, RA2=>RA(2)); - RA_1_I: RA_1_B - port map (PADDO=>RA_c_1, RA1=>RA(1)); - RA_0_I: RA_0_B - port map (PADDO=>RA_c_0, RA0=>RA(0)); - RBA_1_I: RBA_1_B - port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); - RBA_0_I: RBA_0_B - port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); - LEDI: LEDB - port map (PADDO=>LED_c, LEDS=>LED); - nFWEI: nFWEB - port map (PADDI=>nFWE_c, nFWES=>nFWE); - nCRASI: nCRASB - port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); - nCCASI: nCCASB - port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); - Dout_7_I: Dout_7_B - port map (PADDO=>RD_in_7, Dout7=>Dout(7)); - Dout_6_I: Dout_6_B - port map (PADDO=>RD_in_6, Dout6=>Dout(6)); - Dout_5_I: Dout_5_B - port map (PADDO=>RD_in_5, Dout5=>Dout(5)); - Dout_4_I: Dout_4_B - port map (PADDO=>RD_in_4, Dout4=>Dout(4)); - Dout_3_I: Dout_3_B - port map (PADDO=>RD_in_3, Dout3=>Dout(3)); - Dout_2_I: Dout_2_B - port map (PADDO=>RD_in_2, Dout2=>Dout(2)); - Dout_1_I: Dout_1_B - port map (PADDO=>RD_in_1, Dout1=>Dout(1)); - Din_7_I: Din_7_B - port map (PADDI=>Din_c_7, Din7=>Din(7)); - Din_6_I: Din_6_B - port map (PADDI=>Din_c_6, Din6=>Din(6)); - Din_5_I: Din_5_B - port map (PADDI=>Din_c_5, Din5=>Din(5)); - Din_4_I: Din_4_B - port map (PADDI=>Din_c_4, Din4=>Din(4)); - Din_3_I: Din_3_B - port map (PADDI=>Din_c_3, Din3=>Din(3)); - Din_2_I: Din_2_B - port map (PADDI=>Din_c_2, Din2=>Din(2)); - Din_1_I: Din_1_B - port map (PADDI=>Din_c_1, Din1=>Din(1)); - Din_0_I: Din_0_B - port map (PADDI=>Din_c_0, Din0=>Din(0)); - CROW_1_I: CROW_1_B - port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); - CROW_0_I: CROW_0_B - port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); - MAin_9_I: MAin_9_B - port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); - MAin_8_I: MAin_8_B - port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); - MAin_7_I: MAin_7_B - port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); - MAin_6_I: MAin_6_B - port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); - MAin_5_I: MAin_5_B - port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); - MAin_4_I: MAin_4_B - port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); - MAin_3_I: MAin_3_B - port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); - MAin_2_I: MAin_2_B - port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); - MAin_1_I: MAin_1_B - port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); - MAin_0_I: MAin_0_B - port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); - VHI_INST: VHI - port map (Z=>VCCI); - PUR_INST: PUR - port map (PUR=>VCCI); - GSR_INST: GSR - port map (GSR=>VCCI); - VLO_INST: VLO - port map (Z=>GNDI_TSALL); - TSALL_INST: TSALL - port map (TSALL=>GNDI_TSALL); - end Structure; - - - - library IEEE, vital2000, MACHXO; - configuration Structure_CON of RAM2GS is - for Structure - end for; - end Structure_CON; - - + +-- VHDL netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +-- ldbanno -n VHDL -o RAM2GS_LCMXO640C_impl1_vho.vho -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd +-- Netlist created on Sat Aug 19 20:57:13 2023 +-- Netlist written on Sat Aug 19 20:57:26 2023 +-- Design is for device LCMXO640C +-- Design is for package TQFP100 +-- Design is for performance grade 3 + +-- entity vmuxregsre + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre : ENTITY IS TRUE; + + end vmuxregsre; + + architecture Structure of vmuxregsre is + component FL1P3DX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3DX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity vcc + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vcc is + port (PWR1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vcc : ENTITY IS TRUE; + + end vcc; + + architecture Structure of vcc is + component VHI + port (Z: out Std_logic); + end component; + begin + INST1: VHI + port map (Z=>PWR1); + end Structure; + +-- entity gnd + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity gnd is + port (PWR0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF gnd : ENTITY IS TRUE; + + end gnd; + + architecture Structure of gnd is + component VLO + port (Z: out Std_logic); + end component; + begin + INST1: VLO + port map (Z=>PWR0); + end Structure; + +-- entity ccu2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu2B is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu2B : ENTITY IS TRUE; + + end ccu2B; + + architecture Structure of ccu2B is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x300a", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_0 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_0 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_0"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_0 : ENTITY IS TRUE; + + end SLICE_0; + + architecture Structure of SLICE_0 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_0_FS_cry_0_0_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_0_FS_cry_0_0_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_1: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_0: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_0_FS_cry_0_0_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_0: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>VCCI, S0=>SLICE_0_FS_cry_0_0_S0, + S1=>SLICE_0_FS_cry_0_0_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, Q0_out, Q1_out, FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity ccu20001 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity ccu20001 is + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF ccu20001 : ENTITY IS TRUE; + + end ccu20001; + + architecture Structure of ccu20001 is + component CCU2 + generic (INIT0: String; INIT1: String; INJECT1_0: String; + INJECT1_1: String); + port (CIN: in Std_logic; A0: in Std_logic; B0: in Std_logic; + C0: in Std_logic; D0: in Std_logic; A1: in Std_logic; + B1: in Std_logic; C1: in Std_logic; D1: in Std_logic; + S0: out Std_logic; S1: out Std_logic; COUT0: out Std_logic; + COUT1: out Std_logic); + end component; + begin + inst1: CCU2 + generic map (INIT0 => "0x300a", INIT1 => "0x5002", INJECT1_0 => "NO", + INJECT1_1 => "NO") + port map (CIN=>CI, A0=>A0, B0=>B0, C0=>C0, D0=>D0, A1=>A1, B1=>B1, + C1=>C1, D1=>D1, S0=>S0, S1=>S1, COUT0=>CO0, COUT1=>CO1); + end Structure; + +-- entity SLICE_1 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_1 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_1"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_1 : ENTITY IS TRUE; + + end SLICE_1; + + architecture Structure of SLICE_1 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_1_FS_cry_0_16_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_1_FS_cry_0_16_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu20001 + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_17: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_16: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_1_FS_cry_0_16_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_16: ccu20001 + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_1_FS_cry_0_16_S0, + S1=>SLICE_1_FS_cry_0_16_S1, CO0=>open, CO1=>open); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_2 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_2"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_2 : ENTITY IS TRUE; + + end SLICE_2; + + architecture Structure of SLICE_2 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_2_FS_cry_0_14_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_2_FS_cry_0_14_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_15: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_14: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_2_FS_cry_0_14_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_14: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_2_FS_cry_0_14_S0, + S1=>SLICE_2_FS_cry_0_14_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_3 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_3 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_3"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_3 : ENTITY IS TRUE; + + end SLICE_3; + + architecture Structure of SLICE_3 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_3_FS_cry_0_12_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_3_FS_cry_0_12_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_13: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_12: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_3_FS_cry_0_12_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_12: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_3_FS_cry_0_12_S0, + S1=>SLICE_3_FS_cry_0_12_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_4 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_4"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_4 : ENTITY IS TRUE; + + end SLICE_4; + + architecture Structure of SLICE_4 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_4_FS_cry_0_10_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_4_FS_cry_0_10_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_11: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_10: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_4_FS_cry_0_10_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_10: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_4_FS_cry_0_10_S0, + S1=>SLICE_4_FS_cry_0_10_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_5 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_5 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_5"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_5 : ENTITY IS TRUE; + + end SLICE_5; + + architecture Structure of SLICE_5 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_5_FS_cry_0_8_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_5_FS_cry_0_8_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_9: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_8: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_5_FS_cry_0_8_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_8: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_5_FS_cry_0_8_S0, + S1=>SLICE_5_FS_cry_0_8_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_6 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_6 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_6"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_6 : ENTITY IS TRUE; + + end SLICE_6; + + architecture Structure of SLICE_6 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_6_FS_cry_0_6_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_6_FS_cry_0_6_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_7: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_6: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_6_FS_cry_0_6_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_6: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_6_FS_cry_0_6_S0, + S1=>SLICE_6_FS_cry_0_6_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_7 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_7 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_7"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_7 : ENTITY IS TRUE; + + end SLICE_7; + + architecture Structure of SLICE_7 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_7_FS_cry_0_4_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_7_FS_cry_0_4_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_5: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_4: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_7_FS_cry_0_4_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_4: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_7_FS_cry_0_4_S0, + S1=>SLICE_7_FS_cry_0_4_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_8 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_8 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_8"; + + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tipd_FCI : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_FCO : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_FCI_FCO : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_A1_CLK : VitalDelayType := 0 ns; + tsetup_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_A0_CLK : VitalDelayType := 0 ns; + tsetup_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_A0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_FCI_CLK : VitalDelayType := 0 ns; + tsetup_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_FCI_CLK_noedge_posedge : VitalDelayType := 0 ns); + + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_8 : ENTITY IS TRUE; + + end SLICE_8; + + architecture Structure of SLICE_8 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal A1_ipd : std_logic := 'X'; + signal A1_dly : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal A0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal FCI_ipd : std_logic := 'X'; + signal FCI_dly : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + signal FCO_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal SLICE_8_FS_cry_0_2_S1: Std_logic; + signal GNDI: Std_logic; + signal SLICE_8_FS_cry_0_2_S0: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component ccu2B + port (A0: in Std_logic; B0: in Std_logic; C0: in Std_logic; + D0: in Std_logic; A1: in Std_logic; B1: in Std_logic; + C1: in Std_logic; D1: in Std_logic; CI: in Std_logic; + S0: out Std_logic; S1: out Std_logic; CO0: out Std_logic; + CO1: out Std_logic); + end component; + begin + FS_3: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S1, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + FS_2: vmuxregsre + port map (D0=>VCCI, D1=>SLICE_8_FS_cry_0_2_S0, SD=>VCCI, SP=>VCCI, + CK=>CLK_dly, LSR=>GNDI, Q=>Q0_out); + FS_cry_0_2: ccu2B + port map (A0=>A0_dly, B0=>GNDI, C0=>GNDI, D0=>GNDI, A1=>A1_dly, B1=>GNDI, + C1=>GNDI, D1=>GNDI, CI=>FCI_dly, S0=>SLICE_8_FS_cry_0_2_S0, + S1=>SLICE_8_FS_cry_0_2_S1, CO0=>open, CO1=>FCO_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + VitalWireDelay(FCI_ipd, FCI, tipd_FCI); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(A1_dly, A1_ipd, tisd_A1_CLK); + VitalSignalDelay(A0_dly, A0_ipd, tisd_A0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + VitalSignalDelay(FCI_dly, FCI_ipd, tisd_FCI_CLK); + END BLOCK; + + VitalBehavior : PROCESS (A1_dly, A0_dly, CLK_dly, FCI_dly, Q0_out, Q1_out, + FCO_out) + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + VARIABLE FCO_zd : std_logic := 'X'; + VARIABLE FCO_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_A1_CLK : x01 := '0'; + VARIABLE A1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_A0_CLK : x01 := '0'; + VARIABLE A0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_FCI_CLK : x01 := '0'; + VARIABLE FCI_CLK_TimingDatash : VitalTimingDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => A1_dly, + TestSignalName => "A1", + TestDelay => tisd_A1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A1_CLK_noedge_posedge, + SetupLow => tsetup_A1_CLK_noedge_posedge, + HoldHigh => thold_A1_CLK_noedge_posedge, + HoldLow => thold_A1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A1_CLK_TimingDatash, + Violation => tviol_A1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => A0_dly, + TestSignalName => "A0", + TestDelay => tisd_A0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_A0_CLK_noedge_posedge, + SetupLow => tsetup_A0_CLK_noedge_posedge, + HoldHigh => thold_A0_CLK_noedge_posedge, + HoldLow => thold_A0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => A0_CLK_TimingDatash, + Violation => tviol_A0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => FCI_dly, + TestSignalName => "FCI", + TestDelay => tisd_FCI_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_FCI_CLK_noedge_posedge, + SetupLow => tsetup_FCI_CLK_noedge_posedge, + HoldHigh => thold_FCI_CLK_noedge_posedge, + HoldLow => thold_FCI_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => FCI_CLK_TimingDatash, + Violation => tviol_FCI_CLK, + MsgSeverity => warning); + + END IF; + + Q0_zd := Q0_out; + Q1_zd := Q1_out; + FCO_zd := FCO_out; + + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => FCO, OutSignalName => "FCO", OutTemp => FCO_zd, + Paths => (0 => (InputChangeTime => A1_dly'last_event, + PathDelay => tpd_A1_FCO, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_dly'last_event, + PathDelay => tpd_A0_FCO, + PathCondition => TRUE), + 2 => (InputChangeTime => FCI_dly'last_event, + PathDelay => tpd_FCI_FCO, + PathCondition => TRUE)), + GlitchData => FCO_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut4 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut4 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut4 : ENTITY IS TRUE; + + end lut4; + + architecture Structure of lut4 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40002 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40002 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40002 : ENTITY IS TRUE; + + end lut40002; + + architecture Structure of lut40002 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4544") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity inverter + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity inverter is + port (I: in Std_logic; Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF inverter : ENTITY IS TRUE; + + end inverter; + + architecture Structure of inverter is + component INV + port (A: in Std_logic; Z: out Std_logic); + end component; + begin + INST1: INV + port map (A=>I, Z=>Z); + end Structure; + +-- entity SLICE_9 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_9 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_9"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_9 : ENTITY IS TRUE; + + end SLICE_9; + + architecture Structure of SLICE_9 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut4 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40002 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2: lut4 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + ADSubmitted_r: lut40002 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + ADSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40003 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40003 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40003 : ENTITY IS TRUE; + + end lut40003; + + architecture Structure of lut40003 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40004 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40004 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40004 : ENTITY IS TRUE; + + end lut40004; + + architecture Structure of lut40004 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF2A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_14 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_14 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_14"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_14 : ENTITY IS TRUE; + + end SLICE_14; + + architecture Structure of SLICE_14 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40003 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40004 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2: lut40003 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + C1Submitted_RNO: lut40004 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + C1Submitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40005 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40005 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40005 : ENTITY IS TRUE; + + end lut40005; + + architecture Structure of lut40005 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40006 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40006 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40006 : ENTITY IS TRUE; + + end lut40006; + + architecture Structure of lut40006 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF5F5") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0007 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0007 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0007 : ENTITY IS TRUE; + + end vmuxregsre0007; + + architecture Structure of vmuxregsre0007 is + component FL1P3IY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; CD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3IY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, CD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_19 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_19 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_19"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_19 : ENTITY IS TRUE; + + end SLICE_19; + + architecture Structure of SLICE_19 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40005 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40006 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3_2: lut40005 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + S_RNO_0: lut40006 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, A0_ipd, + DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40008 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40008 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40008 : ENTITY IS TRUE; + + end lut40008; + + architecture Structure of lut40008 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40009 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40009 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40009 : ENTITY IS TRUE; + + end lut40009; + + architecture Structure of lut40009 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEA22") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity selmux2 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity selmux2 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF selmux2 : ENTITY IS TRUE; + + end selmux2; + + architecture Structure of selmux2 is + component MUX21 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + INST1: MUX21 + port map (D0=>D0, D1=>D1, SD=>SD, Z=>Z); + end Structure; + +-- entity SLICE_20 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_20 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_20"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_20 : ENTITY IS TRUE; + + end SLICE_20; + + architecture Structure of SLICE_20 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal SLICE_20_SLICE_20_K1_H1: Std_logic; + signal SLICE_20_CmdEnable_s_GATE_H0: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40008 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40009 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + begin + SLICE_20_K1: lut40008 + port map (A=>A1_ipd, B=>GNDI, C=>GNDI, D=>D1_ipd, + Z=>SLICE_20_SLICE_20_K1_H1); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable_s_GATE: lut40009 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>SLICE_20_CmdEnable_s_GATE_H0); + CmdEnable: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + SLICE_20_K0K1MUX: selmux2 + port map (D0=>SLICE_20_CmdEnable_s_GATE_H0, D1=>SLICE_20_SLICE_20_K1_H1, + SD=>M0_ipd, Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + DI0_dly, M0_ipd, CLK_dly, OFX0_out, Q0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + OFX0_zd := OFX0_out; + Q0_zd := Q0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40010 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40010 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40010 : ENTITY IS TRUE; + + end lut40010; + + architecture Structure of lut40010 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0300") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40011 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40011 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40011 : ENTITY IS TRUE; + + end lut40011; + + architecture Structure of lut40011 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1011") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_21 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_21 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_21"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_21 : ENTITY IS TRUE; + + end SLICE_21; + + architecture Structure of SLICE_21 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40010 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40011 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_a2_2: lut40010 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_RNO: lut40011 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdLEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40012 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40012 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40012 : ENTITY IS TRUE; + + end lut40012; + + architecture Structure of lut40012 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40013 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40013 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40013 : ENTITY IS TRUE; + + end lut40013; + + architecture Structure of lut40013 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFAA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_22 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_22 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_22"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_22 : ENTITY IS TRUE; + + end SLICE_22; + + architecture Structure of SLICE_22 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40012 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2: lut40012 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_RNO: lut40013 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdSubmitted: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40014 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40014 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40014 : ENTITY IS TRUE; + + end lut40014; + + architecture Structure of lut40014 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x33AB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40015 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40015 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40015 : ENTITY IS TRUE; + + end lut40015; + + architecture Structure of lut40015 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0F05") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_26 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_26 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_26"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_26 : ENTITY IS TRUE; + + end SLICE_26; + + architecture Structure of SLICE_26 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40014 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40015 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_0: lut40014 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Cmdn8MEGEN_RNO: lut40015 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Cmdn8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40016 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40016 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40016 : ENTITY IS TRUE; + + end lut40016; + + architecture Structure of lut40016 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCFCE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40017 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40017 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40017 : ENTITY IS TRUE; + + end lut40017; + + architecture Structure of lut40017 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xA9A9") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_29 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_29 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_29"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_29 : ENTITY IS TRUE; + + end SLICE_29; + + architecture Structure of SLICE_29 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40016 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40017 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i: lut40016 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_0: lut40017 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_0: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40018 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40018 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40018 : ENTITY IS TRUE; + + end lut40018; + + architecture Structure of lut40018 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5AF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40019 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40019 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40019 : ENTITY IS TRUE; + + end lut40019; + + architecture Structure of lut40019 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x55AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_30 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_30 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_30"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI1_CLK : VitalDelayType := 0 ns; + tsetup_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_30 : ENTITY IS TRUE; + + end SLICE_30; + + architecture Structure of SLICE_30 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI1_ipd : std_logic := 'X'; + signal DI1_dly : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40018 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40019 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_RNO_2: lut40018 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + IS_n1_0_x2: lut40019 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + IS_2: vmuxregsre + port map (D0=>VCCI, D1=>DI1_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + IS_1: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI1_ipd, DI1, tipd_DI1); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI1_dly, DI1_ipd, tisd_DI1_CLK); + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, A0_ipd, DI1_dly, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI1_CLK : x01 := '0'; + VARIABLE DI1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI1_dly, + TestSignalName => "DI1", + TestDelay => tisd_DI1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI1_CLK_noedge_posedge, + SetupLow => tsetup_DI1_CLK_noedge_posedge, + HoldHigh => thold_DI1_CLK_noedge_posedge, + HoldLow => thold_DI1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI1_CLK_TimingDatash, + Violation => tviol_DI1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40020 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40020 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40020 : ENTITY IS TRUE; + + end lut40020; + + architecture Structure of lut40020 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40021 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40021 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40021 : ENTITY IS TRUE; + + end lut40021; + + architecture Structure of lut40021 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x78F0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_31 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_31 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_31"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_31 : ENTITY IS TRUE; + + end SLICE_31; + + architecture Structure of SLICE_31 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40020 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40021 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RA10_RNO: lut40020 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_RNO_3: lut40021 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + IS_3: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40022 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40022 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40022 : ENTITY IS TRUE; + + end lut40022; + + architecture Structure of lut40022 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0B0F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_32 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_32 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_32"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_32 : ENTITY IS TRUE; + + end SLICE_32; + + architecture Structure of SLICE_32 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40013 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40022 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a0: lut40022 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady_RNO: lut40013 + port map (A=>A0_ipd, B=>GNDI, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, A0_ipd, + DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40023 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40023 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40023 : ENTITY IS TRUE; + + end lut40023; + + architecture Structure of lut40023 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFAFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40024 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40024 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40024 : ENTITY IS TRUE; + + end lut40024; + + architecture Structure of lut40024 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCC55") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_33 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_33 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_33"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_33 : ENTITY IS TRUE; + + end SLICE_33; + + architecture Structure of SLICE_33 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40023 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40024 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + LED_pad_RNO: lut40023 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + LEDEN_5_i_m2: lut40024 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + LEDEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40025 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40025 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40025 : ENTITY IS TRUE; + + end lut40025; + + architecture Structure of lut40025 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3300") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40026 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40026 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40026 : ENTITY IS TRUE; + + end lut40026; + + architecture Structure of lut40026 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBB44") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_39 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_39 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_39"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_39 : ENTITY IS TRUE; + + end SLICE_39; + + architecture Structure of SLICE_39 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40025 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40026 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_0: lut40025 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RA11_2: lut40026 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + RA11: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, B0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40027 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40027 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40027 : ENTITY IS TRUE; + + end lut40027; + + architecture Structure of lut40027 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x75A5") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40028 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40028 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40028 : ENTITY IS TRUE; + + end lut40028; + + architecture Structure of lut40028 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xAAEA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_41 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_41 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_41"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_41 : ENTITY IS TRUE; + + end SLICE_41; + + architecture Structure of SLICE_41 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40027 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40028 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_1_0: lut40027 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKEEN_8_u: lut40028 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40029 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40029 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40029 : ENTITY IS TRUE; + + end lut40029; + + architecture Structure of lut40029 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0008") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40030 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40030 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40030 : ENTITY IS TRUE; + + end lut40030; + + architecture Structure of lut40030 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDCD8") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_42 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_42 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_42"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_42 : ENTITY IS TRUE; + + end SLICE_42; + + architecture Structure of SLICE_42 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40029 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40030 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_5: lut40029 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + RCKE_2_0: lut40030 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKE: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40031 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40031 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40031 : ENTITY IS TRUE; + + end lut40031; + + architecture Structure of lut40031 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x03AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40032 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40032 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40032 : ENTITY IS TRUE; + + end lut40032; + + architecture Structure of lut40032 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF08") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_43 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_43 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_43"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_43 : ENTITY IS TRUE; + + end SLICE_43; + + architecture Structure of SLICE_43 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40031 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40032 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RCKEEN_8_u_RNO: lut40031 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_RNO: lut40032 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + PHI2r3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40033 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40033 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40033 : ENTITY IS TRUE; + + end lut40033; + + architecture Structure of lut40033 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0008") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40034 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40034 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40034 : ENTITY IS TRUE; + + end lut40034; + + architecture Structure of lut40034 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEEEE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_44 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_44 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_44"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_44 : ENTITY IS TRUE; + + end SLICE_44; + + architecture Structure of SLICE_44 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40033 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Ready_0_sqmuxa_0_a3: lut40033 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + Ready_fast_RNO: lut40034 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RASr: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Ready_fast: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40035 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40035 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40035 : ENTITY IS TRUE; + + end lut40035; + + architecture Structure of lut40035 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0500") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40036 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40036 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40036 : ENTITY IS TRUE; + + end lut40036; + + architecture Structure of lut40036 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFAFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_50 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_50 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_50"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_50 : ENTITY IS TRUE; + + end SLICE_50; + + architecture Structure of SLICE_50 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40035 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40036 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_RNO: lut40035 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + S_0_i_o2_1: lut40036 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>GNDI, Z=>F0_out); + S_1: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_NOTIN, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, C0_ipd, A0_ipd, DI0_dly, + LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40037 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40037 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40037 : ENTITY IS TRUE; + + end lut40037; + + architecture Structure of lut40037 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xABFB") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40038 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40038 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40038 : ENTITY IS TRUE; + + end lut40038; + + architecture Structure of lut40038 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0322") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_51 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_51 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_51"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_51 : ENTITY IS TRUE; + + end SLICE_51; + + architecture Structure of SLICE_51 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40037 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40038 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMCLK_RNO_0: lut40037 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMCLK_RNO: lut40038 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40039 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40039 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40039 : ENTITY IS TRUE; + + end lut40039; + + architecture Structure of lut40039 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2F0F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40040 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40040 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40040 : ENTITY IS TRUE; + + end lut40040; + + architecture Structure of lut40040 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5404") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_52 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_52 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_52"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_52 : ENTITY IS TRUE; + + end SLICE_52; + + architecture Structure of SLICE_52 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40039 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40040 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + PHI2r3_RNITCN41: lut40039 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_RNO: lut40040 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RASr3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMSDI: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, M1_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40041 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40041 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40041 : ENTITY IS TRUE; + + end lut40041; + + architecture Structure of lut40041 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBB88") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_55 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_55 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_55"; + + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_55 : ENTITY IS TRUE; + + end SLICE_55; + + architecture Structure of SLICE_55 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_4: lut40041 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D0_ipd, B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, + F0_out, Q0_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40042 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40042 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40042 : ENTITY IS TRUE; + + end lut40042; + + architecture Structure of lut40042 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40043 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40043 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40043 : ENTITY IS TRUE; + + end lut40043; + + architecture Structure of lut40043 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5A0A") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_56 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_56 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_56"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_56 : ENTITY IS TRUE; + + end SLICE_56; + + architecture Structure of SLICE_56 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40042 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40043 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_11: lut40042 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + UFMSDI_ens2_i_o2: lut40043 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + WRD_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40044 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40044 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40044 : ENTITY IS TRUE; + + end lut40044; + + architecture Structure of lut40044 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40045 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40045 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40045 : ENTITY IS TRUE; + + end lut40045; + + architecture Structure of lut40045 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xBAFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_57 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_57 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_57"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_57 : ENTITY IS TRUE; + + end SLICE_57; + + architecture Structure of SLICE_57 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40044 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40045 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + XOR8MEG_3_u_0_a3_2: lut40044 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG_3_u_0_a3_3: lut40045 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + XOR8MEG: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_negedge, + SetupLow => tsetup_DI0_CLK_noedge_negedge, + HoldHigh => thold_DI0_CLK_noedge_negedge, + HoldLow => thold_DI0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40046 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40046 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40046 : ENTITY IS TRUE; + + end lut40046; + + architecture Structure of lut40046 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0005") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40047 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40047 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40047 : ENTITY IS TRUE; + + end lut40047; + + architecture Structure of lut40047 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x88DD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_58 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_58 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_58"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_58 : ENTITY IS TRUE; + + end SLICE_58; + + architecture Structure of SLICE_58 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40046 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40047 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_en_ss0_0_a2_0: lut40046 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + n8MEGEN_5_i_m2: lut40047 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + n8MEGEN: vmuxregsre + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>CE_dly, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + DI0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_posedge, + SetupLow => tsetup_CE_CLK_noedge_posedge, + HoldHigh => thold_CE_CLK_noedge_posedge, + HoldLow => thold_CE_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40048 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40048 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40048 : ENTITY IS TRUE; + + end lut40048; + + architecture Structure of lut40048 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0FDD") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40049 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40049 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40049 : ENTITY IS TRUE; + + end lut40049; + + architecture Structure of lut40049 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0F04") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0050 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0050 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0050 : ENTITY IS TRUE; + + end vmuxregsre0050; + + architecture Structure of vmuxregsre0050 is + component FL1P3BX + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3BX + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_59 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_59 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_59"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_59 : ENTITY IS TRUE; + + end SLICE_59; + + architecture Structure of SLICE_59 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40048 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40049 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0050 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_0: lut40048 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCAS_RNO: lut40049 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCAS: vmuxregsre0050 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40051 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40051 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40051 : ENTITY IS TRUE; + + end lut40051; + + architecture Structure of lut40051 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFC7C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40052 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40052 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40052 : ENTITY IS TRUE; + + end lut40052; + + architecture Structure of lut40052 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3323") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_60 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_60 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_60"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_60 : ENTITY IS TRUE; + + end SLICE_60; + + architecture Structure of SLICE_60 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0050 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40051 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40052 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCS_RNO_0: lut40051 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRCS_RNO: lut40052 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRCS: vmuxregsre0050 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40053 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40053 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40053 : ENTITY IS TRUE; + + end lut40053; + + architecture Structure of lut40053 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00E0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40054 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40054 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40054 : ENTITY IS TRUE; + + end lut40054; + + architecture Structure of lut40054 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3031") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_61 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_61 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_61"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_61 : ENTITY IS TRUE; + + end SLICE_61; + + architecture Structure of SLICE_61 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0050 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40053 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40054 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRRAS_5_u_i_0: lut40053 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRRAS_RNO: lut40054 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRRAS: vmuxregsre0050 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40055 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40055 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40055 : ENTITY IS TRUE; + + end lut40055; + + architecture Structure of lut40055 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40056 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40056 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40056 : ENTITY IS TRUE; + + end lut40056; + + architecture Structure of lut40056 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCDEF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_62 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_62 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_62"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_62 : ENTITY IS TRUE; + + end SLICE_62; + + architecture Structure of SLICE_62 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0050 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40055 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40056 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_0_sqmuxa_1_0_a3: lut40055 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRWE_RNO: lut40056 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRWE: vmuxregsre0050 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40057 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40057 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40057 : ENTITY IS TRUE; + + end lut40057; + + architecture Structure of lut40057 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0040") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40058 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40058 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40058 : ENTITY IS TRUE; + + end lut40058; + + architecture Structure of lut40058 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF60") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_63 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_63 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_63"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_63 : ENTITY IS TRUE; + + end SLICE_63; + + architecture Structure of SLICE_63 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40057 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40058 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRowColSel_0_0_a3_0: lut40057 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nRowColSel_0_0: lut40058 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nRowColSel: vmuxregsre0007 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40059 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40059 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40059 : ENTITY IS TRUE; + + end lut40059; + + architecture Structure of lut40059 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40060 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40060 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40060 : ENTITY IS TRUE; + + end lut40060; + + architecture Structure of lut40060 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDFCE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_64 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_64 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_64"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_DI0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_DI0_CLK : VitalDelayType := 0 ns; + tsetup_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_DI0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_64 : ENTITY IS TRUE; + + end SLICE_64; + + architecture Structure of SLICE_64 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal DI0_ipd : std_logic := 'X'; + signal DI0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component vmuxregsre0050 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40059 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40060 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS15_0_a2: lut40059 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + nUFMCS_s_0_N_5_i: lut40060 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + nUFMCS: vmuxregsre0050 + port map (D0=>VCCI, D1=>DI0_dly, SD=>VCCI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(DI0_ipd, DI0, tipd_DI0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(DI0_dly, DI0_ipd, tisd_DI0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, DI0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_DI0_CLK : x01 := '0'; + VARIABLE DI0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => DI0_dly, + TestSignalName => "DI0", + TestDelay => tisd_DI0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_DI0_CLK_noedge_posedge, + SetupLow => tsetup_DI0_CLK_noedge_posedge, + HoldHigh => thold_DI0_CLK_noedge_posedge, + HoldLow => thold_DI0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => DI0_CLK_TimingDatash, + Violation => tviol_DI0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40061 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40061 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40061 : ENTITY IS TRUE; + + end lut40061; + + architecture Structure of lut40061 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40062 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40062 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40062 : ENTITY IS TRUE; + + end lut40062; + + architecture Structure of lut40062 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity nRWE_RNO_1_SLICE_65 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWE_RNO_1_SLICE_65 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWE_RNO_1_SLICE_65"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_OFX0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_M0_OFX0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWE_RNO_1_SLICE_65 : ENTITY IS TRUE; + + end nRWE_RNO_1_SLICE_65; + + architecture Structure of nRWE_RNO_1_SLICE_65 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal OFX0_out : std_logic := 'X'; + + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1: Std_logic; + signal nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0: Std_logic; + component selmux2 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + Z: out Std_logic); + end component; + component lut40061 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40062 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_1_SLICE_65_K1: lut40061 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1); + nRWE_RNO_1_GATE: lut40062 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, + Z=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0); + nRWE_RNO_1_SLICE_65_K0K1MUX: selmux2 + port map (D0=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_GATE_H0, + D1=>nRWE_RNO_1_SLICE_65_nRWE_RNO_1_SLICE_65_K1_H1, SD=>M0_ipd, + Z=>OFX0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_ipd, OFX0_out) + VARIABLE OFX0_zd : std_logic := 'X'; + VARIABLE OFX0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + OFX0_zd := OFX0_out; + + VitalPathDelay01 ( + OutSignal => OFX0, OutSignalName => "OFX0", OutTemp => OFX0_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_OFX0, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_OFX0, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_OFX0, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_OFX0, + PathCondition => TRUE), + 4 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_OFX0, + PathCondition => TRUE), + 5 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_OFX0, + PathCondition => TRUE), + 6 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_OFX0, + PathCondition => TRUE), + 7 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_OFX0, + PathCondition => TRUE), + 8 => (InputChangeTime => M0_ipd'last_event, + PathDelay => tpd_M0_OFX0, + PathCondition => TRUE)), + GlitchData => OFX0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40063 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40063 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40063 : ENTITY IS TRUE; + + end lut40063; + + architecture Structure of lut40063 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4545") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40064 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40064 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40064 : ENTITY IS TRUE; + + end lut40064; + + architecture Structure of lut40064 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_66 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_66 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_66"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_66 : ENTITY IS TRUE; + + end SLICE_66; + + architecture Structure of SLICE_66 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40063 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40064 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nUFMCS_s_0_N_5_i_N_2L1: lut40063 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_a2_2_2: lut40064 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40065 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40065 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40065 : ENTITY IS TRUE; + + end lut40065; + + architecture Structure of lut40065 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40066 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40066 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40066 : ENTITY IS TRUE; + + end lut40066; + + architecture Structure of lut40066 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0080") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity vmuxregsre0067 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity vmuxregsre0067 is + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + + ATTRIBUTE Vital_Level0 OF vmuxregsre0067 : ENTITY IS TRUE; + + end vmuxregsre0067; + + architecture Structure of vmuxregsre0067 is + component FL1P3JY + generic (GSR: String); + port (D0: in Std_logic; D1: in Std_logic; SP: in Std_logic; + CK: in Std_logic; SD: in Std_logic; PD: in Std_logic; + Q: out Std_logic); + end component; + begin + INST01: FL1P3JY + generic map (GSR => "DISABLED") + port map (D0=>D0, D1=>D1, SP=>SP, CK=>CK, SD=>SD, PD=>LSR, Q=>Q); + end Structure; + +-- entity SLICE_67 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_67 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_67"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_67 : ENTITY IS TRUE; + + end SLICE_67; + + architecture Structure of SLICE_67 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40065 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40066 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component vmuxregsre0067 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + begin + CmdUFMCLK_1_sqmuxa_0_a2: lut40065 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + XOR8MEG18_0_a2: lut40066 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_5: vmuxregsre0067 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_4: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, + Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40068 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40068 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40068 : ENTITY IS TRUE; + + end lut40068; + + architecture Structure of lut40068 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40069 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40069 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40069 : ENTITY IS TRUE; + + end lut40069; + + architecture Structure of lut40069 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFF80") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_68 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_68 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_68"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_68 : ENTITY IS TRUE; + + end SLICE_68; + + architecture Structure of SLICE_68 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40068 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40069 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_14_i_a2_0_1: lut40068 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_14_i_0: lut40069 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40070 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40070 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40070 : ENTITY IS TRUE; + + end lut40070; + + architecture Structure of lut40070 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0002") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40071 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40071 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40071 : ENTITY IS TRUE; + + end lut40071; + + architecture Structure of lut40071 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xECCC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_69 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_69 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_69"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_69 : ENTITY IS TRUE; + + end SLICE_69; + + architecture Structure of SLICE_69 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40070 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40071 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_FS_13_i_a2_1: lut40070 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_0: lut40071 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40072 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40072 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40072 : ENTITY IS TRUE; + + end lut40072; + + architecture Structure of lut40072 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40073 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40073 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40073 : ENTITY IS TRUE; + + end lut40073; + + architecture Structure of lut40073 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xC0C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_70 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_70 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_70"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_70 : ENTITY IS TRUE; + + end SLICE_70; + + architecture Structure of SLICE_70 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40072 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40073 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0: lut40072 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2: lut40073 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, C0_ipd, B0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40074 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40074 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40074 : ENTITY IS TRUE; + + end lut40074; + + architecture Structure of lut40074 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40075 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40075 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40075 : ENTITY IS TRUE; + + end lut40075; + + architecture Structure of lut40075 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_71 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_71 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_71"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_71 : ENTITY IS TRUE; + + end SLICE_71; + + architecture Structure of SLICE_71 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40074 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40075 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_4: lut40074 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + C1WR_0_a2_0_10: lut40075 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Bank_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40076 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40076 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40076 : ENTITY IS TRUE; + + end lut40076; + + architecture Structure of lut40076 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40077 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40077 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40077 : ENTITY IS TRUE; + + end lut40077; + + architecture Structure of lut40077 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF808") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_72 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_72 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_72"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_72 : ENTITY IS TRUE; + + end SLICE_72; + + architecture Structure of SLICE_72 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40076 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40077 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0: lut40076 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + UFMCLK_r_i_m2: lut40077 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_3: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_2: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40078 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40078 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40078 : ENTITY IS TRUE; + + end lut40078; + + architecture Structure of lut40078 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFDF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_73 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_73 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_73"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_73 : ENTITY IS TRUE; + + end SLICE_73; + + architecture Structure of SLICE_73 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40034 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40078 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0: lut40078 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + IS_0_sqmuxa_0_o2: lut40034 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>GNDI, Z=>F0_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdUFMCS: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CmdUFMCLK: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40079 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40079 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40079 : ENTITY IS TRUE; + + end lut40079; + + architecture Structure of lut40079 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCC00") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40080 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40080 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40080 : ENTITY IS TRUE; + + end lut40080; + + architecture Structure of lut40080 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_74 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_74 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_74"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CE : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_CE_CLK : VitalDelayType := 0 ns; + tsetup_CE_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_CE_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_74 : ENTITY IS TRUE; + + end SLICE_74; + + architecture Structure of SLICE_74 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CE_ipd : std_logic := 'X'; + signal CE_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40079 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40080 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + InitReady3_0_a2_3: lut40079 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + InitReady3_0_a2: lut40080 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CmdUFMSDI: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>CE_dly, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CE_ipd, CE, tipd_CE); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CE_dly, CE_ipd, tisd_CE_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M0_dly, CE_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CE_CLK : x01 := '0'; + VARIABLE CE_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => CE_dly, + TestSignalName => "CE", + TestDelay => tisd_CE_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_CE_CLK_noedge_negedge, + SetupLow => tsetup_CE_CLK_noedge_negedge, + HoldHigh => thold_CE_CLK_noedge_negedge, + HoldLow => thold_CE_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => CE_CLK_TimingDatash, + Violation => tviol_CE_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40081 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40081 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40081 : ENTITY IS TRUE; + + end lut40081; + + architecture Structure of lut40081 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xEFEF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40082 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40082 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40082 : ENTITY IS TRUE; + + end lut40082; + + architecture Structure of lut40082 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0005") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_75 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_75 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_75"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_75 : ENTITY IS TRUE; + + end SLICE_75; + + architecture Structure of SLICE_75 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40081 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40082 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + Cmdn8MEGEN_4_u_i_o2_0: lut40081 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdLEDEN_4_u_i_a2_0: lut40082 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr2: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CASr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40083 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40083 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40083 : ENTITY IS TRUE; + + end lut40083; + + architecture Structure of lut40083 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00CC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40084 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40084 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40084 : ENTITY IS TRUE; + + end lut40084; + + architecture Structure of lut40084 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0010") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_76 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_76 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_76"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_76 : ENTITY IS TRUE; + + end SLICE_76; + + architecture Structure of SLICE_76 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40083 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40084 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_4: lut40083 + port map (A=>GNDI, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_4_0: lut40084 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_5: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_4: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40085 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40085 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40085 : ENTITY IS TRUE; + + end lut40085; + + architecture Structure of lut40085 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5050") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40086 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40086 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40086 : ENTITY IS TRUE; + + end lut40086; + + architecture Structure of lut40086 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x4000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_77 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_77 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_77"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_77 : ENTITY IS TRUE; + + end SLICE_77; + + architecture Structure of SLICE_77 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40085 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40086 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable16_0_a2_1: lut40085 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable16_0_a2_5: lut40086 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + Bank_7: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + Bank_6: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_posedge, + SetupLow => tsetup_M1_CLK_noedge_posedge, + HoldHigh => thold_M1_CLK_noedge_posedge, + HoldLow => thold_M1_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40087 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40087 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40087 : ENTITY IS TRUE; + + end lut40087; + + architecture Structure of lut40087 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3F3F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40088 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40088 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40088 : ENTITY IS TRUE; + + end lut40088; + + architecture Structure of lut40088 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0200") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_78 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_78 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_78"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_78 : ENTITY IS TRUE; + + end SLICE_78; + + architecture Structure of SLICE_78 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40087 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40088 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_o2: lut40087 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CmdEnable17_0_a2_4: lut40088 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CBR_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + CBR: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40089 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40089 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40089 : ENTITY IS TRUE; + + end lut40089; + + architecture Structure of lut40089 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00C0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40090 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40090 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40090 : ENTITY IS TRUE; + + end lut40090; + + architecture Structure of lut40090 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x2000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_79 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_79 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_79"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_79 : ENTITY IS TRUE; + + end SLICE_79; + + architecture Structure of SLICE_79 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40089 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40090 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRWE_RNO_2: lut40089 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRWE_RNO_0: lut40090 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_1: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_0: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40091 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40091 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40091 : ENTITY IS TRUE; + + end lut40091; + + architecture Structure of lut40091 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x3030") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40092 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40092 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40092 : ENTITY IS TRUE; + + end lut40092; + + architecture Structure of lut40092 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0805") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_80 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_80 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_80"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_80 : ENTITY IS TRUE; + + end SLICE_80; + + architecture Structure of SLICE_80 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vmuxregsre0067 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40091 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40092 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + nRCAS_RNO_1: lut40091 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nRCAS_RNO_0: lut40092 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_9: vmuxregsre0067 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_8: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40093 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40093 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40093 : ENTITY IS TRUE; + + end lut40093; + + architecture Structure of lut40093 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40094 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40094 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40094 : ENTITY IS TRUE; + + end lut40094; + + architecture Structure of lut40094 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x8000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_81 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_81 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_81"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_81 : ENTITY IS TRUE; + + end SLICE_81; + + architecture Structure of SLICE_81 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal M1_NOTIN: Std_logic; + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal M0_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40093 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40094 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_o2_0_3: lut40093 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + InitReady3_0_a2_5: lut40094 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + FWEr_fast: vmuxregsre + port map (D0=>M1_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + M1_INVERTERIN: inverter + port map (I=>M1_dly, Z=>M1_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + FWEr: vmuxregsre + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40095 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40095 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40095 : ENTITY IS TRUE; + + end lut40095; + + architecture Structure of lut40095 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0E0C") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40096 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40096 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40096 : ENTITY IS TRUE; + + end lut40096; + + architecture Structure of lut40096 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x1030") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_82 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_82 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_82"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_82 : ENTITY IS TRUE; + + end SLICE_82; + + architecture Structure of SLICE_82 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40095 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40096 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdLEDEN_4_u_i_a2: lut40095 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + CmdSubmitted_1_sqmuxa_0_a2: lut40096 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + CASr3: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>GNDI, Q=>Q0_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M0_dly, CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40097 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40097 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40097 : ENTITY IS TRUE; + + end lut40097; + + architecture Structure of lut40097 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFEFE") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40098 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40098 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40098 : ENTITY IS TRUE; + + end lut40098; + + architecture Structure of lut40098 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5FFF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_83 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_83 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_83"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_83 : ENTITY IS TRUE; + + end SLICE_83; + + architecture Structure of SLICE_83 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40097 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40098 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_nRCAS_6_sqmuxa_i_o2: lut40097 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + Ready_0_sqmuxa_0_o2: lut40098 + port map (A=>A0_ipd, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RBA_1: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RBA_0: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, A0_ipd, + M1_dly, M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40099 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40099 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40099 : ENTITY IS TRUE; + + end lut40099; + + architecture Structure of lut40099 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0008") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40100 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40100 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40100 : ENTITY IS TRUE; + + end lut40100; + + architecture Structure of lut40100 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0004") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_84 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_84 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_84"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_84 : ENTITY IS TRUE; + + end SLICE_84; + + architecture Structure of SLICE_84 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + component lut40099 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40100 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_ens2_i_a2_4_2: lut40099 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_FS_13_i_a2_6: lut40100 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40101 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40101 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40101 : ENTITY IS TRUE; + + end lut40101; + + architecture Structure of lut40101 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0020") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40102 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40102 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40102 : ENTITY IS TRUE; + + end lut40102; + + architecture Structure of lut40102 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0001") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_85 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_85 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_85"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_85 : ENTITY IS TRUE; + + end SLICE_85; + + architecture Structure of SLICE_85 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal VCCI: Std_logic; + signal GNDI: Std_logic; + signal CLK_NOTIN: Std_logic; + component vmuxregsre + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component lut40101 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40102 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + CmdEnable17_0_a2_3: lut40101 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + un1_Din_4: lut40102 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + WRD_3: vmuxregsre + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + DRIVEGND: gnd + port map (PWR0=>GNDI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + WRD_2: vmuxregsre + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>GNDI, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, + B0_ipd, A0_ipd, M1_dly, M0_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 3 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40103 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40103 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40103 : ENTITY IS TRUE; + + end lut40103; + + architecture Structure of lut40103 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x5F5F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40104 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40104 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40104 : ENTITY IS TRUE; + + end lut40104; + + architecture Structure of lut40104 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xE4E4") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_86 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_86 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_86"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_86 : ENTITY IS TRUE; + + end SLICE_86; + + architecture Structure of SLICE_86 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40103 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40104 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQML: lut40103 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_9: lut40104 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>GNDI, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, A1_ipd, C0_ipd, B0_ipd, A0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40105 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40105 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40105 : ENTITY IS TRUE; + + end lut40105; + + architecture Structure of lut40105 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x00FC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40106 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40106 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40106 : ENTITY IS TRUE; + + end lut40106; + + architecture Structure of lut40106 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0800") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_87 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_87 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_87"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_87 : ENTITY IS TRUE; + + end SLICE_87; + + architecture Structure of SLICE_87 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40105 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40106 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + UFMSDI_RNO_0: lut40105 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un1_FS_13_i_a2_8: lut40106 + port map (A=>A0_ipd, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + A0_ipd, F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 3 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40107 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40107 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40107 : ENTITY IS TRUE; + + end lut40107; + + architecture Structure of lut40107 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x0808") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40108 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40108 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40108 : ENTITY IS TRUE; + + end lut40108; + + architecture Structure of lut40108 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xFFF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_88 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_88 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_88"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q1 : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns; + ticd_CLK : VitalDelayType := 0 ns; + tisd_M1_CLK : VitalDelayType := 0 ns; + tsetup_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M1_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_negedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_negedge : VitalDelayType := 0 ns); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_88 : ENTITY IS TRUE; + + end SLICE_88; + + architecture Structure of SLICE_88 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal M1_ipd : std_logic := 'X'; + signal M1_dly : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + signal Q1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal VCCI: Std_logic; + signal CLK_NOTIN: Std_logic; + signal LSR_NOTIN: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0007 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40107 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40108 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + C1WR_0_a2_0_3: lut40107 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + nCCAS_pad_RNI01SJ: lut40108 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RowA_7: vmuxregsre0007 + port map (D0=>M1_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q1_out); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + CLK_INVERTERIN: inverter + port map (I=>CLK_dly, Z=>CLK_NOTIN); + LSR_INVERTERIN: inverter + port map (I=>LSR_dly, Z=>LSR_NOTIN); + RowA_6: vmuxregsre0007 + port map (D0=>M0_dly, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_NOTIN, + LSR=>LSR_NOTIN, Q=>Q0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(M1_ipd, M1, tipd_M1); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M1_dly, M1_ipd, tisd_M1_CLK); + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, C0_ipd, M1_dly, + M0_dly, LSR_dly, CLK_dly, F0_out, Q0_out, F1_out, Q1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + VARIABLE Q1_zd : std_logic := 'X'; + VARIABLE Q1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M1_CLK : x01 := '0'; + VARIABLE M1_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M1_dly, + TestSignalName => "M1", + TestDelay => tisd_M1_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M1_CLK_noedge_negedge, + SetupLow => tsetup_M1_CLK_noedge_negedge, + HoldHigh => thold_M1_CLK_noedge_negedge, + HoldLow => thold_M1_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M1_CLK_TimingDatash, + Violation => tviol_M1_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_negedge, + SetupLow => tsetup_M0_CLK_noedge_negedge, + HoldHigh => thold_M0_CLK_noedge_negedge, + HoldLow => thold_M0_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_negedge, + SetupLow => tsetup_LSR_CLK_noedge_negedge, + HoldHigh => thold_LSR_CLK_noedge_negedge, + HoldLow => thold_LSR_CLK_noedge_negedge, + CheckEnabled => TRUE, + RefTransition => '\', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + Q1_zd := Q1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q1, OutSignalName => "Q1", OutTemp => Q1_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q1, + PathCondition => TRUE)), + GlitchData => Q1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40109 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40109 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40109 : ENTITY IS TRUE; + + end lut40109; + + architecture Structure of lut40109 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF0FF") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40110 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40110 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40110 : ENTITY IS TRUE; + + end lut40110; + + architecture Structure of lut40110 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF0CC") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_89 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_89 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_89"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_89 : ENTITY IS TRUE; + + end SLICE_89; + + architecture Structure of SLICE_89 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40109 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40110 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + RDQMH: lut40109 + port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_8: lut40110 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, D0_ipd, C0_ipd, B0_ipd, F0_out, + F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40111 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40111 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40111 : ENTITY IS TRUE; + + end lut40111; + + architecture Structure of lut40111 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xE0E0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40112 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40112 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40112 : ENTITY IS TRUE; + + end lut40112; + + architecture Structure of lut40112 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xDD88") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_90 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_90 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_90"; + + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_90 : ENTITY IS TRUE; + + end SLICE_90; + + architecture Structure of SLICE_90 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40111 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40112 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un1_CMDWR: lut40111 + port map (A=>A1_ipd, B=>B1_ipd, C=>C1_ipd, D=>GNDI, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_0: lut40112 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (C1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40113 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40113 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40113 : ENTITY IS TRUE; + + end lut40113; + + architecture Structure of lut40113 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCCF0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40114 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40114 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40114 : ENTITY IS TRUE; + + end lut40114; + + architecture Structure of lut40114 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xCFC0") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_91 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_91 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_91"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_91 : ENTITY IS TRUE; + + end SLICE_91; + + architecture Structure of SLICE_91 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40113 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40114 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_7: lut40113 + port map (A=>GNDI, B=>B1_ipd, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_1: lut40114 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, B1_ipd, D0_ipd, C0_ipd, B0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40115 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40115 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40115 : ENTITY IS TRUE; + + end lut40115; + + architecture Structure of lut40115 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF0AA") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_92 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_92 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_92"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_92 : ENTITY IS TRUE; + + end SLICE_92; + + architecture Structure of SLICE_92 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40113 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40115 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_6: lut40115 + port map (A=>A1_ipd, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_2: lut40113 + port map (A=>GNDI, B=>B0_ipd, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, A1_ipd, D0_ipd, C0_ipd, B0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity SLICE_93 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_93 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_93"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_B0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_A0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_B0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_A0_F0 : VitalDelayType01 := (0 ns, 0 ns)); + + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_93 : ENTITY IS TRUE; + + end SLICE_93; + + architecture Structure of SLICE_93 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal B1_ipd : std_logic := 'X'; + signal A1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal B0_ipd : std_logic := 'X'; + signal A0_ipd : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + component gnd + port (PWR0: out Std_logic); + end component; + component lut40041 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + un9_RA_5: lut40041 + port map (A=>A1_ipd, B=>B1_ipd, C=>GNDI, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + un9_RA_3: lut40041 + port map (A=>A0_ipd, B=>B0_ipd, C=>GNDI, D=>D0_ipd, Z=>F0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(B1_ipd, B1, tipd_B1); + VitalWireDelay(A1_ipd, A1, tipd_A1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(B0_ipd, B0, tipd_B0); + VitalWireDelay(A0_ipd, A0, tipd_A0); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, B1_ipd, A1_ipd, D0_ipd, B0_ipd, A0_ipd, + F0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + F0_zd := F0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => B0_ipd'last_event, + PathDelay => tpd_B0_F0, + PathCondition => TRUE), + 2 => (InputChangeTime => A0_ipd'last_event, + PathDelay => tpd_A0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => B1_ipd'last_event, + PathDelay => tpd_B1_F1, + PathCondition => TRUE), + 2 => (InputChangeTime => A1_ipd'last_event, + PathDelay => tpd_A1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity lut40116 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40116 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40116 : ENTITY IS TRUE; + + end lut40116; + + architecture Structure of lut40116 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0x000F") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity lut40117 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity lut40117 is + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + + ATTRIBUTE Vital_Level0 OF lut40117 : ENTITY IS TRUE; + + end lut40117; + + architecture Structure of lut40117 is + component ROM16X1 + generic (initval: String); + port (AD0: in Std_logic; AD1: in Std_logic; AD2: in Std_logic; + AD3: in Std_logic; DO0: out Std_logic); + end component; + begin + INST10: ROM16X1 + generic map (initval => "0xF000") + port map (AD0=>A, AD1=>B, AD2=>C, AD3=>D, DO0=>Z); + end Structure; + +-- entity SLICE_94 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity SLICE_94 is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "SLICE_94"; + + tipd_D1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C1 : VitalDelayType01 := (0 ns, 0 ns); + tipd_D0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_C0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_M0 : VitalDelayType01 := (0 ns, 0 ns); + tipd_LSR : VitalDelayType01 := (0 ns, 0 ns); + tipd_CLK : VitalDelayType01 := (0 ns, 0 ns); + tpd_D1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C1_F1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_D0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_C0_F0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CLK_Q0 : VitalDelayType01 := (0 ns, 0 ns); + ticd_CLK : VitalDelayType := 0 ns; + tisd_M0_CLK : VitalDelayType := 0 ns; + tsetup_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_M0_CLK_noedge_posedge : VitalDelayType := 0 ns; + tisd_LSR_CLK : VitalDelayType := 0 ns; + tsetup_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + thold_LSR_CLK_noedge_posedge : VitalDelayType := 0 ns; + tperiod_CLK : VitalDelayType := 0 ns; + tpw_CLK_posedge : VitalDelayType := 0 ns; + tpw_CLK_negedge : VitalDelayType := 0 ns); + + port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF SLICE_94 : ENTITY IS TRUE; + + end SLICE_94; + + architecture Structure of SLICE_94 is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal D1_ipd : std_logic := 'X'; + signal C1_ipd : std_logic := 'X'; + signal D0_ipd : std_logic := 'X'; + signal C0_ipd : std_logic := 'X'; + signal M0_ipd : std_logic := 'X'; + signal M0_dly : std_logic := 'X'; + signal LSR_ipd : std_logic := 'X'; + signal LSR_dly : std_logic := 'X'; + signal CLK_ipd : std_logic := 'X'; + signal CLK_dly : std_logic := 'X'; + signal F0_out : std_logic := 'X'; + signal Q0_out : std_logic := 'X'; + signal F1_out : std_logic := 'X'; + + signal GNDI: Std_logic; + signal M0_NOTIN: Std_logic; + signal VCCI: Std_logic; + component vcc + port (PWR1: out Std_logic); + end component; + component gnd + port (PWR0: out Std_logic); + end component; + component inverter + port (I: in Std_logic; Z: out Std_logic); + end component; + component vmuxregsre0067 + port (D0: in Std_logic; D1: in Std_logic; SD: in Std_logic; + SP: in Std_logic; CK: in Std_logic; LSR: in Std_logic; + Q: out Std_logic); + end component; + component lut40116 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + component lut40117 + port (A: in Std_logic; B: in Std_logic; C: in Std_logic; D: in Std_logic; + Z: out Std_logic); + end component; + begin + IS_0_sqmuxa_0_o2_0_RNIS63D: lut40116 + port map (A=>GNDI, B=>GNDI, C=>C1_ipd, D=>D1_ipd, Z=>F1_out); + DRIVEGND: gnd + port map (PWR0=>GNDI); + RCKEEN_8_u_0_a2_1_s: lut40117 + port map (A=>GNDI, B=>GNDI, C=>C0_ipd, D=>D0_ipd, Z=>F0_out); + RA10: vmuxregsre0067 + port map (D0=>M0_NOTIN, D1=>VCCI, SD=>GNDI, SP=>VCCI, CK=>CLK_dly, + LSR=>LSR_dly, Q=>Q0_out); + M0_INVERTERIN: inverter + port map (I=>M0_dly, Z=>M0_NOTIN); + DRIVEVCC: vcc + port map (PWR1=>VCCI); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(D1_ipd, D1, tipd_D1); + VitalWireDelay(C1_ipd, C1, tipd_C1); + VitalWireDelay(D0_ipd, D0, tipd_D0); + VitalWireDelay(C0_ipd, C0, tipd_C0); + VitalWireDelay(M0_ipd, M0, tipd_M0); + VitalWireDelay(LSR_ipd, LSR, tipd_LSR); + VitalWireDelay(CLK_ipd, CLK, tipd_CLK); + END BLOCK; + + -- Setup and Hold DELAYs + SignalDelay : BLOCK + BEGIN + VitalSignalDelay(M0_dly, M0_ipd, tisd_M0_CLK); + VitalSignalDelay(LSR_dly, LSR_ipd, tisd_LSR_CLK); + VitalSignalDelay(CLK_dly, CLK_ipd, ticd_CLK); + END BLOCK; + + VitalBehavior : PROCESS (D1_ipd, C1_ipd, D0_ipd, C0_ipd, M0_dly, LSR_dly, + CLK_dly, F0_out, Q0_out, F1_out) + VARIABLE F0_zd : std_logic := 'X'; + VARIABLE F0_GlitchData : VitalGlitchDataType; + VARIABLE Q0_zd : std_logic := 'X'; + VARIABLE Q0_GlitchData : VitalGlitchDataType; + VARIABLE F1_zd : std_logic := 'X'; + VARIABLE F1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_M0_CLK : x01 := '0'; + VARIABLE M0_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_LSR_CLK : x01 := '0'; + VARIABLE LSR_CLK_TimingDatash : VitalTimingDataType; + VARIABLE tviol_CLK_CLK : x01 := '0'; + VARIABLE periodcheckinfo_CLK : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalSetupHoldCheck ( + TestSignal => M0_dly, + TestSignalName => "M0", + TestDelay => tisd_M0_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_M0_CLK_noedge_posedge, + SetupLow => tsetup_M0_CLK_noedge_posedge, + HoldHigh => thold_M0_CLK_noedge_posedge, + HoldLow => thold_M0_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => M0_CLK_TimingDatash, + Violation => tviol_M0_CLK, + MsgSeverity => warning); + VitalSetupHoldCheck ( + TestSignal => LSR_dly, + TestSignalName => "LSR", + TestDelay => tisd_LSR_CLK, + RefSignal => CLK_dly, + RefSignalName => "CLK", + RefDelay => ticd_CLK, + SetupHigh => tsetup_LSR_CLK_noedge_posedge, + SetupLow => tsetup_LSR_CLK_noedge_posedge, + HoldHigh => thold_LSR_CLK_noedge_posedge, + HoldLow => thold_LSR_CLK_noedge_posedge, + CheckEnabled => TRUE, + RefTransition => '/', + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + TimingData => LSR_CLK_TimingDatash, + Violation => tviol_LSR_CLK, + MsgSeverity => warning); + VitalPeriodPulseCheck ( + TestSignal => CLK_ipd, + TestSignalName => "CLK", + Period => tperiod_CLK, + PulseWidthHigh => tpw_CLK_posedge, + PulseWidthLow => tpw_CLK_negedge, + PeriodData => periodcheckinfo_CLK, + Violation => tviol_CLK_CLK, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + F0_zd := F0_out; + Q0_zd := Q0_out; + F1_zd := F1_out; + + VitalPathDelay01 ( + OutSignal => F0, OutSignalName => "F0", OutTemp => F0_zd, + Paths => (0 => (InputChangeTime => D0_ipd'last_event, + PathDelay => tpd_D0_F0, + PathCondition => TRUE), + 1 => (InputChangeTime => C0_ipd'last_event, + PathDelay => tpd_C0_F0, + PathCondition => TRUE)), + GlitchData => F0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => Q0, OutSignalName => "Q0", OutTemp => Q0_zd, + Paths => (0 => (InputChangeTime => CLK_dly'last_event, + PathDelay => tpd_CLK_Q0, + PathCondition => TRUE)), + GlitchData => Q0_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01 ( + OutSignal => F1, OutSignalName => "F1", OutTemp => F1_zd, + Paths => (0 => (InputChangeTime => D1_ipd'last_event, + PathDelay => tpd_D1_F1, + PathCondition => TRUE), + 1 => (InputChangeTime => C1_ipd'last_event, + PathDelay => tpd_C1_F1, + PathCondition => TRUE)), + GlitchData => F1_GlitchData, + Mode => ondetect, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf is + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf : ENTITY IS TRUE; + + end mjiobuf; + + architecture Structure of mjiobuf is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + component OBW + port (I: in Std_logic; T: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PADI, O=>Z); + INST2: OBW + port map (I=>I, T=>T, O=>PAD); + end Structure; + +-- entity RD_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_0_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD0 : VitalDelayType := 0 ns; + tpw_RD0_posedge : VitalDelayType := 0 ns; + tpw_RD0_negedge : VitalDelayType := 0 ns; + tpd_RD0_RD0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_0_B : ENTITY IS TRUE; + + end RD_0_B; + + architecture Structure of RD_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD0_ipd : std_logic := 'X'; + signal RD0_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_0: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD0_out, + PADI=>RD0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD0_ipd, RD0, tipd_RD0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD0_ipd, RD0_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD0_zd : std_logic := 'X'; + VARIABLE RD0_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD0_RD0 : x01 := '0'; + VARIABLE periodcheckinfo_RD0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD0_ipd, + TestSignalName => "RD0", + Period => tperiod_RD0, + PulseWidthHigh => tpw_RD0_posedge, + PulseWidthLow => tpw_RD0_negedge, + PeriodData => periodcheckinfo_RD0, + Violation => tviol_RD0_RD0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD0_zd := RD0_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD0_ipd'last_event, + PathDelay => tpd_RD0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD0, OutSignalName => "RD0", OutTemp => RD0_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD0, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD0, + PathCondition => TRUE)), + GlitchData => RD0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0118 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0118 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0118 : ENTITY IS TRUE; + + end mjiobuf0118; + + architecture Structure of mjiobuf0118 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity Dout_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_0_B : ENTITY IS TRUE; + + end Dout_0_B; + + architecture Structure of Dout_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout0_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_0: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout0_out) + VARIABLE Dout0_zd : std_logic := 'X'; + VARIABLE Dout0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout0_zd := Dout0_out; + + VitalPathDelay01Z ( + OutSignal => Dout0, OutSignalName => "Dout0", OutTemp => Dout0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout0, + PathCondition => TRUE)), + GlitchData => Dout0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0119 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0119 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0119 : ENTITY IS TRUE; + + end mjiobuf0119; + + architecture Structure of mjiobuf0119 is + component IBPD + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPD + port map (I=>PAD, O=>Z); + end Structure; + +-- entity PHI2B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity PHI2B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "PHI2B"; + + tipd_PHI2S : VitalDelayType01 := (0 ns, 0 ns); + tpd_PHI2S_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_PHI2S : VitalDelayType := 0 ns; + tpw_PHI2S_posedge : VitalDelayType := 0 ns; + tpw_PHI2S_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; PHI2S: in Std_logic); + + ATTRIBUTE Vital_Level0 OF PHI2B : ENTITY IS TRUE; + + end PHI2B; + + architecture Structure of PHI2B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PHI2S_ipd : std_logic := 'X'; + + component mjiobuf0119 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + PHI2_pad: mjiobuf0119 + port map (Z=>PADDI_out, PAD=>PHI2S_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PHI2S_ipd, PHI2S, tipd_PHI2S); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PHI2S_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_PHI2S_PHI2S : x01 := '0'; + VARIABLE periodcheckinfo_PHI2S : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => PHI2S_ipd, + TestSignalName => "PHI2S", + Period => tperiod_PHI2S, + PulseWidthHigh => tpw_PHI2S_posedge, + PulseWidthLow => tpw_PHI2S_negedge, + PeriodData => periodcheckinfo_PHI2S, + Violation => tviol_PHI2S_PHI2S, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => PHI2S_ipd'last_event, + PathDelay => tpd_PHI2S_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0120 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0120 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0120 : ENTITY IS TRUE; + + end mjiobuf0120; + + architecture Structure of mjiobuf0120 is + component IB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IB + port map (I=>PAD, O=>Z); + end Structure; + +-- entity UFMSDOB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDOB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDOB"; + + tipd_UFMSDOS : VitalDelayType01 := (0 ns, 0 ns); + tpd_UFMSDOS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_UFMSDOS : VitalDelayType := 0 ns; + tpw_UFMSDOS_posedge : VitalDelayType := 0 ns; + tpw_UFMSDOS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDOB : ENTITY IS TRUE; + + end UFMSDOB; + + architecture Structure of UFMSDOB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal UFMSDOS_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + UFMSDO_pad: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>UFMSDOS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(UFMSDOS_ipd, UFMSDOS, tipd_UFMSDOS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, UFMSDOS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_UFMSDOS_UFMSDOS : x01 := '0'; + VARIABLE periodcheckinfo_UFMSDOS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => UFMSDOS_ipd, + TestSignalName => "UFMSDOS", + Period => tperiod_UFMSDOS, + PulseWidthHigh => tpw_UFMSDOS_posedge, + PulseWidthLow => tpw_UFMSDOS_negedge, + PeriodData => periodcheckinfo_UFMSDOS, + Violation => tviol_UFMSDOS_UFMSDOS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => UFMSDOS_ipd'last_event, + PathDelay => tpd_UFMSDOS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0121 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0121 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0121 : ENTITY IS TRUE; + + end mjiobuf0121; + + architecture Structure of mjiobuf0121 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity UFMSDIB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMSDIB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMSDIB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMSDIS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMSDIB : ENTITY IS TRUE; + + end UFMSDIB; + + architecture Structure of UFMSDIB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMSDIS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMSDI_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>UFMSDIS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMSDIS_out) + VARIABLE UFMSDIS_zd : std_logic := 'X'; + VARIABLE UFMSDIS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMSDIS_zd := UFMSDIS_out; + + VitalPathDelay01Z ( + OutSignal => UFMSDIS, OutSignalName => "UFMSDIS", OutTemp => UFMSDIS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMSDIS, + PathCondition => TRUE)), + GlitchData => UFMSDIS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity UFMCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity UFMCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "UFMCLKB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_UFMCLKS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF UFMCLKB : ENTITY IS TRUE; + + end UFMCLKB; + + architecture Structure of UFMCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal UFMCLKS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + UFMCLK_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>UFMCLKS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, UFMCLKS_out) + VARIABLE UFMCLKS_zd : std_logic := 'X'; + VARIABLE UFMCLKS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + UFMCLKS_zd := UFMCLKS_out; + + VitalPathDelay01Z ( + OutSignal => UFMCLKS, OutSignalName => "UFMCLKS", OutTemp => UFMCLKS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_UFMCLKS, + PathCondition => TRUE)), + GlitchData => UFMCLKS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nUFMCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nUFMCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nUFMCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + + tpd_PADDO_nUFMCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nUFMCSB : ENTITY IS TRUE; + + end nUFMCSB; + + architecture Structure of nUFMCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nUFMCSS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nUFMCS_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>nUFMCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nUFMCSS_out) + VARIABLE nUFMCSS_zd : std_logic := 'X'; + VARIABLE nUFMCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nUFMCSS_zd := nUFMCSS_out; + + VitalPathDelay01Z ( + OutSignal => nUFMCSS, OutSignalName => "nUFMCSS", OutTemp => nUFMCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nUFMCSS, + PathCondition => TRUE)), + GlitchData => nUFMCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMLB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMLB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMLB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMLS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMLB : ENTITY IS TRUE; + + end RDQMLB; + + architecture Structure of RDQMLB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMLS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQML_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RDQMLS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMLS_out) + VARIABLE RDQMLS_zd : std_logic := 'X'; + VARIABLE RDQMLS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMLS_zd := RDQMLS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMLS, OutSignalName => "RDQMLS", OutTemp => RDQMLS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMLS, + PathCondition => TRUE)), + GlitchData => RDQMLS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RDQMHB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RDQMHB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RDQMHB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RDQMHS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RDQMHB : ENTITY IS TRUE; + + end RDQMHB; + + architecture Structure of RDQMHB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RDQMHS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RDQMH_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RDQMHS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RDQMHS_out) + VARIABLE RDQMHS_zd : std_logic := 'X'; + VARIABLE RDQMHS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RDQMHS_zd := RDQMHS_out; + + VitalPathDelay01Z ( + OutSignal => RDQMHS, OutSignalName => "RDQMHS", OutTemp => RDQMHS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RDQMHS, + PathCondition => TRUE)), + GlitchData => RDQMHS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCASB : ENTITY IS TRUE; + + end nRCASB; + + architecture Structure of nRCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCASS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCAS_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>nRCASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCASS_out) + VARIABLE nRCASS_zd : std_logic := 'X'; + VARIABLE nRCASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCASS_zd := nRCASS_out; + + VitalPathDelay01Z ( + OutSignal => nRCASS, OutSignalName => "nRCASS", OutTemp => nRCASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCASS, + PathCondition => TRUE)), + GlitchData => nRCASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRRASB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRRASS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRRASS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRRASB : ENTITY IS TRUE; + + end nRRASB; + + architecture Structure of nRRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRRASS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRRAS_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>nRRASS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRRASS_out) + VARIABLE nRRASS_zd : std_logic := 'X'; + VARIABLE nRRASS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRRASS_zd := nRRASS_out; + + VitalPathDelay01Z ( + OutSignal => nRRASS, OutSignalName => "nRRASS", OutTemp => nRRASS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRRASS, + PathCondition => TRUE)), + GlitchData => nRRASS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRWEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRWES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRWES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRWEB : ENTITY IS TRUE; + + end nRWEB; + + architecture Structure of nRWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRWES_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRWE_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>nRWES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRWES_out) + VARIABLE nRWES_zd : std_logic := 'X'; + VARIABLE nRWES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRWES_zd := nRWES_out; + + VitalPathDelay01Z ( + OutSignal => nRWES, OutSignalName => "nRWES", OutTemp => nRWES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRWES, + PathCondition => TRUE)), + GlitchData => nRWES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCKEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCKEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCKEB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RCKES : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RCKES: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RCKEB : ENTITY IS TRUE; + + end RCKEB; + + architecture Structure of RCKEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RCKES_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RCKE_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RCKES_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RCKES_out) + VARIABLE RCKES_zd : std_logic := 'X'; + VARIABLE RCKES_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RCKES_zd := RCKES_out; + + VitalPathDelay01Z ( + OutSignal => RCKES, OutSignalName => "RCKES", OutTemp => RCKES_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RCKES, + PathCondition => TRUE)), + GlitchData => RCKES_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RCLKB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RCLKB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RCLKB"; + + tipd_RCLKS : VitalDelayType01 := (0 ns, 0 ns); + tpd_RCLKS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RCLKS : VitalDelayType := 0 ns; + tpw_RCLKS_posedge : VitalDelayType := 0 ns; + tpw_RCLKS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; RCLKS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF RCLKB : ENTITY IS TRUE; + + end RCLKB; + + architecture Structure of RCLKB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal RCLKS_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + RCLK_pad: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>RCLKS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(RCLKS_ipd, RCLKS, tipd_RCLKS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, RCLKS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RCLKS_RCLKS : x01 := '0'; + VARIABLE periodcheckinfo_RCLKS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RCLKS_ipd, + TestSignalName => "RCLKS", + Period => tperiod_RCLKS, + PulseWidthHigh => tpw_RCLKS_posedge, + PulseWidthLow => tpw_RCLKS_negedge, + PeriodData => periodcheckinfo_RCLKS, + Violation => tviol_RCLKS_RCLKS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RCLKS_ipd'last_event, + PathDelay => tpd_RCLKS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nRCSB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nRCSB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nRCSB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_nRCSS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; nRCSS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF nRCSB : ENTITY IS TRUE; + + end nRCSB; + + architecture Structure of nRCSB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal nRCSS_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + nRCS_pad: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>nRCSS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, nRCSS_out) + VARIABLE nRCSS_zd : std_logic := 'X'; + VARIABLE nRCSS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + nRCSS_zd := nRCSS_out; + + VitalPathDelay01Z ( + OutSignal => nRCSS, OutSignalName => "nRCSS", OutTemp => nRCSS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_nRCSS, + PathCondition => TRUE)), + GlitchData => nRCSS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_7_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD7 : VitalDelayType := 0 ns; + tpw_RD7_posedge : VitalDelayType := 0 ns; + tpw_RD7_negedge : VitalDelayType := 0 ns; + tpd_RD7_RD7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_7_B : ENTITY IS TRUE; + + end RD_7_B; + + architecture Structure of RD_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD7_ipd : std_logic := 'X'; + signal RD7_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_7: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD7_out, + PADI=>RD7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD7_ipd, RD7, tipd_RD7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD7_ipd, RD7_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD7_zd : std_logic := 'X'; + VARIABLE RD7_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD7_RD7 : x01 := '0'; + VARIABLE periodcheckinfo_RD7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD7_ipd, + TestSignalName => "RD7", + Period => tperiod_RD7, + PulseWidthHigh => tpw_RD7_posedge, + PulseWidthLow => tpw_RD7_negedge, + PeriodData => periodcheckinfo_RD7, + Violation => tviol_RD7_RD7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD7_zd := RD7_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD7_ipd'last_event, + PathDelay => tpd_RD7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD7, OutSignalName => "RD7", OutTemp => RD7_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD7, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD7, + PathCondition => TRUE)), + GlitchData => RD7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_6_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD6 : VitalDelayType := 0 ns; + tpw_RD6_posedge : VitalDelayType := 0 ns; + tpw_RD6_negedge : VitalDelayType := 0 ns; + tpd_RD6_RD6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_6_B : ENTITY IS TRUE; + + end RD_6_B; + + architecture Structure of RD_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD6_ipd : std_logic := 'X'; + signal RD6_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_6: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD6_out, + PADI=>RD6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD6_ipd, RD6, tipd_RD6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD6_ipd, RD6_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD6_zd : std_logic := 'X'; + VARIABLE RD6_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD6_RD6 : x01 := '0'; + VARIABLE periodcheckinfo_RD6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD6_ipd, + TestSignalName => "RD6", + Period => tperiod_RD6, + PulseWidthHigh => tpw_RD6_posedge, + PulseWidthLow => tpw_RD6_negedge, + PeriodData => periodcheckinfo_RD6, + Violation => tviol_RD6_RD6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD6_zd := RD6_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD6_ipd'last_event, + PathDelay => tpd_RD6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD6, OutSignalName => "RD6", OutTemp => RD6_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD6, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD6, + PathCondition => TRUE)), + GlitchData => RD6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_5_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD5 : VitalDelayType := 0 ns; + tpw_RD5_posedge : VitalDelayType := 0 ns; + tpw_RD5_negedge : VitalDelayType := 0 ns; + tpd_RD5_RD5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_5_B : ENTITY IS TRUE; + + end RD_5_B; + + architecture Structure of RD_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD5_ipd : std_logic := 'X'; + signal RD5_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_5: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD5_out, + PADI=>RD5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD5_ipd, RD5, tipd_RD5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD5_ipd, RD5_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD5_zd : std_logic := 'X'; + VARIABLE RD5_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD5_RD5 : x01 := '0'; + VARIABLE periodcheckinfo_RD5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD5_ipd, + TestSignalName => "RD5", + Period => tperiod_RD5, + PulseWidthHigh => tpw_RD5_posedge, + PulseWidthLow => tpw_RD5_negedge, + PeriodData => periodcheckinfo_RD5, + Violation => tviol_RD5_RD5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD5_zd := RD5_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD5_ipd'last_event, + PathDelay => tpd_RD5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD5, OutSignalName => "RD5", OutTemp => RD5_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD5, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD5, + PathCondition => TRUE)), + GlitchData => RD5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_4_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD4 : VitalDelayType := 0 ns; + tpw_RD4_posedge : VitalDelayType := 0 ns; + tpw_RD4_negedge : VitalDelayType := 0 ns; + tpd_RD4_RD4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_4_B : ENTITY IS TRUE; + + end RD_4_B; + + architecture Structure of RD_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD4_ipd : std_logic := 'X'; + signal RD4_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_4: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD4_out, + PADI=>RD4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD4_ipd, RD4, tipd_RD4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD4_ipd, RD4_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD4_zd : std_logic := 'X'; + VARIABLE RD4_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD4_RD4 : x01 := '0'; + VARIABLE periodcheckinfo_RD4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD4_ipd, + TestSignalName => "RD4", + Period => tperiod_RD4, + PulseWidthHigh => tpw_RD4_posedge, + PulseWidthLow => tpw_RD4_negedge, + PeriodData => periodcheckinfo_RD4, + Violation => tviol_RD4_RD4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD4_zd := RD4_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD4_ipd'last_event, + PathDelay => tpd_RD4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD4, OutSignalName => "RD4", OutTemp => RD4_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD4, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD4, + PathCondition => TRUE)), + GlitchData => RD4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_3_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD3 : VitalDelayType := 0 ns; + tpw_RD3_posedge : VitalDelayType := 0 ns; + tpw_RD3_negedge : VitalDelayType := 0 ns; + tpd_RD3_RD3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_3_B : ENTITY IS TRUE; + + end RD_3_B; + + architecture Structure of RD_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD3_ipd : std_logic := 'X'; + signal RD3_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_3: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD3_out, + PADI=>RD3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD3_ipd, RD3, tipd_RD3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD3_ipd, RD3_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD3_zd : std_logic := 'X'; + VARIABLE RD3_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD3_RD3 : x01 := '0'; + VARIABLE periodcheckinfo_RD3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD3_ipd, + TestSignalName => "RD3", + Period => tperiod_RD3, + PulseWidthHigh => tpw_RD3_posedge, + PulseWidthLow => tpw_RD3_negedge, + PeriodData => periodcheckinfo_RD3, + Violation => tviol_RD3_RD3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD3_zd := RD3_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD3_ipd'last_event, + PathDelay => tpd_RD3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD3, OutSignalName => "RD3", OutTemp => RD3_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD3, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD3, + PathCondition => TRUE)), + GlitchData => RD3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_2_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD2 : VitalDelayType := 0 ns; + tpw_RD2_posedge : VitalDelayType := 0 ns; + tpw_RD2_negedge : VitalDelayType := 0 ns; + tpd_RD2_RD2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_2_B : ENTITY IS TRUE; + + end RD_2_B; + + architecture Structure of RD_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD2_ipd : std_logic := 'X'; + signal RD2_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_2: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD2_out, + PADI=>RD2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD2_ipd, RD2, tipd_RD2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD2_ipd, RD2_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD2_zd : std_logic := 'X'; + VARIABLE RD2_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD2_RD2 : x01 := '0'; + VARIABLE periodcheckinfo_RD2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD2_ipd, + TestSignalName => "RD2", + Period => tperiod_RD2, + PulseWidthHigh => tpw_RD2_posedge, + PulseWidthLow => tpw_RD2_negedge, + PeriodData => periodcheckinfo_RD2, + Violation => tviol_RD2_RD2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD2_zd := RD2_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD2_ipd'last_event, + PathDelay => tpd_RD2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD2, OutSignalName => "RD2", OutTemp => RD2_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD2, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD2, + PathCondition => TRUE)), + GlitchData => RD2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RD_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RD_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RD_1_B"; + + tipd_PADDT : VitalDelayType01 := (0 ns, 0 ns); + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tipd_RD1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDT_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_PADDO_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns); + tpd_RD1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_RD1 : VitalDelayType := 0 ns; + tpw_RD1_posedge : VitalDelayType := 0 ns; + tpw_RD1_negedge : VitalDelayType := 0 ns; + tpd_RD1_RD1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + + ATTRIBUTE Vital_Level0 OF RD_1_B : ENTITY IS TRUE; + + end RD_1_B; + + architecture Structure of RD_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal PADDT_ipd : std_logic := 'X'; + signal PADDO_ipd : std_logic := 'X'; + signal RD1_ipd : std_logic := 'X'; + signal RD1_out : std_logic := 'Z'; + + component mjiobuf + port (I: in Std_logic; T: in Std_logic; Z: out Std_logic; + PAD: out Std_logic; PADI: in Std_logic); + end component; + begin + RD_pad_1: mjiobuf + port map (I=>PADDO_ipd, T=>PADDT_ipd, Z=>PADDI_out, PAD=>RD1_out, + PADI=>RD1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDT_ipd, PADDT, tipd_PADDT); + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + VitalWireDelay(RD1_ipd, RD1, tipd_RD1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, PADDT_ipd, PADDO_ipd, RD1_ipd, RD1_out) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + VARIABLE RD1_zd : std_logic := 'X'; + VARIABLE RD1_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_RD1_RD1 : x01 := '0'; + VARIABLE periodcheckinfo_RD1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => RD1_ipd, + TestSignalName => "RD1", + Period => tperiod_RD1, + PulseWidthHigh => tpw_RD1_posedge, + PulseWidthLow => tpw_RD1_negedge, + PeriodData => periodcheckinfo_RD1, + Violation => tviol_RD1_RD1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + RD1_zd := RD1_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => RD1_ipd'last_event, + PathDelay => tpd_RD1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + VitalPathDelay01Z ( + OutSignal => RD1, OutSignalName => "RD1", OutTemp => RD1_zd, + Paths => (0 => (InputChangeTime => PADDT_ipd'last_event, + PathDelay => tpd_PADDT_RD1, + PathCondition => TRUE), + 1 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RD1, + PathCondition => TRUE)), + GlitchData => RD1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_11_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_11_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_11_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA11 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA11: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_11_B : ENTITY IS TRUE; + + end RA_11_B; + + architecture Structure of RA_11_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA11_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_11: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA11_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA11_out) + VARIABLE RA11_zd : std_logic := 'X'; + VARIABLE RA11_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA11_zd := RA11_out; + + VitalPathDelay01Z ( + OutSignal => RA11, OutSignalName => "RA11", OutTemp => RA11_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA11, + PathCondition => TRUE)), + GlitchData => RA11_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_10_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_10_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_10_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA10 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RA10: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_10_B : ENTITY IS TRUE; + + end RA_10_B; + + architecture Structure of RA_10_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA10_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_10: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA10_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA10_out) + VARIABLE RA10_zd : std_logic := 'X'; + VARIABLE RA10_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA10_zd := RA10_out; + + VitalPathDelay01Z ( + OutSignal => RA10, OutSignalName => "RA10", OutTemp => RA10_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA10, + PathCondition => TRUE)), + GlitchData => RA10_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_9_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA9 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA9: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_9_B : ENTITY IS TRUE; + + end RA_9_B; + + architecture Structure of RA_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA9_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_9: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA9_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA9_out) + VARIABLE RA9_zd : std_logic := 'X'; + VARIABLE RA9_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA9_zd := RA9_out; + + VitalPathDelay01Z ( + OutSignal => RA9, OutSignalName => "RA9", OutTemp => RA9_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA9, + PathCondition => TRUE)), + GlitchData => RA9_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_8_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA8 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA8: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_8_B : ENTITY IS TRUE; + + end RA_8_B; + + architecture Structure of RA_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA8_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_8: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA8_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA8_out) + VARIABLE RA8_zd : std_logic := 'X'; + VARIABLE RA8_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA8_zd := RA8_out; + + VitalPathDelay01Z ( + OutSignal => RA8, OutSignalName => "RA8", OutTemp => RA8_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA8, + PathCondition => TRUE)), + GlitchData => RA8_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_7_B : ENTITY IS TRUE; + + end RA_7_B; + + architecture Structure of RA_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA7_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_7: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA7_out) + VARIABLE RA7_zd : std_logic := 'X'; + VARIABLE RA7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA7_zd := RA7_out; + + VitalPathDelay01Z ( + OutSignal => RA7, OutSignalName => "RA7", OutTemp => RA7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA7, + PathCondition => TRUE)), + GlitchData => RA7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_6_B : ENTITY IS TRUE; + + end RA_6_B; + + architecture Structure of RA_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA6_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_6: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA6_out) + VARIABLE RA6_zd : std_logic := 'X'; + VARIABLE RA6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA6_zd := RA6_out; + + VitalPathDelay01Z ( + OutSignal => RA6, OutSignalName => "RA6", OutTemp => RA6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA6, + PathCondition => TRUE)), + GlitchData => RA6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_5_B : ENTITY IS TRUE; + + end RA_5_B; + + architecture Structure of RA_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA5_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_5: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA5_out) + VARIABLE RA5_zd : std_logic := 'X'; + VARIABLE RA5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA5_zd := RA5_out; + + VitalPathDelay01Z ( + OutSignal => RA5, OutSignalName => "RA5", OutTemp => RA5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA5, + PathCondition => TRUE)), + GlitchData => RA5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_4_B : ENTITY IS TRUE; + + end RA_4_B; + + architecture Structure of RA_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA4_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_4: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA4_out) + VARIABLE RA4_zd : std_logic := 'X'; + VARIABLE RA4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA4_zd := RA4_out; + + VitalPathDelay01Z ( + OutSignal => RA4, OutSignalName => "RA4", OutTemp => RA4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA4, + PathCondition => TRUE)), + GlitchData => RA4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_3_B : ENTITY IS TRUE; + + end RA_3_B; + + architecture Structure of RA_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA3_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_3: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA3_out) + VARIABLE RA3_zd : std_logic := 'X'; + VARIABLE RA3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA3_zd := RA3_out; + + VitalPathDelay01Z ( + OutSignal => RA3, OutSignalName => "RA3", OutTemp => RA3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA3, + PathCondition => TRUE)), + GlitchData => RA3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_2_B : ENTITY IS TRUE; + + end RA_2_B; + + architecture Structure of RA_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA2_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_2: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA2_out) + VARIABLE RA2_zd : std_logic := 'X'; + VARIABLE RA2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA2_zd := RA2_out; + + VitalPathDelay01Z ( + OutSignal => RA2, OutSignalName => "RA2", OutTemp => RA2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA2, + PathCondition => TRUE)), + GlitchData => RA2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_1_B : ENTITY IS TRUE; + + end RA_1_B; + + architecture Structure of RA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA1_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_1: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA1_out) + VARIABLE RA1_zd : std_logic := 'X'; + VARIABLE RA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA1_zd := RA1_out; + + VitalPathDelay01Z ( + OutSignal => RA1, OutSignalName => "RA1", OutTemp => RA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA1, + PathCondition => TRUE)), + GlitchData => RA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns)); + + port (PADDO: in Std_logic; RA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RA_0_B : ENTITY IS TRUE; + + end RA_0_B; + + architecture Structure of RA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RA0_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RA_pad_0: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RA0_out) + VARIABLE RA0_zd : std_logic := 'X'; + VARIABLE RA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RA0_zd := RA0_out; + + VitalPathDelay01Z ( + OutSignal => RA0, OutSignalName => "RA0", OutTemp => RA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RA0, + PathCondition => TRUE)), + GlitchData => RA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_1_B : ENTITY IS TRUE; + + end RBA_1_B; + + architecture Structure of RBA_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA1_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_1: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RBA1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA1_out) + VARIABLE RBA1_zd : std_logic := 'X'; + VARIABLE RBA1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA1_zd := RBA1_out; + + VitalPathDelay01Z ( + OutSignal => RBA1, OutSignalName => "RBA1", OutTemp => RBA1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA1, + PathCondition => TRUE)), + GlitchData => RBA1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RBA_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RBA_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "RBA_0_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_RBA0 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; RBA0: out Std_logic); + + ATTRIBUTE Vital_Level0 OF RBA_0_B : ENTITY IS TRUE; + + end RBA_0_B; + + architecture Structure of RBA_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal RBA0_out : std_logic := 'X'; + + component mjiobuf0121 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + RBA_pad_0: mjiobuf0121 + port map (I=>PADDO_ipd, PAD=>RBA0_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, RBA0_out) + VARIABLE RBA0_zd : std_logic := 'X'; + VARIABLE RBA0_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + RBA0_zd := RBA0_out; + + VitalPathDelay01Z ( + OutSignal => RBA0, OutSignalName => "RBA0", OutTemp => RBA0_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_RBA0, + PathCondition => TRUE)), + GlitchData => RBA0_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0122 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0122 is + port (I: in Std_logic; PAD: out Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0122 : ENTITY IS TRUE; + + end mjiobuf0122; + + architecture Structure of mjiobuf0122 is + component OB + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST5: OB + port map (I=>I, O=>PAD); + end Structure; + +-- entity LEDB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity LEDB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "LEDB"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_LEDS : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; LEDS: out Std_logic); + + ATTRIBUTE Vital_Level0 OF LEDB : ENTITY IS TRUE; + + end LEDB; + + architecture Structure of LEDB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal LEDS_out : std_logic := 'X'; + + component mjiobuf0122 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + LED_pad: mjiobuf0122 + port map (I=>PADDO_ipd, PAD=>LEDS_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, LEDS_out) + VARIABLE LEDS_zd : std_logic := 'X'; + VARIABLE LEDS_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + LEDS_zd := LEDS_out; + + VitalPathDelay01Z ( + OutSignal => LEDS, OutSignalName => "LEDS", OutTemp => LEDS_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_LEDS, + PathCondition => TRUE)), + GlitchData => LEDS_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nFWEB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nFWEB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nFWEB"; + + tipd_nFWES : VitalDelayType01 := (0 ns, 0 ns); + tpd_nFWES_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nFWES : VitalDelayType := 0 ns; + tpw_nFWES_posedge : VitalDelayType := 0 ns; + tpw_nFWES_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nFWES: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nFWEB : ENTITY IS TRUE; + + end nFWEB; + + architecture Structure of nFWEB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nFWES_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nFWE_pad: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>nFWES_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nFWES_ipd, nFWES, tipd_nFWES); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nFWES_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nFWES_nFWES : x01 := '0'; + VARIABLE periodcheckinfo_nFWES : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nFWES_ipd, + TestSignalName => "nFWES", + Period => tperiod_nFWES, + PulseWidthHigh => tpw_nFWES_posedge, + PulseWidthLow => tpw_nFWES_negedge, + PeriodData => periodcheckinfo_nFWES, + Violation => tviol_nFWES_nFWES, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nFWES_ipd'last_event, + PathDelay => tpd_nFWES_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity mjiobuf0123 + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity mjiobuf0123 is + port (Z: out Std_logic; PAD: in Std_logic); + + ATTRIBUTE Vital_Level0 OF mjiobuf0123 : ENTITY IS TRUE; + + end mjiobuf0123; + + architecture Structure of mjiobuf0123 is + component IBPU + port (I: in Std_logic; O: out Std_logic); + end component; + begin + INST1: IBPU + port map (I=>PAD, O=>Z); + end Structure; + +-- entity nCRASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCRASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCRASB"; + + tipd_nCRASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCRASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCRASS : VitalDelayType := 0 ns; + tpw_nCRASS_posedge : VitalDelayType := 0 ns; + tpw_nCRASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCRASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCRASB : ENTITY IS TRUE; + + end nCRASB; + + architecture Structure of nCRASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCRASS_ipd : std_logic := 'X'; + + component mjiobuf0123 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCRAS_pad: mjiobuf0123 + port map (Z=>PADDI_out, PAD=>nCRASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCRASS_ipd, nCRASS, tipd_nCRASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCRASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCRASS_nCRASS : x01 := '0'; + VARIABLE periodcheckinfo_nCRASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCRASS_ipd, + TestSignalName => "nCRASS", + Period => tperiod_nCRASS, + PulseWidthHigh => tpw_nCRASS_posedge, + PulseWidthLow => tpw_nCRASS_negedge, + PeriodData => periodcheckinfo_nCRASS, + Violation => tviol_nCRASS_nCRASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCRASS_ipd'last_event, + PathDelay => tpd_nCRASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity nCCASB + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity nCCASB is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "nCCASB"; + + tipd_nCCASS : VitalDelayType01 := (0 ns, 0 ns); + tpd_nCCASS_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_nCCASS : VitalDelayType := 0 ns; + tpw_nCCASS_posedge : VitalDelayType := 0 ns; + tpw_nCCASS_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; nCCASS: in Std_logic); + + ATTRIBUTE Vital_Level0 OF nCCASB : ENTITY IS TRUE; + + end nCCASB; + + architecture Structure of nCCASB is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal nCCASS_ipd : std_logic := 'X'; + + component mjiobuf0123 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + nCCAS_pad: mjiobuf0123 + port map (Z=>PADDI_out, PAD=>nCCASS_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(nCCASS_ipd, nCCASS, tipd_nCCASS); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, nCCASS_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_nCCASS_nCCASS : x01 := '0'; + VARIABLE periodcheckinfo_nCCASS : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => nCCASS_ipd, + TestSignalName => "nCCASS", + Period => tperiod_nCCASS, + PulseWidthHigh => tpw_nCCASS_posedge, + PulseWidthLow => tpw_nCCASS_negedge, + PeriodData => periodcheckinfo_nCCASS, + Violation => tviol_nCCASS_nCCASS, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => nCCASS_ipd'last_event, + PathDelay => tpd_nCCASS_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_7_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout7 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout7: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_7_B : ENTITY IS TRUE; + + end Dout_7_B; + + architecture Structure of Dout_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout7_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_7: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout7_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout7_out) + VARIABLE Dout7_zd : std_logic := 'X'; + VARIABLE Dout7_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout7_zd := Dout7_out; + + VitalPathDelay01Z ( + OutSignal => Dout7, OutSignalName => "Dout7", OutTemp => Dout7_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout7, + PathCondition => TRUE)), + GlitchData => Dout7_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_6_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout6 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout6: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_6_B : ENTITY IS TRUE; + + end Dout_6_B; + + architecture Structure of Dout_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout6_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_6: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout6_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout6_out) + VARIABLE Dout6_zd : std_logic := 'X'; + VARIABLE Dout6_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout6_zd := Dout6_out; + + VitalPathDelay01Z ( + OutSignal => Dout6, OutSignalName => "Dout6", OutTemp => Dout6_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout6, + PathCondition => TRUE)), + GlitchData => Dout6_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_5_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout5 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout5: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_5_B : ENTITY IS TRUE; + + end Dout_5_B; + + architecture Structure of Dout_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout5_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_5: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout5_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout5_out) + VARIABLE Dout5_zd : std_logic := 'X'; + VARIABLE Dout5_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout5_zd := Dout5_out; + + VitalPathDelay01Z ( + OutSignal => Dout5, OutSignalName => "Dout5", OutTemp => Dout5_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout5, + PathCondition => TRUE)), + GlitchData => Dout5_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_4_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout4 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout4: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_4_B : ENTITY IS TRUE; + + end Dout_4_B; + + architecture Structure of Dout_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout4_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_4: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout4_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout4_out) + VARIABLE Dout4_zd : std_logic := 'X'; + VARIABLE Dout4_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout4_zd := Dout4_out; + + VitalPathDelay01Z ( + OutSignal => Dout4, OutSignalName => "Dout4", OutTemp => Dout4_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout4, + PathCondition => TRUE)), + GlitchData => Dout4_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_3_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout3 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout3: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_3_B : ENTITY IS TRUE; + + end Dout_3_B; + + architecture Structure of Dout_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout3_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_3: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout3_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout3_out) + VARIABLE Dout3_zd : std_logic := 'X'; + VARIABLE Dout3_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout3_zd := Dout3_out; + + VitalPathDelay01Z ( + OutSignal => Dout3, OutSignalName => "Dout3", OutTemp => Dout3_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout3, + PathCondition => TRUE)), + GlitchData => Dout3_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_2_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout2 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout2: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_2_B : ENTITY IS TRUE; + + end Dout_2_B; + + architecture Structure of Dout_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout2_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_2: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout2_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout2_out) + VARIABLE Dout2_zd : std_logic := 'X'; + VARIABLE Dout2_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout2_zd := Dout2_out; + + VitalPathDelay01Z ( + OutSignal => Dout2, OutSignalName => "Dout2", OutTemp => Dout2_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout2, + PathCondition => TRUE)), + GlitchData => Dout2_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Dout_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Dout_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Dout_1_B"; + + tipd_PADDO : VitalDelayType01 := (0 ns, 0 ns); + tpd_PADDO_Dout1 : VitalDelayType01Z := (0 ns, 0 ns, 0 ns , 0 ns, 0 ns, 0 ns) + ); + + port (PADDO: in Std_logic; Dout1: out Std_logic); + + ATTRIBUTE Vital_Level0 OF Dout_1_B : ENTITY IS TRUE; + + end Dout_1_B; + + architecture Structure of Dout_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDO_ipd : std_logic := 'X'; + signal Dout1_out : std_logic := 'X'; + + component mjiobuf0118 + port (I: in Std_logic; PAD: out Std_logic); + end component; + begin + Dout_pad_1: mjiobuf0118 + port map (I=>PADDO_ipd, PAD=>Dout1_out); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(PADDO_ipd, PADDO, tipd_PADDO); + END BLOCK; + + VitalBehavior : PROCESS (PADDO_ipd, Dout1_out) + VARIABLE Dout1_zd : std_logic := 'X'; + VARIABLE Dout1_GlitchData : VitalGlitchDataType; + + + BEGIN + + IF (TimingChecksOn) THEN + + END IF; + + Dout1_zd := Dout1_out; + + VitalPathDelay01Z ( + OutSignal => Dout1, OutSignalName => "Dout1", OutTemp => Dout1_zd, + Paths => (0 => (InputChangeTime => PADDO_ipd'last_event, + PathDelay => tpd_PADDO_Dout1, + PathCondition => TRUE)), + GlitchData => Dout1_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_7_B"; + + tipd_Din7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din7 : VitalDelayType := 0 ns; + tpw_Din7_posedge : VitalDelayType := 0 ns; + tpw_Din7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_7_B : ENTITY IS TRUE; + + end Din_7_B; + + architecture Structure of Din_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din7_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_7: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din7_ipd, Din7, tipd_Din7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din7_Din7 : x01 := '0'; + VARIABLE periodcheckinfo_Din7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din7_ipd, + TestSignalName => "Din7", + Period => tperiod_Din7, + PulseWidthHigh => tpw_Din7_posedge, + PulseWidthLow => tpw_Din7_negedge, + PeriodData => periodcheckinfo_Din7, + Violation => tviol_Din7_Din7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din7_ipd'last_event, + PathDelay => tpd_Din7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_6_B"; + + tipd_Din6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din6 : VitalDelayType := 0 ns; + tpw_Din6_posedge : VitalDelayType := 0 ns; + tpw_Din6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_6_B : ENTITY IS TRUE; + + end Din_6_B; + + architecture Structure of Din_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din6_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_6: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din6_ipd, Din6, tipd_Din6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din6_Din6 : x01 := '0'; + VARIABLE periodcheckinfo_Din6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din6_ipd, + TestSignalName => "Din6", + Period => tperiod_Din6, + PulseWidthHigh => tpw_Din6_posedge, + PulseWidthLow => tpw_Din6_negedge, + PeriodData => periodcheckinfo_Din6, + Violation => tviol_Din6_Din6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din6_ipd'last_event, + PathDelay => tpd_Din6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_5_B"; + + tipd_Din5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din5 : VitalDelayType := 0 ns; + tpw_Din5_posedge : VitalDelayType := 0 ns; + tpw_Din5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_5_B : ENTITY IS TRUE; + + end Din_5_B; + + architecture Structure of Din_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din5_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_5: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din5_ipd, Din5, tipd_Din5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din5_Din5 : x01 := '0'; + VARIABLE periodcheckinfo_Din5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din5_ipd, + TestSignalName => "Din5", + Period => tperiod_Din5, + PulseWidthHigh => tpw_Din5_posedge, + PulseWidthLow => tpw_Din5_negedge, + PeriodData => periodcheckinfo_Din5, + Violation => tviol_Din5_Din5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din5_ipd'last_event, + PathDelay => tpd_Din5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_4_B"; + + tipd_Din4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din4 : VitalDelayType := 0 ns; + tpw_Din4_posedge : VitalDelayType := 0 ns; + tpw_Din4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_4_B : ENTITY IS TRUE; + + end Din_4_B; + + architecture Structure of Din_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din4_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_4: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din4_ipd, Din4, tipd_Din4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din4_Din4 : x01 := '0'; + VARIABLE periodcheckinfo_Din4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din4_ipd, + TestSignalName => "Din4", + Period => tperiod_Din4, + PulseWidthHigh => tpw_Din4_posedge, + PulseWidthLow => tpw_Din4_negedge, + PeriodData => periodcheckinfo_Din4, + Violation => tviol_Din4_Din4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din4_ipd'last_event, + PathDelay => tpd_Din4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_3_B"; + + tipd_Din3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din3 : VitalDelayType := 0 ns; + tpw_Din3_posedge : VitalDelayType := 0 ns; + tpw_Din3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_3_B : ENTITY IS TRUE; + + end Din_3_B; + + architecture Structure of Din_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din3_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_3: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din3_ipd, Din3, tipd_Din3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din3_Din3 : x01 := '0'; + VARIABLE periodcheckinfo_Din3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din3_ipd, + TestSignalName => "Din3", + Period => tperiod_Din3, + PulseWidthHigh => tpw_Din3_posedge, + PulseWidthLow => tpw_Din3_negedge, + PeriodData => periodcheckinfo_Din3, + Violation => tviol_Din3_Din3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din3_ipd'last_event, + PathDelay => tpd_Din3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_2_B"; + + tipd_Din2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din2 : VitalDelayType := 0 ns; + tpw_Din2_posedge : VitalDelayType := 0 ns; + tpw_Din2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_2_B : ENTITY IS TRUE; + + end Din_2_B; + + architecture Structure of Din_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din2_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_2: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din2_ipd, Din2, tipd_Din2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din2_Din2 : x01 := '0'; + VARIABLE periodcheckinfo_Din2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din2_ipd, + TestSignalName => "Din2", + Period => tperiod_Din2, + PulseWidthHigh => tpw_Din2_posedge, + PulseWidthLow => tpw_Din2_negedge, + PeriodData => periodcheckinfo_Din2, + Violation => tviol_Din2_Din2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din2_ipd'last_event, + PathDelay => tpd_Din2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_1_B"; + + tipd_Din1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din1 : VitalDelayType := 0 ns; + tpw_Din1_posedge : VitalDelayType := 0 ns; + tpw_Din1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_1_B : ENTITY IS TRUE; + + end Din_1_B; + + architecture Structure of Din_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din1_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_1: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din1_ipd, Din1, tipd_Din1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din1_Din1 : x01 := '0'; + VARIABLE periodcheckinfo_Din1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din1_ipd, + TestSignalName => "Din1", + Period => tperiod_Din1, + PulseWidthHigh => tpw_Din1_posedge, + PulseWidthLow => tpw_Din1_negedge, + PeriodData => periodcheckinfo_Din1, + Violation => tviol_Din1_Din1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din1_ipd'last_event, + PathDelay => tpd_Din1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity Din_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity Din_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "Din_0_B"; + + tipd_Din0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_Din0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_Din0 : VitalDelayType := 0 ns; + tpw_Din0_posedge : VitalDelayType := 0 ns; + tpw_Din0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; Din0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF Din_0_B : ENTITY IS TRUE; + + end Din_0_B; + + architecture Structure of Din_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal Din0_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + Din_pad_0: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>Din0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(Din0_ipd, Din0, tipd_Din0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, Din0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_Din0_Din0 : x01 := '0'; + VARIABLE periodcheckinfo_Din0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => Din0_ipd, + TestSignalName => "Din0", + Period => tperiod_Din0, + PulseWidthHigh => tpw_Din0_posedge, + PulseWidthLow => tpw_Din0_negedge, + PeriodData => periodcheckinfo_Din0, + Violation => tviol_Din0_Din0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => Din0_ipd'last_event, + PathDelay => tpd_Din0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_1_B"; + + tipd_CROW1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW1 : VitalDelayType := 0 ns; + tpw_CROW1_posedge : VitalDelayType := 0 ns; + tpw_CROW1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_1_B : ENTITY IS TRUE; + + end CROW_1_B; + + architecture Structure of CROW_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW1_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_1: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>CROW1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW1_ipd, CROW1, tipd_CROW1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW1_CROW1 : x01 := '0'; + VARIABLE periodcheckinfo_CROW1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW1_ipd, + TestSignalName => "CROW1", + Period => tperiod_CROW1, + PulseWidthHigh => tpw_CROW1_posedge, + PulseWidthLow => tpw_CROW1_negedge, + PeriodData => periodcheckinfo_CROW1, + Violation => tviol_CROW1_CROW1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW1_ipd'last_event, + PathDelay => tpd_CROW1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity CROW_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity CROW_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "CROW_0_B"; + + tipd_CROW0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_CROW0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_CROW0 : VitalDelayType := 0 ns; + tpw_CROW0_posedge : VitalDelayType := 0 ns; + tpw_CROW0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; CROW0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF CROW_0_B : ENTITY IS TRUE; + + end CROW_0_B; + + architecture Structure of CROW_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal CROW0_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + CROW_pad_0: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>CROW0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(CROW0_ipd, CROW0, tipd_CROW0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, CROW0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_CROW0_CROW0 : x01 := '0'; + VARIABLE periodcheckinfo_CROW0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => CROW0_ipd, + TestSignalName => "CROW0", + Period => tperiod_CROW0, + PulseWidthHigh => tpw_CROW0_posedge, + PulseWidthLow => tpw_CROW0_negedge, + PeriodData => periodcheckinfo_CROW0, + Violation => tviol_CROW0_CROW0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => CROW0_ipd'last_event, + PathDelay => tpd_CROW0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_9_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_9_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_9_B"; + + tipd_MAin9 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin9_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin9 : VitalDelayType := 0 ns; + tpw_MAin9_posedge : VitalDelayType := 0 ns; + tpw_MAin9_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin9: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_9_B : ENTITY IS TRUE; + + end MAin_9_B; + + architecture Structure of MAin_9_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin9_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_9: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin9_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin9_ipd, MAin9, tipd_MAin9); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin9_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin9_MAin9 : x01 := '0'; + VARIABLE periodcheckinfo_MAin9 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin9_ipd, + TestSignalName => "MAin9", + Period => tperiod_MAin9, + PulseWidthHigh => tpw_MAin9_posedge, + PulseWidthLow => tpw_MAin9_negedge, + PeriodData => periodcheckinfo_MAin9, + Violation => tviol_MAin9_MAin9, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin9_ipd'last_event, + PathDelay => tpd_MAin9_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_8_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_8_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_8_B"; + + tipd_MAin8 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin8_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin8 : VitalDelayType := 0 ns; + tpw_MAin8_posedge : VitalDelayType := 0 ns; + tpw_MAin8_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin8: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_8_B : ENTITY IS TRUE; + + end MAin_8_B; + + architecture Structure of MAin_8_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin8_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_8: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin8_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin8_ipd, MAin8, tipd_MAin8); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin8_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin8_MAin8 : x01 := '0'; + VARIABLE periodcheckinfo_MAin8 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin8_ipd, + TestSignalName => "MAin8", + Period => tperiod_MAin8, + PulseWidthHigh => tpw_MAin8_posedge, + PulseWidthLow => tpw_MAin8_negedge, + PeriodData => periodcheckinfo_MAin8, + Violation => tviol_MAin8_MAin8, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin8_ipd'last_event, + PathDelay => tpd_MAin8_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_7_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_7_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_7_B"; + + tipd_MAin7 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin7_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin7 : VitalDelayType := 0 ns; + tpw_MAin7_posedge : VitalDelayType := 0 ns; + tpw_MAin7_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin7: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_7_B : ENTITY IS TRUE; + + end MAin_7_B; + + architecture Structure of MAin_7_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin7_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_7: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin7_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin7_ipd, MAin7, tipd_MAin7); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin7_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin7_MAin7 : x01 := '0'; + VARIABLE periodcheckinfo_MAin7 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin7_ipd, + TestSignalName => "MAin7", + Period => tperiod_MAin7, + PulseWidthHigh => tpw_MAin7_posedge, + PulseWidthLow => tpw_MAin7_negedge, + PeriodData => periodcheckinfo_MAin7, + Violation => tviol_MAin7_MAin7, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin7_ipd'last_event, + PathDelay => tpd_MAin7_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_6_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_6_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_6_B"; + + tipd_MAin6 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin6_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin6 : VitalDelayType := 0 ns; + tpw_MAin6_posedge : VitalDelayType := 0 ns; + tpw_MAin6_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin6: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_6_B : ENTITY IS TRUE; + + end MAin_6_B; + + architecture Structure of MAin_6_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin6_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_6: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin6_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin6_ipd, MAin6, tipd_MAin6); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin6_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin6_MAin6 : x01 := '0'; + VARIABLE periodcheckinfo_MAin6 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin6_ipd, + TestSignalName => "MAin6", + Period => tperiod_MAin6, + PulseWidthHigh => tpw_MAin6_posedge, + PulseWidthLow => tpw_MAin6_negedge, + PeriodData => periodcheckinfo_MAin6, + Violation => tviol_MAin6_MAin6, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin6_ipd'last_event, + PathDelay => tpd_MAin6_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_5_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_5_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_5_B"; + + tipd_MAin5 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin5_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin5 : VitalDelayType := 0 ns; + tpw_MAin5_posedge : VitalDelayType := 0 ns; + tpw_MAin5_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin5: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_5_B : ENTITY IS TRUE; + + end MAin_5_B; + + architecture Structure of MAin_5_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin5_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_5: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin5_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin5_ipd, MAin5, tipd_MAin5); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin5_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin5_MAin5 : x01 := '0'; + VARIABLE periodcheckinfo_MAin5 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin5_ipd, + TestSignalName => "MAin5", + Period => tperiod_MAin5, + PulseWidthHigh => tpw_MAin5_posedge, + PulseWidthLow => tpw_MAin5_negedge, + PeriodData => periodcheckinfo_MAin5, + Violation => tviol_MAin5_MAin5, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin5_ipd'last_event, + PathDelay => tpd_MAin5_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_4_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_4_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_4_B"; + + tipd_MAin4 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin4_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin4 : VitalDelayType := 0 ns; + tpw_MAin4_posedge : VitalDelayType := 0 ns; + tpw_MAin4_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin4: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_4_B : ENTITY IS TRUE; + + end MAin_4_B; + + architecture Structure of MAin_4_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin4_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_4: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin4_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin4_ipd, MAin4, tipd_MAin4); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin4_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin4_MAin4 : x01 := '0'; + VARIABLE periodcheckinfo_MAin4 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin4_ipd, + TestSignalName => "MAin4", + Period => tperiod_MAin4, + PulseWidthHigh => tpw_MAin4_posedge, + PulseWidthLow => tpw_MAin4_negedge, + PeriodData => periodcheckinfo_MAin4, + Violation => tviol_MAin4_MAin4, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin4_ipd'last_event, + PathDelay => tpd_MAin4_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_3_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_3_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_3_B"; + + tipd_MAin3 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin3_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin3 : VitalDelayType := 0 ns; + tpw_MAin3_posedge : VitalDelayType := 0 ns; + tpw_MAin3_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin3: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_3_B : ENTITY IS TRUE; + + end MAin_3_B; + + architecture Structure of MAin_3_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin3_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_3: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin3_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin3_ipd, MAin3, tipd_MAin3); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin3_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin3_MAin3 : x01 := '0'; + VARIABLE periodcheckinfo_MAin3 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin3_ipd, + TestSignalName => "MAin3", + Period => tperiod_MAin3, + PulseWidthHigh => tpw_MAin3_posedge, + PulseWidthLow => tpw_MAin3_negedge, + PeriodData => periodcheckinfo_MAin3, + Violation => tviol_MAin3_MAin3, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin3_ipd'last_event, + PathDelay => tpd_MAin3_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_2_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_2_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_2_B"; + + tipd_MAin2 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin2_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin2 : VitalDelayType := 0 ns; + tpw_MAin2_posedge : VitalDelayType := 0 ns; + tpw_MAin2_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin2: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_2_B : ENTITY IS TRUE; + + end MAin_2_B; + + architecture Structure of MAin_2_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin2_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_2: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin2_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin2_ipd, MAin2, tipd_MAin2); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin2_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin2_MAin2 : x01 := '0'; + VARIABLE periodcheckinfo_MAin2 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin2_ipd, + TestSignalName => "MAin2", + Period => tperiod_MAin2, + PulseWidthHigh => tpw_MAin2_posedge, + PulseWidthLow => tpw_MAin2_negedge, + PeriodData => periodcheckinfo_MAin2, + Violation => tviol_MAin2_MAin2, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin2_ipd'last_event, + PathDelay => tpd_MAin2_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_1_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_1_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_1_B"; + + tipd_MAin1 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin1_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin1 : VitalDelayType := 0 ns; + tpw_MAin1_posedge : VitalDelayType := 0 ns; + tpw_MAin1_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin1: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_1_B : ENTITY IS TRUE; + + end MAin_1_B; + + architecture Structure of MAin_1_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin1_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_1: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin1_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin1_ipd, MAin1, tipd_MAin1); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin1_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin1_MAin1 : x01 := '0'; + VARIABLE periodcheckinfo_MAin1 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin1_ipd, + TestSignalName => "MAin1", + Period => tperiod_MAin1, + PulseWidthHigh => tpw_MAin1_posedge, + PulseWidthLow => tpw_MAin1_negedge, + PeriodData => periodcheckinfo_MAin1, + Violation => tviol_MAin1_MAin1, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin1_ipd'last_event, + PathDelay => tpd_MAin1_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity MAin_0_B + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity MAin_0_B is + -- miscellaneous vital GENERICs + GENERIC ( + TimingChecksOn : boolean := TRUE; + XOn : boolean := FALSE; + MsgOn : boolean := TRUE; + InstancePath : string := "MAin_0_B"; + + tipd_MAin0 : VitalDelayType01 := (0 ns, 0 ns); + tpd_MAin0_PADDI : VitalDelayType01 := (0 ns, 0 ns); + tperiod_MAin0 : VitalDelayType := 0 ns; + tpw_MAin0_posedge : VitalDelayType := 0 ns; + tpw_MAin0_negedge : VitalDelayType := 0 ns); + + port (PADDI: out Std_logic; MAin0: in Std_logic); + + ATTRIBUTE Vital_Level0 OF MAin_0_B : ENTITY IS TRUE; + + end MAin_0_B; + + architecture Structure of MAin_0_B is + ATTRIBUTE Vital_Level0 OF Structure : ARCHITECTURE IS TRUE; + + signal PADDI_out : std_logic := 'X'; + signal MAin0_ipd : std_logic := 'X'; + + component mjiobuf0120 + port (Z: out Std_logic; PAD: in Std_logic); + end component; + begin + MAin_pad_0: mjiobuf0120 + port map (Z=>PADDI_out, PAD=>MAin0_ipd); + + -- INPUT PATH DELAYs + WireDelay : BLOCK + BEGIN + VitalWireDelay(MAin0_ipd, MAin0, tipd_MAin0); + END BLOCK; + + VitalBehavior : PROCESS (PADDI_out, MAin0_ipd) + VARIABLE PADDI_zd : std_logic := 'X'; + VARIABLE PADDI_GlitchData : VitalGlitchDataType; + + VARIABLE tviol_MAin0_MAin0 : x01 := '0'; + VARIABLE periodcheckinfo_MAin0 : VitalPeriodDataType; + + BEGIN + + IF (TimingChecksOn) THEN + VitalPeriodPulseCheck ( + TestSignal => MAin0_ipd, + TestSignalName => "MAin0", + Period => tperiod_MAin0, + PulseWidthHigh => tpw_MAin0_posedge, + PulseWidthLow => tpw_MAin0_negedge, + PeriodData => periodcheckinfo_MAin0, + Violation => tviol_MAin0_MAin0, + MsgOn => MsgOn, XOn => XOn, + HeaderMsg => InstancePath, + CheckEnabled => TRUE, + MsgSeverity => warning); + + END IF; + + PADDI_zd := PADDI_out; + + VitalPathDelay01 ( + OutSignal => PADDI, OutSignalName => "PADDI", OutTemp => PADDI_zd, + Paths => (0 => (InputChangeTime => MAin0_ipd'last_event, + PathDelay => tpd_MAin0_PADDI, + PathCondition => TRUE)), + GlitchData => PADDI_GlitchData, + Mode => vitaltransport, XOn => XOn, MsgOn => MsgOn); + + END PROCESS; + + end Structure; + +-- entity RAM2GS + library IEEE, vital2000, MACHXO; + use IEEE.STD_LOGIC_1164.all; + use vital2000.vital_timing.all; + use MACHXO.COMPONENTS.ALL; + + entity RAM2GS is + port (PHI2: in Std_logic; MAin: in Std_logic_vector (9 downto 0); + CROW: in Std_logic_vector (1 downto 0); + Din: in Std_logic_vector (7 downto 0); + Dout: out Std_logic_vector (7 downto 0); nCCAS: in Std_logic; + nCRAS: in Std_logic; nFWE: in Std_logic; LED: out Std_logic; + RBA: out Std_logic_vector (1 downto 0); + RA: out Std_logic_vector (11 downto 0); + RD: inout Std_logic_vector (7 downto 0); nRCS: out Std_logic; + RCLK: in Std_logic; RCKE: out Std_logic; nRWE: out Std_logic; + nRRAS: out Std_logic; nRCAS: out Std_logic; RDQMH: out Std_logic; + RDQML: out Std_logic; nUFMCS: out Std_logic; UFMCLK: out Std_logic; + UFMSDI: out Std_logic; UFMSDO: in Std_logic); + + + + end RAM2GS; + + architecture Structure of RAM2GS is + signal FS_1: Std_logic; + signal FS_0: Std_logic; + signal RCLK_c: Std_logic; + signal FS_cry_1: Std_logic; + signal FS_17: Std_logic; + signal FS_16: Std_logic; + signal FS_cry_15: Std_logic; + signal FS_15: Std_logic; + signal FS_14: Std_logic; + signal FS_cry_13: Std_logic; + signal FS_13: Std_logic; + signal FS_12: Std_logic; + signal FS_cry_11: Std_logic; + signal FS_11: Std_logic; + signal FS_10: Std_logic; + signal FS_cry_9: Std_logic; + signal FS_9: Std_logic; + signal FS_8: Std_logic; + signal FS_cry_7: Std_logic; + signal FS_7: Std_logic; + signal FS_6: Std_logic; + signal FS_cry_5: Std_logic; + signal FS_5: Std_logic; + signal FS_4: Std_logic; + signal FS_cry_3: Std_logic; + signal FS_3: Std_logic; + signal FS_2: Std_logic; + signal CmdEnable17_0_a2_4: Std_logic; + signal N_147: Std_logic; + signal CmdEnable17_0_a2_3: Std_logic; + signal MAin_c_0: Std_logic; + signal ADSubmitted: Std_logic; + signal C1WR_0_a2: Std_logic; + signal CmdEnable17: Std_logic; + signal CmdEnable16: Std_logic; + signal ADSubmitted_r: Std_logic; + signal PHI2_c: Std_logic; + signal CmdEnable16_0_a2_5: Std_logic; + signal CmdEnable16_0_a2_4: Std_logic; + signal MAin_c_1: Std_logic; + signal C1Submitted: Std_logic; + signal C1Submitted_RNO: Std_logic; + signal CO0: Std_logic; + signal S_1: Std_logic; + signal IS_3: Std_logic; + signal RASr2: Std_logic; + signal N_177_i: Std_logic; + signal Ready_0_sqmuxa_0_a3_2: Std_logic; + signal CmdEnable: Std_logic; + signal un1_CMDWR: Std_logic; + signal CmdEnable_s: Std_logic; + signal Din_c_5: Std_logic; + signal Din_c_3: Std_logic; + signal N_128: Std_logic; + signal N_152: Std_logic; + signal LEDEN: Std_logic; + signal N_133: Std_logic; + signal N_132: Std_logic; + signal N_21_i: Std_logic; + signal XOR8MEG18: Std_logic; + signal CmdLEDEN: Std_logic; + signal CmdSubmitted: Std_logic; + signal PHI2r3: Std_logic; + signal PHI2r2: Std_logic; + signal InitReady: Std_logic; + signal CmdSubmitted_1_sqmuxa: Std_logic; + signal N_460_0: Std_logic; + signal N_136: Std_logic; + signal N_43: Std_logic; + signal Cmdn8MEGEN: Std_logic; + signal CmdEnable16_4: Std_logic; + signal n8MEGEN: Std_logic; + signal Cmdn8MEGEN_4_u_i_0: Std_logic; + signal N_19_i: Std_logic; + signal N_160: Std_logic; + signal N_155: Std_logic; + signal nRRAS_5_u_i_0: Std_logic; + signal IS_0: Std_logic; + signal Ready: Std_logic; + signal N_64_i_i: Std_logic; + signal N_24: Std_logic; + signal IS_2: Std_logic; + signal IS_1: Std_logic; + signal N_60_i_i: Std_logic; + signal N_56_i: Std_logic; + signal N_159_i: Std_logic; + signal N_159: Std_logic; + signal N_61_i_i: Std_logic; + signal RA10s_i: Std_logic; + signal N_126: Std_logic; + signal UFMSDI_ens2_i_a2_4_2: Std_logic; + signal N_51: Std_logic; + signal InitReady3: Std_logic; + signal N_461_0: Std_logic; + signal UFMSDI_ens2_i_a0: Std_logic; + signal nCRAS_c: Std_logic; + signal CBR: Std_logic; + signal UFMSDO_c: Std_logic; + signal N_70: Std_logic; + signal N_33: Std_logic; + signal LED_c: Std_logic; + signal XOR8MEG: Std_logic; + signal un1_Din_4: Std_logic; + signal Din_c_6: Std_logic; + signal RA11_2: Std_logic; + signal Ready_fast: Std_logic; + signal RA_c_11: Std_logic; + signal N_171: Std_logic; + signal FWEr_fast: Std_logic; + signal CASr2: Std_logic; + signal RCKEEN_8_u_1: Std_logic; + signal RCKEEN_8_u_0_0: Std_logic; + signal RCKEEN_8: Std_logic; + signal PHI2r: Std_logic; + signal RCKEEN: Std_logic; + signal RASr: Std_logic; + signal RASr3: Std_logic; + signal RCKE_2: Std_logic; + signal RCKE_c: Std_logic; + signal m18_0_a3_3: Std_logic; + signal S_0_i_o2_1: Std_logic; + signal N_165: Std_logic; + signal N_462_0: Std_logic; + signal Ready_0_sqmuxa: Std_logic; + signal N_463_0: Std_logic; + signal nRRAS_0_sqmuxa: Std_logic; + signal CmdUFMCLK: Std_logic; + signal N_129: Std_logic; + signal UFMCLK_r_i_a2_2_2: Std_logic; + signal N_139_i: Std_logic; + signal UFMCLK_r_i_m4_xx_mm_1: Std_logic; + signal nUFMCS15: Std_logic; + signal UFMCLK_c: Std_logic; + signal UFMCLK_RNO: Std_logic; + signal UFMSDI_r_xx_mm_1: Std_logic; + signal UFMSDI_c: Std_logic; + signal UFMSDI_RNO: Std_logic; + signal RowA_4: Std_logic; + signal nRowColSel: Std_logic; + signal MAin_c_4: Std_logic; + signal Din_c_4: Std_logic; + signal nCCAS_c: Std_logic; + signal RA_c_4: Std_logic; + signal WRD_4: Std_logic; + signal WRD_5: Std_logic; + signal Bank_5: Std_logic; + signal Bank_2: Std_logic; + signal Bank_6: Std_logic; + signal Bank_7: Std_logic; + signal Din_c_7: Std_logic; + signal WRD_6: Std_logic; + signal C1WR_0_a2_0_11: Std_logic; + signal WRD_7: Std_logic; + signal Din_c_2: Std_logic; + signal Din_c_0: Std_logic; + signal Din_c_1: Std_logic; + signal XOR8MEG_3_u_0_a3_2: Std_logic; + signal XOR8MEG_3: Std_logic; + signal N_69: Std_logic; + signal N_31: Std_logic; + signal N_151: Std_logic; + signal N_41: Std_logic; + signal nRCAS_0_sqmuxa_1: Std_logic; + signal g0_1: Std_logic; + signal N_37_i: Std_logic; + signal nRCAS_c: Std_logic; + signal CASr3: Std_logic; + signal RCKEEN_8_u_0_a2_1_out: Std_logic; + signal N_28_i_1: Std_logic; + signal N_28_i: Std_logic; + signal nRCS_c: Std_logic; + signal N_24_i: Std_logic; + signal nRRAS_c: Std_logic; + signal CBR_fast: Std_logic; + signal FWEr: Std_logic; + signal m18_0_a2_1: Std_logic; + signal G_17_1: Std_logic; + signal N_39_i: Std_logic; + signal nRWE_c: Std_logic; + signal N_179: Std_logic; + signal nRowColSel_0_0: Std_logic; + signal nUFMCS_c: Std_logic; + signal nUFMCS_s_0_N_5_i_N_2L1: Std_logic; + signal nUFMCS_s_0_N_5_i: Std_logic; + signal CmdUFMCS: Std_logic; + signal N_95_5: Std_logic; + signal N_95_3: Std_logic; + signal RowA_0: Std_logic; + signal RowA_1: Std_logic; + signal MAin_c_5: Std_logic; + signal CmdUFMCLK_1_sqmuxa: Std_logic; + signal RowA_5: Std_logic; + signal N_137_8: Std_logic; + signal un1_FS_14_i_a2_0_1: Std_logic; + signal N_137_6: Std_logic; + signal un1_FS_13_i_a2_1: Std_logic; + signal Bank_0: Std_logic; + signal C1WR_0_a2_0_10: Std_logic; + signal Bank_1: Std_logic; + signal MAin_c_7: Std_logic; + signal MAin_c_6: Std_logic; + signal C1WR_0_a2_0_4: Std_logic; + signal Bank_3: Std_logic; + signal Bank_4: Std_logic; + signal C1WR_0_a2_0_3: Std_logic; + signal UFMSDI_ens2_i_o2_0_3: Std_logic; + signal MAin_c_3: Std_logic; + signal MAin_c_2: Std_logic; + signal RowA_2: Std_logic; + signal RowA_3: Std_logic; + signal CmdUFMSDI: Std_logic; + signal CASr: Std_logic; + signal CmdEnable16_1: Std_logic; + signal m6_0_a2_2: Std_logic; + signal WRD_0: Std_logic; + signal WRD_1: Std_logic; + signal g4_0_0_0: Std_logic; + signal MAin_c_9: Std_logic; + signal MAin_c_8: Std_logic; + signal RowA_8: Std_logic; + signal RowA_9: Std_logic; + signal nFWE_c: Std_logic; + signal CROW_c_1: Std_logic; + signal CROW_c_0: Std_logic; + signal RBA_c_0: Std_logic; + signal RBA_c_1: Std_logic; + signal WRD_2: Std_logic; + signal WRD_3: Std_logic; + signal RA_c_9: Std_logic; + signal RDQML_c: Std_logic; + signal RD_1_i: Std_logic; + signal RowA_6: Std_logic; + signal RowA_7: Std_logic; + signal RA_c_8: Std_logic; + signal RDQMH_c: Std_logic; + signal RA_c_0: Std_logic; + signal RA_c_1: Std_logic; + signal RA_c_7: Std_logic; + signal RA_c_2: Std_logic; + signal RA_c_6: Std_logic; + signal RA_c_3: Std_logic; + signal RA_c_5: Std_logic; + signal RA_c_10: Std_logic; + signal RD_in_0: Std_logic; + signal RD_in_7: Std_logic; + signal RD_in_6: Std_logic; + signal RD_in_5: Std_logic; + signal RD_in_4: Std_logic; + signal RD_in_3: Std_logic; + signal RD_in_2: Std_logic; + signal RD_in_1: Std_logic; + signal VCCI: Std_logic; + signal GNDI_TSALL: Std_logic; + component VHI + port (Z: out Std_logic); + end component; + component VLO + port (Z: out Std_logic); + end component; + component PUR + port (PUR: in Std_logic); + end component; + component GSR + port (GSR: in Std_logic); + end component; + component TSALL + port (TSALL: in Std_logic); + end component; + component SLICE_0 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + Q0: out Std_logic; Q1: out Std_logic; FCO: out Std_logic); + end component; + component SLICE_1 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_2 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_3 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_4 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_5 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_6 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_7 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_8 + port (A1: in Std_logic; A0: in Std_logic; CLK: in Std_logic; + FCI: in Std_logic; Q0: out Std_logic; Q1: out Std_logic; + FCO: out Std_logic); + end component; + component SLICE_9 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_14 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_19 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_20 + port (D1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + OFX0: out Std_logic; Q0: out Std_logic); + end component; + component SLICE_21 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_22 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_26 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_29 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; DI0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_30 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; A0: in Std_logic; DI1: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_31 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_32 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_33 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_39 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_41 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_42 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_43 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_44 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; M1: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_50 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + C0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_51 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_52 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + M1: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_55 + port (D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_56 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_57 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CE: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_58 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + DI0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_59 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_60 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_61 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_62 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_63 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_64 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; DI0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component nRWE_RNO_1_SLICE_65 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + OFX0: out Std_logic); + end component; + component SLICE_66 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_67 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_68 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_69 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_70 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; C0: in Std_logic; B0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_71 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_72 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + LSR: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_73 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CE: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_74 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M0: in Std_logic; CE: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_75 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_76 + port (D1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_77 + port (C1: in Std_logic; A1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_78 + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_79 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; M1: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_80 + port (C1: in Std_logic; B1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_81 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_82 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M0: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_83 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; A0: in Std_logic; + M1: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_84 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_85 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + A1: in Std_logic; D0: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; CLK: in Std_logic; F0: out Std_logic; + Q0: out Std_logic; F1: out Std_logic; Q1: out Std_logic); + end component; + component SLICE_86 + port (C1: in Std_logic; A1: in Std_logic; C0: in Std_logic; + B0: in Std_logic; A0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_87 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + A0: in Std_logic; F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_88 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; M1: in Std_logic; + M0: in Std_logic; LSR: in Std_logic; CLK: in Std_logic; + F0: out Std_logic; Q0: out Std_logic; F1: out Std_logic; + Q1: out Std_logic); + end component; + component SLICE_89 + port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; B0: in Std_logic; F0: out Std_logic; + F1: out Std_logic); + end component; + component SLICE_90 + port (C1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_91 + port (D1: in Std_logic; C1: in Std_logic; B1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_92 + port (D1: in Std_logic; C1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; C0: in Std_logic; B0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_93 + port (D1: in Std_logic; B1: in Std_logic; A1: in Std_logic; + D0: in Std_logic; B0: in Std_logic; A0: in Std_logic; + F0: out Std_logic; F1: out Std_logic); + end component; + component SLICE_94 + port (D1: in Std_logic; C1: in Std_logic; D0: in Std_logic; + C0: in Std_logic; M0: in Std_logic; LSR: in Std_logic; + CLK: in Std_logic; F0: out Std_logic; Q0: out Std_logic; + F1: out Std_logic); + end component; + component RD_0_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD0: inout Std_logic); + end component; + component Dout_0_B + port (PADDO: in Std_logic; Dout0: out Std_logic); + end component; + component PHI2B + port (PADDI: out Std_logic; PHI2S: in Std_logic); + end component; + component UFMSDOB + port (PADDI: out Std_logic; UFMSDOS: in Std_logic); + end component; + component UFMSDIB + port (PADDO: in Std_logic; UFMSDIS: out Std_logic); + end component; + component UFMCLKB + port (PADDO: in Std_logic; UFMCLKS: out Std_logic); + end component; + component nUFMCSB + port (PADDO: in Std_logic; nUFMCSS: out Std_logic); + end component; + component RDQMLB + port (PADDO: in Std_logic; RDQMLS: out Std_logic); + end component; + component RDQMHB + port (PADDO: in Std_logic; RDQMHS: out Std_logic); + end component; + component nRCASB + port (PADDO: in Std_logic; nRCASS: out Std_logic); + end component; + component nRRASB + port (PADDO: in Std_logic; nRRASS: out Std_logic); + end component; + component nRWEB + port (PADDO: in Std_logic; nRWES: out Std_logic); + end component; + component RCKEB + port (PADDO: in Std_logic; RCKES: out Std_logic); + end component; + component RCLKB + port (PADDI: out Std_logic; RCLKS: in Std_logic); + end component; + component nRCSB + port (PADDO: in Std_logic; nRCSS: out Std_logic); + end component; + component RD_7_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD7: inout Std_logic); + end component; + component RD_6_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD6: inout Std_logic); + end component; + component RD_5_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD5: inout Std_logic); + end component; + component RD_4_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD4: inout Std_logic); + end component; + component RD_3_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD3: inout Std_logic); + end component; + component RD_2_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD2: inout Std_logic); + end component; + component RD_1_B + port (PADDI: out Std_logic; PADDT: in Std_logic; PADDO: in Std_logic; + RD1: inout Std_logic); + end component; + component RA_11_B + port (PADDO: in Std_logic; RA11: out Std_logic); + end component; + component RA_10_B + port (PADDO: in Std_logic; RA10: out Std_logic); + end component; + component RA_9_B + port (PADDO: in Std_logic; RA9: out Std_logic); + end component; + component RA_8_B + port (PADDO: in Std_logic; RA8: out Std_logic); + end component; + component RA_7_B + port (PADDO: in Std_logic; RA7: out Std_logic); + end component; + component RA_6_B + port (PADDO: in Std_logic; RA6: out Std_logic); + end component; + component RA_5_B + port (PADDO: in Std_logic; RA5: out Std_logic); + end component; + component RA_4_B + port (PADDO: in Std_logic; RA4: out Std_logic); + end component; + component RA_3_B + port (PADDO: in Std_logic; RA3: out Std_logic); + end component; + component RA_2_B + port (PADDO: in Std_logic; RA2: out Std_logic); + end component; + component RA_1_B + port (PADDO: in Std_logic; RA1: out Std_logic); + end component; + component RA_0_B + port (PADDO: in Std_logic; RA0: out Std_logic); + end component; + component RBA_1_B + port (PADDO: in Std_logic; RBA1: out Std_logic); + end component; + component RBA_0_B + port (PADDO: in Std_logic; RBA0: out Std_logic); + end component; + component LEDB + port (PADDO: in Std_logic; LEDS: out Std_logic); + end component; + component nFWEB + port (PADDI: out Std_logic; nFWES: in Std_logic); + end component; + component nCRASB + port (PADDI: out Std_logic; nCRASS: in Std_logic); + end component; + component nCCASB + port (PADDI: out Std_logic; nCCASS: in Std_logic); + end component; + component Dout_7_B + port (PADDO: in Std_logic; Dout7: out Std_logic); + end component; + component Dout_6_B + port (PADDO: in Std_logic; Dout6: out Std_logic); + end component; + component Dout_5_B + port (PADDO: in Std_logic; Dout5: out Std_logic); + end component; + component Dout_4_B + port (PADDO: in Std_logic; Dout4: out Std_logic); + end component; + component Dout_3_B + port (PADDO: in Std_logic; Dout3: out Std_logic); + end component; + component Dout_2_B + port (PADDO: in Std_logic; Dout2: out Std_logic); + end component; + component Dout_1_B + port (PADDO: in Std_logic; Dout1: out Std_logic); + end component; + component Din_7_B + port (PADDI: out Std_logic; Din7: in Std_logic); + end component; + component Din_6_B + port (PADDI: out Std_logic; Din6: in Std_logic); + end component; + component Din_5_B + port (PADDI: out Std_logic; Din5: in Std_logic); + end component; + component Din_4_B + port (PADDI: out Std_logic; Din4: in Std_logic); + end component; + component Din_3_B + port (PADDI: out Std_logic; Din3: in Std_logic); + end component; + component Din_2_B + port (PADDI: out Std_logic; Din2: in Std_logic); + end component; + component Din_1_B + port (PADDI: out Std_logic; Din1: in Std_logic); + end component; + component Din_0_B + port (PADDI: out Std_logic; Din0: in Std_logic); + end component; + component CROW_1_B + port (PADDI: out Std_logic; CROW1: in Std_logic); + end component; + component CROW_0_B + port (PADDI: out Std_logic; CROW0: in Std_logic); + end component; + component MAin_9_B + port (PADDI: out Std_logic; MAin9: in Std_logic); + end component; + component MAin_8_B + port (PADDI: out Std_logic; MAin8: in Std_logic); + end component; + component MAin_7_B + port (PADDI: out Std_logic; MAin7: in Std_logic); + end component; + component MAin_6_B + port (PADDI: out Std_logic; MAin6: in Std_logic); + end component; + component MAin_5_B + port (PADDI: out Std_logic; MAin5: in Std_logic); + end component; + component MAin_4_B + port (PADDI: out Std_logic; MAin4: in Std_logic); + end component; + component MAin_3_B + port (PADDI: out Std_logic; MAin3: in Std_logic); + end component; + component MAin_2_B + port (PADDI: out Std_logic; MAin2: in Std_logic); + end component; + component MAin_1_B + port (PADDI: out Std_logic; MAin1: in Std_logic); + end component; + component MAin_0_B + port (PADDI: out Std_logic; MAin0: in Std_logic); + end component; + begin + SLICE_0I: SLICE_0 + port map (A1=>FS_1, A0=>FS_0, CLK=>RCLK_c, Q0=>FS_0, Q1=>FS_1, + FCO=>FS_cry_1); + SLICE_1I: SLICE_1 + port map (A1=>FS_17, A0=>FS_16, CLK=>RCLK_c, FCI=>FS_cry_15, Q0=>FS_16, + Q1=>FS_17); + SLICE_2I: SLICE_2 + port map (A1=>FS_15, A0=>FS_14, CLK=>RCLK_c, FCI=>FS_cry_13, Q0=>FS_14, + Q1=>FS_15, FCO=>FS_cry_15); + SLICE_3I: SLICE_3 + port map (A1=>FS_13, A0=>FS_12, CLK=>RCLK_c, FCI=>FS_cry_11, Q0=>FS_12, + Q1=>FS_13, FCO=>FS_cry_13); + SLICE_4I: SLICE_4 + port map (A1=>FS_11, A0=>FS_10, CLK=>RCLK_c, FCI=>FS_cry_9, Q0=>FS_10, + Q1=>FS_11, FCO=>FS_cry_11); + SLICE_5I: SLICE_5 + port map (A1=>FS_9, A0=>FS_8, CLK=>RCLK_c, FCI=>FS_cry_7, Q0=>FS_8, + Q1=>FS_9, FCO=>FS_cry_9); + SLICE_6I: SLICE_6 + port map (A1=>FS_7, A0=>FS_6, CLK=>RCLK_c, FCI=>FS_cry_5, Q0=>FS_6, + Q1=>FS_7, FCO=>FS_cry_7); + SLICE_7I: SLICE_7 + port map (A1=>FS_5, A0=>FS_4, CLK=>RCLK_c, FCI=>FS_cry_3, Q0=>FS_4, + Q1=>FS_5, FCO=>FS_cry_5); + SLICE_8I: SLICE_8 + port map (A1=>FS_3, A0=>FS_2, CLK=>RCLK_c, FCI=>FS_cry_1, Q0=>FS_2, + Q1=>FS_3, FCO=>FS_cry_3); + SLICE_9I: SLICE_9 + port map (D1=>CmdEnable17_0_a2_4, C1=>N_147, B1=>CmdEnable17_0_a2_3, + A1=>MAin_c_0, D0=>ADSubmitted, C0=>C1WR_0_a2, B0=>CmdEnable17, + A0=>CmdEnable16, DI0=>ADSubmitted_r, CLK=>PHI2_c, + F0=>ADSubmitted_r, Q0=>ADSubmitted, F1=>CmdEnable17); + SLICE_14I: SLICE_14 + port map (C1=>N_147, B1=>CmdEnable16_0_a2_5, A1=>CmdEnable16_0_a2_4, + D0=>CmdEnable16, C0=>N_147, B0=>MAin_c_1, A0=>C1Submitted, + DI0=>C1Submitted_RNO, CLK=>PHI2_c, F0=>C1Submitted_RNO, + Q0=>C1Submitted, F1=>CmdEnable16); + SLICE_19I: SLICE_19 + port map (D1=>CO0, C1=>S_1, B1=>IS_3, A1=>RASr2, C0=>S_1, A0=>CO0, + DI0=>N_177_i, LSR=>RASr2, CLK=>RCLK_c, F0=>N_177_i, Q0=>CO0, + F1=>Ready_0_sqmuxa_0_a3_2); + SLICE_20I: SLICE_20 + port map (D1=>CmdEnable, A1=>ADSubmitted, D0=>CmdEnable17, + C0=>C1Submitted, B0=>un1_CMDWR, A0=>CmdEnable, + DI0=>CmdEnable_s, M0=>CmdEnable16, CLK=>PHI2_c, + OFX0=>CmdEnable_s, Q0=>CmdEnable); + SLICE_21I: SLICE_21 + port map (D1=>Din_c_5, C1=>Din_c_3, B1=>N_128, D0=>N_152, C0=>LEDEN, + B0=>N_133, A0=>N_132, DI0=>N_21_i, CE=>XOR8MEG18, CLK=>PHI2_c, + F0=>N_21_i, Q0=>CmdLEDEN, F1=>N_152); + SLICE_22I: SLICE_22 + port map (D1=>CmdSubmitted, C1=>PHI2r3, B1=>PHI2r2, A1=>InitReady, + D0=>CmdSubmitted_1_sqmuxa, A0=>CmdSubmitted, DI0=>N_460_0, + CLK=>PHI2_c, F0=>N_460_0, Q0=>CmdSubmitted, F1=>N_136); + SLICE_26I: SLICE_26 + port map (D1=>N_128, C1=>N_43, B1=>Cmdn8MEGEN, A1=>CmdEnable16_4, + D0=>n8MEGEN, C0=>Cmdn8MEGEN_4_u_i_0, A0=>N_152, DI0=>N_19_i, + CE=>XOR8MEG18, CLK=>PHI2_c, F0=>N_19_i, Q0=>Cmdn8MEGEN, + F1=>Cmdn8MEGEN_4_u_i_0); + SLICE_29I: SLICE_29 + port map (D1=>N_160, C1=>N_155, B1=>nRRAS_5_u_i_0, A1=>IS_0, C0=>N_155, + B0=>Ready, A0=>IS_0, DI0=>N_64_i_i, CLK=>RCLK_c, F0=>N_64_i_i, + Q0=>IS_0, F1=>N_24); + SLICE_30I: SLICE_30 + port map (D1=>IS_0, C1=>IS_2, A1=>IS_1, D0=>IS_0, A0=>IS_1, + DI1=>N_60_i_i, DI0=>N_56_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_56_i, Q0=>IS_1, F1=>N_60_i_i, Q1=>IS_2); + SLICE_31I: SLICE_31 + port map (D1=>IS_2, C1=>N_159, B1=>IS_1, A1=>IS_3, D0=>IS_2, C0=>IS_3, + B0=>IS_1, A0=>IS_0, DI0=>N_61_i_i, CE=>N_159_i, CLK=>RCLK_c, + F0=>N_61_i_i, Q0=>IS_3, F1=>RA10s_i); + SLICE_32I: SLICE_32 + port map (D1=>N_126, C1=>InitReady, B1=>UFMSDI_ens2_i_a2_4_2, A1=>N_51, + D0=>InitReady3, A0=>InitReady, DI0=>N_461_0, CLK=>RCLK_c, + F0=>N_461_0, Q0=>InitReady, F1=>UFMSDI_ens2_i_a0); + SLICE_33I: SLICE_33 + port map (D1=>LEDEN, C1=>nCRAS_c, A1=>CBR, D0=>InitReady, B0=>CmdLEDEN, + A0=>UFMSDO_c, DI0=>N_70, CE=>N_33, CLK=>RCLK_c, F0=>N_70, + Q0=>LEDEN, F1=>LED_c); + SLICE_39I: SLICE_39 + port map (D1=>XOR8MEG, B1=>un1_Din_4, D0=>XOR8MEG, B0=>Din_c_6, + A0=>n8MEGEN, DI0=>RA11_2, LSR=>Ready_fast, CLK=>PHI2_c, + F0=>RA11_2, Q0=>RA_c_11, F1=>N_171); + SLICE_41I: SLICE_41 + port map (D1=>CO0, C1=>FWEr_fast, B1=>CASr2, A1=>S_1, D0=>CBR, + C0=>RCKEEN_8_u_1, B0=>Ready, A0=>RCKEEN_8_u_0_0, DI0=>RCKEEN_8, + M1=>PHI2r, CLK=>RCLK_c, F0=>RCKEEN_8, Q0=>RCKEEN, + F1=>RCKEEN_8_u_1, Q1=>PHI2r2); + SLICE_42I: SLICE_42 + port map (D1=>IS_1, C1=>IS_2, B1=>IS_0, A1=>RASr2, D0=>RASr, C0=>RASr3, + B0=>RCKEEN, A0=>RASr2, DI0=>RCKE_2, M1=>PHI2_c, CLK=>RCLK_c, + F0=>RCKE_2, Q0=>RCKE_c, F1=>m18_0_a3_3, Q1=>PHI2r); + SLICE_43I: SLICE_43 + port map (D1=>Ready, C1=>S_0_i_o2_1, B1=>RASr2, A1=>InitReady, D0=>Ready, + C0=>N_165, B0=>Ready_0_sqmuxa_0_a3_2, A0=>InitReady, + DI0=>N_462_0, M1=>PHI2r2, CLK=>RCLK_c, F0=>N_462_0, Q0=>Ready, + F1=>RCKEEN_8_u_0_0, Q1=>PHI2r3); + SLICE_44I: SLICE_44 + port map (D1=>Ready, C1=>N_165, B1=>Ready_0_sqmuxa_0_a3_2, A1=>InitReady, + B0=>Ready_0_sqmuxa, A0=>Ready_fast, DI0=>N_463_0, M1=>nCRAS_c, + CLK=>RCLK_c, F0=>N_463_0, Q0=>Ready_fast, F1=>Ready_0_sqmuxa, + Q1=>RASr); + SLICE_50I: SLICE_50 + port map (D1=>Ready, C1=>CO0, A1=>S_1, C0=>CO0, A0=>S_1, DI0=>S_0_i_o2_1, + LSR=>RASr2, CLK=>RCLK_c, F0=>S_0_i_o2_1, Q0=>S_1, + F1=>nRRAS_0_sqmuxa); + SLICE_51I: SLICE_51 + port map (D1=>CmdUFMCLK, C1=>InitReady, B1=>N_129, A1=>UFMCLK_r_i_a2_2_2, + D0=>N_139_i, C0=>UFMCLK_r_i_m4_xx_mm_1, B0=>nUFMCS15, + A0=>UFMCLK_c, DI0=>UFMCLK_RNO, M1=>RASr, CLK=>RCLK_c, + F0=>UFMCLK_RNO, Q0=>UFMCLK_c, F1=>UFMCLK_r_i_m4_xx_mm_1, + Q1=>RASr2); + SLICE_52I: SLICE_52 + port map (D1=>PHI2r3, C1=>InitReady, B1=>PHI2r2, A1=>CmdSubmitted, + D0=>UFMSDI_r_xx_mm_1, C0=>N_139_i, B0=>UFMSDI_c, A0=>nUFMCS15, + DI0=>UFMSDI_RNO, M1=>RASr2, CLK=>RCLK_c, F0=>UFMSDI_RNO, + Q0=>UFMSDI_c, F1=>N_139_i, Q1=>RASr3); + SLICE_55I: SLICE_55 + port map (D0=>RowA_4, B0=>nRowColSel, A0=>MAin_c_4, M1=>Din_c_5, + M0=>Din_c_4, CLK=>nCCAS_c, F0=>RA_c_4, Q0=>WRD_4, Q1=>WRD_5); + SLICE_56I: SLICE_56 + port map (D1=>Bank_5, C1=>Bank_2, B1=>Bank_6, A1=>Bank_7, D0=>FS_5, + C0=>FS_9, A0=>FS_7, M1=>Din_c_7, M0=>Din_c_6, CLK=>nCCAS_c, + F0=>N_126, Q0=>WRD_6, F1=>C1WR_0_a2_0_11, Q1=>WRD_7); + SLICE_57I: SLICE_57 + port map (D1=>un1_Din_4, C1=>Din_c_3, B1=>Din_c_2, A1=>Din_c_0, + D0=>Din_c_1, C0=>XOR8MEG_3_u_0_a3_2, B0=>LEDEN, A0=>N_171, + DI0=>XOR8MEG_3, CE=>XOR8MEG18, CLK=>PHI2_c, F0=>XOR8MEG_3, + Q0=>XOR8MEG, F1=>XOR8MEG_3_u_0_a3_2); + SLICE_58I: SLICE_58 + port map (D1=>N_51, C1=>FS_8, A1=>InitReady, D0=>UFMSDO_c, + B0=>Cmdn8MEGEN, A0=>InitReady, DI0=>N_69, CE=>N_31, + CLK=>RCLK_c, F0=>N_69, Q0=>n8MEGEN, F1=>N_151); + SLICE_59I: SLICE_59 + port map (D1=>Ready, C1=>S_1, B1=>N_155, A1=>N_160, D0=>N_41, + C0=>nRCAS_0_sqmuxa_1, B0=>S_1, A0=>g0_1, DI0=>N_37_i, + CLK=>RCLK_c, F0=>N_37_i, Q0=>nRCAS_c, F1=>N_41); + SLICE_60I: SLICE_60 + port map (D1=>CASr3, C1=>CO0, B1=>FWEr_fast, A1=>CASr2, D0=>CBR, + C0=>RCKEEN_8_u_0_a2_1_out, B0=>N_24, A0=>N_28_i_1, DI0=>N_28_i, + CLK=>RCLK_c, F0=>N_28_i, Q0=>nRCS_c, F1=>N_28_i_1); + SLICE_61I: SLICE_61 + port map (D1=>S_0_i_o2_1, C1=>Ready, B1=>RASr2, A1=>RCKE_c, D0=>N_160, + C0=>N_155, B0=>nRRAS_5_u_i_0, A0=>IS_0, DI0=>N_24_i, + CLK=>RCLK_c, F0=>N_24_i, Q0=>nRRAS_c, F1=>nRRAS_5_u_i_0); + SLICE_62I: SLICE_62 + port map (D1=>CBR_fast, C1=>S_0_i_o2_1, B1=>Ready, A1=>RASr2, D0=>FWEr, + C0=>m18_0_a2_1, B0=>nRCAS_0_sqmuxa_1, A0=>G_17_1, DI0=>N_39_i, + CLK=>RCLK_c, F0=>N_39_i, Q0=>nRWE_c, F1=>nRCAS_0_sqmuxa_1); + SLICE_63I: SLICE_63 + port map (D1=>CASr3, C1=>Ready, B1=>FWEr, A1=>CBR, D0=>N_179, C0=>Ready, + B0=>CO0, A0=>S_1, DI0=>nRowColSel_0_0, LSR=>nRRAS_0_sqmuxa, + CLK=>RCLK_c, F0=>nRowColSel_0_0, Q0=>nRowColSel, F1=>N_179); + SLICE_64I: SLICE_64 + port map (D1=>FS_10, C1=>N_51, B1=>FS_11, A1=>InitReady, D0=>nUFMCS_c, + C0=>nUFMCS_s_0_N_5_i_N_2L1, B0=>nUFMCS15, A0=>N_139_i, + DI0=>nUFMCS_s_0_N_5_i, CLK=>RCLK_c, F0=>nUFMCS_s_0_N_5_i, + Q0=>nUFMCS_c, F1=>nUFMCS15); + nRWE_RNO_1_SLICE_65I: nRWE_RNO_1_SLICE_65 + port map (D1=>RASr2, C1=>RCKE_c, B1=>CO0, A1=>S_1, D0=>S_1, + C0=>m18_0_a3_3, B0=>CO0, A0=>InitReady, M0=>Ready, + OFX0=>m18_0_a2_1); + SLICE_66I: SLICE_66 + port map (C1=>InitReady, B1=>CmdUFMCS, A1=>UFMCLK_r_i_a2_2_2, D0=>N_95_5, + C0=>InitReady, B0=>FS_16, A0=>N_95_3, M1=>MAin_c_1, + M0=>MAin_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>UFMCLK_r_i_a2_2_2, Q0=>RowA_0, F1=>nUFMCS_s_0_N_5_i_N_2L1, + Q1=>RowA_1); + SLICE_67I: SLICE_67 + port map (D1=>Din_c_5, C1=>XOR8MEG18, B1=>Din_c_3, A1=>N_128, + D0=>MAin_c_1, C0=>MAin_c_0, B0=>CmdEnable, A0=>N_147, + M1=>MAin_c_5, M0=>MAin_c_4, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>XOR8MEG18, Q0=>RowA_4, F1=>CmdUFMCLK_1_sqmuxa, Q1=>RowA_5); + SLICE_68I: SLICE_68 + port map (D1=>FS_3, C1=>FS_0, B1=>FS_2, A1=>FS_5, D0=>N_136, C0=>N_137_8, + B0=>un1_FS_14_i_a2_0_1, A0=>N_137_6, F0=>N_31, + F1=>un1_FS_14_i_a2_0_1); + SLICE_69I: SLICE_69 + port map (D1=>FS_3, C1=>FS_0, B1=>FS_2, A1=>FS_5, D0=>N_137_8, + C0=>un1_FS_13_i_a2_1, B0=>N_136, A0=>N_137_6, F0=>N_33, + F1=>un1_FS_13_i_a2_1); + SLICE_70I: SLICE_70 + port map (D1=>Bank_0, C1=>C1WR_0_a2_0_10, B1=>C1WR_0_a2_0_11, A1=>Bank_1, + C0=>MAin_c_1, B0=>N_147, M1=>Din_c_1, M0=>Din_c_0, CLK=>PHI2_c, + F0=>C1WR_0_a2, Q0=>Bank_0, F1=>N_147, Q1=>Bank_1); + SLICE_71I: SLICE_71 + port map (D1=>MAin_c_5, C1=>MAin_c_7, B1=>MAin_c_6, A1=>MAin_c_4, + D0=>C1WR_0_a2_0_4, C0=>Bank_3, B0=>Bank_4, A0=>C1WR_0_a2_0_3, + M1=>Din_c_3, M0=>Din_c_2, CLK=>PHI2_c, F0=>C1WR_0_a2_0_10, + Q0=>Bank_2, F1=>C1WR_0_a2_0_4, Q1=>Bank_3); + SLICE_72I: SLICE_72 + port map (D1=>UFMSDI_ens2_i_o2_0_3, C1=>FS_16, A1=>FS_12, D0=>FS_1, + C0=>N_51, B0=>FS_11, A0=>FS_4, M1=>MAin_c_3, M0=>MAin_c_2, + LSR=>Ready_fast, CLK=>nCRAS_c, F0=>N_129, Q0=>RowA_2, F1=>N_51, + Q1=>RowA_3); + SLICE_73I: SLICE_73 + port map (D1=>S_1, C1=>RASr2, B1=>CO0, A1=>InitReady, B0=>N_155, + A0=>Ready, M1=>Din_c_2, M0=>Din_c_1, CE=>CmdUFMCLK_1_sqmuxa, + CLK=>PHI2_c, F0=>N_159, Q0=>CmdUFMCLK, F1=>N_155, Q1=>CmdUFMCS); + SLICE_74I: SLICE_74 + port map (D1=>FS_14, B1=>FS_11, D0=>FS_16, C0=>N_95_3, B0=>FS_10, + A0=>N_95_5, M0=>Din_c_0, CE=>CmdUFMCLK_1_sqmuxa, CLK=>PHI2_c, + F0=>InitReady3, Q0=>CmdUFMSDI, F1=>N_95_3); + SLICE_75I: SLICE_75 + port map (C1=>Din_c_4, B1=>Din_c_7, A1=>Din_c_6, D0=>Din_c_1, C0=>N_128, + A0=>Din_c_5, M1=>CASr, M0=>nCCAS_c, CLK=>RCLK_c, F0=>N_133, + Q0=>CASr, F1=>N_128, Q1=>CASr2); + SLICE_76I: SLICE_76 + port map (D1=>Din_c_5, B1=>Din_c_0, D0=>MAin_c_0, C0=>CmdEnable16_4, + B0=>Din_c_1, A0=>Din_c_3, M1=>Din_c_5, M0=>Din_c_4, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_4, Q0=>Bank_4, + F1=>CmdEnable16_4, Q1=>Bank_5); + SLICE_77I: SLICE_77 + port map (C1=>Din_c_7, A1=>Din_c_4, D0=>MAin_c_1, C0=>CmdEnable16_1, + B0=>Din_c_6, A0=>Din_c_2, M1=>Din_c_7, M0=>Din_c_6, + CLK=>PHI2_c, F0=>CmdEnable16_0_a2_5, Q0=>Bank_6, + F1=>CmdEnable16_1, Q1=>Bank_7); + SLICE_78I: SLICE_78 + port map (C1=>Din_c_3, B1=>Din_c_5, D0=>MAin_c_1, C0=>Din_c_6, B0=>N_43, + A0=>Din_c_2, M1=>nCCAS_c, M0=>nCCAS_c, CLK=>nCRAS_c, + F0=>CmdEnable17_0_a2_4, Q0=>CBR, F1=>N_43, Q1=>CBR_fast); + SLICE_79I: SLICE_79 + port map (D1=>CASr3, C1=>Ready, B1=>CASr2, D0=>CO0, C0=>m6_0_a2_2, + B0=>CBR, A0=>S_1, M1=>Din_c_1, M0=>Din_c_0, CLK=>nCCAS_c, + F0=>G_17_1, Q0=>WRD_0, F1=>m6_0_a2_2, Q1=>WRD_1); + SLICE_80I: SLICE_80 + port map (C1=>CASr2, B1=>CASr3, D0=>FWEr, C0=>CBR_fast, B0=>g4_0_0_0, + A0=>CO0, M1=>MAin_c_9, M0=>MAin_c_8, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>g0_1, Q0=>RowA_8, F1=>g4_0_0_0, Q1=>RowA_9); + SLICE_81I: SLICE_81 + port map (D1=>FS_14, C1=>FS_17, B1=>FS_15, A1=>FS_13, D0=>FS_12, + C0=>FS_17, B0=>FS_15, A0=>FS_13, M1=>nFWE_c, M0=>nFWE_c, + CLK=>nCRAS_c, F0=>N_95_5, Q0=>FWEr, F1=>UFMSDI_ens2_i_o2_0_3, + Q1=>FWEr_fast); + SLICE_82I: SLICE_82 + port map (D1=>Din_c_5, C1=>CmdLEDEN, B1=>N_128, A1=>Din_c_3, D0=>Din_c_5, + C0=>XOR8MEG18, B0=>N_128, A0=>Din_c_3, M0=>CASr2, CLK=>RCLK_c, + F0=>CmdSubmitted_1_sqmuxa, Q0=>CASr3, F1=>N_132); + SLICE_83I: SLICE_83 + port map (C1=>IS_2, B1=>IS_3, A1=>IS_1, D0=>IS_0, C0=>IS_2, A0=>IS_1, + M1=>CROW_c_1, M0=>CROW_c_0, LSR=>Ready_fast, CLK=>nCRAS_c, + F0=>N_165, Q0=>RBA_c_0, F1=>N_160, Q1=>RBA_c_1); + SLICE_84I: SLICE_84 + port map (D1=>FS_8, C1=>FS_10, B1=>FS_11, A1=>FS_6, D0=>FS_7, C0=>FS_1, + B0=>FS_10, A0=>FS_6, F0=>N_137_6, F1=>UFMSDI_ens2_i_a2_4_2); + SLICE_85I: SLICE_85 + port map (D1=>Din_c_1, C1=>Din_c_7, B1=>Din_c_4, A1=>Din_c_0, + D0=>Din_c_6, C0=>Din_c_7, B0=>Din_c_4, A0=>Din_c_5, + M1=>Din_c_3, M0=>Din_c_2, CLK=>nCCAS_c, F0=>un1_Din_4, + Q0=>WRD_2, F1=>CmdEnable17_0_a2_3, Q1=>WRD_3); + SLICE_86I: SLICE_86 + port map (C1=>MAin_c_9, A1=>nRowColSel, C0=>MAin_c_9, B0=>RowA_9, + A0=>nRowColSel, F0=>RA_c_9, F1=>RDQML_c); + SLICE_87I: SLICE_87 + port map (D1=>UFMSDI_ens2_i_a0, C1=>CmdUFMSDI, B1=>N_151, D0=>N_151, + C0=>FS_9, B0=>FS_11, A0=>FS_4, F0=>N_137_8, + F1=>UFMSDI_r_xx_mm_1); + SLICE_88I: SLICE_88 + port map (C1=>nFWE_c, B1=>MAin_c_2, A1=>MAin_c_3, D0=>nCCAS_c, + C0=>nFWE_c, M1=>MAin_c_7, M0=>MAin_c_6, LSR=>Ready_fast, + CLK=>nCRAS_c, F0=>RD_1_i, Q0=>RowA_6, F1=>C1WR_0_a2_0_3, + Q1=>RowA_7); + SLICE_89I: SLICE_89 + port map (D1=>nRowColSel, C1=>MAin_c_9, D0=>nRowColSel, C0=>MAin_c_8, + B0=>RowA_8, F0=>RA_c_8, F1=>RDQMH_c); + SLICE_90I: SLICE_90 + port map (C1=>N_147, B1=>MAin_c_0, A1=>MAin_c_1, D0=>RowA_0, + B0=>MAin_c_0, A0=>nRowColSel, F0=>RA_c_0, F1=>un1_CMDWR); + SLICE_91I: SLICE_91 + port map (D1=>nRowColSel, C1=>RowA_7, B1=>MAin_c_7, D0=>RowA_1, + C0=>nRowColSel, B0=>MAin_c_1, F0=>RA_c_1, F1=>RA_c_7); + SLICE_92I: SLICE_92 + port map (D1=>nRowColSel, C1=>MAin_c_6, A1=>RowA_6, D0=>nRowColSel, + C0=>RowA_2, B0=>MAin_c_2, F0=>RA_c_2, F1=>RA_c_6); + SLICE_93I: SLICE_93 + port map (D1=>RowA_5, B1=>nRowColSel, A1=>MAin_c_5, D0=>RowA_3, + B0=>nRowColSel, A0=>MAin_c_3, F0=>RA_c_3, F1=>RA_c_5); + SLICE_94I: SLICE_94 + port map (D1=>Ready, C1=>N_155, D0=>Ready, C0=>S_1, M0=>IS_0, + LSR=>RA10s_i, CLK=>RCLK_c, F0=>RCKEEN_8_u_0_a2_1_out, + Q0=>RA_c_10, F1=>N_159_i); + RD_0_I: RD_0_B + port map (PADDI=>RD_in_0, PADDT=>RD_1_i, PADDO=>WRD_0, RD0=>RD(0)); + Dout_0_I: Dout_0_B + port map (PADDO=>RD_in_0, Dout0=>Dout(0)); + PHI2I: PHI2B + port map (PADDI=>PHI2_c, PHI2S=>PHI2); + UFMSDOI: UFMSDOB + port map (PADDI=>UFMSDO_c, UFMSDOS=>UFMSDO); + UFMSDII: UFMSDIB + port map (PADDO=>UFMSDI_c, UFMSDIS=>UFMSDI); + UFMCLKI: UFMCLKB + port map (PADDO=>UFMCLK_c, UFMCLKS=>UFMCLK); + nUFMCSI: nUFMCSB + port map (PADDO=>nUFMCS_c, nUFMCSS=>nUFMCS); + RDQMLI: RDQMLB + port map (PADDO=>RDQML_c, RDQMLS=>RDQML); + RDQMHI: RDQMHB + port map (PADDO=>RDQMH_c, RDQMHS=>RDQMH); + nRCASI: nRCASB + port map (PADDO=>nRCAS_c, nRCASS=>nRCAS); + nRRASI: nRRASB + port map (PADDO=>nRRAS_c, nRRASS=>nRRAS); + nRWEI: nRWEB + port map (PADDO=>nRWE_c, nRWES=>nRWE); + RCKEI: RCKEB + port map (PADDO=>RCKE_c, RCKES=>RCKE); + RCLKI: RCLKB + port map (PADDI=>RCLK_c, RCLKS=>RCLK); + nRCSI: nRCSB + port map (PADDO=>nRCS_c, nRCSS=>nRCS); + RD_7_I: RD_7_B + port map (PADDI=>RD_in_7, PADDT=>RD_1_i, PADDO=>WRD_7, RD7=>RD(7)); + RD_6_I: RD_6_B + port map (PADDI=>RD_in_6, PADDT=>RD_1_i, PADDO=>WRD_6, RD6=>RD(6)); + RD_5_I: RD_5_B + port map (PADDI=>RD_in_5, PADDT=>RD_1_i, PADDO=>WRD_5, RD5=>RD(5)); + RD_4_I: RD_4_B + port map (PADDI=>RD_in_4, PADDT=>RD_1_i, PADDO=>WRD_4, RD4=>RD(4)); + RD_3_I: RD_3_B + port map (PADDI=>RD_in_3, PADDT=>RD_1_i, PADDO=>WRD_3, RD3=>RD(3)); + RD_2_I: RD_2_B + port map (PADDI=>RD_in_2, PADDT=>RD_1_i, PADDO=>WRD_2, RD2=>RD(2)); + RD_1_I0: RD_1_B + port map (PADDI=>RD_in_1, PADDT=>RD_1_i, PADDO=>WRD_1, RD1=>RD(1)); + RA_11_I: RA_11_B + port map (PADDO=>RA_c_11, RA11=>RA(11)); + RA_10_I: RA_10_B + port map (PADDO=>RA_c_10, RA10=>RA(10)); + RA_9_I: RA_9_B + port map (PADDO=>RA_c_9, RA9=>RA(9)); + RA_8_I: RA_8_B + port map (PADDO=>RA_c_8, RA8=>RA(8)); + RA_7_I: RA_7_B + port map (PADDO=>RA_c_7, RA7=>RA(7)); + RA_6_I: RA_6_B + port map (PADDO=>RA_c_6, RA6=>RA(6)); + RA_5_I: RA_5_B + port map (PADDO=>RA_c_5, RA5=>RA(5)); + RA_4_I: RA_4_B + port map (PADDO=>RA_c_4, RA4=>RA(4)); + RA_3_I: RA_3_B + port map (PADDO=>RA_c_3, RA3=>RA(3)); + RA_2_I: RA_2_B + port map (PADDO=>RA_c_2, RA2=>RA(2)); + RA_1_I: RA_1_B + port map (PADDO=>RA_c_1, RA1=>RA(1)); + RA_0_I: RA_0_B + port map (PADDO=>RA_c_0, RA0=>RA(0)); + RBA_1_I: RBA_1_B + port map (PADDO=>RBA_c_1, RBA1=>RBA(1)); + RBA_0_I: RBA_0_B + port map (PADDO=>RBA_c_0, RBA0=>RBA(0)); + LEDI: LEDB + port map (PADDO=>LED_c, LEDS=>LED); + nFWEI: nFWEB + port map (PADDI=>nFWE_c, nFWES=>nFWE); + nCRASI: nCRASB + port map (PADDI=>nCRAS_c, nCRASS=>nCRAS); + nCCASI: nCCASB + port map (PADDI=>nCCAS_c, nCCASS=>nCCAS); + Dout_7_I: Dout_7_B + port map (PADDO=>RD_in_7, Dout7=>Dout(7)); + Dout_6_I: Dout_6_B + port map (PADDO=>RD_in_6, Dout6=>Dout(6)); + Dout_5_I: Dout_5_B + port map (PADDO=>RD_in_5, Dout5=>Dout(5)); + Dout_4_I: Dout_4_B + port map (PADDO=>RD_in_4, Dout4=>Dout(4)); + Dout_3_I: Dout_3_B + port map (PADDO=>RD_in_3, Dout3=>Dout(3)); + Dout_2_I: Dout_2_B + port map (PADDO=>RD_in_2, Dout2=>Dout(2)); + Dout_1_I: Dout_1_B + port map (PADDO=>RD_in_1, Dout1=>Dout(1)); + Din_7_I: Din_7_B + port map (PADDI=>Din_c_7, Din7=>Din(7)); + Din_6_I: Din_6_B + port map (PADDI=>Din_c_6, Din6=>Din(6)); + Din_5_I: Din_5_B + port map (PADDI=>Din_c_5, Din5=>Din(5)); + Din_4_I: Din_4_B + port map (PADDI=>Din_c_4, Din4=>Din(4)); + Din_3_I: Din_3_B + port map (PADDI=>Din_c_3, Din3=>Din(3)); + Din_2_I: Din_2_B + port map (PADDI=>Din_c_2, Din2=>Din(2)); + Din_1_I: Din_1_B + port map (PADDI=>Din_c_1, Din1=>Din(1)); + Din_0_I: Din_0_B + port map (PADDI=>Din_c_0, Din0=>Din(0)); + CROW_1_I: CROW_1_B + port map (PADDI=>CROW_c_1, CROW1=>CROW(1)); + CROW_0_I: CROW_0_B + port map (PADDI=>CROW_c_0, CROW0=>CROW(0)); + MAin_9_I: MAin_9_B + port map (PADDI=>MAin_c_9, MAin9=>MAin(9)); + MAin_8_I: MAin_8_B + port map (PADDI=>MAin_c_8, MAin8=>MAin(8)); + MAin_7_I: MAin_7_B + port map (PADDI=>MAin_c_7, MAin7=>MAin(7)); + MAin_6_I: MAin_6_B + port map (PADDI=>MAin_c_6, MAin6=>MAin(6)); + MAin_5_I: MAin_5_B + port map (PADDI=>MAin_c_5, MAin5=>MAin(5)); + MAin_4_I: MAin_4_B + port map (PADDI=>MAin_c_4, MAin4=>MAin(4)); + MAin_3_I: MAin_3_B + port map (PADDI=>MAin_c_3, MAin3=>MAin(3)); + MAin_2_I: MAin_2_B + port map (PADDI=>MAin_c_2, MAin2=>MAin(2)); + MAin_1_I: MAin_1_B + port map (PADDI=>MAin_c_1, MAin1=>MAin(1)); + MAin_0_I: MAin_0_B + port map (PADDI=>MAin_c_0, MAin0=>MAin(0)); + VHI_INST: VHI + port map (Z=>VCCI); + PUR_INST: PUR + port map (PUR=>VCCI); + GSR_INST: GSR + port map (GSR=>VCCI); + VLO_INST: VLO + port map (Z=>GNDI_TSALL); + TSALL_INST: TSALL + port map (TSALL=>GNDI_TSALL); + end Structure; + + + + library IEEE, vital2000, MACHXO; + configuration Structure_CON of RAM2GS is + for Structure + end for; + end Structure_CON; + + diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.sdf b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.sdf index d91dc50..281ca28 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.sdf +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.sdf @@ -1,2923 +1,2923 @@ -(DELAYFILE - (SDFVERSION "3.0") - (DESIGN "RAM2GS") - (DATE "Wed Aug 16 04:50:54 2023") - (VENDOR "Lattice") - (PROGRAM "ldbanno") - (VERSION "Diamond (64-bit) 3.12.1.454") - (DIVIDER /) - (VOLTAGE 1.26:1.20:1.14) - (PROCESS "default") - (TEMPERATURE -40:25:85) - (TIMESCALE 1ps) - (CELL - (CELLTYPE "SLICE_0") - (INSTANCE SLICE_0) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - ) - ) - (CELL - (CELLTYPE "SLICE_1") - (INSTANCE SLICE_1) - (DELAY - (ABSOLUTE - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_2") - (INSTANCE SLICE_2) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_3") - (INSTANCE SLICE_3) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_4") - (INSTANCE SLICE_4) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_5") - (INSTANCE SLICE_5) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_6") - (INSTANCE SLICE_6) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_7") - (INSTANCE SLICE_7) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_8") - (INSTANCE SLICE_8) - (DELAY - (ABSOLUTE - (IOPATH A1 FCO (619:692:766)(619:692:766)) - (IOPATH A0 FCO (713:797:882)(713:797:882)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - (IOPATH FCI FCO (115:128:141)(115:128:141)) - ) - ) - (TIMINGCHECK - (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) - (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) - (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) - ) - ) - (CELL - (CELLTYPE "SLICE_9") - (INSTANCE SLICE_9) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_14") - (INSTANCE SLICE_14) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_19") - (INSTANCE SLICE_19) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_20") - (INSTANCE SLICE_20) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_21") - (INSTANCE SLICE_21) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_22") - (INSTANCE SLICE_22) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - ) - ) - (CELL - (CELLTYPE "SLICE_26") - (INSTANCE SLICE_26) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_29") - (INSTANCE SLICE_29) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_30") - (INSTANCE SLICE_30) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_31") - (INSTANCE SLICE_31) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_32") - (INSTANCE SLICE_32) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_33") - (INSTANCE SLICE_33) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_39") - (INSTANCE SLICE_39) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_41") - (INSTANCE SLICE_41) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_42") - (INSTANCE SLICE_42) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_43") - (INSTANCE SLICE_43) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_44") - (INSTANCE SLICE_44) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_50") - (INSTANCE SLICE_50) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_51") - (INSTANCE SLICE_51) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_52") - (INSTANCE SLICE_52) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_55") - (INSTANCE SLICE_55) - (DELAY - (ABSOLUTE - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_56") - (INSTANCE SLICE_56) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_57") - (INSTANCE SLICE_57) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_58") - (INSTANCE SLICE_58) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_59") - (INSTANCE SLICE_59) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_60") - (INSTANCE SLICE_60) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_61") - (INSTANCE SLICE_61) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_62") - (INSTANCE SLICE_62) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_63") - (INSTANCE SLICE_63) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_64") - (INSTANCE SLICE_64) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "nRWE_RNO_1_SLICE_65") - (INSTANCE nRWE_RNO_1\/SLICE_65) - (DELAY - (ABSOLUTE - (IOPATH D1 OFX0 (496:555:615)(496:555:615)) - (IOPATH C1 OFX0 (496:555:615)(496:555:615)) - (IOPATH B1 OFX0 (496:555:615)(496:555:615)) - (IOPATH A1 OFX0 (496:555:615)(496:555:615)) - (IOPATH D0 OFX0 (508:569:631)(508:569:631)) - (IOPATH C0 OFX0 (508:569:631)(508:569:631)) - (IOPATH B0 OFX0 (508:569:631)(508:569:631)) - (IOPATH A0 OFX0 (508:569:631)(508:569:631)) - (IOPATH M0 OFX0 (405:453:501)(405:453:501)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_66") - (INSTANCE SLICE_66) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_67") - (INSTANCE SLICE_67) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_68") - (INSTANCE SLICE_68) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_69") - (INSTANCE SLICE_69) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_70") - (INSTANCE SLICE_70) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_71") - (INSTANCE SLICE_71) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_72") - (INSTANCE SLICE_72) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_73") - (INSTANCE SLICE_73) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_74") - (INSTANCE SLICE_74) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) - ) - ) - (CELL - (CELLTYPE "SLICE_75") - (INSTANCE SLICE_75) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_76") - (INSTANCE SLICE_76) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_77") - (INSTANCE SLICE_77) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - (IOPATH CLK Q1 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_78") - (INSTANCE SLICE_78) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_79") - (INSTANCE SLICE_79) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_80") - (INSTANCE SLICE_80) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_81") - (INSTANCE SLICE_81) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_82") - (INSTANCE SLICE_82) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "SLICE_83") - (INSTANCE SLICE_83) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_84") - (INSTANCE SLICE_84) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_85") - (INSTANCE SLICE_85) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - ) - ) - (CELL - (CELLTYPE "SLICE_86") - (INSTANCE SLICE_86) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_87") - (INSTANCE SLICE_87) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_88") - (INSTANCE SLICE_88) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (560:586:613)(560:586:613)) - (IOPATH CLK Q1 (560:586:613)(560:586:613)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - (TIMINGCHECK - (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) - (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) - ) - ) - (CELL - (CELLTYPE "SLICE_89") - (INSTANCE SLICE_89) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_90") - (INSTANCE SLICE_90) - (DELAY - (ABSOLUTE - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_91") - (INSTANCE SLICE_91) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_92") - (INSTANCE SLICE_92) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_93") - (INSTANCE SLICE_93) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH B1 F1 (301:336:371)(301:336:371)) - (IOPATH A1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH B0 F0 (301:336:371)(301:336:371)) - (IOPATH A0 F0 (301:336:371)(301:336:371)) - ) - ) - ) - (CELL - (CELLTYPE "SLICE_94") - (INSTANCE SLICE_94) - (DELAY - (ABSOLUTE - (IOPATH D1 F1 (301:336:371)(301:336:371)) - (IOPATH C1 F1 (301:336:371)(301:336:371)) - (IOPATH D0 F0 (301:336:371)(301:336:371)) - (IOPATH C0 F0 (301:336:371)(301:336:371)) - (IOPATH CLK Q0 (515:537:560)(515:537:560)) - ) - ) - (TIMINGCHECK - (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) - (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) - ) - (TIMINGCHECK - (WIDTH (posedge CLK) (1000:1000:1000)) - (WIDTH (negedge CLK) (1000:1000:1000)) - ) - ) - (CELL - (CELLTYPE "RD_0_") - (INSTANCE RD\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD0) (1250:1250:1250)) - (WIDTH (negedge RD0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_0_") - (INSTANCE Dout\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "PHI2") - (INSTANCE PHI2_I) - (DELAY - (ABSOLUTE - (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge PHI2) (1250:1250:1250)) - (WIDTH (negedge PHI2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDO") - (INSTANCE UFMSDO_I) - (DELAY - (ABSOLUTE - (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge UFMSDO) (1250:1250:1250)) - (WIDTH (negedge UFMSDO) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "UFMSDI") - (INSTANCE UFMSDI_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "UFMCLK") - (INSTANCE UFMCLK_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nUFMCS") - (INSTANCE nUFMCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQML") - (INSTANCE RDQML_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RDQMH") - (INSTANCE RDQMH_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRCAS") - (INSTANCE nRCAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRRAS") - (INSTANCE nRRAS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "nRWE") - (INSTANCE nRWE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCKE") - (INSTANCE RCKE_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RCLK") - (INSTANCE RCLK_I) - (DELAY - (ABSOLUTE - (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RCLK) (1250:1250:1250)) - (WIDTH (negedge RCLK) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nRCS") - (INSTANCE nRCS_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RD_7_") - (INSTANCE RD\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD7) (1250:1250:1250)) - (WIDTH (negedge RD7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_6_") - (INSTANCE RD\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD6) (1250:1250:1250)) - (WIDTH (negedge RD6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_5_") - (INSTANCE RD\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD5) (1250:1250:1250)) - (WIDTH (negedge RD5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_4_") - (INSTANCE RD\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD4) (1250:1250:1250)) - (WIDTH (negedge RD4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_3_") - (INSTANCE RD\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD3) (1250:1250:1250)) - (WIDTH (negedge RD3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_2_") - (INSTANCE RD\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD2) (1250:1250:1250)) - (WIDTH (negedge RD2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RD_1_") - (INSTANCE RD\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) - (3001:3001:3001)(3001:3001:3001)) - (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) - (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge RD1) (1250:1250:1250)) - (WIDTH (negedge RD1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RA_11_") - (INSTANCE RA\[11\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_10_") - (INSTANCE RA\[10\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_9_") - (INSTANCE RA\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_8_") - (INSTANCE RA\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_7_") - (INSTANCE RA\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_6_") - (INSTANCE RA\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_5_") - (INSTANCE RA\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_4_") - (INSTANCE RA\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_3_") - (INSTANCE RA\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_2_") - (INSTANCE RA\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_1_") - (INSTANCE RA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RA_0_") - (INSTANCE RA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_1_") - (INSTANCE RBA\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "RBA_0_") - (INSTANCE RBA\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) - ) - ) - ) - (CELL - (CELLTYPE "LED") - (INSTANCE LED_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) - ) - ) - ) - (CELL - (CELLTYPE "nFWE") - (INSTANCE nFWE_I) - (DELAY - (ABSOLUTE - (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nFWE) (1250:1250:1250)) - (WIDTH (negedge nFWE) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCRAS") - (INSTANCE nCRAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCRAS) (1250:1250:1250)) - (WIDTH (negedge nCRAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "nCCAS") - (INSTANCE nCCAS_I) - (DELAY - (ABSOLUTE - (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge nCCAS) (1250:1250:1250)) - (WIDTH (negedge nCCAS) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Dout_7_") - (INSTANCE Dout\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_6_") - (INSTANCE Dout\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_5_") - (INSTANCE Dout\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_4_") - (INSTANCE Dout\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_3_") - (INSTANCE Dout\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_2_") - (INSTANCE Dout\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Dout_1_") - (INSTANCE Dout\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) - ) - ) - ) - (CELL - (CELLTYPE "Din_7_") - (INSTANCE Din\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din7) (1250:1250:1250)) - (WIDTH (negedge Din7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_6_") - (INSTANCE Din\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din6) (1250:1250:1250)) - (WIDTH (negedge Din6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_5_") - (INSTANCE Din\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din5) (1250:1250:1250)) - (WIDTH (negedge Din5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_4_") - (INSTANCE Din\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din4) (1250:1250:1250)) - (WIDTH (negedge Din4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_3_") - (INSTANCE Din\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din3) (1250:1250:1250)) - (WIDTH (negedge Din3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_2_") - (INSTANCE Din\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din2) (1250:1250:1250)) - (WIDTH (negedge Din2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_1_") - (INSTANCE Din\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din1) (1250:1250:1250)) - (WIDTH (negedge Din1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "Din_0_") - (INSTANCE Din\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge Din0) (1250:1250:1250)) - (WIDTH (negedge Din0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_1_") - (INSTANCE CROW\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW1) (1250:1250:1250)) - (WIDTH (negedge CROW1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "CROW_0_") - (INSTANCE CROW\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge CROW0) (1250:1250:1250)) - (WIDTH (negedge CROW0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_9_") - (INSTANCE MAin\[9\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin9) (1250:1250:1250)) - (WIDTH (negedge MAin9) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_8_") - (INSTANCE MAin\[8\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin8) (1250:1250:1250)) - (WIDTH (negedge MAin8) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_7_") - (INSTANCE MAin\[7\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin7) (1250:1250:1250)) - (WIDTH (negedge MAin7) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_6_") - (INSTANCE MAin\[6\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin6) (1250:1250:1250)) - (WIDTH (negedge MAin6) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_5_") - (INSTANCE MAin\[5\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin5) (1250:1250:1250)) - (WIDTH (negedge MAin5) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_4_") - (INSTANCE MAin\[4\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin4) (1250:1250:1250)) - (WIDTH (negedge MAin4) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_3_") - (INSTANCE MAin\[3\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin3) (1250:1250:1250)) - (WIDTH (negedge MAin3) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_2_") - (INSTANCE MAin\[2\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin2) (1250:1250:1250)) - (WIDTH (negedge MAin2) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_1_") - (INSTANCE MAin\[1\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin1) (1250:1250:1250)) - (WIDTH (negedge MAin1) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "MAin_0_") - (INSTANCE MAin\[0\]_I) - (DELAY - (ABSOLUTE - (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) - ) - ) - (TIMINGCHECK - (WIDTH (posedge MAin0) (1250:1250:1250)) - (WIDTH (negedge MAin0) (1250:1250:1250)) - ) - ) - (CELL - (CELLTYPE "RAM2GS") - (INSTANCE ) - (DELAY - (ABSOLUTE - (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_0/Q1 SLICE_72/D0 (1405:1526:1647)(1405:1526:1647)) - (INTERCONNECT SLICE_0/Q1 SLICE_84/C0 (754:836:918)(754:836:918)) - (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_0/Q0 SLICE_68/C1 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_0/Q0 SLICE_69/C1 (743:826:909)(743:826:909)) - (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (732:1078:1425)(732:1078:1425)) - (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/C1 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_1/Q1 SLICE_81/C0 (743:826:909)(743:826:909)) - (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_1/Q0 SLICE_66/B0 (917:1024:1131)(917:1024:1131)) - (INTERCONNECT SLICE_1/Q0 SLICE_72/C1 (750:837:924)(750:837:924)) - (INTERCONNECT SLICE_1/Q0 SLICE_74/D0 (602:670:739)(602:670:739)) - (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/B1 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2/Q1 SLICE_81/B0 (1309:1440:1571)(1309:1440:1571)) - (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_2/Q0 SLICE_74/D1 (599:662:725)(599:662:725)) - (INTERCONNECT SLICE_2/Q0 SLICE_81/D1 (1002:1094:1186)(1002:1094:1186)) - (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/A1 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_3/Q1 SLICE_81/A0 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_3/Q0 SLICE_81/D0 (963:1075:1187)(963:1075:1187)) - (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_4/Q1 SLICE_64/B1 (1823:1986:2149)(1823:1986:2149)) - (INTERCONNECT SLICE_4/Q1 SLICE_72/B0 (1823:1986:2149)(1823:1986:2149)) - (INTERCONNECT SLICE_4/Q1 SLICE_74/B1 (923:1026:1129)(923:1026:1129)) - (INTERCONNECT SLICE_4/Q1 SLICE_84/B1 (923:1026:1129)(923:1026:1129)) - (INTERCONNECT SLICE_4/Q1 SLICE_87/B0 (923:1026:1129)(923:1026:1129)) - (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_4/Q0 SLICE_64/D1 (1404:1527:1650)(1404:1527:1650)) - (INTERCONNECT SLICE_4/Q0 SLICE_74/B0 (913:1016:1120)(913:1016:1120)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (1560:1708:1856)(1560:1708:1856)) - (INTERCONNECT SLICE_4/Q0 SLICE_84/B0 (913:1016:1120)(913:1016:1120)) - (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (2087:2267:2448)(2087:2267:2448)) - (INTERCONNECT SLICE_5/Q1 SLICE_87/C0 (754:836:918)(754:836:918)) - (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_5/Q0 SLICE_58/C1 (1149:1260:1372)(1149:1260:1372)) - (INTERCONNECT SLICE_5/Q0 SLICE_84/D1 (1397:1518:1640)(1397:1518:1640)) - (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_6/Q1 SLICE_56/A0 (2201:2394:2587)(2201:2394:2587)) - (INTERCONNECT SLICE_6/Q1 SLICE_84/D0 (599:662:725)(599:662:725)) - (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/A1 (1225:1371:1517)(1225:1371:1517)) - (INTERCONNECT SLICE_6/Q0 SLICE_84/A0 (1225:1371:1517)(1225:1371:1517)) - (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_7/Q1 SLICE_56/D0 (1803:1960:2118)(1803:1960:2118)) - (INTERCONNECT SLICE_7/Q1 SLICE_68/A1 (862:958:1054)(862:958:1054)) - (INTERCONNECT SLICE_7/Q1 SLICE_69/A1 (862:958:1054)(862:958:1054)) - (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_7/Q0 SLICE_72/A0 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (1271:1394:1518)(1271:1394:1518)) - (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8/Q1 SLICE_68/D1 (876:974:1072)(876:974:1072)) - (INTERCONNECT SLICE_8/Q1 SLICE_69/D1 (876:974:1072)(876:974:1072)) - (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_8/Q0 SLICE_68/B1 (903:1005:1108)(903:1005:1108)) - (INTERCONNECT SLICE_8/Q0 SLICE_69/B1 (903:1005:1108)(903:1005:1108)) - (INTERCONNECT SLICE_78/F0 SLICE_9/D1 (932:1044:1156)(932:1044:1156)) - (INTERCONNECT SLICE_70/F1 SLICE_9/C1 (769:851:933)(769:851:933)) - (INTERCONNECT SLICE_70/F1 SLICE_14/C1 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_70/F1 SLICE_14/C0 (778:861:945)(778:861:945)) - (INTERCONNECT SLICE_70/F1 SLICE_67/A0 (1295:1420:1545)(1295:1420:1545)) - (INTERCONNECT SLICE_70/F1 SLICE_70/B0 (606:674:742)(606:674:742)) - (INTERCONNECT SLICE_70/F1 SLICE_90/C1 (769:851:933)(769:851:933)) - (INTERCONNECT SLICE_85/F1 SLICE_9/B1 (2100:2300:2500)(2100:2300:2500)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/A1 (1802:1995:2189)(1802:1995:2189)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (1606:1757:1909)(1606:1757:1909)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/C0 (2131:2353:2575)(2131:2353:2575)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (2379:2611:2843)(2379:2611:2843)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B1 (1395:1576:1757)(1395:1576:1757)) - (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B0 (1395:1576:1757)(1395:1576:1757)) - (INTERCONNECT SLICE_9/Q0 SLICE_9/D0 (517:575:634)(517:575:634)) - (INTERCONNECT SLICE_9/Q0 SLICE_20/A1 (786:876:966)(786:876:966)) - (INTERCONNECT SLICE_70/F0 SLICE_9/C0 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_9/F1 SLICE_9/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_9/F1 SLICE_20/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_14/F1 SLICE_9/A0 (1263:1387:1511)(1263:1387:1511)) - (INTERCONNECT SLICE_14/F1 SLICE_14/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (1301:1429:1558)(1301:1429:1558)) - (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (2017:2199:2381)(2017:2199:2381)) - (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (2497:3089:3682)(2497:3089:3682)) - (INTERCONNECT SLICE_77/F0 SLICE_14/B1 (883:984:1086)(883:984:1086)) - (INTERCONNECT SLICE_76/F0 SLICE_14/A1 (837:931:1026)(837:931:1026)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/B0 (1984:2189:2395)(1984:2189:2395)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (1925:2114:2304)(1925:2114:2304)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/D0 (1636:1793:1950)(1636:1793:1950)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/C0 (2423:2682:2941)(2423:2682:2941)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/D0 (2046:2232:2419)(2046:2232:2419)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/D0 (1522:1684:1847)(1522:1684:1847)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/A1 (2718:2965:3212)(2718:2965:3212)) - (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/B0 (2379:2611:2843)(2379:2611:2843)) - (INTERCONNECT SLICE_14/Q0 SLICE_14/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_14/Q0 SLICE_20/C0 (1431:1576:1722)(1431:1576:1722)) - (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/D1 (571:629:687)(571:629:687)) - (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (575:636:697)(575:636:697)) - (INTERCONNECT SLICE_19/Q0 SLICE_41/D1 (632:700:769)(632:700:769)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (808:893:978)(808:893:978)) - (INTERCONNECT SLICE_19/Q0 SLICE_50/C0 (808:893:978)(808:893:978)) - (INTERCONNECT SLICE_19/Q0 SLICE_60/C1 (1211:1325:1439)(1211:1325:1439)) - (INTERCONNECT SLICE_19/Q0 SLICE_63/B0 (968:1072:1177)(968:1072:1177)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (1236:1372:1509)(1236:1372:1509)) - (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (1236:1372:1509)(1236:1372:1509)) - (INTERCONNECT SLICE_19/Q0 SLICE_73/B1 (947:1054:1161)(947:1054:1161)) - (INTERCONNECT SLICE_19/Q0 SLICE_79/D0 (653:719:785)(653:719:785)) - (INTERCONNECT SLICE_19/Q0 SLICE_80/A0 (922:1019:1117)(922:1019:1117)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/C1 (788:872:957)(788:872:957)) - (INTERCONNECT SLICE_50/Q0 SLICE_19/C0 (788:872:957)(788:872:957)) - (INTERCONNECT SLICE_50/Q0 SLICE_41/A1 (1312:1438:1565)(1312:1438:1565)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/A1 (839:930:1021)(839:930:1021)) - (INTERCONNECT SLICE_50/Q0 SLICE_50/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/C1 (1839:2035:2231)(1839:2035:2231)) - (INTERCONNECT SLICE_50/Q0 SLICE_59/B0 (1710:1891:2072)(1710:1891:2072)) - (INTERCONNECT SLICE_50/Q0 SLICE_63/A0 (839:930:1021)(839:930:1021)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A1 (1191:1322:1454)(1191:1322:1454)) - (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/D0 (633:698:764)(633:698:764)) - (INTERCONNECT SLICE_50/Q0 SLICE_73/D1 (1332:1461:1591)(1332:1461:1591)) - (INTERCONNECT SLICE_50/Q0 SLICE_79/A0 (839:930:1021)(839:930:1021)) - (INTERCONNECT SLICE_50/Q0 SLICE_94/C0 (2356:2575:2795)(2356:2575:2795)) - (INTERCONNECT SLICE_31/Q0 SLICE_19/B1 (863:960:1057)(863:960:1057)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/A1 (810:899:989)(810:899:989)) - (INTERCONNECT SLICE_31/Q0 SLICE_31/C0 (696:773:850)(696:773:850)) - (INTERCONNECT SLICE_31/Q0 SLICE_83/B1 (863:960:1057)(863:960:1057)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/A1 (1282:1411:1540)(1282:1411:1540)) - (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (1320:1453:1587)(1320:1453:1587)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/A1 (1688:1854:2020)(1688:1854:2020)) - (INTERCONNECT SLICE_51/Q1 SLICE_42/A0 (1688:1854:2020)(1688:1854:2020)) - (INTERCONNECT SLICE_51/Q1 SLICE_43/B1 (1328:1464:1600)(1328:1464:1600)) - (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (1320:1453:1587)(1320:1453:1587)) - (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (889:990:1091)(889:990:1091)) - (INTERCONNECT SLICE_51/Q1 SLICE_61/B1 (1726:1896:2067)(1726:1896:2067)) - (INTERCONNECT SLICE_51/Q1 SLICE_62/A1 (2115:2317:2519)(2115:2317:2519)) - (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (582:647:712)(582:647:712)) - (INTERCONNECT SLICE_51/Q1 SLICE_73/C1 (1571:1716:1862)(1571:1716:1862)) - (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_19/F1 SLICE_43/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_19/F1 SLICE_44/B1 (1394:1526:1659)(1394:1526:1659)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_20/Q0 SLICE_20/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_20/Q0 SLICE_67/B0 (1409:1541:1674)(1409:1541:1674)) - (INTERCONNECT SLICE_90/F1 SLICE_20/B0 (1286:1416:1547)(1286:1416:1547)) - (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/D1 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (2758:3009:3261)(2758:3009:3261)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/D1 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/A0 (1511:1671:1831)(1511:1671:1831)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/D1 (1242:1370:1499)(1242:1370:1499)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (1549:1713:1878)(1549:1713:1878)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (2391:2619:2848)(2391:2619:2848)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/D1 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/D0 (1673:1834:1995)(1673:1834:1995)) - (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/A0 (1876:2059:2243)(1876:2059:2243)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/C1 (1790:1964:2139)(1790:1964:2139)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/C1 (2200:2404:2608)(2200:2404:2608)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/B1 (1930:2123:2316)(1930:2123:2316)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (2355:2576:2798)(2355:2576:2798)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/A0 (2606:2857:3109)(2606:2857:3109)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/C1 (1790:1964:2139)(1790:1964:2139)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/A1 (1904:2091:2278)(1904:2091:2278)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/A0 (1904:2091:2278)(1904:2091:2278)) - (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (1922:2112:2303)(1922:2112:2303)) - (INTERCONNECT SLICE_75/F1 SLICE_21/B1 (931:1040:1149)(931:1040:1149)) - (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (616:686:757)(616:686:757)) - (INTERCONNECT SLICE_75/F1 SLICE_67/A1 (864:963:1063)(864:963:1063)) - (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_75/F1 SLICE_82/B1 (931:1040:1149)(931:1040:1149)) - (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (931:1040:1149)(931:1040:1149)) - (INTERCONNECT SLICE_21/F1 SLICE_21/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_21/F1 SLICE_26/A0 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_33/Q0 SLICE_21/C0 (1644:1786:1929)(1644:1786:1929)) - (INTERCONNECT SLICE_33/Q0 SLICE_33/D1 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (2611:2837:3063)(2611:2837:3063)) - (INTERCONNECT SLICE_75/F0 SLICE_21/B0 (883:984:1086)(883:984:1086)) - (INTERCONNECT SLICE_82/F1 SLICE_21/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/F0 SLICE_21/CE (573:634:695)(573:634:695)) - (INTERCONNECT SLICE_67/F0 SLICE_26/CE (573:634:695)(573:634:695)) - (INTERCONNECT SLICE_67/F0 SLICE_57/CE (906:1005:1104)(906:1005:1104)) - (INTERCONNECT SLICE_67/F0 SLICE_67/C1 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_67/F0 SLICE_82/C0 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_21/Q0 SLICE_33/B0 (1797:1958:2120)(1797:1958:2120)) - (INTERCONNECT SLICE_21/Q0 SLICE_82/C1 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_22/Q0 SLICE_22/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (1157:1286:1415)(1157:1286:1415)) - (INTERCONNECT SLICE_43/Q1 SLICE_22/C1 (1016:1133:1251)(1016:1133:1251)) - (INTERCONNECT SLICE_43/Q1 SLICE_52/D1 (861:959:1058)(861:959:1058)) - (INTERCONNECT SLICE_41/Q1 SLICE_22/B1 (1300:1432:1564)(1300:1432:1564)) - (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (1695:1853:2012)(1695:1853:2012)) - (INTERCONNECT SLICE_41/Q1 SLICE_52/B1 (1703:1864:2025)(1703:1864:2025)) - (INTERCONNECT SLICE_32/Q0 SLICE_22/A1 (887:984:1081)(887:984:1081)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/C1 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_32/Q0 SLICE_32/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_32/Q0 SLICE_33/D0 (1042:1139:1236)(1042:1139:1236)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/A1 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32/Q0 SLICE_43/A0 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32/Q0 SLICE_44/A1 (887:984:1081)(887:984:1081)) - (INTERCONNECT SLICE_32/Q0 SLICE_51/C1 (1197:1313:1429)(1197:1313:1429)) - (INTERCONNECT SLICE_32/Q0 SLICE_52/C1 (1197:1313:1429)(1197:1313:1429)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/A1 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32/Q0 SLICE_58/A0 (1714:1871:2028)(1714:1871:2028)) - (INTERCONNECT SLICE_32/Q0 SLICE_64/A1 (1311:1439:1568)(1311:1439:1568)) - (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/A0 (887:984:1081)(887:984:1081)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/C1 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_32/Q0 SLICE_66/C0 (710:788:867)(710:788:867)) - (INTERCONNECT SLICE_32/Q0 SLICE_73/A1 (1304:1431:1559)(1304:1431:1559)) - (INTERCONNECT SLICE_82/F0 SLICE_22/D0 (1778:1934:2090)(1778:1934:2090)) - (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_22/F1 SLICE_68/D0 (975:1068:1161)(975:1068:1161)) - (INTERCONNECT SLICE_22/F1 SLICE_69/B0 (1290:1421:1553)(1290:1421:1553)) - (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (735:822:909)(735:822:909)) - (INTERCONNECT SLICE_78/F1 SLICE_78/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_26/Q0 SLICE_58/B0 (899:1000:1102)(899:1000:1102)) - (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (1348:1473:1599)(1348:1473:1599)) - (INTERCONNECT SLICE_76/F1 SLICE_76/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_58/Q0 SLICE_26/D0 (580:648:716)(580:648:716)) - (INTERCONNECT SLICE_58/Q0 SLICE_39/A0 (2063:2250:2438)(2063:2250:2438)) - (INTERCONNECT SLICE_26/F1 SLICE_26/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_83/F1 SLICE_29/D1 (1406:1541:1676)(1406:1541:1676)) - (INTERCONNECT SLICE_83/F1 SLICE_59/A1 (2154:2337:2521)(2154:2337:2521)) - (INTERCONNECT SLICE_83/F1 SLICE_61/D0 (1695:1864:2034)(1695:1864:2034)) - (INTERCONNECT SLICE_73/F1 SLICE_29/C1 (1273:1392:1511)(1273:1392:1511)) - (INTERCONNECT SLICE_73/F1 SLICE_29/C0 (1273:1392:1511)(1273:1392:1511)) - (INTERCONNECT SLICE_73/F1 SLICE_59/B1 (1836:2003:2171)(1836:2003:2171)) - (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (1273:1392:1511)(1273:1392:1511)) - (INTERCONNECT SLICE_73/F1 SLICE_73/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_73/F1 SLICE_94/C1 (1680:1833:1986)(1680:1833:1986)) - (INTERCONNECT SLICE_61/F1 SLICE_29/B1 (841:937:1034)(841:937:1034)) - (INTERCONNECT SLICE_61/F1 SLICE_61/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/A1 (832:922:1012)(832:922:1012)) - (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/D1 (623:687:752)(623:687:752)) - (INTERCONNECT SLICE_29/Q0 SLICE_30/D0 (623:687:752)(623:687:752)) - (INTERCONNECT SLICE_29/Q0 SLICE_31/A0 (1302:1427:1553)(1302:1427:1553)) - (INTERCONNECT SLICE_29/Q0 SLICE_42/B1 (1703:1883:2063)(1703:1883:2063)) - (INTERCONNECT SLICE_29/Q0 SLICE_61/A0 (832:922:1012)(832:922:1012)) - (INTERCONNECT SLICE_29/Q0 SLICE_83/D0 (1033:1127:1221)(1033:1127:1221)) - (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (2098:2304:2511)(2098:2304:2511)) - (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (1347:1503:1660)(1347:1503:1660)) - (INTERCONNECT SLICE_43/Q0 SLICE_41/B0 (948:1050:1153)(948:1050:1153)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/D1 (578:636:695)(578:636:695)) - (INTERCONNECT SLICE_43/Q0 SLICE_43/D0 (578:636:695)(578:636:695)) - (INTERCONNECT SLICE_43/Q0 SLICE_44/D1 (633:697:761)(633:697:761)) - (INTERCONNECT SLICE_43/Q0 SLICE_50/D1 (632:700:769)(632:700:769)) - (INTERCONNECT SLICE_43/Q0 SLICE_59/D1 (1435:1582:1729)(1435:1582:1729)) - (INTERCONNECT SLICE_43/Q0 SLICE_61/C1 (1476:1647:1819)(1476:1647:1819)) - (INTERCONNECT SLICE_43/Q0 SLICE_62/B1 (2176:2379:2582)(2176:2379:2582)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/C1 (801:890:980)(801:890:980)) - (INTERCONNECT SLICE_43/Q0 SLICE_63/C0 (801:890:980)(801:890:980)) - (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (640:705:770)(640:705:770)) - (INTERCONNECT SLICE_43/Q0 SLICE_73/A0 (1191:1321:1451)(1191:1321:1451)) - (INTERCONNECT SLICE_43/Q0 SLICE_79/C1 (801:890:980)(801:890:980)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/D1 (2271:2465:2659)(2271:2465:2659)) - (INTERCONNECT SLICE_43/Q0 SLICE_94/D0 (2271:2465:2659)(2271:2465:2659)) - (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_30/Q1 SLICE_30/C1 (696:773:850)(696:773:850)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/D1 (991:1107:1224)(991:1107:1224)) - (INTERCONNECT SLICE_30/Q1 SLICE_31/D0 (991:1107:1224)(991:1107:1224)) - (INTERCONNECT SLICE_30/Q1 SLICE_42/C1 (1560:1700:1840)(1560:1700:1840)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/C1 (1146:1281:1417)(1146:1281:1417)) - (INTERCONNECT SLICE_30/Q1 SLICE_83/C0 (1146:1281:1417)(1146:1281:1417)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/A1 (825:914:1004)(825:914:1004)) - (INTERCONNECT SLICE_30/Q0 SLICE_30/A0 (560:621:682)(560:621:682)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/B1 (943:1046:1150)(943:1046:1150)) - (INTERCONNECT SLICE_30/Q0 SLICE_31/B0 (943:1046:1150)(943:1046:1150)) - (INTERCONNECT SLICE_30/Q0 SLICE_42/D1 (1109:1203:1297)(1109:1203:1297)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/A1 (897:993:1090)(897:993:1090)) - (INTERCONNECT SLICE_30/Q0 SLICE_83/A0 (897:993:1090)(897:993:1090)) - (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_94/F1 SLICE_30/CE (1885:2046:2208)(1885:2046:2208)) - (INTERCONNECT SLICE_94/F1 SLICE_31/CE (2184:2374:2565)(2184:2374:2565)) - (INTERCONNECT SLICE_73/F0 SLICE_31/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (1908:2070:2233)(1908:2070:2233)) - (INTERCONNECT SLICE_56/F0 SLICE_32/D1 (1374:1495:1616)(1374:1495:1616)) - (INTERCONNECT SLICE_84/F1 SLICE_32/B1 (1172:1308:1444)(1172:1308:1444)) - (INTERCONNECT SLICE_72/F1 SLICE_32/A1 (1239:1383:1527)(1239:1383:1527)) - (INTERCONNECT SLICE_72/F1 SLICE_58/D1 (541:599:657)(541:599:657)) - (INTERCONNECT SLICE_72/F1 SLICE_64/C1 (1575:1727:1879)(1575:1727:1879)) - (INTERCONNECT SLICE_72/F1 SLICE_72/C0 (431:479:528)(431:479:528)) - (INTERCONNECT SLICE_74/F0 SLICE_32/D0 (245:274:304)(245:274:304)) - (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_32/F1 SLICE_87/D1 (245:274:304)(245:274:304)) - (INTERCONNECT nCRAS_I/PADDI SLICE_33/C1 (1635:1825:2016)(1635:1825:2016)) - (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (1526:1687:1849)(1526:1687:1849)) - (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (3109:3772:4435)(3109:3772:4435)) - (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (1758:1913:2068)(1758:1913:2068)) - (INTERCONNECT SLICE_78/Q0 SLICE_41/D0 (1892:2044:2197)(1892:2044:2197)) - (INTERCONNECT SLICE_78/Q0 SLICE_60/D0 (1405:1538:1671)(1405:1538:1671)) - (INTERCONNECT SLICE_78/Q0 SLICE_63/A1 (1634:1807:1981)(1634:1807:1981)) - (INTERCONNECT SLICE_78/Q0 SLICE_79/B0 (1969:2184:2399)(1969:2184:2399)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_33/A0 (1377:1528:1680)(1377:1528:1680)) - (INTERCONNECT UFMSDO_I/PADDI SLICE_58/D0 (2317:2524:2731)(2317:2524:2731)) - (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_69/F0 SLICE_33/CE (1070:1165:1260)(1070:1165:1260)) - (INTERCONNECT SLICE_33/F1 LED_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/D1 (1908:2070:2232)(1908:2070:2232)) - (INTERCONNECT SLICE_57/Q0 SLICE_39/D0 (1908:2070:2232)(1908:2070:2232)) - (INTERCONNECT SLICE_85/F0 SLICE_39/B1 (1792:1955:2118)(1792:1955:2118)) - (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (1477:1601:1726)(1477:1601:1726)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/B0 (2577:2847:3118)(2577:2847:3118)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (2415:2652:2889)(2415:2652:2889)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/A1 (2528:2792:3057)(2528:2792:3057)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/B0 (2695:2961:3228)(2695:2961:3228)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (2387:2616:2845)(2387:2616:2845)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/C0 (2520:2764:3008)(2520:2764:3008)) - (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/D0 (1973:2170:2368)(1973:2170:2368)) - (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (1723:1881:2040)(1723:1881:2040)) - (INTERCONNECT SLICE_44/Q0 SLICE_44/A0 (545:606:667)(545:606:667)) - (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (910:1010:1110)(910:1010:1110)) - (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (1730:1889:2048)(1730:1889:2048)) - (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (1730:1889:2048)(1730:1889:2048)) - (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (1320:1449:1579)(1320:1449:1579)) - (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (910:1010:1110)(910:1010:1110)) - (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (1723:1881:2040)(1723:1881:2040)) - (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_39/F1 SLICE_57/A0 (2170:2363:2556)(2170:2363:2556)) - (INTERCONNECT SLICE_81/Q1 SLICE_41/C1 (2032:2205:2379)(2032:2205:2379)) - (INTERCONNECT SLICE_81/Q1 SLICE_60/B1 (1789:1953:2117)(1789:1953:2117)) - (INTERCONNECT SLICE_75/Q1 SLICE_41/B1 (1295:1427:1559)(1295:1427:1559)) - (INTERCONNECT SLICE_75/Q1 SLICE_60/A1 (2074:2266:2459)(2074:2266:2459)) - (INTERCONNECT SLICE_75/Q1 SLICE_79/B1 (1717:1887:2058)(1717:1887:2058)) - (INTERCONNECT SLICE_75/Q1 SLICE_80/C1 (1557:1708:1859)(1557:1708:1859)) - (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (884:984:1085)(884:984:1085)) - (INTERCONNECT SLICE_41/F1 SLICE_41/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_43/F1 SLICE_41/A0 (833:932:1032)(833:932:1032)) - (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (1773:1932:2091)(1773:1932:2091)) - (INTERCONNECT SLICE_41/Q0 SLICE_42/B0 (1781:1942:2104)(1781:1942:2104)) - (INTERCONNECT SLICE_44/Q1 SLICE_42/D0 (1398:1530:1663)(1398:1530:1663)) - (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (1386:1516:1646)(1386:1516:1646)) - (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (1621:1763:1905)(1621:1763:1905)) - (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_42/Q0 SLICE_61/A1 (1247:1371:1495)(1247:1371:1495)) - (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/C1 (2228:2432:2636)(2228:2432:2636)) - (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/C0 (1537:1688:1840)(1537:1688:1840)) - (INTERCONNECT SLICE_50/F0 SLICE_43/C1 (750:837:924)(750:837:924)) - (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (31:31:31)(31:31:31)) - (INTERCONNECT SLICE_50/F0 SLICE_61/D1 (970:1082:1195)(970:1082:1195)) - (INTERCONNECT SLICE_50/F0 SLICE_62/C1 (1575:1727:1879)(1575:1727:1879)) - (INTERCONNECT SLICE_83/F0 SLICE_43/C0 (681:758:835)(681:758:835)) - (INTERCONNECT SLICE_83/F0 SLICE_44/C1 (739:821:903)(739:821:903)) - (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_44/F1 SLICE_44/B0 (560:628:696)(560:628:696)) - (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_73/Q0 SLICE_51/D1 (1335:1476:1617)(1335:1476:1617)) - (INTERCONNECT SLICE_72/F0 SLICE_51/B1 (1781:1942:2104)(1781:1942:2104)) - (INTERCONNECT SLICE_66/F0 SLICE_51/A1 (1256:1379:1503)(1256:1379:1503)) - (INTERCONNECT SLICE_66/F0 SLICE_66/A1 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_52/F1 SLICE_51/D0 (877:975:1074)(877:975:1074)) - (INTERCONNECT SLICE_52/F1 SLICE_52/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_52/F1 SLICE_64/A0 (857:952:1048)(857:952:1048)) - (INTERCONNECT SLICE_51/F1 SLICE_51/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_64/F1 SLICE_52/A0 (868:962:1057)(868:962:1057)) - (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (591:659:727)(591:659:727)) - (INTERCONNECT SLICE_51/Q0 SLICE_51/A0 (530:591:652)(530:591:652)) - (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (1184:1361:1538)(1184:1361:1538)) - (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (932:1044:1156)(932:1044:1156)) - (INTERCONNECT SLICE_52/Q0 SLICE_52/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_67/Q0 SLICE_55/D0 (1466:1589:1712)(1466:1589:1712)) - (INTERCONNECT SLICE_63/Q0 SLICE_55/B0 (2114:2313:2513)(2114:2313:2513)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/A1 (1678:1840:2002)(1678:1840:2002)) - (INTERCONNECT SLICE_63/Q0 SLICE_86/A0 (1678:1840:2002)(1678:1840:2002)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/D1 (2224:2421:2618)(2224:2421:2618)) - (INTERCONNECT SLICE_63/Q0 SLICE_89/D0 (2224:2421:2618)(2224:2421:2618)) - (INTERCONNECT SLICE_63/Q0 SLICE_90/A0 (1802:1970:2138)(1802:1970:2138)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/D1 (1796:1956:2117)(1796:1956:2117)) - (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (1954:2134:2314)(1954:2134:2314)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/D1 (2320:2504:2689)(2320:2504:2689)) - (INTERCONNECT SLICE_63/Q0 SLICE_92/D0 (2320:2504:2689)(2320:2504:2689)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/B1 (2543:2782:3021)(2543:2782:3021)) - (INTERCONNECT SLICE_63/Q0 SLICE_93/B0 (2543:2782:3021)(2543:2782:3021)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/A0 (2220:2446:2672)(2220:2446:2672)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (2701:2972:3244)(2701:2972:3244)) - (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/A1 (2663:2930:3197)(2663:2930:3197)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (2067:2260:2454)(2067:2260:2454)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/C1 (1378:1524:1670)(1378:1524:1670)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (1530:1693:1856)(1530:1693:1856)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/A1 (2732:2985:3238)(2732:2985:3238)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/B1 (1973:2177:2381)(1973:2177:2381)) - (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/B0 (1973:2177:2381)(1973:2177:2381)) - (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (1242:1370:1498)(1242:1370:1498)) - (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (2109:2309:2510)(2109:2309:2510)) - (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (1503:1660:1818)(1503:1660:1818)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (2373:2602:2831)(2373:2602:2831)) - (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (2373:2602:2831)(2373:2602:2831)) - (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (1706:1877:2049)(1706:1877:2049)) - (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (1706:1877:2049)(1706:1877:2049)) - (INTERCONNECT nCCAS_I/PADDI SLICE_88/D0 (2063:2255:2448)(2063:2255:2448)) - (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (1288:1474:1660)(1288:1474:1660)) - (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (2378:2648:2918)(2378:2648:2918)) - (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (1982:2228:2475)(1982:2228:2475)) - (INTERCONNECT SLICE_76/Q1 SLICE_56/D1 (1498:1630:1763)(1498:1630:1763)) - (INTERCONNECT SLICE_71/Q0 SLICE_56/C1 (1653:1804:1956)(1653:1804:1956)) - (INTERCONNECT SLICE_77/Q0 SLICE_56/B1 (1813:1984:2155)(1813:1984:2155)) - (INTERCONNECT SLICE_77/Q1 SLICE_56/A1 (2138:2321:2505)(2138:2321:2505)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (2264:2497:2730)(2264:2497:2730)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/B1 (1828:2016:2205)(1828:2016:2205)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/C1 (1272:1412:1553)(1272:1412:1553)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (1424:1581:1739)(1424:1581:1739)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C1 (2522:2767:3013)(2522:2767:3013)) - (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C0 (2522:2767:3013)(2522:2767:3013)) - (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_56/F1 SLICE_70/B1 (1813:1984:2155)(1813:1984:2155)) - (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (1547:1713:1879)(1547:1713:1879)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (1539:1702:1866)(1539:1702:1866)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (1921:2109:2298)(1921:2109:2298)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/A0 (1904:2092:2280)(1904:2092:2280)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (1904:2092:2280)(1904:2092:2280)) - (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (2324:2541:2759)(2324:2541:2759)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/A1 (1891:2077:2264)(1891:2077:2264)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (2325:2544:2764)(2325:2544:2764)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (1529:1691:1854)(1529:1691:1854)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/B1 (1937:2130:2324)(1937:2130:2324)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (2739:2994:3250)(2739:2994:3250)) - (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/A1 (2297:2513:2729)(2297:2513:2729)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/D0 (1217:1343:1469)(1217:1343:1469)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (714:807:900)(714:807:900)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (1521:1678:1835)(1521:1678:1835)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/D0 (1217:1343:1469)(1217:1343:1469)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (1421:1579:1738)(1421:1579:1738)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (1959:2159:2360)(1959:2159:2360)) - (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/D1 (1941:2140:2339)(1941:2140:2339)) - (INTERCONNECT SLICE_57/F1 SLICE_57/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_68/F0 SLICE_58/CE (875:974:1073)(875:974:1073)) - (INTERCONNECT SLICE_58/F1 SLICE_87/B1 (1544:1731:1919)(1544:1731:1919)) - (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (940:1054:1169)(940:1054:1169)) - (INTERCONNECT SLICE_59/F1 SLICE_59/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_62/F1 SLICE_59/C0 (1669:1820:1972)(1669:1820:1972)) - (INTERCONNECT SLICE_62/F1 SLICE_62/B0 (576:644:712)(576:644:712)) - (INTERCONNECT SLICE_80/F0 SLICE_59/A0 (1201:1344:1488)(1201:1344:1488)) - (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_82/Q0 SLICE_60/D1 (1509:1643:1777)(1509:1643:1777)) - (INTERCONNECT SLICE_82/Q0 SLICE_63/D1 (1491:1617:1743)(1491:1617:1743)) - (INTERCONNECT SLICE_82/Q0 SLICE_79/D1 (1491:1617:1743)(1491:1617:1743)) - (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (2209:2402:2596)(2209:2402:2596)) - (INTERCONNECT SLICE_94/F0 SLICE_60/C0 (1529:1669:1809)(1529:1669:1809)) - (INTERCONNECT SLICE_60/F1 SLICE_60/A0 (779:868:958)(779:868:958)) - (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (1291:1473:1656)(1291:1473:1656)) - (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (1935:2190:2445)(1935:2190:2445)) - (INTERCONNECT SLICE_78/Q1 SLICE_62/D1 (1079:1173:1267)(1079:1173:1267)) - (INTERCONNECT SLICE_78/Q1 SLICE_80/C0 (1637:1779:1921)(1637:1779:1921)) - (INTERCONNECT SLICE_81/Q0 SLICE_62/D0 (1679:1834:1990)(1679:1834:1990)) - (INTERCONNECT SLICE_81/Q0 SLICE_63/B1 (1691:1860:2030)(1691:1860:2030)) - (INTERCONNECT SLICE_81/Q0 SLICE_80/D0 (1376:1507:1638)(1376:1507:1638)) - (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/C0 (1653:1804:1956) - (1653:1804:1956)) - (INTERCONNECT SLICE_79/F0 SLICE_62/A0 (1651:1815:1979)(1651:1815:1979)) - (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (2095:2345:2595)(2095:2345:2595)) - (INTERCONNECT SLICE_63/F1 SLICE_63/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_64/Q0 SLICE_64/D0 (526:584:642)(526:584:642)) - (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (1548:1774:2000)(1548:1774:2000)) - (INTERCONNECT SLICE_66/F1 SLICE_64/C0 (1529:1669:1809)(1529:1669:1809)) - (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) - (INTERCONNECT SLICE_73/Q1 SLICE_66/B1 (1247:1397:1548)(1247:1397:1548)) - (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (1383:1512:1642)(1383:1512:1642)) - (INTERCONNECT SLICE_81/F0 SLICE_74/A0 (1652:1813:1974)(1652:1813:1974)) - (INTERCONNECT SLICE_74/F1 SLICE_66/A0 (795:884:974)(795:884:974)) - (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (416:464:513)(416:464:513)) - (INTERCONNECT SLICE_66/Q0 SLICE_90/D0 (1375:1502:1629)(1375:1502:1629)) - (INTERCONNECT SLICE_66/Q1 SLICE_91/D0 (1901:2062:2224)(1901:2062:2224)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (1621:1774:1928)(1621:1774:1928)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/D1 (1614:1766:1919)(1614:1766:1919)) - (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/A1 (1908:2101:2294)(1908:2101:2294)) - (INTERCONNECT SLICE_67/F1 SLICE_73/CE (947:1062:1178)(947:1062:1178)) - (INTERCONNECT SLICE_67/F1 SLICE_74/CE (1350:1494:1639)(1350:1494:1639)) - (INTERCONNECT SLICE_67/Q1 SLICE_93/D1 (1063:1157:1251)(1063:1157:1251)) - (INTERCONNECT SLICE_87/F0 SLICE_68/C0 (735:822:909)(735:822:909)) - (INTERCONNECT SLICE_87/F0 SLICE_69/D0 (580:648:716)(580:648:716)) - (INTERCONNECT SLICE_68/F1 SLICE_68/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_84/F0 SLICE_68/A0 (786:876:966)(786:876:966)) - (INTERCONNECT SLICE_84/F0 SLICE_69/A0 (786:876:966)(786:876:966)) - (INTERCONNECT SLICE_69/F1 SLICE_69/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_70/Q0 SLICE_70/D1 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (723:805:887)(723:805:887)) - (INTERCONNECT SLICE_70/Q1 SLICE_70/A1 (514:575:636)(514:575:636)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/C1 (1805:1987:2169)(1805:1987:2169)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (1657:1821:1985)(1657:1821:1985)) - (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/B1 (2368:2598:2829)(2368:2598:2829)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/B1 (1951:2152:2353)(1951:2152:2353)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (2353:2581:2809)(2353:2581:2809)) - (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/C1 (3008:3283:3558)(3008:3283:3558)) - (INTERCONNECT SLICE_71/F1 SLICE_71/D0 (510:568:626)(510:568:626)) - (INTERCONNECT SLICE_71/Q1 SLICE_71/C0 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (825:921:1018)(825:921:1018)) - (INTERCONNECT SLICE_88/F1 SLICE_71/A0 (1490:1668:1846)(1490:1668:1846)) - (INTERCONNECT SLICE_81/F1 SLICE_72/D1 (510:568:626)(510:568:626)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (1657:1821:1985)(1657:1821:1985)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/A1 (1919:2113:2308)(1919:2113:2308)) - (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/A0 (2322:2545:2769)(2322:2545:2769)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (1606:1757:1909)(1606:1757:1909)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/B1 (1519:1681:1844)(1519:1681:1844)) - (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/B0 (2326:2552:2779)(2326:2552:2779)) - (INTERCONNECT SLICE_72/Q0 SLICE_92/C0 (1653:1804:1956)(1653:1804:1956)) - (INTERCONNECT SLICE_72/Q1 SLICE_93/D0 (1466:1589:1712)(1466:1589:1712)) - (INTERCONNECT SLICE_74/Q0 SLICE_87/C1 (665:742:819)(665:742:819)) - (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (528:587:647)(528:587:647)) - (INTERCONNECT SLICE_77/F1 SLICE_77/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_79/F1 SLICE_79/C0 (400:448:497)(400:448:497)) - (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (1164:1346:1528)(1164:1346:1528)) - (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (1165:1345:1526)(1165:1345:1526)) - (INTERCONNECT SLICE_80/F1 SLICE_80/B0 (560:628:696)(560:628:696)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/C1 (1769:1940:2112)(1769:1940:2112)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/C0 (1769:1940:2112)(1769:1940:2112)) - (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/C1 (2608:2849:3090)(2608:2849:3090)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (1508:1668:1828)(1508:1668:1828)) - (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/C0 (3001:3275:3550)(3001:3275:3550)) - (INTERCONNECT SLICE_80/Q0 SLICE_89/B0 (1247:1397:1548)(1247:1397:1548)) - (INTERCONNECT SLICE_80/Q1 SLICE_86/B0 (1378:1510:1643)(1378:1510:1643)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (1654:1819:1984)(1654:1819:1984)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (2204:2414:2624)(2204:2414:2624)) - (INTERCONNECT nFWE_I/PADDI SLICE_88/C0 (2204:2414:2624)(2204:2414:2624)) - (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (2038:2228:2418)(2038:2228:2418)) - (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (2307:2528:2750)(2307:2528:2750)) - (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (1165:1345:1526)(1165:1345:1526)) - (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (2466:2735:3005)(2466:2735:3005)) - (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (1568:1777:1987)(1568:1777:1987)) - (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (2477:2778:3080)(2477:2778:3080)) - (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (1532:1758:1984)(1532:1758:1984)) - (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (1756:2001:2247)(1756:2001:2247)) - (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (2571:2883:3195)(2571:2883:3195)) - (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (2571:2883:3195)(2571:2883:3195)) - (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (2538:2838:3139)(2538:2838:3139)) - (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (2538:2838:3139)(2538:2838:3139)) - (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (1741:1997:2254)(1741:1997:2254)) - (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (1741:1997:2254)(1741:1997:2254)) - (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (2098:2368:2638)(2098:2368:2638)) - (INTERCONNECT SLICE_88/Q0 SLICE_92/A1 (1735:1889:2044)(1735:1889:2044)) - (INTERCONNECT SLICE_88/Q1 SLICE_91/C1 (1218:1331:1444)(1218:1331:1444)) - (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (1979:2229:2479)(1979:2229:2479)) - (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (1723:1947:2172)(1723:1947:2172)) - (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (1971:2209:2448)(1971:2209:2448)) - (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (1288:1474:1660)(1288:1474:1660)) - (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (1168:1345:1522)(1168:1345:1522)) - (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (1610:1831:2052)(1610:1831:2052)) - (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (1982:2228:2475)(1982:2228:2475)) - (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (646:731:817)(646:731:817)) - (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (2942:3272:3602)(2942:3272:3602)) - (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (2505:2806:3107)(2505:2806:3107)) - (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) - (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (2540:2847:3154)(2540:2847:3154)) - ) - ) - ) -) +(DELAYFILE + (SDFVERSION "3.0") + (DESIGN "RAM2GS") + (DATE "Sat Aug 19 20:57:25 2023") + (VENDOR "Lattice") + (PROGRAM "ldbanno") + (VERSION "Diamond (64-bit) 3.12.1.454") + (DIVIDER /) + (VOLTAGE 1.26:1.20:1.14) + (PROCESS "default") + (TEMPERATURE -40:25:85) + (TIMESCALE 1ps) + (CELL + (CELLTYPE "SLICE_0") + (INSTANCE SLICE_0) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + ) + ) + (CELL + (CELLTYPE "SLICE_1") + (INSTANCE SLICE_1) + (DELAY + (ABSOLUTE + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_2") + (INSTANCE SLICE_2) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_3") + (INSTANCE SLICE_3) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_4") + (INSTANCE SLICE_4) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_5") + (INSTANCE SLICE_5) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_6") + (INSTANCE SLICE_6) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_7") + (INSTANCE SLICE_7) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_8") + (INSTANCE SLICE_8) + (DELAY + (ABSOLUTE + (IOPATH A1 FCO (619:692:766)(619:692:766)) + (IOPATH A0 FCO (713:797:882)(713:797:882)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + (IOPATH FCI FCO (115:128:141)(115:128:141)) + ) + ) + (TIMINGCHECK + (SETUPHOLD A1 (posedge CLK) (417:466:515)(-161:-170:-179)) + (SETUPHOLD A0 (posedge CLK) (693:775:857)(-167:-176:-185)) + (SETUPHOLD FCI (posedge CLK) (542:606:671)(-378:-400:-423)) + ) + ) + (CELL + (CELLTYPE "SLICE_9") + (INSTANCE SLICE_9) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_14") + (INSTANCE SLICE_14) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_19") + (INSTANCE SLICE_19) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_20") + (INSTANCE SLICE_20) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_21") + (INSTANCE SLICE_21) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_22") + (INSTANCE SLICE_22) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + ) + ) + (CELL + (CELLTYPE "SLICE_26") + (INSTANCE SLICE_26) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_29") + (INSTANCE SLICE_29) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_30") + (INSTANCE SLICE_30) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI1 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_31") + (INSTANCE SLICE_31) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_32") + (INSTANCE SLICE_32) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_33") + (INSTANCE SLICE_33) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_39") + (INSTANCE SLICE_39) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_41") + (INSTANCE SLICE_41) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_42") + (INSTANCE SLICE_42) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_43") + (INSTANCE SLICE_43) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_44") + (INSTANCE SLICE_44) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_50") + (INSTANCE SLICE_50) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_51") + (INSTANCE SLICE_51) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_52") + (INSTANCE SLICE_52) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_55") + (INSTANCE SLICE_55) + (DELAY + (ABSOLUTE + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_56") + (INSTANCE SLICE_56) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_57") + (INSTANCE SLICE_57) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (negedge CLK) (174:174:174)(-78:-78:-78)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_58") + (INSTANCE SLICE_58) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD CE (posedge CLK) (197:220:244)(-71:-76:-81)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_59") + (INSTANCE SLICE_59) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_60") + (INSTANCE SLICE_60) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_61") + (INSTANCE SLICE_61) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_62") + (INSTANCE SLICE_62) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_63") + (INSTANCE SLICE_63) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_64") + (INSTANCE SLICE_64) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD DI0 (posedge CLK) (181:181:181)(-35:-35:-35)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "nRWE_RNO_1_SLICE_65") + (INSTANCE nRWE_RNO_1\/SLICE_65) + (DELAY + (ABSOLUTE + (IOPATH D1 OFX0 (496:555:615)(496:555:615)) + (IOPATH C1 OFX0 (496:555:615)(496:555:615)) + (IOPATH B1 OFX0 (496:555:615)(496:555:615)) + (IOPATH A1 OFX0 (496:555:615)(496:555:615)) + (IOPATH D0 OFX0 (508:569:631)(508:569:631)) + (IOPATH C0 OFX0 (508:569:631)(508:569:631)) + (IOPATH B0 OFX0 (508:569:631)(508:569:631)) + (IOPATH A0 OFX0 (508:569:631)(508:569:631)) + (IOPATH M0 OFX0 (405:453:501)(405:453:501)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_66") + (INSTANCE SLICE_66) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_67") + (INSTANCE SLICE_67) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_68") + (INSTANCE SLICE_68) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_69") + (INSTANCE SLICE_69) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_70") + (INSTANCE SLICE_70) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_71") + (INSTANCE SLICE_71) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_72") + (INSTANCE SLICE_72) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_73") + (INSTANCE SLICE_73) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_74") + (INSTANCE SLICE_74) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD CE (negedge CLK) (213:239:265)(-85:-90:-95)) + ) + ) + (CELL + (CELLTYPE "SLICE_75") + (INSTANCE SLICE_75) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_76") + (INSTANCE SLICE_76) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_77") + (INSTANCE SLICE_77) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + (IOPATH CLK Q1 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M1 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_78") + (INSTANCE SLICE_78) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_79") + (INSTANCE SLICE_79) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_80") + (INSTANCE SLICE_80) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_81") + (INSTANCE SLICE_81) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_82") + (INSTANCE SLICE_82) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "SLICE_83") + (INSTANCE SLICE_83) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_84") + (INSTANCE SLICE_84) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_85") + (INSTANCE SLICE_85) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + ) + ) + (CELL + (CELLTYPE "SLICE_86") + (INSTANCE SLICE_86) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_87") + (INSTANCE SLICE_87) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_88") + (INSTANCE SLICE_88) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (560:586:613)(560:586:613)) + (IOPATH CLK Q1 (560:586:613)(560:586:613)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + (TIMINGCHECK + (SETUPHOLD M1 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD M0 (negedge CLK) (99:111:123)(-24:-24:-25)) + (SETUPHOLD LSR (negedge CLK) (515:576:638)(-218:-231:-244)) + ) + ) + (CELL + (CELLTYPE "SLICE_89") + (INSTANCE SLICE_89) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_90") + (INSTANCE SLICE_90) + (DELAY + (ABSOLUTE + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_91") + (INSTANCE SLICE_91) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_92") + (INSTANCE SLICE_92) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_93") + (INSTANCE SLICE_93) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH B1 F1 (301:336:371)(301:336:371)) + (IOPATH A1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH B0 F0 (301:336:371)(301:336:371)) + (IOPATH A0 F0 (301:336:371)(301:336:371)) + ) + ) + ) + (CELL + (CELLTYPE "SLICE_94") + (INSTANCE SLICE_94) + (DELAY + (ABSOLUTE + (IOPATH D1 F1 (301:336:371)(301:336:371)) + (IOPATH C1 F1 (301:336:371)(301:336:371)) + (IOPATH D0 F0 (301:336:371)(301:336:371)) + (IOPATH C0 F0 (301:336:371)(301:336:371)) + (IOPATH CLK Q0 (515:537:560)(515:537:560)) + ) + ) + (TIMINGCHECK + (SETUPHOLD M0 (posedge CLK) (146:162:179)(-60:-64:-69)) + (SETUPHOLD LSR (posedge CLK) (505:565:626)(-211:-223:-235)) + ) + (TIMINGCHECK + (WIDTH (posedge CLK) (1000:1000:1000)) + (WIDTH (negedge CLK) (1000:1000:1000)) + ) + ) + (CELL + (CELLTYPE "RD_0_") + (INSTANCE RD\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD0 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD0 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD0) (1250:1250:1250)) + (WIDTH (negedge RD0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_0_") + (INSTANCE Dout\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout0 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "PHI2") + (INSTANCE PHI2_I) + (DELAY + (ABSOLUTE + (IOPATH PHI2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge PHI2) (1250:1250:1250)) + (WIDTH (negedge PHI2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDO") + (INSTANCE UFMSDO_I) + (DELAY + (ABSOLUTE + (IOPATH UFMSDO PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge UFMSDO) (1250:1250:1250)) + (WIDTH (negedge UFMSDO) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "UFMSDI") + (INSTANCE UFMSDI_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMSDI (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "UFMCLK") + (INSTANCE UFMCLK_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO UFMCLK (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nUFMCS") + (INSTANCE nUFMCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nUFMCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQML") + (INSTANCE RDQML_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQML (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RDQMH") + (INSTANCE RDQMH_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RDQMH (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRCAS") + (INSTANCE nRCAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRRAS") + (INSTANCE nRRAS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRRAS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "nRWE") + (INSTANCE nRWE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRWE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCKE") + (INSTANCE RCKE_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RCKE (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RCLK") + (INSTANCE RCLK_I) + (DELAY + (ABSOLUTE + (IOPATH RCLK PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RCLK) (1250:1250:1250)) + (WIDTH (negedge RCLK) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nRCS") + (INSTANCE nRCS_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO nRCS (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RD_7_") + (INSTANCE RD\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD7 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD7 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD7) (1250:1250:1250)) + (WIDTH (negedge RD7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_6_") + (INSTANCE RD\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD6 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD6 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD6) (1250:1250:1250)) + (WIDTH (negedge RD6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_5_") + (INSTANCE RD\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD5 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD5 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD5) (1250:1250:1250)) + (WIDTH (negedge RD5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_4_") + (INSTANCE RD\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD4 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD4 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD4) (1250:1250:1250)) + (WIDTH (negedge RD4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_3_") + (INSTANCE RD\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD3 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD3 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD3) (1250:1250:1250)) + (WIDTH (negedge RD3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_2_") + (INSTANCE RD\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD2 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD2 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD2) (1250:1250:1250)) + (WIDTH (negedge RD2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RD_1_") + (INSTANCE RD\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDT RD1 (3001:3001:3001)(3001:3001:3001)(3001:3001:3001)(3001:3001:3001) + (3001:3001:3001)(3001:3001:3001)) + (IOPATH PADDO RD1 (2471:2471:2471)(2471:2471:2471)) + (IOPATH RD1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge RD1) (1250:1250:1250)) + (WIDTH (negedge RD1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RA_11_") + (INSTANCE RA\[11\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA11 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_10_") + (INSTANCE RA\[10\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA10 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_9_") + (INSTANCE RA\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA9 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_8_") + (INSTANCE RA\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA8 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_7_") + (INSTANCE RA\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA7 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_6_") + (INSTANCE RA\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA6 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_5_") + (INSTANCE RA\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA5 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_4_") + (INSTANCE RA\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA4 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_3_") + (INSTANCE RA\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA3 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_2_") + (INSTANCE RA\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA2 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_1_") + (INSTANCE RA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RA_0_") + (INSTANCE RA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_1_") + (INSTANCE RBA\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA1 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "RBA_0_") + (INSTANCE RBA\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO RBA0 (2478:2478:2478)(2478:2478:2478)) + ) + ) + ) + (CELL + (CELLTYPE "LED") + (INSTANCE LED_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO LED (2843:2843:2843)(2843:2843:2843)) + ) + ) + ) + (CELL + (CELLTYPE "nFWE") + (INSTANCE nFWE_I) + (DELAY + (ABSOLUTE + (IOPATH nFWE PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nFWE) (1250:1250:1250)) + (WIDTH (negedge nFWE) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCRAS") + (INSTANCE nCRAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCRAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCRAS) (1250:1250:1250)) + (WIDTH (negedge nCRAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "nCCAS") + (INSTANCE nCCAS_I) + (DELAY + (ABSOLUTE + (IOPATH nCCAS PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge nCCAS) (1250:1250:1250)) + (WIDTH (negedge nCCAS) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Dout_7_") + (INSTANCE Dout\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout7 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_6_") + (INSTANCE Dout\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout6 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_5_") + (INSTANCE Dout\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout5 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_4_") + (INSTANCE Dout\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout4 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_3_") + (INSTANCE Dout\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout3 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_2_") + (INSTANCE Dout\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout2 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Dout_1_") + (INSTANCE Dout\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH PADDO Dout1 (1858:1858:1858)(1858:1858:1858)) + ) + ) + ) + (CELL + (CELLTYPE "Din_7_") + (INSTANCE Din\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din7) (1250:1250:1250)) + (WIDTH (negedge Din7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_6_") + (INSTANCE Din\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din6) (1250:1250:1250)) + (WIDTH (negedge Din6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_5_") + (INSTANCE Din\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din5) (1250:1250:1250)) + (WIDTH (negedge Din5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_4_") + (INSTANCE Din\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din4) (1250:1250:1250)) + (WIDTH (negedge Din4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_3_") + (INSTANCE Din\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din3) (1250:1250:1250)) + (WIDTH (negedge Din3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_2_") + (INSTANCE Din\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din2) (1250:1250:1250)) + (WIDTH (negedge Din2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_1_") + (INSTANCE Din\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din1) (1250:1250:1250)) + (WIDTH (negedge Din1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "Din_0_") + (INSTANCE Din\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH Din0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge Din0) (1250:1250:1250)) + (WIDTH (negedge Din0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_1_") + (INSTANCE CROW\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW1) (1250:1250:1250)) + (WIDTH (negedge CROW1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "CROW_0_") + (INSTANCE CROW\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH CROW0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge CROW0) (1250:1250:1250)) + (WIDTH (negedge CROW0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_9_") + (INSTANCE MAin\[9\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin9 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin9) (1250:1250:1250)) + (WIDTH (negedge MAin9) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_8_") + (INSTANCE MAin\[8\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin8 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin8) (1250:1250:1250)) + (WIDTH (negedge MAin8) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_7_") + (INSTANCE MAin\[7\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin7 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin7) (1250:1250:1250)) + (WIDTH (negedge MAin7) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_6_") + (INSTANCE MAin\[6\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin6 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin6) (1250:1250:1250)) + (WIDTH (negedge MAin6) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_5_") + (INSTANCE MAin\[5\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin5 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin5) (1250:1250:1250)) + (WIDTH (negedge MAin5) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_4_") + (INSTANCE MAin\[4\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin4 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin4) (1250:1250:1250)) + (WIDTH (negedge MAin4) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_3_") + (INSTANCE MAin\[3\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin3 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin3) (1250:1250:1250)) + (WIDTH (negedge MAin3) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_2_") + (INSTANCE MAin\[2\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin2 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin2) (1250:1250:1250)) + (WIDTH (negedge MAin2) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_1_") + (INSTANCE MAin\[1\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin1 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin1) (1250:1250:1250)) + (WIDTH (negedge MAin1) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "MAin_0_") + (INSTANCE MAin\[0\]_I) + (DELAY + (ABSOLUTE + (IOPATH MAin0 PADDI (867:965:1063)(867:965:1063)) + ) + ) + (TIMINGCHECK + (WIDTH (posedge MAin0) (1250:1250:1250)) + (WIDTH (negedge MAin0) (1250:1250:1250)) + ) + ) + (CELL + (CELLTYPE "RAM2GS") + (INSTANCE ) + (DELAY + (ABSOLUTE + (INTERCONNECT SLICE_0/Q1 SLICE_0/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_0/Q1 SLICE_72/D0 (1405:1526:1647)(1405:1526:1647)) + (INTERCONNECT SLICE_0/Q1 SLICE_84/C0 (754:836:918)(754:836:918)) + (INTERCONNECT SLICE_0/Q0 SLICE_0/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_0/Q0 SLICE_68/C1 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_0/Q0 SLICE_69/C1 (743:826:909)(743:826:909)) + (INTERCONNECT RCLK_I/PADDI SLICE_0/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_1/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_2/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_3/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_4/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_5/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_6/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_7/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_8/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_19/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_29/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_30/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_31/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_32/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_33/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_41/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_42/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_43/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_44/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_50/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_51/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_52/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_58/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_59/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_60/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_61/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_62/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_63/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_64/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_75/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_82/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT RCLK_I/PADDI SLICE_94/CLK (732:1078:1425)(732:1078:1425)) + (INTERCONNECT SLICE_0/FCO SLICE_8/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_1/Q1 SLICE_1/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/C1 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_1/Q1 SLICE_81/C0 (743:826:909)(743:826:909)) + (INTERCONNECT SLICE_1/Q0 SLICE_1/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_1/Q0 SLICE_66/B0 (917:1024:1131)(917:1024:1131)) + (INTERCONNECT SLICE_1/Q0 SLICE_72/C1 (750:837:924)(750:837:924)) + (INTERCONNECT SLICE_1/Q0 SLICE_74/D0 (602:670:739)(602:670:739)) + (INTERCONNECT SLICE_2/FCO SLICE_1/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_2/Q1 SLICE_2/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/B1 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2/Q1 SLICE_81/B0 (1309:1440:1571)(1309:1440:1571)) + (INTERCONNECT SLICE_2/Q0 SLICE_2/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_2/Q0 SLICE_74/D1 (599:662:725)(599:662:725)) + (INTERCONNECT SLICE_2/Q0 SLICE_81/D1 (1002:1094:1186)(1002:1094:1186)) + (INTERCONNECT SLICE_3/FCO SLICE_2/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_3/Q1 SLICE_3/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/A1 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_3/Q1 SLICE_81/A0 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_3/Q0 SLICE_3/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_3/Q0 SLICE_72/A1 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_3/Q0 SLICE_81/D0 (963:1075:1187)(963:1075:1187)) + (INTERCONNECT SLICE_4/FCO SLICE_3/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_4/Q1 SLICE_4/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_4/Q1 SLICE_64/B1 (1823:1986:2149)(1823:1986:2149)) + (INTERCONNECT SLICE_4/Q1 SLICE_72/B0 (1823:1986:2149)(1823:1986:2149)) + (INTERCONNECT SLICE_4/Q1 SLICE_74/B1 (923:1026:1129)(923:1026:1129)) + (INTERCONNECT SLICE_4/Q1 SLICE_84/B1 (923:1026:1129)(923:1026:1129)) + (INTERCONNECT SLICE_4/Q1 SLICE_87/B0 (923:1026:1129)(923:1026:1129)) + (INTERCONNECT SLICE_4/Q0 SLICE_4/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_4/Q0 SLICE_64/D1 (1404:1527:1650)(1404:1527:1650)) + (INTERCONNECT SLICE_4/Q0 SLICE_74/B0 (913:1016:1120)(913:1016:1120)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/C1 (1560:1708:1856)(1560:1708:1856)) + (INTERCONNECT SLICE_4/Q0 SLICE_84/B0 (913:1016:1120)(913:1016:1120)) + (INTERCONNECT SLICE_5/FCO SLICE_4/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_5/Q1 SLICE_5/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_5/Q1 SLICE_56/C0 (2087:2267:2448)(2087:2267:2448)) + (INTERCONNECT SLICE_5/Q1 SLICE_87/C0 (754:836:918)(754:836:918)) + (INTERCONNECT SLICE_5/Q0 SLICE_5/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_5/Q0 SLICE_58/C1 (1149:1260:1372)(1149:1260:1372)) + (INTERCONNECT SLICE_5/Q0 SLICE_84/D1 (1397:1518:1640)(1397:1518:1640)) + (INTERCONNECT SLICE_6/FCO SLICE_5/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_6/Q1 SLICE_6/A1 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_6/Q1 SLICE_56/A0 (2201:2394:2587)(2201:2394:2587)) + (INTERCONNECT SLICE_6/Q1 SLICE_84/D0 (599:662:725)(599:662:725)) + (INTERCONNECT SLICE_6/Q0 SLICE_6/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/A1 (1225:1371:1517)(1225:1371:1517)) + (INTERCONNECT SLICE_6/Q0 SLICE_84/A0 (1225:1371:1517)(1225:1371:1517)) + (INTERCONNECT SLICE_7/FCO SLICE_6/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_7/Q1 SLICE_7/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_7/Q1 SLICE_56/D0 (1803:1960:2118)(1803:1960:2118)) + (INTERCONNECT SLICE_7/Q1 SLICE_68/A1 (862:958:1054)(862:958:1054)) + (INTERCONNECT SLICE_7/Q1 SLICE_69/A1 (862:958:1054)(862:958:1054)) + (INTERCONNECT SLICE_7/Q0 SLICE_7/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_7/Q0 SLICE_72/A0 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_7/Q0 SLICE_87/A0 (1271:1394:1518)(1271:1394:1518)) + (INTERCONNECT SLICE_8/FCO SLICE_7/FCI (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_8/Q1 SLICE_8/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8/Q1 SLICE_68/D1 (876:974:1072)(876:974:1072)) + (INTERCONNECT SLICE_8/Q1 SLICE_69/D1 (876:974:1072)(876:974:1072)) + (INTERCONNECT SLICE_8/Q0 SLICE_8/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_8/Q0 SLICE_68/B1 (903:1005:1108)(903:1005:1108)) + (INTERCONNECT SLICE_8/Q0 SLICE_69/B1 (903:1005:1108)(903:1005:1108)) + (INTERCONNECT SLICE_78/F0 SLICE_9/D1 (932:1044:1156)(932:1044:1156)) + (INTERCONNECT SLICE_70/F1 SLICE_9/C1 (769:851:933)(769:851:933)) + (INTERCONNECT SLICE_70/F1 SLICE_14/C1 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_70/F1 SLICE_14/C0 (778:861:945)(778:861:945)) + (INTERCONNECT SLICE_70/F1 SLICE_67/A0 (1295:1420:1545)(1295:1420:1545)) + (INTERCONNECT SLICE_70/F1 SLICE_70/B0 (606:674:742)(606:674:742)) + (INTERCONNECT SLICE_70/F1 SLICE_90/C1 (769:851:933)(769:851:933)) + (INTERCONNECT SLICE_85/F1 SLICE_9/B1 (2100:2300:2500)(2100:2300:2500)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_9/A1 (1802:1995:2189)(1802:1995:2189)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_66/M0 (1606:1757:1909)(1606:1757:1909)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_67/C0 (2131:2353:2575)(2131:2353:2575)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_76/D0 (2379:2611:2843)(2379:2611:2843)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B1 (1395:1576:1757)(1395:1576:1757)) + (INTERCONNECT MAin\[0\]_I/PADDI SLICE_90/B0 (1395:1576:1757)(1395:1576:1757)) + (INTERCONNECT SLICE_9/Q0 SLICE_9/D0 (517:575:634)(517:575:634)) + (INTERCONNECT SLICE_9/Q0 SLICE_20/A1 (786:876:966)(786:876:966)) + (INTERCONNECT SLICE_70/F0 SLICE_9/C0 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_9/F1 SLICE_9/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_9/F1 SLICE_20/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_14/F1 SLICE_9/A0 (1263:1387:1511)(1263:1387:1511)) + (INTERCONNECT SLICE_14/F1 SLICE_14/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_14/F1 SLICE_20/M0 (1301:1429:1558)(1301:1429:1558)) + (INTERCONNECT SLICE_9/F0 SLICE_9/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT PHI2_I/PADDI SLICE_9/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_14/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_20/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_21/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_22/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_26/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_39/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_42/M1 (2017:2199:2381)(2017:2199:2381)) + (INTERCONNECT PHI2_I/PADDI SLICE_57/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_70/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_71/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_73/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_74/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_76/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT PHI2_I/PADDI SLICE_77/CLK (2497:3089:3682)(2497:3089:3682)) + (INTERCONNECT SLICE_77/F0 SLICE_14/B1 (883:984:1086)(883:984:1086)) + (INTERCONNECT SLICE_76/F0 SLICE_14/A1 (837:931:1026)(837:931:1026)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_14/B0 (1984:2189:2395)(1984:2189:2395)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_66/M1 (1925:2114:2304)(1925:2114:2304)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_67/D0 (1636:1793:1950)(1636:1793:1950)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_70/C0 (2423:2682:2941)(2423:2682:2941)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_77/D0 (2046:2232:2419)(2046:2232:2419)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_78/D0 (1522:1684:1847)(1522:1684:1847)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_90/A1 (2718:2965:3212)(2718:2965:3212)) + (INTERCONNECT MAin\[1\]_I/PADDI SLICE_91/B0 (2379:2611:2843)(2379:2611:2843)) + (INTERCONNECT SLICE_14/Q0 SLICE_14/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_14/Q0 SLICE_20/C0 (1431:1576:1722)(1431:1576:1722)) + (INTERCONNECT SLICE_14/F0 SLICE_14/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/D1 (571:629:687)(571:629:687)) + (INTERCONNECT SLICE_19/Q0 SLICE_19/A0 (575:636:697)(575:636:697)) + (INTERCONNECT SLICE_19/Q0 SLICE_41/D1 (632:700:769)(632:700:769)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/C1 (808:893:978)(808:893:978)) + (INTERCONNECT SLICE_19/Q0 SLICE_50/C0 (808:893:978)(808:893:978)) + (INTERCONNECT SLICE_19/Q0 SLICE_60/C1 (1211:1325:1439)(1211:1325:1439)) + (INTERCONNECT SLICE_19/Q0 SLICE_63/B0 (968:1072:1177)(968:1072:1177)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B1 (1236:1372:1509)(1236:1372:1509)) + (INTERCONNECT SLICE_19/Q0 nRWE_RNO_1\/SLICE_65/B0 (1236:1372:1509)(1236:1372:1509)) + (INTERCONNECT SLICE_19/Q0 SLICE_73/B1 (947:1054:1161)(947:1054:1161)) + (INTERCONNECT SLICE_19/Q0 SLICE_79/D0 (653:719:785)(653:719:785)) + (INTERCONNECT SLICE_19/Q0 SLICE_80/A0 (922:1019:1117)(922:1019:1117)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/C1 (788:872:957)(788:872:957)) + (INTERCONNECT SLICE_50/Q0 SLICE_19/C0 (788:872:957)(788:872:957)) + (INTERCONNECT SLICE_50/Q0 SLICE_41/A1 (1312:1438:1565)(1312:1438:1565)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/A1 (839:930:1021)(839:930:1021)) + (INTERCONNECT SLICE_50/Q0 SLICE_50/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/C1 (1839:2035:2231)(1839:2035:2231)) + (INTERCONNECT SLICE_50/Q0 SLICE_59/B0 (1710:1891:2072)(1710:1891:2072)) + (INTERCONNECT SLICE_50/Q0 SLICE_63/A0 (839:930:1021)(839:930:1021)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/A1 (1191:1322:1454)(1191:1322:1454)) + (INTERCONNECT SLICE_50/Q0 nRWE_RNO_1\/SLICE_65/D0 (633:698:764)(633:698:764)) + (INTERCONNECT SLICE_50/Q0 SLICE_73/D1 (1332:1461:1591)(1332:1461:1591)) + (INTERCONNECT SLICE_50/Q0 SLICE_79/A0 (839:930:1021)(839:930:1021)) + (INTERCONNECT SLICE_50/Q0 SLICE_94/C0 (2356:2575:2795)(2356:2575:2795)) + (INTERCONNECT SLICE_31/Q0 SLICE_19/B1 (863:960:1057)(863:960:1057)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/A1 (810:899:989)(810:899:989)) + (INTERCONNECT SLICE_31/Q0 SLICE_31/C0 (696:773:850)(696:773:850)) + (INTERCONNECT SLICE_31/Q0 SLICE_83/B1 (863:960:1057)(863:960:1057)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/A1 (1282:1411:1540)(1282:1411:1540)) + (INTERCONNECT SLICE_51/Q1 SLICE_19/LSR (1320:1453:1587)(1320:1453:1587)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/A1 (1688:1854:2020)(1688:1854:2020)) + (INTERCONNECT SLICE_51/Q1 SLICE_42/A0 (1688:1854:2020)(1688:1854:2020)) + (INTERCONNECT SLICE_51/Q1 SLICE_43/B1 (1328:1464:1600)(1328:1464:1600)) + (INTERCONNECT SLICE_51/Q1 SLICE_50/LSR (1320:1453:1587)(1320:1453:1587)) + (INTERCONNECT SLICE_51/Q1 SLICE_52/M1 (889:990:1091)(889:990:1091)) + (INTERCONNECT SLICE_51/Q1 SLICE_61/B1 (1726:1896:2067)(1726:1896:2067)) + (INTERCONNECT SLICE_51/Q1 SLICE_62/A1 (2115:2317:2519)(2115:2317:2519)) + (INTERCONNECT SLICE_51/Q1 nRWE_RNO_1\/SLICE_65/D1 (582:647:712)(582:647:712)) + (INTERCONNECT SLICE_51/Q1 SLICE_73/C1 (1571:1716:1862)(1571:1716:1862)) + (INTERCONNECT SLICE_19/F0 SLICE_19/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_19/F1 SLICE_43/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_19/F1 SLICE_44/B1 (1394:1526:1659)(1394:1526:1659)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_20/Q0 SLICE_20/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_20/Q0 SLICE_67/B0 (1409:1541:1674)(1409:1541:1674)) + (INTERCONNECT SLICE_90/F1 SLICE_20/B0 (1286:1416:1547)(1286:1416:1547)) + (INTERCONNECT SLICE_20/OFX0 SLICE_20/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_21/D1 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_55/M1 (2758:3009:3261)(2758:3009:3261)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_67/D1 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_75/A0 (1511:1671:1831)(1511:1671:1831)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/D1 (1242:1370:1499)(1242:1370:1499)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_76/M1 (1549:1713:1878)(1549:1713:1878)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_78/B1 (2391:2619:2848)(2391:2619:2848)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/D1 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_82/D0 (1673:1834:1995)(1673:1834:1995)) + (INTERCONNECT Din\[5\]_I/PADDI SLICE_85/A0 (1876:2059:2243)(1876:2059:2243)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_21/C1 (1790:1964:2139)(1790:1964:2139)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_57/C1 (2200:2404:2608)(2200:2404:2608)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_67/B1 (1930:2123:2316)(1930:2123:2316)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_71/M1 (2355:2576:2798)(2355:2576:2798)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_76/A0 (2606:2857:3109)(2606:2857:3109)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_78/C1 (1790:1964:2139)(1790:1964:2139)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/A1 (1904:2091:2278)(1904:2091:2278)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_82/A0 (1904:2091:2278)(1904:2091:2278)) + (INTERCONNECT Din\[3\]_I/PADDI SLICE_85/M1 (1922:2112:2303)(1922:2112:2303)) + (INTERCONNECT SLICE_75/F1 SLICE_21/B1 (931:1040:1149)(931:1040:1149)) + (INTERCONNECT SLICE_75/F1 SLICE_26/D1 (616:686:757)(616:686:757)) + (INTERCONNECT SLICE_75/F1 SLICE_67/A1 (864:963:1063)(864:963:1063)) + (INTERCONNECT SLICE_75/F1 SLICE_75/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_75/F1 SLICE_82/B1 (931:1040:1149)(931:1040:1149)) + (INTERCONNECT SLICE_75/F1 SLICE_82/B0 (931:1040:1149)(931:1040:1149)) + (INTERCONNECT SLICE_21/F1 SLICE_21/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_21/F1 SLICE_26/A0 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_33/Q0 SLICE_21/C0 (1644:1786:1929)(1644:1786:1929)) + (INTERCONNECT SLICE_33/Q0 SLICE_33/D1 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_33/Q0 SLICE_57/B0 (2611:2837:3063)(2611:2837:3063)) + (INTERCONNECT SLICE_75/F0 SLICE_21/B0 (883:984:1086)(883:984:1086)) + (INTERCONNECT SLICE_82/F1 SLICE_21/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_21/F0 SLICE_21/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/F0 SLICE_21/CE (573:634:695)(573:634:695)) + (INTERCONNECT SLICE_67/F0 SLICE_26/CE (573:634:695)(573:634:695)) + (INTERCONNECT SLICE_67/F0 SLICE_57/CE (906:1005:1104)(906:1005:1104)) + (INTERCONNECT SLICE_67/F0 SLICE_67/C1 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_67/F0 SLICE_82/C0 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_21/Q0 SLICE_33/B0 (1797:1958:2120)(1797:1958:2120)) + (INTERCONNECT SLICE_21/Q0 SLICE_82/C1 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_22/Q0 SLICE_22/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_22/Q0 SLICE_52/A1 (1157:1286:1415)(1157:1286:1415)) + (INTERCONNECT SLICE_43/Q1 SLICE_22/C1 (1016:1133:1251)(1016:1133:1251)) + (INTERCONNECT SLICE_43/Q1 SLICE_52/D1 (861:959:1058)(861:959:1058)) + (INTERCONNECT SLICE_41/Q1 SLICE_22/B1 (1300:1432:1564)(1300:1432:1564)) + (INTERCONNECT SLICE_41/Q1 SLICE_43/M1 (1695:1853:2012)(1695:1853:2012)) + (INTERCONNECT SLICE_41/Q1 SLICE_52/B1 (1703:1864:2025)(1703:1864:2025)) + (INTERCONNECT SLICE_32/Q0 SLICE_22/A1 (887:984:1081)(887:984:1081)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/C1 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_32/Q0 SLICE_32/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_32/Q0 SLICE_33/D0 (1042:1139:1236)(1042:1139:1236)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/A1 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32/Q0 SLICE_43/A0 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32/Q0 SLICE_44/A1 (887:984:1081)(887:984:1081)) + (INTERCONNECT SLICE_32/Q0 SLICE_51/C1 (1197:1313:1429)(1197:1313:1429)) + (INTERCONNECT SLICE_32/Q0 SLICE_52/C1 (1197:1313:1429)(1197:1313:1429)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/A1 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32/Q0 SLICE_58/A0 (1714:1871:2028)(1714:1871:2028)) + (INTERCONNECT SLICE_32/Q0 SLICE_64/A1 (1311:1439:1568)(1311:1439:1568)) + (INTERCONNECT SLICE_32/Q0 nRWE_RNO_1\/SLICE_65/A0 (887:984:1081)(887:984:1081)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/C1 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_32/Q0 SLICE_66/C0 (710:788:867)(710:788:867)) + (INTERCONNECT SLICE_32/Q0 SLICE_73/A1 (1304:1431:1559)(1304:1431:1559)) + (INTERCONNECT SLICE_82/F0 SLICE_22/D0 (1778:1934:2090)(1778:1934:2090)) + (INTERCONNECT SLICE_22/F0 SLICE_22/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_22/F1 SLICE_68/D0 (975:1068:1161)(975:1068:1161)) + (INTERCONNECT SLICE_22/F1 SLICE_69/B0 (1290:1421:1553)(1290:1421:1553)) + (INTERCONNECT SLICE_78/F1 SLICE_26/C1 (735:822:909)(735:822:909)) + (INTERCONNECT SLICE_78/F1 SLICE_78/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_26/Q0 SLICE_26/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_26/Q0 SLICE_58/B0 (899:1000:1102)(899:1000:1102)) + (INTERCONNECT SLICE_76/F1 SLICE_26/A1 (1348:1473:1599)(1348:1473:1599)) + (INTERCONNECT SLICE_76/F1 SLICE_76/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_58/Q0 SLICE_26/D0 (580:648:716)(580:648:716)) + (INTERCONNECT SLICE_58/Q0 SLICE_39/A0 (2063:2250:2438)(2063:2250:2438)) + (INTERCONNECT SLICE_26/F1 SLICE_26/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_26/F0 SLICE_26/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_83/F1 SLICE_29/D1 (1406:1541:1676)(1406:1541:1676)) + (INTERCONNECT SLICE_83/F1 SLICE_59/A1 (2154:2337:2521)(2154:2337:2521)) + (INTERCONNECT SLICE_83/F1 SLICE_61/D0 (1695:1864:2034)(1695:1864:2034)) + (INTERCONNECT SLICE_73/F1 SLICE_29/C1 (1273:1392:1511)(1273:1392:1511)) + (INTERCONNECT SLICE_73/F1 SLICE_29/C0 (1273:1392:1511)(1273:1392:1511)) + (INTERCONNECT SLICE_73/F1 SLICE_59/B1 (1836:2003:2171)(1836:2003:2171)) + (INTERCONNECT SLICE_73/F1 SLICE_61/C0 (1273:1392:1511)(1273:1392:1511)) + (INTERCONNECT SLICE_73/F1 SLICE_73/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_73/F1 SLICE_94/C1 (1680:1833:1986)(1680:1833:1986)) + (INTERCONNECT SLICE_61/F1 SLICE_29/B1 (841:937:1034)(841:937:1034)) + (INTERCONNECT SLICE_61/F1 SLICE_61/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A1 (832:922:1012)(832:922:1012)) + (INTERCONNECT SLICE_29/Q0 SLICE_29/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/D1 (623:687:752)(623:687:752)) + (INTERCONNECT SLICE_29/Q0 SLICE_30/D0 (623:687:752)(623:687:752)) + (INTERCONNECT SLICE_29/Q0 SLICE_31/A0 (1302:1427:1553)(1302:1427:1553)) + (INTERCONNECT SLICE_29/Q0 SLICE_42/B1 (1703:1883:2063)(1703:1883:2063)) + (INTERCONNECT SLICE_29/Q0 SLICE_61/A0 (832:922:1012)(832:922:1012)) + (INTERCONNECT SLICE_29/Q0 SLICE_83/D0 (1033:1127:1221)(1033:1127:1221)) + (INTERCONNECT SLICE_29/Q0 SLICE_94/M0 (2098:2304:2511)(2098:2304:2511)) + (INTERCONNECT SLICE_43/Q0 SLICE_29/B0 (1347:1503:1660)(1347:1503:1660)) + (INTERCONNECT SLICE_43/Q0 SLICE_41/B0 (948:1050:1153)(948:1050:1153)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/D1 (578:636:695)(578:636:695)) + (INTERCONNECT SLICE_43/Q0 SLICE_43/D0 (578:636:695)(578:636:695)) + (INTERCONNECT SLICE_43/Q0 SLICE_44/D1 (633:697:761)(633:697:761)) + (INTERCONNECT SLICE_43/Q0 SLICE_50/D1 (632:700:769)(632:700:769)) + (INTERCONNECT SLICE_43/Q0 SLICE_59/D1 (1435:1582:1729)(1435:1582:1729)) + (INTERCONNECT SLICE_43/Q0 SLICE_61/C1 (1476:1647:1819)(1476:1647:1819)) + (INTERCONNECT SLICE_43/Q0 SLICE_62/B1 (2176:2379:2582)(2176:2379:2582)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/C1 (801:890:980)(801:890:980)) + (INTERCONNECT SLICE_43/Q0 SLICE_63/C0 (801:890:980)(801:890:980)) + (INTERCONNECT SLICE_43/Q0 nRWE_RNO_1\/SLICE_65/M0 (640:705:770)(640:705:770)) + (INTERCONNECT SLICE_43/Q0 SLICE_73/A0 (1191:1321:1451)(1191:1321:1451)) + (INTERCONNECT SLICE_43/Q0 SLICE_79/C1 (801:890:980)(801:890:980)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/D1 (2271:2465:2659)(2271:2465:2659)) + (INTERCONNECT SLICE_43/Q0 SLICE_94/D0 (2271:2465:2659)(2271:2465:2659)) + (INTERCONNECT SLICE_29/F0 SLICE_29/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_29/F1 SLICE_60/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_30/Q1 SLICE_30/C1 (696:773:850)(696:773:850)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/D1 (991:1107:1224)(991:1107:1224)) + (INTERCONNECT SLICE_30/Q1 SLICE_31/D0 (991:1107:1224)(991:1107:1224)) + (INTERCONNECT SLICE_30/Q1 SLICE_42/C1 (1560:1700:1840)(1560:1700:1840)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/C1 (1146:1281:1417)(1146:1281:1417)) + (INTERCONNECT SLICE_30/Q1 SLICE_83/C0 (1146:1281:1417)(1146:1281:1417)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/A1 (825:914:1004)(825:914:1004)) + (INTERCONNECT SLICE_30/Q0 SLICE_30/A0 (560:621:682)(560:621:682)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/B1 (943:1046:1150)(943:1046:1150)) + (INTERCONNECT SLICE_30/Q0 SLICE_31/B0 (943:1046:1150)(943:1046:1150)) + (INTERCONNECT SLICE_30/Q0 SLICE_42/D1 (1109:1203:1297)(1109:1203:1297)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/A1 (897:993:1090)(897:993:1090)) + (INTERCONNECT SLICE_30/Q0 SLICE_83/A0 (897:993:1090)(897:993:1090)) + (INTERCONNECT SLICE_30/F1 SLICE_30/DI1 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_30/F0 SLICE_30/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_94/F1 SLICE_30/CE (1885:2046:2208)(1885:2046:2208)) + (INTERCONNECT SLICE_94/F1 SLICE_31/CE (2184:2374:2565)(2184:2374:2565)) + (INTERCONNECT SLICE_73/F0 SLICE_31/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_31/F0 SLICE_31/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_31/F1 SLICE_94/LSR (1908:2070:2233)(1908:2070:2233)) + (INTERCONNECT SLICE_56/F0 SLICE_32/D1 (1374:1495:1616)(1374:1495:1616)) + (INTERCONNECT SLICE_84/F1 SLICE_32/B1 (1172:1308:1444)(1172:1308:1444)) + (INTERCONNECT SLICE_72/F1 SLICE_32/A1 (1239:1383:1527)(1239:1383:1527)) + (INTERCONNECT SLICE_72/F1 SLICE_58/D1 (541:599:657)(541:599:657)) + (INTERCONNECT SLICE_72/F1 SLICE_64/C1 (1575:1727:1879)(1575:1727:1879)) + (INTERCONNECT SLICE_72/F1 SLICE_72/C0 (431:479:528)(431:479:528)) + (INTERCONNECT SLICE_74/F0 SLICE_32/D0 (245:274:304)(245:274:304)) + (INTERCONNECT SLICE_32/F0 SLICE_32/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_32/F1 SLICE_87/D1 (245:274:304)(245:274:304)) + (INTERCONNECT nCRAS_I/PADDI SLICE_33/C1 (1635:1825:2016)(1635:1825:2016)) + (INTERCONNECT nCRAS_I/PADDI SLICE_44/M1 (1526:1687:1849)(1526:1687:1849)) + (INTERCONNECT nCRAS_I/PADDI SLICE_66/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_67/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_72/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_78/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_80/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_81/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_83/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT nCRAS_I/PADDI SLICE_88/CLK (3109:3772:4435)(3109:3772:4435)) + (INTERCONNECT SLICE_78/Q0 SLICE_33/A1 (1758:1913:2068)(1758:1913:2068)) + (INTERCONNECT SLICE_78/Q0 SLICE_41/D0 (1892:2044:2197)(1892:2044:2197)) + (INTERCONNECT SLICE_78/Q0 SLICE_60/D0 (1405:1538:1671)(1405:1538:1671)) + (INTERCONNECT SLICE_78/Q0 SLICE_63/A1 (1634:1807:1981)(1634:1807:1981)) + (INTERCONNECT SLICE_78/Q0 SLICE_79/B0 (1969:2184:2399)(1969:2184:2399)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_33/A0 (1377:1528:1680)(1377:1528:1680)) + (INTERCONNECT UFMSDO_I/PADDI SLICE_58/D0 (2317:2524:2731)(2317:2524:2731)) + (INTERCONNECT SLICE_33/F0 SLICE_33/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_69/F0 SLICE_33/CE (1070:1165:1260)(1070:1165:1260)) + (INTERCONNECT SLICE_33/F1 LED_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/D1 (1908:2070:2232)(1908:2070:2232)) + (INTERCONNECT SLICE_57/Q0 SLICE_39/D0 (1908:2070:2232)(1908:2070:2232)) + (INTERCONNECT SLICE_85/F0 SLICE_39/B1 (1792:1955:2118)(1792:1955:2118)) + (INTERCONNECT SLICE_85/F0 SLICE_57/D1 (1477:1601:1726)(1477:1601:1726)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_39/B0 (2577:2847:3118)(2577:2847:3118)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_56/M0 (2415:2652:2889)(2415:2652:2889)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_75/A1 (2528:2792:3057)(2528:2792:3057)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/B0 (2695:2961:3228)(2695:2961:3228)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_77/M0 (2387:2616:2845)(2387:2616:2845)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_78/C0 (2520:2764:3008)(2520:2764:3008)) + (INTERCONNECT Din\[6\]_I/PADDI SLICE_85/D0 (1973:2170:2368)(1973:2170:2368)) + (INTERCONNECT SLICE_39/F0 SLICE_39/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/Q0 SLICE_39/LSR (1723:1881:2040)(1723:1881:2040)) + (INTERCONNECT SLICE_44/Q0 SLICE_44/A0 (545:606:667)(545:606:667)) + (INTERCONNECT SLICE_44/Q0 SLICE_66/LSR (910:1010:1110)(910:1010:1110)) + (INTERCONNECT SLICE_44/Q0 SLICE_67/LSR (1730:1889:2048)(1730:1889:2048)) + (INTERCONNECT SLICE_44/Q0 SLICE_72/LSR (1730:1889:2048)(1730:1889:2048)) + (INTERCONNECT SLICE_44/Q0 SLICE_80/LSR (1320:1449:1579)(1320:1449:1579)) + (INTERCONNECT SLICE_44/Q0 SLICE_83/LSR (910:1010:1110)(910:1010:1110)) + (INTERCONNECT SLICE_44/Q0 SLICE_88/LSR (1723:1881:2040)(1723:1881:2040)) + (INTERCONNECT SLICE_39/Q0 RA\[11\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_39/F1 SLICE_57/A0 (2170:2363:2556)(2170:2363:2556)) + (INTERCONNECT SLICE_81/Q1 SLICE_41/C1 (2032:2205:2379)(2032:2205:2379)) + (INTERCONNECT SLICE_81/Q1 SLICE_60/B1 (1789:1953:2117)(1789:1953:2117)) + (INTERCONNECT SLICE_75/Q1 SLICE_41/B1 (1295:1427:1559)(1295:1427:1559)) + (INTERCONNECT SLICE_75/Q1 SLICE_60/A1 (2074:2266:2459)(2074:2266:2459)) + (INTERCONNECT SLICE_75/Q1 SLICE_79/B1 (1717:1887:2058)(1717:1887:2058)) + (INTERCONNECT SLICE_75/Q1 SLICE_80/C1 (1557:1708:1859)(1557:1708:1859)) + (INTERCONNECT SLICE_75/Q1 SLICE_82/M0 (884:984:1085)(884:984:1085)) + (INTERCONNECT SLICE_41/F1 SLICE_41/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_43/F1 SLICE_41/A0 (833:932:1032)(833:932:1032)) + (INTERCONNECT SLICE_41/F0 SLICE_41/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q1 SLICE_41/M1 (1773:1932:2091)(1773:1932:2091)) + (INTERCONNECT SLICE_41/Q0 SLICE_42/B0 (1781:1942:2104)(1781:1942:2104)) + (INTERCONNECT SLICE_44/Q1 SLICE_42/D0 (1398:1530:1663)(1398:1530:1663)) + (INTERCONNECT SLICE_44/Q1 SLICE_51/M1 (1386:1516:1646)(1386:1516:1646)) + (INTERCONNECT SLICE_52/Q1 SLICE_42/C0 (1621:1763:1905)(1621:1763:1905)) + (INTERCONNECT SLICE_42/F0 SLICE_42/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_42/Q0 SLICE_61/A1 (1247:1371:1495)(1247:1371:1495)) + (INTERCONNECT SLICE_42/Q0 nRWE_RNO_1\/SLICE_65/C1 (2228:2432:2636)(2228:2432:2636)) + (INTERCONNECT SLICE_42/Q0 RCKE_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_42/F1 nRWE_RNO_1\/SLICE_65/C0 (1537:1688:1840)(1537:1688:1840)) + (INTERCONNECT SLICE_50/F0 SLICE_43/C1 (750:837:924)(750:837:924)) + (INTERCONNECT SLICE_50/F0 SLICE_50/DI0 (31:31:31)(31:31:31)) + (INTERCONNECT SLICE_50/F0 SLICE_61/D1 (970:1082:1195)(970:1082:1195)) + (INTERCONNECT SLICE_50/F0 SLICE_62/C1 (1575:1727:1879)(1575:1727:1879)) + (INTERCONNECT SLICE_83/F0 SLICE_43/C0 (681:758:835)(681:758:835)) + (INTERCONNECT SLICE_83/F0 SLICE_44/C1 (739:821:903)(739:821:903)) + (INTERCONNECT SLICE_43/F0 SLICE_43/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_44/F1 SLICE_44/B0 (560:628:696)(560:628:696)) + (INTERCONNECT SLICE_44/F0 SLICE_44/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_50/F1 SLICE_63/LSR (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_73/Q0 SLICE_51/D1 (1335:1476:1617)(1335:1476:1617)) + (INTERCONNECT SLICE_72/F0 SLICE_51/B1 (1781:1942:2104)(1781:1942:2104)) + (INTERCONNECT SLICE_66/F0 SLICE_51/A1 (1256:1379:1503)(1256:1379:1503)) + (INTERCONNECT SLICE_66/F0 SLICE_66/A1 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_52/F1 SLICE_51/D0 (877:975:1074)(877:975:1074)) + (INTERCONNECT SLICE_52/F1 SLICE_52/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_52/F1 SLICE_64/A0 (857:952:1048)(857:952:1048)) + (INTERCONNECT SLICE_51/F1 SLICE_51/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_64/F1 SLICE_51/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_64/F1 SLICE_52/A0 (868:962:1057)(868:962:1057)) + (INTERCONNECT SLICE_64/F1 SLICE_64/B0 (591:659:727)(591:659:727)) + (INTERCONNECT SLICE_51/Q0 SLICE_51/A0 (530:591:652)(530:591:652)) + (INTERCONNECT SLICE_51/Q0 UFMCLK_I/PADDO (1184:1361:1538)(1184:1361:1538)) + (INTERCONNECT SLICE_51/F0 SLICE_51/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_87/F1 SLICE_52/D0 (932:1044:1156)(932:1044:1156)) + (INTERCONNECT SLICE_52/Q0 SLICE_52/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_52/Q0 UFMSDI_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_52/F0 SLICE_52/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_67/Q0 SLICE_55/D0 (1466:1589:1712)(1466:1589:1712)) + (INTERCONNECT SLICE_63/Q0 SLICE_55/B0 (2114:2313:2513)(2114:2313:2513)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/A1 (1678:1840:2002)(1678:1840:2002)) + (INTERCONNECT SLICE_63/Q0 SLICE_86/A0 (1678:1840:2002)(1678:1840:2002)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/D1 (2224:2421:2618)(2224:2421:2618)) + (INTERCONNECT SLICE_63/Q0 SLICE_89/D0 (2224:2421:2618)(2224:2421:2618)) + (INTERCONNECT SLICE_63/Q0 SLICE_90/A0 (1802:1970:2138)(1802:1970:2138)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/D1 (1796:1956:2117)(1796:1956:2117)) + (INTERCONNECT SLICE_63/Q0 SLICE_91/C0 (1954:2134:2314)(1954:2134:2314)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/D1 (2320:2504:2689)(2320:2504:2689)) + (INTERCONNECT SLICE_63/Q0 SLICE_92/D0 (2320:2504:2689)(2320:2504:2689)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/B1 (2543:2782:3021)(2543:2782:3021)) + (INTERCONNECT SLICE_63/Q0 SLICE_93/B0 (2543:2782:3021)(2543:2782:3021)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_55/A0 (2220:2446:2672)(2220:2446:2672)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_67/M0 (2701:2972:3244)(2701:2972:3244)) + (INTERCONNECT MAin\[4\]_I/PADDI SLICE_71/A1 (2663:2930:3197)(2663:2930:3197)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_55/M0 (2067:2260:2454)(2067:2260:2454)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_75/C1 (1378:1524:1670)(1378:1524:1670)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_76/M0 (1530:1693:1856)(1530:1693:1856)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_77/A1 (2732:2985:3238)(2732:2985:3238)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/B1 (1973:2177:2381)(1973:2177:2381)) + (INTERCONNECT Din\[4\]_I/PADDI SLICE_85/B0 (1973:2177:2381)(1973:2177:2381)) + (INTERCONNECT nCCAS_I/PADDI SLICE_55/CLK (1242:1370:1498)(1242:1370:1498)) + (INTERCONNECT nCCAS_I/PADDI SLICE_56/CLK (2109:2309:2510)(2109:2309:2510)) + (INTERCONNECT nCCAS_I/PADDI SLICE_75/M0 (1503:1660:1818)(1503:1660:1818)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M0 (2373:2602:2831)(2373:2602:2831)) + (INTERCONNECT nCCAS_I/PADDI SLICE_78/M1 (2373:2602:2831)(2373:2602:2831)) + (INTERCONNECT nCCAS_I/PADDI SLICE_79/CLK (1706:1877:2049)(1706:1877:2049)) + (INTERCONNECT nCCAS_I/PADDI SLICE_85/CLK (1706:1877:2049)(1706:1877:2049)) + (INTERCONNECT nCCAS_I/PADDI SLICE_88/D0 (2063:2255:2448)(2063:2255:2448)) + (INTERCONNECT SLICE_55/F0 RA\[4\]_I/PADDO (1288:1474:1660)(1288:1474:1660)) + (INTERCONNECT SLICE_55/Q0 RD\[4\]_I/PADDO (2378:2648:2918)(2378:2648:2918)) + (INTERCONNECT SLICE_55/Q1 RD\[5\]_I/PADDO (1982:2228:2475)(1982:2228:2475)) + (INTERCONNECT SLICE_76/Q1 SLICE_56/D1 (1498:1630:1763)(1498:1630:1763)) + (INTERCONNECT SLICE_71/Q0 SLICE_56/C1 (1653:1804:1956)(1653:1804:1956)) + (INTERCONNECT SLICE_77/Q0 SLICE_56/B1 (1813:1984:2155)(1813:1984:2155)) + (INTERCONNECT SLICE_77/Q1 SLICE_56/A1 (2138:2321:2505)(2138:2321:2505)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_56/M1 (2264:2497:2730)(2264:2497:2730)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_75/B1 (1828:2016:2205)(1828:2016:2205)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/C1 (1272:1412:1553)(1272:1412:1553)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_77/M1 (1424:1581:1739)(1424:1581:1739)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C1 (2522:2767:3013)(2522:2767:3013)) + (INTERCONNECT Din\[7\]_I/PADDI SLICE_85/C0 (2522:2767:3013)(2522:2767:3013)) + (INTERCONNECT SLICE_56/Q0 RD\[6\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_56/F1 SLICE_70/B1 (1813:1984:2155)(1813:1984:2155)) + (INTERCONNECT SLICE_56/Q1 RD\[7\]_I/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_57/B1 (1547:1713:1879)(1547:1713:1879)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_71/M0 (1539:1702:1866)(1539:1702:1866)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_73/M1 (1921:2109:2298)(1921:2109:2298)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_77/A0 (1904:2092:2280)(1904:2092:2280)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_78/A0 (1904:2092:2280)(1904:2092:2280)) + (INTERCONNECT Din\[2\]_I/PADDI SLICE_85/M0 (2324:2541:2759)(2324:2541:2759)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_57/A1 (1891:2077:2264)(1891:2077:2264)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_70/M0 (2325:2544:2764)(2325:2544:2764)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_74/M0 (1529:1691:1854)(1529:1691:1854)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_76/B1 (1937:2130:2324)(1937:2130:2324)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_79/M0 (2739:2994:3250)(2739:2994:3250)) + (INTERCONNECT Din\[0\]_I/PADDI SLICE_85/A1 (2297:2513:2729)(2297:2513:2729)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_57/D0 (1217:1343:1469)(1217:1343:1469)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_70/M1 (714:807:900)(714:807:900)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_73/M0 (1521:1678:1835)(1521:1678:1835)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_75/D0 (1217:1343:1469)(1217:1343:1469)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_76/B0 (1421:1579:1738)(1421:1579:1738)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_79/M1 (1959:2159:2360)(1959:2159:2360)) + (INTERCONNECT Din\[1\]_I/PADDI SLICE_85/D1 (1941:2140:2339)(1941:2140:2339)) + (INTERCONNECT SLICE_57/F1 SLICE_57/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_57/F0 SLICE_57/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_58/F0 SLICE_58/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_68/F0 SLICE_58/CE (875:974:1073)(875:974:1073)) + (INTERCONNECT SLICE_58/F1 SLICE_87/B1 (1544:1731:1919)(1544:1731:1919)) + (INTERCONNECT SLICE_58/F1 SLICE_87/D0 (940:1054:1169)(940:1054:1169)) + (INTERCONNECT SLICE_59/F1 SLICE_59/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_62/F1 SLICE_59/C0 (1669:1820:1972)(1669:1820:1972)) + (INTERCONNECT SLICE_62/F1 SLICE_62/B0 (576:644:712)(576:644:712)) + (INTERCONNECT SLICE_80/F0 SLICE_59/A0 (1201:1344:1488)(1201:1344:1488)) + (INTERCONNECT SLICE_59/F0 SLICE_59/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_59/Q0 nRCAS_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_82/Q0 SLICE_60/D1 (1509:1643:1777)(1509:1643:1777)) + (INTERCONNECT SLICE_82/Q0 SLICE_63/D1 (1491:1617:1743)(1491:1617:1743)) + (INTERCONNECT SLICE_82/Q0 SLICE_79/D1 (1491:1617:1743)(1491:1617:1743)) + (INTERCONNECT SLICE_82/Q0 SLICE_80/B1 (2209:2402:2596)(2209:2402:2596)) + (INTERCONNECT SLICE_94/F0 SLICE_60/C0 (1529:1669:1809)(1529:1669:1809)) + (INTERCONNECT SLICE_60/F1 SLICE_60/A0 (779:868:958)(779:868:958)) + (INTERCONNECT SLICE_60/F0 SLICE_60/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_60/Q0 nRCS_I/PADDO (1291:1473:1656)(1291:1473:1656)) + (INTERCONNECT SLICE_61/F0 SLICE_61/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_61/Q0 nRRAS_I/PADDO (1935:2190:2445)(1935:2190:2445)) + (INTERCONNECT SLICE_78/Q1 SLICE_62/D1 (1079:1173:1267)(1079:1173:1267)) + (INTERCONNECT SLICE_78/Q1 SLICE_80/C0 (1637:1779:1921)(1637:1779:1921)) + (INTERCONNECT SLICE_81/Q0 SLICE_62/D0 (1679:1834:1990)(1679:1834:1990)) + (INTERCONNECT SLICE_81/Q0 SLICE_63/B1 (1691:1860:2030)(1691:1860:2030)) + (INTERCONNECT SLICE_81/Q0 SLICE_80/D0 (1376:1507:1638)(1376:1507:1638)) + (INTERCONNECT nRWE_RNO_1\/SLICE_65/OFX0 SLICE_62/C0 (1653:1804:1956) + (1653:1804:1956)) + (INTERCONNECT SLICE_79/F0 SLICE_62/A0 (1651:1815:1979)(1651:1815:1979)) + (INTERCONNECT SLICE_62/F0 SLICE_62/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_62/Q0 nRWE_I/PADDO (2095:2345:2595)(2095:2345:2595)) + (INTERCONNECT SLICE_63/F1 SLICE_63/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_63/F0 SLICE_63/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_64/Q0 SLICE_64/D0 (526:584:642)(526:584:642)) + (INTERCONNECT SLICE_64/Q0 nUFMCS_I/PADDO (1548:1774:2000)(1548:1774:2000)) + (INTERCONNECT SLICE_66/F1 SLICE_64/C0 (1529:1669:1809)(1529:1669:1809)) + (INTERCONNECT SLICE_64/F0 SLICE_64/DI0 (0:0:0)(0:0:0)) + (INTERCONNECT SLICE_73/Q1 SLICE_66/B1 (1247:1397:1548)(1247:1397:1548)) + (INTERCONNECT SLICE_81/F0 SLICE_66/D0 (1383:1512:1642)(1383:1512:1642)) + (INTERCONNECT SLICE_81/F0 SLICE_74/A0 (1652:1813:1974)(1652:1813:1974)) + (INTERCONNECT SLICE_74/F1 SLICE_66/A0 (795:884:974)(795:884:974)) + (INTERCONNECT SLICE_74/F1 SLICE_74/C0 (416:464:513)(416:464:513)) + (INTERCONNECT SLICE_66/Q0 SLICE_90/D0 (1375:1502:1629)(1375:1502:1629)) + (INTERCONNECT SLICE_66/Q1 SLICE_91/D0 (1901:2062:2224)(1901:2062:2224)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_67/M1 (1621:1774:1928)(1621:1774:1928)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_71/D1 (1614:1766:1919)(1614:1766:1919)) + (INTERCONNECT MAin\[5\]_I/PADDI SLICE_93/A1 (1908:2101:2294)(1908:2101:2294)) + (INTERCONNECT SLICE_67/F1 SLICE_73/CE (947:1062:1178)(947:1062:1178)) + (INTERCONNECT SLICE_67/F1 SLICE_74/CE (1350:1494:1639)(1350:1494:1639)) + (INTERCONNECT SLICE_67/Q1 SLICE_93/D1 (1063:1157:1251)(1063:1157:1251)) + (INTERCONNECT SLICE_87/F0 SLICE_68/C0 (735:822:909)(735:822:909)) + (INTERCONNECT SLICE_87/F0 SLICE_69/D0 (580:648:716)(580:648:716)) + (INTERCONNECT SLICE_68/F1 SLICE_68/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_84/F0 SLICE_68/A0 (786:876:966)(786:876:966)) + (INTERCONNECT SLICE_84/F0 SLICE_69/A0 (786:876:966)(786:876:966)) + (INTERCONNECT SLICE_69/F1 SLICE_69/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_70/Q0 SLICE_70/D1 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_71/F0 SLICE_70/C1 (723:805:887)(723:805:887)) + (INTERCONNECT SLICE_70/Q1 SLICE_70/A1 (514:575:636)(514:575:636)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_71/C1 (1805:1987:2169)(1805:1987:2169)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_88/M1 (1657:1821:1985)(1657:1821:1985)) + (INTERCONNECT MAin\[7\]_I/PADDI SLICE_91/B1 (2368:2598:2829)(2368:2598:2829)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_71/B1 (1951:2152:2353)(1951:2152:2353)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_88/M0 (2353:2581:2809)(2353:2581:2809)) + (INTERCONNECT MAin\[6\]_I/PADDI SLICE_92/C1 (3008:3283:3558)(3008:3283:3558)) + (INTERCONNECT SLICE_71/F1 SLICE_71/D0 (510:568:626)(510:568:626)) + (INTERCONNECT SLICE_71/Q1 SLICE_71/C0 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_76/Q0 SLICE_71/B0 (825:921:1018)(825:921:1018)) + (INTERCONNECT SLICE_88/F1 SLICE_71/A0 (1490:1668:1846)(1490:1668:1846)) + (INTERCONNECT SLICE_81/F1 SLICE_72/D1 (510:568:626)(510:568:626)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_72/M1 (1657:1821:1985)(1657:1821:1985)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_88/A1 (1919:2113:2308)(1919:2113:2308)) + (INTERCONNECT MAin\[3\]_I/PADDI SLICE_93/A0 (2322:2545:2769)(2322:2545:2769)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_72/M0 (1606:1757:1909)(1606:1757:1909)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_88/B1 (1519:1681:1844)(1519:1681:1844)) + (INTERCONNECT MAin\[2\]_I/PADDI SLICE_92/B0 (2326:2552:2779)(2326:2552:2779)) + (INTERCONNECT SLICE_72/Q0 SLICE_92/C0 (1653:1804:1956)(1653:1804:1956)) + (INTERCONNECT SLICE_72/Q1 SLICE_93/D0 (1466:1589:1712)(1466:1589:1712)) + (INTERCONNECT SLICE_74/Q0 SLICE_87/C1 (665:742:819)(665:742:819)) + (INTERCONNECT SLICE_75/Q0 SLICE_75/M1 (528:587:647)(528:587:647)) + (INTERCONNECT SLICE_77/F1 SLICE_77/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_79/F1 SLICE_79/C0 (400:448:497)(400:448:497)) + (INTERCONNECT SLICE_79/Q0 RD\[0\]_I/PADDO (1164:1346:1528)(1164:1346:1528)) + (INTERCONNECT SLICE_79/Q1 RD\[1\]_I/PADDO (1165:1345:1526)(1165:1345:1526)) + (INTERCONNECT SLICE_80/F1 SLICE_80/B0 (560:628:696)(560:628:696)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_80/M1 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/C1 (1769:1940:2112)(1769:1940:2112)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_86/C0 (1769:1940:2112)(1769:1940:2112)) + (INTERCONNECT MAin\[9\]_I/PADDI SLICE_89/C1 (2608:2849:3090)(2608:2849:3090)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_80/M0 (1508:1668:1828)(1508:1668:1828)) + (INTERCONNECT MAin\[8\]_I/PADDI SLICE_89/C0 (3001:3275:3550)(3001:3275:3550)) + (INTERCONNECT SLICE_80/Q0 SLICE_89/B0 (1247:1397:1548)(1247:1397:1548)) + (INTERCONNECT SLICE_80/Q1 SLICE_86/B0 (1378:1510:1643)(1378:1510:1643)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M0 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT nFWE_I/PADDI SLICE_81/M1 (1654:1819:1984)(1654:1819:1984)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/C1 (2204:2414:2624)(2204:2414:2624)) + (INTERCONNECT nFWE_I/PADDI SLICE_88/C0 (2204:2414:2624)(2204:2414:2624)) + (INTERCONNECT CROW\[1\]_I/PADDI SLICE_83/M1 (2038:2228:2418)(2038:2228:2418)) + (INTERCONNECT CROW\[0\]_I/PADDI SLICE_83/M0 (2307:2528:2750)(2307:2528:2750)) + (INTERCONNECT SLICE_83/Q0 RBA\[0\]_I/PADDO (1165:1345:1526)(1165:1345:1526)) + (INTERCONNECT SLICE_83/Q1 RBA\[1\]_I/PADDO (2466:2735:3005)(2466:2735:3005)) + (INTERCONNECT SLICE_85/Q0 RD\[2\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_85/Q1 RD\[3\]_I/PADDO (1568:1777:1987)(1568:1777:1987)) + (INTERCONNECT SLICE_86/F0 RA\[9\]_I/PADDO (2477:2778:3080)(2477:2778:3080)) + (INTERCONNECT SLICE_86/F1 RDQML_I/PADDO (1532:1758:1984)(1532:1758:1984)) + (INTERCONNECT SLICE_88/F0 RD\[0\]_I/PADDT (1756:2001:2247)(1756:2001:2247)) + (INTERCONNECT SLICE_88/F0 RD\[7\]_I/PADDT (2571:2883:3195)(2571:2883:3195)) + (INTERCONNECT SLICE_88/F0 RD\[6\]_I/PADDT (2571:2883:3195)(2571:2883:3195)) + (INTERCONNECT SLICE_88/F0 RD\[5\]_I/PADDT (2538:2838:3139)(2538:2838:3139)) + (INTERCONNECT SLICE_88/F0 RD\[4\]_I/PADDT (2538:2838:3139)(2538:2838:3139)) + (INTERCONNECT SLICE_88/F0 RD\[3\]_I/PADDT (1741:1997:2254)(1741:1997:2254)) + (INTERCONNECT SLICE_88/F0 RD\[2\]_I/PADDT (1741:1997:2254)(1741:1997:2254)) + (INTERCONNECT SLICE_88/F0 RD\[1\]_I/PADDT (2098:2368:2638)(2098:2368:2638)) + (INTERCONNECT SLICE_88/Q0 SLICE_92/A1 (1735:1889:2044)(1735:1889:2044)) + (INTERCONNECT SLICE_88/Q1 SLICE_91/C1 (1218:1331:1444)(1218:1331:1444)) + (INTERCONNECT SLICE_89/F0 RA\[8\]_I/PADDO (1979:2229:2479)(1979:2229:2479)) + (INTERCONNECT SLICE_89/F1 RDQMH_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_90/F0 RA\[0\]_I/PADDO (1723:1947:2172)(1723:1947:2172)) + (INTERCONNECT SLICE_91/F0 RA\[1\]_I/PADDO (1971:2209:2448)(1971:2209:2448)) + (INTERCONNECT SLICE_91/F1 RA\[7\]_I/PADDO (1288:1474:1660)(1288:1474:1660)) + (INTERCONNECT SLICE_92/F0 RA\[2\]_I/PADDO (1168:1345:1522)(1168:1345:1522)) + (INTERCONNECT SLICE_92/F1 RA\[6\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT SLICE_93/F0 RA\[3\]_I/PADDO (1610:1831:2052)(1610:1831:2052)) + (INTERCONNECT SLICE_93/F1 RA\[5\]_I/PADDO (1982:2228:2475)(1982:2228:2475)) + (INTERCONNECT SLICE_94/Q0 RA\[10\]_I/PADDO (646:731:817)(646:731:817)) + (INTERCONNECT RD\[0\]_I/PADDI Dout\[0\]_I/PADDO (2942:3272:3602)(2942:3272:3602)) + (INTERCONNECT RD\[7\]_I/PADDI Dout\[7\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD\[6\]_I/PADDI Dout\[6\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD\[5\]_I/PADDI Dout\[5\]_I/PADDO (2505:2806:3107)(2505:2806:3107)) + (INTERCONNECT RD\[4\]_I/PADDI Dout\[4\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD\[3\]_I/PADDI Dout\[3\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD\[2\]_I/PADDI Dout\[2\]_I/PADDO (2508:2805:3103)(2508:2805:3103)) + (INTERCONNECT RD\[1\]_I/PADDI Dout\[1\]_I/PADDO (2540:2847:3154)(2540:2847:3154)) + ) + ) + ) +) diff --git a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.vo b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.vo index 7ec7a54..14b38c2 100644 --- a/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.vo +++ b/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_vo.vo @@ -1,3718 +1,3718 @@ - -// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 - -// ldbanno -n Verilog -o RAM2GS_LCMXO640C_impl1_vo.vo -w -neg -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd -// Netlist created on Wed Aug 16 04:50:46 2023 -// Netlist written on Wed Aug 16 04:50:54 2023 -// Design is for device LCMXO640C -// Design is for package TQFP100 -// Design is for performance grade 3 - -`timescale 1 ns / 1 ps - -module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, - RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, - UFMCLK, UFMSDI, UFMSDO ); - input PHI2; - input [9:0] MAin; - input [1:0] CROW; - input [7:0] Din; - input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; - output [7:0] Dout; - output LED; - output [1:0] RBA; - output [11:0] RA; - output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; - inout [7:0] RD; - wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , - \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , - \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , - \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , - \FS_cry[3] , \FS[3] , \FS[2] , CmdEnable17_0_a2_4, N_147, - CmdEnable17_0_a2_3, \MAin_c[0] , ADSubmitted, C1WR_0_a2, CmdEnable17, - CmdEnable16, ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, - CmdEnable16_0_a2_4, \MAin_c[1] , C1Submitted, C1Submitted_RNO, CO0, - \S[1] , \IS[3] , RASr2, N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, - un1_CMDWR, CmdEnable_s, \Din_c[5] , \Din_c[3] , N_128, N_152, LEDEN, - N_133, N_132, N_21_i, XOR8MEG18, CmdLEDEN, CmdSubmitted, PHI2r3, - PHI2r2, InitReady, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, - Cmdn8MEGEN, CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, N_160, - N_155, nRRAS_5_u_i_0, \IS[0] , Ready, N_64_i_i, N_24, \IS[2] , - \IS[1] , N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, N_126, - UFMSDI_ens2_i_a2_4_2, N_51, InitReady3, N_461_0, UFMSDI_ens2_i_a0, - nCRAS_c, CBR, UFMSDO_c, N_70, N_33, LED_c, XOR8MEG, un1_Din_4, - \Din_c[6] , RA11_2, Ready_fast, \RA_c[11] , N_171, FWEr_fast, CASr2, - RCKEEN_8_u_1, RCKEEN_8_u_0_0, RCKEEN_8, PHI2r, RCKEEN, RASr, RASr3, - RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, N_462_0, - Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, CmdUFMCLK, N_129, - UFMCLK_r_i_a2_2_2, N_139_i, UFMCLK_r_i_m4_xx_mm_1, nUFMCS15, UFMCLK_c, - UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, \RowA[4] , - nRowColSel, \MAin_c[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , \WRD[4] , - \WRD[5] , \Bank[5] , \Bank[2] , \Bank[6] , \Bank[7] , \Din_c[7] , - \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[2] , \Din_c[0] , - \Din_c[1] , XOR8MEG_3_u_0_a3_2, XOR8MEG_3, N_69, N_31, N_151, N_41, - nRCAS_0_sqmuxa_1, g0_1, N_37_i, nRCAS_c, CASr3, RCKEEN_8_u_0_a2_1_out, - N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, CBR_fast, FWEr, m18_0_a2_1, - G_17_1, N_39_i, nRWE_c, N_179, nRowColSel_0_0, nUFMCS_c, - nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_s_0_N_5_i, CmdUFMCS, N_95_5, N_95_3, - \RowA[0] , \RowA[1] , \MAin_c[5] , CmdUFMCLK_1_sqmuxa, \RowA[5] , - N_137_8, un1_FS_14_i_a2_0_1, N_137_6, un1_FS_13_i_a2_1, \Bank[0] , - C1WR_0_a2_0_10, \Bank[1] , \MAin_c[7] , \MAin_c[6] , C1WR_0_a2_0_4, - \Bank[3] , \Bank[4] , C1WR_0_a2_0_3, UFMSDI_ens2_i_o2_0_3, - \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , CmdUFMSDI, CASr, - CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , g4_0_0_0, \MAin_c[9] , - \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, \CROW_c[1] , \CROW_c[0] , - \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , \RA_c[9] , RDQML_c, - RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, \RA_c[0] , - \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , \RA_c[5] , - \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , - \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; - - SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), - .Q1(\FS[1] ), .FCO(\FS_cry[1] )); - SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), - .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); - SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), - .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); - SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), - .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); - SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), - .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); - SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), - .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); - SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), - .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); - SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), - .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); - SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), - .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); - SLICE_9 SLICE_9( .D1(CmdEnable17_0_a2_4), .C1(N_147), - .B1(CmdEnable17_0_a2_3), .A1(\MAin_c[0] ), .D0(ADSubmitted), - .C0(C1WR_0_a2), .B0(CmdEnable17), .A0(CmdEnable16), .DI0(ADSubmitted_r), - .CLK(PHI2_c), .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); - SLICE_14 SLICE_14( .C1(N_147), .B1(CmdEnable16_0_a2_5), - .A1(CmdEnable16_0_a2_4), .D0(CmdEnable16), .C0(N_147), .B0(\MAin_c[1] ), - .A0(C1Submitted), .DI0(C1Submitted_RNO), .CLK(PHI2_c), - .F0(C1Submitted_RNO), .Q0(C1Submitted), .F1(CmdEnable16)); - SLICE_19 SLICE_19( .D1(CO0), .C1(\S[1] ), .B1(\IS[3] ), .A1(RASr2), - .C0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), - .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); - SLICE_20 SLICE_20( .D1(CmdEnable), .A1(ADSubmitted), .D0(CmdEnable17), - .C0(C1Submitted), .B0(un1_CMDWR), .A0(CmdEnable), .DI0(CmdEnable_s), - .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); - SLICE_21 SLICE_21( .D1(\Din_c[5] ), .C1(\Din_c[3] ), .B1(N_128), .D0(N_152), - .C0(LEDEN), .B0(N_133), .A0(N_132), .DI0(N_21_i), .CE(XOR8MEG18), - .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); - SLICE_22 SLICE_22( .D1(CmdSubmitted), .C1(PHI2r3), .B1(PHI2r2), - .A1(InitReady), .D0(CmdSubmitted_1_sqmuxa), .A0(CmdSubmitted), - .DI0(N_460_0), .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); - SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), - .A1(CmdEnable16_4), .D0(n8MEGEN), .C0(Cmdn8MEGEN_4_u_i_0), .A0(N_152), - .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), - .F1(Cmdn8MEGEN_4_u_i_0)); - SLICE_29 SLICE_29( .D1(N_160), .C1(N_155), .B1(nRRAS_5_u_i_0), .A1(\IS[0] ), - .C0(N_155), .B0(Ready), .A0(\IS[0] ), .DI0(N_64_i_i), .CLK(RCLK_c), - .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); - SLICE_30 SLICE_30( .D1(\IS[0] ), .C1(\IS[2] ), .A1(\IS[1] ), .D0(\IS[0] ), - .A0(\IS[1] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), - .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); - SLICE_31 SLICE_31( .D1(\IS[2] ), .C1(N_159), .B1(\IS[1] ), .A1(\IS[3] ), - .D0(\IS[2] ), .C0(\IS[3] ), .B0(\IS[1] ), .A0(\IS[0] ), .DI0(N_61_i_i), - .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); - SLICE_32 SLICE_32( .D1(N_126), .C1(InitReady), .B1(UFMSDI_ens2_i_a2_4_2), - .A1(N_51), .D0(InitReady3), .A0(InitReady), .DI0(N_461_0), .CLK(RCLK_c), - .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); - SLICE_33 SLICE_33( .D1(LEDEN), .C1(nCRAS_c), .A1(CBR), .D0(InitReady), - .B0(CmdLEDEN), .A0(UFMSDO_c), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), - .F0(N_70), .Q0(LEDEN), .F1(LED_c)); - SLICE_39 SLICE_39( .D1(XOR8MEG), .B1(un1_Din_4), .D0(XOR8MEG), - .B0(\Din_c[6] ), .A0(n8MEGEN), .DI0(RA11_2), .LSR(Ready_fast), - .CLK(PHI2_c), .F0(RA11_2), .Q0(\RA_c[11] ), .F1(N_171)); - SLICE_41 SLICE_41( .D1(CO0), .C1(FWEr_fast), .B1(CASr2), .A1(\S[1] ), - .D0(CBR), .C0(RCKEEN_8_u_1), .B0(Ready), .A0(RCKEEN_8_u_0_0), - .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), - .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); - SLICE_42 SLICE_42( .D1(\IS[1] ), .C1(\IS[2] ), .B1(\IS[0] ), .A1(RASr2), - .D0(RASr), .C0(RASr3), .B0(RCKEEN), .A0(RASr2), .DI0(RCKE_2), .M1(PHI2_c), - .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); - SLICE_43 SLICE_43( .D1(Ready), .C1(\S_0_i_o2[1] ), .B1(RASr2), - .A1(InitReady), .D0(Ready), .C0(N_165), .B0(Ready_0_sqmuxa_0_a3_2), - .A0(InitReady), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), .F0(N_462_0), - .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); - SLICE_44 SLICE_44( .D1(Ready), .C1(N_165), .B1(Ready_0_sqmuxa_0_a3_2), - .A1(InitReady), .B0(Ready_0_sqmuxa), .A0(Ready_fast), .DI0(N_463_0), - .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), - .F1(Ready_0_sqmuxa), .Q1(RASr)); - SLICE_50 SLICE_50( .D1(Ready), .C1(CO0), .A1(\S[1] ), .C0(CO0), .A0(\S[1] ), - .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), - .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); - SLICE_51 SLICE_51( .D1(CmdUFMCLK), .C1(InitReady), .B1(N_129), - .A1(UFMCLK_r_i_a2_2_2), .D0(N_139_i), .C0(UFMCLK_r_i_m4_xx_mm_1), - .B0(nUFMCS15), .A0(UFMCLK_c), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), - .F0(UFMCLK_RNO), .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); - SLICE_52 SLICE_52( .D1(PHI2r3), .C1(InitReady), .B1(PHI2r2), - .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(N_139_i), .B0(UFMSDI_c), - .A0(nUFMCS15), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), - .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); - SLICE_55 SLICE_55( .D0(\RowA[4] ), .B0(nRowColSel), .A0(\MAin_c[4] ), - .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), - .Q0(\WRD[4] ), .Q1(\WRD[5] )); - SLICE_56 SLICE_56( .D1(\Bank[5] ), .C1(\Bank[2] ), .B1(\Bank[6] ), - .A1(\Bank[7] ), .D0(\FS[5] ), .C0(\FS[9] ), .A0(\FS[7] ), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), - .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); - SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[3] ), .B1(\Din_c[2] ), - .A1(\Din_c[0] ), .D0(\Din_c[1] ), .C0(XOR8MEG_3_u_0_a3_2), .B0(LEDEN), - .A0(N_171), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(XOR8MEG_3), - .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); - SLICE_58 SLICE_58( .D1(N_51), .C1(\FS[8] ), .A1(InitReady), .D0(UFMSDO_c), - .B0(Cmdn8MEGEN), .A0(InitReady), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), - .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); - SLICE_59 SLICE_59( .D1(Ready), .C1(\S[1] ), .B1(N_155), .A1(N_160), - .D0(N_41), .C0(nRCAS_0_sqmuxa_1), .B0(\S[1] ), .A0(g0_1), .DI0(N_37_i), - .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); - SLICE_60 SLICE_60( .D1(CASr3), .C1(CO0), .B1(FWEr_fast), .A1(CASr2), - .D0(CBR), .C0(RCKEEN_8_u_0_a2_1_out), .B0(N_24), .A0(N_28_i_1), - .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); - SLICE_61 SLICE_61( .D1(\S_0_i_o2[1] ), .C1(Ready), .B1(RASr2), .A1(RCKE_c), - .D0(N_160), .C0(N_155), .B0(nRRAS_5_u_i_0), .A0(\IS[0] ), .DI0(N_24_i), - .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); - SLICE_62 SLICE_62( .D1(CBR_fast), .C1(\S_0_i_o2[1] ), .B1(Ready), .A1(RASr2), - .D0(FWEr), .C0(m18_0_a2_1), .B0(nRCAS_0_sqmuxa_1), .A0(G_17_1), - .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), - .F1(nRCAS_0_sqmuxa_1)); - SLICE_63 SLICE_63( .D1(CASr3), .C1(Ready), .B1(FWEr), .A1(CBR), .D0(N_179), - .C0(Ready), .B0(CO0), .A0(\S[1] ), .DI0(nRowColSel_0_0), - .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), - .F1(N_179)); - SLICE_64 SLICE_64( .D1(\FS[10] ), .C1(N_51), .B1(\FS[11] ), .A1(InitReady), - .D0(nUFMCS_c), .C0(nUFMCS_s_0_N_5_i_N_2L1), .B0(nUFMCS15), .A0(N_139_i), - .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), - .F1(nUFMCS15)); - nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(RCKE_c), .B1(CO0), - .A1(\S[1] ), .D0(\S[1] ), .C0(m18_0_a3_3), .B0(CO0), .A0(InitReady), - .M0(Ready), .OFX0(m18_0_a2_1)); - SLICE_66 SLICE_66( .C1(InitReady), .B1(CmdUFMCS), .A1(UFMCLK_r_i_a2_2_2), - .D0(N_95_5), .C0(InitReady), .B0(\FS[16] ), .A0(N_95_3), .M1(\MAin_c[1] ), - .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), - .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); - SLICE_67 SLICE_67( .D1(\Din_c[5] ), .C1(XOR8MEG18), .B1(\Din_c[3] ), - .A1(N_128), .D0(\MAin_c[1] ), .C0(\MAin_c[0] ), .B0(CmdEnable), .A0(N_147), - .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), .CLK(nCRAS_c), - .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), .Q1(\RowA[5] )); - SLICE_68 SLICE_68( .D1(\FS[3] ), .C1(\FS[0] ), .B1(\FS[2] ), .A1(\FS[5] ), - .D0(N_136), .C0(N_137_8), .B0(un1_FS_14_i_a2_0_1), .A0(N_137_6), .F0(N_31), - .F1(un1_FS_14_i_a2_0_1)); - SLICE_69 SLICE_69( .D1(\FS[3] ), .C1(\FS[0] ), .B1(\FS[2] ), .A1(\FS[5] ), - .D0(N_137_8), .C0(un1_FS_13_i_a2_1), .B0(N_136), .A0(N_137_6), .F0(N_33), - .F1(un1_FS_13_i_a2_1)); - SLICE_70 SLICE_70( .D1(\Bank[0] ), .C1(C1WR_0_a2_0_10), .B1(C1WR_0_a2_0_11), - .A1(\Bank[1] ), .C0(\MAin_c[1] ), .B0(N_147), .M1(\Din_c[1] ), - .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), - .Q1(\Bank[1] )); - SLICE_71 SLICE_71( .D1(\MAin_c[5] ), .C1(\MAin_c[7] ), .B1(\MAin_c[6] ), - .A1(\MAin_c[4] ), .D0(C1WR_0_a2_0_4), .C0(\Bank[3] ), .B0(\Bank[4] ), - .A0(C1WR_0_a2_0_3), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), - .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); - SLICE_72 SLICE_72( .D1(UFMSDI_ens2_i_o2_0_3), .C1(\FS[16] ), .A1(\FS[12] ), - .D0(\FS[1] ), .C0(N_51), .B0(\FS[11] ), .A0(\FS[4] ), .M1(\MAin_c[3] ), - .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), - .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); - SLICE_73 SLICE_73( .D1(\S[1] ), .C1(RASr2), .B1(CO0), .A1(InitReady), - .B0(N_155), .A0(Ready), .M1(\Din_c[2] ), .M0(\Din_c[1] ), - .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), - .F1(N_155), .Q1(CmdUFMCS)); - SLICE_74 SLICE_74( .D1(\FS[14] ), .B1(\FS[11] ), .D0(\FS[16] ), .C0(N_95_3), - .B0(\FS[10] ), .A0(N_95_5), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), - .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); - SLICE_75 SLICE_75( .C1(\Din_c[4] ), .B1(\Din_c[7] ), .A1(\Din_c[6] ), - .D0(\Din_c[1] ), .C0(N_128), .A0(\Din_c[5] ), .M1(CASr), .M0(nCCAS_c), - .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); - SLICE_76 SLICE_76( .D1(\Din_c[5] ), .B1(\Din_c[0] ), .D0(\MAin_c[0] ), - .C0(CmdEnable16_4), .B0(\Din_c[1] ), .A0(\Din_c[3] ), .M1(\Din_c[5] ), - .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), - .F1(CmdEnable16_4), .Q1(\Bank[5] )); - SLICE_77 SLICE_77( .C1(\Din_c[7] ), .A1(\Din_c[4] ), .D0(\MAin_c[1] ), - .C0(CmdEnable16_1), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(\Din_c[7] ), - .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), - .F1(CmdEnable16_1), .Q1(\Bank[7] )); - SLICE_78 SLICE_78( .C1(\Din_c[3] ), .B1(\Din_c[5] ), .D0(\MAin_c[1] ), - .C0(\Din_c[6] ), .B0(N_43), .A0(\Din_c[2] ), .M1(nCCAS_c), .M0(nCCAS_c), - .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), .Q1(CBR_fast)); - SLICE_79 SLICE_79( .D1(CASr3), .C1(Ready), .B1(CASr2), .D0(CO0), - .C0(m6_0_a2_2), .B0(CBR), .A0(\S[1] ), .M1(\Din_c[1] ), .M0(\Din_c[0] ), - .CLK(nCCAS_c), .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); - SLICE_80 SLICE_80( .C1(CASr2), .B1(CASr3), .D0(FWEr), .C0(CBR_fast), - .B0(g4_0_0_0), .A0(CO0), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), - .Q1(\RowA[9] )); - SLICE_81 SLICE_81( .D1(\FS[14] ), .C1(\FS[17] ), .B1(\FS[15] ), - .A1(\FS[13] ), .D0(\FS[12] ), .C0(\FS[17] ), .B0(\FS[15] ), .A0(\FS[13] ), - .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), - .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); - SLICE_82 SLICE_82( .D1(\Din_c[5] ), .C1(CmdLEDEN), .B1(N_128), - .A1(\Din_c[3] ), .D0(\Din_c[5] ), .C0(XOR8MEG18), .B0(N_128), - .A0(\Din_c[3] ), .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), - .Q0(CASr3), .F1(N_132)); - SLICE_83 SLICE_83( .C1(\IS[2] ), .B1(\IS[3] ), .A1(\IS[1] ), .D0(\IS[0] ), - .C0(\IS[2] ), .A0(\IS[1] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), - .Q1(\RBA_c[1] )); - SLICE_84 SLICE_84( .D1(\FS[8] ), .C1(\FS[10] ), .B1(\FS[11] ), .A1(\FS[6] ), - .D0(\FS[7] ), .C0(\FS[1] ), .B0(\FS[10] ), .A0(\FS[6] ), .F0(N_137_6), - .F1(UFMSDI_ens2_i_a2_4_2)); - SLICE_85 SLICE_85( .D1(\Din_c[1] ), .C1(\Din_c[7] ), .B1(\Din_c[4] ), - .A1(\Din_c[0] ), .D0(\Din_c[6] ), .C0(\Din_c[7] ), .B0(\Din_c[4] ), - .A0(\Din_c[5] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), - .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); - SLICE_86 SLICE_86( .C1(\MAin_c[9] ), .A1(nRowColSel), .C0(\MAin_c[9] ), - .B0(\RowA[9] ), .A0(nRowColSel), .F0(\RA_c[9] ), .F1(RDQML_c)); - SLICE_87 SLICE_87( .D1(UFMSDI_ens2_i_a0), .C1(CmdUFMSDI), .B1(N_151), - .D0(N_151), .C0(\FS[9] ), .B0(\FS[11] ), .A0(\FS[4] ), .F0(N_137_8), - .F1(UFMSDI_r_xx_mm_1)); - SLICE_88 SLICE_88( .C1(nFWE_c), .B1(\MAin_c[2] ), .A1(\MAin_c[3] ), - .D0(nCCAS_c), .C0(nFWE_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), - .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), - .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); - SLICE_89 SLICE_89( .D1(nRowColSel), .C1(\MAin_c[9] ), .D0(nRowColSel), - .C0(\MAin_c[8] ), .B0(\RowA[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); - SLICE_90 SLICE_90( .C1(N_147), .B1(\MAin_c[0] ), .A1(\MAin_c[1] ), - .D0(\RowA[0] ), .B0(\MAin_c[0] ), .A0(nRowColSel), .F0(\RA_c[0] ), - .F1(un1_CMDWR)); - SLICE_91 SLICE_91( .D1(nRowColSel), .C1(\RowA[7] ), .B1(\MAin_c[7] ), - .D0(\RowA[1] ), .C0(nRowColSel), .B0(\MAin_c[1] ), .F0(\RA_c[1] ), - .F1(\RA_c[7] )); - SLICE_92 SLICE_92( .D1(nRowColSel), .C1(\MAin_c[6] ), .A1(\RowA[6] ), - .D0(nRowColSel), .C0(\RowA[2] ), .B0(\MAin_c[2] ), .F0(\RA_c[2] ), - .F1(\RA_c[6] )); - SLICE_93 SLICE_93( .D1(\RowA[5] ), .B1(nRowColSel), .A1(\MAin_c[5] ), - .D0(\RowA[3] ), .B0(nRowColSel), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), - .F1(\RA_c[5] )); - SLICE_94 SLICE_94( .D1(Ready), .C1(N_155), .D0(Ready), .C0(\S[1] ), - .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), - .Q0(\RA_c[10] ), .F1(N_159_i)); - RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), - .RD0(RD[0])); - Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); - PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); - UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); - UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); - UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); - nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); - RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); - RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); - nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); - nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); - nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); - RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); - RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); - nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); - RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), - .RD7(RD[7])); - RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), - .RD6(RD[6])); - RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), - .RD5(RD[5])); - RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), - .RD4(RD[4])); - RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), - .RD3(RD[3])); - RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), - .RD2(RD[2])); - RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), - .RD1(RD[1])); - RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); - RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); - RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); - RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); - RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); - RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); - RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); - RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); - RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); - RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); - RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); - RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); - RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); - RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); - LED LED_I( .PADDO(LED_c), .LED(LED)); - nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); - nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); - nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); - Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); - Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); - Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); - Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); - Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); - Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); - Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); - Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); - Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); - Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); - Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); - Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); - Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); - Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); - Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); - CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); - CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); - MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); - MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); - MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); - MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); - MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); - MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); - MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); - MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); - MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); - MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); - VHI VHI_INST( .Z(VCCI)); - PUR PUR_INST( .PUR(VCCI)); - GSR GSR_INST( .GSR(VCCI)); - VLO VLO_INST( .Z(GNDI_TSALL)); - TSALL TSALL_INST( .TSALL(GNDI_TSALL)); -endmodule - -module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); - wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , - A1_dly, CLK_dly, A0_dly; - - vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), - .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - endspecify - -endmodule - -module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module vcc ( output PWR1 ); - - VHI INST1( .Z(PWR1)); -endmodule - -module gnd ( output PWR0 ); - - VLO INST1( .Z(PWR0)); -endmodule - -module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h300a; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); - wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), - .CO1()); - - specify - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, - CO1 ); - - CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), - .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); - defparam inst1.INIT0 = 16'h300a; - defparam inst1.INIT1 = 16'h5002; - defparam inst1.INJECT1_0 = "NO"; - defparam inst1.INJECT1_1 = "NO"; -endmodule - -module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); - wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , - A1_dly, CLK_dly, A0_dly, FCI_dly; - - vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), - .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), - .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), - .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), - .CO1(FCO)); - - specify - (A1 => FCO) = (0:0:0,0:0:0); - (A0 => FCO) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - (FCI => FCO) = (0:0:0,0:0:0); - $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); - $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); - $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); - endspecify - -endmodule - -module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; - - lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut4 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40002 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4544) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module inverter ( input I, output Z ); - - INV INST1( .A(I), .Z(Z)); -endmodule - -module SLICE_14 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40003 CmdEnable16_0_a2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40003 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40004 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF2A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_19 ( input D1, C1, B1, A1, C0, A0, DI0, LSR, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40006 \S_RNO[0] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40005 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40006 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF5F5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_20 ( input D1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); - wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, - CLK_NOTIN, DI0_dly, CLK_dly; - - lut40008 SLICE_20_K1( .A(A1), .B(GNDI), .C(GNDI), .D(D1), - .Z(\SLICE_20/SLICE_20_K1_H1 )); - gnd DRIVEGND( .PWR0(GNDI)); - lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); - vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), - .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (D1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40008 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40009 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEA22) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module selmux2 ( input D0, D1, SD, output Z ); - - MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); -endmodule - -module SLICE_21 ( input D1, C1, B1, D0, C0, B0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40010 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40011 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1011) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_22 ( input D1, C1, B1, A1, D0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; - - lut40012 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40013 CmdSubmitted_RNO( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - endspecify - -endmodule - -module lut40012 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40013 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_26 ( input D1, C1, B1, A1, D0, C0, A0, DI0, CE, CLK, output F0, - Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; - - lut40014 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40015 Cmdn8MEGEN_RNO( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40014 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40015 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0F05) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_29 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40016 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40017 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40016 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCFCE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40017 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_30 ( input D1, C1, A1, D0, A0, DI1, DI0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; - - lut40018 \IS_RNO[2] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40019 IS_n1_0_x2( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); - vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40018 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5AF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40019 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h55AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40020 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40021 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40020 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40021 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h78F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_32 ( input D1, C1, B1, A1, D0, A0, DI0, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly; - - lut40022 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40013 InitReady_RNO( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40022 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0B0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_33 ( input D1, C1, A1, D0, B0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40023 LED_pad_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40024 LEDEN_5_i_m2( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40023 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFAFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40024 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCC55) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_39 ( input D1, B1, D0, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40025 XOR8MEG_3_u_0_a3_0( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40026 RA11_2( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40025 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40026 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBB44) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40027 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40028 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40027 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h75A5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40028 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hAAEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40029 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40030 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40029 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40030 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDCD8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40031 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40032 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40031 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h03AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40032 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF08) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_44 ( input D1, C1, B1, A1, B0, A0, DI0, M1, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; - - lut40033 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40034 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40033 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40034 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_50 ( input D1, C1, A1, C0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; - - lut40035 nRowColSel_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40036 \S_0_i_o2[1] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); - vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40035 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0500) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40036 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40037 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40038 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40037 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hABFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40038 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0322) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output - F0, Q0, F1, Q1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; - - lut40039 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40040 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40039 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2F0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40040 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_55 ( input D0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40041 \un9_RA[4] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40041 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBB88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_56 ( input D1, C1, B1, A1, D0, C0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40042 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40043 UFMSDI_ens2_i_o2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40042 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40043 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5A0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output - F0, Q0, F1 ); - wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; - - lut40044 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40045 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40044 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40045 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hBAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_58 ( input D1, C1, A1, D0, B0, A0, DI0, CE, CLK, output F0, Q0, - F1 ); - wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; - - lut40046 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40047 n8MEGEN_5_i_m2( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40046 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40047 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h88DD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40048 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40049 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0050 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40048 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0FDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40049 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0F04) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0050 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40051 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40052 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0050 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40051 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFC7C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40052 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3323) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40053 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40054 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0050 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40053 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00E0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40054 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3031) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40055 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40056 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0050 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40055 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40056 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCDEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output - F0, Q0, F1 ); - wire VCCI, DI0_dly, CLK_dly, LSR_dly; - - lut40057 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40058 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40057 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40058 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF60) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, - Q0, F1 ); - wire VCCI, GNDI, DI0_dly, CLK_dly; - - lut40059 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40060 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0050 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40059 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40060 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDFCE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output - OFX0 ); - wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , - \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; - - lut40061 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); - lut40062 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), - .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); - selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( - .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), - .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); - - specify - (D1 => OFX0) = (0:0:0,0:0:0); - (C1 => OFX0) = (0:0:0,0:0:0); - (B1 => OFX0) = (0:0:0,0:0:0); - (A1 => OFX0) = (0:0:0,0:0:0); - (D0 => OFX0) = (0:0:0,0:0:0); - (C0 => OFX0) = (0:0:0,0:0:0); - (B0 => OFX0) = (0:0:0,0:0:0); - (A0 => OFX0) = (0:0:0,0:0:0); - (M0 => OFX0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40061 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40062 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40063 nUFMCS_s_0_N_5_i_N_2L1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40064 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40063 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4545) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40064 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, - output F0, Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40065 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40066 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0067 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40065 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40066 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module vmuxregsre0067 ( input D0, D1, SD, SP, CK, LSR, output Q ); - - FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); - defparam INST01.GSR = "DISABLED"; -endmodule - -module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40068 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40069 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40068 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40069 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFF80) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40070 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40071 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40070 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40071 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hECCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_70 ( input D1, C1, B1, A1, C0, B0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40072 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40073 C1WR_0_a2( .A(GNDI), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40072 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40073 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hC0C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; - - lut40074 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40075 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40074 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40075 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_72 ( input D1, C1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output - F0, Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40076 UFMSDI_ens2_i_o2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40077 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40076 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40077 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_73 ( input D1, C1, B1, A1, B0, A0, M1, M0, CE, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; - - lut40078 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40034 IS_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); - gnd DRIVEGND( .PWR0(GNDI)); - vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40078 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFDF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_74 ( input D1, B1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); - wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; - - lut40079 InitReady3_0_a2_3( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40080 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); - endspecify - -endmodule - -module lut40079 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCC00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40080 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_75 ( input C1, B1, A1, D0, C0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40081 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40082 CmdLEDEN_4_u_i_a2_0( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40081 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hEFEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40082 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_76 ( input D1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40083 CmdEnable16_0_a2_4( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40084 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40083 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40084 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_77 ( input C1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; - - lut40085 CmdEnable16_0_a2_1( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40086 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40085 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5050) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40086 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_78 ( input C1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, - Q1 ); - wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40087 CmdEnable17_0_o2( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40088 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40087 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3F3F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40088 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_79 ( input D1, C1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40089 nRWE_RNO_2( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40090 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40089 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40090 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_80 ( input C1, B1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40091 nRCAS_RNO_1( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40092 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0067 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40091 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h3030) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40092 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0805) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40093 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40094 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40093 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40094 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, - F1 ); - wire VCCI, GNDI, M0_dly, CLK_dly; - - lut40095 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40096 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), - .LSR(GNDI), .Q(Q0)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40095 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0E0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40096 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h1030) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_83 ( input C1, B1, A1, D0, C0, A0, M1, M0, LSR, CLK, output F0, - Q0, F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40097 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40098 Ready_0_sqmuxa_0_o2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40097 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40098 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5FFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); - - lut40099 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40100 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40099 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40100 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, - Q0, F1, Q1 ); - wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; - - lut40101 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); - lut40102 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - gnd DRIVEGND( .PWR0(GNDI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - endspecify - -endmodule - -module lut40101 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40102 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_86 ( input C1, A1, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40103 RDQML( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40104 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40103 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h5F5F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40104 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hE4E4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_87 ( input D1, C1, B1, D0, C0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40105 UFMSDI_RNO_0( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40106 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40105 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h00FC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40106 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_88 ( input C1, B1, A1, D0, C0, M1, M0, LSR, CLK, output F0, Q0, - F1, Q1 ); - wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; - - lut40107 C1WR_0_a2_0_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40108 nCCAS_pad_RNI01SJ( .A(GNDI), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); - vcc DRIVEVCC( .PWR1(VCCI)); - inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); - inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); - vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - (CLK => Q1) = (0:0:0,0:0:0); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); - $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - endspecify - -endmodule - -module lut40107 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40108 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hFFF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_89 ( input D1, C1, D0, C0, B0, output F0, F1 ); - wire GNDI; - - lut40109 RDQMH( .A(GNDI), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40110 \un9_RA[8] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40109 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF0FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40110 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF0CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_90 ( input C1, B1, A1, D0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40111 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40112 \un9_RA[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - - specify - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40111 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hE0E0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40112 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hDD88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_91 ( input D1, C1, B1, D0, C0, B0, output F0, F1 ); - wire GNDI; - - lut40113 \un9_RA[7] ( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40114 \un9_RA[1] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40113 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCCF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40114 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hCFC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_92 ( input D1, C1, A1, D0, C0, B0, output F0, F1 ); - wire GNDI; - - lut40115 \un9_RA[6] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40113 \un9_RA[2] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module lut40115 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF0AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module SLICE_93 ( input D1, B1, A1, D0, B0, A0, output F0, F1 ); - wire GNDI; - - lut40041 \un9_RA[5] ( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40041 \un9_RA[3] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (B1 => F1) = (0:0:0,0:0:0); - (A1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (B0 => F0) = (0:0:0,0:0:0); - (A0 => F0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module SLICE_94 ( input D1, C1, D0, C0, M0, LSR, CLK, output F0, Q0, F1 ); - wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; - - lut40116 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(GNDI), .B(GNDI), .C(C1), .D(D1), - .Z(F1)); - gnd DRIVEGND( .PWR0(GNDI)); - lut40117 RCKEEN_8_u_0_a2_1_s( .A(GNDI), .B(GNDI), .C(C0), .D(D0), .Z(F0)); - vmuxregsre0067 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), - .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); - inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); - vcc DRIVEVCC( .PWR1(VCCI)); - - specify - (D1 => F1) = (0:0:0,0:0:0); - (C1 => F1) = (0:0:0,0:0:0); - (D0 => F0) = (0:0:0,0:0:0); - (C0 => F0) = (0:0:0,0:0:0); - (CLK => Q0) = (0:0:0,0:0:0); - $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); - $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); - $width (posedge CLK, 0:0:0); - $width (negedge CLK, 0:0:0); - endspecify - -endmodule - -module lut40116 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'h000F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module lut40117 ( input A, B, C, D, output Z ); - - ROM16X1 #(16'hF000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); -endmodule - -module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); - - mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); - - specify - (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD0) = (0:0:0,0:0:0); - (RD0 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD0, 0:0:0); - $width (negedge RD0, 0:0:0); - endspecify - -endmodule - -module mjiobuf ( input I, T, output Z, PAD, input PADI ); - - IB INST1( .I(PADI), .O(Z)); - OBW INST2( .I(I), .T(T), .O(PAD)); -endmodule - -module Dout_0_ ( input PADDO, output Dout0 ); - - mjiobuf0118 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); - - specify - (PADDO => Dout0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0118 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module PHI2 ( output PADDI, input PHI2 ); - - mjiobuf0119 PHI2_pad( .Z(PADDI), .PAD(PHI2)); - - specify - (PHI2 => PADDI) = (0:0:0,0:0:0); - $width (posedge PHI2, 0:0:0); - $width (negedge PHI2, 0:0:0); - endspecify - -endmodule - -module mjiobuf0119 ( output Z, input PAD ); - - IBPD INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDO ( output PADDI, input UFMSDO ); - - mjiobuf0120 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); - - specify - (UFMSDO => PADDI) = (0:0:0,0:0:0); - $width (posedge UFMSDO, 0:0:0); - $width (negedge UFMSDO, 0:0:0); - endspecify - -endmodule - -module mjiobuf0120 ( output Z, input PAD ); - - IB INST1( .I(PAD), .O(Z)); -endmodule - -module UFMSDI ( input PADDO, output UFMSDI ); - - mjiobuf0121 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); - - specify - (PADDO => UFMSDI) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0121 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module UFMCLK ( input PADDO, output UFMCLK ); - - mjiobuf0121 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); - - specify - (PADDO => UFMCLK) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nUFMCS ( input PADDO, output nUFMCS ); - - mjiobuf0121 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); - - specify - (PADDO => nUFMCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQML ( input PADDO, output RDQML ); - - mjiobuf0121 RDQML_pad( .I(PADDO), .PAD(RDQML)); - - specify - (PADDO => RDQML) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RDQMH ( input PADDO, output RDQMH ); - - mjiobuf0121 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); - - specify - (PADDO => RDQMH) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRCAS ( input PADDO, output nRCAS ); - - mjiobuf0121 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); - - specify - (PADDO => nRCAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRRAS ( input PADDO, output nRRAS ); - - mjiobuf0121 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); - - specify - (PADDO => nRRAS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module nRWE ( input PADDO, output nRWE ); - - mjiobuf0121 nRWE_pad( .I(PADDO), .PAD(nRWE)); - - specify - (PADDO => nRWE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCKE ( input PADDO, output RCKE ); - - mjiobuf0121 RCKE_pad( .I(PADDO), .PAD(RCKE)); - - specify - (PADDO => RCKE) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RCLK ( output PADDI, input RCLK ); - - mjiobuf0120 RCLK_pad( .Z(PADDI), .PAD(RCLK)); - - specify - (RCLK => PADDI) = (0:0:0,0:0:0); - $width (posedge RCLK, 0:0:0); - $width (negedge RCLK, 0:0:0); - endspecify - -endmodule - -module nRCS ( input PADDO, output nRCS ); - - mjiobuf0121 nRCS_pad( .I(PADDO), .PAD(nRCS)); - - specify - (PADDO => nRCS) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); - - mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); - - specify - (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD7) = (0:0:0,0:0:0); - (RD7 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD7, 0:0:0); - $width (negedge RD7, 0:0:0); - endspecify - -endmodule - -module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); - - mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); - - specify - (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD6) = (0:0:0,0:0:0); - (RD6 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD6, 0:0:0); - $width (negedge RD6, 0:0:0); - endspecify - -endmodule - -module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); - - mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); - - specify - (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD5) = (0:0:0,0:0:0); - (RD5 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD5, 0:0:0); - $width (negedge RD5, 0:0:0); - endspecify - -endmodule - -module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); - - mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); - - specify - (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD4) = (0:0:0,0:0:0); - (RD4 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD4, 0:0:0); - $width (negedge RD4, 0:0:0); - endspecify - -endmodule - -module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); - - mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); - - specify - (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD3) = (0:0:0,0:0:0); - (RD3 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD3, 0:0:0); - $width (negedge RD3, 0:0:0); - endspecify - -endmodule - -module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); - - mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); - - specify - (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD2) = (0:0:0,0:0:0); - (RD2 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD2, 0:0:0); - $width (negedge RD2, 0:0:0); - endspecify - -endmodule - -module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); - - mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); - - specify - (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); - (PADDO => RD1) = (0:0:0,0:0:0); - (RD1 => PADDI) = (0:0:0,0:0:0); - $width (posedge RD1, 0:0:0); - $width (negedge RD1, 0:0:0); - endspecify - -endmodule - -module RA_11_ ( input PADDO, output RA11 ); - - mjiobuf0121 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); - - specify - (PADDO => RA11) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_10_ ( input PADDO, output RA10 ); - - mjiobuf0121 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); - - specify - (PADDO => RA10) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_9_ ( input PADDO, output RA9 ); - - mjiobuf0121 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); - - specify - (PADDO => RA9) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_8_ ( input PADDO, output RA8 ); - - mjiobuf0121 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); - - specify - (PADDO => RA8) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_7_ ( input PADDO, output RA7 ); - - mjiobuf0121 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); - - specify - (PADDO => RA7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_6_ ( input PADDO, output RA6 ); - - mjiobuf0121 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); - - specify - (PADDO => RA6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_5_ ( input PADDO, output RA5 ); - - mjiobuf0121 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); - - specify - (PADDO => RA5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_4_ ( input PADDO, output RA4 ); - - mjiobuf0121 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); - - specify - (PADDO => RA4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_3_ ( input PADDO, output RA3 ); - - mjiobuf0121 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); - - specify - (PADDO => RA3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_2_ ( input PADDO, output RA2 ); - - mjiobuf0121 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); - - specify - (PADDO => RA2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_1_ ( input PADDO, output RA1 ); - - mjiobuf0121 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); - - specify - (PADDO => RA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RA_0_ ( input PADDO, output RA0 ); - - mjiobuf0121 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); - - specify - (PADDO => RA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_1_ ( input PADDO, output RBA1 ); - - mjiobuf0121 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); - - specify - (PADDO => RBA1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module RBA_0_ ( input PADDO, output RBA0 ); - - mjiobuf0121 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); - - specify - (PADDO => RBA0) = (0:0:0,0:0:0); - endspecify - -endmodule - -module LED ( input PADDO, output LED ); - - mjiobuf0122 LED_pad( .I(PADDO), .PAD(LED)); - - specify - (PADDO => LED) = (0:0:0,0:0:0); - endspecify - -endmodule - -module mjiobuf0122 ( input I, output PAD ); - - OB INST5( .I(I), .O(PAD)); -endmodule - -module nFWE ( output PADDI, input nFWE ); - - mjiobuf0120 nFWE_pad( .Z(PADDI), .PAD(nFWE)); - - specify - (nFWE => PADDI) = (0:0:0,0:0:0); - $width (posedge nFWE, 0:0:0); - $width (negedge nFWE, 0:0:0); - endspecify - -endmodule - -module nCRAS ( output PADDI, input nCRAS ); - - mjiobuf0123 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); - - specify - (nCRAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCRAS, 0:0:0); - $width (negedge nCRAS, 0:0:0); - endspecify - -endmodule - -module mjiobuf0123 ( output Z, input PAD ); - - IBPU INST1( .I(PAD), .O(Z)); -endmodule - -module nCCAS ( output PADDI, input nCCAS ); - - mjiobuf0123 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); - - specify - (nCCAS => PADDI) = (0:0:0,0:0:0); - $width (posedge nCCAS, 0:0:0); - $width (negedge nCCAS, 0:0:0); - endspecify - -endmodule - -module Dout_7_ ( input PADDO, output Dout7 ); - - mjiobuf0118 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); - - specify - (PADDO => Dout7) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_6_ ( input PADDO, output Dout6 ); - - mjiobuf0118 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); - - specify - (PADDO => Dout6) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_5_ ( input PADDO, output Dout5 ); - - mjiobuf0118 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); - - specify - (PADDO => Dout5) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_4_ ( input PADDO, output Dout4 ); - - mjiobuf0118 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); - - specify - (PADDO => Dout4) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_3_ ( input PADDO, output Dout3 ); - - mjiobuf0118 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); - - specify - (PADDO => Dout3) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_2_ ( input PADDO, output Dout2 ); - - mjiobuf0118 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); - - specify - (PADDO => Dout2) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Dout_1_ ( input PADDO, output Dout1 ); - - mjiobuf0118 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); - - specify - (PADDO => Dout1) = (0:0:0,0:0:0); - endspecify - -endmodule - -module Din_7_ ( output PADDI, input Din7 ); - - mjiobuf0120 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); - - specify - (Din7 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din7, 0:0:0); - $width (negedge Din7, 0:0:0); - endspecify - -endmodule - -module Din_6_ ( output PADDI, input Din6 ); - - mjiobuf0120 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); - - specify - (Din6 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din6, 0:0:0); - $width (negedge Din6, 0:0:0); - endspecify - -endmodule - -module Din_5_ ( output PADDI, input Din5 ); - - mjiobuf0120 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); - - specify - (Din5 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din5, 0:0:0); - $width (negedge Din5, 0:0:0); - endspecify - -endmodule - -module Din_4_ ( output PADDI, input Din4 ); - - mjiobuf0120 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); - - specify - (Din4 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din4, 0:0:0); - $width (negedge Din4, 0:0:0); - endspecify - -endmodule - -module Din_3_ ( output PADDI, input Din3 ); - - mjiobuf0120 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); - - specify - (Din3 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din3, 0:0:0); - $width (negedge Din3, 0:0:0); - endspecify - -endmodule - -module Din_2_ ( output PADDI, input Din2 ); - - mjiobuf0120 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); - - specify - (Din2 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din2, 0:0:0); - $width (negedge Din2, 0:0:0); - endspecify - -endmodule - -module Din_1_ ( output PADDI, input Din1 ); - - mjiobuf0120 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); - - specify - (Din1 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din1, 0:0:0); - $width (negedge Din1, 0:0:0); - endspecify - -endmodule - -module Din_0_ ( output PADDI, input Din0 ); - - mjiobuf0120 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); - - specify - (Din0 => PADDI) = (0:0:0,0:0:0); - $width (posedge Din0, 0:0:0); - $width (negedge Din0, 0:0:0); - endspecify - -endmodule - -module CROW_1_ ( output PADDI, input CROW1 ); - - mjiobuf0120 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); - - specify - (CROW1 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW1, 0:0:0); - $width (negedge CROW1, 0:0:0); - endspecify - -endmodule - -module CROW_0_ ( output PADDI, input CROW0 ); - - mjiobuf0120 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); - - specify - (CROW0 => PADDI) = (0:0:0,0:0:0); - $width (posedge CROW0, 0:0:0); - $width (negedge CROW0, 0:0:0); - endspecify - -endmodule - -module MAin_9_ ( output PADDI, input MAin9 ); - - mjiobuf0120 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); - - specify - (MAin9 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin9, 0:0:0); - $width (negedge MAin9, 0:0:0); - endspecify - -endmodule - -module MAin_8_ ( output PADDI, input MAin8 ); - - mjiobuf0120 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); - - specify - (MAin8 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin8, 0:0:0); - $width (negedge MAin8, 0:0:0); - endspecify - -endmodule - -module MAin_7_ ( output PADDI, input MAin7 ); - - mjiobuf0120 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); - - specify - (MAin7 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin7, 0:0:0); - $width (negedge MAin7, 0:0:0); - endspecify - -endmodule - -module MAin_6_ ( output PADDI, input MAin6 ); - - mjiobuf0120 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); - - specify - (MAin6 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin6, 0:0:0); - $width (negedge MAin6, 0:0:0); - endspecify - -endmodule - -module MAin_5_ ( output PADDI, input MAin5 ); - - mjiobuf0120 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); - - specify - (MAin5 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin5, 0:0:0); - $width (negedge MAin5, 0:0:0); - endspecify - -endmodule - -module MAin_4_ ( output PADDI, input MAin4 ); - - mjiobuf0120 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); - - specify - (MAin4 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin4, 0:0:0); - $width (negedge MAin4, 0:0:0); - endspecify - -endmodule - -module MAin_3_ ( output PADDI, input MAin3 ); - - mjiobuf0120 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); - - specify - (MAin3 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin3, 0:0:0); - $width (negedge MAin3, 0:0:0); - endspecify - -endmodule - -module MAin_2_ ( output PADDI, input MAin2 ); - - mjiobuf0120 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); - - specify - (MAin2 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin2, 0:0:0); - $width (negedge MAin2, 0:0:0); - endspecify - -endmodule - -module MAin_1_ ( output PADDI, input MAin1 ); - - mjiobuf0120 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); - - specify - (MAin1 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin1, 0:0:0); - $width (negedge MAin1, 0:0:0); - endspecify - -endmodule - -module MAin_0_ ( output PADDI, input MAin0 ); - - mjiobuf0120 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); - - specify - (MAin0 => PADDI) = (0:0:0,0:0:0); - $width (posedge MAin0, 0:0:0); - $width (negedge MAin0, 0:0:0); - endspecify - -endmodule + +// Verilog netlist produced by program ldbanno, Version Diamond (64-bit) 3.12.1.454 + +// ldbanno -n Verilog -o RAM2GS_LCMXO640C_impl1_vo.vo -w -neg -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd +// Netlist created on Sat Aug 19 20:57:13 2023 +// Netlist written on Sat Aug 19 20:57:25 2023 +// Design is for device LCMXO640C +// Design is for package TQFP100 +// Design is for performance grade 3 + +`timescale 1 ns / 1 ps + +module RAM2GS ( PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, + RD, nRCS, RCLK, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, + UFMCLK, UFMSDI, UFMSDO ); + input PHI2; + input [9:0] MAin; + input [1:0] CROW; + input [7:0] Din; + input nCCAS, nCRAS, nFWE, RCLK, UFMSDO; + output [7:0] Dout; + output LED; + output [1:0] RBA; + output [11:0] RA; + output nRCS, RCKE, nRWE, nRRAS, nRCAS, RDQMH, RDQML, nUFMCS, UFMCLK, UFMSDI; + inout [7:0] RD; + wire \FS[1] , \FS[0] , RCLK_c, \FS_cry[1] , \FS[17] , \FS[16] , + \FS_cry[15] , \FS[15] , \FS[14] , \FS_cry[13] , \FS[13] , \FS[12] , + \FS_cry[11] , \FS[11] , \FS[10] , \FS_cry[9] , \FS[9] , \FS[8] , + \FS_cry[7] , \FS[7] , \FS[6] , \FS_cry[5] , \FS[5] , \FS[4] , + \FS_cry[3] , \FS[3] , \FS[2] , CmdEnable17_0_a2_4, N_147, + CmdEnable17_0_a2_3, \MAin_c[0] , ADSubmitted, C1WR_0_a2, CmdEnable17, + CmdEnable16, ADSubmitted_r, PHI2_c, CmdEnable16_0_a2_5, + CmdEnable16_0_a2_4, \MAin_c[1] , C1Submitted, C1Submitted_RNO, CO0, + \S[1] , \IS[3] , RASr2, N_177_i, Ready_0_sqmuxa_0_a3_2, CmdEnable, + un1_CMDWR, CmdEnable_s, \Din_c[5] , \Din_c[3] , N_128, N_152, LEDEN, + N_133, N_132, N_21_i, XOR8MEG18, CmdLEDEN, CmdSubmitted, PHI2r3, + PHI2r2, InitReady, CmdSubmitted_1_sqmuxa, N_460_0, N_136, N_43, + Cmdn8MEGEN, CmdEnable16_4, n8MEGEN, Cmdn8MEGEN_4_u_i_0, N_19_i, N_160, + N_155, nRRAS_5_u_i_0, \IS[0] , Ready, N_64_i_i, N_24, \IS[2] , + \IS[1] , N_60_i_i, N_56_i, N_159_i, N_159, N_61_i_i, RA10s_i, N_126, + UFMSDI_ens2_i_a2_4_2, N_51, InitReady3, N_461_0, UFMSDI_ens2_i_a0, + nCRAS_c, CBR, UFMSDO_c, N_70, N_33, LED_c, XOR8MEG, un1_Din_4, + \Din_c[6] , RA11_2, Ready_fast, \RA_c[11] , N_171, FWEr_fast, CASr2, + RCKEEN_8_u_1, RCKEEN_8_u_0_0, RCKEEN_8, PHI2r, RCKEEN, RASr, RASr3, + RCKE_2, RCKE_c, m18_0_a3_3, \S_0_i_o2[1] , N_165, N_462_0, + Ready_0_sqmuxa, N_463_0, nRRAS_0_sqmuxa, CmdUFMCLK, N_129, + UFMCLK_r_i_a2_2_2, N_139_i, UFMCLK_r_i_m4_xx_mm_1, nUFMCS15, UFMCLK_c, + UFMCLK_RNO, UFMSDI_r_xx_mm_1, UFMSDI_c, UFMSDI_RNO, \RowA[4] , + nRowColSel, \MAin_c[4] , \Din_c[4] , nCCAS_c, \RA_c[4] , \WRD[4] , + \WRD[5] , \Bank[5] , \Bank[2] , \Bank[6] , \Bank[7] , \Din_c[7] , + \WRD[6] , C1WR_0_a2_0_11, \WRD[7] , \Din_c[2] , \Din_c[0] , + \Din_c[1] , XOR8MEG_3_u_0_a3_2, XOR8MEG_3, N_69, N_31, N_151, N_41, + nRCAS_0_sqmuxa_1, g0_1, N_37_i, nRCAS_c, CASr3, RCKEEN_8_u_0_a2_1_out, + N_28_i_1, N_28_i, nRCS_c, N_24_i, nRRAS_c, CBR_fast, FWEr, m18_0_a2_1, + G_17_1, N_39_i, nRWE_c, N_179, nRowColSel_0_0, nUFMCS_c, + nUFMCS_s_0_N_5_i_N_2L1, nUFMCS_s_0_N_5_i, CmdUFMCS, N_95_5, N_95_3, + \RowA[0] , \RowA[1] , \MAin_c[5] , CmdUFMCLK_1_sqmuxa, \RowA[5] , + N_137_8, un1_FS_14_i_a2_0_1, N_137_6, un1_FS_13_i_a2_1, \Bank[0] , + C1WR_0_a2_0_10, \Bank[1] , \MAin_c[7] , \MAin_c[6] , C1WR_0_a2_0_4, + \Bank[3] , \Bank[4] , C1WR_0_a2_0_3, UFMSDI_ens2_i_o2_0_3, + \MAin_c[3] , \MAin_c[2] , \RowA[2] , \RowA[3] , CmdUFMSDI, CASr, + CmdEnable16_1, m6_0_a2_2, \WRD[0] , \WRD[1] , g4_0_0_0, \MAin_c[9] , + \MAin_c[8] , \RowA[8] , \RowA[9] , nFWE_c, \CROW_c[1] , \CROW_c[0] , + \RBA_c[0] , \RBA_c[1] , \WRD[2] , \WRD[3] , \RA_c[9] , RDQML_c, + RD_1_i, \RowA[6] , \RowA[7] , \RA_c[8] , RDQMH_c, \RA_c[0] , + \RA_c[1] , \RA_c[7] , \RA_c[2] , \RA_c[6] , \RA_c[3] , \RA_c[5] , + \RA_c[10] , \RD_in[0] , \RD_in[7] , \RD_in[6] , \RD_in[5] , + \RD_in[4] , \RD_in[3] , \RD_in[2] , \RD_in[1] , VCCI, GNDI_TSALL; + + SLICE_0 SLICE_0( .A1(\FS[1] ), .A0(\FS[0] ), .CLK(RCLK_c), .Q0(\FS[0] ), + .Q1(\FS[1] ), .FCO(\FS_cry[1] )); + SLICE_1 SLICE_1( .A1(\FS[17] ), .A0(\FS[16] ), .CLK(RCLK_c), + .FCI(\FS_cry[15] ), .Q0(\FS[16] ), .Q1(\FS[17] )); + SLICE_2 SLICE_2( .A1(\FS[15] ), .A0(\FS[14] ), .CLK(RCLK_c), + .FCI(\FS_cry[13] ), .Q0(\FS[14] ), .Q1(\FS[15] ), .FCO(\FS_cry[15] )); + SLICE_3 SLICE_3( .A1(\FS[13] ), .A0(\FS[12] ), .CLK(RCLK_c), + .FCI(\FS_cry[11] ), .Q0(\FS[12] ), .Q1(\FS[13] ), .FCO(\FS_cry[13] )); + SLICE_4 SLICE_4( .A1(\FS[11] ), .A0(\FS[10] ), .CLK(RCLK_c), + .FCI(\FS_cry[9] ), .Q0(\FS[10] ), .Q1(\FS[11] ), .FCO(\FS_cry[11] )); + SLICE_5 SLICE_5( .A1(\FS[9] ), .A0(\FS[8] ), .CLK(RCLK_c), .FCI(\FS_cry[7] ), + .Q0(\FS[8] ), .Q1(\FS[9] ), .FCO(\FS_cry[9] )); + SLICE_6 SLICE_6( .A1(\FS[7] ), .A0(\FS[6] ), .CLK(RCLK_c), .FCI(\FS_cry[5] ), + .Q0(\FS[6] ), .Q1(\FS[7] ), .FCO(\FS_cry[7] )); + SLICE_7 SLICE_7( .A1(\FS[5] ), .A0(\FS[4] ), .CLK(RCLK_c), .FCI(\FS_cry[3] ), + .Q0(\FS[4] ), .Q1(\FS[5] ), .FCO(\FS_cry[5] )); + SLICE_8 SLICE_8( .A1(\FS[3] ), .A0(\FS[2] ), .CLK(RCLK_c), .FCI(\FS_cry[1] ), + .Q0(\FS[2] ), .Q1(\FS[3] ), .FCO(\FS_cry[3] )); + SLICE_9 SLICE_9( .D1(CmdEnable17_0_a2_4), .C1(N_147), + .B1(CmdEnable17_0_a2_3), .A1(\MAin_c[0] ), .D0(ADSubmitted), + .C0(C1WR_0_a2), .B0(CmdEnable17), .A0(CmdEnable16), .DI0(ADSubmitted_r), + .CLK(PHI2_c), .F0(ADSubmitted_r), .Q0(ADSubmitted), .F1(CmdEnable17)); + SLICE_14 SLICE_14( .C1(N_147), .B1(CmdEnable16_0_a2_5), + .A1(CmdEnable16_0_a2_4), .D0(CmdEnable16), .C0(N_147), .B0(\MAin_c[1] ), + .A0(C1Submitted), .DI0(C1Submitted_RNO), .CLK(PHI2_c), + .F0(C1Submitted_RNO), .Q0(C1Submitted), .F1(CmdEnable16)); + SLICE_19 SLICE_19( .D1(CO0), .C1(\S[1] ), .B1(\IS[3] ), .A1(RASr2), + .C0(\S[1] ), .A0(CO0), .DI0(N_177_i), .LSR(RASr2), .CLK(RCLK_c), + .F0(N_177_i), .Q0(CO0), .F1(Ready_0_sqmuxa_0_a3_2)); + SLICE_20 SLICE_20( .D1(CmdEnable), .A1(ADSubmitted), .D0(CmdEnable17), + .C0(C1Submitted), .B0(un1_CMDWR), .A0(CmdEnable), .DI0(CmdEnable_s), + .M0(CmdEnable16), .CLK(PHI2_c), .OFX0(CmdEnable_s), .Q0(CmdEnable)); + SLICE_21 SLICE_21( .D1(\Din_c[5] ), .C1(\Din_c[3] ), .B1(N_128), .D0(N_152), + .C0(LEDEN), .B0(N_133), .A0(N_132), .DI0(N_21_i), .CE(XOR8MEG18), + .CLK(PHI2_c), .F0(N_21_i), .Q0(CmdLEDEN), .F1(N_152)); + SLICE_22 SLICE_22( .D1(CmdSubmitted), .C1(PHI2r3), .B1(PHI2r2), + .A1(InitReady), .D0(CmdSubmitted_1_sqmuxa), .A0(CmdSubmitted), + .DI0(N_460_0), .CLK(PHI2_c), .F0(N_460_0), .Q0(CmdSubmitted), .F1(N_136)); + SLICE_26 SLICE_26( .D1(N_128), .C1(N_43), .B1(Cmdn8MEGEN), + .A1(CmdEnable16_4), .D0(n8MEGEN), .C0(Cmdn8MEGEN_4_u_i_0), .A0(N_152), + .DI0(N_19_i), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(N_19_i), .Q0(Cmdn8MEGEN), + .F1(Cmdn8MEGEN_4_u_i_0)); + SLICE_29 SLICE_29( .D1(N_160), .C1(N_155), .B1(nRRAS_5_u_i_0), .A1(\IS[0] ), + .C0(N_155), .B0(Ready), .A0(\IS[0] ), .DI0(N_64_i_i), .CLK(RCLK_c), + .F0(N_64_i_i), .Q0(\IS[0] ), .F1(N_24)); + SLICE_30 SLICE_30( .D1(\IS[0] ), .C1(\IS[2] ), .A1(\IS[1] ), .D0(\IS[0] ), + .A0(\IS[1] ), .DI1(N_60_i_i), .DI0(N_56_i), .CE(N_159_i), .CLK(RCLK_c), + .F0(N_56_i), .Q0(\IS[1] ), .F1(N_60_i_i), .Q1(\IS[2] )); + SLICE_31 SLICE_31( .D1(\IS[2] ), .C1(N_159), .B1(\IS[1] ), .A1(\IS[3] ), + .D0(\IS[2] ), .C0(\IS[3] ), .B0(\IS[1] ), .A0(\IS[0] ), .DI0(N_61_i_i), + .CE(N_159_i), .CLK(RCLK_c), .F0(N_61_i_i), .Q0(\IS[3] ), .F1(RA10s_i)); + SLICE_32 SLICE_32( .D1(N_126), .C1(InitReady), .B1(UFMSDI_ens2_i_a2_4_2), + .A1(N_51), .D0(InitReady3), .A0(InitReady), .DI0(N_461_0), .CLK(RCLK_c), + .F0(N_461_0), .Q0(InitReady), .F1(UFMSDI_ens2_i_a0)); + SLICE_33 SLICE_33( .D1(LEDEN), .C1(nCRAS_c), .A1(CBR), .D0(InitReady), + .B0(CmdLEDEN), .A0(UFMSDO_c), .DI0(N_70), .CE(N_33), .CLK(RCLK_c), + .F0(N_70), .Q0(LEDEN), .F1(LED_c)); + SLICE_39 SLICE_39( .D1(XOR8MEG), .B1(un1_Din_4), .D0(XOR8MEG), + .B0(\Din_c[6] ), .A0(n8MEGEN), .DI0(RA11_2), .LSR(Ready_fast), + .CLK(PHI2_c), .F0(RA11_2), .Q0(\RA_c[11] ), .F1(N_171)); + SLICE_41 SLICE_41( .D1(CO0), .C1(FWEr_fast), .B1(CASr2), .A1(\S[1] ), + .D0(CBR), .C0(RCKEEN_8_u_1), .B0(Ready), .A0(RCKEEN_8_u_0_0), + .DI0(RCKEEN_8), .M1(PHI2r), .CLK(RCLK_c), .F0(RCKEEN_8), .Q0(RCKEEN), + .F1(RCKEEN_8_u_1), .Q1(PHI2r2)); + SLICE_42 SLICE_42( .D1(\IS[1] ), .C1(\IS[2] ), .B1(\IS[0] ), .A1(RASr2), + .D0(RASr), .C0(RASr3), .B0(RCKEEN), .A0(RASr2), .DI0(RCKE_2), .M1(PHI2_c), + .CLK(RCLK_c), .F0(RCKE_2), .Q0(RCKE_c), .F1(m18_0_a3_3), .Q1(PHI2r)); + SLICE_43 SLICE_43( .D1(Ready), .C1(\S_0_i_o2[1] ), .B1(RASr2), + .A1(InitReady), .D0(Ready), .C0(N_165), .B0(Ready_0_sqmuxa_0_a3_2), + .A0(InitReady), .DI0(N_462_0), .M1(PHI2r2), .CLK(RCLK_c), .F0(N_462_0), + .Q0(Ready), .F1(RCKEEN_8_u_0_0), .Q1(PHI2r3)); + SLICE_44 SLICE_44( .D1(Ready), .C1(N_165), .B1(Ready_0_sqmuxa_0_a3_2), + .A1(InitReady), .B0(Ready_0_sqmuxa), .A0(Ready_fast), .DI0(N_463_0), + .M1(nCRAS_c), .CLK(RCLK_c), .F0(N_463_0), .Q0(Ready_fast), + .F1(Ready_0_sqmuxa), .Q1(RASr)); + SLICE_50 SLICE_50( .D1(Ready), .C1(CO0), .A1(\S[1] ), .C0(CO0), .A0(\S[1] ), + .DI0(\S_0_i_o2[1] ), .LSR(RASr2), .CLK(RCLK_c), .F0(\S_0_i_o2[1] ), + .Q0(\S[1] ), .F1(nRRAS_0_sqmuxa)); + SLICE_51 SLICE_51( .D1(CmdUFMCLK), .C1(InitReady), .B1(N_129), + .A1(UFMCLK_r_i_a2_2_2), .D0(N_139_i), .C0(UFMCLK_r_i_m4_xx_mm_1), + .B0(nUFMCS15), .A0(UFMCLK_c), .DI0(UFMCLK_RNO), .M1(RASr), .CLK(RCLK_c), + .F0(UFMCLK_RNO), .Q0(UFMCLK_c), .F1(UFMCLK_r_i_m4_xx_mm_1), .Q1(RASr2)); + SLICE_52 SLICE_52( .D1(PHI2r3), .C1(InitReady), .B1(PHI2r2), + .A1(CmdSubmitted), .D0(UFMSDI_r_xx_mm_1), .C0(N_139_i), .B0(UFMSDI_c), + .A0(nUFMCS15), .DI0(UFMSDI_RNO), .M1(RASr2), .CLK(RCLK_c), .F0(UFMSDI_RNO), + .Q0(UFMSDI_c), .F1(N_139_i), .Q1(RASr3)); + SLICE_55 SLICE_55( .D0(\RowA[4] ), .B0(nRowColSel), .A0(\MAin_c[4] ), + .M1(\Din_c[5] ), .M0(\Din_c[4] ), .CLK(nCCAS_c), .F0(\RA_c[4] ), + .Q0(\WRD[4] ), .Q1(\WRD[5] )); + SLICE_56 SLICE_56( .D1(\Bank[5] ), .C1(\Bank[2] ), .B1(\Bank[6] ), + .A1(\Bank[7] ), .D0(\FS[5] ), .C0(\FS[9] ), .A0(\FS[7] ), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(nCCAS_c), .F0(N_126), .Q0(\WRD[6] ), + .F1(C1WR_0_a2_0_11), .Q1(\WRD[7] )); + SLICE_57 SLICE_57( .D1(un1_Din_4), .C1(\Din_c[3] ), .B1(\Din_c[2] ), + .A1(\Din_c[0] ), .D0(\Din_c[1] ), .C0(XOR8MEG_3_u_0_a3_2), .B0(LEDEN), + .A0(N_171), .DI0(XOR8MEG_3), .CE(XOR8MEG18), .CLK(PHI2_c), .F0(XOR8MEG_3), + .Q0(XOR8MEG), .F1(XOR8MEG_3_u_0_a3_2)); + SLICE_58 SLICE_58( .D1(N_51), .C1(\FS[8] ), .A1(InitReady), .D0(UFMSDO_c), + .B0(Cmdn8MEGEN), .A0(InitReady), .DI0(N_69), .CE(N_31), .CLK(RCLK_c), + .F0(N_69), .Q0(n8MEGEN), .F1(N_151)); + SLICE_59 SLICE_59( .D1(Ready), .C1(\S[1] ), .B1(N_155), .A1(N_160), + .D0(N_41), .C0(nRCAS_0_sqmuxa_1), .B0(\S[1] ), .A0(g0_1), .DI0(N_37_i), + .CLK(RCLK_c), .F0(N_37_i), .Q0(nRCAS_c), .F1(N_41)); + SLICE_60 SLICE_60( .D1(CASr3), .C1(CO0), .B1(FWEr_fast), .A1(CASr2), + .D0(CBR), .C0(RCKEEN_8_u_0_a2_1_out), .B0(N_24), .A0(N_28_i_1), + .DI0(N_28_i), .CLK(RCLK_c), .F0(N_28_i), .Q0(nRCS_c), .F1(N_28_i_1)); + SLICE_61 SLICE_61( .D1(\S_0_i_o2[1] ), .C1(Ready), .B1(RASr2), .A1(RCKE_c), + .D0(N_160), .C0(N_155), .B0(nRRAS_5_u_i_0), .A0(\IS[0] ), .DI0(N_24_i), + .CLK(RCLK_c), .F0(N_24_i), .Q0(nRRAS_c), .F1(nRRAS_5_u_i_0)); + SLICE_62 SLICE_62( .D1(CBR_fast), .C1(\S_0_i_o2[1] ), .B1(Ready), .A1(RASr2), + .D0(FWEr), .C0(m18_0_a2_1), .B0(nRCAS_0_sqmuxa_1), .A0(G_17_1), + .DI0(N_39_i), .CLK(RCLK_c), .F0(N_39_i), .Q0(nRWE_c), + .F1(nRCAS_0_sqmuxa_1)); + SLICE_63 SLICE_63( .D1(CASr3), .C1(Ready), .B1(FWEr), .A1(CBR), .D0(N_179), + .C0(Ready), .B0(CO0), .A0(\S[1] ), .DI0(nRowColSel_0_0), + .LSR(nRRAS_0_sqmuxa), .CLK(RCLK_c), .F0(nRowColSel_0_0), .Q0(nRowColSel), + .F1(N_179)); + SLICE_64 SLICE_64( .D1(\FS[10] ), .C1(N_51), .B1(\FS[11] ), .A1(InitReady), + .D0(nUFMCS_c), .C0(nUFMCS_s_0_N_5_i_N_2L1), .B0(nUFMCS15), .A0(N_139_i), + .DI0(nUFMCS_s_0_N_5_i), .CLK(RCLK_c), .F0(nUFMCS_s_0_N_5_i), .Q0(nUFMCS_c), + .F1(nUFMCS15)); + nRWE_RNO_1_SLICE_65 \nRWE_RNO_1/SLICE_65 ( .D1(RASr2), .C1(RCKE_c), .B1(CO0), + .A1(\S[1] ), .D0(\S[1] ), .C0(m18_0_a3_3), .B0(CO0), .A0(InitReady), + .M0(Ready), .OFX0(m18_0_a2_1)); + SLICE_66 SLICE_66( .C1(InitReady), .B1(CmdUFMCS), .A1(UFMCLK_r_i_a2_2_2), + .D0(N_95_5), .C0(InitReady), .B0(\FS[16] ), .A0(N_95_3), .M1(\MAin_c[1] ), + .M0(\MAin_c[0] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(UFMCLK_r_i_a2_2_2), + .Q0(\RowA[0] ), .F1(nUFMCS_s_0_N_5_i_N_2L1), .Q1(\RowA[1] )); + SLICE_67 SLICE_67( .D1(\Din_c[5] ), .C1(XOR8MEG18), .B1(\Din_c[3] ), + .A1(N_128), .D0(\MAin_c[1] ), .C0(\MAin_c[0] ), .B0(CmdEnable), .A0(N_147), + .M1(\MAin_c[5] ), .M0(\MAin_c[4] ), .LSR(Ready_fast), .CLK(nCRAS_c), + .F0(XOR8MEG18), .Q0(\RowA[4] ), .F1(CmdUFMCLK_1_sqmuxa), .Q1(\RowA[5] )); + SLICE_68 SLICE_68( .D1(\FS[3] ), .C1(\FS[0] ), .B1(\FS[2] ), .A1(\FS[5] ), + .D0(N_136), .C0(N_137_8), .B0(un1_FS_14_i_a2_0_1), .A0(N_137_6), .F0(N_31), + .F1(un1_FS_14_i_a2_0_1)); + SLICE_69 SLICE_69( .D1(\FS[3] ), .C1(\FS[0] ), .B1(\FS[2] ), .A1(\FS[5] ), + .D0(N_137_8), .C0(un1_FS_13_i_a2_1), .B0(N_136), .A0(N_137_6), .F0(N_33), + .F1(un1_FS_13_i_a2_1)); + SLICE_70 SLICE_70( .D1(\Bank[0] ), .C1(C1WR_0_a2_0_10), .B1(C1WR_0_a2_0_11), + .A1(\Bank[1] ), .C0(\MAin_c[1] ), .B0(N_147), .M1(\Din_c[1] ), + .M0(\Din_c[0] ), .CLK(PHI2_c), .F0(C1WR_0_a2), .Q0(\Bank[0] ), .F1(N_147), + .Q1(\Bank[1] )); + SLICE_71 SLICE_71( .D1(\MAin_c[5] ), .C1(\MAin_c[7] ), .B1(\MAin_c[6] ), + .A1(\MAin_c[4] ), .D0(C1WR_0_a2_0_4), .C0(\Bank[3] ), .B0(\Bank[4] ), + .A0(C1WR_0_a2_0_3), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(PHI2_c), + .F0(C1WR_0_a2_0_10), .Q0(\Bank[2] ), .F1(C1WR_0_a2_0_4), .Q1(\Bank[3] )); + SLICE_72 SLICE_72( .D1(UFMSDI_ens2_i_o2_0_3), .C1(\FS[16] ), .A1(\FS[12] ), + .D0(\FS[1] ), .C0(N_51), .B0(\FS[11] ), .A0(\FS[4] ), .M1(\MAin_c[3] ), + .M0(\MAin_c[2] ), .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_129), + .Q0(\RowA[2] ), .F1(N_51), .Q1(\RowA[3] )); + SLICE_73 SLICE_73( .D1(\S[1] ), .C1(RASr2), .B1(CO0), .A1(InitReady), + .B0(N_155), .A0(Ready), .M1(\Din_c[2] ), .M0(\Din_c[1] ), + .CE(CmdUFMCLK_1_sqmuxa), .CLK(PHI2_c), .F0(N_159), .Q0(CmdUFMCLK), + .F1(N_155), .Q1(CmdUFMCS)); + SLICE_74 SLICE_74( .D1(\FS[14] ), .B1(\FS[11] ), .D0(\FS[16] ), .C0(N_95_3), + .B0(\FS[10] ), .A0(N_95_5), .M0(\Din_c[0] ), .CE(CmdUFMCLK_1_sqmuxa), + .CLK(PHI2_c), .F0(InitReady3), .Q0(CmdUFMSDI), .F1(N_95_3)); + SLICE_75 SLICE_75( .C1(\Din_c[4] ), .B1(\Din_c[7] ), .A1(\Din_c[6] ), + .D0(\Din_c[1] ), .C0(N_128), .A0(\Din_c[5] ), .M1(CASr), .M0(nCCAS_c), + .CLK(RCLK_c), .F0(N_133), .Q0(CASr), .F1(N_128), .Q1(CASr2)); + SLICE_76 SLICE_76( .D1(\Din_c[5] ), .B1(\Din_c[0] ), .D0(\MAin_c[0] ), + .C0(CmdEnable16_4), .B0(\Din_c[1] ), .A0(\Din_c[3] ), .M1(\Din_c[5] ), + .M0(\Din_c[4] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_4), .Q0(\Bank[4] ), + .F1(CmdEnable16_4), .Q1(\Bank[5] )); + SLICE_77 SLICE_77( .C1(\Din_c[7] ), .A1(\Din_c[4] ), .D0(\MAin_c[1] ), + .C0(CmdEnable16_1), .B0(\Din_c[6] ), .A0(\Din_c[2] ), .M1(\Din_c[7] ), + .M0(\Din_c[6] ), .CLK(PHI2_c), .F0(CmdEnable16_0_a2_5), .Q0(\Bank[6] ), + .F1(CmdEnable16_1), .Q1(\Bank[7] )); + SLICE_78 SLICE_78( .C1(\Din_c[3] ), .B1(\Din_c[5] ), .D0(\MAin_c[1] ), + .C0(\Din_c[6] ), .B0(N_43), .A0(\Din_c[2] ), .M1(nCCAS_c), .M0(nCCAS_c), + .CLK(nCRAS_c), .F0(CmdEnable17_0_a2_4), .Q0(CBR), .F1(N_43), .Q1(CBR_fast)); + SLICE_79 SLICE_79( .D1(CASr3), .C1(Ready), .B1(CASr2), .D0(CO0), + .C0(m6_0_a2_2), .B0(CBR), .A0(\S[1] ), .M1(\Din_c[1] ), .M0(\Din_c[0] ), + .CLK(nCCAS_c), .F0(G_17_1), .Q0(\WRD[0] ), .F1(m6_0_a2_2), .Q1(\WRD[1] )); + SLICE_80 SLICE_80( .C1(CASr2), .B1(CASr3), .D0(FWEr), .C0(CBR_fast), + .B0(g4_0_0_0), .A0(CO0), .M1(\MAin_c[9] ), .M0(\MAin_c[8] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(g0_1), .Q0(\RowA[8] ), .F1(g4_0_0_0), + .Q1(\RowA[9] )); + SLICE_81 SLICE_81( .D1(\FS[14] ), .C1(\FS[17] ), .B1(\FS[15] ), + .A1(\FS[13] ), .D0(\FS[12] ), .C0(\FS[17] ), .B0(\FS[15] ), .A0(\FS[13] ), + .M1(nFWE_c), .M0(nFWE_c), .CLK(nCRAS_c), .F0(N_95_5), .Q0(FWEr), + .F1(UFMSDI_ens2_i_o2_0_3), .Q1(FWEr_fast)); + SLICE_82 SLICE_82( .D1(\Din_c[5] ), .C1(CmdLEDEN), .B1(N_128), + .A1(\Din_c[3] ), .D0(\Din_c[5] ), .C0(XOR8MEG18), .B0(N_128), + .A0(\Din_c[3] ), .M0(CASr2), .CLK(RCLK_c), .F0(CmdSubmitted_1_sqmuxa), + .Q0(CASr3), .F1(N_132)); + SLICE_83 SLICE_83( .C1(\IS[2] ), .B1(\IS[3] ), .A1(\IS[1] ), .D0(\IS[0] ), + .C0(\IS[2] ), .A0(\IS[1] ), .M1(\CROW_c[1] ), .M0(\CROW_c[0] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(N_165), .Q0(\RBA_c[0] ), .F1(N_160), + .Q1(\RBA_c[1] )); + SLICE_84 SLICE_84( .D1(\FS[8] ), .C1(\FS[10] ), .B1(\FS[11] ), .A1(\FS[6] ), + .D0(\FS[7] ), .C0(\FS[1] ), .B0(\FS[10] ), .A0(\FS[6] ), .F0(N_137_6), + .F1(UFMSDI_ens2_i_a2_4_2)); + SLICE_85 SLICE_85( .D1(\Din_c[1] ), .C1(\Din_c[7] ), .B1(\Din_c[4] ), + .A1(\Din_c[0] ), .D0(\Din_c[6] ), .C0(\Din_c[7] ), .B0(\Din_c[4] ), + .A0(\Din_c[5] ), .M1(\Din_c[3] ), .M0(\Din_c[2] ), .CLK(nCCAS_c), + .F0(un1_Din_4), .Q0(\WRD[2] ), .F1(CmdEnable17_0_a2_3), .Q1(\WRD[3] )); + SLICE_86 SLICE_86( .C1(\MAin_c[9] ), .A1(nRowColSel), .C0(\MAin_c[9] ), + .B0(\RowA[9] ), .A0(nRowColSel), .F0(\RA_c[9] ), .F1(RDQML_c)); + SLICE_87 SLICE_87( .D1(UFMSDI_ens2_i_a0), .C1(CmdUFMSDI), .B1(N_151), + .D0(N_151), .C0(\FS[9] ), .B0(\FS[11] ), .A0(\FS[4] ), .F0(N_137_8), + .F1(UFMSDI_r_xx_mm_1)); + SLICE_88 SLICE_88( .C1(nFWE_c), .B1(\MAin_c[2] ), .A1(\MAin_c[3] ), + .D0(nCCAS_c), .C0(nFWE_c), .M1(\MAin_c[7] ), .M0(\MAin_c[6] ), + .LSR(Ready_fast), .CLK(nCRAS_c), .F0(RD_1_i), .Q0(\RowA[6] ), + .F1(C1WR_0_a2_0_3), .Q1(\RowA[7] )); + SLICE_89 SLICE_89( .D1(nRowColSel), .C1(\MAin_c[9] ), .D0(nRowColSel), + .C0(\MAin_c[8] ), .B0(\RowA[8] ), .F0(\RA_c[8] ), .F1(RDQMH_c)); + SLICE_90 SLICE_90( .C1(N_147), .B1(\MAin_c[0] ), .A1(\MAin_c[1] ), + .D0(\RowA[0] ), .B0(\MAin_c[0] ), .A0(nRowColSel), .F0(\RA_c[0] ), + .F1(un1_CMDWR)); + SLICE_91 SLICE_91( .D1(nRowColSel), .C1(\RowA[7] ), .B1(\MAin_c[7] ), + .D0(\RowA[1] ), .C0(nRowColSel), .B0(\MAin_c[1] ), .F0(\RA_c[1] ), + .F1(\RA_c[7] )); + SLICE_92 SLICE_92( .D1(nRowColSel), .C1(\MAin_c[6] ), .A1(\RowA[6] ), + .D0(nRowColSel), .C0(\RowA[2] ), .B0(\MAin_c[2] ), .F0(\RA_c[2] ), + .F1(\RA_c[6] )); + SLICE_93 SLICE_93( .D1(\RowA[5] ), .B1(nRowColSel), .A1(\MAin_c[5] ), + .D0(\RowA[3] ), .B0(nRowColSel), .A0(\MAin_c[3] ), .F0(\RA_c[3] ), + .F1(\RA_c[5] )); + SLICE_94 SLICE_94( .D1(Ready), .C1(N_155), .D0(Ready), .C0(\S[1] ), + .M0(\IS[0] ), .LSR(RA10s_i), .CLK(RCLK_c), .F0(RCKEEN_8_u_0_a2_1_out), + .Q0(\RA_c[10] ), .F1(N_159_i)); + RD_0_ \RD[0]_I ( .PADDI(\RD_in[0] ), .PADDT(RD_1_i), .PADDO(\WRD[0] ), + .RD0(RD[0])); + Dout_0_ \Dout[0]_I ( .PADDO(\RD_in[0] ), .Dout0(Dout[0])); + PHI2 PHI2_I( .PADDI(PHI2_c), .PHI2(PHI2)); + UFMSDO UFMSDO_I( .PADDI(UFMSDO_c), .UFMSDO(UFMSDO)); + UFMSDI UFMSDI_I( .PADDO(UFMSDI_c), .UFMSDI(UFMSDI)); + UFMCLK UFMCLK_I( .PADDO(UFMCLK_c), .UFMCLK(UFMCLK)); + nUFMCS nUFMCS_I( .PADDO(nUFMCS_c), .nUFMCS(nUFMCS)); + RDQML RDQML_I( .PADDO(RDQML_c), .RDQML(RDQML)); + RDQMH RDQMH_I( .PADDO(RDQMH_c), .RDQMH(RDQMH)); + nRCAS nRCAS_I( .PADDO(nRCAS_c), .nRCAS(nRCAS)); + nRRAS nRRAS_I( .PADDO(nRRAS_c), .nRRAS(nRRAS)); + nRWE nRWE_I( .PADDO(nRWE_c), .nRWE(nRWE)); + RCKE RCKE_I( .PADDO(RCKE_c), .RCKE(RCKE)); + RCLK RCLK_I( .PADDI(RCLK_c), .RCLK(RCLK)); + nRCS nRCS_I( .PADDO(nRCS_c), .nRCS(nRCS)); + RD_7_ \RD[7]_I ( .PADDI(\RD_in[7] ), .PADDT(RD_1_i), .PADDO(\WRD[7] ), + .RD7(RD[7])); + RD_6_ \RD[6]_I ( .PADDI(\RD_in[6] ), .PADDT(RD_1_i), .PADDO(\WRD[6] ), + .RD6(RD[6])); + RD_5_ \RD[5]_I ( .PADDI(\RD_in[5] ), .PADDT(RD_1_i), .PADDO(\WRD[5] ), + .RD5(RD[5])); + RD_4_ \RD[4]_I ( .PADDI(\RD_in[4] ), .PADDT(RD_1_i), .PADDO(\WRD[4] ), + .RD4(RD[4])); + RD_3_ \RD[3]_I ( .PADDI(\RD_in[3] ), .PADDT(RD_1_i), .PADDO(\WRD[3] ), + .RD3(RD[3])); + RD_2_ \RD[2]_I ( .PADDI(\RD_in[2] ), .PADDT(RD_1_i), .PADDO(\WRD[2] ), + .RD2(RD[2])); + RD_1_ \RD[1]_I ( .PADDI(\RD_in[1] ), .PADDT(RD_1_i), .PADDO(\WRD[1] ), + .RD1(RD[1])); + RA_11_ \RA[11]_I ( .PADDO(\RA_c[11] ), .RA11(RA[11])); + RA_10_ \RA[10]_I ( .PADDO(\RA_c[10] ), .RA10(RA[10])); + RA_9_ \RA[9]_I ( .PADDO(\RA_c[9] ), .RA9(RA[9])); + RA_8_ \RA[8]_I ( .PADDO(\RA_c[8] ), .RA8(RA[8])); + RA_7_ \RA[7]_I ( .PADDO(\RA_c[7] ), .RA7(RA[7])); + RA_6_ \RA[6]_I ( .PADDO(\RA_c[6] ), .RA6(RA[6])); + RA_5_ \RA[5]_I ( .PADDO(\RA_c[5] ), .RA5(RA[5])); + RA_4_ \RA[4]_I ( .PADDO(\RA_c[4] ), .RA4(RA[4])); + RA_3_ \RA[3]_I ( .PADDO(\RA_c[3] ), .RA3(RA[3])); + RA_2_ \RA[2]_I ( .PADDO(\RA_c[2] ), .RA2(RA[2])); + RA_1_ \RA[1]_I ( .PADDO(\RA_c[1] ), .RA1(RA[1])); + RA_0_ \RA[0]_I ( .PADDO(\RA_c[0] ), .RA0(RA[0])); + RBA_1_ \RBA[1]_I ( .PADDO(\RBA_c[1] ), .RBA1(RBA[1])); + RBA_0_ \RBA[0]_I ( .PADDO(\RBA_c[0] ), .RBA0(RBA[0])); + LED LED_I( .PADDO(LED_c), .LED(LED)); + nFWE nFWE_I( .PADDI(nFWE_c), .nFWE(nFWE)); + nCRAS nCRAS_I( .PADDI(nCRAS_c), .nCRAS(nCRAS)); + nCCAS nCCAS_I( .PADDI(nCCAS_c), .nCCAS(nCCAS)); + Dout_7_ \Dout[7]_I ( .PADDO(\RD_in[7] ), .Dout7(Dout[7])); + Dout_6_ \Dout[6]_I ( .PADDO(\RD_in[6] ), .Dout6(Dout[6])); + Dout_5_ \Dout[5]_I ( .PADDO(\RD_in[5] ), .Dout5(Dout[5])); + Dout_4_ \Dout[4]_I ( .PADDO(\RD_in[4] ), .Dout4(Dout[4])); + Dout_3_ \Dout[3]_I ( .PADDO(\RD_in[3] ), .Dout3(Dout[3])); + Dout_2_ \Dout[2]_I ( .PADDO(\RD_in[2] ), .Dout2(Dout[2])); + Dout_1_ \Dout[1]_I ( .PADDO(\RD_in[1] ), .Dout1(Dout[1])); + Din_7_ \Din[7]_I ( .PADDI(\Din_c[7] ), .Din7(Din[7])); + Din_6_ \Din[6]_I ( .PADDI(\Din_c[6] ), .Din6(Din[6])); + Din_5_ \Din[5]_I ( .PADDI(\Din_c[5] ), .Din5(Din[5])); + Din_4_ \Din[4]_I ( .PADDI(\Din_c[4] ), .Din4(Din[4])); + Din_3_ \Din[3]_I ( .PADDI(\Din_c[3] ), .Din3(Din[3])); + Din_2_ \Din[2]_I ( .PADDI(\Din_c[2] ), .Din2(Din[2])); + Din_1_ \Din[1]_I ( .PADDI(\Din_c[1] ), .Din1(Din[1])); + Din_0_ \Din[0]_I ( .PADDI(\Din_c[0] ), .Din0(Din[0])); + CROW_1_ \CROW[1]_I ( .PADDI(\CROW_c[1] ), .CROW1(CROW[1])); + CROW_0_ \CROW[0]_I ( .PADDI(\CROW_c[0] ), .CROW0(CROW[0])); + MAin_9_ \MAin[9]_I ( .PADDI(\MAin_c[9] ), .MAin9(MAin[9])); + MAin_8_ \MAin[8]_I ( .PADDI(\MAin_c[8] ), .MAin8(MAin[8])); + MAin_7_ \MAin[7]_I ( .PADDI(\MAin_c[7] ), .MAin7(MAin[7])); + MAin_6_ \MAin[6]_I ( .PADDI(\MAin_c[6] ), .MAin6(MAin[6])); + MAin_5_ \MAin[5]_I ( .PADDI(\MAin_c[5] ), .MAin5(MAin[5])); + MAin_4_ \MAin[4]_I ( .PADDI(\MAin_c[4] ), .MAin4(MAin[4])); + MAin_3_ \MAin[3]_I ( .PADDI(\MAin_c[3] ), .MAin3(MAin[3])); + MAin_2_ \MAin[2]_I ( .PADDI(\MAin_c[2] ), .MAin2(MAin[2])); + MAin_1_ \MAin[1]_I ( .PADDI(\MAin_c[1] ), .MAin1(MAin[1])); + MAin_0_ \MAin[0]_I ( .PADDI(\MAin_c[0] ), .MAin0(MAin[0])); + VHI VHI_INST( .Z(VCCI)); + PUR PUR_INST( .PUR(VCCI)); + GSR GSR_INST( .GSR(VCCI)); + VLO VLO_INST( .Z(GNDI_TSALL)); + TSALL TSALL_INST( .TSALL(GNDI_TSALL)); +endmodule + +module SLICE_0 ( input A1, A0, CLK, output Q0, Q1, FCO ); + wire VCCI, \SLICE_0/FS_cry_0[0]_S1 , GNDI, \SLICE_0/FS_cry_0[0]_S0 , + A1_dly, CLK_dly, A0_dly; + + vmuxregsre \FS[1] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[0] ( .D0(VCCI), .D1(\SLICE_0/FS_cry_0[0]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[0] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(VCCI), + .S0(\SLICE_0/FS_cry_0[0]_S0 ), .S1(\SLICE_0/FS_cry_0[0]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + endspecify + +endmodule + +module vmuxregsre ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3DX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module vcc ( output PWR1 ); + + VHI INST1( .Z(PWR1)); +endmodule + +module gnd ( output PWR0 ); + + VLO INST1( .Z(PWR0)); +endmodule + +module ccu2 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h300a; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_1 ( input A1, A0, CLK, FCI, output Q0, Q1 ); + wire VCCI, \SLICE_1/FS_cry_0[16]_S1 , GNDI, \SLICE_1/FS_cry_0[16]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[17] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[16] ( .D0(VCCI), .D1(\SLICE_1/FS_cry_0[16]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu20001 \FS_cry_0[16] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_1/FS_cry_0[16]_S0 ), .S1(\SLICE_1/FS_cry_0[16]_S1 ), .CO0(), + .CO1()); + + specify + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module ccu20001 ( input A0, B0, C0, D0, A1, B1, C1, D1, CI, output S0, S1, CO0, + CO1 ); + + CCU2 inst1( .CIN(CI), .A0(A0), .B0(B0), .C0(C0), .D0(D0), .A1(A1), .B1(B1), + .C1(C1), .D1(D1), .S0(S0), .S1(S1), .COUT0(CO0), .COUT1(CO1)); + defparam inst1.INIT0 = 16'h300a; + defparam inst1.INIT1 = 16'h5002; + defparam inst1.INJECT1_0 = "NO"; + defparam inst1.INJECT1_1 = "NO"; +endmodule + +module SLICE_2 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_2/FS_cry_0[14]_S1 , GNDI, \SLICE_2/FS_cry_0[14]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[15] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[14] ( .D0(VCCI), .D1(\SLICE_2/FS_cry_0[14]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[14] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_2/FS_cry_0[14]_S0 ), .S1(\SLICE_2/FS_cry_0[14]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_3 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_3/FS_cry_0[12]_S1 , GNDI, \SLICE_3/FS_cry_0[12]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[13] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[12] ( .D0(VCCI), .D1(\SLICE_3/FS_cry_0[12]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[12] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_3/FS_cry_0[12]_S0 ), .S1(\SLICE_3/FS_cry_0[12]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_4 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_4/FS_cry_0[10]_S1 , GNDI, \SLICE_4/FS_cry_0[10]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[11] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[10] ( .D0(VCCI), .D1(\SLICE_4/FS_cry_0[10]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[10] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_4/FS_cry_0[10]_S0 ), .S1(\SLICE_4/FS_cry_0[10]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_5 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_5/FS_cry_0[8]_S1 , GNDI, \SLICE_5/FS_cry_0[8]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[9] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[8] ( .D0(VCCI), .D1(\SLICE_5/FS_cry_0[8]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[8] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_5/FS_cry_0[8]_S0 ), .S1(\SLICE_5/FS_cry_0[8]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_6 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_6/FS_cry_0[6]_S1 , GNDI, \SLICE_6/FS_cry_0[6]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[7] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[6] ( .D0(VCCI), .D1(\SLICE_6/FS_cry_0[6]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[6] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_6/FS_cry_0[6]_S0 ), .S1(\SLICE_6/FS_cry_0[6]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_7 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_7/FS_cry_0[4]_S1 , GNDI, \SLICE_7/FS_cry_0[4]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[5] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[4] ( .D0(VCCI), .D1(\SLICE_7/FS_cry_0[4]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[4] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_7/FS_cry_0[4]_S0 ), .S1(\SLICE_7/FS_cry_0[4]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_8 ( input A1, A0, CLK, FCI, output Q0, Q1, FCO ); + wire VCCI, \SLICE_8/FS_cry_0[2]_S1 , GNDI, \SLICE_8/FS_cry_0[2]_S0 , + A1_dly, CLK_dly, A0_dly, FCI_dly; + + vmuxregsre \FS[3] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S1 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \FS[2] ( .D0(VCCI), .D1(\SLICE_8/FS_cry_0[2]_S0 ), .SD(VCCI), + .SP(VCCI), .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + ccu2 \FS_cry_0[2] ( .A0(A0_dly), .B0(GNDI), .C0(GNDI), .D0(GNDI), + .A1(A1_dly), .B1(GNDI), .C1(GNDI), .D1(GNDI), .CI(FCI_dly), + .S0(\SLICE_8/FS_cry_0[2]_S0 ), .S1(\SLICE_8/FS_cry_0[2]_S1 ), .CO0(), + .CO1(FCO)); + + specify + (A1 => FCO) = (0:0:0,0:0:0); + (A0 => FCO) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + (FCI => FCO) = (0:0:0,0:0:0); + $setuphold (posedge CLK, A1, 0:0:0, 0:0:0,,,, CLK_dly, A1_dly); + $setuphold (posedge CLK, A0, 0:0:0, 0:0:0,,,, CLK_dly, A0_dly); + $setuphold (posedge CLK, FCI, 0:0:0, 0:0:0,,,, CLK_dly, FCI_dly); + endspecify + +endmodule + +module SLICE_9 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly; + + lut4 CmdEnable17_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40002 ADSubmitted_r( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre ADSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut4 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40002 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4544) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module inverter ( input I, output Z ); + + INV INST1( .A(I), .Z(Z)); +endmodule + +module SLICE_14 ( input C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40003 CmdEnable16_0_a2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40004 C1Submitted_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre C1Submitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40003 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40004 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF2A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_19 ( input D1, C1, B1, A1, C0, A0, DI0, LSR, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40005 Ready_0_sqmuxa_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40006 \S_RNO[0] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre0007 \S[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40005 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40006 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF5F5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0007 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3IY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .CD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_20 ( input D1, A1, D0, C0, B0, A0, DI0, M0, CLK, output OFX0, Q0 ); + wire GNDI, \SLICE_20/SLICE_20_K1_H1 , \SLICE_20/CmdEnable_s/GATE_H0 , VCCI, + CLK_NOTIN, DI0_dly, CLK_dly; + + lut40008 SLICE_20_K1( .A(A1), .B(GNDI), .C(GNDI), .D(D1), + .Z(\SLICE_20/SLICE_20_K1_H1 )); + gnd DRIVEGND( .PWR0(GNDI)); + lut40009 \CmdEnable_s/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\SLICE_20/CmdEnable_s/GATE_H0 )); + vmuxregsre CmdEnable( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + selmux2 SLICE_20_K0K1MUX( .D0(\SLICE_20/CmdEnable_s/GATE_H0 ), + .D1(\SLICE_20/SLICE_20_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40008 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40009 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEA22) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module selmux2 ( input D0, D1, SD, output Z ); + + MUX21 INST1( .D0(D0), .D1(D1), .SD(SD), .Z(Z)); +endmodule + +module SLICE_21 ( input D1, C1, B1, D0, C0, B0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40010 Cmdn8MEGEN_4_u_i_a2_2( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40011 CmdLEDEN_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdLEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40010 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40011 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1011) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_22 ( input D1, C1, B1, A1, D0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly; + + lut40012 un1_FS_14_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40013 CmdSubmitted_RNO( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdSubmitted( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + endspecify + +endmodule + +module lut40012 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40013 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFAA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_26 ( input D1, C1, B1, A1, D0, C0, A0, DI0, CE, CLK, output F0, + Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, DI0_dly, CLK_dly, CE_dly; + + lut40014 Cmdn8MEGEN_4_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40015 Cmdn8MEGEN_RNO( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Cmdn8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40014 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h33AB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40015 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0F05) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_29 ( input D1, C1, B1, A1, C0, B0, A0, DI0, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40016 nRRAS_5_u_i( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40017 \IS_RNO[0] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \IS[0] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40016 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCFCE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40017 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hA9A9) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_30 ( input D1, C1, A1, D0, A0, DI1, DI0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, DI1_dly, CLK_dly, DI0_dly, CE_dly; + + lut40018 \IS_RNO[2] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40019 IS_n1_0_x2( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre \IS[2] ( .D0(VCCI), .D1(DI1_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \IS[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI1, 0:0:0, 0:0:0,,,, CLK_dly, DI1_dly); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40018 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5AF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40019 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h55AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_31 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40020 RA10_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40021 \IS_RNO[3] ( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \IS[3] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40020 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40021 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h78F0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_32 ( input D1, C1, B1, A1, D0, A0, DI0, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly; + + lut40022 UFMSDI_ens2_i_a0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40013 InitReady_RNO( .A(A0), .B(GNDI), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre InitReady( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40022 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0B0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_33 ( input D1, C1, A1, D0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40023 LED_pad_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40024 LEDEN_5_i_m2( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre LEDEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40023 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFAFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40024 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCC55) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_39 ( input D1, B1, D0, B0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40025 XOR8MEG_3_u_0_a3_0( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40026 RA11_2( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre0007 RA11( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40025 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3300) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40026 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBB44) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_41 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40027 RCKEEN_8_u_1_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40028 RCKEEN_8_u( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKEEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40027 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h75A5) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40028 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hAAEA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_42 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40029 nRWE_RNO_5( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40030 RCKE_2_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RCKE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40029 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40030 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDCD8) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_43 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40031 RCKEEN_8_u_RNO( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40032 Ready_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre PHI2r3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre Ready( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40031 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h03AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40032 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF08) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_44 ( input D1, C1, B1, A1, B0, A0, DI0, M1, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, M1_NOTIN, VCCI, DI0_dly, CLK_dly, M1_dly; + + lut40033 Ready_0_sqmuxa_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40034 Ready_fast_RNO( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre RASr( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre Ready_fast( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40033 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40034 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEEEE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_50 ( input D1, C1, A1, C0, A0, DI0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, LSR_NOTIN, DI0_dly, CLK_dly, LSR_dly; + + lut40035 nRowColSel_RNO( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40036 \S_0_i_o2[1] ( .A(A0), .B(GNDI), .C(C0), .D(GNDI), .Z(F0)); + vmuxregsre0007 \S[1] ( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_NOTIN), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40035 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0500) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40036 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_51 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40037 UFMCLK_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40038 UFMCLK_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMCLK( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40037 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hABFB) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40038 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0322) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_52 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, M1, CLK, output + F0, Q0, F1, Q1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly, M1_dly; + + lut40039 PHI2r3_RNITCN41( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40040 UFMSDI_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre RASr3( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre UFMSDI( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40039 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2F0F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40040 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5404) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_55 ( input D0, B0, A0, M1, M0, CLK, output F0, Q0, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40041 \un9_RA[4] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40041 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBB88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_56 ( input D1, C1, B1, A1, D0, C0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40042 C1WR_0_a2_0_11( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40043 UFMSDI_ens2_i_o2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \WRD[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40042 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40043 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5A0A) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_57 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CE, CLK, output + F0, Q0, F1 ); + wire VCCI, CLK_NOTIN, GNDI, DI0_dly, CLK_dly, CE_dly; + + lut40044 XOR8MEG_3_u_0_a3_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40045 XOR8MEG_3_u_0_a3_3( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre XOR8MEG( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40044 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40045 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hBAFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_58 ( input D1, C1, A1, D0, B0, A0, DI0, CE, CLK, output F0, Q0, + F1 ); + wire GNDI, VCCI, DI0_dly, CLK_dly, CE_dly; + + lut40046 UFMSDI_en_ss0_0_a2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40047 n8MEGEN_5_i_m2( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + vmuxregsre n8MEGEN( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(CE_dly), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40046 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40047 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h88DD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_59 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40048 un1_nRCAS_6_sqmuxa_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40049 nRCAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0050 nRCAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40048 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0FDD) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40049 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0F04) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0050 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3BX INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_60 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40051 nRCS_RNO_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40052 nRCS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0050 nRCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40051 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFC7C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40052 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3323) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_61 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40053 nRRAS_5_u_i_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40054 nRRAS_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0050 nRRAS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40053 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00E0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40054 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3031) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_62 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40055 nRCAS_0_sqmuxa_1_0_a3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40056 nRWE_RNO( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0050 nRWE( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40055 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40056 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCDEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_63 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, LSR, CLK, output + F0, Q0, F1 ); + wire VCCI, DI0_dly, CLK_dly, LSR_dly; + + lut40057 nRowColSel_0_0_a3_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40058 nRowColSel_0_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 nRowColSel( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40057 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0040) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40058 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF60) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_64 ( input D1, C1, B1, A1, D0, C0, B0, A0, DI0, CLK, output F0, + Q0, F1 ); + wire VCCI, GNDI, DI0_dly, CLK_dly; + + lut40059 nUFMCS15_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40060 nUFMCS_s_0_N_5_i( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0050 nUFMCS( .D0(VCCI), .D1(DI0_dly), .SD(VCCI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, DI0, 0:0:0, 0:0:0,,,, CLK_dly, DI0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40059 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40060 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDFCE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module nRWE_RNO_1_SLICE_65 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, output + OFX0 ); + wire \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 , + \nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ; + + lut40061 \nRWE_RNO_1/SLICE_65_K1 ( .A(A1), .B(B1), .C(C1), .D(D1), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 )); + lut40062 \nRWE_RNO_1/GATE ( .A(A0), .B(B0), .C(C0), .D(D0), + .Z(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 )); + selmux2 \nRWE_RNO_1/SLICE_65_K0K1MUX ( + .D0(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/GATE_H0 ), + .D1(\nRWE_RNO_1/SLICE_65/nRWE_RNO_1/SLICE_65_K1_H1 ), .SD(M0), .Z(OFX0)); + + specify + (D1 => OFX0) = (0:0:0,0:0:0); + (C1 => OFX0) = (0:0:0,0:0:0); + (B1 => OFX0) = (0:0:0,0:0:0); + (A1 => OFX0) = (0:0:0,0:0:0); + (D0 => OFX0) = (0:0:0,0:0:0); + (C0 => OFX0) = (0:0:0,0:0:0); + (B0 => OFX0) = (0:0:0,0:0:0); + (A0 => OFX0) = (0:0:0,0:0:0); + (M0 => OFX0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40061 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40062 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_66 ( input C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40063 nUFMCS_s_0_N_5_i_N_2L1( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40064 UFMCLK_r_i_a2_2_2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40063 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4545) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40064 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_67 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, + output F0, Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40065 CmdUFMCLK_1_sqmuxa_0_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40066 XOR8MEG18_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0067 \RowA[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40065 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40066 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0080) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module vmuxregsre0067 ( input D0, D1, SD, SP, CK, LSR, output Q ); + + FL1P3JY INST01( .D0(D0), .D1(D1), .SP(SP), .CK(CK), .SD(SD), .PD(LSR), .Q(Q)); + defparam INST01.GSR = "DISABLED"; +endmodule + +module SLICE_68 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40068 un1_FS_14_i_a2_0_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40069 un1_FS_14_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40068 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40069 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFF80) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_69 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40070 un1_FS_13_i_a2_1( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40071 un1_FS_13_i_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40070 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0002) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40071 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hECCC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_70 ( input D1, C1, B1, A1, C0, B0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40072 C1WR_0_a2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40073 C1WR_0_a2( .A(GNDI), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40072 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40073 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hC0C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_71 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, M1_dly, CLK_dly, M0_dly; + + lut40074 C1WR_0_a2_0_4( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40075 C1WR_0_a2_0_10( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre \Bank[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40074 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40075 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_72 ( input D1, C1, A1, D0, C0, B0, A0, M1, M0, LSR, CLK, output + F0, Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40076 UFMSDI_ens2_i_o2_0( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40077 UFMCLK_r_i_m2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40076 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40077 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_73 ( input D1, C1, B1, A1, B0, A0, M1, M0, CE, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly, CE_dly; + + lut40078 IS_0_sqmuxa_0_o2_0( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40034 IS_0_sqmuxa_0_o2( .A(A0), .B(B0), .C(GNDI), .D(GNDI), .Z(F0)); + gnd DRIVEGND( .PWR0(GNDI)); + vmuxregsre CmdUFMCS( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CmdUFMCLK( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40078 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFDF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_74 ( input D1, B1, D0, C0, B0, A0, M0, CE, CLK, output F0, Q0, F1 ); + wire GNDI, VCCI, CLK_NOTIN, M0_dly, CLK_dly, CE_dly; + + lut40079 InitReady3_0_a2_3( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40080 InitReady3_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CmdUFMSDI( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(CE_dly), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, CE, 0:0:0, 0:0:0,,,, CLK_dly, CE_dly); + endspecify + +endmodule + +module lut40079 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCC00) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40080 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_75 ( input C1, B1, A1, D0, C0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40081 Cmdn8MEGEN_4_u_i_o2_0( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40082 CmdLEDEN_4_u_i_a2_0( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr2( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre CASr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40081 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hEFEF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40082 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0005) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_76 ( input D1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40083 CmdEnable16_0_a2_4( .A(GNDI), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40084 CmdEnable16_0_a2_4_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[5] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[4] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40083 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40084 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0010) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_77 ( input C1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, VCCI, M1_dly, CLK_dly, M0_dly; + + lut40085 CmdEnable16_0_a2_1( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40086 CmdEnable16_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \Bank[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + vmuxregsre \Bank[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(GNDI), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40085 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5050) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40086 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h4000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_78 ( input C1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, F1, + Q1 ); + wire GNDI, M1_NOTIN, VCCI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40087 CmdEnable17_0_o2( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40088 CmdEnable17_0_a2_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CBR_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre CBR( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40087 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3F3F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40088 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0200) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_79 ( input D1, C1, B1, D0, C0, B0, A0, M1, M0, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40089 nRWE_RNO_2( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40090 nRWE_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40089 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00C0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40090 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h2000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_80 ( input C1, B1, D0, C0, B0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40091 nRCAS_RNO_1( .A(GNDI), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40092 nRCAS_RNO_0( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0067 \RowA[9] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[8] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40091 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h3030) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40092 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0805) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_81 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire M1_NOTIN, VCCI, GNDI, CLK_NOTIN, M0_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40093 UFMSDI_ens2_i_o2_0_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40094 InitReady3_0_a2_5( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre FWEr_fast( .D0(M1_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + inverter M1_INVERTERIN( .I(M1_dly), .Z(M1_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre FWEr( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40093 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40094 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h8000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_82 ( input D1, C1, B1, A1, D0, C0, B0, A0, M0, CLK, output F0, Q0, + F1 ); + wire VCCI, GNDI, M0_dly, CLK_dly; + + lut40095 CmdLEDEN_4_u_i_a2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40096 CmdSubmitted_1_sqmuxa_0_a2( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre CASr3( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), .CK(CLK_dly), + .LSR(GNDI), .Q(Q0)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40095 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0E0C) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40096 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h1030) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_83 ( input C1, B1, A1, D0, C0, A0, M1, M0, LSR, CLK, output F0, + Q0, F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40097 un1_nRCAS_6_sqmuxa_i_o2( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40098 Ready_0_sqmuxa_0_o2( .A(A0), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RBA[1] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RBA[0] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40097 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFEFE) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40098 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5FFF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_84 ( input D1, C1, B1, A1, D0, C0, B0, A0, output F0, F1 ); + + lut40099 UFMSDI_ens2_i_a2_4_2( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40100 un1_FS_13_i_a2_6( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40099 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0008) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40100 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0004) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_85 ( input D1, C1, B1, A1, D0, C0, B0, A0, M1, M0, CLK, output F0, + Q0, F1, Q1 ); + wire VCCI, GNDI, CLK_NOTIN, M1_dly, CLK_dly, M0_dly; + + lut40101 CmdEnable17_0_a2_3( .A(A1), .B(B1), .C(C1), .D(D1), .Z(F1)); + lut40102 un1_Din_4( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + vmuxregsre \WRD[3] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + gnd DRIVEGND( .PWR0(GNDI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + vmuxregsre \WRD[2] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(GNDI), .Q(Q0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + endspecify + +endmodule + +module lut40101 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0020) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40102 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0001) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_86 ( input C1, A1, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40103 RDQML( .A(A1), .B(GNDI), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40104 \un9_RA[9] ( .A(A0), .B(B0), .C(C0), .D(GNDI), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40103 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h5F5F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40104 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hE4E4) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_87 ( input D1, C1, B1, D0, C0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40105 UFMSDI_RNO_0( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40106 un1_FS_13_i_a2_8( .A(A0), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40105 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h00FC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40106 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0800) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_88 ( input C1, B1, A1, D0, C0, M1, M0, LSR, CLK, output F0, Q0, + F1, Q1 ); + wire GNDI, VCCI, CLK_NOTIN, LSR_NOTIN, M1_dly, CLK_dly, M0_dly, LSR_dly; + + lut40107 C1WR_0_a2_0_3( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40108 nCCAS_pad_RNI01SJ( .A(GNDI), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0007 \RowA[7] ( .D0(M1_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q1)); + vcc DRIVEVCC( .PWR1(VCCI)); + inverter CLK_INVERTERIN( .I(CLK_dly), .Z(CLK_NOTIN)); + inverter LSR_INVERTERIN( .I(LSR_dly), .Z(LSR_NOTIN)); + vmuxregsre0007 \RowA[6] ( .D0(M0_dly), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_NOTIN), .LSR(LSR_NOTIN), .Q(Q0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + (CLK => Q1) = (0:0:0,0:0:0); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + $setuphold (negedge CLK, M1, 0:0:0, 0:0:0,,,, CLK_dly, M1_dly); + $setuphold (negedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (negedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + endspecify + +endmodule + +module lut40107 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h0808) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40108 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hFFF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_89 ( input D1, C1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40109 RDQMH( .A(GNDI), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40110 \un9_RA[8] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40109 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF0FF) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40110 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF0CC) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_90 ( input C1, B1, A1, D0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40111 un1_CMDWR( .A(A1), .B(B1), .C(C1), .D(GNDI), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40112 \un9_RA[0] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + + specify + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40111 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hE0E0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40112 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hDD88) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_91 ( input D1, C1, B1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40113 \un9_RA[7] ( .A(GNDI), .B(B1), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40114 \un9_RA[1] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40113 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCCF0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40114 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hCFC0) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_92 ( input D1, C1, A1, D0, C0, B0, output F0, F1 ); + wire GNDI; + + lut40115 \un9_RA[6] ( .A(A1), .B(GNDI), .C(C1), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40113 \un9_RA[2] ( .A(GNDI), .B(B0), .C(C0), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module lut40115 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF0AA) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module SLICE_93 ( input D1, B1, A1, D0, B0, A0, output F0, F1 ); + wire GNDI; + + lut40041 \un9_RA[5] ( .A(A1), .B(B1), .C(GNDI), .D(D1), .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40041 \un9_RA[3] ( .A(A0), .B(B0), .C(GNDI), .D(D0), .Z(F0)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (B1 => F1) = (0:0:0,0:0:0); + (A1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (B0 => F0) = (0:0:0,0:0:0); + (A0 => F0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module SLICE_94 ( input D1, C1, D0, C0, M0, LSR, CLK, output F0, Q0, F1 ); + wire GNDI, M0_NOTIN, VCCI, M0_dly, CLK_dly, LSR_dly; + + lut40116 IS_0_sqmuxa_0_o2_0_RNIS63D( .A(GNDI), .B(GNDI), .C(C1), .D(D1), + .Z(F1)); + gnd DRIVEGND( .PWR0(GNDI)); + lut40117 RCKEEN_8_u_0_a2_1_s( .A(GNDI), .B(GNDI), .C(C0), .D(D0), .Z(F0)); + vmuxregsre0067 RA10( .D0(M0_NOTIN), .D1(VCCI), .SD(GNDI), .SP(VCCI), + .CK(CLK_dly), .LSR(LSR_dly), .Q(Q0)); + inverter M0_INVERTERIN( .I(M0_dly), .Z(M0_NOTIN)); + vcc DRIVEVCC( .PWR1(VCCI)); + + specify + (D1 => F1) = (0:0:0,0:0:0); + (C1 => F1) = (0:0:0,0:0:0); + (D0 => F0) = (0:0:0,0:0:0); + (C0 => F0) = (0:0:0,0:0:0); + (CLK => Q0) = (0:0:0,0:0:0); + $setuphold (posedge CLK, M0, 0:0:0, 0:0:0,,,, CLK_dly, M0_dly); + $setuphold (posedge CLK, LSR, 0:0:0, 0:0:0,,,, CLK_dly, LSR_dly); + $width (posedge CLK, 0:0:0); + $width (negedge CLK, 0:0:0); + endspecify + +endmodule + +module lut40116 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'h000F) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module lut40117 ( input A, B, C, D, output Z ); + + ROM16X1 #(16'hF000) INST10( .AD0(A), .AD1(B), .AD2(C), .AD3(D), .DO0(Z)); +endmodule + +module RD_0_ ( output PADDI, input PADDT, PADDO, inout RD0 ); + + mjiobuf \RD_pad[0] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD0), .PADI(RD0)); + + specify + (PADDT => RD0) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD0) = (0:0:0,0:0:0); + (RD0 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD0, 0:0:0); + $width (negedge RD0, 0:0:0); + endspecify + +endmodule + +module mjiobuf ( input I, T, output Z, PAD, input PADI ); + + IB INST1( .I(PADI), .O(Z)); + OBW INST2( .I(I), .T(T), .O(PAD)); +endmodule + +module Dout_0_ ( input PADDO, output Dout0 ); + + mjiobuf0118 \Dout_pad[0] ( .I(PADDO), .PAD(Dout0)); + + specify + (PADDO => Dout0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0118 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module PHI2 ( output PADDI, input PHI2 ); + + mjiobuf0119 PHI2_pad( .Z(PADDI), .PAD(PHI2)); + + specify + (PHI2 => PADDI) = (0:0:0,0:0:0); + $width (posedge PHI2, 0:0:0); + $width (negedge PHI2, 0:0:0); + endspecify + +endmodule + +module mjiobuf0119 ( output Z, input PAD ); + + IBPD INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDO ( output PADDI, input UFMSDO ); + + mjiobuf0120 UFMSDO_pad( .Z(PADDI), .PAD(UFMSDO)); + + specify + (UFMSDO => PADDI) = (0:0:0,0:0:0); + $width (posedge UFMSDO, 0:0:0); + $width (negedge UFMSDO, 0:0:0); + endspecify + +endmodule + +module mjiobuf0120 ( output Z, input PAD ); + + IB INST1( .I(PAD), .O(Z)); +endmodule + +module UFMSDI ( input PADDO, output UFMSDI ); + + mjiobuf0121 UFMSDI_pad( .I(PADDO), .PAD(UFMSDI)); + + specify + (PADDO => UFMSDI) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0121 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module UFMCLK ( input PADDO, output UFMCLK ); + + mjiobuf0121 UFMCLK_pad( .I(PADDO), .PAD(UFMCLK)); + + specify + (PADDO => UFMCLK) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nUFMCS ( input PADDO, output nUFMCS ); + + mjiobuf0121 nUFMCS_pad( .I(PADDO), .PAD(nUFMCS)); + + specify + (PADDO => nUFMCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQML ( input PADDO, output RDQML ); + + mjiobuf0121 RDQML_pad( .I(PADDO), .PAD(RDQML)); + + specify + (PADDO => RDQML) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RDQMH ( input PADDO, output RDQMH ); + + mjiobuf0121 RDQMH_pad( .I(PADDO), .PAD(RDQMH)); + + specify + (PADDO => RDQMH) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRCAS ( input PADDO, output nRCAS ); + + mjiobuf0121 nRCAS_pad( .I(PADDO), .PAD(nRCAS)); + + specify + (PADDO => nRCAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRRAS ( input PADDO, output nRRAS ); + + mjiobuf0121 nRRAS_pad( .I(PADDO), .PAD(nRRAS)); + + specify + (PADDO => nRRAS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module nRWE ( input PADDO, output nRWE ); + + mjiobuf0121 nRWE_pad( .I(PADDO), .PAD(nRWE)); + + specify + (PADDO => nRWE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCKE ( input PADDO, output RCKE ); + + mjiobuf0121 RCKE_pad( .I(PADDO), .PAD(RCKE)); + + specify + (PADDO => RCKE) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RCLK ( output PADDI, input RCLK ); + + mjiobuf0120 RCLK_pad( .Z(PADDI), .PAD(RCLK)); + + specify + (RCLK => PADDI) = (0:0:0,0:0:0); + $width (posedge RCLK, 0:0:0); + $width (negedge RCLK, 0:0:0); + endspecify + +endmodule + +module nRCS ( input PADDO, output nRCS ); + + mjiobuf0121 nRCS_pad( .I(PADDO), .PAD(nRCS)); + + specify + (PADDO => nRCS) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RD_7_ ( output PADDI, input PADDT, PADDO, inout RD7 ); + + mjiobuf \RD_pad[7] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD7), .PADI(RD7)); + + specify + (PADDT => RD7) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD7) = (0:0:0,0:0:0); + (RD7 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD7, 0:0:0); + $width (negedge RD7, 0:0:0); + endspecify + +endmodule + +module RD_6_ ( output PADDI, input PADDT, PADDO, inout RD6 ); + + mjiobuf \RD_pad[6] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD6), .PADI(RD6)); + + specify + (PADDT => RD6) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD6) = (0:0:0,0:0:0); + (RD6 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD6, 0:0:0); + $width (negedge RD6, 0:0:0); + endspecify + +endmodule + +module RD_5_ ( output PADDI, input PADDT, PADDO, inout RD5 ); + + mjiobuf \RD_pad[5] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD5), .PADI(RD5)); + + specify + (PADDT => RD5) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD5) = (0:0:0,0:0:0); + (RD5 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD5, 0:0:0); + $width (negedge RD5, 0:0:0); + endspecify + +endmodule + +module RD_4_ ( output PADDI, input PADDT, PADDO, inout RD4 ); + + mjiobuf \RD_pad[4] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD4), .PADI(RD4)); + + specify + (PADDT => RD4) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD4) = (0:0:0,0:0:0); + (RD4 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD4, 0:0:0); + $width (negedge RD4, 0:0:0); + endspecify + +endmodule + +module RD_3_ ( output PADDI, input PADDT, PADDO, inout RD3 ); + + mjiobuf \RD_pad[3] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD3), .PADI(RD3)); + + specify + (PADDT => RD3) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD3) = (0:0:0,0:0:0); + (RD3 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD3, 0:0:0); + $width (negedge RD3, 0:0:0); + endspecify + +endmodule + +module RD_2_ ( output PADDI, input PADDT, PADDO, inout RD2 ); + + mjiobuf \RD_pad[2] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD2), .PADI(RD2)); + + specify + (PADDT => RD2) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD2) = (0:0:0,0:0:0); + (RD2 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD2, 0:0:0); + $width (negedge RD2, 0:0:0); + endspecify + +endmodule + +module RD_1_ ( output PADDI, input PADDT, PADDO, inout RD1 ); + + mjiobuf \RD_pad[1] ( .I(PADDO), .T(PADDT), .Z(PADDI), .PAD(RD1), .PADI(RD1)); + + specify + (PADDT => RD1) = (0:0:0,0:0:0,0:0:0,0:0:0,0:0:0,0:0:0); + (PADDO => RD1) = (0:0:0,0:0:0); + (RD1 => PADDI) = (0:0:0,0:0:0); + $width (posedge RD1, 0:0:0); + $width (negedge RD1, 0:0:0); + endspecify + +endmodule + +module RA_11_ ( input PADDO, output RA11 ); + + mjiobuf0121 \RA_pad[11] ( .I(PADDO), .PAD(RA11)); + + specify + (PADDO => RA11) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_10_ ( input PADDO, output RA10 ); + + mjiobuf0121 \RA_pad[10] ( .I(PADDO), .PAD(RA10)); + + specify + (PADDO => RA10) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_9_ ( input PADDO, output RA9 ); + + mjiobuf0121 \RA_pad[9] ( .I(PADDO), .PAD(RA9)); + + specify + (PADDO => RA9) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_8_ ( input PADDO, output RA8 ); + + mjiobuf0121 \RA_pad[8] ( .I(PADDO), .PAD(RA8)); + + specify + (PADDO => RA8) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_7_ ( input PADDO, output RA7 ); + + mjiobuf0121 \RA_pad[7] ( .I(PADDO), .PAD(RA7)); + + specify + (PADDO => RA7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_6_ ( input PADDO, output RA6 ); + + mjiobuf0121 \RA_pad[6] ( .I(PADDO), .PAD(RA6)); + + specify + (PADDO => RA6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_5_ ( input PADDO, output RA5 ); + + mjiobuf0121 \RA_pad[5] ( .I(PADDO), .PAD(RA5)); + + specify + (PADDO => RA5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_4_ ( input PADDO, output RA4 ); + + mjiobuf0121 \RA_pad[4] ( .I(PADDO), .PAD(RA4)); + + specify + (PADDO => RA4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_3_ ( input PADDO, output RA3 ); + + mjiobuf0121 \RA_pad[3] ( .I(PADDO), .PAD(RA3)); + + specify + (PADDO => RA3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_2_ ( input PADDO, output RA2 ); + + mjiobuf0121 \RA_pad[2] ( .I(PADDO), .PAD(RA2)); + + specify + (PADDO => RA2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_1_ ( input PADDO, output RA1 ); + + mjiobuf0121 \RA_pad[1] ( .I(PADDO), .PAD(RA1)); + + specify + (PADDO => RA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RA_0_ ( input PADDO, output RA0 ); + + mjiobuf0121 \RA_pad[0] ( .I(PADDO), .PAD(RA0)); + + specify + (PADDO => RA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_1_ ( input PADDO, output RBA1 ); + + mjiobuf0121 \RBA_pad[1] ( .I(PADDO), .PAD(RBA1)); + + specify + (PADDO => RBA1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module RBA_0_ ( input PADDO, output RBA0 ); + + mjiobuf0121 \RBA_pad[0] ( .I(PADDO), .PAD(RBA0)); + + specify + (PADDO => RBA0) = (0:0:0,0:0:0); + endspecify + +endmodule + +module LED ( input PADDO, output LED ); + + mjiobuf0122 LED_pad( .I(PADDO), .PAD(LED)); + + specify + (PADDO => LED) = (0:0:0,0:0:0); + endspecify + +endmodule + +module mjiobuf0122 ( input I, output PAD ); + + OB INST5( .I(I), .O(PAD)); +endmodule + +module nFWE ( output PADDI, input nFWE ); + + mjiobuf0120 nFWE_pad( .Z(PADDI), .PAD(nFWE)); + + specify + (nFWE => PADDI) = (0:0:0,0:0:0); + $width (posedge nFWE, 0:0:0); + $width (negedge nFWE, 0:0:0); + endspecify + +endmodule + +module nCRAS ( output PADDI, input nCRAS ); + + mjiobuf0123 nCRAS_pad( .Z(PADDI), .PAD(nCRAS)); + + specify + (nCRAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCRAS, 0:0:0); + $width (negedge nCRAS, 0:0:0); + endspecify + +endmodule + +module mjiobuf0123 ( output Z, input PAD ); + + IBPU INST1( .I(PAD), .O(Z)); +endmodule + +module nCCAS ( output PADDI, input nCCAS ); + + mjiobuf0123 nCCAS_pad( .Z(PADDI), .PAD(nCCAS)); + + specify + (nCCAS => PADDI) = (0:0:0,0:0:0); + $width (posedge nCCAS, 0:0:0); + $width (negedge nCCAS, 0:0:0); + endspecify + +endmodule + +module Dout_7_ ( input PADDO, output Dout7 ); + + mjiobuf0118 \Dout_pad[7] ( .I(PADDO), .PAD(Dout7)); + + specify + (PADDO => Dout7) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_6_ ( input PADDO, output Dout6 ); + + mjiobuf0118 \Dout_pad[6] ( .I(PADDO), .PAD(Dout6)); + + specify + (PADDO => Dout6) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_5_ ( input PADDO, output Dout5 ); + + mjiobuf0118 \Dout_pad[5] ( .I(PADDO), .PAD(Dout5)); + + specify + (PADDO => Dout5) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_4_ ( input PADDO, output Dout4 ); + + mjiobuf0118 \Dout_pad[4] ( .I(PADDO), .PAD(Dout4)); + + specify + (PADDO => Dout4) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_3_ ( input PADDO, output Dout3 ); + + mjiobuf0118 \Dout_pad[3] ( .I(PADDO), .PAD(Dout3)); + + specify + (PADDO => Dout3) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_2_ ( input PADDO, output Dout2 ); + + mjiobuf0118 \Dout_pad[2] ( .I(PADDO), .PAD(Dout2)); + + specify + (PADDO => Dout2) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Dout_1_ ( input PADDO, output Dout1 ); + + mjiobuf0118 \Dout_pad[1] ( .I(PADDO), .PAD(Dout1)); + + specify + (PADDO => Dout1) = (0:0:0,0:0:0); + endspecify + +endmodule + +module Din_7_ ( output PADDI, input Din7 ); + + mjiobuf0120 \Din_pad[7] ( .Z(PADDI), .PAD(Din7)); + + specify + (Din7 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din7, 0:0:0); + $width (negedge Din7, 0:0:0); + endspecify + +endmodule + +module Din_6_ ( output PADDI, input Din6 ); + + mjiobuf0120 \Din_pad[6] ( .Z(PADDI), .PAD(Din6)); + + specify + (Din6 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din6, 0:0:0); + $width (negedge Din6, 0:0:0); + endspecify + +endmodule + +module Din_5_ ( output PADDI, input Din5 ); + + mjiobuf0120 \Din_pad[5] ( .Z(PADDI), .PAD(Din5)); + + specify + (Din5 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din5, 0:0:0); + $width (negedge Din5, 0:0:0); + endspecify + +endmodule + +module Din_4_ ( output PADDI, input Din4 ); + + mjiobuf0120 \Din_pad[4] ( .Z(PADDI), .PAD(Din4)); + + specify + (Din4 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din4, 0:0:0); + $width (negedge Din4, 0:0:0); + endspecify + +endmodule + +module Din_3_ ( output PADDI, input Din3 ); + + mjiobuf0120 \Din_pad[3] ( .Z(PADDI), .PAD(Din3)); + + specify + (Din3 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din3, 0:0:0); + $width (negedge Din3, 0:0:0); + endspecify + +endmodule + +module Din_2_ ( output PADDI, input Din2 ); + + mjiobuf0120 \Din_pad[2] ( .Z(PADDI), .PAD(Din2)); + + specify + (Din2 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din2, 0:0:0); + $width (negedge Din2, 0:0:0); + endspecify + +endmodule + +module Din_1_ ( output PADDI, input Din1 ); + + mjiobuf0120 \Din_pad[1] ( .Z(PADDI), .PAD(Din1)); + + specify + (Din1 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din1, 0:0:0); + $width (negedge Din1, 0:0:0); + endspecify + +endmodule + +module Din_0_ ( output PADDI, input Din0 ); + + mjiobuf0120 \Din_pad[0] ( .Z(PADDI), .PAD(Din0)); + + specify + (Din0 => PADDI) = (0:0:0,0:0:0); + $width (posedge Din0, 0:0:0); + $width (negedge Din0, 0:0:0); + endspecify + +endmodule + +module CROW_1_ ( output PADDI, input CROW1 ); + + mjiobuf0120 \CROW_pad[1] ( .Z(PADDI), .PAD(CROW1)); + + specify + (CROW1 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW1, 0:0:0); + $width (negedge CROW1, 0:0:0); + endspecify + +endmodule + +module CROW_0_ ( output PADDI, input CROW0 ); + + mjiobuf0120 \CROW_pad[0] ( .Z(PADDI), .PAD(CROW0)); + + specify + (CROW0 => PADDI) = (0:0:0,0:0:0); + $width (posedge CROW0, 0:0:0); + $width (negedge CROW0, 0:0:0); + endspecify + +endmodule + +module MAin_9_ ( output PADDI, input MAin9 ); + + mjiobuf0120 \MAin_pad[9] ( .Z(PADDI), .PAD(MAin9)); + + specify + (MAin9 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin9, 0:0:0); + $width (negedge MAin9, 0:0:0); + endspecify + +endmodule + +module MAin_8_ ( output PADDI, input MAin8 ); + + mjiobuf0120 \MAin_pad[8] ( .Z(PADDI), .PAD(MAin8)); + + specify + (MAin8 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin8, 0:0:0); + $width (negedge MAin8, 0:0:0); + endspecify + +endmodule + +module MAin_7_ ( output PADDI, input MAin7 ); + + mjiobuf0120 \MAin_pad[7] ( .Z(PADDI), .PAD(MAin7)); + + specify + (MAin7 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin7, 0:0:0); + $width (negedge MAin7, 0:0:0); + endspecify + +endmodule + +module MAin_6_ ( output PADDI, input MAin6 ); + + mjiobuf0120 \MAin_pad[6] ( .Z(PADDI), .PAD(MAin6)); + + specify + (MAin6 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin6, 0:0:0); + $width (negedge MAin6, 0:0:0); + endspecify + +endmodule + +module MAin_5_ ( output PADDI, input MAin5 ); + + mjiobuf0120 \MAin_pad[5] ( .Z(PADDI), .PAD(MAin5)); + + specify + (MAin5 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin5, 0:0:0); + $width (negedge MAin5, 0:0:0); + endspecify + +endmodule + +module MAin_4_ ( output PADDI, input MAin4 ); + + mjiobuf0120 \MAin_pad[4] ( .Z(PADDI), .PAD(MAin4)); + + specify + (MAin4 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin4, 0:0:0); + $width (negedge MAin4, 0:0:0); + endspecify + +endmodule + +module MAin_3_ ( output PADDI, input MAin3 ); + + mjiobuf0120 \MAin_pad[3] ( .Z(PADDI), .PAD(MAin3)); + + specify + (MAin3 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin3, 0:0:0); + $width (negedge MAin3, 0:0:0); + endspecify + +endmodule + +module MAin_2_ ( output PADDI, input MAin2 ); + + mjiobuf0120 \MAin_pad[2] ( .Z(PADDI), .PAD(MAin2)); + + specify + (MAin2 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin2, 0:0:0); + $width (negedge MAin2, 0:0:0); + endspecify + +endmodule + +module MAin_1_ ( output PADDI, input MAin1 ); + + mjiobuf0120 \MAin_pad[1] ( .Z(PADDI), .PAD(MAin1)); + + specify + (MAin1 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin1, 0:0:0); + $width (negedge MAin1, 0:0:0); + endspecify + +endmodule + +module MAin_0_ ( output PADDI, input MAin0 ); + + mjiobuf0120 \MAin_pad[0] ( .Z(PADDI), .PAD(MAin0)); + + specify + (MAin0 => PADDI) = (0:0:0,0:0:0); + $width (posedge MAin0, 0:0:0); + $width (negedge MAin0, 0:0:0); + endspecify + +endmodule diff --git a/CPLD/LCMXO640C/impl1/automake.log b/CPLD/LCMXO640C/impl1/automake.log index d170583..8d00265 100644 --- a/CPLD/LCMXO640C/impl1/automake.log +++ b/CPLD/LCMXO640C/impl1/automake.log @@ -1,2312 +1,490 @@ -synpwrap -msg -prj "RAM2GS_LCMXO640C_impl1_synplify.tcl" -log "RAM2GS_LCMXO640C_impl1.srf" -Copyright (C) 1992-2020 Lattice Semiconductor Corporation. All rights reserved. -Lattice Diamond Version 3.12.1.454 - - -==contents of RAM2GS_LCMXO640C_impl1.srf -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021 -#install: C:\lscc\diamond\3.12\synpbase -#OS: Windows 8 6.2 -#Hostname: ZANEPC - -# Wed Aug 16 04:50:37 2023 - -#Implementation: impl1 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:39 2023 - -###########################################################] -# Wed Aug 16 04:50:39 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:41 2023 - -###########################################################] -# Wed Aug 16 04:50:41 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:02s -2.99ns 128 / 92 - - - 8 0h:00m:02s -2.99ns 127 / 92 - 9 0h:00m:02s -3.09ns 127 / 92 - 10 0h:00m:02s -3.19ns 127 / 92 - 11 0h:00m:02s -3.19ns 127 / 92 - 12 0h:00m:02s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 143MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:45 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo640c-3 - -Register bits: 92 of 640 (14%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:04s realtime, 0h:00m:04s cputime -# Wed Aug 16 04:50:45 2023 - -###########################################################] - - -Synthesis exit by 0. - -edif2ngd -l "MachXO" -d LCMXO640C -path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1" -path "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi" "RAM2GS_LCMXO640C_impl1.ngo" -edif2ngd: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Writing the design to RAM2GS_LCMXO640C_impl1.ngo... - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 11 MB - - -ngdbuild -a "MachXO" -d LCMXO640C -p "C:/lscc/diamond/3.12/ispfpga/mj5g00/data" -p "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1" -p "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C" "RAM2GS_LCMXO640C_impl1.ngo" "RAM2GS_LCMXO640C_impl1.ngd" -ngdbuild: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Reading 'RAM2GS_LCMXO640C_impl1.ngo' ... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/mj5g00/data/mj5glib.ngl'... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/mg5g00/data/mg5glib.ngl'... -Loading NGL library 'C:/lscc/diamond/3.12/ispfpga/or5g00/data/orc5glib.ngl'... - - -Running DRC... - - - - - - - - - - - - - -Design Results: - 300 blocks expanded -Complete the first expansion. -Writing 'RAM2GS_LCMXO640C_impl1.ngd' ... -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 18 MB - - -map -a "MachXO" -p LCMXO640C -t TQFP100 -s 3 -oc Commercial -ioreg b "RAM2GS_LCMXO640C_impl1.ngd" -o "RAM2GS_LCMXO640C_impl1_map.ncd" -pr "RAM2GS_LCMXO640C_impl1.prf" -mp "RAM2GS_LCMXO640C_impl1.mrp" -lpf "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1_synplify.lpf" -lpf "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/RAM2GS_LCMXO640C.lpf" -c 0 -map: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - Process the file: RAM2GS_LCMXO640C_impl1.ngd - Picdevice="LCMXO640C" - - Pictype="TQFP100" - - Picspeed=3 - - Remove unused logic - - Do not produce over sized NCDs. - -Part used: LCMXO640CTQFP100, Performance used: 3. - -Loading device for application map from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Running general design DRC... - -Removing unused logic... - -Optimizing... - - - - -Design Summary: - Number of PFU registers: 92 out of 640 (14%) - Number of SLICEs: 69 out of 320 (22%) - SLICEs as Logic/ROM: 69 out of 320 (22%) - SLICEs as RAM: 0 out of 192 (0%) - SLICEs as Carry: 9 out of 320 (3%) - Number of LUT4s: 137 out of 640 (21%) - Number used as logic LUTs: 119 - Number used as distributed RAM: 0 - Number used as ripple logic: 18 - Number used as shift registers: 0 - Number of external PIOs: 67 out of 74 (91%) - Number of GSRs: 0 out of 1 (0%) - JTAG used : No - Readback used : No - Oscillator used : No - Startup used : No - Number of TSALL: 0 out of 1 (0%) - Notes:- - 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of distributed RAMs) + 2*(Number of ripple logic) - 2. Number of logic LUT4s does not include count of distributed RAM and ripple logic. - Number of clocks: 4 - Net PHI2_c: 14 loads, 5 rising, 9 falling (Driver: PIO PHI2 ) - Net RCLK_c: 32 loads, 32 rising, 0 falling (Driver: PIO RCLK ) - Net nCRAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 5 - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_31: 1 loads, 1 LSLICEs - Net N_33: 1 loads, 1 LSLICEs - Net N_159_i: 2 loads, 2 LSLICEs - Net CmdUFMCLK_1_sqmuxa: 2 loads, 2 LSLICEs - Number of LSRs: 4 - Net RA10s_i: 1 loads, 1 LSLICEs - Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs - Net RASr2: 2 loads, 2 LSLICEs - Net Ready_fast: 7 loads, 7 LSLICEs - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 16 loads - Net Ready: 16 loads - Net S[1]: 13 loads - Net CO0: 12 loads - Net nRowColSel: 12 loads - Net RASr2: 11 loads - Net Din_c[5]: 10 loads - Net Din_c[3]: 9 loads - Net IS[0]: 9 loads - Net MAin_c[1]: 8 loads - - - Number of warnings: 0 - Number of errors: 0 - - - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 30 MB - -Dumping design to file RAM2GS_LCMXO640C_impl1_map.ncd. - -ncd2eqn "RAM2GS_LCMXO640C_impl1_map.ncd" -ncd2eqn: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Start loading RAM2GS_LCMXO640C_impl1_map.ncd. - -Loading design for application ncd2eqn from file RAM2GS_LCMXO640C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application ncd2eqn from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Finish loading RAM2GS_LCMXO640C_impl1_map.ncd. -ncd2eqn runs successfully. - -trce -f "RAM2GS_LCMXO640C_impl1.mt" -o "RAM2GS_LCMXO640C_impl1.tw1" "RAM2GS_LCMXO640C_impl1_map.ncd" "RAM2GS_LCMXO640C_impl1.prf" -trce: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Loading design for application trce from file ram2gs_lcmxo640c_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application trce from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Setup and Hold Report - --------------------------------------------------------------------------------- -Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:47 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1_map.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,3 -Report level: verbose report, limited to 1 item per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Setup): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) - --------------------------------------------------------------------------------- -Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:47 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 1 -gt -mapchkpnt 0 -sethld -o RAM2GS_LCMXO640C_impl1.tw1 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1_map.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,M -Report level: verbose report, limited to 1 item per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Hold): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 395 connections (62.40% coverage) - - - -Timing summary (Setup and Hold): ---------------- - -Timing errors: 0 (setup), 0 (hold) -Score: 0 (setup), 0 (hold) -Cumulative negative slack: 0 (0+0) --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 32 MB - - -ldbanno "RAM2GS_LCMXO640C_impl1_map.ncd" -n Verilog -o "RAM2GS_LCMXO640C_impl1_mapvo.vo" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a Verilog netlist using the orca library type based on the RAM2GS_LCMXO640C_impl1_map design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO640C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO640C_impl1_map.ncd into .ldb format. -Writing Verilog netlist to file RAM2GS_LCMXO640C_impl1_mapvo.vo -Writing SDF timing to file RAM2GS_LCMXO640C_impl1_mapvo.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 30 MB - -ldbanno "RAM2GS_LCMXO640C_impl1_map.ncd" -n VHDL -o "RAM2GS_LCMXO640C_impl1_mapvho.vho" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a VHDL netlist using the orca library type based on the RAM2GS_LCMXO640C_impl1_map design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO640C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO640C_impl1_map.ncd into .ldb format. -Writing VHDL netlist to file RAM2GS_LCMXO640C_impl1_mapvho.vho -Writing SDF timing to file RAM2GS_LCMXO640C_impl1_mapvho.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 30 MB - -mpartrce -p "RAM2GS_LCMXO640C_impl1.p2t" -f "RAM2GS_LCMXO640C_impl1.p3t" -tf "RAM2GS_LCMXO640C_impl1.pt" "RAM2GS_LCMXO640C_impl1_map.ncd" "RAM2GS_LCMXO640C_impl1.ncd" - ----- MParTrce Tool ---- -Removing old design directory at request of -rem command line option to this program. -Running par. Please wait . . . - -Lattice Place and Route Report for Design "RAM2GS_LCMXO640C_impl1_map.ncd" -Wed Aug 16 04:50:48 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO640C_impl1_map.ncd RAM2GS_LCMXO640C_impl1.dir/5_1.ncd RAM2GS_LCMXO640C_impl1.prf -Preference file: RAM2GS_LCMXO640C_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file RAM2GS_LCMXO640C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application par from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 67/159 42% used - 67/74 90% bonded - SLICE 69/320 21% used - - - -Number of Signals: 251 -Number of Connections: 633 - -Pin Constraint Summary: - 67 out of 67 pins locked (100% locked). - -The following 2 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 32) - PHI2_c (driver: PHI2, clk load #: 14) - -The following 1 signal is selected to use the secondary clock routing resources: - nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) - -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -......... -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -............. -Placer score = 956294. -Finished Placer Phase 1. REAL time: 4 secs - -Starting Placer Phase 2. -. -Placer score = 953137 -Finished Placer Phase 2. REAL time: 4 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 1 out of 4 (25%) - General PIO: 1 out of 160 (0%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT5B)", clk load = 32 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB6C)", clk load = 14 - SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB8B)", clk load = 8, ce load = 0, sr load = 0 - - PRIMARY : 2 out of 4 (50%) - SECONDARY: 1 out of 4 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 67 out of 159 (42.1%) PIO sites used. - 67 out of 74 (90.5%) bonded PIO sites used. - Number of PIO comps: 67; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+------------+------------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | -+----------+----------------+------------+------------+------------+ -| 0 | 18 / 18 (100%) | 3.3V | - | - | -| 1 | 18 / 21 ( 85%) | 3.3V | - | - | -| 2 | 13 / 14 ( 92%) | - | - | - | -| 3 | 18 / 21 ( 85%) | 3.3V | - | - | -+----------+----------------+------------+------------+------------+ - -Total placer CPU time: 3 secs - -Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. - -0 connections routed; 633 unrouted. -Starting router resource preassignment - - - - - -Completed router resource preassignment. Real time: 4 secs - -Start NBR router at 04:50:52 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 04:50:52 08/16/23 - -Start NBR section for initial routing at 04:50:52 08/16/23 -Level 1, iteration 1 -1(0.00%) conflict; 548(86.57%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.325ns/0.000ns; real time: 4 secs -Level 2, iteration 1 -1(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.532ns/0.000ns; real time: 4 secs -Level 3, iteration 1 -0(0.00%) conflict; 542(85.62%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.449ns/0.000ns; real time: 4 secs -Level 4, iteration 1 -8(0.03%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 04:50:52 08/16/23 -Level 4, iteration 1 -5(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs -Level 4, iteration 2 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs -Level 4, iteration 3 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:52 08/16/23 - -Start NBR section for re-routing at 04:50:52 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 7.336ns/0.000ns; real time: 4 secs - -Start NBR section for post-routing at 04:50:52 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 7.336ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - - - -Total CPU time 4 secs -Total REAL time: 4 secs -Completely routed. -End of route. 633 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file RAM2GS_LCMXO640C_impl1.dir/5_1.ncd. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 7.336 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.273 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 4 secs -Total REAL time to completion: 4 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Exiting par with exit code 0 -Exiting mpartrce with exit code 0 - -trce -f "RAM2GS_LCMXO640C_impl1.pt" -o "RAM2GS_LCMXO640C_impl1.twr" "RAM2GS_LCMXO640C_impl1.ncd" "RAM2GS_LCMXO640C_impl1.prf" -trce: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Loading design for application trce from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application trce from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Setup and Hold Report - --------------------------------------------------------------------------------- -Lattice TRACE Report - Setup, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:53 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,3 -Report level: verbose report, limited to 10 items per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Setup): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) - --------------------------------------------------------------------------------- -Lattice TRACE Report - Hold, Version Diamond (64-bit) 3.12.1.454 -Wed Aug 16 04:50:53 2023 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Report Information ------------------- -Command line: trce -v 10 -gt -sethld -sp 3 -sphld m -o RAM2GS_LCMXO640C_impl1.twr -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf -Design file: ram2gs_lcmxo640c_impl1.ncd -Preference file: ram2gs_lcmxo640c_impl1.prf -Device,speed: LCMXO640C,m -Report level: verbose report, limited to 10 items per preference --------------------------------------------------------------------------------- - -BLOCK ASYNCPATHS -BLOCK RESETPATHS --------------------------------------------------------------------------------- - - - -Timing summary (Hold): ---------------- - -Timing errors: 0 Score: 0 -Cumulative negative slack: 0 - -Constraints cover 517 paths, 4 nets, and 421 connections (66.51% coverage) - - - -Timing summary (Setup and Hold): ---------------- - -Timing errors: 0 (setup), 0 (hold) -Score: 0 (setup), 0 (hold) -Cumulative negative slack: 0 (0+0) --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 32 MB - - -iotiming "RAM2GS_LCMXO640C_impl1.ncd" "RAM2GS_LCMXO640C_impl1.prf" -I/O Timing Report: -: version Diamond (64-bit) 3.12.1.454 - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application iotiming from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: 3 -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... - -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 4 -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: 4 -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... - -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 5 -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: 5 -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... - -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: M -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Running Performance Grade: M -Computing Setup Time ... -Computing Max Clock to Output Delay ... -Computing Hold Time ... -Computing Min Clock to Output Delay ... -Done. - ibisgen "RAM2GS_LCMXO640C_impl1.pad" "C:/lscc/diamond/3.12/cae_library/ibis/machxo.ibs" -IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 - -Wed Aug 16 04:50:53 2023 - -Comp: CROW[0] - Site: 32 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: CROW[1] - Site: 34 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[0] - Site: 21 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[1] - Site: 15 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[2] - Site: 14 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[3] - Site: 16 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[4] - Site: 18 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[5] - Site: 17 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[6] - Site: 20 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Din[7] - Site: 19 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: Dout[0] - Site: 1 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[1] - Site: 7 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[2] - Site: 8 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[3] - Site: 6 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[4] - Site: 4 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[5] - Site: 5 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[6] - Site: 2 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: Dout[7] - Site: 3 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=FAST ------------------------ -Comp: LED - Site: 57 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=14mA - SLEW=SLOW ------------------------ -Comp: MAin[0] - Site: 23 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[1] - Site: 38 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[2] - Site: 37 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[3] - Site: 47 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[4] - Site: 46 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[5] - Site: 45 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[6] - Site: 49 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[7] - Site: 44 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[8] - Site: 50 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: MAin[9] - Site: 51 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: PHI2 - Site: 39 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=DOWN ------------------------ -Comp: RA[0] - Site: 98 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[10] - Site: 87 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[11] - Site: 79 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[1] - Site: 89 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[2] - Site: 94 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[3] - Site: 97 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[4] - Site: 99 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[5] - Site: 95 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[6] - Site: 91 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[7] - Site: 100 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[8] - Site: 96 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RA[9] - Site: 85 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RBA[0] - Site: 63 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RBA[1] - Site: 83 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RCKE - Site: 82 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RCLK - Site: 86 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: RDQMH - Site: 76 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RDQML - Site: 61 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: RD[0] - Site: 64 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[1] - Site: 65 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[2] - Site: 66 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[3] - Site: 67 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[4] - Site: 68 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[5] - Site: 69 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[6] - Site: 70 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: RD[7] - Site: 71 - Type: BIDI - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW - PULL=KEEPER ------------------------ -Comp: UFMCLK - Site: 58 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: UFMSDI - Site: 56 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: UFMSDO - Site: 55 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: nCCAS - Site: 27 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=UP ------------------------ -Comp: nCRAS - Site: 43 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=UP ------------------------ -Comp: nFWE - Site: 22 - Type: IN - IO_TYPE=LVCMOS33 - SLEW=FAST - PULL=KEEPER ------------------------ -Comp: nRCAS - Site: 78 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nRCS - Site: 77 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nRRAS - Site: 73 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nRWE - Site: 72 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Comp: nUFMCS - Site: 53 - Type: OUT - IO_TYPE=LVCMOS33 - DRIVE=4mA - SLEW=SLOW ------------------------ -Created design models. - - -Generating: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\IBIS\RAM2GS_LCMXO640C_im~.ibs - - - - -ldbanno "RAM2GS_LCMXO640C_impl1.ncd" -n Verilog -o "RAM2GS_LCMXO640C_impl1_vo.vo" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a Verilog netlist using the orca library type based on the RAM2GS_LCMXO640C_impl1 design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO640C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO640C_impl1.ncd into .ldb format. -Loading preferences from ram2gs_lcmxo640c_impl1.prf. -Writing Verilog netlist to file RAM2GS_LCMXO640C_impl1_vo.vo -Writing SDF timing to file RAM2GS_LCMXO640C_impl1_vo.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 32 MB - -ldbanno "RAM2GS_LCMXO640C_impl1.ncd" -n VHDL -o "RAM2GS_LCMXO640C_impl1_vho.vho" -w -neg -ldbanno: version Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - -Writing a VHDL netlist using the orca library type based on the RAM2GS_LCMXO640C_impl1 design file. - - -Loading design for application ldbanno from file RAM2GS_LCMXO640C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application ldbanno from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Converting design RAM2GS_LCMXO640C_impl1.ncd into .ldb format. -Loading preferences from ram2gs_lcmxo640c_impl1.prf. -Writing VHDL netlist to file RAM2GS_LCMXO640C_impl1_vho.vho -Writing SDF timing to file RAM2GS_LCMXO640C_impl1_vho.sdf - -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 32 MB - -tmcheck -par "RAM2GS_LCMXO640C_impl1.par" - -bitgen -w "RAM2GS_LCMXO640C_impl1.ncd" -f "RAM2GS_LCMXO640C_impl1.t2b" "RAM2GS_LCMXO640C_impl1.prf" - - -BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. - - -Loading design for application Bitgen from file RAM2GS_LCMXO640C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 3 -Loading device for application Bitgen from file 'mj5g12x10.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. - -Running DRC. -DRC detected 0 errors and 0 warnings. -Reading Preference File from RAM2GS_LCMXO640C_impl1.prf. - -Preference Summary: -+---------------------------------+---------------------------------+ -| Preference | Current Setting | -+---------------------------------+---------------------------------+ -| CONFIG_SECURE | OFF** | -+---------------------------------+---------------------------------+ -| INBUF | ON** | -+---------------------------------+---------------------------------+ -| ES | No** | -+---------------------------------+---------------------------------+ - * Default setting. - ** The specified setting matches the default setting. - - -Creating bit map... -Saving bit stream in "RAM2GS_LCMXO640C_impl1.bit". -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 46 MB - -ddtcmd -dev LCMXO640C-XXT100 -if "RAM2GS_LCMXO640C_impl1.bit" -oft -jed -of "RAM2GS_LCMXO640C_impl1.jed" -comment "RAM2GS_LCMXO640C_impl1.alt" -Lattice Diamond Deployment Tool 3.12 Command Line - -Loading Programmer Device Database... - -Generating JED..... -Device Name: LCMXO640C-XXT100 -Reading Input File: RAM2GS_LCMXO640C_impl1.bit -Output File: RAM2GS_LCMXO640C_impl1.jed -Comment file RAM2GS_LCMXO640C_impl1.alt. -Generating JEDEC..... -File RAM2GS_LCMXO640C_impl1.jed generated successfully. -Lattice Diamond Deployment Tool has exited successfully. - +IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 + +Sun Aug 20 05:55:52 2023 + +Comp: CROW[0] + Site: 32 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: CROW[1] + Site: 34 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[0] + Site: 21 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[1] + Site: 15 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[2] + Site: 14 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[3] + Site: 16 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[4] + Site: 18 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[5] + Site: 17 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[6] + Site: 20 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Din[7] + Site: 19 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: Dout[0] + Site: 1 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[1] + Site: 7 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[2] + Site: 8 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[3] + Site: 6 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[4] + Site: 4 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[5] + Site: 5 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[6] + Site: 2 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: Dout[7] + Site: 3 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=FAST +----------------------- +Comp: LED + Site: 57 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=14mA + SLEW=SLOW +----------------------- +Comp: MAin[0] + Site: 23 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[1] + Site: 38 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[2] + Site: 37 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[3] + Site: 47 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[4] + Site: 46 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[5] + Site: 45 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[6] + Site: 49 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[7] + Site: 44 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[8] + Site: 50 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: MAin[9] + Site: 51 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: PHI2 + Site: 39 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=DOWN +----------------------- +Comp: RA[0] + Site: 98 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[10] + Site: 87 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[11] + Site: 79 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[1] + Site: 89 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[2] + Site: 94 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[3] + Site: 97 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[4] + Site: 99 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[5] + Site: 95 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[6] + Site: 91 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[7] + Site: 100 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[8] + Site: 96 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RA[9] + Site: 85 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RBA[0] + Site: 63 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RBA[1] + Site: 83 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RCKE + Site: 82 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RCLK + Site: 86 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: RDQMH + Site: 76 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RDQML + Site: 61 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: RD[0] + Site: 64 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[1] + Site: 65 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[2] + Site: 66 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[3] + Site: 67 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[4] + Site: 68 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[5] + Site: 69 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[6] + Site: 70 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: RD[7] + Site: 71 + Type: BIDI + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW + PULL=KEEPER +----------------------- +Comp: UFMCLK + Site: 58 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: UFMSDI + Site: 56 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: UFMSDO + Site: 55 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: nCCAS + Site: 27 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=UP +----------------------- +Comp: nCRAS + Site: 43 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=UP +----------------------- +Comp: nFWE + Site: 22 + Type: IN + IO_TYPE=LVCMOS33 + SLEW=FAST + PULL=KEEPER +----------------------- +Comp: nRCAS + Site: 78 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nRCS + Site: 77 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nRRAS + Site: 73 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nRWE + Site: 72 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Comp: nUFMCS + Site: 53 + Type: OUT + IO_TYPE=LVCMOS33 + DRIVE=4mA + SLEW=SLOW +----------------------- +Created design models. + + +Generating: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\IBIS\RAM2GS_LCMXO640C_im~.ibs + + + diff --git a/CPLD/LCMXO640C/impl1/dm/layer0.xdm b/CPLD/LCMXO640C/impl1/dm/layer0.xdm index 80ddd36..36c7233 100644 --- a/CPLD/LCMXO640C/impl1/dm/layer0.xdm +++ b/CPLD/LCMXO640C/impl1/dm/layer0.xdm @@ -1,32 +1,32 @@ -%%% protect protected_file -@EG -- -]17p0Osk0CksRsPC#MHF=3"4j -"> -!S<-1-RFOksCHRVDRC#O0FMskHL0oHMRR0F0REC8HC#o-MR-S> -S -SS1S -SF<1kCsOR"b=BD:\#\OO8lHNF\M8d.34\M#$b#LNCH\DLD\PFEo\$sbCl#F83RP"N.=""=RD"sPCHoDF"DROH=#0""-4RHbD#"0=-/4">S -S"/ -S1S -SF<1kCsOR"b=7m:\MsC7H\PC7kFOl0CM#H\t0L]k\v)q.\t1B7up\v)q.-t113uQPN"R=""nR"D=PHCsD"FoRHOD#"0=-R4"b#DH0-="4>"/ -/S<1sFkO>C# -< -S!R--vkF8DsCRFRF0- -->SF<)FM0R=F"Is) 3qtv.1C3PsFHDo>"/ -< -S!R--vkF8D7CRCMVHHF0HM-R->< -S7RCVMI="F3s ).qvtP13CDsHFRo"DP="CDsHF>o" -SqS"/ - - - - -/S<7>CV -]sC - -@ +%%% protect protected_file +@EG +- +]17p0Osk0CksRsPC#MHF=3"4j +"> +!S<-1-RFOksCHRVDRC#O0FMskHL0oHMRR0F0REC8HC#o-MR-S> +S +SS1S +SF<1kCsOR"b=BD:\#\OO8lHNF\M8d.34\M#$b#LNCH\DLD\PFEo\$sbCl#F83RP"N.=""=RD"sPCHoDF"DROH=#0""-4RHbD#"0=-/4">S +S"/ +S1S +SF<1kCsOR"b=Y):\C#bF\v)q.\t1B7up\v)q.-t113uQPN"R=""nR"D=PHCsD"FoRHOD#"0=-R4"b#DH0-="4>"/ +/S<1sFkO>C# +< +S!R--vkF8DsCRFRF0- +->SF<)FM0R=F"Is) 3qtv.1C3PsFHDo>"/ +< +S!R--vkF8D7CRCMVHHF0HM-R->< +S7RCVMI="F3s ).qvtP13CDsHFRo"DP="CDsHF>o" +SqS"/ + + + + +/S<7>CV +]sC + +@ diff --git a/CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html b/CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html index 8e04933..c7f4530 100644 --- a/CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html +++ b/CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html @@ -1,9 +1,9 @@ -

    Setting log file to 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html'.
    +         	                                   	                                                	                                                 	                                                  	
    Setting log file to 'Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/hdla_gen_hierarchy.html'.
     Starting: parse design source files
     (VERI-1482) Analyzing Verilog file 'C:/lscc/diamond/3.12/ispfpga/userware/NT/SYNTHESIS_HEADERS/machxo.v'
    -(VERI-1482) Analyzing Verilog file 'D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v(1,8-1,14) (VERI-1018) compiling module 'RAM2GS'
    -INFO - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v(1,1-411,10) (VERI-9000) elaborating module 'RAM2GS'
    +(VERI-1482) Analyzing Verilog file 'Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v'
    +INFO - Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v(1,8-1,14) (VERI-1018) compiling module 'RAM2GS'
    +INFO - Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v(1,1-410,10) (VERI-9000) elaborating module 'RAM2GS'
     Done: design load finished with (0) errors, and (0) warnings
     
     
    \ No newline at end of file diff --git a/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1.ior b/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1.ior index c915f30..a6882de 100644 --- a/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1.ior +++ b/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1.ior @@ -1,138 +1,138 @@ -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 4 -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: 5 -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO640C -Package: TQFP100 -Performance: M -Package Status: Final Version 1.17. -Performance Hardware Data Status: Version 1.124. -// Design: RAM2GS -// Package: TQFP100 -// ncd File: ram2gs_lcmxo640c_impl1.ncd -// Version: Diamond (64-bit) 3.12.1.454 -// Written on Wed Aug 16 04:50:53 2023 -// M: Minimum Performance Grade -// iotiming RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/promote.xml - -I/O Timing Report (All units are in ns) - -Worst Case Results across Performance Grades (M, 5, 4, 3): - -// Input Setup and Hold Times - -Port Clock Edge Setup Performance_Grade Hold Performance_Grade ----------------------------------------------------------------------- -CROW[0] nCRAS F -0.012 M 2.299 3 -CROW[1] nCRAS F -0.094 M 2.568 3 -Din[0] PHI2 F 5.117 3 2.324 3 -Din[0] nCCAS F 1.863 3 -0.129 M -Din[1] PHI2 F 4.727 3 3.095 3 -Din[1] nCCAS F 0.973 3 0.261 3 -Din[2] PHI2 F 4.040 3 2.270 3 -Din[2] nCCAS F 1.372 3 -0.027 M -Din[3] PHI2 F 4.809 3 1.454 3 -Din[3] nCCAS F 0.916 3 0.298 3 -Din[4] PHI2 F 6.041 3 2.279 3 -Din[4] nCCAS F 1.531 3 -0.100 M -Din[5] PHI2 F 5.903 3 2.260 3 -Din[5] nCCAS F 2.338 3 -0.268 M -Din[6] PHI2 F 6.028 3 1.422 3 -Din[6] nCCAS F 1.099 3 0.266 3 -Din[7] PHI2 F 6.673 3 2.385 3 -Din[7] nCCAS F 0.940 3 0.417 3 -MAin[0] PHI2 F 4.543 3 0.820 3 -MAin[0] nCRAS F -0.219 M 3.000 3 -MAin[1] PHI2 F 4.179 3 1.515 3 -MAin[1] nCRAS F -0.122 M 2.681 3 -MAin[2] PHI2 F 9.178 3 -0.474 M -MAin[2] nCRAS F -0.219 M 3.000 3 -MAin[3] PHI2 F 9.642 3 -0.572 M -MAin[3] nCRAS F -0.200 M 2.949 3 -MAin[4] PHI2 F 9.311 3 -0.515 M -MAin[4] nCRAS F 0.454 3 1.905 3 -MAin[5] PHI2 F 8.033 3 -0.256 M -MAin[5] nCRAS F -0.214 M 2.985 3 -MAin[6] PHI2 F 8.467 3 -0.339 M -MAin[6] nCRAS F 0.019 3 2.253 3 -MAin[7] PHI2 F 8.283 3 -0.303 M -MAin[7] nCRAS F -0.200 M 2.949 3 -MAin[8] nCRAS F -0.239 M 3.098 3 -MAin[9] nCRAS F -0.200 M 2.952 3 -PHI2 RCLK R 2.024 3 -0.115 M -UFMSDO RCLK R 2.747 3 -0.023 M -nCCAS RCLK R 1.461 3 0.049 3 -nCCAS nCRAS F 0.041 3 2.233 3 -nCRAS RCLK R 1.492 3 0.026 3 -nFWE PHI2 F 9.958 3 -0.643 M -nFWE nCRAS F -0.200 M 2.952 3 - - -// Clock to Output Delay - -Port Clock Edge Max_Delay Performance_Grade Min_Delay Performance_Grade ------------------------------------------------------------------------- -LED RCLK R 7.721 3 1.581 M -LED nCRAS F 12.210 3 2.483 M -RA[0] RCLK R 10.207 3 2.072 M -RA[0] nCRAS F 12.761 3 2.565 M -RA[10] RCLK R 6.343 3 1.287 M -RA[11] PHI2 R 8.600 3 1.723 M -RA[1] RCLK R 10.659 3 2.170 M -RA[1] nCRAS F 13.632 3 2.755 M -RA[2] RCLK R 10.108 3 2.063 M -RA[2] nCRAS F 12.438 3 2.497 M -RA[3] RCLK R 10.970 3 2.227 M -RA[3] nCRAS F 12.724 3 2.559 M -RA[4] RCLK R 10.070 3 2.042 M -RA[4] nCRAS F 12.332 3 2.480 M -RA[5] RCLK R 11.393 3 2.319 M -RA[5] nCRAS F 12.686 3 2.552 M -RA[6] RCLK R 9.403 3 1.934 M -RA[6] nCRAS F 11.821 3 2.387 M -RA[7] RCLK R 9.674 3 1.963 M -RA[7] nCRAS F 12.064 3 2.419 M -RA[8] RCLK R 10.994 3 2.239 M -RA[8] nCRAS F 12.987 3 2.596 M -RA[9] RCLK R 10.979 3 2.227 M -RA[9] nCRAS F 13.683 3 2.751 M -RBA[0] nCRAS F 10.115 3 2.013 M -RBA[1] nCRAS F 11.594 3 2.334 M -RCKE RCLK R 6.343 3 1.287 M -RDQMH RCLK R 9.332 3 1.910 M -RDQML RCLK R 9.883 3 1.994 M -RD[0] nCCAS F 7.724 3 1.665 M -RD[1] nCCAS F 7.722 3 1.665 M -RD[2] nCCAS F 7.013 3 1.537 M -RD[3] nCCAS F 8.183 3 1.765 M -RD[4] nCCAS F 8.563 3 1.850 M -RD[5] nCCAS F 8.120 3 1.753 M -RD[6] nCCAS F 7.474 3 1.636 M -RD[7] nCCAS F 8.641 3 1.855 M -UFMCLK RCLK R 7.064 3 1.420 M -UFMSDI RCLK R 6.343 3 1.287 M -nRCAS RCLK R 6.343 3 1.287 M -nRCS RCLK R 7.182 3 1.446 M -nRRAS RCLK R 7.971 3 1.605 M -nRWE RCLK R 8.121 3 1.645 M -nUFMCS RCLK R 7.526 3 1.510 M -WARNING: you must also run trce with hold speed: 3 -WARNING: you must also run trce with setup speed: M +Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 4 +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: 5 +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +Loading design for application iotiming from file ram2gs_lcmxo640c_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO640C +Package: TQFP100 +Performance: M +Package Status: Final Version 1.17. +Performance Hardware Data Status: Version 1.124. +// Design: RAM2GS +// Package: TQFP100 +// ncd File: ram2gs_lcmxo640c_impl1.ncd +// Version: Diamond (64-bit) 3.12.1.454 +// Written on Sat Aug 19 20:57:24 2023 +// M: Minimum Performance Grade +// iotiming RAM2GS_LCMXO640C_impl1.ncd RAM2GS_LCMXO640C_impl1.prf -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO640C/promote.xml + +I/O Timing Report (All units are in ns) + +Worst Case Results across Performance Grades (M, 5, 4, 3): + +// Input Setup and Hold Times + +Port Clock Edge Setup Performance_Grade Hold Performance_Grade +---------------------------------------------------------------------- +CROW[0] nCRAS F -0.012 M 2.299 3 +CROW[1] nCRAS F -0.094 M 2.568 3 +Din[0] PHI2 F 5.117 3 2.324 3 +Din[0] nCCAS F 1.863 3 -0.129 M +Din[1] PHI2 F 4.727 3 3.095 3 +Din[1] nCCAS F 0.973 3 0.261 3 +Din[2] PHI2 F 4.040 3 2.270 3 +Din[2] nCCAS F 1.372 3 -0.027 M +Din[3] PHI2 F 4.809 3 1.454 3 +Din[3] nCCAS F 0.916 3 0.298 3 +Din[4] PHI2 F 6.041 3 2.279 3 +Din[4] nCCAS F 1.531 3 -0.100 M +Din[5] PHI2 F 5.903 3 2.260 3 +Din[5] nCCAS F 2.338 3 -0.268 M +Din[6] PHI2 F 6.028 3 1.422 3 +Din[6] nCCAS F 1.099 3 0.266 3 +Din[7] PHI2 F 6.673 3 2.385 3 +Din[7] nCCAS F 0.940 3 0.417 3 +MAin[0] PHI2 F 4.543 3 0.820 3 +MAin[0] nCRAS F -0.219 M 3.000 3 +MAin[1] PHI2 F 4.179 3 1.515 3 +MAin[1] nCRAS F -0.122 M 2.681 3 +MAin[2] PHI2 F 9.178 3 -0.474 M +MAin[2] nCRAS F -0.219 M 3.000 3 +MAin[3] PHI2 F 9.642 3 -0.572 M +MAin[3] nCRAS F -0.200 M 2.949 3 +MAin[4] PHI2 F 9.311 3 -0.515 M +MAin[4] nCRAS F 0.454 3 1.905 3 +MAin[5] PHI2 F 8.033 3 -0.256 M +MAin[5] nCRAS F -0.214 M 2.985 3 +MAin[6] PHI2 F 8.467 3 -0.339 M +MAin[6] nCRAS F 0.019 3 2.253 3 +MAin[7] PHI2 F 8.283 3 -0.303 M +MAin[7] nCRAS F -0.200 M 2.949 3 +MAin[8] nCRAS F -0.239 M 3.098 3 +MAin[9] nCRAS F -0.200 M 2.952 3 +PHI2 RCLK R 2.024 3 -0.115 M +UFMSDO RCLK R 2.747 3 -0.023 M +nCCAS RCLK R 1.461 3 0.049 3 +nCCAS nCRAS F 0.041 3 2.233 3 +nCRAS RCLK R 1.492 3 0.026 3 +nFWE PHI2 F 9.958 3 -0.643 M +nFWE nCRAS F -0.200 M 2.952 3 + + +// Clock to Output Delay + +Port Clock Edge Max_Delay Performance_Grade Min_Delay Performance_Grade +------------------------------------------------------------------------ +LED RCLK R 7.721 3 1.581 M +LED nCRAS F 12.210 3 2.483 M +RA[0] RCLK R 10.207 3 2.072 M +RA[0] nCRAS F 12.761 3 2.565 M +RA[10] RCLK R 6.343 3 1.287 M +RA[11] PHI2 R 8.600 3 1.723 M +RA[1] RCLK R 10.659 3 2.170 M +RA[1] nCRAS F 13.632 3 2.755 M +RA[2] RCLK R 10.108 3 2.063 M +RA[2] nCRAS F 12.438 3 2.497 M +RA[3] RCLK R 10.970 3 2.227 M +RA[3] nCRAS F 12.724 3 2.559 M +RA[4] RCLK R 10.070 3 2.042 M +RA[4] nCRAS F 12.332 3 2.480 M +RA[5] RCLK R 11.393 3 2.319 M +RA[5] nCRAS F 12.686 3 2.552 M +RA[6] RCLK R 9.403 3 1.934 M +RA[6] nCRAS F 11.821 3 2.387 M +RA[7] RCLK R 9.674 3 1.963 M +RA[7] nCRAS F 12.064 3 2.419 M +RA[8] RCLK R 10.994 3 2.239 M +RA[8] nCRAS F 12.987 3 2.596 M +RA[9] RCLK R 10.979 3 2.227 M +RA[9] nCRAS F 13.683 3 2.751 M +RBA[0] nCRAS F 10.115 3 2.013 M +RBA[1] nCRAS F 11.594 3 2.334 M +RCKE RCLK R 6.343 3 1.287 M +RDQMH RCLK R 9.332 3 1.910 M +RDQML RCLK R 9.883 3 1.994 M +RD[0] nCCAS F 7.724 3 1.665 M +RD[1] nCCAS F 7.722 3 1.665 M +RD[2] nCCAS F 7.013 3 1.537 M +RD[3] nCCAS F 8.183 3 1.765 M +RD[4] nCCAS F 8.563 3 1.850 M +RD[5] nCCAS F 8.120 3 1.753 M +RD[6] nCCAS F 7.474 3 1.636 M +RD[7] nCCAS F 8.641 3 1.855 M +UFMCLK RCLK R 7.064 3 1.420 M +UFMSDI RCLK R 6.343 3 1.287 M +nRCAS RCLK R 6.343 3 1.287 M +nRCS RCLK R 7.182 3 1.446 M +nRRAS RCLK R 7.971 3 1.605 M +nRWE RCLK R 8.121 3 1.645 M +nUFMCS RCLK R 7.526 3 1.510 M +WARNING: you must also run trce with hold speed: 3 +WARNING: you must also run trce with setup speed: M diff --git a/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1_trce.asd b/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1_trce.asd index aa59e0b..c8a1d3c 100644 --- a/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1_trce.asd +++ b/CPLD/LCMXO640C/impl1/ram2gs_lcmxo640c_impl1_trce.asd @@ -1,17 +1,17 @@ -[ActiveSupport TRCE] -; Setup Analysis -Fmax_0 = 42.550 MHz (2.900 MHz); -Fmax_1 = 400.000 MHz (2.900 MHz); -Fmax_2 = 400.000 MHz (2.900 MHz); -Fmax_3 = 115.420 MHz (62.500 MHz); -Failed = 0 (Total 4); -Clock_ports = 4; -Clock_nets = 4; -; Hold Analysis -Fmax_0 = - (-); -Fmax_1 = - (-); -Fmax_2 = - (-); -Fmax_3 = - (-); -Failed = 0 (Total 4); -Clock_ports = 4; -Clock_nets = 4; +[ActiveSupport TRCE] +; Setup Analysis +Fmax_0 = 42.550 MHz (2.900 MHz); +Fmax_1 = 400.000 MHz (2.900 MHz); +Fmax_2 = 400.000 MHz (2.900 MHz); +Fmax_3 = 115.420 MHz (62.500 MHz); +Failed = 0 (Total 4); +Clock_ports = 4; +Clock_nets = 4; +; Hold Analysis +Fmax_0 = - (-); +Fmax_1 = - (-); +Fmax_2 = - (-); +Fmax_3 = - (-); +Failed = 0 (Total 4); +Clock_ports = 4; +Clock_nets = 4; diff --git a/CPLD/LCMXO640C/impl1/run_options.txt b/CPLD/LCMXO640C/impl1/run_options.txt index 1256a49..55b837f 100644 --- a/CPLD/LCMXO640C/impl1/run_options.txt +++ b/CPLD/LCMXO640C/impl1/run_options.txt @@ -1,81 +1,81 @@ -#-- Synopsys, Inc. -#-- Version R-2021.03L-SP1 -#-- Project file D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\run_options.txt -#-- Written on Wed Aug 16 04:50:37 2023 - - -#project files -add_file -constraint "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc" -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v" - - -#implementation: "impl1" -impl -add impl1 -type fpga - -# -#implementation attributes - -set_option -vlog_std v2001 -set_option -num_critical_paths 3 -set_option -project_relative_includes 1 -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C} - -#device options -set_option -technology MACHXO -set_option -part LCMXO640C -set_option -package T100C -set_option -speed_grade -3 -set_option -part_companion "" - -#compilation/mapping options -set_option -top_module "RAM2GS" - -# hdl_compiler_options -set_option -distributed_compile 0 -set_option -hdl_strict_syntax 0 - -# mapper_without_write_options -set_option -frequency 70 -set_option -srs_instrumentation 1 - -# mapper_options -set_option -write_verilog 0 -set_option -write_structural_verilog 0 -set_option -write_vhdl 0 - -# Lattice XP -set_option -maxfan 1000 -set_option -disable_io_insertion 0 -set_option -retiming 0 -set_option -pipe 0 -set_option -forcegsr auto -set_option -fix_gated_and_generated_clocks 1 -set_option -rw_check_on_ram 1 -set_option -update_models_cp 0 -set_option -syn_edif_array_rename 1 -set_option -Write_declared_clocks_only 1 -set_option -seqshift_no_replicate 0 - -# NFilter -set_option -no_sequential_opt 0 - -# sequential_optimization_options -set_option -symbolic_fsm_compiler 1 - -# Compiler Options -set_option -compiler_compatible 0 -set_option -resource_sharing 1 -set_option -multi_file_compilation_unit 1 - -# Compiler Options -set_option -auto_infer_blackbox 0 - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#set result format/file last -project -result_file "./RAM2GS_LCMXO640C_impl1.edi" - -#set log file -set_option log_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srf" -impl -active "impl1" +#-- Synopsys, Inc. +#-- Version R-2021.03L-SP1 +#-- Project file Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\run_options.txt +#-- Written on Sat Aug 19 20:57:05 2023 + + +#project files +add_file -constraint "Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc" +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v" + + +#implementation: "impl1" +impl -add impl1 -type fpga + +# +#implementation attributes + +set_option -vlog_std v2001 +set_option -num_critical_paths 3 +set_option -project_relative_includes 1 +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO640C} + +#device options +set_option -technology MACHXO +set_option -part LCMXO640C +set_option -package T100C +set_option -speed_grade -3 +set_option -part_companion "" + +#compilation/mapping options +set_option -top_module "RAM2GS" + +# hdl_compiler_options +set_option -distributed_compile 0 +set_option -hdl_strict_syntax 0 + +# mapper_without_write_options +set_option -frequency 70 +set_option -srs_instrumentation 1 + +# mapper_options +set_option -write_verilog 0 +set_option -write_structural_verilog 0 +set_option -write_vhdl 0 + +# Lattice XP +set_option -maxfan 1000 +set_option -disable_io_insertion 0 +set_option -retiming 0 +set_option -pipe 0 +set_option -forcegsr auto +set_option -fix_gated_and_generated_clocks 1 +set_option -rw_check_on_ram 1 +set_option -update_models_cp 0 +set_option -syn_edif_array_rename 1 +set_option -Write_declared_clocks_only 1 +set_option -seqshift_no_replicate 0 + +# NFilter +set_option -no_sequential_opt 0 + +# sequential_optimization_options +set_option -symbolic_fsm_compiler 1 + +# Compiler Options +set_option -compiler_compatible 0 +set_option -resource_sharing 1 +set_option -multi_file_compilation_unit 1 + +# Compiler Options +set_option -auto_infer_blackbox 0 + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#set result format/file last +project -result_file "./RAM2GS_LCMXO640C_impl1.edi" + +#set log file +set_option log_file "Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srf" +impl -active "impl1" diff --git a/CPLD/LCMXO640C/impl1/scratchproject.prs b/CPLD/LCMXO640C/impl1/scratchproject.prs index 09b97d6..870188c 100644 --- a/CPLD/LCMXO640C/impl1/scratchproject.prs +++ b/CPLD/LCMXO640C/impl1/scratchproject.prs @@ -1,80 +1,80 @@ -#-- Synopsys, Inc. -#-- Version R-2021.03L-SP1 -#-- Project file D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\scratchproject.prs - -#project files -add_file -constraint "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS.sdc" -add_file -verilog -vlog_std v2001 "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-SPI.v" - - -#implementation: "impl1" -impl -add D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1 -type fpga - -# -#implementation attributes - -set_option -vlog_std v2001 -set_option -num_critical_paths 3 -set_option -project_relative_includes 1 -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/} -set_option -include_path {D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C} - -#device options -set_option -technology MACHXO -set_option -part LCMXO640C -set_option -package T100C -set_option -speed_grade -3 -set_option -part_companion "" - -#compilation/mapping options -set_option -top_module "RAM2GS" - -# hdl_compiler_options -set_option -distributed_compile 0 -set_option -hdl_strict_syntax 0 - -# mapper_without_write_options -set_option -frequency 70 -set_option -srs_instrumentation 1 - -# mapper_options -set_option -write_verilog 0 -set_option -write_structural_verilog 0 -set_option -write_vhdl 0 - -# Lattice XP -set_option -maxfan 1000 -set_option -disable_io_insertion 0 -set_option -retiming 0 -set_option -pipe 0 -set_option -forcegsr auto -set_option -fix_gated_and_generated_clocks 1 -set_option -rw_check_on_ram 1 -set_option -update_models_cp 0 -set_option -syn_edif_array_rename 1 -set_option -Write_declared_clocks_only 1 -set_option -seqshift_no_replicate 0 - -# NFilter -set_option -no_sequential_opt 0 - -# sequential_optimization_options -set_option -symbolic_fsm_compiler 1 - -# Compiler Options -set_option -compiler_compatible 0 -set_option -resource_sharing 1 -set_option -multi_file_compilation_unit 1 - -# Compiler Options -set_option -auto_infer_blackbox 0 - -#automatic place and route (vendor) options -set_option -write_apr_constraint 1 - -#set result format/file last -project -result_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi" - -#set log file -set_option log_file "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srf" -impl -active "impl1" +#-- Synopsys, Inc. +#-- Version R-2021.03L-SP1 +#-- Project file Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\scratchproject.prs + +#project files +add_file -constraint "Y:/Repos/RAM2GS/CPLD/RAM2GS.sdc" +add_file -verilog -vlog_std v2001 "Y:/Repos/RAM2GS/CPLD/RAM2GS-SPI.v" + + +#implementation: "impl1" +impl -add Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1 -type fpga + +# +#implementation attributes + +set_option -vlog_std v2001 +set_option -num_critical_paths 3 +set_option -project_relative_includes 1 +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/} +set_option -include_path {Y:/Repos/RAM2GS/CPLD/LCMXO640C} + +#device options +set_option -technology MACHXO +set_option -part LCMXO640C +set_option -package T100C +set_option -speed_grade -3 +set_option -part_companion "" + +#compilation/mapping options +set_option -top_module "RAM2GS" + +# hdl_compiler_options +set_option -distributed_compile 0 +set_option -hdl_strict_syntax 0 + +# mapper_without_write_options +set_option -frequency 70 +set_option -srs_instrumentation 1 + +# mapper_options +set_option -write_verilog 0 +set_option -write_structural_verilog 0 +set_option -write_vhdl 0 + +# Lattice XP +set_option -maxfan 1000 +set_option -disable_io_insertion 0 +set_option -retiming 0 +set_option -pipe 0 +set_option -forcegsr auto +set_option -fix_gated_and_generated_clocks 1 +set_option -rw_check_on_ram 1 +set_option -update_models_cp 0 +set_option -syn_edif_array_rename 1 +set_option -Write_declared_clocks_only 1 +set_option -seqshift_no_replicate 0 + +# NFilter +set_option -no_sequential_opt 0 + +# sequential_optimization_options +set_option -symbolic_fsm_compiler 1 + +# Compiler Options +set_option -compiler_compatible 0 +set_option -resource_sharing 1 +set_option -multi_file_compilation_unit 1 + +# Compiler Options +set_option -auto_infer_blackbox 0 + +#automatic place and route (vendor) options +set_option -write_apr_constraint 1 + +#set result format/file last +project -result_file "Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.edi" + +#set log file +set_option log_file "Y:/Repos/RAM2GS/CPLD/LCMXO640C/impl1/RAM2GS_LCMXO640C_impl1.srf" +impl -active "impl1" diff --git a/CPLD/LCMXO640C/impl1/stdout.log b/CPLD/LCMXO640C/impl1/stdout.log index bca3727..330d9d5 100644 --- a/CPLD/LCMXO640C/impl1/stdout.log +++ b/CPLD/LCMXO640C/impl1/stdout.log @@ -1,89 +1,89 @@ -Running in Lattice mode - - Synplify Pro (R) - - Version R-2021.03L-SP1 for win64 - Aug 10, 2021 - - Copyright (c) 1988 - 2021 Synopsys, Inc. - This software and the associated documentation are proprietary to Synopsys, - Inc. This software may only be used in accordance with the terms and conditions - of a written license agreement with Synopsys, Inc. All other use, reproduction, - or distribution of this software is strictly prohibited. - -Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe -Install: C:\lscc\diamond\3.12\synpbase -Hostname: ZANEPC -Date: Wed Aug 16 04:50:37 2023 -Version: R-2021.03L-SP1 - -Arguments: -product synplify_pro -batch RAM2GS_LCMXO640C_impl1_synplify.tcl -ProductType: synplify_pro - - - - -log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr" -Running: impl1 in foreground - -Running proj_1|impl1 - -Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 04:50:37 2023 - -Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 04:50:37 2023 - -Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 04:50:37 2023 -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs - -compiler completed -# Wed Aug 16 04:50:39 2023 - -Return Code: 0 -Run Time:00h:00m:02s - -Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 04:50:39 2023 - -multi_srs_gen completed -# Wed Aug 16 04:50:39 2023 - -Return Code: 0 -Run Time:00h:00m:00s -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf -Complete: Compile Process on proj_1|impl1 - -Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 04:50:39 2023 - -premap completed with warnings -# Wed Aug 16 04:50:41 2023 - -Return Code: 1 -Run Time:00h:00m:02s -Complete: Compile on proj_1|impl1 - -Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 04:50:41 2023 -License granted for 4 parallel jobs - -Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 04:50:41 2023 -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm - -fpga_mapper completed with warnings -# Wed Aug 16 04:50:45 2023 - -Return Code: 1 -Run Time:00h:00m:04s -Complete: Map on proj_1|impl1 -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf -Complete: Logic Synthesis on proj_1|impl1 -TCL script complete: "RAM2GS_LCMXO640C_impl1_synplify.tcl" -exit status=0 -exit status=0 -Save changes for project: -D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\proj_1.prj -batch mode default:no +Running in Lattice mode + + Synplify Pro (R) + + Version R-2021.03L-SP1 for win64 - Aug 10, 2021 + + Copyright (c) 1988 - 2021 Synopsys, Inc. + This software and the associated documentation are proprietary to Synopsys, + Inc. This software may only be used in accordance with the terms and conditions + of a written license agreement with Synopsys, Inc. All other use, reproduction, + or distribution of this software is strictly prohibited. + +Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe +Install: C:\lscc\diamond\3.12\synpbase +Hostname: ZANEMACWIN11 +Date: Sat Aug 19 20:57:04 2023 +Version: R-2021.03L-SP1 + +Arguments: -product synplify_pro -batch RAM2GS_LCMXO640C_impl1_synplify.tcl +ProductType: synplify_pro + + + + +log file: "Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr" +Running: impl1 in foreground + +Running proj_1|impl1 + +Running Flow: compile (Compile) on proj_1|impl1 +# Sat Aug 19 20:57:05 2023 + +Running Flow: compile_flow (Compile Process) on proj_1|impl1 +# Sat Aug 19 20:57:05 2023 + +Running: compiler (Compile Input) on proj_1|impl1 +# Sat Aug 19 20:57:05 2023 +Copied Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs to Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs + +compiler completed +# Sat Aug 19 20:57:06 2023 + +Return Code: 0 +Run Time:00h:00m:01s + +Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 +# Sat Aug 19 20:57:06 2023 + +multi_srs_gen completed +# Sat Aug 19 20:57:06 2023 + +Return Code: 0 +Run Time:00h:00m:00s +Copied Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs to Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs +Copied Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf +Complete: Compile Process on proj_1|impl1 + +Running: premap (Premap) on proj_1|impl1 +# Sat Aug 19 20:57:06 2023 + +premap completed with warnings +# Sat Aug 19 20:57:08 2023 + +Return Code: 1 +Run Time:00h:00m:02s +Complete: Compile on proj_1|impl1 + +Running Flow: map (Map) on proj_1|impl1 +# Sat Aug 19 20:57:08 2023 +License granted for 4 parallel jobs + +Running: fpga_mapper (Map & Optimize) on proj_1|impl1 +# Sat Aug 19 20:57:08 2023 +Copied Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm to Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm + +fpga_mapper completed with warnings +# Sat Aug 19 20:57:12 2023 + +Return Code: 1 +Run Time:00h:00m:04s +Complete: Map on proj_1|impl1 +Copied Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf +Complete: Logic Synthesis on proj_1|impl1 +TCL script complete: "RAM2GS_LCMXO640C_impl1_synplify.tcl" +exit status=0 +exit status=0 +Save changes for project: +Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\proj_1.prj +batch mode default:no diff --git a/CPLD/LCMXO640C/impl1/stdout.log.bak.2 b/CPLD/LCMXO640C/impl1/stdout.log.bak.2 index bef7f20..a0395cf 100644 --- a/CPLD/LCMXO640C/impl1/stdout.log.bak.2 +++ b/CPLD/LCMXO640C/impl1/stdout.log.bak.2 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 02:29:26 2023 +Date: Wed Aug 16 03:31:17 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO640C_impl1_synplify.tcl @@ -28,26 +28,26 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 02:29:27 2023 +# Wed Aug 16 03:31:17 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 02:29:27 2023 +# Wed Aug 16 03:31:17 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 02:29:27 2023 +# Wed Aug 16 03:31:17 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs compiler completed -# Wed Aug 16 02:29:28 2023 +# Wed Aug 16 03:31:19 2023 Return Code: 0 -Run Time:00h:00m:01s +Run Time:00h:00m:02s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 02:29:28 2023 +# Wed Aug 16 03:31:19 2023 multi_srs_gen completed -# Wed Aug 16 02:29:29 2023 +# Wed Aug 16 03:31:20 2023 Return Code: 0 Run Time:00h:00m:01s @@ -56,28 +56,28 @@ Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 02:29:29 2023 +# Wed Aug 16 03:31:20 2023 premap completed with warnings -# Wed Aug 16 02:29:30 2023 +# Wed Aug 16 03:31:22 2023 Return Code: 1 -Run Time:00h:00m:01s +Run Time:00h:00m:02s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 02:29:30 2023 +# Wed Aug 16 03:31:22 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 02:29:30 2023 +# Wed Aug 16 03:31:22 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 02:29:34 2023 +# Wed Aug 16 03:31:27 2023 Return Code: 1 -Run Time:00h:00m:04s +Run Time:00h:00m:05s Complete: Map on proj_1|impl1 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf Complete: Logic Synthesis on proj_1|impl1 diff --git a/CPLD/LCMXO640C/impl1/stdout.log.bak.3 b/CPLD/LCMXO640C/impl1/stdout.log.bak.3 index 4ea5288..bef7f20 100644 --- a/CPLD/LCMXO640C/impl1/stdout.log.bak.3 +++ b/CPLD/LCMXO640C/impl1/stdout.log.bak.3 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 02:04:50 2023 +Date: Wed Aug 16 02:29:26 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO640C_impl1_synplify.tcl @@ -28,56 +28,56 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 02:04:50 2023 +# Wed Aug 16 02:29:27 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 02:04:50 2023 +# Wed Aug 16 02:29:27 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 02:04:50 2023 +# Wed Aug 16 02:29:27 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs compiler completed -# Wed Aug 16 02:04:52 2023 +# Wed Aug 16 02:29:28 2023 Return Code: 0 -Run Time:00h:00m:02s +Run Time:00h:00m:01s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 02:04:52 2023 +# Wed Aug 16 02:29:28 2023 multi_srs_gen completed -# Wed Aug 16 02:04:52 2023 +# Wed Aug 16 02:29:29 2023 Return Code: 0 -Run Time:00h:00m:00s +Run Time:00h:00m:01s Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 02:04:52 2023 +# Wed Aug 16 02:29:29 2023 premap completed with warnings -# Wed Aug 16 02:04:54 2023 +# Wed Aug 16 02:29:30 2023 Return Code: 1 -Run Time:00h:00m:02s +Run Time:00h:00m:01s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 02:04:54 2023 +# Wed Aug 16 02:29:30 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 02:04:54 2023 +# Wed Aug 16 02:29:30 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 02:04:57 2023 +# Wed Aug 16 02:29:34 2023 Return Code: 1 -Run Time:00h:00m:03s +Run Time:00h:00m:04s Complete: Map on proj_1|impl1 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srf Complete: Logic Synthesis on proj_1|impl1 diff --git a/CPLD/LCMXO640C/impl1/stdout.log.bak.4 b/CPLD/LCMXO640C/impl1/stdout.log.bak.4 index 51fe536..4ea5288 100644 --- a/CPLD/LCMXO640C/impl1/stdout.log.bak.4 +++ b/CPLD/LCMXO640C/impl1/stdout.log.bak.4 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 02:04:18 2023 +Date: Wed Aug 16 02:04:50 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO640C_impl1_synplify.tcl @@ -28,26 +28,26 @@ Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 02:04:18 2023 +# Wed Aug 16 02:04:50 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 02:04:18 2023 +# Wed Aug 16 02:04:50 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 02:04:18 2023 +# Wed Aug 16 02:04:50 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs compiler completed -# Wed Aug 16 02:04:20 2023 +# Wed Aug 16 02:04:52 2023 Return Code: 0 Run Time:00h:00m:02s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 02:04:20 2023 +# Wed Aug 16 02:04:52 2023 multi_srs_gen completed -# Wed Aug 16 02:04:20 2023 +# Wed Aug 16 02:04:52 2023 Return Code: 0 Run Time:00h:00m:00s @@ -56,25 +56,25 @@ Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 02:04:20 2023 +# Wed Aug 16 02:04:52 2023 premap completed with warnings -# Wed Aug 16 02:04:22 2023 +# Wed Aug 16 02:04:54 2023 Return Code: 1 Run Time:00h:00m:02s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 02:04:22 2023 +# Wed Aug 16 02:04:54 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 02:04:22 2023 +# Wed Aug 16 02:04:54 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 02:04:25 2023 +# Wed Aug 16 02:04:57 2023 Return Code: 1 Run Time:00h:00m:03s diff --git a/CPLD/LCMXO640C/impl1/stdout.log.bak.5 b/CPLD/LCMXO640C/impl1/stdout.log.bak.5 index 2caa0f6..51fe536 100644 --- a/CPLD/LCMXO640C/impl1/stdout.log.bak.5 +++ b/CPLD/LCMXO640C/impl1/stdout.log.bak.5 @@ -13,7 +13,7 @@ Running in Lattice mode Starting: C:\lscc\diamond\3.12\synpbase\bin64\mbin\synbatch.exe Install: C:\lscc\diamond\3.12\synpbase Hostname: ZANEPC -Date: Wed Aug 16 02:03:29 2023 +Date: Wed Aug 16 02:04:18 2023 Version: R-2021.03L-SP1 Arguments: -product synplify_pro -batch RAM2GS_LCMXO640C_impl1_synplify.tcl @@ -22,33 +22,32 @@ ProductType: synplify_pro -Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\backup\RAM2GS_LCMXO640C_impl1.srr log file: "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srr" Running: impl1 in foreground Running proj_1|impl1 Running Flow: compile (Compile) on proj_1|impl1 -# Wed Aug 16 02:03:29 2023 +# Wed Aug 16 02:04:18 2023 Running Flow: compile_flow (Compile Process) on proj_1|impl1 -# Wed Aug 16 02:03:29 2023 +# Wed Aug 16 02:04:18 2023 Running: compiler (Compile Input) on proj_1|impl1 -# Wed Aug 16 02:03:29 2023 +# Wed Aug 16 02:04:18 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srs compiler completed -# Wed Aug 16 02:03:31 2023 +# Wed Aug 16 02:04:20 2023 Return Code: 0 Run Time:00h:00m:02s Running: multi_srs_gen (Multi-srs Generator) on proj_1|impl1 -# Wed Aug 16 02:03:31 2023 +# Wed Aug 16 02:04:20 2023 multi_srs_gen completed -# Wed Aug 16 02:03:31 2023 +# Wed Aug 16 02:04:20 2023 Return Code: 0 Run Time:00h:00m:00s @@ -57,25 +56,25 @@ Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C Complete: Compile Process on proj_1|impl1 Running: premap (Premap) on proj_1|impl1 -# Wed Aug 16 02:03:31 2023 +# Wed Aug 16 02:04:20 2023 premap completed with warnings -# Wed Aug 16 02:03:33 2023 +# Wed Aug 16 02:04:22 2023 Return Code: 1 Run Time:00h:00m:02s Complete: Compile on proj_1|impl1 Running Flow: map (Map) on proj_1|impl1 -# Wed Aug 16 02:03:33 2023 +# Wed Aug 16 02:04:22 2023 License granted for 4 parallel jobs Running: fpga_mapper (Map & Optimize) on proj_1|impl1 -# Wed Aug 16 02:03:33 2023 +# Wed Aug 16 02:04:22 2023 Copied D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm to D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm fpga_mapper completed with warnings -# Wed Aug 16 02:03:36 2023 +# Wed Aug 16 02:04:25 2023 Return Code: 1 Run Time:00h:00m:03s diff --git a/CPLD/LCMXO640C/impl1/synlog.tcl b/CPLD/LCMXO640C/impl1/synlog.tcl index 2e1f256..fdf905e 100644 --- a/CPLD/LCMXO640C/impl1/synlog.tcl +++ b/CPLD/LCMXO640C/impl1/synlog.tcl @@ -1 +1 @@ -run_tcl -fg RAM2GS_LCMXO640C_impl1_synplify.tcl +run_tcl -fg RAM2GS_LCMXO640C_impl1_synplify.tcl diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_comp.rt.csv.rptmap b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_comp.rt.csv.rptmap index 819ecad..75705fd 100644 --- a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_comp.rt.csv.rptmap +++ b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_comp.rt.csv.rptmap @@ -1 +1 @@ -./synwork/RAM2GS_LCMXO640C_impl1_comp.rt.csv,RAM2GS_LCMXO640C_impl1_comp.rt.csv,Module Runtime Summary +./synwork/RAM2GS_LCMXO640C_impl1_comp.rt.csv,RAM2GS_LCMXO640C_impl1_comp.rt.csv,Module Runtime Summary diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr index ae24fe1..7d03858 100644 --- a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr +++ b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr @@ -1,108 +1,106 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) -Verilog syntax check successful! - -Compiler output is up to date. No re-compile necessary - -Selecting top level module RAM2GS -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv - - -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] - -For a summary of runtime and memory usage for all design units, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv - -@END - -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:38 2023 - -###########################################################] + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps) +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps) +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work) +Verilog syntax check successful! +Options changed - recompiling +Selecting top level module RAM2GS +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\layer0.rt.csv + + +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:05 2023 + +###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:05 2023 + +###########################################################] + +For a summary of runtime and memory usage for all design units, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.rt.csv + +@END + +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:05 2023 + +###########################################################] diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr.db b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr.db index aaabde395cc6edfd7b806127bbb837a60f4ebaa0..b1736ee606b98f88ccc4c0fa7125fa108e192fd0 100644 GIT binary patch delta 50 zcmZp0XmHrTCcrY4fq&{|L4kb!i48JhnT%}W>B*u@&hEx$CQ6Z3F+r&X`Nfl0%Lg+l G-v9t$wGM9p delta 68 zcmZp0XmHrTCcx6bz~8W0P@s%oyN;1vypcayl*!rM*vv%9#VW=>FV&?evn(~nB|o_| XH#M)MIL1A*#G^E6@@n~DCT<-7k9`zc diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr.rptmap b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr.rptmap index 62b936c..e105a5a 100644 --- a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr.rptmap +++ b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_compiler.srr.rptmap @@ -1 +1 @@ -./synlog/RAM2GS_LCMXO640C_impl1_compiler.srr,RAM2GS_LCMXO640C_impl1_compiler.srr,Compile Log +./synlog/RAM2GS_LCMXO640C_impl1_compiler.srr,RAM2GS_LCMXO640C_impl1_compiler.srr,Compile Log diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.srr b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.srr index 1678e8f..00bdc38 100644 --- a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.srr +++ b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.srr @@ -1,659 +1,659 @@ -# Wed Aug 16 04:50:41 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB) - - - -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB) - - -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] -@N: MO231 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":134:1:134:6|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] -@N: FX493 |Applying initial value "0" on instance IS[0]. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance IS[1]. -@N: FX493 |Applying initial value "0" on instance IS[2]. -@N: FX493 |Applying initial value "0" on instance IS[3]. - -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB) - - -Finished factoring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 174MB peak: 174MB) - - -Available hyper_sources - for debug and ip models - None Found - - -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB) - - -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB) - - -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB) - -Pass CPU time Worst Slack Luts / Registers ------------------------------------------------------------- - 1 0h:00m:01s -3.26ns 127 / 89 - 2 0h:00m:01s -3.23ns 123 / 89 - 3 0h:00m:01s -3.23ns 123 / 89 - 4 0h:00m:01s -3.23ns 123 / 89 - 5 0h:00m:01s -3.23ns 124 / 89 - 6 0h:00m:01s -3.23ns 124 / 89 -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":105:1:105:6|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. -@N: FX271 :"d:\onedrive\documents\github\ram2gs\cpld\ram2gs-spi.v":147:1:147:6|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. -Timing driven replication report -Added 3 Registers via timing driven replication -Added 1 LUTs via timing driven replication - - 7 0h:00m:02s -2.99ns 128 / 92 - - - 8 0h:00m:02s -2.99ns 127 / 92 - 9 0h:00m:02s -3.09ns 127 / 92 - 10 0h:00m:02s -3.19ns 127 / 92 - 11 0h:00m:02s -3.19ns 127 / 92 - 12 0h:00m:02s -3.19ns 127 / 92 - -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) - - -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB) - - -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 143MB peak: 179MB) - -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm - -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 179MB peak: 179MB) - -Writing EDIF Netlist and constraint files -@N: FX1056 |Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF - -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 184MB) - - -Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 185MB) - - -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB) - -@N: MT615 |Found clock RCLK with period 16.00ns -@N: MT615 |Found clock PHI2 with period 350.00ns -@N: MT615 |Found clock nCRAS with period 350.00ns -@N: MT615 |Found clock nCCAS with period 350.00ns - - -##### START OF TIMING REPORT #####[ -# Timing report written on Wed Aug 16 04:50:45 2023 -# - - -Top view: RAM2GS -Requested Frequency: 2.9 MHz -Wire load mode: top -Paths requested: 3 -Constraint File(s): D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc - -@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. - -@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. - - - -Performance Summary -******************* - - -Worst slack in design: -3.705 - - Requested Estimated Requested Estimated Clock Clock -Starting Clock Frequency Frequency Period Period Slack Type Group -------------------------------------------------------------------------------------------------------------------- -PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup -RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup -nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup -nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup -=================================================================================================================== -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform - - -@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. -@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. -@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. -@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. - - - -Clock Relationships -******************* - -Clocks | rise to rise | fall to fall | rise to fall | fall to rise ---------------------------------------------------------------------------------------------------------------- -Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack ---------------------------------------------------------------------------------------------------------------- -RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - -RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - -PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 -PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 -nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 -=============================================================================================================== - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. - 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. - - - -Interface Information -********************* - -No IO constraint found - - - -==================================== -Detailed Report for Clock: PHI2 -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 -CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 -CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 -CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 -CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 -Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 -Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 -Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 -Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 -Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 -======================================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------------------- -UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 -UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 -nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 -LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 -n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 -LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 -n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 -CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 -ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 -C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 -============================================================================================ - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMCLK / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - -UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMCLK_RNO Net - - - - 1 -UFMCLK FD1S3AX D In 0.000 3.702 r - -================================================================================== - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: nUFMCS / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ------------------------------------------------------------------------------------ -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - -nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - -nUFMCS_s_0_N_5_i Net - - - - 1 -nUFMCS FD1S3AY D In 0.000 3.702 r - -=================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.702 - - Clock delay at starting point: 0.000 (ideal) - = Slack (critical) : -3.705 - - Number of logic level(s): 2 - Starting point: CmdSubmitted / Q - Ending point: UFMSDI / D - The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------- -CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - -CmdSubmitted Net - - - - 3 -PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - -PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - -N_139_i Net - - - - 3 -UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - -UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - -UFMSDI_RNO Net - - - - 1 -UFMSDI FD1S3AX D In 0.000 3.702 r - -================================================================================== - - - - -==================================== -Detailed Report for Clock: RCLK -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------ -LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 -n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 -FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 -FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 -FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 -FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 -S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 -S[0] RCLK FD1S3IX Q CO0 1.756 8.545 -FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 -FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 -============================================================================= - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ------------------------------------------------------------------------------------------ -CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 -XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 -Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 -RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 -UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 -UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 -LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 -n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 -nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 -nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 -========================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: CmdLEDEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - -CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - -N_21_i Net - - - - 1 -CmdLEDEN FD1P3AX D In 0.000 2.309 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.309 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.312 - - Number of logic level(s): 1 - Starting point: LEDEN / Q - Ending point: XOR8MEG / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) -------------------------------------------------------------------------------------- -LEDEN FD1P3AX Q Out 1.552 1.552 r - -LEDEN Net - - - - 3 -XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - -XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - -XOR8MEG_3 Net - - - - 1 -XOR8MEG FD1P3AX D In 0.000 2.309 f - -===================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 2.213 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -2.216 - - Number of logic level(s): 1 - Starting point: n8MEGEN / Q - Ending point: Cmdn8MEGEN / D - The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -n8MEGEN FD1P3AX Q Out 1.456 1.456 r - -n8MEGEN Net - - - - 2 -Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - -Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - -N_19_i Net - - - - 1 -Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - -================================================================================= - - - - -==================================== -Detailed Report for Clock: nCRAS -==================================== - - - -Starting Points with Worst Slack -******************************** - - Starting Arrival -Instance Reference Type Pin Net Time Slack - Clock --------------------------------------------------------------------------------- -CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 -CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 -FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 -FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 -================================================================================ - - -Ending Points with Worst Slack -****************************** - - Starting Required -Instance Reference Type Pin Net Time Slack - Clock ---------------------------------------------------------------------------------------- -nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 -nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 -nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 -RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 -nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 -======================================================================================= - - - -Worst Path Information -*********************** - - -Path information for path number 1: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRWE / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ---------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - -nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - -G_17_1 Net - - - - 1 -nRWE_RNO ORCALUT4 B In 0.000 2.849 f - -nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - -N_39_i Net - - - - 1 -nRWE FD1S3AY D In 0.000 3.606 r - -================================================================================= - - -Path information for path number 2: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.606 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.609 - - Number of logic level(s): 2 - Starting point: CBR / Q - Ending point: nRowColSel / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) --------------------------------------------------------------------------------------- -CBR FD1S3AX Q Out 1.660 1.660 r - -CBR Net - - - - 5 -nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - -nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - -N_179 Net - - - - 1 -nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - -nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - -nRowColSel_0_0 Net - - - - 1 -nRowColSel FD1S3IX D In 0.000 3.606 f - -====================================================================================== - - -Path information for path number 3: - Requested Period: 1.000 - - Setup time: 1.003 - + Clock delay at ending point: 0.000 (ideal) - = Required time: -0.003 - - - Propagation time: 3.510 - - Clock delay at starting point: 0.000 (ideal) - = Slack (non-critical) : -3.513 - - Number of logic level(s): 2 - Starting point: CBR_fast / Q - Ending point: nRCAS / D - The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK - The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK - -Instance / Net Pin Pin Arrival No. of -Name Type Name Dir Delay Time Fan Out(s) ----------------------------------------------------------------------------------------- -CBR_fast FD1S3AX Q Out 1.456 1.456 r - -CBR_fast Net - - - - 2 -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - -nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - -nRCAS_0_sqmuxa_1 Net - - - - 2 -nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - -nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - -N_37_i Net - - - - 1 -nRCAS FD1S3AY D In 0.000 3.510 f - -======================================================================================== - - - -##### END OF TIMING REPORT #####] - -Timing exceptions that could not be applied - -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - - -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB) - ---------------------------------------- -Resource Usage Report -Part: lcmxo640c-3 - -Register bits: 92 of 640 (14%) -PIC Latch: 0 -I/O cells: 67 - - -Details: -BB: 8 -CCU2: 9 -FD1P3AX: 11 -FD1S3AX: 59 -FD1S3AY: 5 -FD1S3IX: 14 -FD1S3JX: 3 -GSR: 1 -IB: 26 -INV: 8 -OB: 33 -ORCALUT4: 119 -PFUMX: 2 -PUR: 1 -VHI: 1 -VLO: 1 -Mapper successful! - -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB) - -Process took 0h:00m:04s realtime, 0h:00m:04s cputime -# Wed Aug 16 04:50:45 2023 - -###########################################################] +# Sat Aug 19 20:57:08 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB) + + + +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB) + + +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB) + +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Found counter in view:work.RAM2GS(verilog) instance IS[3:0] +@N: MO231 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":134:4:134:9|Found counter in view:work.RAM2GS(verilog) instance FS[17:0] +@N: FX493 |Applying initial value "0" on instance IS[0]. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance IS[1]. +@N: FX493 |Applying initial value "0" on instance IS[2]. +@N: FX493 |Applying initial value "0" on instance IS[3]. + +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB) + + +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Available hyper_sources - for debug and ip models + None Found + + +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB) + + +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB) + + +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB) + + +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB) + +Pass CPU time Worst Slack Luts / Registers +------------------------------------------------------------ + 1 0h:00m:01s -3.26ns 127 / 89 + 2 0h:00m:01s -3.23ns 123 / 89 + 3 0h:00m:01s -3.23ns 123 / 89 + 4 0h:00m:01s -3.23ns 123 / 89 + 5 0h:00m:01s -3.23ns 124 / 89 + 6 0h:00m:01s -3.23ns 124 / 89 +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":105:4:105:9|Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing. +@N: FX271 :"y:\repos\ram2gs\cpld\ram2gs-spi.v":147:4:147:9|Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing. +Timing driven replication report +Added 3 Registers via timing driven replication +Added 1 LUTs via timing driven replication + + 7 0h:00m:01s -2.99ns 128 / 92 + + + 8 0h:00m:01s -2.99ns 127 / 92 + 9 0h:00m:01s -3.09ns 127 / 92 + 10 0h:00m:01s -3.19ns 127 / 92 + 11 0h:00m:01s -3.19ns 127 / 92 + 12 0h:00m:01s -3.19ns 127 / 92 + +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB) + + +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB) + + +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB) + +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm + +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB) + +Writing EDIF Netlist and constraint files +@N: FX1056 |Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi +@N: BW106 |Synplicity Constraint File capacitance units using default value of 1pF + +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB) + + +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB) + + +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB) + +@N: MT615 |Found clock RCLK with period 16.00ns +@N: MT615 |Found clock PHI2 with period 350.00ns +@N: MT615 |Found clock nCRAS with period 350.00ns +@N: MT615 |Found clock nCCAS with period 350.00ns + + +##### START OF TIMING REPORT #####[ +# Timing report written on Sat Aug 19 20:57:11 2023 +# + + +Top view: RAM2GS +Requested Frequency: 2.9 MHz +Wire load mode: top +Paths requested: 3 +Constraint File(s): Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc + +@N: MT320 |This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. + +@N: MT322 |Clock constraints include only register-to-register paths associated with each individual clock. + + + +Performance Summary +******************* + + +Worst slack in design: -3.705 + + Requested Estimated Requested Estimated Clock Clock +Starting Clock Frequency Frequency Period Period Slack Type Group +------------------------------------------------------------------------------------------------------------------- +PHI2 2.9 MHz 0.6 MHz 350.000 1646.750 -3.705 declared default_clkgroup +RCLK 62.5 MHz 13.3 MHz 16.000 75.280 -2.312 declared default_clkgroup +nCCAS 2.9 MHz NA 350.000 NA NA declared default_clkgroup +nCRAS 2.9 MHz 0.6 MHz 350.000 1613.150 -3.609 declared default_clkgroup +=================================================================================================================== +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform + + +@W: MT118 |Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small. +@W: MT118 |Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small. +@W: MT116 |Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small. +@W: MT117 |Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small. + + + +Clock Relationships +******************* + +Clocks | rise to rise | fall to fall | rise to fall | fall to rise +--------------------------------------------------------------------------------------------------------------- +Starting Ending | constraint slack | constraint slack | constraint slack | constraint slack +--------------------------------------------------------------------------------------------------------------- +RCLK RCLK | 16.000 7.560 | No paths - | No paths - | No paths - +RCLK PHI2 | 2.000 -1.216 | No paths - | 1.000 -2.312 | No paths - +PHI2 RCLK | No paths - | No paths - | No paths - | 1.000 -3.705 +PHI2 PHI2 | No paths - | 350.000 343.998 | 175.000 166.500 | 175.000 171.784 +nCRAS RCLK | No paths - | No paths - | No paths - | 1.000 -3.609 +=============================================================================================================== + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges. + 'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups. + + + +Interface Information +********************* + +No IO constraint found + + + +==================================== +Detailed Report for Clock: PHI2 +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +CmdSubmitted PHI2 FD1S3AX Q CmdSubmitted 1.552 -3.705 +CmdUFMCLK PHI2 FD1P3AX Q CmdUFMCLK 1.348 -3.297 +CmdUFMCS PHI2 FD1P3AX Q CmdUFMCS 1.348 -3.297 +CmdUFMSDI PHI2 FD1P3AX Q CmdUFMSDI 1.348 -3.297 +CmdLEDEN PHI2 FD1P3AX Q CmdLEDEN 1.456 -2.216 +Cmdn8MEGEN PHI2 FD1P3AX Q Cmdn8MEGEN 1.456 -2.216 +Bank[2] PHI2 FD1S3AX Q Bank[2] 1.348 166.500 +Bank[3] PHI2 FD1S3AX Q Bank[3] 1.348 166.500 +Bank[4] PHI2 FD1S3AX Q Bank[4] 1.348 166.500 +Bank[5] PHI2 FD1S3AX Q Bank[5] 1.348 166.500 +======================================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------------------- +UFMCLK PHI2 FD1S3AX D UFMCLK_RNO -0.003 -3.705 +UFMSDI PHI2 FD1S3AX D UFMSDI_RNO -0.003 -3.705 +nUFMCS PHI2 FD1S3AY D nUFMCS_s_0_N_5_i -0.003 -3.705 +LEDEN PHI2 FD1P3AX SP N_33 0.806 -2.800 +n8MEGEN PHI2 FD1P3AX SP N_31 0.806 -2.800 +LEDEN PHI2 FD1P3AX D N_70 -0.003 -2.216 +n8MEGEN PHI2 FD1P3AX D N_69 -0.003 -2.216 +CmdSubmitted PHI2 FD1S3AX D N_460_0 173.997 166.500 +ADSubmitted PHI2 FD1S3AX D ADSubmitted_r 173.997 167.797 +C1Submitted PHI2 FD1S3AX D C1Submitted_RNO 173.997 167.797 +============================================================================================ + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMCLK / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMCLK_RNO ORCALUT4 A In 0.000 2.945 r - +UFMCLK_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMCLK_RNO Net - - - - 1 +UFMCLK FD1S3AX D In 0.000 3.702 r - +================================================================================== + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: nUFMCS / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +----------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +nUFMCS_s_0_N_5_i ORCALUT4 A In 0.000 2.945 r - +nUFMCS_s_0_N_5_i ORCALUT4 Z Out 0.757 3.702 r - +nUFMCS_s_0_N_5_i Net - - - - 1 +nUFMCS FD1S3AY D In 0.000 3.702 r - +=================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.702 + - Clock delay at starting point: 0.000 (ideal) + = Slack (critical) : -3.705 + + Number of logic level(s): 2 + Starting point: CmdSubmitted / Q + Ending point: UFMSDI / D + The start point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------- +CmdSubmitted FD1S3AX Q Out 1.552 1.552 r - +CmdSubmitted Net - - - - 3 +PHI2r3_RNITCN41 ORCALUT4 A In 0.000 1.552 r - +PHI2r3_RNITCN41 ORCALUT4 Z Out 1.393 2.945 r - +N_139_i Net - - - - 3 +UFMSDI_RNO ORCALUT4 A In 0.000 2.945 r - +UFMSDI_RNO ORCALUT4 Z Out 0.757 3.702 r - +UFMSDI_RNO Net - - - - 1 +UFMSDI FD1S3AX D In 0.000 3.702 r - +================================================================================== + + + + +==================================== +Detailed Report for Clock: RCLK +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------- +LEDEN RCLK FD1P3AX Q LEDEN 1.552 -2.312 +n8MEGEN RCLK FD1P3AX Q n8MEGEN 1.456 -2.216 +FS[13] RCLK FD1S3AX Q FS[13] 1.552 7.560 +FS[14] RCLK FD1S3AX Q FS[14] 1.552 7.560 +FS[15] RCLK FD1S3AX Q FS[15] 1.552 7.560 +FS[17] RCLK FD1S3AX Q FS[17] 1.552 7.560 +S[1] RCLK FD1S3IX Q S[1] 1.768 8.533 +S[0] RCLK FD1S3IX Q CO0 1.756 8.545 +FS[16] RCLK FD1S3AX Q FS[16] 1.612 8.689 +FS[12] RCLK FD1S3AX Q FS[12] 1.552 8.749 +============================================================================= + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +----------------------------------------------------------------------------------------- +CmdLEDEN RCLK FD1P3AX D N_21_i -0.003 -2.312 +XOR8MEG RCLK FD1P3AX D XOR8MEG_3 -0.003 -2.312 +Cmdn8MEGEN RCLK FD1P3AX D N_19_i -0.003 -2.216 +RA11 RCLK FD1S3IX D RA11_2 0.997 -1.216 +UFMSDI RCLK FD1S3AX D UFMSDI_RNO 14.997 7.560 +UFMCLK RCLK FD1S3AX D UFMCLK_RNO 14.997 7.668 +LEDEN RCLK FD1P3AX SP N_33 15.806 8.261 +n8MEGEN RCLK FD1P3AX SP N_31 15.806 8.261 +nRCS RCLK FD1S3AY D N_28_i 14.997 8.533 +nUFMCS RCLK FD1S3AY D nUFMCS_s_0_N_5_i 14.997 8.653 +========================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: CmdLEDEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +CmdLEDEN_RNO ORCALUT4 A In 0.000 1.552 r - +CmdLEDEN_RNO ORCALUT4 Z Out 0.757 2.309 r - +N_21_i Net - - - - 1 +CmdLEDEN FD1P3AX D In 0.000 2.309 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.309 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.312 + + Number of logic level(s): 1 + Starting point: LEDEN / Q + Ending point: XOR8MEG / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +------------------------------------------------------------------------------------- +LEDEN FD1P3AX Q Out 1.552 1.552 r - +LEDEN Net - - - - 3 +XOR8MEG_3_u_0_a3_3 ORCALUT4 B In 0.000 1.552 r - +XOR8MEG_3_u_0_a3_3 ORCALUT4 Z Out 0.757 2.309 f - +XOR8MEG_3 Net - - - - 1 +XOR8MEG FD1P3AX D In 0.000 2.309 f - +===================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 2.213 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -2.216 + + Number of logic level(s): 1 + Starting point: n8MEGEN / Q + Ending point: Cmdn8MEGEN / D + The start point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + The end point is clocked by PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +n8MEGEN FD1P3AX Q Out 1.456 1.456 r - +n8MEGEN Net - - - - 2 +Cmdn8MEGEN_RNO ORCALUT4 C In 0.000 1.456 r - +Cmdn8MEGEN_RNO ORCALUT4 Z Out 0.757 2.213 r - +N_19_i Net - - - - 1 +Cmdn8MEGEN FD1P3AX D In 0.000 2.213 r - +================================================================================= + + + + +==================================== +Detailed Report for Clock: nCRAS +==================================== + + + +Starting Points with Worst Slack +******************************** + + Starting Arrival +Instance Reference Type Pin Net Time Slack + Clock +-------------------------------------------------------------------------------- +CBR nCRAS FD1S3AX Q CBR 1.660 -3.609 +CBR_fast nCRAS FD1S3AX Q CBR_fast 1.456 -3.513 +FWEr nCRAS FD1S3AX Q FWEr 1.552 -3.501 +FWEr_fast nCRAS FD1S3AX Q FWEr_fast 1.456 -3.405 +================================================================================ + + +Ending Points with Worst Slack +****************************** + + Starting Required +Instance Reference Type Pin Net Time Slack + Clock +--------------------------------------------------------------------------------------- +nRWE nCRAS FD1S3AY D N_39_i -0.003 -3.609 +nRowColSel nCRAS FD1S3IX D nRowColSel_0_0 -0.003 -3.609 +nRCAS nCRAS FD1S3AY D N_37_i -0.003 -3.513 +RCKEEN nCRAS FD1S3AX D RCKEEN_8 -0.003 -3.405 +nRCS nCRAS FD1S3AY D N_28_i -0.003 -3.405 +======================================================================================= + + + +Worst Path Information +*********************** + + +Path information for path number 1: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRWE / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +--------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRWE_RNO_0 ORCALUT4 A In 0.000 1.660 r - +nRWE_RNO_0 ORCALUT4 Z Out 1.189 2.849 f - +G_17_1 Net - - - - 1 +nRWE_RNO ORCALUT4 B In 0.000 2.849 f - +nRWE_RNO ORCALUT4 Z Out 0.757 3.606 r - +N_39_i Net - - - - 1 +nRWE FD1S3AY D In 0.000 3.606 r - +================================================================================= + + +Path information for path number 2: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.606 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.609 + + Number of logic level(s): 2 + Starting point: CBR / Q + Ending point: nRowColSel / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +-------------------------------------------------------------------------------------- +CBR FD1S3AX Q Out 1.660 1.660 r - +CBR Net - - - - 5 +nRowColSel_0_0_a3_0 ORCALUT4 B In 0.000 1.660 r - +nRowColSel_0_0_a3_0 ORCALUT4 Z Out 1.189 2.849 f - +N_179 Net - - - - 1 +nRowColSel_0_0 ORCALUT4 B In 0.000 2.849 f - +nRowColSel_0_0 ORCALUT4 Z Out 0.757 3.606 f - +nRowColSel_0_0 Net - - - - 1 +nRowColSel FD1S3IX D In 0.000 3.606 f - +====================================================================================== + + +Path information for path number 3: + Requested Period: 1.000 + - Setup time: 1.003 + + Clock delay at ending point: 0.000 (ideal) + = Required time: -0.003 + + - Propagation time: 3.510 + - Clock delay at starting point: 0.000 (ideal) + = Slack (non-critical) : -3.513 + + Number of logic level(s): 2 + Starting point: CBR_fast / Q + Ending point: nRCAS / D + The start point is clocked by nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK + The end point is clocked by RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK + +Instance / Net Pin Pin Arrival No. of +Name Type Name Dir Delay Time Fan Out(s) +---------------------------------------------------------------------------------------- +CBR_fast FD1S3AX Q Out 1.456 1.456 r - +CBR_fast Net - - - - 2 +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 A In 0.000 1.456 r - +nRCAS_0_sqmuxa_1_0_a3 ORCALUT4 Z Out 1.297 2.753 r - +nRCAS_0_sqmuxa_1 Net - - - - 2 +nRCAS_RNO ORCALUT4 B In 0.000 2.753 r - +nRCAS_RNO ORCALUT4 Z Out 0.757 3.510 f - +N_37_i Net - - - - 1 +nRCAS FD1S3AY D In 0.000 3.510 f - +======================================================================================== + + + +##### END OF TIMING REPORT #####] + +Timing exceptions that could not be applied + +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + + +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB) + +--------------------------------------- +Resource Usage Report +Part: lcmxo640c-3 + +Register bits: 92 of 640 (14%) +PIC Latch: 0 +I/O cells: 67 + + +Details: +BB: 8 +CCU2: 9 +FD1P3AX: 11 +FD1S3AX: 59 +FD1S3AY: 5 +FD1S3IX: 14 +FD1S3JX: 3 +GSR: 1 +IB: 26 +INV: 8 +OB: 33 +ORCALUT4: 119 +PFUMX: 2 +PUR: 1 +VHI: 1 +VLO: 1 +Mapper successful! + +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 196MB) + +Process took 0h:00m:03s realtime, 0h:00m:03s cputime +# Sat Aug 19 20:57:12 2023 + +###########################################################] diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.srr.db b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.srr.db index cb4c157f860a13dfa9ce989f76c00da7e35eab68..89dd9085930916826180c0a4c42c7ea5bb64c417 100644 GIT binary patch delta 493 zcmZp0XmHrTDqzm4!N7lre+IuS-#k7!-g~^xyv#g@d78N&aNBTA<1*m9!a0XCnNySF zJx3J#GxjL9b8L>RTUj+W7QSJbyi%l_$ZpRc&AjQVk?6CtFIVfK)4RgH(GHQvFFf8RUU*89NX)9YS4)P~x&P zSsX3w*d|BHm?{{=>gDB^q&iyEv4RX{7iIGGH!?jQeG&xerT3@21 z(SnylyivF@5M+vxxuH^uRZME#i z!1{fO)GxzjU}^<40!W%ou98jx8DYu|Ho}`6BjjX~fnjCGHTi+8DYtQ~US57lDv-|! z<{QEJ93VcYA&fuSS#~BU9Pi26fgB*r3U&ayD3h$)noW+Da|9V7 h!~!;gl}IBH!FXHF0pt={`AQHqLtXJQUC(=#wP#( diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.szr b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_fpga_mapper.szr index 9a4b0b363c20917327d745e1ff62b96947902dd6..573effe67c0bda4e4c0717753e3f8746471701a9 100644 GIT binary patch literal 20764 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 literal 21018 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

    &YP`I59a<0aT%BCvNAHv;Pt_^}1kAt8>YW6O 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 diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr index d691d60..aef77d1 100644 --- a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr +++ b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr @@ -1,28 +1,28 @@ -###########################################################[ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -@N|Running in 64-bit mode -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling - -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime - -Process completed successfully. -# Wed Aug 16 04:50:39 2023 - -###########################################################] +###########################################################[ + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +@N|Running in 64-bit mode +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling + +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime + +Process completed successfully. +# Sat Aug 19 20:57:06 2023 + +###########################################################] diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.srr b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.srr index f81b743..1c9fa5c 100644 --- a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.srr +++ b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.srr @@ -1,162 +1,162 @@ -# Wed Aug 16 04:50:39 2023 - - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ - - -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB) - - -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB) - -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" -@N: MF916 |Option synthesis_strategy=base is enabled. -@N: MF248 |Running in 64-bit mode. -@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) - -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB) - - -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB) - - -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB) - -@N: FX493 |Applying initial value "0" on instance InitReady. -@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. -@N: FX493 |Applying initial value "0" on instance Ready. -@N: FX493 |Applying initial value "0" on instance RCKE. -@N: FX493 |Applying initial value "1" on instance nRCAS. -@N: FX493 |Applying initial value "0" on instance CmdLEDEN. -@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRCS. -@N: FX493 |Applying initial value "0" on instance LEDEN. -@N: FX493 |Applying initial value "0" on instance n8MEGEN. -@N: FX493 |Applying initial value "1" on instance nRRAS. -@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdUFMCS. -@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. -@N: FX493 |Applying initial value "0" on instance C1Submitted. -@N: FX493 |Applying initial value "0" on instance CmdSubmitted. -@N: FX493 |Applying initial value "0" on instance ADSubmitted. -@N: FX493 |Applying initial value "0" on instance XOR8MEG. -@N: FX493 |Applying initial value "1" on instance nUFMCS. -@N: FX493 |Applying initial value "0" on instance UFMSDI. -@N: FX493 |Applying initial value "0" on instance UFMCLK. -@N: FX493 |Applying initial value "0" on instance CmdEnable. -@N: FX493 |Applying initial value "1" on instance nRWE. - -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB) - - -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB) - - -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB) - -@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS - -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - - -Clock Summary -****************** - - Start Requested Requested Clock Clock Clock -Level Clock Frequency Period Type Group Load ---------------------------------------------------------------------------------------- -0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 - -0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 - -0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 - -0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 -======================================================================================= - - - -Clock Load Summary -*********************** - - Clock Source Clock Pin Non-clock Pin Non-clock Pin -Clock Load Pin Seq Example Seq Example Comb Example ----------------------------------------------------------------------------------------- -RCLK 48 RCLK(port) CASr2.C - - - -PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) - -nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) - -nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) -======================================================================================== - -ICG Latch Removal Summary: -Number of ICG latches removed: 0 -Number of ICG latches not removed: 0 -For details review file gcc_ICG_report.rpt - - -@S |Clock Optimization Summary - - - -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ - -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) -0 instances converted, 0 sequential instances remain driven by gated/generated clocks - -=========================== Non-Gated/Non-Generated Clocks ============================ -Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance ---------------------------------------------------------------------------------------- -@KP:ckid0_0 RCLK port 48 nRWE -@KP:ckid0_1 PHI2 port 19 RA11 -@KP:ckid0_2 nCCAS port 8 WRD[7:0] -@KP:ckid0_3 nCRAS port 14 RowA[9:0] -======================================================================================= - - -##### END OF CLOCK OPTIMIZATION REPORT ###### - -@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. -Finished Pre Mapping Phase. - -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB) - - -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB) - -Pre-mapping successful! - -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB) - -Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Wed Aug 16 04:50:41 2023 - -###########################################################] +# Sat Aug 19 20:57:07 2023 + + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct 6 2021 11:12:38, @ + + +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB) + + +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 131MB peak: 140MB) + +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc +@L: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt" +@N: MF916 |Option synthesis_strategy=base is enabled. +@N: MF248 |Running in 64-bit mode. +@N: MF666 |Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) + +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB) + + +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB) + + +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB) + +@N: FX493 |Applying initial value "0" on instance InitReady. +@W: FX474 |User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved. +@N: FX493 |Applying initial value "0" on instance Ready. +@N: FX493 |Applying initial value "0" on instance RCKE. +@N: FX493 |Applying initial value "1" on instance nRCAS. +@N: FX493 |Applying initial value "0" on instance CmdLEDEN. +@N: FX493 |Applying initial value "0" on instance Cmdn8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRCS. +@N: FX493 |Applying initial value "0" on instance LEDEN. +@N: FX493 |Applying initial value "0" on instance n8MEGEN. +@N: FX493 |Applying initial value "1" on instance nRRAS. +@N: FX493 |Applying initial value "0" on instance CmdUFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdUFMCS. +@N: FX493 |Applying initial value "0" on instance CmdUFMSDI. +@N: FX493 |Applying initial value "0" on instance C1Submitted. +@N: FX493 |Applying initial value "0" on instance CmdSubmitted. +@N: FX493 |Applying initial value "0" on instance ADSubmitted. +@N: FX493 |Applying initial value "0" on instance XOR8MEG. +@N: FX493 |Applying initial value "1" on instance nUFMCS. +@N: FX493 |Applying initial value "0" on instance UFMSDI. +@N: FX493 |Applying initial value "0" on instance UFMCLK. +@N: FX493 |Applying initial value "0" on instance CmdEnable. +@N: FX493 |Applying initial value "1" on instance nRWE. + +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + +@N: FX1184 |Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS + +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB) + + + +Clock Summary +****************** + + Start Requested Requested Clock Clock Clock +Level Clock Frequency Period Type Group Load +--------------------------------------------------------------------------------------- +0 - RCLK 62.5 MHz 16.000 declared default_clkgroup 48 + +0 - PHI2 2.9 MHz 350.000 declared default_clkgroup 19 + +0 - nCRAS 2.9 MHz 350.000 declared default_clkgroup 14 + +0 - nCCAS 2.9 MHz 350.000 declared default_clkgroup 8 +======================================================================================= + + + +Clock Load Summary +*********************** + + Clock Source Clock Pin Non-clock Pin Non-clock Pin +Clock Load Pin Seq Example Seq Example Comb Example +---------------------------------------------------------------------------------------- +RCLK 48 RCLK(port) CASr2.C - - + +PHI2 19 PHI2(port) Bank[7:0].C PHI2r.D[0] un1_PHI2.I[0](inv) + +nCRAS 14 nCRAS(port) CBR.C RASr.D[0] RASr_2.I[0](inv) + +nCCAS 8 nCCAS(port) WRD[7:0].C CASr.D[0] CASr_2.I[0](inv) +======================================================================================== + +ICG Latch Removal Summary: +Number of ICG latches removed: 0 +Number of ICG latches not removed: 0 +For details review file gcc_ICG_report.rpt + + +@S |Clock Optimization Summary + + + +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[ + +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s) +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s) +0 instances converted, 0 sequential instances remain driven by gated/generated clocks + +=========================== Non-Gated/Non-Generated Clocks ============================ +Clock Tree ID Driving Element Drive Element Type Fanout Sample Instance +--------------------------------------------------------------------------------------- +@KP:ckid0_0 RCLK port 48 nRWE +@KP:ckid0_1 PHI2 port 19 RA11 +@KP:ckid0_2 nCCAS port 8 WRD[7:0] +@KP:ckid0_3 nCRAS port 14 RowA[9:0] +======================================================================================= + + +##### END OF CLOCK OPTIMIZATION REPORT ###### + +@N: FX1143 |Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. +Finished Pre Mapping Phase. + +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB) + + +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + + +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB) + +Pre-mapping successful! + +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB) + +Process took 0h:00m:01s realtime, 0h:00m:01s cputime +# Sat Aug 19 20:57:08 2023 + +###########################################################] diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.srr.db b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.srr.db index d9916f4b03648202292a912b1dd9e9e5e5ec6b27..128214c91be4e56786eca81db5f462f3704ba0cc 100644 GIT binary patch delta 354 zcmZp0XmHq2B*7>@xmY3^NS>Fl1Co4_&K&YG_7ZI3yqS{?rS*hE-F%&Wy!G<(OHzU2 z;>hB`E}k%PF{rrw$D$1Sbnhn(_c`hTAYXPudBnVWYG&P~MJja-*!tWE~j}kS)A$Te4($ zK(ahQS>?$A()^Rx$Z!D#Y`G^N1Pa`hkpL=p<^n1&1iHa+vYsqRxg+P~LTOWOA6FMw zKZtK8*U8!g?b;`62QrNfW*T=;YGO(yREe$JETE(l3(%oPlX>O&fa+!BtAONmc}*aB KP~MhFUIqZE>Q!3+ delta 354 zcmZp0XmHq2B*Ex7xmY3^NS>Fl1Co4_&K!<1_7ZI3yqS{?rS*hE-F%&Wy!G<(OHzU2 z;>hB`E}k%PF{rrw?$A()^Rx$Z!D#Y`G^N1Pa`hkpL=p<^n1&1iHa+vYsqRxg+P~LTOWOA6FMw zKZtK8*U8!g?b;`62QrNfW*T=;YGO(yREe$JETE(l3(%oPlX>O&fa+!BtAONmc}*aB KP~MiwQ3e18V_6db diff --git a/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.szr b/CPLD/LCMXO640C/impl1/synlog/RAM2GS_LCMXO640C_impl1_premap.szr index 85706cb6c3d51a69a5139c9c07b124c0a11105ff..06c3b0ee87b17d77b5905cb0defec1b32a842de4 100644 GIT binary patch literal 12305 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 literal 12388 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 RGhZi&ebTa

    -
    -#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021
    -#install: C:\lscc\diamond\3.12\synpbase
    -#OS: Windows 8 6.2
    -#Hostname: ZANEPC
    -
    -# Wed Aug 16 04:50:37 2023
    -
    -#Implementation: impl1
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    -@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    -@I::"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" (library work)
    -Verilog syntax check successful!
    -
    -Compiler output is up to date.  No re-compile necessary
    -
    -Selecting top level module RAM2GS
    -@N:CG364 : RAM2GS-SPI.v(1) | Synthesizing module RAM2GS in library work.
    -Running optimization stage 1 on RAM2GS .......
    -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 93MB)
    -Running optimization stage 2 on RAM2GS .......
    -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 93MB peak: 93MB)
    -
    -For a summary of runtime and memory usage per design unit, please see file:
    -==========================================================
    -Linked File:  layer0.rt.csv
    -
    -
    -At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 89MB peak: 90MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:38 2023
    -
    -###########################################################]
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:38 2023
    -
    -###########################################################]
    -
    -For a summary of runtime and memory usage for all design units, please see file:
    -==========================================================
    -Linked File:  RAM2GS_LCMXO640C_impl1_comp.rt.csv
    -
    -@END
    -
    -At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 23MB peak: 23MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:38 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -###########################################################[
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    -
    -@N: :  | Running in 64-bit mode 
    -File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling
    -
    -At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 90MB peak: 91MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -
    -Process completed successfully.
    -# Wed Aug 16 04:50:39 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -# Wed Aug 16 04:50:39 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB)
    -
    -
    -Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 121MB peak: 130MB)
    -
    -Reading constraint file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -Linked File:  RAM2GS_LCMXO640C_impl1_scck.rpt
    -See clock summary report "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt"
    -@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    -@N:MF248 :  | Running in 64-bit mode. 
    -@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 125MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 138MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 138MB peak: 140MB)
    -
    -@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    -@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    -@N:FX493 :  | Applying initial value "0" on instance Ready. 
    -@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    -@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    -@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    -@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    -@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    -@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    -@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMCLK. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMCS. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdUFMSDI. 
    -@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdSubmitted. 
    -@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    -@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    -@N:FX493 :  | Applying initial value "1" on instance nUFMCS. 
    -@N:FX493 :  | Applying initial value "0" on instance UFMSDI. 
    -@N:FX493 :  | Applying initial value "0" on instance UFMCLK. 
    -@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    -@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    -
    -Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 170MB)
    -
    -
    -Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB)
    -
    -
    -Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 170MB peak: 171MB)
    -
    -
    -Finished clock optimization report phase (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -@N:FX1184 :  | Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS  
    -
    -Finished netlist restructuring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB)
    -
    -
    -
    -Clock Summary
    -******************
    -
    -          Start     Requested     Requested     Clock        Clock                Clock
    -Level     Clock     Frequency     Period        Type         Group                Load 
    ----------------------------------------------------------------------------------------
    -0 -       RCLK      62.5 MHz      16.000        declared     default_clkgroup     48   
    -                                                                                       
    -0 -       PHI2      2.9 MHz       350.000       declared     default_clkgroup     19   
    -                                                                                       
    -0 -       nCRAS     2.9 MHz       350.000       declared     default_clkgroup     14   
    -                                                                                       
    -0 -       nCCAS     2.9 MHz       350.000       declared     default_clkgroup     8    
    -=======================================================================================
    -
    -
    -
    -Clock Load Summary
    -***********************
    -
    -          Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    -Clock     Load      Pin             Seq Example     Seq Example       Comb Example      
    -----------------------------------------------------------------------------------------
    -RCLK      48        RCLK(port)      CASr2.C         -                 -                 
    -                                                                                        
    -PHI2      19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    -                                                                                        
    -nCRAS     14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    -                                                                                        
    -nCCAS     8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    -========================================================================================
    -
    -ICG Latch Removal Summary:
    -Number of ICG latches removed: 0
    -Number of ICG latches not removed:	0
    -For details review file gcc_ICG_report.rpt
    -
    -
    -@S |Clock Optimization Summary
    -
    -
    -
    -#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    -
    -4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s)
    -0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    -0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    -
    -=========================== Non-Gated/Non-Generated Clocks ============================
    -Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    ----------------------------------------------------------------------------------------
    -ClockId_0_0       RCLK                port                   48         nRWE           
    -ClockId_0_1       PHI2                port                   19         RA11           
    -ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    -ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    -=======================================================================================
    -
    -
    -##### END OF CLOCK OPTIMIZATION REPORT ######
    -
    -@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    -Finished Pre Mapping Phase.
    -
    -Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 171MB peak: 171MB)
    -
    -
    -Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 172MB peak: 172MB)
    -
    -Pre-mapping successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 92MB peak: 173MB)
    -
    -Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    -# Wed Aug 16 04:50:41 2023
    -
    -###########################################################]
    -
    -
    -
    -
    -# Wed Aug 16 04:50:41 2023
    -
    -
    -Copyright (C) 1994-2021 Synopsys, Inc.
    -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    -and may only be used pursuant to the terms and conditions of a written license agreement
    -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    -Synopsys software or the associated documentation is strictly prohibited.
    -Tool: Synplify Pro (R)
    -Build: R-2021.03L-SP1
    -Install: C:\lscc\diamond\3.12\synpbase
    -OS: Windows 6.2
    -
    -Hostname: ZANEPC
    -
    -Implementation : impl1
    -Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    -
    -
    -Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 117MB peak: 117MB)
    -
    -@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    -@N:MF248 :  | Running in 64-bit mode. 
    -@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    -
    -Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB)
    -
    -
    -Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 119MB peak: 130MB)
    -
    -
    -Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 133MB peak: 133MB)
    -
    -
    -Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 135MB peak: 136MB)
    -
    -
    -
    -Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 168MB peak: 168MB)
    -
    -
    -Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 171MB peak: 171MB)
    -
    -@N:MO231 : ram2gs-spi.v(147) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    -@N:MO231 : ram2gs-spi.v(134) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    -@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    -@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    -@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    -@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    -@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    -
    -Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:01s; Memory used current: 173MB peak: 173MB)
    -
    -
    -Finished factoring (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 174MB peak: 174MB)
    -
    -
    -Available hyper_sources - for debug and ip models
    -	None Found
    -
    -
    -Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB)
    -
    -
    -Starting Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 175MB peak: 175MB)
    -
    -
    -Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB)
    -
    -
    -Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB)
    -
    -
    -Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 176MB peak: 176MB)
    -
    -
    -Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 177MB peak: 177MB)
    -
    -Pass		 CPU time		Worst Slack		Luts / Registers
    -------------------------------------------------------------
    -   1		0h:00m:01s		    -3.26ns		 127 /        89
    -   2		0h:00m:01s		    -3.23ns		 123 /        89
    -   3		0h:00m:01s		    -3.23ns		 123 /        89
    -   4		0h:00m:01s		    -3.23ns		 123 /        89
    -   5		0h:00m:01s		    -3.23ns		 124 /        89
    -   6		0h:00m:01s		    -3.23ns		 124 /        89
    -@N:FX271 : ram2gs-spi.v(105) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-spi.v(105) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    -@N:FX271 : ram2gs-spi.v(147) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing.
    -Timing driven replication report
    -Added 3 Registers via timing driven replication
    -Added 1 LUTs via timing driven replication
    -
    -   7		0h:00m:02s		    -2.99ns		 128 /        92
    -
    -
    -   8		0h:00m:02s		    -2.99ns		 127 /        92
    -   9		0h:00m:02s		    -3.09ns		 127 /        92
    -  10		0h:00m:02s		    -3.19ns		 127 /        92
    -  11		0h:00m:02s		    -3.19ns		 127 /        92
    -  12		0h:00m:02s		    -3.19ns		 127 /        92
    -
    -Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB)
    -
    -
    -Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 178MB peak: 179MB)
    -
    -
    -Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 143MB peak: 179MB)
    -
    -Writing Analyst data base D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm
    -
    -Finished Writing Netlist Databases (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 179MB peak: 179MB)
    -
    -Writing EDIF Netlist and constraint files
    -@N:FX1056 :  | Writing EDF file: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi 
    -@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    -
    -Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 184MB)
    -
    -
    -Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 184MB peak: 185MB)
    -
    -
    -Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 182MB peak: 185MB)
    -
    -@N:MT615 :  | Found clock RCLK with period 16.00ns  
    -@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    -@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    -@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    -
    -
    -##### START OF TIMING REPORT #####[
    -# Timing report written on Wed Aug 16 04:50:45 2023
    -#
    -
    -
    -Top view:               RAM2GS
    -Requested Frequency:    2.9 MHz
    -Wire load mode:         top
    -Paths requested:        3
    -Constraint File(s):    D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc
    -                       
    -@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    -
    -@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    -
    -
    -
    -Performance Summary
    -*******************
    -
    -
    -Worst slack in design: -3.705
    -
    -                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    -Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    --------------------------------------------------------------------------------------------------------------------
    -PHI2               2.9 MHz       0.6 MHz       350.000       1646.750      -3.705     declared     default_clkgroup
    -RCLK               62.5 MHz      13.3 MHz      16.000        75.280        -2.312     declared     default_clkgroup
    -nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    -nCRAS              2.9 MHz       0.6 MHz       350.000       1613.150      -3.609     declared     default_clkgroup
    -===================================================================================================================
    -Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    -
    -
    -@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    -@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    -@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    -
    -
    -
    -Clock Relationships
    -*******************
    -
    -Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    ----------------------------------------------------------------------------------------------------------------
    -Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    ----------------------------------------------------------------------------------------------------------------
    -RCLK      RCLK    |  16.000      7.560   |  No paths    -        |  No paths    -        |  No paths    -      
    -RCLK      PHI2    |  2.000       -1.216  |  No paths    -        |  1.000       -2.312   |  No paths    -      
    -PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.705 
    -PHI2      PHI2    |  No paths    -       |  350.000     343.998  |  175.000     166.500  |  175.000     171.784
    -nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.609 
    -===============================================================================================================
    - Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    -       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    -
    -
    -
    -Interface Information 
    -*********************
    -
    -No IO constraint found
    -
    -
    -
    -====================================
    -Detailed Report for Clock: PHI2
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -                 Starting                                           Arrival            
    -Instance         Reference     Type        Pin     Net              Time        Slack  
    -                 Clock                                                                 
    ----------------------------------------------------------------------------------------
    -CmdSubmitted     PHI2          FD1S3AX     Q       CmdSubmitted     1.552       -3.705 
    -CmdUFMCLK        PHI2          FD1P3AX     Q       CmdUFMCLK        1.348       -3.297 
    -CmdUFMCS         PHI2          FD1P3AX     Q       CmdUFMCS         1.348       -3.297 
    -CmdUFMSDI        PHI2          FD1P3AX     Q       CmdUFMSDI        1.348       -3.297 
    -CmdLEDEN         PHI2          FD1P3AX     Q       CmdLEDEN         1.456       -2.216 
    -Cmdn8MEGEN       PHI2          FD1P3AX     Q       Cmdn8MEGEN       1.456       -2.216 
    -Bank[2]          PHI2          FD1S3AX     Q       Bank[2]          1.348       166.500
    -Bank[3]          PHI2          FD1S3AX     Q       Bank[3]          1.348       166.500
    -Bank[4]          PHI2          FD1S3AX     Q       Bank[4]          1.348       166.500
    -Bank[5]          PHI2          FD1S3AX     Q       Bank[5]          1.348       166.500
    -=======================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -                 Starting                                               Required            
    -Instance         Reference     Type        Pin     Net                  Time         Slack  
    -                 Clock                                                                      
    ---------------------------------------------------------------------------------------------
    -UFMCLK           PHI2          FD1S3AX     D       UFMCLK_RNO           -0.003       -3.705 
    -UFMSDI           PHI2          FD1S3AX     D       UFMSDI_RNO           -0.003       -3.705 
    -nUFMCS           PHI2          FD1S3AY     D       nUFMCS_s_0_N_5_i     -0.003       -3.705 
    -LEDEN            PHI2          FD1P3AX     SP      N_33                 0.806        -2.800 
    -n8MEGEN          PHI2          FD1P3AX     SP      N_31                 0.806        -2.800 
    -LEDEN            PHI2          FD1P3AX     D       N_70                 -0.003       -2.216 
    -n8MEGEN          PHI2          FD1P3AX     D       N_69                 -0.003       -2.216 
    -CmdSubmitted     PHI2          FD1S3AX     D       N_460_0              173.997      166.500
    -ADSubmitted      PHI2          FD1S3AX     D       ADSubmitted_r        173.997      167.797
    -C1Submitted      PHI2          FD1S3AX     D       C1Submitted_RNO      173.997      167.797
    -============================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.702
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -3.705
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CmdSubmitted / Q
    -    Ending point:                            UFMCLK / D
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                   Pin      Pin               Arrival     No. of    
    -Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------
    -CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    -CmdSubmitted        Net          -        -       -         -           3         
    -PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    -PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    -N_139_i             Net          -        -       -         -           3         
    -UFMCLK_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    -UFMCLK_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    -UFMCLK_RNO          Net          -        -       -         -           1         
    -UFMCLK              FD1S3AX      D        In      0.000     3.702 r     -         
    -==================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.702
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -3.705
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CmdSubmitted / Q
    -    Ending point:                            nUFMCS / D
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                    Pin      Pin               Arrival     No. of    
    -Name                 Type         Name     Dir     Delay     Time        Fan Out(s)
    ------------------------------------------------------------------------------------
    -CmdSubmitted         FD1S3AX      Q        Out     1.552     1.552 r     -         
    -CmdSubmitted         Net          -        -       -         -           3         
    -PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.552 r     -         
    -PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.393     2.945 r     -         
    -N_139_i              Net          -        -       -         -           3         
    -nUFMCS_s_0_N_5_i     ORCALUT4     A        In      0.000     2.945 r     -         
    -nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.757     3.702 r     -         
    -nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
    -nUFMCS               FD1S3AY      D        In      0.000     3.702 r     -         
    -===================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.702
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (critical) :                     -3.705
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CmdSubmitted / Q
    -    Ending point:                            UFMSDI / D
    -    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                   Pin      Pin               Arrival     No. of    
    -Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------
    -CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    -CmdSubmitted        Net          -        -       -         -           3         
    -PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    -PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    -N_139_i             Net          -        -       -         -           3         
    -UFMSDI_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    -UFMSDI_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    -UFMSDI_RNO          Net          -        -       -         -           1         
    -UFMSDI              FD1S3AX      D        In      0.000     3.702 r     -         
    -==================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: RCLK
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -             Starting                                      Arrival           
    -Instance     Reference     Type        Pin     Net         Time        Slack 
    -             Clock                                                           
    ------------------------------------------------------------------------------
    -LEDEN        RCLK          FD1P3AX     Q       LEDEN       1.552       -2.312
    -n8MEGEN      RCLK          FD1P3AX     Q       n8MEGEN     1.456       -2.216
    -FS[13]       RCLK          FD1S3AX     Q       FS[13]      1.552       7.560 
    -FS[14]       RCLK          FD1S3AX     Q       FS[14]      1.552       7.560 
    -FS[15]       RCLK          FD1S3AX     Q       FS[15]      1.552       7.560 
    -FS[17]       RCLK          FD1S3AX     Q       FS[17]      1.552       7.560 
    -S[1]         RCLK          FD1S3IX     Q       S[1]        1.768       8.533 
    -S[0]         RCLK          FD1S3IX     Q       CO0         1.756       8.545 
    -FS[16]       RCLK          FD1S3AX     Q       FS[16]      1.612       8.689 
    -FS[12]       RCLK          FD1S3AX     Q       FS[12]      1.552       8.749 
    -=============================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                               Required           
    -Instance       Reference     Type        Pin     Net                  Time         Slack 
    -               Clock                                                                     
    ------------------------------------------------------------------------------------------
    -CmdLEDEN       RCLK          FD1P3AX     D       N_21_i               -0.003       -2.312
    -XOR8MEG        RCLK          FD1P3AX     D       XOR8MEG_3            -0.003       -2.312
    -Cmdn8MEGEN     RCLK          FD1P3AX     D       N_19_i               -0.003       -2.216
    -RA11           RCLK          FD1S3IX     D       RA11_2               0.997        -1.216
    -UFMSDI         RCLK          FD1S3AX     D       UFMSDI_RNO           14.997       7.560 
    -UFMCLK         RCLK          FD1S3AX     D       UFMCLK_RNO           14.997       7.668 
    -LEDEN          RCLK          FD1P3AX     SP      N_33                 15.806       8.261 
    -n8MEGEN        RCLK          FD1P3AX     SP      N_31                 15.806       8.261 
    -nRCS           RCLK          FD1S3AY     D       N_28_i               14.997       8.533 
    -nUFMCS         RCLK          FD1S3AY     D       nUFMCS_s_0_N_5_i     14.997       8.653 
    -=========================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      2.309
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -2.312
    -
    -    Number of logic level(s):                1
    -    Starting point:                          LEDEN / Q
    -    Ending point:                            CmdLEDEN / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -LEDEN              FD1P3AX      Q        Out     1.552     1.552 r     -         
    -LEDEN              Net          -        -       -         -           3         
    -CmdLEDEN_RNO       ORCALUT4     A        In      0.000     1.552 r     -         
    -CmdLEDEN_RNO       ORCALUT4     Z        Out     0.757     2.309 r     -         
    -N_21_i             Net          -        -       -         -           1         
    -CmdLEDEN           FD1P3AX      D        In      0.000     2.309 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      2.309
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -2.312
    -
    -    Number of logic level(s):                1
    -    Starting point:                          LEDEN / Q
    -    Ending point:                            XOR8MEG / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                      Pin      Pin               Arrival     No. of    
    -Name                   Type         Name     Dir     Delay     Time        Fan Out(s)
    --------------------------------------------------------------------------------------
    -LEDEN                  FD1P3AX      Q        Out     1.552     1.552 r     -         
    -LEDEN                  Net          -        -       -         -           3         
    -XOR8MEG_3_u_0_a3_3     ORCALUT4     B        In      0.000     1.552 r     -         
    -XOR8MEG_3_u_0_a3_3     ORCALUT4     Z        Out     0.757     2.309 f     -         
    -XOR8MEG_3              Net          -        -       -         -           1         
    -XOR8MEG                FD1P3AX      D        In      0.000     2.309 f     -         
    -=====================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      2.213
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -2.216
    -
    -    Number of logic level(s):                1
    -    Starting point:                          n8MEGEN / Q
    -    Ending point:                            Cmdn8MEGEN / D
    -    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -n8MEGEN            FD1P3AX      Q        Out     1.456     1.456 r     -         
    -n8MEGEN            Net          -        -       -         -           2         
    -Cmdn8MEGEN_RNO     ORCALUT4     C        In      0.000     1.456 r     -         
    -Cmdn8MEGEN_RNO     ORCALUT4     Z        Out     0.757     2.213 r     -         
    -N_19_i             Net          -        -       -         -           1         
    -Cmdn8MEGEN         FD1P3AX      D        In      0.000     2.213 r     -         
    -=================================================================================
    -
    -
    -
    -
    -====================================
    -Detailed Report for Clock: nCRAS
    -====================================
    -
    -
    -
    -Starting Points with Worst Slack
    -********************************
    -
    -              Starting                                        Arrival           
    -Instance      Reference     Type        Pin     Net           Time        Slack 
    -              Clock                                                             
    ---------------------------------------------------------------------------------
    -CBR           nCRAS         FD1S3AX     Q       CBR           1.660       -3.609
    -CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.456       -3.513
    -FWEr          nCRAS         FD1S3AX     Q       FWEr          1.552       -3.501
    -FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     1.456       -3.405
    -================================================================================
    -
    -
    -Ending Points with Worst Slack
    -******************************
    -
    -               Starting                                             Required           
    -Instance       Reference     Type        Pin     Net                Time         Slack 
    -               Clock                                                                   
    ----------------------------------------------------------------------------------------
    -nRWE           nCRAS         FD1S3AY     D       N_39_i             -0.003       -3.609
    -nRowColSel     nCRAS         FD1S3IX     D       nRowColSel_0_0     -0.003       -3.609
    -nRCAS          nCRAS         FD1S3AY     D       N_37_i             -0.003       -3.513
    -RCKEEN         nCRAS         FD1S3AX     D       RCKEEN_8           -0.003       -3.405
    -nRCS           nCRAS         FD1S3AY     D       N_28_i             -0.003       -3.405
    -=======================================================================================
    -
    -
    -
    -Worst Path Information
    -View Worst Path in Analyst
    -***********************
    -
    -
    -Path information for path number 1: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.606
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -3.609
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR / Q
    -    Ending point:                            nRWE / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                  Pin      Pin               Arrival     No. of    
    -Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    ----------------------------------------------------------------------------------
    -CBR                FD1S3AX      Q        Out     1.660     1.660 r     -         
    -CBR                Net          -        -       -         -           5         
    -nRWE_RNO_0         ORCALUT4     A        In      0.000     1.660 r     -         
    -nRWE_RNO_0         ORCALUT4     Z        Out     1.189     2.849 f     -         
    -G_17_1             Net          -        -       -         -           1         
    -nRWE_RNO           ORCALUT4     B        In      0.000     2.849 f     -         
    -nRWE_RNO           ORCALUT4     Z        Out     0.757     3.606 r     -         
    -N_39_i             Net          -        -       -         -           1         
    -nRWE               FD1S3AY      D        In      0.000     3.606 r     -         
    -=================================================================================
    -
    -
    -Path information for path number 2: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.606
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -3.609
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR / Q
    -    Ending point:                            nRowColSel / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                       Pin      Pin               Arrival     No. of    
    -Name                    Type         Name     Dir     Delay     Time        Fan Out(s)
    ---------------------------------------------------------------------------------------
    -CBR                     FD1S3AX      Q        Out     1.660     1.660 r     -         
    -CBR                     Net          -        -       -         -           5         
    -nRowColSel_0_0_a3_0     ORCALUT4     B        In      0.000     1.660 r     -         
    -nRowColSel_0_0_a3_0     ORCALUT4     Z        Out     1.189     2.849 f     -         
    -N_179                   Net          -        -       -         -           1         
    -nRowColSel_0_0          ORCALUT4     B        In      0.000     2.849 f     -         
    -nRowColSel_0_0          ORCALUT4     Z        Out     0.757     3.606 f     -         
    -nRowColSel_0_0          Net          -        -       -         -           1         
    -nRowColSel              FD1S3IX      D        In      0.000     3.606 f     -         
    -======================================================================================
    -
    -
    -Path information for path number 3: 
    -      Requested Period:                      1.000
    -    - Setup time:                            1.003
    -    + Clock delay at ending point:           0.000 (ideal)
    -    = Required time:                         -0.003
    -
    -    - Propagation time:                      3.510
    -    - Clock delay at starting point:         0.000 (ideal)
    -    = Slack (non-critical) :                 -3.513
    -
    -    Number of logic level(s):                2
    -    Starting point:                          CBR_fast / Q
    -    Ending point:                            nRCAS / D
    -    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    -    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    -
    -Instance / Net                         Pin      Pin               Arrival     No. of    
    -Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    -----------------------------------------------------------------------------------------
    -CBR_fast                  FD1S3AX      Q        Out     1.456     1.456 r     -         
    -CBR_fast                  Net          -        -       -         -           2         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.456 r     -         
    -nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.297     2.753 r     -         
    -nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    -nRCAS_RNO                 ORCALUT4     B        In      0.000     2.753 r     -         
    -nRCAS_RNO                 ORCALUT4     Z        Out     0.757     3.510 f     -         
    -N_37_i                    Net          -        -       -         -           1         
    -nRCAS                     FD1S3AY      D        In      0.000     3.510 f     -         
    -========================================================================================
    -
    -
    -
    -##### END OF TIMING REPORT #####]
    -
    -Timing exceptions that could not be applied
    -
    -Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB)
    -
    -
    -Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 183MB peak: 185MB)
    -
    ----------------------------------------
    -Resource Usage Report
    -Part: lcmxo640c-3
    -
    -Register bits: 92 of 640 (14%)
    -PIC Latch:       0
    -I/O cells:       67
    -
    -
    -Details:
    -BB:             8
    -CCU2:           9
    -FD1P3AX:        11
    -FD1S3AX:        59
    -FD1S3AY:        5
    -FD1S3IX:        14
    -FD1S3JX:        3
    -GSR:            1
    -IB:             26
    -INV:            8
    -OB:             33
    -ORCALUT4:       119
    -PFUMX:          2
    -PUR:            1
    -VHI:            1
    -VLO:            1
    -Mapper successful!
    -
    -At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 66MB peak: 185MB)
    -
    -Process took 0h:00m:04s realtime, 0h:00m:04s cputime
    -# Wed Aug 16 04:50:45 2023
    -
    -###########################################################]
    -
    -
    +
    +
    +#Build: Synplify Pro (R) R-2021.03L-SP1, Build 093R, Aug 10 2021
    +#install: C:\lscc\diamond\3.12\synpbase
    +#OS: Windows 8 6.2
    +#Hostname: ZANEMACWIN11
    +
    +# Sat Aug 19 20:57:05 2023
    +
    +#Implementation: impl1
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys HDL Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Verilog Compiler, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v" (library work)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v" (library __hyper__lib__)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v" (library snps_haps)
    +@I::"C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh" (library snps_haps)
    +@I::"Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" (library work)
    +Verilog syntax check successful!
    +Options changed - recompiling
    +Selecting top level module RAM2GS
    +@N:CG364 : RAM2GS-SPI.v(1) | Synthesizing module RAM2GS in library work.
    +Running optimization stage 1 on RAM2GS .......
    +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 100MB)
    +Running optimization stage 2 on RAM2GS .......
    +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 100MB peak: 101MB)
    +
    +For a summary of runtime and memory usage per design unit, please see file:
    +==========================================================
    +Linked File:  layer0.rt.csv
    +
    +
    +At c_ver Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 100MB peak: 101MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:57:05 2023
    +
    +###########################################################]
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:57:05 2023
    +
    +###########################################################]
    +
    +For a summary of runtime and memory usage for all design units, please see file:
    +==========================================================
    +Linked File:  RAM2GS_LCMXO640C_impl1_comp.rt.csv
    +
    +@END
    +
    +At c_hdl Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 30MB peak: 31MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:57:05 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +###########################################################[
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Synopsys Netlist Linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @
    +
    +@N: :  | Running in 64-bit mode 
    +File D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs changed - recompiling
    +
    +At syn_nfilter Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 98MB peak: 98MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +
    +Process completed successfully.
    +# Sat Aug 19 20:57:06 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +Premap Report
    +
    +
    +
    +
    +
    +# Sat Aug 19 20:57:07 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Pre-mapping, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +
    +Done reading skeleton netlist (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 131MB peak: 140MB)
    +
    +Reading constraint file: Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +Linked File:  RAM2GS_LCMXO640C_impl1_scck.rpt
    +See clock summary report "Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_scck.rpt"
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 137MB peak: 140MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 149MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 149MB peak: 151MB)
    +
    +@N:FX493 :  | Applying initial value "0" on instance InitReady. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance Ready. 
    +@N:FX493 :  | Applying initial value "0" on instance RCKE. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdLEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance Cmdn8MEGEN. 
    +@N:FX493 :  | Applying initial value "1" on instance nRCS. 
    +@N:FX493 :  | Applying initial value "0" on instance LEDEN. 
    +@N:FX493 :  | Applying initial value "0" on instance n8MEGEN. 
    +@N:FX493 :  | Applying initial value "1" on instance nRRAS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMCLK. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMCS. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdUFMSDI. 
    +@N:FX493 :  | Applying initial value "0" on instance C1Submitted. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdSubmitted. 
    +@N:FX493 :  | Applying initial value "0" on instance ADSubmitted. 
    +@N:FX493 :  | Applying initial value "0" on instance XOR8MEG. 
    +@N:FX493 :  | Applying initial value "1" on instance nUFMCS. 
    +@N:FX493 :  | Applying initial value "0" on instance UFMSDI. 
    +@N:FX493 :  | Applying initial value "0" on instance UFMCLK. 
    +@N:FX493 :  | Applying initial value "0" on instance CmdEnable. 
    +@N:FX493 :  | Applying initial value "1" on instance nRWE. 
    +
    +Starting clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Starting clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished clock optimization report phase (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +@N:FX1184 :  | Applying syn_allowed_resources blockrams=0 on top level netlist RAM2GS  
    +
    +Finished netlist restructuring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 181MB peak: 181MB)
    +
    +
    +
    +Clock Summary
    +******************
    +
    +          Start     Requested     Requested     Clock        Clock                Clock
    +Level     Clock     Frequency     Period        Type         Group                Load 
    +---------------------------------------------------------------------------------------
    +0 -       RCLK      62.5 MHz      16.000        declared     default_clkgroup     48   
    +                                                                                       
    +0 -       PHI2      2.9 MHz       350.000       declared     default_clkgroup     19   
    +                                                                                       
    +0 -       nCRAS     2.9 MHz       350.000       declared     default_clkgroup     14   
    +                                                                                       
    +0 -       nCCAS     2.9 MHz       350.000       declared     default_clkgroup     8    
    +=======================================================================================
    +
    +
    +
    +Clock Load Summary
    +***********************
    +
    +          Clock     Source          Clock Pin       Non-clock Pin     Non-clock Pin     
    +Clock     Load      Pin             Seq Example     Seq Example       Comb Example      
    +----------------------------------------------------------------------------------------
    +RCLK      48        RCLK(port)      CASr2.C         -                 -                 
    +                                                                                        
    +PHI2      19        PHI2(port)      Bank[7:0].C     PHI2r.D[0]        un1_PHI2.I[0](inv)
    +                                                                                        
    +nCRAS     14        nCRAS(port)     CBR.C           RASr.D[0]         RASr_2.I[0](inv)  
    +                                                                                        
    +nCCAS     8         nCCAS(port)     WRD[7:0].C      CASr.D[0]         CASr_2.I[0](inv)  
    +========================================================================================
    +
    +ICG Latch Removal Summary:
    +Number of ICG latches removed: 0
    +Number of ICG latches not removed:	0
    +For details review file gcc_ICG_report.rpt
    +
    +
    +@S |Clock Optimization Summary
    +
    +
    +
    +#### START OF PREMAP CLOCK OPTIMIZATION REPORT #####[
    +
    +4 non-gated/non-generated clock tree(s) driving 89 clock pin(s) of sequential element(s)
    +0 gated/generated clock tree(s) driving 0 clock pin(s) of sequential element(s)
    +0 instances converted, 0 sequential instances remain driven by gated/generated clocks
    +
    +=========================== Non-Gated/Non-Generated Clocks ============================
    +Clock Tree ID     Driving Element     Drive Element Type     Fanout     Sample Instance
    +---------------------------------------------------------------------------------------
    +ClockId_0_0       RCLK                port                   48         nRWE           
    +ClockId_0_1       PHI2                port                   19         RA11           
    +ClockId_0_2       nCCAS               port                   8          WRD[7:0]       
    +ClockId_0_3       nCRAS               port                   14         RowA[9:0]      
    +=======================================================================================
    +
    +
    +##### END OF CLOCK OPTIMIZATION REPORT ######
    +
    +@N:FX1143 :  | Skipping assigning INTERNAL_VREF to iobanks, because the table of mapping from pin to iobank is not initialized. 
    +Finished Pre Mapping Phase.
    +
    +Starting constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 181MB peak: 181MB)
    +
    +
    +Finished constraint checker preprocessing (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB)
    +
    +
    +Finished constraint checker (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 182MB peak: 182MB)
    +
    +Pre-mapping successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 102MB peak: 184MB)
    +
    +Process took 0h:00m:01s realtime, 0h:00m:01s cputime
    +# Sat Aug 19 20:57:08 2023
    +
    +###########################################################]
    +
    +
    +
    +
    +Map & Optimize Report
    +
    +
    +
    +
    +
    +# Sat Aug 19 20:57:08 2023
    +
    +
    +Copyright (C) 1994-2021 Synopsys, Inc.
    +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
    +and may only be used pursuant to the terms and conditions of a written license agreement
    +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the
    +Synopsys software or the associated documentation is strictly prohibited.
    +Tool: Synplify Pro (R)
    +Build: R-2021.03L-SP1
    +Install: C:\lscc\diamond\3.12\synpbase
    +OS: Windows 6.2
    +
    +Hostname: ZANEMACWIN11
    +
    +Implementation : impl1
    +Synopsys Lattice Technology Mapper, Version map202103lat, Build 070R, Built Oct  6 2021 11:12:38, @
    +
    +
    +Mapper Startup Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 127MB peak: 127MB)
    +
    +@N:MF916 :  | Option synthesis_strategy=base is enabled.  
    +@N:MF248 :  | Running in 64-bit mode. 
    +@N:MF666 :  | Clock conversion enabled. (Command "set_option -fix_gated_and_generated_clocks 1" in the project file.) 
    +
    +Design Input Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Mapper Initialization Complete (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 129MB peak: 140MB)
    +
    +
    +Start loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 143MB peak: 143MB)
    +
    +
    +Finished loading timing files (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 145MB peak: 147MB)
    +
    +
    +
    +Starting Optimization and Mapping (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 178MB peak: 178MB)
    +
    +
    +Finished RTL optimizations (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 182MB peak: 182MB)
    +
    +@N:MO231 : ram2gs-spi.v(147) | Found counter in view:work.RAM2GS(verilog) instance IS[3:0] 
    +@N:MO231 : ram2gs-spi.v(134) | Found counter in view:work.RAM2GS(verilog) instance FS[17:0] 
    +@N:FX493 :  | Applying initial value "0" on instance IS[0]. 
    +@W:FX474 :  | User-specified initial value defined for some sequential elements which can prevent optimum synthesis results from being achieved.  
    +@N:FX493 :  | Applying initial value "0" on instance IS[1]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[2]. 
    +@N:FX493 :  | Applying initial value "0" on instance IS[3]. 
    +
    +Starting factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 184MB peak: 184MB)
    +
    +
    +Finished factoring (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB)
    +
    +
    +Available hyper_sources - for debug and ip models
    +	None Found
    +
    +
    +Finished generic timing optimizations - Pass 1 (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 186MB peak: 186MB)
    +
    +
    +Starting Early Timing Optimization (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 187MB peak: 187MB)
    +
    +
    +Finished Early Timing Optimization (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished generic timing optimizations - Pass 2 (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished preparing to map (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 188MB peak: 188MB)
    +
    +
    +Finished technology mapping (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 189MB peak: 189MB)
    +
    +Pass		 CPU time		Worst Slack		Luts / Registers
    +------------------------------------------------------------
    +   1		0h:00m:01s		    -3.26ns		 127 /        89
    +   2		0h:00m:01s		    -3.23ns		 123 /        89
    +   3		0h:00m:01s		    -3.23ns		 123 /        89
    +   4		0h:00m:01s		    -3.23ns		 123 /        89
    +   5		0h:00m:01s		    -3.23ns		 124 /        89
    +   6		0h:00m:01s		    -3.23ns		 124 /        89
    +@N:FX271 : ram2gs-spi.v(105) | Replicating instance CBR (in view: work.RAM2GS(verilog)) with 7 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-spi.v(105) | Replicating instance FWEr (in view: work.RAM2GS(verilog)) with 5 loads 1 time to improve timing.
    +@N:FX271 : ram2gs-spi.v(147) | Replicating instance Ready (in view: work.RAM2GS(verilog)) with 15 loads 1 time to improve timing.
    +Timing driven replication report
    +Added 3 Registers via timing driven replication
    +Added 1 LUTs via timing driven replication
    +
    +   7		0h:00m:01s		    -2.99ns		 128 /        92
    +
    +
    +   8		0h:00m:01s		    -2.99ns		 127 /        92
    +   9		0h:00m:01s		    -3.09ns		 127 /        92
    +  10		0h:00m:01s		    -3.19ns		 127 /        92
    +  11		0h:00m:01s		    -3.19ns		 127 /        92
    +  12		0h:00m:01s		    -3.19ns		 127 /        92
    +
    +Finished technology timing optimizations and critical path resynthesis (Real Time elapsed 0h:00m:01s; CPU Time elapsed 0h:00m:01s; Memory used current: 190MB peak: 190MB)
    +
    +
    +Finished restoring hierarchy (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB)
    +
    +
    +Start Writing Netlists (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 154MB peak: 191MB)
    +
    +Writing Analyst data base Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_m.srm
    +
    +Finished Writing Netlist Databases (Real Time elapsed 0h:00m:02s; CPU Time elapsed 0h:00m:02s; Memory used current: 191MB peak: 191MB)
    +
    +Writing EDIF Netlist and constraint files
    +@N:FX1056 :  | Writing EDF file: Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi 
    +@N:BW106 :  | Synplicity Constraint File capacitance units using default value of 1pF  
    +
    +Finished Writing EDIF Netlist and constraint files (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB)
    +
    +
    +Finished Writing Netlists (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 196MB peak: 196MB)
    +
    +
    +Start final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 194MB peak: 196MB)
    +
    +@N:MT615 :  | Found clock RCLK with period 16.00ns  
    +@N:MT615 :  | Found clock PHI2 with period 350.00ns  
    +@N:MT615 :  | Found clock nCRAS with period 350.00ns  
    +@N:MT615 :  | Found clock nCCAS with period 350.00ns  
    +
    +
    +##### START OF TIMING REPORT #####[
    +# Timing report written on Sat Aug 19 20:57:11 2023
    +#
    +
    +
    +Top view:               RAM2GS
    +Requested Frequency:    2.9 MHz
    +Wire load mode:         top
    +Paths requested:        3
    +Constraint File(s):    Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc
    +                       
    +@N:MT320 :  | This timing report is an estimate of place and route data. For final timing results, use the FPGA vendor place and route report. 
    +
    +@N:MT322 :  | Clock constraints include only register-to-register paths associated with each individual clock. 
    +
    +
    +
    +Performance Summary
    +*******************
    +
    +
    +Worst slack in design: -3.705
    +
    +                   Requested     Estimated     Requested     Estimated                Clock        Clock           
    +Starting Clock     Frequency     Frequency     Period        Period        Slack      Type         Group           
    +-------------------------------------------------------------------------------------------------------------------
    +PHI2               2.9 MHz       0.6 MHz       350.000       1646.750      -3.705     declared     default_clkgroup
    +RCLK               62.5 MHz      13.3 MHz      16.000        75.280        -2.312     declared     default_clkgroup
    +nCCAS              2.9 MHz       NA            350.000       NA            NA         declared     default_clkgroup
    +nCRAS              2.9 MHz       0.6 MHz       350.000       1613.150      -3.609     declared     default_clkgroup
    +===================================================================================================================
    +Estimated period and frequency reported as NA means no slack depends directly on the clock waveform
    +
    +
    +@W:MT118 :  | Paths from clock (PHI2:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (PHI2:f) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT118 :  | Paths from clock (nCRAS:f) to clock (RCLK:r) are overconstrained because the required time of 1.00 ns is too small.   
    +@W:MT116 :  | Paths from clock (RCLK:r) to clock (PHI2:r) are overconstrained because the required time of 2.00 ns is too small.   
    +@W:MT117 :  | Paths from clock (RCLK:r) to clock (nCRAS:f) are overconstrained because the required time of 1.00 ns is too small.   
    +
    +
    +
    +Clock Relationships
    +*******************
    +
    +Clocks            |    rise  to  rise    |    fall  to  fall     |    rise  to  fall     |    fall  to  rise   
    +---------------------------------------------------------------------------------------------------------------
    +Starting  Ending  |  constraint  slack   |  constraint  slack    |  constraint  slack    |  constraint  slack  
    +---------------------------------------------------------------------------------------------------------------
    +RCLK      RCLK    |  16.000      7.560   |  No paths    -        |  No paths    -        |  No paths    -      
    +RCLK      PHI2    |  2.000       -1.216  |  No paths    -        |  1.000       -2.312   |  No paths    -      
    +PHI2      RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.705 
    +PHI2      PHI2    |  No paths    -       |  350.000     343.998  |  175.000     166.500  |  175.000     171.784
    +nCRAS     RCLK    |  No paths    -       |  No paths    -        |  No paths    -        |  1.000       -3.609 
    +===============================================================================================================
    + Note: 'No paths' indicates there are no paths in the design for that pair of clock edges.
    +       'Diff grp' indicates that paths exist but the starting clock and ending clock are in different clock groups.
    +
    +
    +
    +Interface Information 
    +*********************
    +
    +No IO constraint found
    +
    +
    +
    +====================================
    +Detailed Report for Clock: PHI2
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +                 Starting                                           Arrival            
    +Instance         Reference     Type        Pin     Net              Time        Slack  
    +                 Clock                                                                 
    +---------------------------------------------------------------------------------------
    +CmdSubmitted     PHI2          FD1S3AX     Q       CmdSubmitted     1.552       -3.705 
    +CmdUFMCLK        PHI2          FD1P3AX     Q       CmdUFMCLK        1.348       -3.297 
    +CmdUFMCS         PHI2          FD1P3AX     Q       CmdUFMCS         1.348       -3.297 
    +CmdUFMSDI        PHI2          FD1P3AX     Q       CmdUFMSDI        1.348       -3.297 
    +CmdLEDEN         PHI2          FD1P3AX     Q       CmdLEDEN         1.456       -2.216 
    +Cmdn8MEGEN       PHI2          FD1P3AX     Q       Cmdn8MEGEN       1.456       -2.216 
    +Bank[2]          PHI2          FD1S3AX     Q       Bank[2]          1.348       166.500
    +Bank[3]          PHI2          FD1S3AX     Q       Bank[3]          1.348       166.500
    +Bank[4]          PHI2          FD1S3AX     Q       Bank[4]          1.348       166.500
    +Bank[5]          PHI2          FD1S3AX     Q       Bank[5]          1.348       166.500
    +=======================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +                 Starting                                               Required            
    +Instance         Reference     Type        Pin     Net                  Time         Slack  
    +                 Clock                                                                      
    +--------------------------------------------------------------------------------------------
    +UFMCLK           PHI2          FD1S3AX     D       UFMCLK_RNO           -0.003       -3.705 
    +UFMSDI           PHI2          FD1S3AX     D       UFMSDI_RNO           -0.003       -3.705 
    +nUFMCS           PHI2          FD1S3AY     D       nUFMCS_s_0_N_5_i     -0.003       -3.705 
    +LEDEN            PHI2          FD1P3AX     SP      N_33                 0.806        -2.800 
    +n8MEGEN          PHI2          FD1P3AX     SP      N_31                 0.806        -2.800 
    +LEDEN            PHI2          FD1P3AX     D       N_70                 -0.003       -2.216 
    +n8MEGEN          PHI2          FD1P3AX     D       N_69                 -0.003       -2.216 
    +CmdSubmitted     PHI2          FD1S3AX     D       N_460_0              173.997      166.500
    +ADSubmitted      PHI2          FD1S3AX     D       ADSubmitted_r        173.997      167.797
    +C1Submitted      PHI2          FD1S3AX     D       C1Submitted_RNO      173.997      167.797
    +============================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.702
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -3.705
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CmdSubmitted / Q
    +    Ending point:                            UFMCLK / D
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                   Pin      Pin               Arrival     No. of    
    +Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------
    +CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    +CmdSubmitted        Net          -        -       -         -           3         
    +PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    +PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    +N_139_i             Net          -        -       -         -           3         
    +UFMCLK_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    +UFMCLK_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    +UFMCLK_RNO          Net          -        -       -         -           1         
    +UFMCLK              FD1S3AX      D        In      0.000     3.702 r     -         
    +==================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.702
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -3.705
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CmdSubmitted / Q
    +    Ending point:                            nUFMCS / D
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                    Pin      Pin               Arrival     No. of    
    +Name                 Type         Name     Dir     Delay     Time        Fan Out(s)
    +-----------------------------------------------------------------------------------
    +CmdSubmitted         FD1S3AX      Q        Out     1.552     1.552 r     -         
    +CmdSubmitted         Net          -        -       -         -           3         
    +PHI2r3_RNITCN41      ORCALUT4     A        In      0.000     1.552 r     -         
    +PHI2r3_RNITCN41      ORCALUT4     Z        Out     1.393     2.945 r     -         
    +N_139_i              Net          -        -       -         -           3         
    +nUFMCS_s_0_N_5_i     ORCALUT4     A        In      0.000     2.945 r     -         
    +nUFMCS_s_0_N_5_i     ORCALUT4     Z        Out     0.757     3.702 r     -         
    +nUFMCS_s_0_N_5_i     Net          -        -       -         -           1         
    +nUFMCS               FD1S3AY      D        In      0.000     3.702 r     -         
    +===================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.702
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (critical) :                     -3.705
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CmdSubmitted / Q
    +    Ending point:                            UFMSDI / D
    +    The start point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                   Pin      Pin               Arrival     No. of    
    +Name                Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------
    +CmdSubmitted        FD1S3AX      Q        Out     1.552     1.552 r     -         
    +CmdSubmitted        Net          -        -       -         -           3         
    +PHI2r3_RNITCN41     ORCALUT4     A        In      0.000     1.552 r     -         
    +PHI2r3_RNITCN41     ORCALUT4     Z        Out     1.393     2.945 r     -         
    +N_139_i             Net          -        -       -         -           3         
    +UFMSDI_RNO          ORCALUT4     A        In      0.000     2.945 r     -         
    +UFMSDI_RNO          ORCALUT4     Z        Out     0.757     3.702 r     -         
    +UFMSDI_RNO          Net          -        -       -         -           1         
    +UFMSDI              FD1S3AX      D        In      0.000     3.702 r     -         
    +==================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: RCLK
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +             Starting                                      Arrival           
    +Instance     Reference     Type        Pin     Net         Time        Slack 
    +             Clock                                                           
    +-----------------------------------------------------------------------------
    +LEDEN        RCLK          FD1P3AX     Q       LEDEN       1.552       -2.312
    +n8MEGEN      RCLK          FD1P3AX     Q       n8MEGEN     1.456       -2.216
    +FS[13]       RCLK          FD1S3AX     Q       FS[13]      1.552       7.560 
    +FS[14]       RCLK          FD1S3AX     Q       FS[14]      1.552       7.560 
    +FS[15]       RCLK          FD1S3AX     Q       FS[15]      1.552       7.560 
    +FS[17]       RCLK          FD1S3AX     Q       FS[17]      1.552       7.560 
    +S[1]         RCLK          FD1S3IX     Q       S[1]        1.768       8.533 
    +S[0]         RCLK          FD1S3IX     Q       CO0         1.756       8.545 
    +FS[16]       RCLK          FD1S3AX     Q       FS[16]      1.612       8.689 
    +FS[12]       RCLK          FD1S3AX     Q       FS[12]      1.552       8.749 
    +=============================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                               Required           
    +Instance       Reference     Type        Pin     Net                  Time         Slack 
    +               Clock                                                                     
    +-----------------------------------------------------------------------------------------
    +CmdLEDEN       RCLK          FD1P3AX     D       N_21_i               -0.003       -2.312
    +XOR8MEG        RCLK          FD1P3AX     D       XOR8MEG_3            -0.003       -2.312
    +Cmdn8MEGEN     RCLK          FD1P3AX     D       N_19_i               -0.003       -2.216
    +RA11           RCLK          FD1S3IX     D       RA11_2               0.997        -1.216
    +UFMSDI         RCLK          FD1S3AX     D       UFMSDI_RNO           14.997       7.560 
    +UFMCLK         RCLK          FD1S3AX     D       UFMCLK_RNO           14.997       7.668 
    +LEDEN          RCLK          FD1P3AX     SP      N_33                 15.806       8.261 
    +n8MEGEN        RCLK          FD1P3AX     SP      N_31                 15.806       8.261 
    +nRCS           RCLK          FD1S3AY     D       N_28_i               14.997       8.533 
    +nUFMCS         RCLK          FD1S3AY     D       nUFMCS_s_0_N_5_i     14.997       8.653 
    +=========================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      2.309
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -2.312
    +
    +    Number of logic level(s):                1
    +    Starting point:                          LEDEN / Q
    +    Ending point:                            CmdLEDEN / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +LEDEN              FD1P3AX      Q        Out     1.552     1.552 r     -         
    +LEDEN              Net          -        -       -         -           3         
    +CmdLEDEN_RNO       ORCALUT4     A        In      0.000     1.552 r     -         
    +CmdLEDEN_RNO       ORCALUT4     Z        Out     0.757     2.309 r     -         
    +N_21_i             Net          -        -       -         -           1         
    +CmdLEDEN           FD1P3AX      D        In      0.000     2.309 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      2.309
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -2.312
    +
    +    Number of logic level(s):                1
    +    Starting point:                          LEDEN / Q
    +    Ending point:                            XOR8MEG / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                      Pin      Pin               Arrival     No. of    
    +Name                   Type         Name     Dir     Delay     Time        Fan Out(s)
    +-------------------------------------------------------------------------------------
    +LEDEN                  FD1P3AX      Q        Out     1.552     1.552 r     -         
    +LEDEN                  Net          -        -       -         -           3         
    +XOR8MEG_3_u_0_a3_3     ORCALUT4     B        In      0.000     1.552 r     -         
    +XOR8MEG_3_u_0_a3_3     ORCALUT4     Z        Out     0.757     2.309 f     -         
    +XOR8MEG_3              Net          -        -       -         -           1         
    +XOR8MEG                FD1P3AX      D        In      0.000     2.309 f     -         
    +=====================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      2.213
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -2.216
    +
    +    Number of logic level(s):                1
    +    Starting point:                          n8MEGEN / Q
    +    Ending point:                            Cmdn8MEGEN / D
    +    The start point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +    The end   point is clocked by            PHI2 [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +n8MEGEN            FD1P3AX      Q        Out     1.456     1.456 r     -         
    +n8MEGEN            Net          -        -       -         -           2         
    +Cmdn8MEGEN_RNO     ORCALUT4     C        In      0.000     1.456 r     -         
    +Cmdn8MEGEN_RNO     ORCALUT4     Z        Out     0.757     2.213 r     -         
    +N_19_i             Net          -        -       -         -           1         
    +Cmdn8MEGEN         FD1P3AX      D        In      0.000     2.213 r     -         
    +=================================================================================
    +
    +
    +
    +
    +====================================
    +Detailed Report for Clock: nCRAS
    +====================================
    +
    +
    +
    +Starting Points with Worst Slack
    +********************************
    +
    +              Starting                                        Arrival           
    +Instance      Reference     Type        Pin     Net           Time        Slack 
    +              Clock                                                             
    +--------------------------------------------------------------------------------
    +CBR           nCRAS         FD1S3AX     Q       CBR           1.660       -3.609
    +CBR_fast      nCRAS         FD1S3AX     Q       CBR_fast      1.456       -3.513
    +FWEr          nCRAS         FD1S3AX     Q       FWEr          1.552       -3.501
    +FWEr_fast     nCRAS         FD1S3AX     Q       FWEr_fast     1.456       -3.405
    +================================================================================
    +
    +
    +Ending Points with Worst Slack
    +******************************
    +
    +               Starting                                             Required           
    +Instance       Reference     Type        Pin     Net                Time         Slack 
    +               Clock                                                                   
    +---------------------------------------------------------------------------------------
    +nRWE           nCRAS         FD1S3AY     D       N_39_i             -0.003       -3.609
    +nRowColSel     nCRAS         FD1S3IX     D       nRowColSel_0_0     -0.003       -3.609
    +nRCAS          nCRAS         FD1S3AY     D       N_37_i             -0.003       -3.513
    +RCKEEN         nCRAS         FD1S3AX     D       RCKEEN_8           -0.003       -3.405
    +nRCS           nCRAS         FD1S3AY     D       N_28_i             -0.003       -3.405
    +=======================================================================================
    +
    +
    +
    +Worst Path Information
    +View Worst Path in Analyst
    +***********************
    +
    +
    +Path information for path number 1: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.606
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -3.609
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRWE / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                  Pin      Pin               Arrival     No. of    
    +Name               Type         Name     Dir     Delay     Time        Fan Out(s)
    +---------------------------------------------------------------------------------
    +CBR                FD1S3AX      Q        Out     1.660     1.660 r     -         
    +CBR                Net          -        -       -         -           5         
    +nRWE_RNO_0         ORCALUT4     A        In      0.000     1.660 r     -         
    +nRWE_RNO_0         ORCALUT4     Z        Out     1.189     2.849 f     -         
    +G_17_1             Net          -        -       -         -           1         
    +nRWE_RNO           ORCALUT4     B        In      0.000     2.849 f     -         
    +nRWE_RNO           ORCALUT4     Z        Out     0.757     3.606 r     -         
    +N_39_i             Net          -        -       -         -           1         
    +nRWE               FD1S3AY      D        In      0.000     3.606 r     -         
    +=================================================================================
    +
    +
    +Path information for path number 2: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.606
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -3.609
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR / Q
    +    Ending point:                            nRowColSel / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                       Pin      Pin               Arrival     No. of    
    +Name                    Type         Name     Dir     Delay     Time        Fan Out(s)
    +--------------------------------------------------------------------------------------
    +CBR                     FD1S3AX      Q        Out     1.660     1.660 r     -         
    +CBR                     Net          -        -       -         -           5         
    +nRowColSel_0_0_a3_0     ORCALUT4     B        In      0.000     1.660 r     -         
    +nRowColSel_0_0_a3_0     ORCALUT4     Z        Out     1.189     2.849 f     -         
    +N_179                   Net          -        -       -         -           1         
    +nRowColSel_0_0          ORCALUT4     B        In      0.000     2.849 f     -         
    +nRowColSel_0_0          ORCALUT4     Z        Out     0.757     3.606 f     -         
    +nRowColSel_0_0          Net          -        -       -         -           1         
    +nRowColSel              FD1S3IX      D        In      0.000     3.606 f     -         
    +======================================================================================
    +
    +
    +Path information for path number 3: 
    +      Requested Period:                      1.000
    +    - Setup time:                            1.003
    +    + Clock delay at ending point:           0.000 (ideal)
    +    = Required time:                         -0.003
    +
    +    - Propagation time:                      3.510
    +    - Clock delay at starting point:         0.000 (ideal)
    +    = Slack (non-critical) :                 -3.513
    +
    +    Number of logic level(s):                2
    +    Starting point:                          CBR_fast / Q
    +    Ending point:                            nRCAS / D
    +    The start point is clocked by            nCRAS [falling] (rise=0.000 fall=175.000 period=350.000) on pin CK
    +    The end   point is clocked by            RCLK [rising] (rise=0.000 fall=8.000 period=16.000) on pin CK
    +
    +Instance / Net                         Pin      Pin               Arrival     No. of    
    +Name                      Type         Name     Dir     Delay     Time        Fan Out(s)
    +----------------------------------------------------------------------------------------
    +CBR_fast                  FD1S3AX      Q        Out     1.456     1.456 r     -         
    +CBR_fast                  Net          -        -       -         -           2         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     A        In      0.000     1.456 r     -         
    +nRCAS_0_sqmuxa_1_0_a3     ORCALUT4     Z        Out     1.297     2.753 r     -         
    +nRCAS_0_sqmuxa_1          Net          -        -       -         -           2         
    +nRCAS_RNO                 ORCALUT4     B        In      0.000     2.753 r     -         
    +nRCAS_RNO                 ORCALUT4     Z        Out     0.757     3.510 f     -         
    +N_37_i                    Net          -        -       -         -           1         
    +nRCAS                     FD1S3AY      D        In      0.000     3.510 f     -         
    +========================================================================================
    +
    +
    +
    +##### END OF TIMING REPORT #####]
    +
    +Timing exceptions that could not be applied
    +
    +Finished final timing analysis (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB)
    +
    +
    +Finished timing report (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 195MB peak: 196MB)
    +
    +---------------------------------------
    +Resource Usage Report
    +Part: lcmxo640c-3
    +
    +Register bits: 92 of 640 (14%)
    +PIC Latch:       0
    +I/O cells:       67
    +
    +
    +Details:
    +BB:             8
    +CCU2:           9
    +FD1P3AX:        11
    +FD1S3AX:        59
    +FD1S3AY:        5
    +FD1S3IX:        14
    +FD1S3JX:        3
    +GSR:            1
    +IB:             26
    +INV:            8
    +OB:             33
    +ORCALUT4:       119
    +PFUMX:          2
    +PUR:            1
    +VHI:            1
    +VLO:            1
    +Mapper successful!
    +
    +At Mapper Exit (Real Time elapsed 0h:00m:03s; CPU Time elapsed 0h:00m:03s; Memory used current: 78MB peak: 196MB)
    +
    +Process took 0h:00m:03s realtime, 0h:00m:03s cputime
    +# Sat Aug 19 20:57:12 2023
    +
    +###########################################################]
    +
    +
    diff --git a/CPLD/LCMXO640C/impl1/syntmp/RAM2GS_LCMXO640C_impl1_toc.htm b/CPLD/LCMXO640C/impl1/syntmp/RAM2GS_LCMXO640C_impl1_toc.htm index ee1c362..4d931c0 100644 --- a/CPLD/LCMXO640C/impl1/syntmp/RAM2GS_LCMXO640C_impl1_toc.htm +++ b/CPLD/LCMXO640C/impl1/syntmp/RAM2GS_LCMXO640C_impl1_toc.htm @@ -1,58 +1,58 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_compiler.log b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_compiler.log index 47810e2..4e68afb 100644 --- a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_compiler.log +++ b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_compiler.log @@ -1,10 +1,10 @@ -C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -top RAM2GS -hdllog D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C -I D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v -jobname "compiler" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\RAM2GS_LCMXO640C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I ..\..\..\LCMXO640C -I ..\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen ..\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 ..\..\..\RAM2GS-SPI.v -jobname "compiler" -rc:0 success:1 runtime:2 -file:..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs|io:o|time:1692175838|size:10551|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO640C_impl1_compiler.srr|io:o|time:1692175838|size:4581|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: -file:..\..\..\RAM2GS-SPI.v|io:i|time:1692174460|size:11765|exec:0|csum:DDFDD384E6E6239925365D2C41FC9773 -file:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe|io:i|time:1628601404|size:5754368|exec:1|csum:EF00E91BAA13FCD84C7D68B353143F73 +C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -top RAM2GS -hdllog Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I Y:\Repos\RAM2GS\CPLD\LCMXO640C -I Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v -jobname "compiler" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe -osyn ..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -top RAM2GS -hdllog ..\synlog\RAM2GS_LCMXO640C_impl1_compiler.srr -encrypt -mp 4 -verification_mode 0 -rtl_xmr_naming -verilog -prodtype synplify_pro -fixsmult -infer_seqShift -nram -sdff_counter -divnmod -nostructver -I ..\..\..\LCMXO640C -I ..\ -I C:\lscc\diamond\3.12\synpbase\lib -v2001 -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -encrypt -pro -dmgen ..\dm -ui -fid2 -ram -sharing on -ll 2000 -autosm -D_MULTIPLE_FILE_COMPILATION_UNIT_ -lib work -fv2001 ..\..\..\RAM2GS-SPI.v -jobname "compiler" +rc:0 success:1 runtime:1 +file:..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs|io:o|time:1692493025|size:10491|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO640C_impl1_compiler.srr|io:o|time:1692493025|size:4494|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:.\-fv2001|io:i|time:0|size:-1|exec:0|csum: +file:..\..\..\RAM2GS-SPI.v|io:i|time:1692234355|size:14885|exec:0|csum:22AA32E3708F79533C7AD37D1C9B8166 +file:C:\lscc\diamond\3.12\synpbase\bin64\c_hdl.exe|io:i|time:1628601404|size:5754368|exec:1|csum:EF00E91BAA13FCD84C7D68B353143F73 diff --git a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_fpga_mapper.log b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_fpga_mapper.log index 0662fec..edd1a4a 100644 --- a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_fpga_mapper.log +++ b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_fpga_mapper.log @@ -1,12 +1,12 @@ -C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synlog\report\RAM2GS_LCMXO640C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -freq 70.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\syntmp\RAM2GS_LCMXO640C_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm -prjdir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\ -prjname proj_1 -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO640C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO640C_impl1.edi -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO640C_impl1.plg -osyn ..\RAM2GS_LCMXO640C_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO640C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" -rc:1 success:1 runtime:4 -file:..\RAM2GS_LCMXO640C_impl1.edi|io:o|time:1692175845|size:125385|exec:0|csum: -file:..\..\..\RAM2GS.sdc|io:i|time:1692153140|size:181|exec:0|csum:86E5121E7073876CE838886B655C290C -file:..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd|io:i|time:1692175841|size:15190|exec:0|csum:9F911839406505D524BE4CEAD0B58F03 -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:RAM2GS_LCMXO640C_impl1.plg|io:o|time:1692175845|size:854|exec:0|csum: -file:..\RAM2GS_LCMXO640C_impl1.srm|io:o|time:1692175844|size:29135|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO640C_impl1_fpga_mapper.srr|io:o|time:1692175845|size:35917|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 +C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synlog\report\RAM2GS_LCMXO640C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -freq 70.000 -tcl Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\syntmp\RAM2GS_LCMXO640C_impl1.plg -osyn Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.srm -prjdir Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\ -prjname proj_1 -log Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO640C_impl1_fpga_mapper.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -flow mapping -multisrs -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO640C_impl1.edi -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO640C_impl1.plg -osyn ..\RAM2GS_LCMXO640C_impl1.srm -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO640C_impl1_fpga_mapper.srr -sn 2021.03 -jobname "fpga_mapper" +rc:1 success:1 runtime:4 +file:..\RAM2GS_LCMXO640C_impl1.edi|io:o|time:1692493031|size:125386|exec:0|csum: +file:..\..\..\RAM2GS.sdc|io:i|time:1692234355|size:177|exec:0|csum:D3C84F35CD07AA1A8E8B9E68D571CD53 +file:..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd|io:i|time:1692493028|size:16785|exec:0|csum:178209CFAD9CF12DF8E8DF39B113B165 +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:RAM2GS_LCMXO640C_impl1.plg|io:o|time:1692493032|size:854|exec:0|csum: +file:..\RAM2GS_LCMXO640C_impl1.srm|io:o|time:1692493030|size:29193|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO640C_impl1_fpga_mapper.srr|io:o|time:1692493032|size:35763|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 diff --git a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_multi_srs_gen.log b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_multi_srs_gen.log index 5140b26..db06364 100644 --- a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_multi_srs_gen.log +++ b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_multi_srs_gen.log @@ -1,7 +1,7 @@ -C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr -relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -osyn ..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -log ..\synlog\RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr -rc:0 success:1 runtime:0 -file:..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs|io:i|time:1692175838|size:10551|exec:0|csum:3D60DEE8C5D91625A20313AD35E47D0F -file:..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs|io:o|time:1692175839|size:10295|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr|io:o|time:1692175839|size:1157|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe|io:i|time:1628601758|size:8899584|exec:1|csum:163057E8B8449A642661642A20A2247D +C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -osyn Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -log Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr +relcom:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe -link -top RAM2GS -multisrs ..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs -osyn ..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -log ..\synlog\RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr +rc:0 success:1 runtime:0 +file:..\synwork\RAM2GS_LCMXO640C_impl1_comp.srs|io:i|time:1692493025|size:10491|exec:0|csum:12A53627E8CBEEEF92B6756D748ED400 +file:..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs|io:o|time:1692493026|size:10367|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO640C_impl1_multi_srs_gen.srr|io:o|time:1692493026|size:1163|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\syn_nfilter.exe|io:i|time:1628601758|size:8899584|exec:1|csum:163057E8B8449A642661642A20A2247D diff --git a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_premap.log b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_premap.log index c4400aa..aae7980 100644 --- a/CPLD/LCMXO640C/impl1/syntmp/cmdrec_premap.log +++ b/CPLD/LCMXO640C/impl1/syntmp/cmdrec_premap.log @@ -1,14 +1,14 @@ -C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synlog\report\RAM2GS_LCMXO640C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -conchk_prepass D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_cck.rpt -freq 70.000 -tcl D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS.sdc D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -flow prepass -gcc_prepass -osrd D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\syntmp\RAM2GS_LCMXO640C_impl1.plg -osyn D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -prjdir D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\ -prjname proj_1 -log D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_premap.srr -sn 2021.03 -jobname "premap" -relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO640C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO640C_impl1.edi -conchk_prepass ..\RAM2GS_LCMXO640C_impl1_cck.rpt -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO640C_impl1.plg -osyn ..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO640C_impl1_premap.srr -sn 2021.03 -jobname "premap" -rc:1 success:1 runtime:2 -file:..\RAM2GS_LCMXO640C_impl1.edi|io:o|time:1692174593|size:125385|exec:0|csum: -file:..\RAM2GS_LCMXO640C_impl1_cck.rpt|io:o|time:1692175841|size:4751|exec:0|csum: -file:..\..\..\RAM2GS.sdc|io:i|time:1692153140|size:181|exec:0|csum:86E5121E7073876CE838886B655C290C -file:..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs|io:i|time:1692175839|size:10295|exec:0|csum:26C922427A03758F05FE1D9390156563 -file:..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd|io:o|time:1692175841|size:15190|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D -file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 -file:RAM2GS_LCMXO640C_impl1.plg|io:o|time:1692175840|size:0|exec:0|csum: -file:..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd|io:o|time:1692175841|size:15190|exec:0|csum: -file:..\synlog\RAM2GS_LCMXO640C_impl1_premap.srr|io:o|time:1692175841|size:8417|exec:0|csum: -file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 +C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synlog\report\RAM2GS_LCMXO640C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1.edi -conchk_prepass Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\RAM2GS_LCMXO640C_impl1_cck.rpt -freq 70.000 -tcl Y:\Repos\RAM2GS\CPLD\RAM2GS.sdc Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -flow prepass -gcc_prepass -osrd Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\syntmp\RAM2GS_LCMXO640C_impl1.plg -osyn Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -prjdir Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\ -prjname proj_1 -log Y:\Repos\RAM2GS\CPLD\LCMXO640C\impl1\synlog\RAM2GS_LCMXO640C_impl1_premap.srr -sn 2021.03 -jobname "premap" +relcom:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe -prodtype synplify_pro -encrypt -pro -rundir ..\..\impl1 -part LCMXO640C -package T100C -grade -3 -maxfan 1000 -infer_seqShift -fixgatedclocks 1 -fixgeneratedclocks 1 -RWCheckOnRam 1 -gcc_allow_lat_combloops 0 -gcc_disable_clock_latches 0 -gcc_convert_lats_to_regs 0 -use_rename_in_edif 1 -Write_declared_clocks_only 1 -enable_gcc_in_premap -seqshift_no_replicate 0 -summaryfile ..\synlog\report\RAM2GS_LCMXO640C_impl1_premap.xml -merge_inferred_clocks 0 -top_level_module RAM2GS -implementation impl1 -ta_num_paths 3 -oedif ..\RAM2GS_LCMXO640C_impl1.edi -conchk_prepass ..\RAM2GS_LCMXO640C_impl1_cck.rpt -freq 70.000 -tcl ..\..\..\RAM2GS.sdc ..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs -flow prepass -gcc_prepass -osrd ..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v -devicelib C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v -ologparam RAM2GS_LCMXO640C_impl1.plg -osyn ..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd -prjdir ..\ -prjname proj_1 -log ..\synlog\RAM2GS_LCMXO640C_impl1_premap.srr -sn 2021.03 -jobname "premap" +rc:1 success:1 runtime:2 +file:..\RAM2GS_LCMXO640C_impl1.edi|io:o|time:1692234355|size:122599|exec:0|csum: +file:..\RAM2GS_LCMXO640C_impl1_cck.rpt|io:o|time:1692493028|size:4637|exec:0|csum: +file:..\..\..\RAM2GS.sdc|io:i|time:1692234355|size:177|exec:0|csum:D3C84F35CD07AA1A8E8B9E68D571CD53 +file:..\synwork\RAM2GS_LCMXO640C_impl1_mult.srs|io:i|time:1692493026|size:10367|exec:0|csum:C7D441417E65C26355C99F5CF1E4BB69 +file:..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd|io:o|time:1692493028|size:16785|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo.v|io:i|time:1628601068|size:42996|exec:0|csum:DB253AD0113DC963D616C8E55D1D1D5D +file:C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v|io:i|time:1628601068|size:40584|exec:0|csum:62845CEC2BB6FEBE1BA059B1E18015F4 +file:RAM2GS_LCMXO640C_impl1.plg|io:o|time:1692493027|size:0|exec:0|csum: +file:..\synwork\RAM2GS_LCMXO640C_impl1_prem.srd|io:o|time:1692493028|size:16785|exec:0|csum: +file:..\synlog\RAM2GS_LCMXO640C_impl1_premap.srr|io:o|time:1692493028|size:8364|exec:0|csum: +file:C:\lscc\diamond\3.12\synpbase\bin64\m_gen_lattice.exe|io:i|time:1633636068|size:42036736|exec:1|csum:184AE1D82114F8176EA5D4186DC7E4B1 diff --git a/CPLD/LCMXO640C/impl1/syntmp/statusReport.html b/CPLD/LCMXO640C/impl1/syntmp/statusReport.html index a96d302..e629912 100644 --- a/CPLD/LCMXO640C/impl1/syntmp/statusReport.html +++ b/CPLD/LCMXO640C/impl1/syntmp/statusReport.html @@ -1,115 +1,115 @@ - - - Project Status Summary Page - - - - - - -
    - - - - - - - - - - -
    Project Settings
    Project Name proj_1 Device Name impl1: Lattice MachXO : LCMXO640C
    Implementation Name impl1 Top Module RAM2GS
    Pipelining 0 Retiming 0
    Resource Sharing 1 Fanout Guide 1000
    Disable I/O Insertion 0 Disable Sequential Optimizations 0
    Clock Conversion 1 FSM Compiler 1

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Run Status
    Job NameStatusCPU TimeReal TimeMemoryDate/Time
    (compiler)Complete400-00m:01s-8/16/2023
    4:50:38 AM
    (premap)Complete27100m:01s0m:01s173MB8/16/2023
    4:50:41 AM
    (fpga_mapper)Complete20600m:04s0m:04s185MB8/16/2023
    4:50:45 AM
    Multi-srs GeneratorComplete8/16/2023
    4:50:39 AM
    -
    - - - - - - - - - - - - - - - - -
    Area Summary
    Register bits 92I/O cells 67
    Block RAMs -(v_ram) 0DSPs -(dsp_used) 0
    ORCA LUTs -(total_luts) 119

    - - - - - - - - - - - -
    Timing Summary
    Clock NameReq FreqEst FreqSlack
    PHI22.9 MHz0.6 MHz-3.705
    RCLK62.5 MHz13.3 MHz-2.312
    nCCAS2.9 MHzNANA
    nCRAS2.9 MHz0.6 MHz-3.609
    -
    - - - - - - -
    Optimizations Summary
    Combined Clock Conversion 4 / 0

    -
    -
    + + + Project Status Summary Page + + + + + + +
    + + + + + + + + + + +
    Project Settings
    Project Name proj_1 Device Name impl1: Lattice MachXO : LCMXO640C
    Implementation Name impl1 Top Module RAM2GS
    Pipelining 0 Retiming 0
    Resource Sharing 1 Fanout Guide 1000
    Disable I/O Insertion 0 Disable Sequential Optimizations 0
    Clock Conversion 1 FSM Compiler 1

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Run Status
    Job NameStatusCPU TimeReal TimeMemoryDate/Time
    (compiler)Complete400-00m:00s-8/19/2023
    8:57:05 PM
    (premap)Complete27100m:01s0m:01s184MB8/19/2023
    8:57:08 PM
    (fpga_mapper)Complete20600m:03s0m:03s196MB8/19/2023
    8:57:12 PM
    Multi-srs GeneratorComplete8/19/2023
    8:57:06 PM
    +
    + + + + + + + + + + + + + + + + +
    Area Summary
    Register bits 92I/O cells 67
    Block RAMs +(v_ram) 0DSPs +(dsp_used) 0
    ORCA LUTs +(total_luts) 119

    + + + + + + + + + + + +
    Timing Summary
    Clock NameReq FreqEst FreqSlack
    PHI22.9 MHz0.6 MHz-3.705
    RCLK62.5 MHz13.3 MHz-2.312
    nCCAS2.9 MHzNANA
    nCRAS2.9 MHz0.6 MHz-3.609
    +
    + + + + + + +
    Optimizations Summary
    Combined Clock Conversion 4 / 0

    +
    +
    \ No newline at end of file diff --git a/CPLD/LCMXO640C/impl1/synwork/.cckTransfer b/CPLD/LCMXO640C/impl1/synwork/.cckTransfer index fda5e8f94eba7dafb5be05db18f257d8d9ea42b0..c06976e4092fb00d140843dab49a563eb9521dbd 100644 GIT binary patch delta 349 zcmV-j0iyoV1JDDIHGi~Hh`eNhQBP1O#+BAH>^p4F8&+zS1Xh(1X!-R_IdI{MZ+^C( z-e(^#V64-P@Z{eK?8Z3}Lk_-1Y%ItWHvusleHwAcTweL-7OWm*HRO5fy3=+Z+Dy=o z%P=QgxAP5jw+vqi1%z)iy6&=VFx^Q!yN+)OciT63eEs;P+ZE0oY!f9;A?#ZiN`DNa z{?!EGkm=r$$xDBGC#wr(P-YA8d}ij=?khTI+(@*VIJSm;dG0aD0P?XKE}>=klw1}q zFMjQ+k`B2xrqVhpWm4L?E<$RD+B1#++(4?y2&%brP$_@@RFW*VGHE7JLm-68Uxq2d zRmL4FrKWE#jt6BTtL&gn#`$>xwvXMr`S$wy_T@wK>C!zkm;YEzupj5?7+ITse!{Q! v&DGByy1f#2uUaQ~qMjRlI3cT>@wu@Nskv%u{RRL4|NjF3tWrglwE_SD3j?bB delta 350 zcmV-k0ipiT1JMJJHGfbkL|(GMs3)is<4Wrp_8qq8W>;#Jgsv(h(DLgUIB?;LZ+^C( z-e*5tz*whi;mN-d*o|`{h8%p2*jSJ$ZUSO9`aI&6xxDf(Em%FsYRL1{b*Jq-w3(ov zmSIkK-Okt0-7=klw1}q zzx~=(B^`2YOr>>H%A~Y&U4+yQwPzatxq(!Z5ma;Mpi=()sU%r!WztNdhCm3FzYJ4^ ztBgBVN=@Hf9QVpZR@ss68RwS;*gntik2mvtbF3elPnSNXx%|g!f_*bn3}7m)-M160RR6307T>qD769r0CU{4x&QzG diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.fdep b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.fdep index db31bc0..cbbfcb4 100644 --- a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.fdep +++ b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.fdep @@ -1,16 +1,16 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO640C\\impl1\\synwork\\RAM2GS_LCMXO640C_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO640C|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO640C\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001" -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\RAM2GS-SPI.v":1692174460 -0 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-SPI.v" verilog -#Dependency Lists(Uses List) -0 -1 -#Dependency Lists(Users Of) -0 -1 -#Design Unit to File Association -module work RAM2GS 0 +#OPTIONS:"|-layerid|0|-orig_srs|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO640C\\impl1\\synwork\\RAM2GS_LCMXO640C_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO640C|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO640C\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001" +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\RAM2GS-SPI.v":1692234355 +0 "Y:\Repos\RAM2GS\CPLD\RAM2GS-SPI.v" verilog +#Dependency Lists(Uses List) +0 -1 +#Dependency Lists(Users Of) +0 -1 +#Design Unit to File Association +module work RAM2GS 0 diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.rt.csv b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.rt.csv index 915b7cd..0b328e3 100644 --- a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.rt.csv +++ b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.rt.csv @@ -1 +1 @@ -Library, Design Unit, compile Time, Peak Mem Usage +Library, Design Unit, compile Time, Peak Mem Usage diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.srs b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_comp.srs index 8d5d710c23e6f09fee6130b8ab36527bc54825c7..8da95efa1312ac3c46322ee798eac467475cdf2c 100644 GIT binary patch literal 10491 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 delta 28208 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 diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_m_srm/1.srm b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_m_srm/1.srm index 2ca303fafe8e5a93378fa347a5ea58a44491a48f..b92137a8857f35811f316d01aef8f49699fd5729 100644 GIT binary patch delta 1153 zcmV-{1b+L74ulS{Gy;D#hj8MOx7IY(YZ@c-X&Ba?;CA ze0U-s$wxr}A{O%mCmy24S1h&0hZs>C1jkfQpse;qwAOvmeREG`6hn(8BUJ?ZbzkV0 zG1AWDod)%|B{3`a6-0VnM8-uWBu}f4jg9rM-Sk6z4EVDZy;grlA8GG&)bGF2XytlV zkrLMXs8IS?xGz$z9^ud1_g9`i#A&)k(c)HYDSx}Wi?{dm9^01UJ#Bxpzbj%Dpkf3V zMW%JIeom>q>~U_K@p=y7a+nb2Q#0`m3}UuZ^V(_zw5E3| z^gyC{ZEc1;XmG3(kvY=II!Ui_JZF*>NG=W#4meG7a~e2oCSm;?ZMYXG1s*RTRh8bEC^*L?3nof0-a2x>!3@VG`Ailyc{8tFHw1v0kcSwi&^$iP*fwz zLXQfhE>KDEdU(}S2*p?ho-Vwi+7ps~>UPjShZ{nJq8Vmfa!|v&IKj>PMdukI2UqQO z-f_R_yT3SJ?q5D<=%ITK_4KMmN9yPCe`LV9x$4mWbST_%aq*HcLjC~&0RR8ua!}v` z00030{{sN1IhVkbY6N6|nnSWgv6d1C!jVr=;~5Jbz6GK-2%f2qKvC}UXsNrreeq94w1EZ-M#>0w%P!Y% zL!`aQS`F%PO*X99l@RG=9vL4M5I-$GS8k(!Z|yJf+2cneI<1U$AIF>BIVpPF#~~^ZNbu%Kk2hQ-F#Q zU>u3~(g{v^ddt%(f78jVkK~w7@D!QalBn8E*p5BV6_tVLaBBub>yBv-P>r2IMz1~{f|T8UW>Drgc0%&00960;&M>n T0ssI2|NjF3LYr+wg988nZX+{8 delta 1157 zcmV;01bX{~4u}r0Gy;Dlhhz>S#6<)jB&Dt{_8b~0hFk>8MOx5yZ9zi^c-X&Ba?;CA ze0U-s$wxsBVk@Q*&OAhouUKe}hb^Ku2#%?aKvC}VXsNrr{o$U9XbTM%jFb`VmtC%3 zhDbY;wHnmphHP1}FCo&)JTfjSAbwhWuI*O;+KoTOXOAC^=(K+_`b0aYqi+A5Mhn-m zk`%DqN4e6c+<^3nv(OdgE!}Z#bFpnY^>C2QjhQ*JRMssb)a39YK~+*m>-(h)1Z$*_+<3#n?=B z@W(nZYV2UrHClg5s+3r)I8RXoEU-$F6fYiU#u=~Y5U$4&VLI0%Uqde@JJzp_MnG#i zr$P@Tnpf7Q$b$yQDi*0Dt*qkY7KckJS&roD0O5$^IMwH#!+I3f&(VZ?fikX}V5}|G zB=u?)C7h<*V<9|FXqtF@F~()oc`uHB!;sI%Gl+g|{TzP{>I0fBI8fc_J<$~>mZsL% zaqcyQOXIeZB)P|nOoyCMX2OoK|1Z$WSh^P4*hzEmQNYUyBKZ;(CmAq{B)OV-4+VKS zpv?84K6dN`-E+7h)F|qH!Z`;uyo)p3y`OcS5i)S) zZs#5Mo4z{x`(^&+YlaTm=TJ{?T6Ca(9{)#roa&nn{ZEI&Jr`#$2_xhm00030|Kf5` z-~s>u0RR630BMqWp_6C?WPdh?utc#+6^n!Il==co2DMt{Vqv1R8lbV|RV%UDcdsGo zWiQOHVdnG9Z$kkh7Ndm&pQ6SSmO6Y(L~Rf}Q$2yQ+7{7L_eJ;1Ka^1nEtZT_5p0)z zp`S02_9pK%sQWdES-Gts(#s+;J}M!3SiG-Xtp9B6Z}C3hTPu34jDOzK-s`B}{-n{u z_pBl%EVogi^uF-lq*~m=-@CgXZ}I6Vep|bj_G2Bd`N_quU4P)yi^H~UKfb5z--0*= zs2Bmpk%%vy;*_V?Je~4aozD6|URgeX7+Di~av12?Fd+GcAj>Iig7#;`9W-|KW^gNE z+p(GaaUP7aJ&d|R=YL3@5r;MB8Hz~@tkX2ZW6-(rCh$DMd1n#ELu2_01~EF@oLY^5 z&h%bQXCTqMb}mCcF*w$V$UNy}out=zIcAa-NX{M*c4+O`90m?6D_oePJvl^B#`h!G z#!*eOK&vU?G~+=F5p+tkH0Yx-KBqo-u?rhc_1qpn3@aDrXn#?k&^Yj*dK)~^H7AZ{ zF7$C87{X^sS4)!K;!$Rof>36r9h2~0pp%L89dwD8=5|I2&wGgEb5!o-q*)}%+01(= zD5?v}LSGa}U7(T>czES0gyK?7c{=A6)gdA27q^4{ak@ijP&C7ca}8>E6$iL^KXV=t za`4q=6C4klzCMQg%fp|q8G7g*r+#{6(F+apgf}wa*jzdEKMsXkEzVvNM#v`s00960 X;&M>n0ssI2|NjF31kEl{g988nwwo=S diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_m_srm/fileinfo.srm b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_m_srm/fileinfo.srm index adf68aabb3bc69f378c5744876d9590550701e2b..44488e09d7bcb1376e45cb6675f4bf52dcfb5e9d 100644 GIT binary patch literal 290 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 Wa!}v`00030{{sLMEnRAyeEsU@{P3kwio( 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 BCq@7O diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_mult_srs/fileinfo.srs b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_mult_srs/fileinfo.srs index dae306492c0fba4f61ff527ea2d3d26e330fa25e..0a70bc61a4ee85d627468b281be8faa3277a2fc0 100644 GIT binary patch literal 239 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 E01;5qbpQYW literal 15190 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 delta 13350 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 diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_prem_srm/fileinfo.srm b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_prem_srm/fileinfo.srm index 51942619a1907f37869b33bd4eb72d7a8f34600d..f7e65ac6c7cfca567b9fdf2c6ed2782f44abbf0d 100644 GIT binary patch literal 290 zcmV+-0p0!|iwFP!000003%rxdZo?oDMfdp%Wd?4G@FZ;p0@)9r%{R)5m z3y0wjcsh|Fy#o@Msn0;T*J9Z}gIAl7Zx0S>HFp*w7A&sJ_ZuT(5PUuSu?(0jos6~W o5*_<={t-*s;>W6(<;7%G{A2Zb!|EFV0RR6306pwze=!6A0AOu@7ytkO literal 308 zcmV-40n7d$iwFP!000003%rxtYQr!LK;QcnCZmtbrQNmt6@zhPrE&2M%L&WhFC}RR zV=y{spKN4wjwIymcFRKa2_aoiRHD%aHx0|+zzqR#rKR;w@qJ$HI1Mh;l8_r+bJGF3 z#I1z(%jbP|WKWl5R&Hd&SWZbgC8J_lS!Ks5rb+Y|wecrb%^`FUhcKF1dA!LRtQHEJ zmAJaIxF6GbI|Pi@D_V(nj}Uh@3XnnDm3aRMF#(RF_VsyOkagEDkCO)-kaFtVMgICz zPW=sXb>QBiin>RxJal$kDB>rb+OFnN+TDpb1f%BrGX=eB{O!(-I|JTP%9Tuu^Zg%X z=cHf(e9T1;PF!S0H-i}8#q@LLsT5ayvEYjdUrfm2f-io-fBu301^@v6{{sMGptNFb G1ONd1YLbiq diff --git a/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_prem_srm/skeleton.srm b/CPLD/LCMXO640C/impl1/synwork/RAM2GS_LCMXO640C_impl1_prem_srm/skeleton.srm index 0f754e61be72634bbc8041f7a1723ee99f74070c..c277a88c43068aed173bfd04ad48fb165a6dc4c0 100644 GIT binary patch delta 888 zcmV-;1Bd*!2et>0OMe)q57r?94GWefo+4?v%%Wu6K`rm4AVPVQEoEDgn96{QzWb7L z(!~NzyvRYIF#pVe{N^V?z|99{p%2;+o@Oha+k&zNfn3cM$Jny^Hp+pnkOV$21j_}W zkjnWA${n-vwoth!3JJS>?0bx#W<##P6NNRy1^<|9!T?27vVRp=#T!lpR=~>tPm+qTM%SJO5e9S`Ag8jsD7;VhFm7Ny!@s~Vi#;wAbX!%Osek(i5xd-JnlP7J$Bd-i)C38{ zenknDn8Sn!WeLX;NFFs5X$Em^NS8P^`pi+=f|L>(ynfN63wn4#-(JwG3;N=Mez>4d zU(r3&Ok^#ZQJ#SaXgfoK!;x-A=#jw)#gtt`(0b;M<8{<_DK!ZS7_?Cr`S}Dc_B@A= z!89IbHh-)>40Z`Cf|u06a}JAI{=1t79B-{28_rOd5g(P)Top4T&X2Ei5AHRb%-yf=#4p)Y zNl^V{Q@xkX;>>1oX0v!7o5Ks6!@%b7em2v=x1P=Pf3iUop??4X0RR8ua!}v`00030 O{{sLr6M^uC2LJ$G2fAVa delta 888 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 delta 8646 zcmZvhcTm&ax9$O@NQ+37DxxBtfOIK>A{|lbNH1#WkzT$O6{JcLf;6QF2tpuKfrK6) zKAi*!%JqGJ_ncei{JCbW{j4>gXU*){vw!K}wLeP$$*E)q$%%*`w9c>DwL!jrjH5FeRN;?(@=K*(owLKh*HM!vyCt2an6qVVT#88@ z2Vx5?RsQe+xWUKsSf;VrWo_=s{*9cqcbvZOQ`b9=y~W_F_Jwc54jHLEUeg9Gl$pZ=Y9DpPLhLYy&Q4*ZR^+y{rf z`I*g@RtH$#k#cU+%JVZnGktE_{Th;YxHnJ#iU5JrbOVNr{U_oD)_0atYFZBTzK_bW z+&>A0 zCzcb`lv03l{HjvrO*K>8KuFGG}$vMp;*iyH{riE=(ml>>1@q1`_17zd>EKlLl z`Y-AI1hRs38!>jWSzVlrCma;4`^Jfix}nC)ypC7JP$S8V;PS%u5yZh)@v5{K_3i4Y zj)zy}yra|~MSML~Z(TdvUg(liT-pB4!<~3NuR;|NPvI-;iipXK&GE&R+*?fPWOh{R zZ?|DH;Hu!$Kg~qH$}`sH_Kq2`NXGjQD@F_q!v4Q&Lew#zVhrq+7_)LXwEnP1RA}Ex?M+VBi zmM0>q)Z(g@P3QeMl|PM)-eYcPK2?U7e14hRht!zAcWPTF1lvo&(Isz5?Qa(P)fpsU>qs9dL*3jo>^v*>hxa(|5;)L>?cZlr(T zyInF~VYPWD`W#Qe5EEw2JM%F$G{Q%{+_|1qO*LeA%AemRll5+Y*M}6wumKU+qi-9{ zo&$}9hYrl<68Ur$BVj@*FR+<^3@V%r?MI&G6=||n?Uj`jvaHkIF`3qQ`63@?pt&gV z&a5D0z+dx4eunu?XXmS+3B4~zQ`FZu#g-@eqAtv{F_#Hp^cr&c+uFZRc@0i=f6DA` z!sFz5hb?Kn&t#kR@OU*Eu^RoQZIa1zyK^}!&STJ!77i$W2gTDTtzM~AqaJ}*P)l?P zjzrVZQVYk993YnW@6$_2yF)*T9Upb#X}Ud($UZ>@OrfOzLh;=;NNAT!lvikh zB?T}vN%L0~X!QP#HKjeeX_ENK6=?p=4`L+2GBimp;hs41+s-y~XJ#x6_?lhkL z7{nl=f_g-90MY%NN>H5AMj0X+zi`X$icIQ>tyO#=>Kmui-2*c6yP^o(f*+xQtG5Dl=3u^h<~OUk{sxvNz$NHr_uU{NjFAfK!-jljZ%kZ=%2h+pX8nt zP0}vq6OF$NG^D}h-JaBg!u>t8o)w~pA(c_*hhJSHm@m1Z5}QBs^G07Nf|ma!*C4*7q~ zsh@l-2$jozCve+0gy+9}5XT_8|AP-BIiLed>bxec`PUaI$u7j8BxsQKnxIg>up~%e z_kUOs>VXGh2+?Q%wIY9A?ZhCoM*o4`tu4LxmxmU$-hbeCOG*|EQYGd7cZ~TrKBImL z1e(WBbRHZZ?F(F&WUYSi)+XPfY3dFIcvHVzs&Z5(&p09fopu(uO+kfhFz^&GJZg5a zcC2u#H06O8>yPLwdbul!wXgip47+oUo%_z_9m{y-+yq%fQd~@1bB^a?b6JkVt3Fi5O7bvSA&jZ&!n7Mv#)69u7X}Q+j+om4dz02bfIG&tF z9iIzWdN0(LRGhbUxyeG--^*O%BN%7}X@Kerdte&#{(}C>O8nxs9Z6CAy0?=7v#3o{ z`wDl-8>XGz1Df{njmYh%bT1g&G`aXQ?Bj-9E+Hw{_7W}Pq=z&X)ivC+=$L=0e=WYUoioR`d*K7BK%4(`1zbU z{4(9^S$fHz`M5>So$k+07EGwP^WdGXKGOJkw;KoY3^8ehh01E#(#jsy@@RR;FWGhS z82Zt`u0u8n%LR5S`mKD^-G)z)w9ip;fE^L-w62ydHCt zf;eZRl2_ZB*t%7`Dc6TJ9ofQ6=S?&FrMGe%AM4m=7fg&=oi(A!*Mb0fWPTNi!`o+0 zHkx5gtIXjSx!X|}jBC2eLEG6`ZHtuve23}8lJuuZx{rI0S7o;KBvImL?x!*RI!iZ- zmhTaywCaL8e#5h|H%z+$OlA~)9#(Pbm@B5pTKpdJrGKz-L(Dzm*O}?E9DgYWUze4r zyNOV?=&RFC-rPB!hNBjEOx9D|s%$}=Ojq=s&v4nE4fDDvmi(Awr)W0<`$Jz)F9PHPdfCE=#h{zkov$H^25YmQuj{1s=>##&W zHr}_+**)9ity86yWAD{NJ`NE)T(ne#LL(W@HXPpNFpZ??F0a{1!NlkvpT1JyFQjcy zJ$q*8ynNN2cY_se72@P9G`I&AI@L#=E=7KF*s@7}4i{sp>`Ja&Y?U@O8njSVIE>q$ znb&I0Xi6+*0Rg*Q5Ce={|4eHt?RB#mowI&=30zD|%QLM$lWWKbDTf#lAa%g`VqtpIu09 zVgO7Ik|)50xj#QY{aO*Ejc_WWIvNVl`1LJu-Zx5Fb)s+8}i zkbYZWCNNv#bUVA(ZM8uLAsvyNcqKTl-9Oelev8ERJIYtovgJ@N`#6Pi?@cW%HNu(T zCR&XkUFc4x)2Jz?paYeuz)a$CmAGJ@HhgQ;fZW)6>de7|%SxsQPg$$8024<)mZvpSFeEvA*;UK1AqJ`N zB3;9$o|Roq34XwUQJH*U0s2}$U(kB?Of-dn8uu1ww7Te))aPEA>eR;B^5hW7C#=w*8{z0jm;Dn1U-L+PUc0J{lKNMwO>*e9u_ANj^mtmc?ZXw*^*I;K zlzrwo&Kqu)MJVsLs=fz|&0K5E&l<~wdc%LF@Cg$!ATl1|C(->ADD zL5Z2?EIZi!In7g{8vNrkHWqpdr-J#a@##UhlVPr3D%$RjM>I)MK~Lyq6u3GU$*kO( zyL!2gH9((Wu8#dF+?iMepMp7oEsi~!w*`MpnSR)#WAx-)DZg@l6TA2Fi?Y4lVAX*3 zESHE9ukjaa{Cw6TewFfWi7V51Lm;P8Bts=L8S%Ru!+d1meaOz8lbij@0?j)0NGWRK z=q;-wm(41l&9m}C@Qy@F0(6`1_mzgM1XQB2H@%#a_M&RGgMj+D{j4kx@Z(6?nnpuK zsA$2Wj!@ubl<8$Okc>;I!F*F?zA`&DU>h zjjFme!LEIkZ`p3n;k#BY+idLotJ3oiZ0F>dglGKj+T{JF&1CDjd%0;xxujNu7tl-1 z0$9>6iGL$peZGgGD&;IwZq=RHhs*&bKR6<%Q(icgFOP#a zWj1)u5*~g!{9Ieu!%={LpH>*Y3L>|sO(qam~U5NC^a6O0vSzX8qi8t+hCN08%eO6QW8qlf4in+wjq@L4=c9*L&zffo z9&za3zkcB!U;LvTY{VN^4)-Lc2VTY8)Xiv~%&mCFlr%>_6s7UjwBi=eOvi)!-c1eA zkyruQ`c4&F8@uc52lniS_v^{VjcsYV6;|%`&F%KLKeBI*$!rIAn2NN>#;(_#egxCU zDBcIfGpn7G0`ctc?w4t@*ih_TE-1Ixd_EQ{@C|E&B_B06nvfoTkyExT5~^t4!TLR| ze(NBV7#pmcu@!{MB5WNEUrn8=UOSXi?+d*Ui~q8Q3Q{*SowzrK94#%g@S0>y${LHT z))hPEZ4P-E;tPgB2Wg5C97RDvLllH9N7q9+2(}Rntj^})EjBY{w(3UQRW-65@qE#GCkw0x4gP?h7`sl_xR z5O>TdRJOmAwpSR}Abm0K!SdN)LXkU3SkiK)qxDeE4I5CB$=7f^N|N{Dj3qTUwktEI zoqQZC3_|bv4e|3xF=Nl^rCaL7L)iumdsf}6X@&}g)6;t|tMR7v zc_PzaWOND2@G80ffJ5`h>?3xx$Af$Bx5#4w#1(3=db9kkU|rKCTR*nMR+G8s)#X)V z(P$UjAbrRD_71W@hEL$&@3kB}9d|=y7X59ezMr)SI2xqOD#|={h`WIwV|}zzUWbF( z&7ldCCv5HVLc5F`A8M6J^k=_h*y((bw3OF#-un~dqy;l|1*a~4i&$n|z@*SwZ@N156bZqXDuanEc{jm72+EY zmN(D8apnFA&10+SAQ*=vufq0);X!orb&R=0_8JIiWBlf5aTm~XZmF`v*WpVbf8ZU8 zO?Wfo+jf7sdoa>mG=_7$&u-^<|NKer;)6_+a)10pdsqRbgGU|-qZKm=0$}w9!@a?^ zZ)wg6t6hjXe>=U$Dll#EyFZ@_jWL%sogq+0++JKjy7A+ca&_SM{N8nwV~U1QxWLmw zeFxdwjqHjaYrX#vi4t`QUB7fL5_DYcJw=kNy6x5PAtc71N~9%pRqA*PyttXx-TjiM z>!tdSL5Y!koj3McLN9{vya3qKo@0_zCG7Ylt0flW?K{*ROB^~9iljnHMX5ksV4x*z_56O*_csHB)d46{No05Kfqs_ry=GEYSGP`e2 zBw1u2>}hM6|Kx+em)^)guYRDQCpFpesTWD}V%_UD6m z4yIGOYSDrtVx5&$n7<*+BcXIJ=iRBym-h6GS#!0hG8A;nLxts=r{>8wV-i(gNo|i6<5oo%C0A}?z#I*)_;6@!nw5O z+Ey@mxAqwbW1|F%p1|Okl8;h8?0b+yDd~;b)q%Q*7#q*JBZ!6WwNqubY;vD18;{+Y z7e@MDbw0rdlyY|T1K)pPNm9|l6||gPD`oCLVY6HuI;yU+=CEk;)9<)%pRupV*Kbu1 zb)IFe*p-wF^r}d~4!LMbvBS%$j)42fvQvF&&^L>Q&UU|2^k?zX zg>4Sheb@4vc3PyBXu-vr<93XOssaqds1FRbryUpE@9XEtCjg~Gi>WWITjRq`O*r3IeFmn|`4mGsoC{GyB>vM7X+(-9fQTv(#R`(^;(F5(AXQmH7zH3{oqGv4oGnQGh7C3hrnjcuZt(<%d8RPMA zH*}hzT)@spbfqX~pZ?(5Yq4!tz_HTx8*1fPx-|Bp#^Ye3V{ii@TeIYw38OHoZl^%^ zT1d=^e+fet4hThp#7X zzu_!#52cl)P~4l4&L{czj!GQW&PFef!R%E0&fdsY9PxgYVXAVGp_8iw()ac1@8R{m zy5~?Ee{1vO?^%A|Xc4}L19k%;! z1>Ub{F8*0n(0F!5uH;KA@Y{32Fh~Gh^Cr4>M0+%M9u}1CVXKM>@xFY z+io#*G}!VWt>_*Xn#qW*rc?;f86q~c#&THP8Xpa5$q|np3X=@LVwyMn4OiV97K)Ms zYAncBdj3qmDjAC#pRaCcbFmvDEqZ$E(~t$~&u{gn((?AjRMkZy@D%#mE~zZPnOgyf z@i_w&W?h2Qg)5!OGKDBns17+=h+?+eQkPHoXZ?+4a@XrVr*!SS|`5U^jY1}F7=(c$-}2Tj_bAV#PmmR6|8|=K z8^rFM6N5b?z^CK7b8tVP>l7*ufQqI;=h2IU^HG9)wB=XU?lUGsrfY{tmK{E4oLjA2;^;ps5 zubk@R*#%&%O0j}K8W8(dQfu*r(bt;h#1o|S`hcUiQ(e7;l#EZXXzvO1G|0;bSX3U&3@vL>BYh<6vrFW8Rq|zinwx@kQ?rqBN3;tybweK5N+ty~@yeGFre!z(3 zb=bab87{7;8KyKpTV>9T+-!wQtu`m;OlFhrqN)LJl5IYLBFxKm&Jt7EsfzO~kkZpP_k+8XuQJ}k$aV5KHiadxT9QnCAJM@>sINsM> zVR=P1+1SkyLcW?_Gd99x^o{ngG4t8)?J>`I>kfsLRn)roQO)Z)Nn7*o(W>vjj`xh% zj=7?-InJKgSL6SBJilm2wXtS)YQKEZ^-U$0TZ&ap>mEGz%DC(!P|A4B^f(dX@nmY{ zwUv$Akdjn2%SNu1G?u-FqiIVBb~KMvpKL1f)}08NE}}VJ4_DY~$4wG*gEr%P`?yYT zE@2RhSa@*f3(FHkx^@Jw_XY67LXL-9@xhrR)mC~zyzs9{XbixXv3tz1wcHe#t1cTG zXf{dTvRQ*%{5E?z%u`I!9Mz;(#zGnNTqWpAbAHjmY`iD978x)JJ)3w|0p zW-N*z#J8&+u45k3cledFj9Smg9XD376wB=U9|at5cqu3~at=8a0}D%O$e`wP*UglG z4o`_)K2i4|h5j9oWmb{fc!5J5Oe|O@ArF;_Lc2wM*QSN0FOK`Wcqvt!-+U5gt0V37 zS)yDq)+%0{l3sfT4iwy3K}|q8g*seyi3x1KsOm43SNPatjGPX>U%XQ)Ou3y|bs6_a z-W7|pJO5Sm%dh2P`Fv9-8_T|dJ#N7S?>$;aYM%_%JyP;Rj6TF{V7w*ckn}Z}@37dl z05X)=ig(l4kj#eS+0NYyZPe$LZAV-C$;sHs1N<`8R;CXZ&>-WK+q|ue?_EtgAI*n8 zcCI)*i>;GwsZ!L%f=*EvV<~er873=X0hG0DTcnHllsXB6P4kci1H~fn>ShUq99My5$ z@D*E1@KFX<6?n%GORw+h_WISOOr###xz34wN6vaJl&NR$p4Sg_6KV=KwD$zelMge>Tt^qT;IrytI7M)x~U*GyMYJdeSD>I-O~@;%+76Cak#$pv{F|ri2Gijlj$;JlrOkZu2y@~q?=3lx nuk9vDf)vLGEUMir0I{}WiNX<;|NYv$LZbSKm7d0&gyeq#FTB*u@&hEx$CQ6Z3F+r&X`Nfl0%Lg+l G-v9t$wGM9p delta 68 zcmZp0XmHrTCcx6bz~8W0P@s%oyN;1vypcayl*!rM*vv%9#VW=>FV&?evn(~nB|o_| XH#M)MIL1A*#G^E6@@n~DCT<-7k9`zc diff --git a/CPLD/LCMXO640C/impl1/synwork/modulechange.db b/CPLD/LCMXO640C/impl1/synwork/modulechange.db index 42e2c42ba15c6fbf8dffd73f1dc7b727af7a18b2..ad06d65e74818c5f5f0484ca25ef7adbf4764a3d 100644 GIT binary patch delta 199 zcmZoTz}Rqrae}mk%zoMAy(e=4E&S$R`RRzh4P-?tSAu4 z%iPE;Gx-v43#0VraK5#SA{=~L4E#s=JNbS2dHK%rP2>yZ(*i0K;xp7_XJPPXiL{Cd zN-fAQjtO$~HF6J*aSrftfwFaj13dN0QtlQNTd}b)lrv6_kTYfczj>luF(U^P|3?P? m@BAM(^C&#!=VxJOW?=l!&c@8Zl5(e`W|P5xc}Dg{0RjMPfidX- delta 157 zcmZoTz}Rqrae}lUKLY~;8xX^Q{zM&Paef9pk%zoMAy(e=4E&S$R`P}Np66HHtSAu4 z%iPE;Ir$QA3!}v5aK5#SLhO7&4E#s=JNbS2dHK%rP2>yOtf*ka$7ajM!cfjKIa>&E|=6#f%&b0t^iN-}%36=23Xc&(Fa4pM{Z`osF3RsHEz{CWHU-jBJYn1OQuc BC87WT diff --git a/CPLD/LCMXO640C/impl1/version.log b/CPLD/LCMXO640C/impl1/version.log index 9d5f37d..a8d67f6 100644 --- a/CPLD/LCMXO640C/impl1/version.log +++ b/CPLD/LCMXO640C/impl1/version.log @@ -1,2 +1,2 @@ -R-2021.03L-SP1 -Synplify Pro (R) +R-2021.03L-SP1 +Synplify Pro (R) diff --git a/CPLD/MAXII/RAM2GS.qws b/CPLD/MAXII/RAM2GS.qws deleted file mode 100644 index 63563b76eda4b19c3f4f321afd3f1b7df67b8d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 ocmZ?JV1NM`h8%`OhGK>ihIoc@hJ1!1hHN0O04SEskP1@-0GYrBX8-^I diff --git a/CPLD/MAXII/db/RAM2GS-MAXII.quiproj.11208.rdr.flock b/CPLD/MAXII/db/RAM2GS-MAXII.quiproj.11208.rdr.flock new file mode 100644 index 0000000..e69de29 diff --git a/CPLD/MAXII/db/RAM2GS.(0).cnf.hdb b/CPLD/MAXII/db/RAM2GS.(0).cnf.hdb index cb9fb76a5cee67b4d2c7d25fbf69877374c0bea9..ed0caddb38db5c7b1edae706ccf17722f0ed44c8 100644 GIT binary patch delta 2770 zcmV;@3N7{48T}cMM}L_#00000004Ij00000003J80000000000008|A00000004La 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 delta 2724 zcmV;V3S0I48P*w)M}L4c00000002-600000003J80000000000007nu00000004La z?3zo6q*oQkdt%}8?(yyOr6v z(1k&F?p%mV5f_3WxY0!*f(uuQpy1BnMg(1`_!`geoO|x0`hONAamK{ZA5?$;^SI}n zd+)jD-uulwIA_my<@L^s-^Ccb$#dWliSOap@slQVXP4&Y9+mgS?_vxta^NBdE^^?l zkpmx)n*JgANqN`3;j`;opOoL{55^~_@R2`ukAHZ(#Aft*3`^6wOAkup>sK~9pO7~X z(a*u$>K=?+5P$MSX0O@aEtqc;X}_Y_KR!Ek#Ro9)ko?BIUU#Q(WZY(oi~I5V?x0Y` z)8?S>JT(fhS?d;#5HuB5-?eC@JsdZ^7>%04Z`0en>ONw(o8HwJOw=4VDMDpxXPT@t z88_>A@^X~9N$ST!-Mnix*1 zCPtI}lTl$9f5#`cM&td0{SIM2KRLcV**_}yjPT8~lRM7TUSmVTkc=tV%#)Zdc-Wns zK7Y=H&ga~_M9M=G8Kb}5y?Zw!ag&jOa%Cs;_uoqc?+&tH{-32ZZ}gaYYk0hkq)jw3&6OPha1a# zj+P=?jA$XE`G`6ZwIgcnaW|y2h`|V#5?oAhA;I|sI|;TEG`nm2=xvRcLmpnKz89(72S>8>FowWCtYeD^Fx^%Tr{gCY-%XW}uJIJyfWZ4d~YzNs$ zf!u?bGY?`dfDkFR0w+X@rN9Z1Vu$&XlSm&)mko~j?>0Nn9z1gjuMf{ae`Bl*%Y+nE zX*i(lGqHlNTU8H|?UP%UO(I#7x=!2XGk@2C3`W1{Z=aolL@v4y8`>Bjoc52$qd+#J z7t{k}uf212^XTC8bTowQ_9IF4?HvsVmL?OWm9nzcNgwjG3uy!$G>7_b5 z8s@!|CfdQE%sz<4rx|O{GCi&SH=(Jw2LrVM;D5(Py*Y0j}%cjh&E0dO{|1 z!t{|ZgBQ;B4_gtnL#lY@M1gK!s((Dsbm*RhsZf9MFWXX7Um(2haHy7Tkp)gW>MX*c z>jF&I1 zn5t2wlcMURs5&W{&U~02U7M+0il~z!>MWJzA*rYMIxG45qxZ7f`e^p^Qhy|ClW29p zBFyTP)~;woYF1eGVbxA8=~rJPa1*veY-B}8O{S6*MntP#QICjN7fS$f`NRb^U)vee ze%o!g7!mFim>4&b$p&QOHHq!SaoOezIWFzE*yHk#1tFG*STtf8S&bDd)vi>3QcX&A zD%Gx3&r*$B4wW$NWeKI7E`RNQX-7=EWZF5+8i!2gDQxQzW}AI>1jr5s*>NE|L}W*c z?7)#7Lu^c>ph+QMQG?9a^eHbp`(-D>?3|dL9fOve_dmImN4LpO|p%xBY)grZ07&Vt(Qg)l8AX5Giqn4Ih7OipL9Ib0mI)4SOCqoYODRWFRg9$)} zUd{qgx*yra$4L=#4}zrUdVhe>`H@S7V=fwC4BCasn`l*ckrLVo6qTBH6EeUPZv<8~ zoI*q`wied{tCn_8HX#IbLU*@i9n?rJmE>YcE|lbaNp?!oCQnDpJ^{F2-Pc#5vXUtb zB~utmrZALDVUxKB3jsuv#RohA)sq4UNq>t4*(u5PLMc^}IAytRXdNYhaEn2exs~Ow z^@CZr3n~&?vG#OPM$t-XU&$z3E`>^BM(?1=qUKVmsU({EwW5%=o!qI*5@KdzJM{-;m+m5LtwYJ7=0qZ+Sqmo?EpGANiSXe7G6YlF?0=|{ z7>v$eq@opd(3v82qEa;Fyp^$a)G1qxd~zU`a0&O17O;wM3eF(;zcd-$R@b4C-`vs3 zFXGVUUE4L}^Ht2p{F3Y~(&sHWdb3U6zhF&Yn6rl200+}C`!JN-Jy_(JG*4q4+HO==| z%cZXtYC_zD0XeBT`bf>uIe%v`s%7n=X)c;g&E|J%-k+*z{@~x)83cuy-t&)YY6;D@ zqU;aMZ`ZuPk|`-f^G7x2Qmy$IUJa?bI;tW4uIA{YMUX-e=g(@IUlBnO0h;HY*T$@_j;hUH&?R}I e@KHgRFF(nSmJP5wkefshj{sXgf3yJ~sXGNv} diff --git a/CPLD/MAXII/db/RAM2GS.(1).cnf.cdb b/CPLD/MAXII/db/RAM2GS.(1).cnf.cdb index 1aff5d6ed8affa49cd554b49347974408cad1e75..151fd5fbb1246b7bbe20b34c2f41599212bf0b45 100644 GIT binary patch delta 672 zcmV;R0$=^?3hWAyj(_7YO;RmwGGUTf-1vjsx^v;eg}8Fz5AX;014JlTzwf^0P9B}i ztu3_VgfsVX?sx7v=e|y6gb-)IXTcXd7!XT;3qlm|n-#}oADZGanB`U3BgAoCosZsR5?$E=aZmB6%_=v9{d zkiM$A`l?5S_4Iya&*7JS{Klv792l`G$uqrJtQLdP@{`vA9w1Sd-GuKKRTzZYor&+a zoVcj?Br?`a%(7%$RG#raJKK{L0zFRySf@!q|B}}tw}?uRn5T1*vzQymW#YJ*viLXV zb8&!(+x&p;gKJCWAl&Tr*IGe4YBz&^`|bRQzMvkpI*_+@y2a`5crYNAnE!1>@dlHj z0wNO&P)~Lw4zEmzIXKkquLfJ| zar3Tmjt=ok_^yMYTpi9XUGO~@%s(^+tonBc^Nx|kneu`kXsk>RCjp!BEVcJ6I#h9--A5+Z1#Es`TPpmmM@0w0AYAyF8Zh>=-9-{7?t|xk_m~S(Y zO?w+lPBv}+qasT(c*rHmP8v?4mJjGQhjd&i2jjz82FDl~XXFDqiM~M{le9U{KLE48 G1FZo8XHfzG delta 672 zcmV;R0$=^?3hWAyj(?%UG)Zk~lL?c=;>I83)}0F%F2t1!e}F&0y&`l`zwf^0P9B}i ztu3_lgfsVX?sx7v=e|y+gb-)IXTcXd7!XUp3qlm|n-<4pADZGanB`U3BgAoCozXoTfJ%)0Kl(6)IV#H-F;YnBLf(>CHIoHm$XJ z;}&)6&35Pop9ZQEM{nY=H3B~+`*w=l35;0oci-88d2L77qrTso(>k~=r{*Wm)bu;< zb*$-DiLPvexTknjW_2I+-*{}IF+UfSi!XwuTD4NE29>4f)u8&a@|5QlqQP#hVnktP zVVTgNFNuV;BTLNw#=wm}cgFBub4MuK(miZtujyW3!biOLFM;)rEiI-t?0F>_=v9{d zkiM$A`l?5S_4Iya&%u{{{Klv792l`G$um7)tQLdP;*-|_9w1?t-GuKKRTzZYor&+a zoVcj?Br?`a%(7%$RG#s_+gpC z0wNQ0P)~Lw4z5gy893DKF9(}z zar3Tmjt=ok_^yMYTpi9XUGO~@%s(^+tonBb^Nx|kneu`kXsk>RCjp!BEVP zS)MHU=3X!u>cJ6I#h9--A4iz|i5t&xo>+5i-ZeeKsI}aSxV>`D(L>ao)Ad9z74tJK zvT1K&$;qb8e^g{i1`oL;*-67m)bat{=8%pnkW0E%K`3JMV G1FZr1mtF+` diff --git a/CPLD/MAXII/db/RAM2GS.(1).cnf.hdb b/CPLD/MAXII/db/RAM2GS.(1).cnf.hdb index 67484baf30c64f553732f4ca6e1eeb8d04c639f0..1fdc0000f5a2cfa2d06da4ea7705d1b9fcaf3dd0 100644 GIT binary patch delta 523 zcmV+m0`&ck2aN}iPk%K600000000F70000000000004~x00000004LaZd0!HEyx#*uTBCMi_3N#!I(d?Me%FMwdij$J#kip2APrEPX+U-o$G zZlKm7KD}?0x@>R^W$zc|0KJYN9moK3b9Eg?v$C4Z!z|Czuz$*ymmVyP^Z5e)tYq>& z;@SNf6fT}4P-rsE9CRC=NECOI(t#PAcuOS0S0eG3NJUhnPGR=T zi#W|92i^g^5c#c$<__KkKCX&K4Q{{=SOeS0E3;<_ZvsYXCzN$XxoDMWQN-jnMG|dO zWP%-vEYzaNlz(t3GQkc-CfKD&!XAnw-lWLXa4C{7e=Le5=AlU90So`>Qp979l>$<^ zS2e9_25O(2N%|DW^hsI?DJFZ+>iOD*T2$lkVJgzTZ47KaqTCYkkBHA)fuOf5ez*voL4^qbAUA0)ImS)@EteN1(bo7cG5Som1bJ z4pbLO%iOPascY9RISnfVGos_v=xA5OmuzL!aTjRt1bM^4M=f^bk`Jj;gMg3DGsCbn zCPDcc83YP}S38PMg5Jm%U!>DSr~dP$0K@VRi{HgnH?%$;*@ z(srcQAs(G?6rDCY#%AvqFRlVuJSt{$*z=0P z`;gO52#;-jDR>K~CSo*wILC&I_lOjlPI3?3h9wc@{kZaAI;X)DsR*S=!znV6l$n>9 z=N08B%M%aY0X!GQok(UL-UdFb%O?YFK#!OMWfZloS;Cuuk=k=*UQx{(DH;?pxJi*j zn-p1Rk0J+kD1Wjke2T2IN0D{*DUxu2B8jh3WOMiwNtizlMG^~8B=Lxe|8yzhF~@2H zQdz5-Ry70KCTEg1#W8J?Rzix&4t9FJcCjt%Vf;7|S=Uv1uF`jv!3kp4zVJU&DyNjA ztFFd@XHRe=UPq6$TW7Be+yw@!Kz9}B6X-(%*IWOMV`iXJ2UT4ix66{LnTwbh-3sHV zdPL2(&X`n3jY&3osi6JFPfdj}CHzP&747$77a4I0d4{}U;h`4GlHV8u@JZm+^)g`4 o)BK;%NiKT5@DwZ!shl1_3qAh{cxIW<8#0g4yjZ*gvoQi(0hMFh!T{v@r6Hyet zEe`?TuZRx}iMnxNf*TWcGo`f>fi^Rdj3Iw$JJTjE3>yYy{2&iHl5?Z*0-w?-ml|hKVe63@}2 z?groiVpSfnRfd$To3|=IwaBp&&rg!Ok?j!&doCP}Rk_BtUw1>h!bhjcF6#vsLu^z0 zD~GF(SWd2i{pCNm7+L+7y*Du_grM(ob$Na7*DFoz$CD-eveoI`hc7H#7r}qXAyqin3A?nNKLPo{rnom*F%CtMn4l<4Oksa_Mx=A+p-InE!8EKwKY7Uro`(@nO4h7hSTvHfggrTQ zdC)|(l+9AnG!~Mygy-lSbc~A;@ykC6XyGUNhv0bs2HyRKoOpE*60gQ`FY}$+)A!LQ z(Z^=>ZKGlHSX|v|t!>W87yMxmVcN&Tz8f4v(Iuru(ltc-uxLGKHr9Vd{p*x?Jt-%6 z`V+9zYTQYC95dj)$4Artag6*VW|aY!olfNT{zQyGCiJ~uANE!*q4vnHm+$dU2OZWuAW}qqBK+Tg8A*wzKlPf&X^VwoxNf*}UD==ITap&Fo@#R934? zVY|6v*-o8r05yekNg<{cMBR~`swI^+r&>QcaT9zuB=`Yv2OOj>XBEt4BR5~LjeOoL zSe9)TifIg1snMsWXhXXvk4Kh!epZpy^B)9BR?n=}WJwCoOpqg_P<@b4%Qp!5OeU&R e3$Y|x`2kkjgRLTBdA(7(`e~`-F95Sh1n~i@rtH4} delta 1007 zcmV{v@r6Hyet zEe`?lt&yl05_RLk1UDw?W=d-%0&O~xj3IxRcBV~S7&zqg-Z^u>^SX~Smti5qB={Wo z>HrLgrpc@j8T^e2bU+#Kl-J&(05s$_Viax7UfT}(U5-7XMn2NomU%s zG4Nq2>t%cdBi8mi@AN?5_Mt;zFEHb->$o}GM-!U{9UphHvg^d# zd%K|}Lmd;~{f(BTw}AuV`rw{<3?|Xgy(j#oG@r8;jh9wwxmsSXTIEuuYE@Uu1#Vot zii#l(kZ&%qev~=3KKaop*;#a4U-f_dLy{J)w6G0Z5`sYo^Qp!vcm2)cftd%T#C7zz zyFPe;Sd|BCl_4eT=B>(4J#?%@^ONLmXnRD#t_#OwRj#q^*WJLb@X%?p%X-1Z5ZM&} z%Hi50mXqsXZ~4zJg;xI+_f13!A?UkYU2fm~bxRZb(PRm)Y{k9%@P&oz5*U9z%*&0J zH>!p;ztqLLoF`gPg^yYnWh8LCB0{YdZdz|qO6pJ<`as{=g+FW+~L{@YB_XR6GJiO6Jw$ho==J#hXo=O z6O^QgDe6sDj6+cC3DUyEE!2!f}R{X zJZM5%%9T>FVk{UgkTsr|+Xr zqK~cG+h)_^vADL~Uf-IPFZjbCf^>j~1IIsx!b?hxq-%)uVbOfhYHojs#@A`_dP+|4 z%qL)H)VS03Bxb;QkB_E<`4565t7q0~vLuCPCP*Sus6I%j2CKDCc dLM(|^et^~XV5^8&UT>7Hep>4I3$sZC@c}C!^!5M% diff --git a/CPLD/MAXII/db/RAM2GS.(2).cnf.hdb b/CPLD/MAXII/db/RAM2GS.(2).cnf.hdb index 02308bd9d391bb5f40622aa3125e74ff4737ca09..056819bd04d7c6d91d16e38b504c43dd9e8aa65a 100644 GIT binary patch delta 567 zcmV-70?7UG2k{4xZhuwFN<%RaZMACg0Sc}Z#ic7z5ClKKU6-yew@-_GaohU%aTnt2 zoS7syY138|Yali`b22kIGr5)uIu7wuUg9)i3yizH#JP)D`KCsNZ@P^9!^;c7DYL!_}w5F}FsR4jVR}WV{NrKdf2IIRMt^r4|bfos7hrE{JG={(evPEggzm(GLzN;w~abb|7aC!KQ; zN+)ncI>8IP$bY|%V?=*!XN_d?c_l`7egI|=(7Q)7t=gD;!tv8kX%j}g>_nO*-=J1o z&ca$)lN2}Kcsy-)Ym!n~7g`N|!Whc*?;f_37uFWUi`E6avugTo`F7af+BSwG50V_c zs;-zXS&{>*i}MR2IfLz)K zq+$dn^e1E^slxuLlwZ0KfaC-`(YQ7Ga+%kGJ6kV%#%OMdS`6-7sjMl#rPkVH;tFqh zdDb+!jCEtOjddB%Ut(4;KQZv5gC_%kFh9roq2SI8f>9>_p#_7?cRvWN1V3V6G|*d& zNwI@LpDQmhCb0a9JTf!+*BCRJ{P#h&OE6|ej|vh^{x6u(KvzNL*sw!xZz^XGU$d10 FTmi?<4~PH& delta 567 zcmV-70?7UG2k{4xZhutCP6IIvEl?J*NFZ?nfjDsBgh1lN2XNyE*U@wVD(IqV%kriC z4BLBloJl%i5lAIc+T{6-?L0fF*K};-Z)u9tg{?8}>J;ZXVr^p1U~XY{^T$pn8((!# z{VHqR^_#cHWUXQD{bJJp%%47y`ga4{$pdQ(;zsKN-dQ!hx4b*-Z*3dLkqb$V z9#vP&mn_MF)kS<-G>s*!Tnb#eTVr{P!z199yB;e<)PD_;i4zerKN33xM7Yq6o+_kB z4PpQa5J+i7{M*hU>C5_)@O68U@m-6N6Nt&J)1Aw*KHOOy?HgAMBbMs=5}K(jh4z3G z$2WxWN@Z!v`DW9k8#E3#CzzL*?-=;gL594(2JoMNJ`@2;P#)v}6Xt8^k47?IQecw# zmSQFY?JI|oEzoo7^JMZr5A^folP5}o?3HLxCFEX~f>wgbJg3I21Y(C=oSh%uf3uYW FTme`-77+jd diff --git a/CPLD/MAXII/db/RAM2GS.asm.qmsg b/CPLD/MAXII/db/RAM2GS.asm.qmsg index 6f3b874..473664c 100644 --- a/CPLD/MAXII/db/RAM2GS.asm.qmsg +++ b/CPLD/MAXII/db/RAM2GS.asm.qmsg @@ -1,6 +1,6 @@ -{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692170598614 ""} -{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692170598620 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Aug 16 03:23:18 2023 " "Processing started: Wed Aug 16 03:23:18 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692170598620 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1692170598620 ""} -{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1692170598620 ""} -{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1692170598890 ""} -{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1692170598896 ""} -{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 0 s Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 0 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4663 " "Peak virtual memory: 4663 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692170599005 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Aug 16 03:23:19 2023 " "Processing ended: Wed Aug 16 03:23:19 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692170599005 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692170599005 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692170599005 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1692170599005 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692496813370 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692496813386 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 19 22:00:13 2023 " "Processing started: Sat Aug 19 22:00:13 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692496813386 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1692496813386 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1692496813386 ""} +{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1692496814729 ""} +{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1692496815011 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 0 s Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 0 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4665 " "Peak virtual memory: 4665 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692496817339 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 19 22:00:17 2023 " "Processing ended: Sat Aug 19 22:00:17 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692496817339 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:04 " "Elapsed time: 00:00:04" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692496817339 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692496817339 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1692496817339 ""} diff --git a/CPLD/MAXII/db/RAM2GS.asm.rdb b/CPLD/MAXII/db/RAM2GS.asm.rdb index ae989adc9848498c8b393b87e031f486d4a1682a..646bf051fd4e51601dd2d6b802258480e0539b97 100644 GIT binary patch delta 529 zcmV+s0`C2&2A&3xM}MIN00000002z_000000027y00000000000015X00000004La zoK#J3(?Af7p-`ZFvh7d4Kna-6nsr;IHWY4mqjp z5L~H1Vv0h}FNwR+8Zpmig7e!1&ACqhH`!G!&xu^91+~t~nc5)sEJ|XRu>|x1q;{7c zu;BE%WbRX66L~E^#1iLH<2f8>IV!91uR~luAJQBNOZptRU5OR?do9q%i!4PrsdZMB zstdmVMV1)L)PEmiT`7MY#o;jVd#4}zejI%sjr_{!+UT!STa;UF*VS}geRl0XFJiTB zSM+k{V^m7caDC^WkrY?oma1s~EY!@78r#ZLX{n9km0g0wq$wRSH971-A~i&22EjWB z!>$nB-~d7qc6j?!f-&__QTyPdERg9F$sj|?O*TWi{ zGuIRdE5?~!f?JOYOW1E%Tb;eY_mgM{M&UfI&Jj3qi$MGmA~*~Oog?NR5%j)e`a_ul Tn6iH(-UikQ!Xx+tlT!lK?%4V^ delta 539 zcmV+$0_6Rk2B-#*M}NBn0000000374000000027y0000000000001Zh00000004La ztW@1^(?ASwV0?dUAcTM?Kk>Haivj9e)^wqWu(4FY8)TVVB63N|-Bs+b2VZ463vN+B)LVtHiAFb#U`o2O+EDy+> zvp}YW$lEi*E|reVF_B>PUz{$l<^M%;UduxQS873}%6cZZ2>lRcsf}1ObOBQe%j^aWw~ekE1k5GIx0NE_T!C^LXqwTFtfkGBp+2?f$%(ZYtL7 z{bg6U?&WH4u-=9grOaozxeePy!qxY4Df&NzoSC^}xiDfXS6cGUb26DO3Q95673{(% zYDc7J;J*Yf90cLOe+_{bgnaxynPYlTNpA`7bAb%sFn@6ObnHJSGim0#6)v!XQLRdK zw&A!5KgdN{*|9f1y*`Y`OlN#Uag*Wj%Z@9NS#a(9qCYg*Um;qCKjMH3K z3O?qQw#7dq*bHD-AY2fROibi|nH%Oa7ur~=>E_!>lz^7l7R@OF2i_s${q#KlRWJ(o d8M{qp_z(???@|k3$o!}HSm+1)@Eem!0@Xo)`9=T$ diff --git a/CPLD/MAXII/db/RAM2GS.cmp.cdb b/CPLD/MAXII/db/RAM2GS.cmp.cdb index 28e8d43aa0ce0a14840dfd0529d4e62ee6cf45aa..aa53ff4f5bbaf1a6bbdafa46dee9dd544dfaa006 100644 GIT binary patch delta 41097 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%0ATT8V1CIY~O^9BK!iLBhx)F?Lx%tu*NI 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%0AF(5;t1bI|`F*j}f{QTra-o=;XZvO`s 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 diff --git a/CPLD/MAXII/db/RAM2GS.cmp.hdb b/CPLD/MAXII/db/RAM2GS.cmp.hdb index b2c4b33a7486b20b8e4da2a34948d2edfeab3eb9..7b2be64b3b95bf8cdacd9ae6c426026b227a1a11 100644 GIT binary patch literal 19154 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 literal 19082 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 TKFf7yDKxl`VVCK9M-#KsZ{oH%seRtlx znVs2nXN>vsu915eE|o^Qo7}r`>CU?c?_{TVYNV6hQ`SimD|V8K?xWIaPQ~t}(jQUj zomINGtOsx@@ZOjAU-KTsyTCi~9p16M2Zpu4e+GURcn$Ds;8noy06zf!6!;i$1Mn^2 z+rW*${{Y4{xql1(d%#V=_kq6#{s!1b*%-3j8@Ma*a6WJha5V66U?Xr8upT%9xG(V2zps}xD5DZs7Isi7;v>CvU=caz+VAt zA)gztJFo}vb;wr-d;{1M#s|Xjd4c~C;LgBL!GHL5FrN>^?*ac_;C;aRf%Ab603QVQ zh54U=dfkA#LHwh@e!!0bcL)9%a3ajN1M2Mo@ms065f;dm#n4?A>NXll$mNV3sDxcH8UeA)tqUiH|L>AR%_~1bGpf#DI`xb zCC^ATPZffN;ZZ`GC0Q`dnVDp^@?nwPcx-}cYN|DpCmWL_#m#wG@*rW@tW1j#n`W7k zlqMwdIk*^;VM(`889_plIYo#zrKIw*On)hISTN0Cp+HN95R+uh6xt0@yqp=rNb}5D znZlSiE7=*{q6Gj!Th>oh0Q{>?ElkwV$d``;l=xv3fi)b!x68t&uwaca3*dpL#wz7wUOv zE4FeQ%}PGufz5mGfFs8X^4^iB|lj`|h#eJ7wo!3?U>f@#Sczh4@^U^!4 zM<+i1VaH4PALgg^S04|}jn|*rPk;H;O!cUbm&U98v|rTM8~N4oln+^25O?mNU|Jk$ z!%fN8|h|EpqbTos`^~Kn=4t0Q&&%rV%jVbKl}>eg43Bl)C?#(+ zUBw}Hop5QVq)X?gsczddWEcqaQ(Qfb5&|X_@`2f zB1<4f4*gL?IL!a)51jjXK7YQLkBQ{+=nowGqZ|+<)pI_=>oRbutS`yKP;0cxPkWl~ z4z9jKSOGbB0K2wv7|Cy+e*z{J5}aGIN-~n4^`DdO+DP9&{|hZ_Y`L*CFXV7SctA|v zv8(Ox`JoMqjhCO%I__Ut!yedcZ55omf4JSz+gfHzxwY81?A=z!V}Dt1*;=_idt$v~ z<-QfRw{I^t9$oL@%*(La%6gX?Lu*41(;7V4xY&4clCQIE_jFqU*Izr{!+AOCRU7$! zRi!n28R#q`y(&6R|Kf_kwowLN4 zb+NXPmgPpzV^f{y^M4yeTip%q`qBO@WMza~&p%9V9Ui$z`j2GAg{%6ECj)HT1~lu( zRd%u|b8Jb>i!AzVl_qS5UG%#(%sDQuV-0?L%Z$_Ne$OTiDs*_cPZH-&n4nn}QQMZ& zFO&^#?#}{t3}A7;319=JOc!%Em55&HOKiSREf{vM`mI83ZGX8jY~jn!Cz|WTS3ao} zJsT?9@^jzNEFZI9J7Hj}_`A)qPQ#uiai)ElW8-T>+;rwdc6qwS?WW%hNAze9%@?K| zu{`Tw(da(&_1WTT(NX;oGmf0hW``~pD;nps6;(UM_^<*oF?c)cRB}-pzjdoP_FkRi z`cMOVrBTlcV}IATZ8&sVOe-#C-utrHoj-ZAeMh?3EDiJY?{uHvz6P`wYc_iu_O8^4 z`EMK9+1GEepyJiixglTnW`Dzp@K9ErStCZ*G zBKyU1d)scWKsMR$CY$?&Jtu;(l>Ho7fbzq(GkEs)N71(>AUf?_0FyHUBTknNwd4GEC}h45^s delta 2267 zcmV<12qgEQ6`mE4Pk#~#00000006530000000000005o}00000004La0gDf27!X8=Q83nKRSgPJ5N0fc#-s*WYJFtYN5s^`Hr4n7 zjUuA>APS=-mLNi+Xh32FQK~{n6f3V8ZqL5C*Ia&UN|Ha)CV#7Et;62m-uvvc@44sP znYq|A#@u*UN!^7@xsh%s_5NJi^WKMdvQs=Y(#h^1=_H9|J4so0Rp>OQY z@E+g`FunqK3~(jz4B$B6>o8v(a1_Mb0lx+DdBB$;zAx}Iz}sN_UxEJyTnFRd27fI0 z+rj@&V1F-&zX99;d=vN4%z%js6fSZ6@fWH9t1AZ2`75E)kpNHTd4crFY z4%`9k4crOb1#AKK1s(-_4(cxj{s-_@;4;m)u z9O_j8yFq+E;Qqjm1G@u10Xz-nI|%i9Kzt7P_W|z*eiwKM0JFyM*65x{=*16JIlwr~0 zbj{QxgNfb{MEO2D)({pO8s{WIY*>u)&O~xEEsRwV1TI8LZ!S6|mSu;;B)fT+?Y5*v zilKZIOB+F%pXO7J<00bQ6iyFNy;hPNm4yZKUJahBjb2t<#=N1)NDywBW3pCs)CWjxuHjrOB*|B!tj7eZBd4={?rN zk&o}~dMSTzep-L!_0ZgS{*->or+;LsM|r(8Ug@X(qC9WpSH@F5WN|_4xr2gfal{Qr zS;;`}I!KDA)r%YHVNIY~JS-}!U(+!|SKD%RX8ZDt!EP+G{+@WNAI0!k+l^B4M$=WC zviH+m&l7d=-nb`BuE4KIV)PH_57o~Xp~u5X-dN&N{f}#vYf+Z*->i%Fkbk@pl{Nf7 z>$IoEV`byyi0eX|YCz(pK$7AiY~JQmraTGc_#yVI(n;{*_0@2lzN*P}UQwJ9Z*IRV zG5r&yO43Ji{gR}Q;`&8N_vQM>l0KU2A4$3&*DEF6pX(Kp9>DbrlFn7JJ&^mMTG z8Nv$5!2{UMo#KnvufG3y&Jy2}URksG>$kBZmZsV^(&x{Qp#@DV*O%o6oQ@6ljL1FL za8j;0uxYivZj9RU;Kml#)=_V+;5^`+gO&%NY`f#OY7<&tX6+|hieH$=bW2=Ygh6+s*@t~IgotgC z=77%idWUoKt)Cok5`WB%x7FLHc(8ztqfU4s{6b&7s!m(LHN$KYCujpz)7v_UIyull^RA+02=$b>r&0vwt1P z{M$z`&qLlU`gfkpdv3Cjv#V5aN?l`i`{jzz`!%l?sq4%2L4PZMYyCxgqwxHDRf0oP zRrm3nmsRVh9#hX8*(Lm8ccfK!q*YkdvCgvd#i#B33~{V3S!H*}eW4|MN*~pyiP=JV z#>wI-Lo&5{g)G5RvybVc=CCD!>xGJzOtzsqPlyRB6ykgjGRM+u>X`leg=zO2Ew{$& z*z+w~Rus9tdw<8Ni$Y3C33D#UU|;^(nH8LIF&mqfYhNFb`DhJjEw=1-)*apGCmi3T zXO~}UW=dSX zJ`~ob3{PRv*J}ii>wO%uXT04(XP7?;1om3(v6P%D-MENJYiFzxmanMq5Of(qt-2l6 pE^MqZ!c5PKTMgU9$Ab9W8048KJ{Dx7cqOt?eyWi1-?I-1kpa6XduRXv diff --git a/CPLD/MAXII/db/RAM2GS.cmp.logdb b/CPLD/MAXII/db/RAM2GS.cmp.logdb index 626799f..d45424f 100644 --- a/CPLD/MAXII/db/RAM2GS.cmp.logdb +++ b/CPLD/MAXII/db/RAM2GS.cmp.logdb @@ -1 +1 @@ -v1 +v1 diff --git a/CPLD/MAXII/db/RAM2GS.cmp.rdb b/CPLD/MAXII/db/RAM2GS.cmp.rdb index 1d1811382b73bfc6af6dd5fef35b9a9327089bd6..e41904959210725e69ced4ba9156ea33af75948d 100644 GIT binary patch delta 13590 zcmV+xHR;Ngaffk`M}IU^0RR91006@_00000000>S0000000000004(L00000004La z?0s8v8%dU)Xz$qD+SzsAW@gv+dUK|yyVWzz3&5)s9>+i+rREH8Lr_v{Hym^kERtn` z0H***&54c;NBF_7{w4Ol`Psk7ez3!Su($nvnJ24G0)-1n34c_}s0b2SS$R2m@|=?= zPiCI{qdRx*{1AWdLKCTGP`Yo-X0sDFOtqDw;T8vTrqXB_o2+fpxE-f2P@omQ*S{?asBr%BzMbenaewQcT3&12K*oW-eWw|`DLuc9^Sm3zNCp-&fP0p5r1<5 zB()otrhnZ%`nPetWA1iZ7Mf0+p0_RF^;YvZaflE|9oF|8NM;N0HG$f@weC^7o+cNT z7AvP|9JB5(ZE-Hk@47%yw{7;)?@^=m%GA2&=TUlD$aRRE`4j$QrX~5i{TC}a01Y3=r0@RBh9FHCIEdRFa?RtY zdm6Xxmx6yYGye{;|FY+=AmKFX9mat00tZCL3vq|EGni^P&|QcAdvPcg8(;BGt2w(K zpG4h8$2@MdjxZk9M#1vOgyjeL=NVJ~ejCp|pcTO*`1t^lwqrIL(M20V6MDyB6@fa& z+mqV^9B5jny-EE0%*-#K1peNQ{DlcY1KSY*C_xl#N4jg$)=cuaxb52UgreUIw4qJ;OE!hrS(3l$%j6IOln0Mc=^`Qv zsWk83PSQyJ;LJ*}dTca1N#|1c^Ex;eHoo|Qc?1ha$C_+l8%h({!DyT@omVZ>?4BRR zX&Y9WHjG!!Zsg-I^25A_EYN_ECxJ<-4ilHPEx9x_?ZK9139ijH7uu3elb12fdY2b5 zt$)@e!|3)!Tu)A5<3oXf)I^O|GoCXC_~a{eK+s~>PL8eJaA5tNRtJ&>7=MyDjnewr z<(%%G8O!z@d_AvR^>^m`nOP%&VIk8`5iBHASP@|%20F#sr3tgQEGuqi{xPD5A#-Gc z-eLvBF9w0Q3!~||=OC~ZOaUX*e3tmJ{7LB_;kDXoHetq1UXrYSn>P3LhY#_; z@0qcxsTxr!ehYEvb?KqFHK|ocgS&Lx+umf~k`6 zfr`nMXDEb+sokGqV+;Pd7IIGujk%)D4OB?SG8k1*&~!9Y)IA-VGEOJQ_tVA{K~n?` z;TOUDUXu^U~Xq@rwuaI=+WBj|$xHc@$w9qL| zUo(@*2qb?nIZo1%_7=PAop#b;NWRIpnQ7rg=$oRYkmA0-XbIR5FT#o3aJD(WYaT|; z7seXfhZ))V?S=~i1K{930v_exi|Q}9dA!FC`y8L$hGKlcaq86VG-w+foyWBHOMlcJ zi|a>}D__{tL`OJfjg$Py;I<32F0irI9vDU;*dP_0n)B9iJf}gLiScH43Knt2ptxy< zlg$Yi0x6c0feA@}_+7w~wz4rS21ssT&iAI^sEl)rw$+M`t@8lq

    JSgX*p_P5ygi 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 cedJS0000000000005OZ00000004La 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 JGPAHY*8%U}tWp2~ diff --git a/CPLD/MAXII/db/RAM2GS.db_info b/CPLD/MAXII/db/RAM2GS.db_info index a50bbdd..8af81af 100644 --- a/CPLD/MAXII/db/RAM2GS.db_info +++ b/CPLD/MAXII/db/RAM2GS.db_info @@ -1,3 +1,3 @@ -Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition -Version_Index = 503488000 -Creation_Time = Wed Aug 16 05:07:32 2023 +Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Version_Index = 503488000 +Creation_Time = Sat Aug 19 21:57:06 2023 diff --git a/CPLD/MAXII/db/RAM2GS.fit.qmsg b/CPLD/MAXII/db/RAM2GS.fit.qmsg index de65bdd..5aebef0 100644 --- a/CPLD/MAXII/db/RAM2GS.fit.qmsg +++ b/CPLD/MAXII/db/RAM2GS.fit.qmsg @@ -1,43 +1,43 @@ -{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Fitter" 0 -1 1692170596213 ""} -{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS EPM240T100C5 " "Selected device EPM240T100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1692170596216 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692170596253 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692170596253 ""} -{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1692170596305 ""} -{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1692170596315 ""} -{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100I5 " "Device EPM240T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170596447 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100A5 " "Device EPM240T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170596447 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100C5 " "Device EPM570T100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170596447 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100I5 " "Device EPM570T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170596447 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100A5 " "Device EPM570T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170596447 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1692170596447 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS.sdc " "Reading SDC File: '../RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692170596516 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS-MAX.sdc " "Reading SDC File: '../RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692170596518 ""} -{ "Info" "ISTA_USER_TDC_OPTIMIZATION_GOALS" "" "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" { } { } 0 332129 "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" 0 0 "Fitter" 0 -1 1692170596522 ""} -{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 ARCLK " " 200.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 DRCLK " " 200.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCCAS " " 350.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCRAS " " 350.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 PHI2 " " 350.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 16.000 RCLK " " 16.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170596522 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1692170596522 ""} -{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692170596527 ""} -{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692170596527 ""} -{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692170596530 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 40 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 13 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170596537 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 338 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "LED~0 " "Destination \"LED~0\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170596537 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170596537 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 340 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 17 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170596537 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RD~16 " "Destination \"RD~16\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170596537 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170596537 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 339 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692170596537 ""} -{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1692170596540 ""} -{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1692170596557 ""} -{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1692170596585 ""} -{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1692170596586 ""} -{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1692170596586 ""} -{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1692170596586 ""} -{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:00 " "Fitter preparation operations ending: elapsed time is 00:00:00" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170596634 ""} -{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1692170596637 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1692170596740 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170596867 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1692170596869 ""} -{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1692170597241 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170597241 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1692170597262 ""} -{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "17 " "Router estimated average interconnect usage is 17% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "17 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 17% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/" { { 1 { 0 "Router estimated peak interconnect usage is 17% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1692170597408 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1692170597408 ""} -{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1692170597493 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1692170597493 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:00 " "Fitter routing operations ending: elapsed time is 00:00:00" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170597494 ""} -{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.27 " "Total time spent on timing analysis during the Fitter is 0.27 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1692170597504 ""} -{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170597512 ""} -{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1692170597570 ""} -{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 1 Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5345 " "Peak virtual memory: 5345 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692170597599 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Aug 16 03:23:17 2023 " "Processing ended: Wed Aug 16 03:23:17 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692170597599 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692170597599 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692170597599 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1692170597599 ""} +{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Fitter" 0 -1 1692496796355 ""} +{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS EPM240T100C5 " "Selected device EPM240T100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1692496796386 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692496796417 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692496796417 ""} +{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1692496796855 ""} +{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1692496796870 ""} +{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100I5 " "Device EPM240T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM240T100A5 " "Device EPM240T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100C5 " "Device EPM570T100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100I5 " "Device EPM570T100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "EPM570T100A5 " "Device EPM570T100A5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1692496797323 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692496797448 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692496797589 ""} +{ "Info" "ISTA_USER_TDC_OPTIMIZATION_GOALS" "" "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" { } { } 0 332129 "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" 0 0 "Fitter" 0 -1 1692496797714 ""} +{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 ARCLK " " 200.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 DRCLK " " 200.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCCAS " " 350.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCRAS " " 350.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 PHI2 " " 350.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 16.000 RCLK " " 16.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1692496797714 ""} +{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692496797729 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692496797729 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692496797729 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 41 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797745 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797745 ""} } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 8 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797745 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 8 -1 0 } } { "temporary_test_loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 340 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692496797745 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "LED~0 " "Destination \"LED~0\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 22 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797792 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797792 ""} } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797792 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } { "temporary_test_loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 342 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692496797808 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 18 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797808 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RD~16 " "Destination \"RD~16\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 60 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797808 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 16 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797808 ""} } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797808 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } { "temporary_test_loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXII/" { { 0 { 0 ""} 0 341 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692496797808 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692496797823 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1692496797823 ""} +{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1692496797870 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1692496797948 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1692496797948 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1692496797948 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1692496797948 ""} +{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:01 " "Fitter preparation operations ending: elapsed time is 00:00:01" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496798011 ""} +{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1692496798370 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1692496798667 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496798854 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1692496798870 ""} +{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1692496799276 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496799276 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1692496799323 ""} +{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "17 " "Router estimated average interconnect usage is 17% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "17 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 17% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXII/" { { 1 { 0 "Router estimated peak interconnect usage is 17% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1692496799495 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1692496799495 ""} +{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1692496800073 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1692496800073 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:01 " "Fitter routing operations ending: elapsed time is 00:00:01" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496800073 ""} +{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.26 " "Total time spent on timing analysis during the Fitter is 0.26 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1692496800105 ""} +{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496800120 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "//ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1692496800917 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 1 Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5345 " "Peak virtual memory: 5345 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692496803339 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 19 22:00:03 2023 " "Processing ended: Sat Aug 19 22:00:03 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692496803339 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:09 " "Elapsed time: 00:00:09" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692496803339 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692496803339 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1692496803339 ""} diff --git a/CPLD/MAXII/db/RAM2GS.hier_info b/CPLD/MAXII/db/RAM2GS.hier_info index dfffd8a..1d5ce26 100644 --- a/CPLD/MAXII/db/RAM2GS.hier_info +++ b/CPLD/MAXII/db/RAM2GS.hier_info @@ -1,285 +1,285 @@ -|RAM2GS -PHI2 => Bank[0].CLK -PHI2 => Bank[1].CLK -PHI2 => Bank[2].CLK -PHI2 => Bank[3].CLK -PHI2 => Bank[4].CLK -PHI2 => Bank[5].CLK -PHI2 => Bank[6].CLK -PHI2 => Bank[7].CLK -PHI2 => RA11.CLK -PHI2 => PHI2r.DATAIN -PHI2 => CmdDRDIn.CLK -PHI2 => CmdDRCLK.CLK -PHI2 => CmdUFMPrgm.CLK -PHI2 => CmdUFMErase.CLK -PHI2 => CmdSubmitted.CLK -PHI2 => Cmdn8MEGEN.CLK -PHI2 => CmdLEDEN.CLK -PHI2 => XOR8MEG.CLK -PHI2 => ADSubmitted.CLK -PHI2 => C1Submitted.CLK -PHI2 => UFMOscEN.CLK -PHI2 => CmdEnable.CLK -MAin[0] => RA.DATAA -MAin[0] => RowA.DATAB -MAin[0] => Equal0.IN7 -MAin[0] => Equal1.IN7 -MAin[0] => Equal3.IN6 -MAin[1] => RA.DATAA -MAin[1] => RowA.DATAB -MAin[1] => Equal0.IN6 -MAin[1] => Equal1.IN6 -MAin[1] => Equal3.IN7 -MAin[2] => RA.DATAA -MAin[2] => RowA.DATAB -MAin[2] => Equal0.IN5 -MAin[2] => Equal1.IN5 -MAin[2] => Equal3.IN5 -MAin[3] => RA.DATAA -MAin[3] => RowA.DATAB -MAin[3] => Equal0.IN4 -MAin[3] => Equal1.IN4 -MAin[3] => Equal3.IN4 -MAin[4] => RA.DATAA -MAin[4] => RowA.DATAB -MAin[4] => Equal0.IN3 -MAin[4] => Equal1.IN3 -MAin[4] => Equal3.IN3 -MAin[5] => RA.DATAA -MAin[5] => RowA.DATAB -MAin[5] => Equal0.IN2 -MAin[5] => Equal1.IN2 -MAin[5] => Equal3.IN2 -MAin[6] => RA.DATAA -MAin[6] => RowA.DATAB -MAin[6] => Equal0.IN1 -MAin[6] => Equal1.IN1 -MAin[6] => Equal3.IN1 -MAin[7] => RA.DATAA -MAin[7] => RowA.DATAB -MAin[7] => Equal0.IN0 -MAin[7] => Equal1.IN0 -MAin[7] => Equal3.IN0 -MAin[8] => RA.DATAA -MAin[8] => RowA.DATAB -MAin[9] => RA.DATAA -MAin[9] => RDQMH.DATAA -MAin[9] => RowA.DATAB -MAin[9] => RDQML.DATAA -CROW[0] => RBA.DATAB -CROW[1] => RBA.DATAB -Din[0] => XOR8MEG.IN1 -Din[0] => CmdDRDIn.DATAB -Din[0] => WRD[0].DATAIN -Din[0] => Bank[0].DATAIN -Din[0] => Equal14.IN2 -Din[0] => Equal15.IN4 -Din[0] => Cmdn8MEGEN.DATAB -Din[1] => XOR8MEG.IN1 -Din[1] => CmdDRCLK.DATAB -Din[1] => CmdLEDEN.DATAB -Din[1] => WRD[1].DATAIN -Din[1] => Bank[1].DATAIN -Din[1] => Equal14.IN7 -Din[1] => Equal15.IN7 -Din[2] => CmdUFMPrgm.DATAB -Din[2] => WRD[2].DATAIN -Din[2] => Bank[2].DATAIN -Din[2] => Equal14.IN6 -Din[2] => Equal15.IN3 -Din[2] => Equal16.IN1 -Din[3] => CmdUFMErase.DATAB -Din[3] => WRD[3].DATAIN -Din[3] => Bank[3].DATAIN -Din[3] => Equal14.IN5 -Din[3] => Equal15.IN2 -Din[3] => Equal16.IN0 -Din[4] => WRD[4].DATAIN -Din[4] => Bank[4].DATAIN -Din[4] => Equal14.IN4 -Din[4] => Equal15.IN6 -Din[4] => Equal17.IN3 -Din[4] => Equal18.IN0 -Din[4] => Equal19.IN3 -Din[5] => WRD[5].DATAIN -Din[5] => Bank[5].DATAIN -Din[5] => Equal14.IN3 -Din[5] => Equal15.IN1 -Din[5] => Equal17.IN2 -Din[5] => Equal18.IN3 -Din[5] => Equal19.IN0 -Din[6] => RA11.IN1 -Din[6] => WRD[6].DATAIN -Din[6] => Bank[6].DATAIN -Din[6] => Equal14.IN1 -Din[6] => Equal15.IN5 -Din[6] => Equal17.IN1 -Din[6] => Equal18.IN2 -Din[6] => Equal19.IN2 -Din[7] => WRD[7].DATAIN -Din[7] => Bank[7].DATAIN -Din[7] => Equal14.IN0 -Din[7] => Equal15.IN0 -Din[7] => Equal17.IN0 -Din[7] => Equal18.IN1 -Din[7] => Equal19.IN1 -Dout[0] <= Dout[0].DB_MAX_OUTPUT_PORT_TYPE -Dout[1] <= Dout[1].DB_MAX_OUTPUT_PORT_TYPE -Dout[2] <= Dout[2].DB_MAX_OUTPUT_PORT_TYPE -Dout[3] <= Dout[3].DB_MAX_OUTPUT_PORT_TYPE -Dout[4] <= Dout[4].DB_MAX_OUTPUT_PORT_TYPE -Dout[5] <= Dout[5].DB_MAX_OUTPUT_PORT_TYPE -Dout[6] <= Dout[6].DB_MAX_OUTPUT_PORT_TYPE -Dout[7] <= Dout[7].DB_MAX_OUTPUT_PORT_TYPE -nCCAS => WRD[0].CLK -nCCAS => WRD[1].CLK -nCCAS => WRD[2].CLK -nCCAS => WRD[3].CLK -nCCAS => WRD[4].CLK -nCCAS => WRD[5].CLK -nCCAS => WRD[6].CLK -nCCAS => WRD[7].CLK -nCCAS => RD.IN0 -nCCAS => CBR.DATAIN -nCCAS => CASr.DATAIN -nCRAS => CBR.CLK -nCRAS => FWEr.CLK -nCRAS => RowA[0].CLK -nCRAS => RowA[1].CLK -nCRAS => RowA[2].CLK -nCRAS => RowA[3].CLK -nCRAS => RowA[4].CLK -nCRAS => RowA[5].CLK -nCRAS => RowA[6].CLK -nCRAS => RowA[7].CLK -nCRAS => RowA[8].CLK -nCRAS => RowA[9].CLK -nCRAS => RBA[0]~reg0.CLK -nCRAS => RBA[1]~reg0.CLK -nCRAS => LED.IN1 -nCRAS => RASr.DATAIN -nFWE => RD.IN1 -nFWE => CMDWR.IN1 -nFWE => ADWR.IN1 -nFWE => C1WR.IN1 -nFWE => FWEr.DATAIN -LED <= LED.DB_MAX_OUTPUT_PORT_TYPE -RBA[0] <= RBA[0]~reg0.DB_MAX_OUTPUT_PORT_TYPE -RBA[1] <= RBA[1]~reg0.DB_MAX_OUTPUT_PORT_TYPE -RA[0] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[1] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[2] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[3] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[4] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[5] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[6] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[7] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[8] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[9] <= RA.DB_MAX_OUTPUT_PORT_TYPE -RA[10] <= RA10.DB_MAX_OUTPUT_PORT_TYPE -RA[11] <= RA11.DB_MAX_OUTPUT_PORT_TYPE -RD[0] <> RD[0] -RD[1] <> RD[1] -RD[2] <> RD[2] -RD[3] <> RD[3] -RD[4] <> RD[4] -RD[5] <> RD[5] -RD[6] <> RD[6] -RD[7] <> RD[7] -nRCS <= nRCS~reg0.DB_MAX_OUTPUT_PORT_TYPE -RCLK => UFMProgram.CLK -RCLK => UFMErase.CLK -RCLK => UFMReqErase.CLK -RCLK => LEDEN.CLK -RCLK => UFMInitDone.CLK -RCLK => n8MEGEN.CLK -RCLK => UFMD.CLK -RCLK => DRShift.CLK -RCLK => DRDIn.CLK -RCLK => DRCLK.CLK -RCLK => ARShift.CLK -RCLK => ARCLK.CLK -RCLK => Ready.CLK -RCLK => IS[0].CLK -RCLK => IS[1].CLK -RCLK => IS[2].CLK -RCLK => IS[3].CLK -RCLK => nRowColSel.CLK -RCLK => RCKEEN.CLK -RCLK => RA10.CLK -RCLK => nRWE~reg0.CLK -RCLK => nRCAS~reg0.CLK -RCLK => nRRAS~reg0.CLK -RCLK => nRCS~reg0.CLK -RCLK => RCKE~reg0.CLK -RCLK => InitReady.CLK -RCLK => FS[0].CLK -RCLK => FS[1].CLK -RCLK => FS[2].CLK -RCLK => FS[3].CLK -RCLK => FS[4].CLK -RCLK => FS[5].CLK -RCLK => FS[6].CLK -RCLK => FS[7].CLK -RCLK => FS[8].CLK -RCLK => FS[9].CLK -RCLK => FS[10].CLK -RCLK => FS[11].CLK -RCLK => FS[12].CLK -RCLK => FS[13].CLK -RCLK => FS[14].CLK -RCLK => FS[15].CLK -RCLK => FS[16].CLK -RCLK => FS[17].CLK -RCLK => S[0].CLK -RCLK => S[1].CLK -RCLK => CASr3.CLK -RCLK => CASr2.CLK -RCLK => CASr.CLK -RCLK => RASr3.CLK -RCLK => RASr2.CLK -RCLK => RASr.CLK -RCLK => PHI2r3.CLK -RCLK => PHI2r2.CLK -RCLK => PHI2r.CLK -RCKE <= RCKE~reg0.DB_MAX_OUTPUT_PORT_TYPE -nRWE <= nRWE~reg0.DB_MAX_OUTPUT_PORT_TYPE -nRRAS <= nRRAS~reg0.DB_MAX_OUTPUT_PORT_TYPE -nRCAS <= nRCAS~reg0.DB_MAX_OUTPUT_PORT_TYPE -RDQMH <= RDQMH.DB_MAX_OUTPUT_PORT_TYPE -RDQML <= RDQML.DB_MAX_OUTPUT_PORT_TYPE - - -|RAM2GS|UFM:UFM_inst -arclk => arclk.IN1 -ardin => ardin.IN1 -arshft => arshft.IN1 -drclk => drclk.IN1 -drdin => drdin.IN1 -drshft => drshft.IN1 -erase => erase.IN1 -oscena => oscena.IN1 -program => program.IN1 -busy <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.busy -drdout <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.drdout -osc <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.osc -rtpbusy <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.rtpbusy - - -|RAM2GS|UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component -arclk => maxii_ufm_block1.ARCLK -ardin => maxii_ufm_block1.ARDIN -arshft => maxii_ufm_block1.ARSHFT -busy <= maxii_ufm_block1.BUSY -drclk => maxii_ufm_block1.DRCLK -drdin => maxii_ufm_block1.DRDIN -drdout <= maxii_ufm_block1.DRDOUT -drshft => maxii_ufm_block1.DRSHFT -erase => maxii_ufm_block1.ERASE -osc <= maxii_ufm_block1.OSC -oscena => maxii_ufm_block1.OSCENA -program => maxii_ufm_block1.PROGRAM -rtpbusy <= maxii_ufm_block1.BGPBUSY - - +|RAM2GS +PHI2 => Bank[0].CLK +PHI2 => Bank[1].CLK +PHI2 => Bank[2].CLK +PHI2 => Bank[3].CLK +PHI2 => Bank[4].CLK +PHI2 => Bank[5].CLK +PHI2 => Bank[6].CLK +PHI2 => Bank[7].CLK +PHI2 => RA11.CLK +PHI2 => PHI2r.DATAIN +PHI2 => CmdDRDIn.CLK +PHI2 => CmdDRCLK.CLK +PHI2 => CmdUFMPrgm.CLK +PHI2 => CmdUFMErase.CLK +PHI2 => CmdSubmitted.CLK +PHI2 => Cmdn8MEGEN.CLK +PHI2 => CmdLEDEN.CLK +PHI2 => XOR8MEG.CLK +PHI2 => ADSubmitted.CLK +PHI2 => C1Submitted.CLK +PHI2 => UFMOscEN.CLK +PHI2 => CmdEnable.CLK +MAin[0] => RA.DATAA +MAin[0] => RowA.DATAB +MAin[0] => Equal0.IN7 +MAin[0] => Equal1.IN7 +MAin[0] => Equal3.IN6 +MAin[1] => RA.DATAA +MAin[1] => RowA.DATAB +MAin[1] => Equal0.IN6 +MAin[1] => Equal1.IN6 +MAin[1] => Equal3.IN7 +MAin[2] => RA.DATAA +MAin[2] => RowA.DATAB +MAin[2] => Equal0.IN5 +MAin[2] => Equal1.IN5 +MAin[2] => Equal3.IN5 +MAin[3] => RA.DATAA +MAin[3] => RowA.DATAB +MAin[3] => Equal0.IN4 +MAin[3] => Equal1.IN4 +MAin[3] => Equal3.IN4 +MAin[4] => RA.DATAA +MAin[4] => RowA.DATAB +MAin[4] => Equal0.IN3 +MAin[4] => Equal1.IN3 +MAin[4] => Equal3.IN3 +MAin[5] => RA.DATAA +MAin[5] => RowA.DATAB +MAin[5] => Equal0.IN2 +MAin[5] => Equal1.IN2 +MAin[5] => Equal3.IN2 +MAin[6] => RA.DATAA +MAin[6] => RowA.DATAB +MAin[6] => Equal0.IN1 +MAin[6] => Equal1.IN1 +MAin[6] => Equal3.IN1 +MAin[7] => RA.DATAA +MAin[7] => RowA.DATAB +MAin[7] => Equal0.IN0 +MAin[7] => Equal1.IN0 +MAin[7] => Equal3.IN0 +MAin[8] => RA.DATAA +MAin[8] => RowA.DATAB +MAin[9] => RA.DATAA +MAin[9] => RDQMH.DATAA +MAin[9] => RowA.DATAB +MAin[9] => RDQML.DATAA +CROW[0] => RBA.DATAB +CROW[1] => RBA.DATAB +Din[0] => XOR8MEG.IN1 +Din[0] => CmdDRDIn.DATAB +Din[0] => WRD[0].DATAIN +Din[0] => Bank[0].DATAIN +Din[0] => Equal14.IN2 +Din[0] => Equal15.IN4 +Din[0] => Cmdn8MEGEN.DATAB +Din[1] => XOR8MEG.IN1 +Din[1] => CmdDRCLK.DATAB +Din[1] => CmdLEDEN.DATAB +Din[1] => WRD[1].DATAIN +Din[1] => Bank[1].DATAIN +Din[1] => Equal14.IN7 +Din[1] => Equal15.IN7 +Din[2] => CmdUFMPrgm.DATAB +Din[2] => WRD[2].DATAIN +Din[2] => Bank[2].DATAIN +Din[2] => Equal14.IN6 +Din[2] => Equal15.IN3 +Din[2] => Equal16.IN1 +Din[3] => CmdUFMErase.DATAB +Din[3] => WRD[3].DATAIN +Din[3] => Bank[3].DATAIN +Din[3] => Equal14.IN5 +Din[3] => Equal15.IN2 +Din[3] => Equal16.IN0 +Din[4] => WRD[4].DATAIN +Din[4] => Bank[4].DATAIN +Din[4] => Equal14.IN4 +Din[4] => Equal15.IN6 +Din[4] => Equal17.IN3 +Din[4] => Equal18.IN0 +Din[4] => Equal19.IN3 +Din[5] => WRD[5].DATAIN +Din[5] => Bank[5].DATAIN +Din[5] => Equal14.IN3 +Din[5] => Equal15.IN1 +Din[5] => Equal17.IN2 +Din[5] => Equal18.IN3 +Din[5] => Equal19.IN0 +Din[6] => RA11.IN1 +Din[6] => WRD[6].DATAIN +Din[6] => Bank[6].DATAIN +Din[6] => Equal14.IN1 +Din[6] => Equal15.IN5 +Din[6] => Equal17.IN1 +Din[6] => Equal18.IN2 +Din[6] => Equal19.IN2 +Din[7] => WRD[7].DATAIN +Din[7] => Bank[7].DATAIN +Din[7] => Equal14.IN0 +Din[7] => Equal15.IN0 +Din[7] => Equal17.IN0 +Din[7] => Equal18.IN1 +Din[7] => Equal19.IN1 +Dout[0] <= Dout[0].DB_MAX_OUTPUT_PORT_TYPE +Dout[1] <= Dout[1].DB_MAX_OUTPUT_PORT_TYPE +Dout[2] <= Dout[2].DB_MAX_OUTPUT_PORT_TYPE +Dout[3] <= Dout[3].DB_MAX_OUTPUT_PORT_TYPE +Dout[4] <= Dout[4].DB_MAX_OUTPUT_PORT_TYPE +Dout[5] <= Dout[5].DB_MAX_OUTPUT_PORT_TYPE +Dout[6] <= Dout[6].DB_MAX_OUTPUT_PORT_TYPE +Dout[7] <= Dout[7].DB_MAX_OUTPUT_PORT_TYPE +nCCAS => WRD[0].CLK +nCCAS => WRD[1].CLK +nCCAS => WRD[2].CLK +nCCAS => WRD[3].CLK +nCCAS => WRD[4].CLK +nCCAS => WRD[5].CLK +nCCAS => WRD[6].CLK +nCCAS => WRD[7].CLK +nCCAS => RD.IN0 +nCCAS => CBR.DATAIN +nCCAS => CASr.DATAIN +nCRAS => CBR.CLK +nCRAS => FWEr.CLK +nCRAS => RowA[0].CLK +nCRAS => RowA[1].CLK +nCRAS => RowA[2].CLK +nCRAS => RowA[3].CLK +nCRAS => RowA[4].CLK +nCRAS => RowA[5].CLK +nCRAS => RowA[6].CLK +nCRAS => RowA[7].CLK +nCRAS => RowA[8].CLK +nCRAS => RowA[9].CLK +nCRAS => RBA[0]~reg0.CLK +nCRAS => RBA[1]~reg0.CLK +nCRAS => LED.IN1 +nCRAS => RASr.DATAIN +nFWE => RD.IN1 +nFWE => CMDWR.IN1 +nFWE => ADWR.IN1 +nFWE => C1WR.IN1 +nFWE => FWEr.DATAIN +LED <= LED.DB_MAX_OUTPUT_PORT_TYPE +RBA[0] <= RBA[0]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RBA[1] <= RBA[1]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RA[0] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[1] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[2] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[3] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[4] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[5] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[6] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[7] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[8] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[9] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[10] <= RA10.DB_MAX_OUTPUT_PORT_TYPE +RA[11] <= RA11.DB_MAX_OUTPUT_PORT_TYPE +RD[0] <> RD[0] +RD[1] <> RD[1] +RD[2] <> RD[2] +RD[3] <> RD[3] +RD[4] <> RD[4] +RD[5] <> RD[5] +RD[6] <> RD[6] +RD[7] <> RD[7] +nRCS <= nRCS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RCLK => UFMProgram.CLK +RCLK => UFMErase.CLK +RCLK => UFMReqErase.CLK +RCLK => LEDEN.CLK +RCLK => UFMInitDone.CLK +RCLK => n8MEGEN.CLK +RCLK => UFMD.CLK +RCLK => DRShift.CLK +RCLK => DRDIn.CLK +RCLK => DRCLK.CLK +RCLK => ARShift.CLK +RCLK => ARCLK.CLK +RCLK => Ready.CLK +RCLK => IS[0].CLK +RCLK => IS[1].CLK +RCLK => IS[2].CLK +RCLK => IS[3].CLK +RCLK => nRowColSel.CLK +RCLK => RCKEEN.CLK +RCLK => RA10.CLK +RCLK => nRWE~reg0.CLK +RCLK => nRCAS~reg0.CLK +RCLK => nRRAS~reg0.CLK +RCLK => nRCS~reg0.CLK +RCLK => RCKE~reg0.CLK +RCLK => InitReady.CLK +RCLK => FS[0].CLK +RCLK => FS[1].CLK +RCLK => FS[2].CLK +RCLK => FS[3].CLK +RCLK => FS[4].CLK +RCLK => FS[5].CLK +RCLK => FS[6].CLK +RCLK => FS[7].CLK +RCLK => FS[8].CLK +RCLK => FS[9].CLK +RCLK => FS[10].CLK +RCLK => FS[11].CLK +RCLK => FS[12].CLK +RCLK => FS[13].CLK +RCLK => FS[14].CLK +RCLK => FS[15].CLK +RCLK => FS[16].CLK +RCLK => FS[17].CLK +RCLK => S[0].CLK +RCLK => S[1].CLK +RCLK => CASr3.CLK +RCLK => CASr2.CLK +RCLK => CASr.CLK +RCLK => RASr3.CLK +RCLK => RASr2.CLK +RCLK => RASr.CLK +RCLK => PHI2r3.CLK +RCLK => PHI2r2.CLK +RCLK => PHI2r.CLK +RCKE <= RCKE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRWE <= nRWE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRRAS <= nRRAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRCAS <= nRCAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RDQMH <= RDQMH.DB_MAX_OUTPUT_PORT_TYPE +RDQML <= RDQML.DB_MAX_OUTPUT_PORT_TYPE + + +|RAM2GS|UFM:UFM_inst +arclk => arclk.IN1 +ardin => ardin.IN1 +arshft => arshft.IN1 +drclk => drclk.IN1 +drdin => drdin.IN1 +drshft => drshft.IN1 +erase => erase.IN1 +oscena => oscena.IN1 +program => program.IN1 +busy <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.busy +drdout <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.drdout +osc <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.osc +rtpbusy <= UFM_altufm_none_unv:UFM_altufm_none_unv_component.rtpbusy + + +|RAM2GS|UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component +arclk => maxii_ufm_block1.ARCLK +ardin => maxii_ufm_block1.ARDIN +arshft => maxii_ufm_block1.ARSHFT +busy <= maxii_ufm_block1.BUSY +drclk => maxii_ufm_block1.DRCLK +drdin => maxii_ufm_block1.DRDIN +drdout <= maxii_ufm_block1.DRDOUT +drshft => maxii_ufm_block1.DRSHFT +erase => maxii_ufm_block1.ERASE +osc <= maxii_ufm_block1.OSC +oscena => maxii_ufm_block1.OSCENA +program => maxii_ufm_block1.PROGRAM +rtpbusy <= maxii_ufm_block1.BGPBUSY + + diff --git a/CPLD/MAXII/db/RAM2GS.hif b/CPLD/MAXII/db/RAM2GS.hif index 39ffab31379f4b17e038fd094e44e3b588dc2461..9f5433ac90e74fc2ec5848af8c549a8dd77d316c 100644 GIT binary patch literal 588 zcmV-S0<-uG0001Zob8lNkDD+MhVPd8A1v*qJtS)&Bw=r9O0rZ5Y$3_ja_k{% z2~5gI)a}y$UIXc7rJ%Nl_S6b2n|H?c%sj@QDwda3fgf_20@^`d$V_3w85%=^-&Zmb zcswDPIJc&GYZAl3(MP{zT$}YPgF%(Dd_v)D zZ7w7IU6fhQ4uHhI?zG`s@@~jg+@sv!Bs)k>vtyGvenzwHCZO7hhVDFA`rgLt691-M zIV*q`pbA~46Er(zRnCFNG67WAUzviG@j8cNR@6C5%|lW1VBOnm#4}sb#mo=38@lq=-lj#;MeRnx zHk`XOx}SxfzkFr6&ZpCZE8ScALFm$*8+xl?`Lg3Y@S{z*oo}Lc)gR_op7}bIAb2>( zV-rGN9Q?rVbuw+zmh@4AM#&!=n9rzgHC@9z({=t_f#QH#!s5btyIA)_Hm)EWe;RTX zr<&koIvyK_secgxWJ<>NMC`|wAk4A^vuyqk6V!0-bfZ!gAS$foC_4C8jcqLE*dh;C%V;buE>L{ZC literal 596 zcmV-a0;~P34*>uG0001Zob6IgkDD+My<6&ku(X%_ptgth)C!Qz%-Hkhz4xW&MOByhzK|)PEfl59GpyNTZA|dTS|$-T zZwMy#HKo^-Xf_T%m8MdV(e?EWtyzW)I`IfcI5{{5iM9$AP2vkN<13187GSd)Wo zBIC(RS2YrI+h)@xn@>G|vt~(RR#sg)<)X+HpI>Xp1fWjF=#7|+CzaxrWqAgy&W^+4(hG6ve{ui1xGAK0aq8$% zGZs9h`*NJh7!e>kH76R^xh;fAZEBj7>y&~uF>LMT7uIM7biW;lF_EVaYM=d(Gzw@`sCX0QqD~d4vf0b(Q16rduIyU if}H@JfS~pyrrJN{wzqz1ekyruj07q`@4f@OJ0BHFuO@N; diff --git a/CPLD/MAXII/db/RAM2GS.lpc.html b/CPLD/MAXII/db/RAM2GS.lpc.html index f7c4e12..68ca49f 100644 --- a/CPLD/MAXII/db/RAM2GS.lpc.html +++ b/CPLD/MAXII/db/RAM2GS.lpc.html @@ -1,50 +1,50 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    HierarchyInputConstant InputUnused InputFloating InputOutputConstant OutputUnused OutputFloating OutputBidirConstant BidirUnused BidirInput only BidirOutput only Bidir
    UFM_inst|UFM_altufm_none_unv_component9000400000000
    UFM_inst9404444400000
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    HierarchyInputConstant InputUnused InputFloating InputOutputConstant OutputUnused OutputFloating OutputBidirConstant BidirUnused BidirInput only BidirOutput only Bidir
    UFM_inst|UFM_altufm_none_unv_component9000400000000
    UFM_inst9404444400000
    diff --git a/CPLD/MAXII/db/RAM2GS.lpc.txt b/CPLD/MAXII/db/RAM2GS.lpc.txt index e3e31f1..bafdf6b 100644 --- a/CPLD/MAXII/db/RAM2GS.lpc.txt +++ b/CPLD/MAXII/db/RAM2GS.lpc.txt @@ -1,8 +1,8 @@ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Legal Partition Candidates ; -+----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ -; Hierarchy ; Input ; Constant Input ; Unused Input ; Floating Input ; Output ; Constant Output ; Unused Output ; Floating Output ; Bidir ; Constant Bidir ; Unused Bidir ; Input only Bidir ; Output only Bidir ; -+----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ -; UFM_inst|UFM_altufm_none_unv_component ; 9 ; 0 ; 0 ; 0 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; -; UFM_inst ; 9 ; 4 ; 0 ; 4 ; 4 ; 4 ; 4 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; -+----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Legal Partition Candidates ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; Hierarchy ; Input ; Constant Input ; Unused Input ; Floating Input ; Output ; Constant Output ; Unused Output ; Floating Output ; Bidir ; Constant Bidir ; Unused Bidir ; Input only Bidir ; Output only Bidir ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; UFM_inst|UFM_altufm_none_unv_component ; 9 ; 0 ; 0 ; 0 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; +; UFM_inst ; 9 ; 4 ; 0 ; 4 ; 4 ; 4 ; 4 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ diff --git a/CPLD/MAXII/db/RAM2GS.map.cdb b/CPLD/MAXII/db/RAM2GS.map.cdb index 955100406f18cc07d6602e3ce1a414fb0fd8adb7..4022b3e199acca7a3195b344d3df13b8dcb8e6e2 100644 GIT binary patch literal 17942 zcmeIa^K&Lq*ESk+;z=^G?M!SN6Wg|J+qP}paWb*(+_5pSee%4|_tmL7Kb=3|t*+|b z)xEoW_1f#Y*0pwb^-mBGkQ#W~sRd)~~k(@gg^!Aw|@u^9xpv}VRycNet#a(@mc8>x4=GR zH_?~6|0##@Yg{(?T_>qjoee%!eicxOsok^L@X??kS!k7Wa*oJd)zh8B*v(NPaxSSa zmW$z58jV-tCH!b3>01_#wt?ntGXPYH8BHghFSwLsI4$Mk8n9*+CEmuqLA#^9J0ZHO zUSLjf!ZrPHhw?_mkU%m`?>_xpy5@emDtxJYJASab%sZ>w;Q!0-_oXb|v;oF3GGIgI%Z2vS6*${+O z`Lt$-oZn-u@zt|*wf1_#|FT1`bzvXa;S!mXxPG3eCjYWtZtR|=%m3EmNrfuANpiY0 zEO=u%7ud)}pP-Z1P&HmP=%f?lcGfkAiRM#Rp38-#wb5BU+^)w_ggK`dd7NSPKwRm0 zrncIv?AAJ0j+K=I%9456#}3i|>F!5~jsBb506Ul>YNGpyEJVy(Lkz0?@7KSkCHL9q zXRPk<%G_6U*Dc@b@|fYY%TE>FgNMi{1}O;m#dt=8vX**+wM)fSySHp+@Rk+TkM#<% zgvA~enL`oAt{qWjb)#M+CX{rpVB7Q9``)TPu<&B^10r!fnfpyP`y8ZPd!8hL6QMcx zcy(2`)`aj?PF$EVVttsWpvz_3xcGNE1kWXX(n7)I95ft(;spwTyT!i^Re>Rx_ByNXt8E z=>Y&II2<2HqhrqgBI#4P7w%JG8C715t5R7cKzN3?>X`u`1q@H`Mzbq>(L)bqHKKV& z95cBTfFgb5!Nt3)`HK*OllE9hr1H4KzQPjSw$hS=CeW122f9k@uZ2Qv(`vKZE-@d= zO7In|!U!{q44~Bl)?FPXz(fqpqu1}t6MMo9m~uOc@A@Ko$>Jmp@n7H{C8DCdbV}(W zL~~5JkJnBUcElz+Ek|E3cqqWP8vCN0k$ZW2|9Hu8COY_*4WGLl6>j7nz4~Evo_ps01$+s- z(C#V-mb4|yogBuIin~kohhg!JDT^bHJ=bc6OOLrvVfk34WTCe%Nk?JeH3Ux*Vo5z) z-8WRXcJ`4Nddc%CZiHvy^DTlP0V(7O8=ruhmoX}e|6#X|C&@eew-^~A4naKFJtCsV z!2I38p8a$9e)E}q+3{G`T7TZUsNvd+nm;0jn?QOPDylQ`=sU1jfaYC?2q{VVH(~5a z=JtlU1p$&xF~hA81jnzN_ap6(%70E;{Hz&^cZSNZbMUp!zQe$~w{paxw+agL!N00F zNlldhk1;CRwqVt&k&|L#k1 z(Rv*}vn(rBV1TPQwLHT=Ip!$EH`haz^bj zpF!oP;wI0}1{Z;pg$QjJyr1rwA0SDDJwXc2(iI~#@FK)A-34F{?r4aSUyLAL(06NT z!on%1azD+-HxD-5eX*_{y}F&?ENqPYbVNmvQ;WVMXOoJe$r`UtM_`$TbTKmOu;n2% z-{?~6i|UldU}-=ph9`OvHyR9`($nF7cV7jFm+B`{)SE>{6_XdAi8*;xTmE3q?mZrl zBG#FkWDaQvVSUVj+l~PIcg%a;L=(L*CFxMG9|hMIM}&3aD&CWr48P;zKWIl__O;%8 zD22vOKTt)5u4WhLvrxAV_BOEI=+cOx|9yy{NLWZQo}A}|x1esvSX_VfX8ne2{ttKh zxflI*_aj2j0E;ze)t}&i55;?8H{!k(*LM{pGZP9Gl8cyH4EOC6-{FQ{_M}x)zu55a z&BFWG;SLv;gO~4Q;9S8c`YH3~4u>JD2|b_FaP=D#y7V=cGSNRrPhyM-P0JIk0b&zlZAM3WYD#j0b?btF zO+Ufe@Ku7qVc~2Bi>>dt{s#MS%uxy3?h4>Y>W{QA37ZSY6_Z4Xl3PyxXp!`}tDb*E68D9dDyNFES|i z3-0S^JrGA)hkQ_+_k5avN27za&vr+st>@s79nIkWRTl9Aiev%PW|gHrg~a;=c0L>G z(=*NNg2#kus$cKHNSHewi1OuhqoqJyIYL|B%>`}MXa2-R+d1}w&A4Z|Yvi^5sBawh z^=2SREoi}@@}e7Wg+@uh_0#)Hw$nm5s3cz7Ih-tQe-P2zH?~OQka%ufiluW9u@@1Z zy?V0Vu~z0#a2_g5&32?D-3($r_!f(ZKSQYZe4a(~wi`{P;+D{25eG#LYMUN>&ZYii zw!Bq6!&$o0Wx6-Q&K>SVSe%vcsJJx~AUbMC;|Xxzbb0zdSWntIOSuS(et3S8_DxTU z*<|jgxqCV?MA*||KOQ-s8sbz))Y-kSo=!xS9~SHCdj}q-38mp;o=P`$7fGbqCg%C; z
    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 BYR>=w literal 17914 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 diff --git a/CPLD/MAXII/db/RAM2GS.map.hdb b/CPLD/MAXII/db/RAM2GS.map.hdb index 9e555d5849cfb497dba7cc329add034bffdf6fdf..b128f96be8448858f679ca6db09e4f03f711ae5f 100644 GIT binary patch delta 18132 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 literal 18089 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 aHjl^5sM?fr-r%JH4R-FYW&Z;J0RR7psc%*Q diff --git a/CPLD/MAXII/db/RAM2GS.rtlv.hdb b/CPLD/MAXII/db/RAM2GS.rtlv.hdb index 563e885f7ad922d00f5d29bab9e54bd140279541..005c0bd7bb357aafda2c8d81ae68a363be732247 100644 GIT binary patch literal 16900 zcmYhCV{j(l6Yn?4Zjy~{+cusg8{4*Rdt=+l#k%Ph=Qt$yt{jE`#J;nm@l z8fyx|!om}(r8#rq$yAl0FFyF&sunL+8l`z;A79hFZyU~2tH&4Kz*gjVjyHBwAi%Qv zOT)6d69{LahsjIH67oiR>(7nUb~5Zcyh8Kmh_?znoiz@pJP~pt^1~@1*f7|lx4=O-L0Mz;qFX!Q#jOB9F(fg z;vEKEDGq#p;5)4AT8rPE_DU3Ao3)R@FS%S)e@^F{`VN_^aGPgr)a{}24g5T1NNkZd z z#5G^ZVyjMuer`>Ra3SynOtHg>R?WpxuuLO~9mYlc9qrY>s=Hf_+I(F|#^q+$*2v!E z;#S<|^u#P5r9HgdY_`=^+Zyb~j&~hTcmo!W5VOxq>)l7_xW>!0vIod`j{t8^UR|sj zno1KIQ*1Na4@3@rhm%BXFHlg@#h?W6)CnEL4cO7pC}557Lsj~cvXRB)%RhWdX2tmb z0o>JB)Ld{DZTAD^tsZzBEsUzzP>AvJu8}l|G;+cxu#aPb9Md9L6SQL4uoCH@ljLdS zW%8~w&Jj@A_n-UO*P-4t27ig@Mc_jBBauM=uDp+?Mj8GA?_H3 ziZbH~u$Gu#1rTyC_{T*h?Epw-=&C{kN>P&fR9);=)p7PAVFf_*$X~O(dH06cZ^!mw ztb5Aj)*y5Kal)@Q8s{+JO>q6(pcp#qjEL8@#j}kcg4tDQqMsT^Gw9rn0vqLXrPn~g zdE?ui*1aHi)=oex_jw!gWv{Me(U>clzpVqb74@*H%U=B^GEEad<-j?lm@-7*q0TZn zA|#_Cmu%OvK5V301-u5oZKNu3t4FViR_v*A+Dnc`7Sx#ez??HeX4T_*qa^izlw|%R z{~R<`V%vPX@9foZ`svJt_s8f0zl^8L(*M(-qs-+?qyjPVxewiY~;O(&OOwKC1^vn9pc{s|m zmQ9`!>2WuFF{rPE-VK!VC6DRk+_QTnakt(R^PD1p6WOs)^3v1U!23O-*bT2pn`)Mg z)uv#x=(QxKV*aTG$98a2i!ucoV$}% zhhT+ii7XkaW*f$2o?w-9(mRctL7sgEdi8~vrD0;Rtf6S)FxiyVL4yU)`NilSxAwO1 zdPPJGMT~L=NI1|@3GNA=1TWLKa55+b9qRZkP-4Jk2(KAnzjaU#o)#{f;nsp(qVilc z{U^F~QwxG2?c%h4=X+|z5M`0Tm7A3nL*iq(!&AY2sSg|EX)P(NL$#B-Q+n(SO;QLl ze7VcI+To&0HU}U&{P8Bb0_NQAiV=>zjIn|vN^)6lqhmwXvisbPtl15ZD$UBoIpS(y zDaynLf!Ie`)=TbCKhW-S?2#(L0{^;G#Jk7yF5IhnmpPTMrXw#v;p;)Kpu zv5~49W_N(wkjK)xBYFU9sJd-?(XCum=SA9WG_1#L@67}y8#I^B!qlQG>Vf8>ws>Kv zK7xo12tIxXBXn7xm9b_zg<^wES&^%1u`;$YQv1De?DB^Oh$2K}Fi`1+T-qf%pK8ER zNB<=AkvNhI)9%u0xj3GDyZGmP0){8Ls*=QES~6hIQ|Tfk19Sc-EKpZ8P`;Pn+KHFk z+aE3NR6{M#g!IDWl*ujgS81kc$4}iApoBQ^`9)TpfErB7lS^c(m8Gh~JsESJ2vF*f zU`u?tU~QyST2#9k0i3K?mr_LtIIL@gnv2^~!!2OuE}-Tv;N~tM=Qa}N653ic;!keA z+CV(J;AVCLI!K!`pHQ$!+CrqlY~t!MJ-GfIo!JE;6O8#5wDG@41_%^!v&x_TlImupF@B;BB{Vpoirueet7*yuPi>%5vyd1)3)6Tc|?YEjQAn3d%hM8I>sDoR+3sMiU zeCey`Z}ie%+STY{IJcwKHN&WK_$_%o1qYKjR2h)xS7OZ1&}0g+ybcd8D@+?9pB28w zKcuq2)SQ<*7cM$*s|E+Ad}KydhRavHJSc@$M(WFAoTUmUqk5K3E8Fnrk&AD(S{?0l zO9~xFE^?0-sAs@ZSC4FQ&!fuBv@jSKE3hH%5Z5Ay*mv?=`d4x_5?MG|z5~Aqt%+#< zPb=e|0^G!`{&eBP!;~a_XI+=Ig^h_zh!f3+gr5|jwb3sfg1+XXvkcQ_2y`Sh;jI(Y znv#o?au)ej^0zu-{Hk)>4UbbcuK^pEkPEZSKUhS|tns?6e>>S&o9)L*jZ`Sp>^<%) z3=FCa5Bdx&Y~C!{2LBbuO0Z*h=pO^AQ8Qa*h^+rLHQIYj&51DV{fQE1*JQR{#M0no zW^eQ!B8fM&I|oLQu~~qxPh2F1B^;NoA2sQ)usfH+o^M23v+3}G*U@FR8QdRn@ny8= zk1s`~G-M3i1Lh7hj!n+w^){#0$w~LDX^vPuI$fY$9UD%2vFRip(d~4&@V@dVyDU1o zdAK-t9o^Dk?1cFQA#gA8s~47%UPGt~9a>c|@vD_piboUz&Ps7+?pfum$&k-?+3EMk zT&OIi$k~u%4rzL8vl((CeB4S$a-u#I>r+bVX|EG+^dVcIQCVor?+;NdT0*MF6ev{b z{N#q7ba2p;7=Cd`ftg^}hX1bNNyqamW<^m+83$Xl(ZW=?D-_VO4i4N3QaKBxOvgza zw+lu^9eeG)^^5=1{+phRu9Y)jPlzpvnj&~~7mFl7dY-Z!<9+>e1IBD#d+ z9y0ZDu@Ie3tu2jb0B53M!E?(dVQ`bG<{*m;C$~%_@r7->p;|kj+9U%CQkItcq&HzN z$Yzp&W^@@I)J6`RQs|{W-S%CUpdM>=tAkA#{kSoxKrCZ;Et`2QQ+O?lc`ZYDE!%l5 zGm?|w6cbP~2TL(h=EPLQUy|O!leB|v8h4DeqBU=B#nhz@jNU010r_2rSR$S5tdXyH zdoQs{yk?ff7?)N*^E0FL7S=JWVK5%!O7#~++k@r#{8=Jj^FjTVm23Z9MPE6{6H{&SsAtS?W8$Uml zanNv2#(CKx{$HqgExl0!c?2s{!NW!_6)-0aQofr1P2o4i-;{n+{!JxF`Bt@tX_{#~ zf0++mFBS0#?GOu^%kRvfF@o1@L_3|JZGSVvB#E;e%1LGaM{UUht{IBn%W5eUn$=Z~ z>z>LK8f!?kOaGw+3v?E|a_t$n3KxO>+O=O%!)5STa3WlhVdoH$YX`(Z!;3~zK=VMx z)qKPuBVQ4WgicI-DWLJUkbo#skB=$7I)$BX>{0z_XOl!YH45z?}S#u5YTo$@(Vx0rSykp=FrI-z)6( zRxs==bOK<-BU;2Wt_7D(QQT$wOo}}?YDwIZUx6%^Zg6ikP`O2@ImAjP5`D9p)StA7 z>Z8OUR>n#~acJdw*vMVnWTwgvg7PbiX@_hFTzp=fM7Ojft9tvV_%ON|+tzmOfS*gf zP*s_oW&>BdyC`Ne71$+30oIKEBS<+gR_0!Mfq2tJOOe?Stpw2ZD z>)`qD>FL1t8hLP!sfqO9+8kv9_-(qkkDYvRu{N>LaO*-h`EPI^K$h#o@hl-S6x{PD zLfx76t8$b9&C@D!U?N`NAe|8RGulU_IQrc=<*5Hre4*5+8@{f|4tyU>mzq4jc zPEX4hE%N6~IH0AWfdvnTsq@HNJC|5g0BRD)d!iOYP+j|DLAXuee(_8ILTJR=a`~70 zHaN>`g@^dDpu|CEiSAdySQBO?m@%c(TOalW>rECxisjj(9*oix=eLbmZsl{H$O3SQ z*Q^Z+OuCx&`q6PypqQcSW$s-$`ZxpT#Gzk$Pa)tY@@s{W`5t88h1EXWKu(5i2|H>*IF<)X&5`Ohv8n&OswSb zQ3WK|7Rarg+>wTo=`IOGuEy&sc?QXAiyYE*aFgH1(Cc(&^I8w|)fXi>!_g+K-SRN5 zM4ijLm*mOVg%w+)i_YeZsPNLL)#Z>2NT21PhM|!SZ}c$Pphy+d(%;0B#O(CVxuxq+X?&nd+M1-%t5zBr9R7v7(CBv-ZN+T($(5 z!Qp=$iSpky^lw65^_|w#hK`sZaLZZ-Px!jX9B|(i21NMEv|e>zH0GSV>U5H%y(*^L zDYeI@8nkZ74#$!UJa98#ot(zvn_@*TseSHhXui*cc*NbY@Xrs(j7fI$9$35t3Oe0f zg71GI8;I$uemmEeua5SlM~eN@9~H3A$RBQYgO*^$cqkC zCfMZ>Ir|Zo5Hcp$A$}>En#!a>+wJ-dT=irYyU~~n%8OZ|ARA9X9Pe{+9}CVZ(lfKD zQ#~zvweYL~+RI&0Lj4N?}2^NcK zx4}FZJJtb1?K)-TrRaWN|6X|gh15tpCv&PX)qK)m8H4M3#*vRkDw^4Ljz?hjZrz)u zOK?ldCH!>G;m*#Rh_tJ5X$z}gEBMTXD}T=A{K5PKp^CJOI*Cw5=M#>!kGid?T1a>V z)S(L>JGDQd$2|TAc(w2vB0AcMBS01c-du(0sfGYqx(#0^nML+3oFePr#&JbOk(0I-p83U zU-qCJJHh-?&z!i=uUM$65~qydd5+@ZXcY_#ED?jRIutS;GBjtSA_6ZQvKmm8M@EX% zA>t7tV3jZ8Ehg9c94`_h>SWqobIt@-h(b4W%ivcH$+|<9kZv=sFUGPvpk$sIDh{3q>(Byj2yo>&6I@x%418$o!W8#} zG4-`^Me9>wndI}tBXO5+NNjiZCpuA4$CexT_l`aXV9Tr>(AYQ)6@n!m9*OsoE5{Lq zT;Ab8{hOPaC>loXNDrpubxq{Q6m{HcQMl`Z{_LyfHhS&<>Hfa{mI{; z`DfY=05wOrgWC?-J@?JyZGK<6JL*_?(KFI&n(H6M@WZLbuU>pO=eZahuR`i8m;(J4g5 zF>c`Veo?mYH%OQvYD&Rt+reC~K(hlJu&11f=MFi&uD>73E5*?%gkNwDfN@EkrpN2J zdGN8+zM+g+34mb?^Uo(v2KT;UChx)_FvA$Pv+Yo6{R9UCO6WY`EmY8fA?~GVo>Y;l zo@S6F-3Iv;|40fBfeQ}BC&$VK$6QQxg-iarU|8*oy{Njn^ZFhAz>y!L=n7CZv0Axy zl>bl*Q~IB6D}m=ZFk7lV`ps0YUOVRz)#o_0ze72U2cGiJpX;Knsj8^WP25dvE>F+m z_O>GKb?$X8c9$wM+w04$)gQ@fc|r68$wj#5eHM>aw(=_wOTvVQvH>5$a;g;yz@Ud*7%X$8X9le2<&m{_mQWRFOB&LkX1dSmk+gRf$7@;!B_mO?K6Cq^W*xhh zppUO$k+dx`;&4*bwZ=3cP-&ux$c?Q@x|uM&$a8&-&1PkRyS~)3%vJb!C<&Y0`rI#NhV<6TjrzgAa$nL@pcY5G&1b>b|pyNREUR{pj9#Z^a(7LWPA-bE=ZYzWn%m zHBxDoh*#~OaFvIXcEf@A?CM)dAK_!}1o^gQrO&LWF3@ZAGpY`JQt>iK?Sxz#8$SN_ zI96or+K$$Bin#kc3i&HVa)<~(Et`umfu1q#bmBu;<6Xp*KHbusfwuvzv@Kay6iTzS zb%&8j8wV>pyYnHYCfoEB3bzMGvqxC!jz5+xRwpwCu8A<@zTXQy?EETf-%o(}pi>A# zuW$p4l;4xA%aQ9E%#2yjd)CTyaG5m_^;qFUVP2TA>96 z^vXg;csXElwv+vbh3zFJ2Y@ocMrikCg=oZwzaM}zu9!~4w$tSO^4#awbsVH zUa?k}0ee4R9J`KPAUE*^laY^}1p!va|5j2RrvpP_n)W#-XKqCB9>y}*&$Hl~wp&!xoDrddtI4injQWYc`>3thly3(DhSHq9XEUSS$U(jvNwwr+>Er{Zg+jYu<2JHR;Q{uofF@0mQSb-3S1J-f9B6|3|bJMsId|9d`ueH zbg-xpA|bP5$XdKh$pJb%x3%2{rX*L$yJ|DsRYy@uIo5Y8(g zh)LS8#kFzXvh=78ufwhh)&7LD!19Wgr=4xrtAYD)AWjcPl%`~Q4A46%E&wihpU6E| zs7lECcVWrN>=%xP$&b>Hi?2}XoeqlplL(|C&t-3EcFl*k*4-jw9d(FbGIu?J$wA3b zKOVfI&2$d=1j{Mz**G(^uVAS)=}^O>L=Pz^Ufdns-5XGA6-WXk+$+X^b(OP={psBe z8f2Q>@!*F~Q9<}*7z%;=?DV?129voRWtK?4^A##IFDcl?f4BuJ)Ht(V4ENiDl+7dn8oiIyB?xP zo&(0R%o)oKHhCpLgui?A{xF4uoPgwr~ zaIGtqB?K4krG_Xh6%|ywC$*o}H*>G;LUhjIyoM#Lu#$fMrX7T}O!we8xQUI|FG; zUxT0pTyWptB%fMXN?gEP*H3- zx5rMu3&*F-w8@=K1A(mAg>=YSNi9gS7U$tO*4k;P)Kx=etdhXR9m$-e59=@#9S?I6 z2=)(6H_RL-{Ub@?W2477x!1c2wcTx>rzW@-!R~Xo55yeIHszL68lJ^JMy^Lwoa>@4 zCL&Fo#JW%g`(9(!Lfn78W^g?kxgQd)W_*95_yz%^4>ya$rr=N$$QmK;|9<_}Yvz9k ziS^Pl4?K=YX4ez;^nq+KeEJ+PW7Zr9m|C3asgr7-4FBB<4xxej?whfDLD83={zaej zurlys*bzw@6@Mtl7a>ahiNBM|29-I^y)5pd4yPaV>H90WJvjuC@Qx9Gb(S_X*Fdbe zB8Ew68A5PZiJCyqO-*~KMms+CMJ2TGR=(v*w$*wx*EcK z&b^v0Mq(v1Z|EFM(5~v=-j-|y3{P0pB+FDOgayw^^wlk}QE)%mhr0v4At@u3Mb9>S z1r;7>I6t!a4*Q1-Z*R}e5MAJ0{829bm2P|8iZVcNFRQJho~w3dLEwH&c|>KaTSq;} z00b^cWkMx9%B`+pwEArn=D0Nu(x!HvY**$bJWR_Ao;+-BNvTh@E90k{kvj+e%FnfH zl5|pYWbdVnd*Ji7q}^|tcPDifhIil22`;Qet7GtSmreJXkku3dPN1-Gj5@Z$GCSb+7h=> zr;bHG(mwfC@@n&#Dr4Vn_FDDJqSQoXxy{Gcq2Wuhd+8D(*kUO(?Wz7;!lxh12u^H# z?s-Kn_-`C_8`h|rkYN0`B&6$O5vngvIq zVi4kfa#X>qTEGheEk&iD>V`LaYY#Nsw!091wKH|X%BUG4`j{Hrios`g!zol7oQ-<7 zm$3%&=Q2c8wxlfk=7IAxh}tBCXpdr$-MrR)?4i`^d+h{i?A6;K$%YZ5)*8xInRo^9$?SZ3pC)UN^H0T+yT;OxLg`Xj4&L-|utO+3Pj__bDiY>>jqsvQ>|C zEUVD&Isx=FAhh_I&3+46ZAw<3HE>`1V+ryaD)>v1;GZH9pLHx<#Q$~n*72>U91%>@Mc5rPX`qzqeCYB$V#2Lmlkj6{?K4Dnd5 z2f;oim~fb7h;0J~kYiJZB5vka4uop8%B#wwE9k1=u>N$Jg_rGO+7_x{7q+6d7}Th^ z4;mR8?Yw(n?hT1rqTIO31$X;@>na?Tpf89syqnNtW*%K7a_L z&4H#|{{+w&%SI~=Fa6WSx5bF)mG>FsScFkgUCyZH+y1>83>o$sz_=O9e2U#|qnE>_ zfnQc(>2%o5PY|NB7O=>b8<1~SYil6JVub3GxGCp?lgTAN=vrL%s1E}thCh^{zxa73 z=e*}N_5nXKd8E~(8;YC$kK%E8_!iH=-RT2T_-fRKie9>ca&ZhS-|)D9p?3E1gdtG) zkY^`Hu^TJY0M3G-`L5!pEP0rGtu4Fy^uXH zncV)`)vAF_{z)S0rQgvf=d|l0og;*W_4Msdb9L~}V58@y#=f8r;Zy@VCe~K44DhGL zVz<}`W1{^AkqM9Btp+#3x`qYN`+|87CvtDW^Q?1A7Oq_aElCVY^{ij;?3dJ>nHVl` zLYPRI0hP7KC~mIB-zvV36f7>00P$hfWIx+SQaE}j&SriV0j-eUZmpHVAZ}hh;4Hev z#-Lulo9uzxtB$G8TU!KBP?w!R#3<=#EYRV5d{G-z>Kh`3zkV)sZGRmAmsf$hP2=sl z#*%-w+KV&N1U3}WejtpSmzqH8>8Pa;9-p)ULiOWm!=hnDXWRVl_$~jj{D|NsH@|Wk zO~ygTJdCE@otPjI9zQ2gi96`##0?{9v`Wc4Y~u+r%P1Y3C1ksg%s0yrAC_;h0oNb{ zy;DEgt5s+PFouJnqeb^B=tI>G?JL;DsCy2ECFQ1(#S?k3hZCBi1+x#p#MCh zWp^a;IehbSj)@UodXVwl0hZeKW}7`XC9YVLTrnW6PT1oXRwgLJoH63znvve3_C>kL zdbp!ywaCa@izrxy*gox>+Qa5a;!ThCi~?jBDGSIvPz>Vs#qFA=>5NPo%g3u|O)@gX zn1iQB$?G|Nj55iV72~_y^Y2NuwMF8z`5c>4t|{%;QliI^OKEVk-+9sV>=ElfFbC6) zUL*IUApU+E(V)mZrw}Ojx-0nfK64Jh&a`nA^+Pu7pLdg3+1n} zjEDnD8>j^q`2v3Fgg;P9>>ww}T%S;T2kbx!NC*G*%jp5YRWAIFj0Lq&DRy_^ zuEoBlzI1t>?nRV_GY*ZsBq!b1hi3_xpyl~7^1C=d?u zP`-B^Ry?dvja+jOU%T3#Y;#k8R59Oym>xWR=R(Xeq4i)&kWNS^&z#TzMO;rZeiXJG zIgl8kxWpSgS-2M3f+wO^-}1;J#`NvzJRHcCs#HXaIG2BrU~hp6@XWpV4_V~9xfx?L zv#X-tjzs+ty(clZ4PxmkBC6gHuHBIB(@jABV%u@IhPr;O#w$Z9@Bb7;P`7g9HsTPO zZT#y%%EGq6$EkyZPgSY7jARH-;=YrK&>P^EJZzPCbMBzGodo9T4R_J*sJEQ}_O^wi zMwg?(^t`o9CBWV!G4rNLdO`-tl`iPFO|GU&xyRUR@l3-nOnYB2dovu{w_3{O4`D6R zk&UpEZ}aJBq~K3OF8+orw*Mk*uGhC&0N+rc&)(dZ2;Vf22;V3)7NR+uqp4vqCaOVn zm`@vbSDP&M!coA17Z3PN@rk2C-pobJ_p87)&9#8b&vsZUG8%qlmvUTO@Nt@;uXfP) z3htwV`+y3ub^RCDjv!ooN}fM-e7mG7VHsige6_BgV7N11 zRIm@MCcsJN9C)hEjOzwL@|~5unY$u!d{MR$rSJ`2MQnp4e~zB%-^?9u5v+C%>B5$4 z{_7UgKKBGVHZFJ8ARqkw@qz|nd+zrPJT>jzCVwFjj*Fi>flRjTa7zC+;QZ}I{MV+- zgD*B3(K(@hjt?BkH%Oqs40+K+dIP62}r$&Z?F0)UpaTeD;~}Es#p{Q62@07nTtQ|_wlo4nE!gEZ3@^Fy=PXb zhG}DK>+>$MHsYWV`AKtqW=92S-zzN=1;}!s_P~KgJSqR(Wp%dLXdpot;lY1B>Dnd|b|TLc5a z;o^+PU_9cbZU9KQ0QMd^=&prqix{+|2zJ2?|^X-zhFrB2K$I$=#P@_5Y6I)CPlpI=X2+eJsS=zLnTRjMl}@PNIh zKj0~GU@`opAeYqwR>MVARk=1au5Lo3ZDIStOzoU=G&Vi~*D5&zKltpLzxXzCyTKE) z9st-DT3_yt31%#&LUYOG%?|Q#L?h7q0bmKz zihYG70iMiQGzC>mg1x(~r+egB)hB2|p50+wUH)UT(D$3UyQ8^bRNcwyh+Kb!CE9=W zikZ`lJJGv{Ndk4SUc0nTY!CnVa-+X;^J9b3Rqnzc2YhkhzsGsqWFG{4WqaM|f?na- z%N{9qLGE*kHsc@tKtCSthT!;&zy4hugfo4i*3IS7JeVx=cFVvQ_MGzs?x*q7Vu=#Zj(wBV&WvHn-*=NtcL6VH0+lh)F!fA-GqyCw?n5mL-sM#< z^feuGn?W+k_l_ORx3i!-!A@}Utxf3;Qw|k<+yT$1FFUG70o`=??~i|v!&=#YTmxi3 z^a1-{6!`B^tyaE@bPtQIGqzL9H_gv>?|`t>jz5D9zh5i=-jAUG?&Y&^dOSmuu&&e1 z71RG&-lg3(dEGQ02XqtTziafg{^|ROoEzc4!~SRf>1hgWq_qr+d2Qhrd9F#YzeyW= zi#O7fwEgFXl~r4**m=xTQ*Qt^c2|0=Q9`^pyMYCJD+Sp%AG)jB{1hKd_Kk@~XAtQE zY;{(8F(|{^=^p(}s8ChvegneW$#hTonB^hFA(!vp_?@QL15~l_z36uY#qt@CzbNLo zHte-{$vYdZ@MeAz^H$c5;>aQk=G&*5NhlNa%r_bIY2@OhtN2p+UE6L~ap{C}GVJlV za)y1kK`W$-m|J54R(B*C?eddohAm=~WWD>qAHCDX)a6`wy&JS)kWwZ7R(G;WtL3W7 zYpgpN{t4Fx`V+4c_=gSW89CP1`f4dueo-NM!q}am=QY>2|e)2V8 z`sTaZUp*(~*xeAI8{vM11^ezgYZEc+;SBl?*<)Q)M)E%I^%xv2>Cd;RYTFi^63E9y z{)yT35;wkVpyg(tRPb5y?=1VY-1T9r9%MM1@FF3SZ%OrP1$g`;i`+qGqWH7mdmNhQ zlg7)n(qthMh9VmWvnsJXp%k68s;{SAfOuC)@{K;>8Bp>tf2slunc35`H*slDhi}X~AF^F>tCfxGg%&;EyR62_``g@fFGY4i|OoV**j#>*#8+ldfxm z+5T1YkWV@5tA5lWANZO{1zo^pJL~h8ZQ;km z&xh&1L)nyD2|Ik>2k9`d)43n&z#CE4toCh~5K}aFXwmCQs*8_wWKZTG>I|pq1C3Tl zZ)La3snS+l?q=Jq4TSI%TF}$B*Bqpv;x@n;v+b$2n$Yy_N8MrdW{0$f=QI6EL%|xj zsfRTI?ZwT_dr6;o-h>`8{AoA+*!07A#j&)?9RV5e zR{N)NQGoIbhWwGILikijy>eQ%yvd6Rq{dmw%Y9dIuGe%m@RIxEI4Z{z8JGb-^cIQv zyMY_G&z&F>te}N+)!uvqHp>hsJ@6a{w`b1L0)VDR)?u(*Q1U~EZR91Eg@=-T; za)5t>Qi~(dg+1xm77U{zCR=L%?)LJbz#Tn@{*IbtVC2SutbMkN)ejypxx_elEeU85 zf^xT_kzmNcOW5UoCxmdYxtUZl!bPczuvAWDT z0iUkX{u8`4=L529Pvm43DnN5Nvf3P2ypG5`QKxGY`nu0F>m^%qFw^Wp2NhQt^((TK zb_=0h2ji&nvOsRSCbcl0xTzsJ?bD)C))w7Dx8yKZ!$4;l*{r)5zqL!(BM{m>thGjT zWj9j-FfvbNoN2as!EDyC zIP}e6>-55qW2^*2QxbFhXUH-=JaqI5rd`Fc!9JS{V}Al+qniMEqnDq{2Gs>evV~Ek zyG4qAn`)77Tx^0}fDoe3pFY}dAfI}`9UtG*zAeqp8#>6arn>1OU#L&j8pi*#tBpuza0wKm^WjUhq&F4gr^h0-8tjcxWtuburxbU)Eu= zo=P(^-z9%zWkZt!?FG2u8aSVgV{&MLFIfmI(ToP!C@cVdsWlyeeZlzxTyRt3`#F8U zC8WT5gutIJ;$N5I*)9z^yu0&g&}(?vF8^|P;jltB#QlM()2`t;yl3;tkZU&CE^Rrt zX})XCQZsmW=HtIE1+te2&ETIK@C4eoiz|^D-n`a0{axVA&U2b|XI%V-N{!@Zo|zyo zxm9PLZJ^DG{fAt=#maxLT>`8#b2g9W=@1%Z-x^eZV{Lonb-?-$q4$WblbALC1tPre z8wj+o9%rC7Wbn7cdpUkTNiW-5WY!;={S33uKweMCl6dM3snK=Y27Ng0b?6}+u#@vk zO2;N^Y{gRnQJ1wSZ@EzeQ7~kfh^(muKio#ZJ*9etJBkkv*eKO6XcKe*laHk9o+_IC#seuE-ND*@O0O zGl#|V@TLPbF7kl|c?aP^Z5-Lr{OD+HlO`9!%xb+(OuUlkiKBWpQjTFi*RG@&!UK?n z#Y8Sj!%8WJVdeYcDF{tMUO;C8L@*h1J^H|7Uj#9wyjW=#ICx1ipy5d|bx=6ibYUYT zZ_U(3M(K;saf8Zg{-Ki}n_qTdvC&uZh6e2o6h0yvp?TyC4Eq^`aQYjlIs#)(`C^7d zZ4>p_HYX4*C29N(*fFZo;khT0>FgSO+BoFAup;`v25Z0uqgP5;u+iEhkOOcibh=M> zGUej6OH`ui^Vg59b4wb$$Zu)H?cLB9>Q{T8DE|~?Tvy*LF#ZhtrETY_fe91?hD^DY zVb0}sGg4?`bB7MYL~Q1V*$+U%Sp*z;#_h8cFQDnvLL&l2elv0hbMTHV4RL__-@Wp- zpdZfh#;ix=FB6!B3*c^J@EOS)(vdKGd&+ z0wNWKY+$?l1AH+?85x=8W5fcyt z8u|nna~b`c$G)2+IJ(G2QZnKrf_nX0du&agK^ZqgmkzGBvk1--q(csBiBN%w?|qQ* z&%_+YaIO#r+bhe`8gyQ)+VwC&Ek;D<&LG~w8&%^w{P#b-Utew@UdfhLD9R{*ZFM`$ zp@Zh`XkrXBRcV6&Y8LCOtL^Pz+|1__R;LnsVj6>$;)U>_0#U4=rNKWVi{v4L1J!y( zK-Ff&7BH0F^%qi~pCPRMMIwbrl?73y8I@sr62e*zML*NWT0r=f9o?yF$HW6YoVSyY~H#eLOZkjSKe8y(8`0q zp1R+GCSm^bFe(-MD<%5y=qxVLJ+2`4;)#2%gQGIQBm!mi;{s2=g zl!H91*Lr>)sABfiCsKZdLpeyFY%H;W=u@a+G)`NN&=oscU0%fAo_`b*RqrUTF8#}f zvHgj36zqh`*+#-#(rc4WN{Ph|RSH^vPo9Om5wA3L5KkC#fy>hr>J8`L@^KJ+j*z6Q zmxFE=Zj>$|r`T#jYeI^!R=Iy1K8qMxM`5ZMgT)kLy%<^rqCQadN4t}4?tz@&{HXQN zirRvtBaj#Tu8F$8e9N)Lm|?#v-KNBjM@n*zpRr0q;zBofn_D8&JaG}VJoBpSNl@^k57|DxQY{dy#$W5X*6{>eu6Krj1+L$}N5bXjXZy?R zieL+0nVq6BhC*bjGE4-G$AtyAOO6s*1q5nZ>S6_q(Ow8l`t17h?jsQRIM5EPAan)S z<#9#`;t(PsKgJ$!k0jz`;87wuS*-C7cUN#Guzqv$wW75I5qh^<^}sOd-P*j(8bZ?+>4jjZDRjLoozX_r3`V zmk+G1g4WMj^oe%16=fZyDqecK4JnQ}`isCCo}4z*5|H0@)6mq@3& zLd2@Xg4#l6R<+D5znJPAE`W+jc0a6o5n|#e>=3rl&di%LT{2&iXXZK$`}&)S<4hMKz{&RTe*#Sbvi@j>hxKH_ z2gCnNV67r9?jtBKiQYts$4Ub|i1JQc+=UPhape5GRgw8tb^yM8b^Y1}n9>xvNl3)h zOEE3Gb_*+&E;-y$HG{UhV*=bpuE&0Qrth+&5rdDQ#oMgObYn(s*8x3sZ6_?AwxaK+ znBap;#9Z{NNe`~g@E&QRZjja8my7=30&M{iK8 zBpK{%b{b?wO;GDnw16&UxVjCnsa;KJPt*GAqcd^l`KNDVOiz#}z^uMJbq*mvsp5;`UpB^^tDFZt<4^*;D-DP|w{6*oo%E@nZ{yZ zt9Mmnfq{WlA%cH}U|?2XJK)QznK(LG*x8b?@i4P7vyzFpSXdjAadNSevGTC6v$L?X zvhk3q$dJidIGd1(8(TPk357Phaf8na||Kjf8=RU}py5b&>$VCf3 z3&TcI0#e{g;S9PHq9eTA9&H^*eLdW`b_(ik>j{ylGFqgclw`60+v1u^OEv0LWwkAp z%P0=3ekoaq%O-uJxVk#UGUQKaGUshP7Y3^{JL}fGJg`>7@SczdF zCYfnI7>R|k^H`qVNzo?P+=Wqcp_Wihw6Ny@A@x`n{l}q_t71DYE{_-wj!YZ3n z6M%oyb$MJywm2NfHUtSk_Q{jbQGesDCs1}VVxTK~oy>vf+J zb$p_=?kKf%r(osSvh;htj2&0-WqBj0|UH1B||DJ38igo>N$3RLQ zdWjRg=&fvexZ=`TeRS--I9HYIdRmf|UW(58L0^SOsdkDy&l!D+%S2IC;fYT)b?jmE z{I0X^Rl16+_jsQvsD3I)z91pRrPx!xVbKbIBF(m^qrOm?@m=@t_g5HB1&Ytq`ahKt zhZ#98f5*B5ea4=d83G34#xF*5-YjDa&pZz+)nC|>%t>M#vidyHoI9(HNR|qIm&aaX zErJ`+5a%Jkdif}jzH?^b7D5(B*Sgu=p>LwSkd=_$g9}j@v8>{+JpqzPK?YO4+uy`X zO4@TCG9C`j3(QVYMD&2jSSAT|>h6wB&&}pyf2|(`H_uLBv)nX(qv!z1oOS=gcl*+)IFK1CjxxkS(iA50Iz{pfRcumOITI`vfirhfd#Di1|nB%_?iUGJxUTs7gx zO+}!3LBW(gt@3!U$`MV|IbIYAo){IR0JG=s=llZ$2ZgJamMJw=9TL>*l0uF-gbB8^ z;|{N3i*LNNm&WXr7L4gRJ>Ot@or+6hcO6?un-gva9w8-c<~N0W*mXov3Z@1`!-z-~ z)w6pz4E)&iT-yDp59KfTPEvqY5Ckkox|rF`Cc7_1-nzpZK`dH!4K<~2;@jO zxiwcG-YOD3)$B{kFitdwS}9xVE`~mD4JGa*#k#z+oC3Cmn@uk*u`QoWJ7!z4Y#^oT zh1;`%Tm56VO;?gLzpS;7U-z#pTKi@Xi-vx6xEaIQfyzsu38#GV&lx`X&)UlO{+q5l z)M;D~lHzG>7hB%tM9#UX5(L>zxtCO`>1YCu$)WVkcblKbMzT_m>ETaR5*@GUZ zl0X3;6vv)9j11j#i=^rkiRMvr9*PC6)$kF+ES zenpc->WMN(FhQ0Ru0tfvf(~0)wIOLSiYe|bn5Ak@#nZwuRhv4ntgGiIPTOByqkt{1 zd}z6DS=pmFIvJY}4OxBJq|R*SuIuifGmuQRvlOxy z2G)&o?`Dn_9?>zXQd%9k3)I{i?~rnBdsJ&UrY#%Q!_U)az6$?+aS^yJAw*s8Z)8}m zkZbelki>rkzZ$jLO2BqY$Z3B~7n*cUVEWU#8%&Yk9w5Jb>P@mUz-Pp7Wz*q1KrmF( z^>5LgP*U$%-h(H+$9Ovi`(pYz=6NQO-uplj3PWpe<(<~_lJ))F|AKP^4}8~jeIle^KxhCj;Vl! zsqcCL({^4-R1Cf!^Ee}8X!F_8aZb$9gd2eAC=2+UU#&E?ajxl{?5EDzy{_078Hcy2 z)#NziCRQAUlb_ELzEX<5BRAGz9TlVgL>p~Rl7$U+le4P=AycL^%I4Wy zC~Q1!d;|N(S7-?Z{i1R)B&c5k|Cez4CCsm`_Ad%=9(it*>nKvhkC5S)h2j6X$`<$y zk0Br{B^+7^g&2Hr0>bG)gW^X<#PoTH~V=o1*6ijMgkQr>R0nNsnIvL#lCrp{qgeax`|a z9jN^-B9E~Xr@&+~jkqC~lghbTY=v}bmui!NRrm-QH24f7wzb3S?)(1}beXh_Q8RY( z39%}r*`q|jw zhKrV0x&>rbijwPMG=2H3k_T>|KHN4Vb51 z9(|_9#|%{Hfh`G#6b_9P0c;=@@Z|;`vq*kXP3W^9mvL!kz6K1ARmp^u%zMW~q^~-P z6?HPZkJu(tH+3)xJ433;bg7KvmtZq%gU=LA{GQ3#12QM4CCvK9 zTU2xcZSp!!lU@sJ!(gzB!7wLo4Jo*$wkh*E&?5aGjZU}6SxDr%&92AZ(VRS@)4anr zFrztEaj;!uBJ$Mq0_E~hial^yKlOxV`xh_F=iX$OVZNWewI%zuQd*R@yk8tV?~;&m zRZZ0$syahp;Qi@EfQxPYFm(xhn}q7f4HQ{WrqIK!&k3X z(KO<9NOLDLgO7Pn1lKj4raVC@iGKfni+eUt>4M_M0=4l6fgrglPp0U;<)nK2C!IQe zo>It~5qFS<0fBuX_yninAiAN)zL(DLMx?ayy#-sHvDupNO#OJ2Cre%y-B0tI_Dg^j-6ZQH+X%JOOs)doyb)>0VFB245Z%>H04b0L>46Ho)N znVjI?yL?@Z9=tdy%vJ#?C@QEuu`xn7gxMr@JCklfIHd#SumQh)@a1p}a0??!M|o~4 zJ8lwmPbfB*bzhajd67r#5~*|n84{zgj2ARNXKL3_^jOgRj8EaQdLsxKucxIR%Xu&O zn=7EYaoA~fVVx{NR=rJ%wukUBC;8Th*&tt2&d~wC{-LG8wY|Z$wZXNm!L_BKslA~I zU-N`jKzdd)Gs58_(l`sK-&&)&YI3Xwt1xsB1W6j3*a(mq%26X`P1m;l4e*-pF~215 zBBfJBZC!(t;3DijHl@UyW-D08bsSf1+o_%EXv|Zs%|$ ziGrh~(+*J5>GXx$7hYfZeGv#KX$|$Ipy*_?oD>YG=MY2T)>&lqru}6LUgXgK~L1hNk$q z3)qI7{f6-7JMoR=9!LfGy_9rIl@~rivd|MbZSm^26Vwj;ok|Elem#+CM}Zb*K2q#z;k&n-oNbT z7oA^Z)$mOET zlu6@OL!)84fo5srJD5j+M`R&^0v-<=C^tWO24-=9DTN*x~jyD zb@iKz%a@s});gO~07ZQJK)cRDi_gEs8KPZd+q_*Ym^7IBrK_HPp%}1h7Z|POeM}Q; zZ^gucEy(zmlH~LLC}vX%gtV`YzX$T}tyMbbY;D>xG}1I`Elq2Y@7ldO$Ct1cV;dUE z9MDg$RyD0;`#vsRXD1|=t-ZaeTyQxKUos$_}7e1xd?&xOAka z?c#wDtQ+dUs;lJ!aUf^jr&bZq*`u7L-$}lc7P_PFhRX~FjPp`jvW^{p?{Ob4Q z%fg%iS`f`4YJSXug-phfpf!@96=}%k=8j;2i-y^^DRcX)T+Xo8QGNM~C445lCk5gS ztPEbolReFZMPA9T#tTx>i~Gi((djv=Tw750QOmHv)zliqr_3t8>DNM54K75$6dX6(d{eeH=(snc_ND9m*ouPlv) zpyhgSxM;{aNV5crk7y@T_@r>~t>+FB_HbuqH(cLzyF7Tb#P1mzikZyWu$5PEZg!D# zb!&+ejVJj;(so2tw?pfi$a?rP7@4BqSzyhb>fspjluya`_xP zZ37^GM3Y`U9$)5RTx}vOpUQh}f*FHLGqnAO-4^HKE@K?`z3G@Mhok2Y0T+MMR;&@@ zI^&Uuri5y0vVowtYwgiq32eX~&ocQ79vXt=4q)WS>WAEZ_-oRGARIpbMFM9wP)7L4dH7%b#1jU%MzIyY&^P|+7_hxg2@cr)m@H6CwML(}#f`E8FjDPb$ zCf8?O#%UJ`uWd+o;B7smwlIeQ0BoGz-l9Xzv4yHq^c zz!jX~)qGN%FLw{od9=qid?g>1#2G8og*wFaRB`s&lS0UtOC2_7aw@yFE9olL4} zr)~ctf7d09JzFF^n5AvMS@ghVvEN7VR+7cloCHDPND+l8LF}r_XI98%4yT2+xM0Zt zDr8{|;-I4WDY)yGe$GhegwD+Wca6B^HZh9Yhz`Lb+OT}0v-df5bgDD&xGV)ft+Fv; z_RUnt!Z0AgPMI}0dM1NY{@rmozR&(bDg8F2 z`va$XP?&wRw6X{@{1x&d3^YbG6T8BR#8h)CkT90GIfHu-r${oZ>x_iL{EcZxPl*gv zL?ix~&h5b^5dU*W;=(Tacb({y7Ut|Ruh08;C^TEDQ-&mT1-*|Ls=kWirkWq(0}zhB zV1%g!2|e`jU@(gmdts3XNZdJQ0g?c#w06zE;WV3wEVAiyUHmb$w9Qf!JKJ#3d{mcg zqx%i9afRISLxd(nOg|%{#;qw!KK%8~!5c}j&8TPbkR*0(icLfG^JdfOZX0N(3=&)m zQg)-tFLKyM`MIWKE?&|To1}VczW0t2OH&Pqe`|@u%u0)*&JL0gqsm=Kjdcg-AV)95 z*g=OVD`Vf}NwR-t$)O1UWzrXY#=EB(i+<_K+Y`7|Z(_#jdw3cZH^wv0yi)|hKOG5C ztx_*(j@0~Gmj%)Hel3e_vIM#ddRAUx7E7CU%nXkP%)6o-^P7=~$5>C}*2cwB-pN?= zGwpr2|Gm{F@pg@paImgNK`*;ACsnVVew37d0bKNN@1PTCTDHO6-?4D*y62jt1!}$e zJH;fAW;);eoyvS|%Z3H-tO2zt%&YgN8$nAfzwUec9x{&Xon#H%mVNp`zPFCBhzep< zq;%AGKzjd1otH`6LSBoFLyhEpQQNgXIP0xJ^-6a`yE(QSqC9KsZNTTL7x;{lzfHR# zcxnnba^5d~;l3c;KG1PPYHBtx(r1lPlu#fAi4`Fd?xm{tamVkn-+gc{%r=Ko9^thh znhep_G+1O$8~9N_l1* zH%X+UCNua=4i+!Qy74kzhlzI9^c}j?25BIZoJ{x~x_sE0?o<5yl3g~AG>xr^m(*XP zMNxi6qI#$)!x#!`19gv4x3MbDWb&Nm4TPVccb0}J0J?SFkH%M-pX zq@M?u?iQ=y2RF4gRmWscJ>YXY^oL}}Y{g_}$D~!q#I#~(ZFXM7Ezdb)u8QjjhRFYt zJ;+UqP7-nbo)WestdNQ#A>Bnds}Xh!_hz(E`!H99h4S!%w9Q7BKe=qBb_zl{Aw+YW5PLK)6Ft-4PXtpEy8Y zJunN`R2;_#h2!Qty%`nsUFTy`r|DVe8+J^N|CkBCpw{%}Pf_(23saq(euyupO?x3b zbEZ(W7=R@#G?$O<<`rjre#U9vUv}_w&N^Kil zk3L>2j={qcrDVvrFxqRVP${2@7g||)fFHzDr{+7uJvOMNWvx(IbTT}Yz%BjQ8 zrJb#*k=ptup20Oaoy6D1(^w%U=PnRVt8!}b6SJ5$K>7E_c%QSY1Z$omJDV=LoI5f- z;yiXEQ%7%l@QH2g@eWU-Oj_y|9L*_L47+zKE80As%d4Z%ugaLkC=Bd73bHLYf+`|H zf<8Z^IdB@Kh%5Q0EBMYi(ic;|W4^aMb;z-Y*y!CHHt`N;wS-_?5{>0WDsfr#?dn60 zZmXWdlPxQ7m*xjCq8y;~a^AJKHL=b3I^P=aI-mOQtl0){O)o_|$=92vOYF^yO$Oe~ zwHsDKoI*tkH!i7y)K7X&MHYTknEgKw%KDU@P)bwm?@2pj$3N~64bnqB3a`WlPfD+? zuJE@;OrHO`aq_*(ks-(I&S}x&+~4I{OsF5KtSt|8VM)nU#@sZ^rQey;=c}jcNJ1}T zimLSYD~ma?1YlF%Wd8WhOps#LNaF{@5{@+RAo+$g6~7G!tkHB5&TXkvvz;p_g3|&# zFS-sQ@x0ur;f>VGtT|~I zuHwY>;kHJZmA60XzAX?p`<%dkFKp5|_JuHiOLDK{lyl^szZNxUfqz3Jixqo6*6=B0 z*CD|p#IHeCr?EN-6=bS{rHnU8%Z3dwX+d)&twyZ@^yFN@baO%LHT9p+_E`kW(FXp| z@@xnPOoo?$4Yj$_DN%F}^1*ZJmJe5(%6o z&CTc5z$DJQn^-!^-HbaDxWZ_7eoZ7`kdIp&-+x?eqWxG;X_S_)&n$LXBISjp8$4X{ zi1U*@de8fWI}T@U=2Ro8k*m(8QE8(EO@aP+PfP7+MGRZ0KsGU1dG>CNlg z1@v#XO(UhKp?#1Ig~ESa7+zn2DS%GC%Ov0Ui4@tC8t+`8UPC5%9$H35mk_0OAwtl? z#)f^8N)2B&ng8%vjqJ66+Nk(OZ+O0V!0h2r- zt1Me0*mj8`8J|tM)<*ZB;r44-gD@M1E5S>nxlj_pBXkMeQL(*V&s~Mm*GB59#(N{; z%d{;3IW)^d%4od+lW;0`_`naK5m6d$lx#4>jbs{LFt%ski<)lUTq)58 z0Ov(LYezW5CdH~BCVw6(O~^nN<8R}{*T5~{lpk^J(`_r*i>Kc);nySeBw7P;*F3xA z*~qSw(PJD{&sOAezy9XZy-E6l;&;6GG2`|k`tJbMr&;KZ!0*`WE$`|+v}>Bwvr6dh z-L*8kLM}zJ8gj$eczY1rar92zbNV`^BX?nGt^SLV+9^soaJHZC zE=qxv!9DEy<*cSh3SU$+5{dnB@o0DEFLbBk*v!^A zgX_lRhv!tu?Z?c&$56c!)b}8vyBx4V{jyFY%}4tD2FgL8^u-6owjaz23tBfK6{$MG z!E^o|vc_!o75F7SzEJ(z1P&R6aFSb+VBYA;7vG-Z+%zRbfR7=ZoqiLG(TOCkZ}-j9VDiLn)q!lL9ApX~Oa z^g}YvUO`iMar^Q74Kd%*rIB4TyEM9*zNSLHnt9LJ#l1zRY%w@I&ajZU&#k?4oh=w| zVjjg{Y7J~H`IBVUS)s~DzVW;N4Wx(nH^VkgUZt9tUy`&8{qrbX4wRQx5sX#S7BSqF zb|diETK^!-WBjkIME<3t(ob}b!H+f~#M*e5r>Jj)48!zg?CJLi1|<$z70hq$i2l4| zz_)~HVI+Mswp-A;4m&ElOE zPg655W?#i>-LU^*!_Zs>hECNDz6<|&ksmM$0zWk9 zztVLEAA@wgGO_Fke^&3Nghrxvfv{fwKb>v*d$dxAjZ|xdK1qxQ^Pnh*fiV=r47B6z z6oB>53jN=o!J_$E1fS`W<`)0mb-Pv32WdG|=K6Kf;ahA-PCTJw8@_>T7*5)q9kyB| zsAbq_eZ*_xz|9dd%L!D()4< zb%%E3*&A3}<d)OTuvPm~o{o?givm$eKV5vZ+vm)-Cjp!ZQwW+-B+MT@? zKO`8&bF%eAhfBLSkmUVh$GM9!QJ{lH+cmUcSajAqQ0M+|n?X{|Y}|K&LVJCa@Fj== zpUInB`)RehuRlDvqBg|-%puHLGYemfgt_xL=SK_EPo3ZzxM4wD{6E)f@`s&y_7YxX z9jXZ)c6dxgrT^1*EYk%D;p`TTw+N>gb)cZW29fp{f`|y?O}4?AR^z5S9?YQpz!+Si zh+vFLk-ghK;Gt;FBZR()7UOoWP1(Uf^uZEruMqwQ6mGKitp|+T3#^BzJdXo6UA$$; zv>zyA>P16uoixX+y-CTn@3idOQi-QDy%UsMGjb$Gl5M_cgi2SVgRBba%I*-}?C@-F zANjc(ccz6sYTKGPm9mB=2SzP@JUiHHi|fl}(pW@WZpQld8A69z?PPu{N6$gT_WH_^ zofF|@Sn9C(@jQ7LXyK8h5Tv;4i0lryH}Z0Kmh0jFGR=mD65g?Imga{>dQS>J1?X~f za*P(Mmkdjk(0-#_B=6YQ%(4ai324eQN%oR9p1%-+KN!lWn^!4N!K`iYow@_NmsgaLdST7HEJU_`^M^f(euN`+Owst zX*TI!=ns_6O4tf{k^i{&(md_-bc0$jda- zMH`>~8{ShUufZ!jWur2mcTiiRL`2$LGI8y<8Dp}T6%6;if9gO^2B%Leyv}%i`JO1} z!~P`IbVl7U%_8pEp;-E04>M~gr|!dIirOxQ1bZgdy8YBDn7xS}ZoVfvL0m;#K`074 zTUSpSK8{*R1h=7%zNIJGZ|U5j0FJcRo3rP^8^evB)>;SP7}|+eLeyWoALTqEEtWea z#&{F$*SahuWUsZv!8WDrY@^Tkw~-}s;OR51sc7sQLu!Li?1f8O+rtt)5^qTQj5 zB`QKIf>H|s%(-uc4)Fa{MWcbfg6l2j2Jv(IH&i)*_d#g-$$y;HvZ;l@q}?`38^YA` zWd~Uwf?iExU5-{yPheY2swk_Hhm~}kjLRM(NQL9`VA{BSZWW=Mb8r3k>Sa#Q_Uj=B9yRl3_i`-*)K-Hhcyc%C% zRIt%Notc(aXzoEgKp!8#RbmuZm~!zGsFQ+=cER50&O2a|4Z^x$KXH%XocvJ|?(dD$ z=H9{1Ex;23iHj4n^V0yPZfNhPdz>K}U#9)j52c5oe&5CZ1zkZ!Gk3gxO1{-ykH}%o zj+n+dG$laJqjtkV!uM`(6h#{Rh31Gna~Cml3p-IIF${HtXPaH}bm_H3*`F)V9l5}0SG2-rYRvxu+Qso9@m2+90f0NI zvVl};lRx6WMiY!wY5~E@xi!8E^q`PD=njO{?HX&0dqk%fc!s!xQ}SIx2v11Y>vy9fwFO^ zxi4L9uzQ8D`P5t^KgCh!1NKn~He^|DkFdBy6)xYBdRLjmO)3U4LB6oI4m7$Zb-}-} zH$*Ju@|a3TAQ>ulNoW?n8~!n{-x}>^8-CbGuvPd2r?|!6YW5q7;D#(YGL2 z=(WMi1?Jg%H&4p$-RO;j=r{eXk?vaw-$g=?6t0`A&N%&BiLHz14p^yvvN`f0ex|ps z%c?uVtr0s<%By?3VpS14pF-EV6iOiyYZPETqXo`~9==Dn1l?X2z!-G=%O zk-i*#%yeIeeo*H=-5zgtLsU`^*J^81AJ=@*P=#^FRfXY92nBLvR6A`{7Hs(Ph-dxb zxH107fqeBo6Z6Saoow$^4ftqsiGDS#uztaSYP^IxL6Pdu8TNl?|DFAPH|t}j#(mu@ zrF*XCS@i0m>5;^4fBAj#J*0W=>l(X}M<}ofZRaK}hB@Tl&o4*$i^_t093}5K~ z;AXrHyVCch^n<4Q*iG3k+O#;lso2O?`ao)+b%s~C7RZBr6^*?P)!Re$LCy6A2kH40 zT|p+M%Xu26Wy`>UKo}ambO?TOGO2-&*B)H}Ud-uKvCljDN z^|UMUgQNP85tRbboW28#KhXWp$qmy0e*B94pAN!r$j~5CsBGOv{^kSHZ>7)uJzlQ& z(SK&2Ykv6+=$}YN%j`W;@vI#yrU}AOeRMDfZ~X#$b@(0YzXfW{y09TWsPk;)o!i=a zdx{3e9RTs(F-LZ+W^JOeLQmcSPqY!ecFZuJ#%xbHIDwyT-y+XQ3ANV~UCo1p$ zbH8m2e_Pu$R+He&=rZ2|FF&2646=O3#0-D&AiGDhT(fxp@q;J(=zuw`g0A(`1$$kE zSm~zs@2moQaO%O~G575v`#^*SHRBF^GF@kfcCkR5HUnScyXU?fPWlg_TVG#+2)TMr zQ_Nr|TW_>c`q1(EoU*>tdF)!*1cL?2kd1j-E@(M+`oV-hEDyiG$z~v3-M9_?gS8p! z)_Q^UEBZV}?L<`)Tna`t+3rjmb@XlTzS!Koa;N+p?e2Yi75!XY-@1BXcqhr#E3jf9 zxxLMNYeKSR~M4z-0{u*=`tsc|k5y2J20F8Y`m2fM$WJNS^%N2L=QCfVv>o#>B9 zdoZ$2ZHyud>VfjsaKwBbk#RB>r~5CrKhJdHoIl&U7DXACr;F7(p)e8-bM3xmkPcje(M@& z(Lv0B_J>gop)CoKD3%176gb-W4sRUZ%siFLwBocX?@`#J^wp9mPl@0Z|Ejc~72kfy z++v=Bzd%H0&hIGa7qo z^>AqK3ruy9bj;hUd*Dnp2)_a5-Tw??uIc9L?&slLbAPT`1)56BD#P4yoCuU&1AgNv zDP*^t>l2b_b8OBo9lEk;xZ7c|a|hNOEG%uUpEd2GJ@_sE`}q8N1!5?9{`BEoX!}rc zN-zhQiOnUSG&?HC(1fYqVAt1ZxnCba7pJ+}$xxJMM zgILCJp=3|TrF-YThrJnZezmMLtgiHIVbH|~VCUf1+*@X^5RojDvf!e?qmMR8yBtEX zIN2H(`KJQ+elK!thb7{NX)fDi!tvH?cuk5EDD(^IqrmX`Qw8b6spp;YGTd-1 z@k1d0_U_wLGuW{Hi@;9h-@P>AGj*{oW>|7LcmTXGFW^UszNAzx2iEfymIx^fAS-6C z^e;ZWDZLPlzggv6!}c&vAgMmm$A;lGCb-$&Tk+9RM$)(ylx8+V#!mfS{WdMWjhkv0 zKq(uf`^k8~0!HLFn|E0Lx=*pK0?}`@b6Wli_`b1!S0toJGA$IgNXYUlS`EbO;Nq;b zYn;~Q1=T@#k0AQ1sTZm`vVO~e`h%vDKFmy$=A$RGpDF|9pN7(VFv;m_`a?I2eG{G6 zND+Q_8QKd4>U>6W3NuV5@p3fn5){wRiPM(JKQA%1EKkXAHn?YN&u`|lwN=40>;B9b zAjDvx9ZS#_xbvUcriQ;avJv#%K)knl!|U56_;+fek|c$D9)1?o^PU64J+z zNYj7KjENj`;aWXuLvZ`%h{@^287@J+tMz!8AmlvbWfJswg)Q=4rQ@q4XI4a{ftn1j zn{flX3-I17ds;>M-lM*pQf*CvG-iA)U=mRgW0&LJ{(WbVhCnA@3Y(#BU|Pjt~GJbEJzSj%&jZix&c*n7LQY z;|z#J-E^L8vp+&4rBmo7B5yfgHxY$UTTR*9;oC7y%bm2@UBJ%3i(Tf-@*Z#_sEbKR zYXUiEJQnBTgMWrOaucxLy&Z_#>FVWsCcfSc2kfU;O9$zX)#$Wb#u$!u>mYqxh&1^P zi?$v&UU~G0H^28lG829NW_v=7>?K9mPCm=AV0$#`;Q=>OthG4)WHf#CYwfRLm2(nu z3)GMHxcmnB#x-jjI_qhI@P^i-TU-u!`wnrR93va}>6*Lcip+xSXDM5dY48rIeIj+achFZluKOF$)1_s9DId6! zAP@Ub;!1fFy~Gv>$SbYDpai0eZn53hTz07v-c?fJ$iTsq=UFYboA3UvsZJDQ&>fS+ zzJa|?KDO5$+*45c7YlcQyVb!&zjC~{`OE8dr0myl!VZ+_OLhyNNE$Lb{#d^oVS$fZ&Et;Omv+)e9Mk-@ZA z7R)W}e10KE56ute`Xj5m675BflGitsuj;_&#~#a>m!f81aVK6!0bWM~UPlF9M>}2z ztbKE;M-S_2=PGtqW0YY^5c`wLWl$U9WxhX7WoKx zQjF|H73oJb_eaa$a;aUt$qT^q@cgQI#ahU zrxUE@BPa(-^({i)XGl!LkG+-lf$}GQQ=*=9GmK3mja44WtKE>%JY4HS=@tjNJi{p; zdi_kF3T<#n%TYFcrh((-p}RfuQ51fz)<0jJznzzu>4blsgx!N2%7j|WLf+y3JNaja z;9z@)0>VI+5{i>WM2V$h7B5&_fmV_m0}T~IAcN^Hm0Pk;IDBX|!_QTxbo0){VWiGM zM5IdByzdTbzpw=-c1scNfUj~@@5__biy&=o0sW^ro-&yxvqNxd7NOA<{~^0!+#Fi6 z4@D3Q9h9nzSkeY3)+tFj+@&kQz`YP5T;4d1lKDl!ag@pPMXJ0!kDPnFIBE7OBEHw}sio{37W<^W3JU~1^{d2%*&mmy*E(q!V zI+SQ6yiqj2K_5-Mq8dgTKfK8ujh|+?69dI{9us8^%}q%JMlpm!*W#)*C@Nu>9fK&M zmV~$;nnOisxU>!)* zXka_>PR7Kv7y6~V1PUKytT1g>8MGdvXG&DGAEJk~@~GKt{gB&t9CVbFCx@Klu0vNx zLk%Nl{|>~>AklO81M~IIC36Qr)DBp;U&9O5hhL3ilP!(tXxuS8|lNDtV}=PA1DRT}mVsD?a*P_{p`u z9I29*;OF&i?oO&iE)b)Me#-WpnL=Eszr`c1@zNGmjb%*HKn&ZF;_NoSlGt)+nJBO8q(;FjOQQmkM`I;bo$yh1R> zEpK1y>!D;%HRX>fkb>779*Hj#vXCF3VEIgR(W1HHfVDV+r(&tt?_4AQ$xlAK2NO>7 z78XS4hwohvbKvK3DR0NP^NLG8>_oHmSq`_ec_iQ&|Kh>Pv^Oxtm4mj^@~pc|ibMW( zeu(>+6hfAWYRRs9caQ3m>zpw&r)Wu>VM%?%r%Gh*{1rELs+h7{fA2$=6f?`)`K4J`K^`Px~an;HFZtJj{1L3;YHKFBr9fFar_`YUPSJq@Z0GH${&8CYnbDAa{C62=YjH*-ZOU_bN) z$ltXv_X5RS5^>Ea*I|U1#XJ_qn-*b>65OUNSAb|n0UIEAtN5yb3511MV;620%5{NT z^8v4toVi3cXMn!Q_IFLr-GpA#I=;XK>gGCp!^Z%0A&IE z55iXfHc+61OauNyW6q!u_D)jaaV|Z#Ja6gTjY@MkBA~zY!9!V8CoMKe)##h2ZUr`* zvpb`qVdP8Ru|%R9bi{(ic^TO;4DcMy9ve{VqL}MJ4X_h?CMnY-!JbU_a9(OE(-BET zqz31ep$>_4wpGl1-s-G=jz~R>`El#xrTcxoBQaXiP>2-Ye5-SrA# zAFS=)H%jsaIStgC4&HIPq$f*_LI+bRL0rKs<5Ie7>n;*G?Q3(5fzcXsRdr8-Vo|;;7b-zUH3|yy+Od=mh=WYxlapzLC?LQpdykWF>MU= z#Fk$B!L8c<{yTB0v!mFOk&}62=rAVivH_ztQ zskq)slGZqv%5*#+v@JJ#8l_7Soo&e_%Xzk$XsiF^R1@U;>lr~a#GtFYD>gKON70RGpA@ec3EOsKd;0)E0?w%fB%K|CY7 z;ji5(9qW;s%c|d4c3TtqS!kgHhFNxL&BEz^!N}mNi;9Vv??(LCZS52@qYaUa^V(`- zS}sJ{SL5{np--4!(e6^BuaUrR2Sur&Vcg>RsdBOt2%_aEVn%Cw(|lihtvbd<#Sixd z{jGx=T~7-C^JcY$e9GI-54cSFYZ;tyvAm3#V6>ZhG21e5A3K1-Ob#%R6p?_KLx80Y zqJgtaimPc5&`C9y6_Mx@cJ0U5x9F{ zlwcYRoX(3`O-G7ibmsU|88SKqq`3dRl3lnF`ubJ(^V1#NJK4$_OBKuCPQN2BSj563 zS+cH5RW=Vb*=2oowY?pZ@B7(=^@+@`l-A%<;T-Ir+#!O`U!o8a^K?+6B9*@>!7Dl9 zN|gam{iSRm5b7FKG+qW>8GF(wA^F9wQ zP8`M15x?=E9_GpZvZ79f6}@%>JadzA6wZMmHmUz8x*bJN;yjRO2&dS zXdEWcA;(aXWIJST0x|})Ri(Pv)ylj9J;P{^+;gkr?(W)xvi;0Vluo>bat(nifoaNC z&{f{sJQLj8y}GS6(-DRZc4yr0PACV(5{!?zC$Da?v<*|3~AN{ZZWj6D{%`)}pxZ!^W$kE!7`nRPxdpJ!n2K(#t6 zS7F7>EOi<=vgaX`9hR~e>&%E54now0sp^sH*-&(E|llAp$gOLag0hLf_JODNi94A0N6Z*H~v3ABE{zFDQD z8z86P;rOSqRfIMAk=H9CToZ`>YeJ^c9&2ClWaG1oU@k<5#`+K>Y;e$XVOix z9c4S1&N9mtQbd)Q_kJzLrkGYJA8mE6DU}#x;MlLq7GmYM5aWT1(n7q9(Njv6q*#h5 z7hN#ODir%lFTP@WHT=dcML}LS3fQ1hW#B~65K|$Q!BYjU4~B8HV#S%;dPt}-{!&x^u85}z zZc$D$_>DO;PsrVvZ+hPXrm>)zK2 z5tBe|{&#<&o<6eAyzYnU?LmeGR^$Ee_+f9`g2)b|nIjmM`seuJiHl|JoLWU$} zo(*LV(f=0%0sQ{9yJG^}Nv_9#ey;bbqY;CTpv7CPskAqvw(EeNzP1w<&sfn9QcUo{ zC1Ni6)szRk;{1!x-oeI!r&nC$^mc(q zY7Ac+rkt_w^zS8fOe{(|mi}G}(2eSO_}>!DKJF`Sj3`{poNm6M?#fCKP%$ll89g*4 zEyRNvhIkxtW}{6up&9)T(QR_{@zH?TO`L(`VmRqRJxu#zZUl(!?jbX-DjBy3J_XQV N=T%zyKL7v#|Nq;BV(kC` diff --git a/CPLD/MAXII/db/RAM2GS.rtlv_sg.cdb b/CPLD/MAXII/db/RAM2GS.rtlv_sg.cdb index 787b30de593c4fd00d17f8a1d61343a467c2de98..c914d26ca96361bfb0095bb8ad9de4e93aa5848c 100644 GIT binary patch delta 18417 zcmX6kWmsH2vqf4QibJvD?gbWG3KX~E?gdJ5cMeW*D6R{oK!M`!?y$JKF7B?E_q*rE z%p@ntlVm0{lS$H?1Xq>>7pnx=Nx%8u2SfaS{2yeO`+wRU?$F0Bl0e3D)z4;wnzy!( zx3vq5xk>sfEXoZAT_Ot`<7!_zUOGNBpGz0qBpPNJ_LyHbwsTEx5yuq$(utGwGk}H4 zI2g;DNc+or*OxRb?~h!LbeO;5BJru>ni{w(;zj`e?j2GS-1LDHO(kLd>FMb!*P90@ zM|1O4(duz&5$r`(NnKOZ4X`sbT)ixA7jc2ZNRg!Q86GYj&+9XRKN&1n=mLyJ<7C#$;INDxSCib4oQ~0#)xLl!{U2WEv2U{ujNhwAq#DmRbbRq zP}$qpSFq1lP+f>JitcCt=V5foTv5R$aVm8|qv3 zs3xxE&L87-f%>efL8gSyb{+m1{1cMYb?6>UQq8K(i7lvnEYHf~ZsqhXYd^`Q|0X@` zzmZ(w@G@G#>4Q}}8`m*@V#VJ231}Ch3D{O8K5YxY^%f~=t=t?LF!Y6D3>J4*8N7S( zPCrGk=>&=tZk6g#ULtHd?QC$LxnFZ?6>dj)LRb0k_mdaSL=aZTUY_B+-8G$VG*5X8 z`J8?8R>p4dn{y7B-Ni>WPeY>1*0NRs8j5Rq(#W?XbzfsdT^(UiGA}M5ML=08TZ%-C z+eiu1$I?ymKC~+Lgh$E@?!n6SQm|1j9nCAWF%qFMr%A>7GvB2K+VYq-tFyRa%@~IM zv>4x|8rl(m(dFK!t5w$1w&4|eWl0O-<-2o2t+Er&TDwk^;jqj$W(41k>*JQA`A)U48vWZm z$1s|w18vue$*W<7!&kVYrcV_}%l3Fbj+X7wf9SdNv5Typ0yxqg!gj?1ICm)DyCdI8 zx;6U$JRtkxVfLd-A>!>GS!=nVs*`#qHy5&*9jOX_3ZakM-PZSb%CVQXtMJR;Zm-DD zgc}baEuE=wGV1(DW*Hez!2xkvY6^&OI4fUcW!ldrk z9odxesF8^k0)4J3(_@4meM_5RJ49hiN;t#Cg*>6JEe}}9#2Q53=Q1#l`PW`3Y=v9V zwqAWgVcLX3h2CgL>S;z&`(&rsdei!ecIWv=AjU^+lZX4${wZBGIEnk8v$DmGC&j`0 z_cqque0TGju7K|iaIseG}M47TY&c-LkjJg$ti71+!k>@K&cJ)2(^~vvC9BAZEH5ZeMq? zcg7K=5B^MzNUHQfvl1|vs`_o=4qD8@#oI<~DWFi$a6Cj*{Ju~&mvs5;@gi7qzEL4Q zQcs20-i7kMfR6mZxZjOG+9gE@k0l@EL%(qIEjNkGDYEv( zH9(;tB|-X^3+IqD!9axC2ur%}Bur}-i%;nKjy=*ItWWz(*JQ3@5##J4!*kq$0rMdt znz)iw=$7t{8oks$WbUL3l;p`+WPeUe;Gt~X8| zr#N^|s5D7c>W7=s+cE4IqpIjzp$nQCN8n3I-_vibzrLKy==06P5*q1U0YKn8@rE1e zrQfPs@%1R@hy6)G)3jRoxn|^T5hKpUf^FrCyzTFeQAx+ZASLZ(C7zDOY{jp(J50Y7 zXmPP%tR5(wp1bWGWt;UWM2o|>Lq8hT|50oF@WQz`!RRFG7}>sJFs~%(M7v`ztN{Eu z<<#p7Y^Bzjo1|Et+Cur5LI~}%qp$xRTTXz%$ZEA1jOFg;$jE5&(Rvstjc$; zaY+AL$Kp3=zpMJenJ8%4F#3m;UNnY?CNF^8inIDv$hr^=ffMfUQt~dHbOf_(TOX*f zkk3$iP71cz$0U6p^q{8RxP-?pq z{>$2^Gne_FRE3*s8A^lvApXBY5^!+*Mid2w>OfyWEGnpf&7CS$TFw_!F`E5Bv-ohDKm#%BAJR~zq{ zFSR|6NJ@nwp36@(XTg6I)-k}9xGK_$;FPre{!zb|9ch}-7;=W~+3{3dnLOEA^4D|_80j5bXmsOe?QpS>~Gn#hHr|m4ym*q$o zs`U@V`E4D&PS?pFP!A4KX1`@ceQFppBEP%?5fT!=^5+SQZe?C1Y!S$R5J?gGK|qe^ z@!&9Yqo1JE%3k+J`dO32`pp2&NKrBNZ5pC->C&|9)q8L0*EA zNz^o9A2Ix7=DK5g%STd^=Eh^o!$>iV3R%NQF#PzFYLyYjBC~!7k)~~G#lPU*);Qw~ zpM*8nY~Vw3b$HBDgoyt_z^LC>K^gqn=ygKds?gT^h|YeLSMJYu>gU zf5fx$+(V33V!2)U%w8q}=!9QG24j zv#r~Gue*xIL22eILUTHaoU5?KzrV3{xbbShkOc?RO6!ALd;2YT{_tAgPApavHF(}^ zmF4jG@i=TbLJ`>^?=|B@Cksi^9aaxoIh%Y&XJ&r4tXr)Nr#c zPPaIb8N_l*lW z$4#0+yMN51wh$)%pi{w^EEdyWfroofR94UL205%*V58W-RX^fYlezFbamdESzZR4k zeVo~yVN##eK7PWC)c=-9FkGy-8IOXYVbq zmwDuG)1dxQ`oV(cla(4Z?m@}gUF9S%n`KRmHrPMq$LkurwGD%3V!tW*1`ZWa8Z)lu zPu27QKAp}Mcqvb9=zXqYKUZZYG+HHY^h*so8B6m}#3F?VT;iYjQ^pAQeyO^gYmKz7 zARo#O!l`B!CJ&a@ID@k%tQJ8-GXIs6%>M}}L2tho@w0&mBDpD%69Erj14BNOqCeML zyzG0~Z6$9)K7%JVtZI93*|)~O7X+B|`x)#2X*?4tZE9`M;200lzwd0F(G=v?ss2ot zrpGC*h%eneW?}WNdR#o+V3Aqx{_CzZ)fCjKKWx$WkWIsIA5vkS{42YF`>v9ux=gD! z%`6+IHuO3;$7aJo<%)}5By%s+q7-RbH>CL(ll`sqBE>bV;D$-4PL&6GhA9aa@~cb- zJ_>bIT?QkB9(12>Yf9av;V&YMBl^k)Gt4lXWTQr=4I6|Y=cILBe6} zae>I_UxuqpFvJDz_TB{h9K^(IABn^HXD6{NR+?hM*B?c)w)cy;gV+aThA56 zX*6h?ZpoKil@C1`>#E11gNhioLO=3We>mb)`YEfEV_dGS_b{mNTf_Slm6kSIdU8Sm z^v0cc>CbO5XUqYYw69v^nbFs1<*^a zZ}X?q^R{cJT{nuZ%W^0UICB|~KS)^h8gp{`-G#lWXeZynRtzOmBPBLB^`~hnXUoU{@Ku09VpJOlpq!7^sMyYu`Neg*moR5hDHC_zy!Q9?8Mv!zKqV0DfMyfB`!u zZ>uF#m^v^}B74h+(kPD6!w^>sU6ul#Q9Mx>Ej<1$GYJoz};$NX0ml z*o`;QN+Y;-lrG_8>~FY9X0{jz)>6`0d$1~86j>Zu-)#n@Pk0Gt;y~jzi*b{JGInv~ zj0rLqQZQ7+>7?;nTB|fnfmrxFT2z(n>Mx?G2?YGo<0vK9&7-*=x#cpQ-Q)%y5@aRc zAw_&1csLxSQauNcSN10~k2bJy(Vk4QM@WPT6X=%Sq^9)H)gUU1<>>@)EP!9I=?j}ROF_Lr2k9G zuqqc*6-wBuTdeO|tKatS;<@%rF=~ngdl z{QM7u{|6%f1JT?%5lgX7;5Nj-J^4}za>a|84+UD=55FUTu#?Fyv}pn#SN z6~N$_&TlQV@2txIxT=#FG>CQN@QTq(Xv5V*W~lm#O1_V}=1;fSyz|iBpZdHeVYGFK zZVoPJwm9Pw$jr>lk^Zxl;})8U6Xwo~#qkIL3{CSKUAZduFi zL_5xRcIukj{aiVsLPyU@-2D?f58}m*DjcBs?CC(@>uPX}8tJNEh6%GVec^%ePui{|L)#BIU zVB_i%{g`a4E^qta*1-W+LxjmV2rA4pk$+oyLca#^aG|l01ws^ zhMFgJ1hw7_arryG74oFyEpN72vWDcX@+Os;!E4GPA^MDRy}e9&#JB_#V$|y_u05Ke zKl@s?XBybXwI7D=U_0JP#A^?Vr)7XkxrKgoO1&RJ2vyzAG^y*d55CACNnW7Rqtl(| zQp{ZWf{hw_zN@yTr$g>)>4Mur5!S4V*q?;S9g3)P;q2wUU%S{)OI@KFS%Rl=lkn}f zsI-LlE*aN1EChAP5b*AU4X)r3JSM&KwA9?2?gX4Pr3&^eipfxZ1`ex$ixVJ>-Zbqm zKyb%_wl!tZ_yN81x!-uaOrNj)RlE&Mv=qymT@H_=$OQC^ zs}0X`3LuEqder%h*$IWR$S<5zPNl0Gg`fAbwjhWqr7wW2{%W;b0QK1%1^oNEXf@F7 zj@qYrZnS%nl!G5qkp@55?BDlJ$%Z>Rp)^0%b)Ikjor#VI;}QaxX<&PhRSVZD@Wwbv zN83O5{>z(kcOBzB4>d!GfnJ@d(v{_dy#@kgN8DfAR z8;qpad@5t9zqzRqlFs5a%!TN=I%Q~K@SnOYGU~@_WT9n6wJSRO09f*#A18ii_I(YE z2iqZ1+|$sg#+m$d(km`8(r>XVOeK~ONbHa-j-yvBZ1azisPrTK#@GuDVjZax@5<UlP=Rg3}RQeFffZmP1cG1;*cGFZGwWI0y9ByEHx60 zF2U{O>wuf^PauiC0FZTYtuq7QJi63(7=}5P+X-|XKXYqXw~tGHf~a!5aFV)(hYGlV zzAl`g%2gUCyjwAsefsmrS=tktR4j14`%QnlXgA^zAzY_94EqcH-fU0aWAs5sI0ndb z7^Bulg`_{ZdUx`BlLTw2*m3+uqI2SEfkea^fe(&}P~nVTDbTaM*n}sQOp@K9I#+GM zkFg30zsS2(h~;LbIf)qJV^fK!SU=!F4XDORKWNi-66Q6`1!2&bv-(O01WJ??)>QUK zrcfsEdDLh%ZIs(1v_s!z%Po6<2EX?~a6C3ut$=isZ((Sr7Nr`$`=)CX#?25qU||$q zGZ)&tZ$=dk4=^s0=*4Jzd$38y4JqEk>G@@hc}#`X_gP9ce0*+px;SLxRq12P?o~O5 zB@^)IHQO7R&Y7&Mb%8L-3qEMX$;P>La%=KmHjrvMGHY3p@osmOssHI5i=B;iEKD8- zd&B<5?l2+a^g&e;aY947kWc>hra}7>Zc+|6!~4Jg1z6hg3-JUURmS~#uf@r@;*y0D z_gxuOD0x-FOf49Vy`S(s3NW>~%W`Z8G*}}ikxz`P$8^*Str7he{JlBik{yIOT(d>2 zN~&2TFvc+v=01f~yi<*n6|CgIJnq?XA|@v+tR)nVa8*t9CgWGAtakCr;hRXuly5n^ z*8O(J3mmW7w*@%;Q*r!Cw=}hd6O=3oO=(fx9v^|VoGA)aBF$SB`w+L2y4MY&xM zsy>wY#W)0xJH0qbFsu_De&!;k+;zcI4iD%w{3&5;i0lw^!0qY+*k zlKQ#F6yD?>8I&qKbn+>gS0CX+lDwG!aH$fEJse(<0d1s+vqGKuxGdWo7k#CTpdy;Z zY-HBnX@msWjVzMJ+7-*dn9{EB|4qC8s?O&|Ntq8Y|%dGS)!bJdW@7S<`9ET0!#O%Mekk>n*)6?&FB?pX>TpLTAWo%sju0mZk9Y>m{w6F&y1s zp*m&5*^`4SExUDp*QS%H9&?!DQ+Z77kbpCI-jDApTHy6Bn+kZybF)(?UqGNew#4<{ zM$bD{GJ)pbMnwpwUw zUY_i{Ar#tKv<3M?=b3$BENJ5O)fuq~n#DaFD>b+|c1xX)P%12>_3ySDE(MD$cj~JLCkK2!eaY(!9T?hu z%zR5vmigpLgpmo)Ir4FsQIF8B`pqx9XQxJsvm5tj1#yCHjCrzcg?|j5O~Dp*O6qGP z$uLwSx*Wj(@?;p3{!Je`g6bm)6^ZlDJj;c8|q{vh=j#eM!0uIm@t_$6+5oK+CeEnGq&UwjJIa(yYh$o#xYxD&5@x?lPu6bQ%W_w<#ZHI@-ZEm~A|-xpF1 zH_K_!wTl*NUutM&1!y_WB!lizh$3q0sfU@C62^HMcw}W#OgjH{`y?}Qv?|n@w0?qD zE#C_oFYI?hkqm1GkkjLUnUX~UPY#phtQF7J$v>@d zj+>efIxbB=mO3{(m{_(`k*(xw5Q(bmEaTyZ=<28V3N2~Bl`M?!b?t792q|i&9KIF_ zPTB3U4#2D)JujWE4)59VM)M}gVTb#u^P9_?&+OVz5s_wljp0@6b)`3c(Ml-Zy*Wl58eAU z@@8^#4&3t)u*=UooiSdqY%; z@c^5j8s+V4^+63z?YW?pdwap|P0>?v|94E2?Yw!9_(0=ooILW!=Z$ugy(st92P5y7 zP&-93z*A9X;wv}DF^1J4*XDiu{EY$fu%I$3i*!WRI)c-dwF>T<()3&NCoI6b~>|`|<&rsEE0#eDch1F9V!*h?4Csz-qqw zV%`R=9oC1j!ohT<0w%jwq55Uq$#nV_(tGDLU@l=6HC&v7iO@rZYm~BeGx?3)Vj;vP z`spDhxbxSu6Qfc6REmS^iy%_#^-lV09MRq4<#thO#r@#!38~=rPsD!Uea6kD_=pf+ zpGxc1uNc`B3wqb6@uBqTV!4x7_hKJsfW;|a$s8E3Vw0byPE%WTs zLZS%lu`wDhFXmBXl{@?kdB&#kni^1F&4F-EpVfK&bVaSgoGkR_`JlQzujNdZ(c#Rv zLh#&~+a;JOPSBpN&lahON57r=4qg0RJYuq#Q@q%N645;gpLw2Zwr zUn^c)VmsLRov;At3sY?WHcoyK#i#Y7QK5%~F~%CKD|L9&Z$F<{d55t)d6y$iYYI-ug7S+YK=`xJt2GMe}$BZ+HSZ>RM_)n(DIhe6JK4p_P~UH@Lsw!6)QFCoG_1 z%R%70HdKX$pByh_f;4``+ON8e*<4m9n1!jrtNx@so6r{Cc2`BCZtM-LfS!xR`V7^T zuLOn)RHxm%J&Gp$k+nrM)yZExZCS~~|NcfW%(@HrRBf)dR8OIE{`NNMc2@v2&l=I) zWUg{EczyA=5BJ;^?wy7~3qH$$t0zT;Y+03%z@V?B)L;;Fq%C}6U_S(D>!_9xH?R3~ z=eHL(r7RSodzYRpFQrrfZ%f(p&&B)2@{u$sAJSXT?5$UbypgB(w)Xbn?@@1=7f>H6wQ%3cD=$!z1BGQxIH%DE869Qi%#C zn|$+Eh3w*N6N->OqCV|U;Z@xEY2BvKh$y$PUBL4}9Ls#QPEQwjAHe`~%zyFj!p7Yr z4c;i8yR^UvYDe$Y99aBd3lnkhL77+IJ)Jb|{=8C4O_x<=_YGT5GE3~Ai9X#i{TiO< z(^}M>e8Wp$3oM~z=b${N#VY?iF-z!QS&bfizM0MHEUCmgk+UZte;Sx1_cb;Jew2Bu_ zG?J1(1qjo!TRF5m)x$@cPz_VRKdL)NW@4@Rd8Fus;zY=C@S}5BGl=-Y8%E{K+oPMH zt-@A`4!kmH>u8w5RALvWBcs|`x^5WDdnG!sj+r2T|FPq}k-60%_tN_v9R-0!QHx3X z$kW7C9k+)?Ov#Vx;;(#5lUu&$_*IstqkEl3(zzuEVNH>n0Z+h+Lk3+q-aRnLtGA4J z4+*2FPlMCTZAJSiCoF1rqMRyGRTJwh@OSowIw?Zw~dN$v|yiPgRnM{640IsZh#{EX}Jxn>T;aCjZ#*o$*DdADq`N8P$eU z4$nDaq!d$)Mv$YgntNgqwh!ZI+1%CsTDB|=6I@vo-dYfs8#3m7w&YoP^{MP>_sfBn zc{#{mE`p};fuI&Wxt~E_ks9!FxAxk0enCC#z=$6cjm+&SIo^TjI`W8Um0oy~oo(SI zkK%t{9E2b>V0uK>{bq<<`$U9a@@wD^4Vgji7o*BX&unQ=j^77Go)4AkAFpZ)H*}f2 z^))l=s*h=HNUDqG)b5?*3YaqKnpyDy^i6?j1^u!<30HiwThDa6F@mDbPdS^51x#dy zvvO~%ihi%0p6?EWb5p$1wj0gg7vEEiQE-+Jpuuc= zV<<$nbm|`eLDEcy3_W)P905&-G4C$ep%J!)#T5Cd__foW_U%1d#MC)u`NWoRBvmfn zUGt+?tJX5Oj85MKVt*7dKRr+#bXf5gfQgFR><_4pb)0B7_ev=jadevGG!B>xZo(Pc z`qv@LPk{O0_&y^_ukaZ86Q!kM%KYJe!r09Y@bR6k8YPPFqa_1a9t(u1=Ze}db&WdJ zj!2HaR%%c@N@cCs_H4^6BsA~U8=zZ0qw!vySlrEuWR;e5+qz9p@+@9EPNW|RM3$Cy zU+o}PNEIar@Zvv7rxzCm(mAKK4|`tEtBr#bG7FdG~@d03cNc$;}f-I zLfs7~a@aDFhEks&D%>b$jMQ>AW5j3Fw?-%~MvV2p;0p{=Z&N|itwZ>(XPM^7y9TV$ zy;diALL&P$BP^yz;PPv@h=4}xE zDlO|=jFTisxg3lFu3=&&XZ}hBKOQW_`r7habmJ-M2?1EU1<0$zE@w^D%Gc{OFK(#- z3HyT<&K7FELj7(s^;2@{`>eQC@BKt&3gMPpgK-bYZA{zf&)&E0mpUG3h=y=y6VhSy z>5?+V8B$dZ0dl~)(&le1bi&CUt5qe{dFFhx8?!ha_hexFmor^L=IVg+w!}OH$`w|Z z5OX~=1bi%D5zL(o$rm$lO=?PDZwffB{P#~<=|``}UTLM(Zor8JhG1D0iJ~!RFd3sm z(p%tj(bkajbwcq!aZo9^Az$C!&xt42ftNibo_9i7{ihTBPzYkki-&>tqAZD%uPZ^# zo%6hnIJas5F(nz&+F;GOzS-SGcx<+ke7t-TJOC11<%^{MZr#MggW@*VxzsM0FAmm* z(md{%X_cA*Ri7i)bE!lxSCny@86kTrbw(MZroOfo5)>!1gmLKkvG$RlN`G{m?SP@y z3l4FY)Ylh7UaoD;Ua$iPJrkyl4}nOL9kGiQZ`Rs~3o~j$ZMHyB;hijRVmE|98D9QQ z08YU9J$E<%)O%PfBD5m}bjLf%1+L@k=8tP{D4~RQp=9WiY-GrhSze_2EGqO8GE_I2|= zq3%LRWD7X)zMIZ8{MjcbCcUH^NPaW*(oXWCtjvPDHrHbMDVn+zM!_evCEz~`oGO+r z)A}!RQc0bQe9Pz}9%4tsS7V9bp82525sV?e7DOnpF9BL-WN`&yC?Pvc@GJTYiBMxR z3kFu2(wf1(@~W%2!kLB24dyHJ8mPDun|a9%?rP=6RsII6dU`YteivaQwP##??=gAL zTRYA&Cauufu+DOUO#gG2{qav1pnfRD1%k0V^_$W+4yuh#BFuFTnrYNF295R^xtje! zH}PU*hiLkBZENftYHm%=pZry;Qa|Ui$8qI8qz^8QeC`ahK?@=qB5e^IqZO>-PMJ^6 zKHgoPs6))w3lPAJ-L=R~xfP5a)yovMVC+~}|CD$LK{Vz^*-Y)$(Bwq`%ulRYdf=F> zFWO6nLCFcr!50ZOdlv;2Dc)%Jl7*ScF}x<3+g~LY_p`aG5j>oq6Ou(6Vg^pPh8C(= zx511I!%>MT1{slx>_JX|s~JWTzk%)N)aKX?F#!sCaGcxl-=smat2e6VJtSG*$qZ5_ULo(OVk5wU>w^mDG5bJ2v&(W%!DKHT z2ssSv$ndu|D$}CKz4%(iGK&4;eM-~+$eb~nC7fW}gWDw-jm0yH{i`SvNufWy!H9~A z-LbMioiOYj;fvUyNCdDeWX0AuCm*zmBQ9EdJXiyqSnUl)*Z+Jn)}3{wF`I%3M_iyr zi_g!(!A4$NxCff89H3w9OOc?981^d_Aa)6RTSTZJhCNg_gOD1;2M23;2eQ-6fW6WP zu)tSZJ0pV^%clA*hyo7gIcy(PVT->pKaZ61D5_04Gk@(%dQrFh{-ARpiF5Y{t;x(9 zeR!o6OY>+V?#c*8Es{tLc`|zpi2bSLRBZk@=LKkr3~QjI{@OaKjgVSKIWy8>@#rg% z(DEa7e`2pB(|369BBw>YW+jq2oGX^xGSp|u<6xG>PI!Jm$FU^eRGMuk2@J&}{$P8k zjYZ#A;;B!(k$@tTL+Sk?5HTVs{OF0Gm+rBdtj}`&%ZVQ!T~Xi#o&B%T+@Ei8#535* zB+vn3@w@E@G&CG>QV2=#Q){t%c`3!kLxmcy-j(nz!7RslTBLkNNa$L4;gn zi9D==iR(`R=NA)`tkHs!Lri+jK>ipeF8N#)-1>ZhChWbwgi$ZDjo@YsW0H;`SKG5i zLF^WEqknNs@yVBXJ{!=wD>EUb+DMg#1lVif|6+HK0j)2vuBDZe6zyVV%sjG!PqfjN z2rVK?j{?jPRcwdjG@kQht!&t)U2|+b^vInB6|1ju^>(HH85oq_w}a!*$cZrYP+_nI z56&Yy_h1uMx}#Ycs~w)iTX5yJZo&#=HSls7tZjz64(ze4l!4~S&|`EuWRBijfPfX@ zaMVengNxv!lD?)5-0lI1cauaHM?DT8Ui`sxifHQDF3CW@?G&w22{LFCDgDL*6>nKb z`YLiTN}Qe=4GIgp!OFQ9~qo;JLl70rl1CgdH1&6;pd z$ZW29tl|&euMYbv9IXW6woJNR0EHGv`=)mXJvD9yixg51y31Cksm$!a14^+lm^*%b z%`#lL^yv;K$h6R=HpV>Do~7o4&*rC@lFSaD8pWtQZv&l!swz{)9D2`n_l*y|U(-2x z>rMJE?|m2YXIFf%e9{)0PFsWyVJ287B1`QxZwz@EkL)-XE**ch^bMV#0v)z>fmWte zh0mG?eRD6F5@k@AvdQnc#)jUgPaDROv)cwK5rIL1(GDHjwN~7GP_90-^%S=3kp~b; z-<_Yw*2&PCy!s@JL(v-10Lpl|5i}V=y4O}EUKUlTSbwq?th0NESd(1{!=3svNWiL!1o^5 z6(U5>sk9Ii+JFcZmH6pHmNAP13dI2pL=c36mAtG-QBDAf(jZj^J)+U*$}=-Y3Zy$d zB@Mhw2Vu~35eERSJe#gR3azt#s?nd|VeH;WT%$q;@ z?#+SIbrs|t!e?Yc%%2u4O9)dK>_P5lWrfi8CocOWedHtcpt;!&4@Q3{L-CABl#ERb z2LnKUE#v#o3o&@uI=mvEOa+d;-fa)ldhoW#7FiW8QqD3xVsHoP!Y=v-0UECfn$KQk zuxTW^!;Y!>ib%spy-g)_`m+lDP|%aVazDKTeD|OCFxpe?9Y|d^cW`l_lYoCbF18tn z2l5a*I?~U)d7%hj&}<~b5ej0byUk!0yI3nf-VKMJy<{)QPesRL`z+NUV9FC|@b&cKNw zD+?*_EVsuz=agZJBnb&SV^d^h3$0ldLzCsb`s}l(@AbdC*DX%fLws%10iR{W=J(lx zk*~G0yq2k10NC;c?|!HYv(#=&tWw4~z@n;l&45F~zEGqV=grpF_;nd7rP zFQ1jNr(f5lcKRfyf@zYvVKvm(QQQrc27>!{1t-A~+Yqr=?Y&S#ZOA;qn_im;QuL7i zY+w1Z*{4~X>+{Rjoni(iacn1$VLi!W(UknqgINGAUXdc}*joz+(T4H@REis$Vuz>X z)k#&ZR$y(pUWP%7!&cWbvph`2=q-`vx*-SA`6rX}*JTW8X1D7ld4owP&kUZgD*1GU z(($!T81!)Vc2!7mR1&pg!L<3)Y@g$^D@Twy9}F5{ zh1aF*9zb#)Jk08BSYZax9ae09I+?=L&$1+(4Ls0je)YwF_$-PLSpVj6_$EIKqD&$T(L#m9mYNj0j69zN@UbCp78r

    -?r;9|d$Y&)Ng;ZXV( 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 E0`z&osQ>@~ delta 18466 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%0DIQlk*7}=tSGpCu$*eI@{5SBS zLL>mq1qt))J~{kl$n_LYAl(J_<|{8x^>S#X4C+*K<*>H zy;7|fC)Y*CMDUCfnaNHw^oTLD4_-zarU3w5H{~$g6 zHmoB-e~x7l*6*#D0C8}k=V_Km0Ge)~HN{>3zP<)+7f?kv;~w`bW8Vk$-;lX03RJCL z9Pg&YD|k0MK^xQfD;rkBg6Zn0Vsjz&fz2zOZEi!0;1B*s-RXeLPGu^m+V=%D zf?a%LR|>gX8#WwhT!{5#BSLa#Drfcg1y%UndOPyEDHca(JBww@^wX6nL(pu+dX z-kdQq4t>V%(1qzSK4_aCdT>hb#fQi@7sY)ZD#o?g&s+Az?p-t}k2?P$(_ynF ztcKmJ+(54VPW!eyEfWAbEM6>0qxwE}o-&+tzmwn&y$YrZDmL#BoZ+}?Ii>Gn8brxg zYxSR^(w1eD(eQ0b*eXg$sG~kv7d}q4?p_;z9&0NTD&$Q{HSKULdlslmu}ZT=gBbM+OLDWM7eVg7*fU;5>rSYTXKiO zaN6n~h?rG&kR*U~=1i%x@Q~G};gYSs=~UYL^W&r6RtWSirW(u_$$OwR%S4Ioghro= zOzyiLW&M&$jx?EA+0aYbH3up}uatp}%iJj_)M!CVrvOfIuzq>D@0p46Whk)OBRa~S z)Yl2xW+&tx1zT?QS?eDi({dxnfAm0k34q^+@Kqs7+GLtZ2&t2(~KVwBgJc)XL$~$owfa z*GZz7v}qSm9HAZB@{<+>tAbmFRWa2sG$NYh!*$1Y(skyIFXxUQqe%i=eIUXJM1=6>yT*1^N3Z_M;wa}vCsO$8sl22}I zoA994Y8$`^|N5mwN#n5TyI7fLQe?Q$kXZ$9rQl2 z{XkJCj0XJ9fOH<;5`9-n^spnc}{6JzZbJQ3q1OPPl zZi|_V3@z_mi|(U2lr;o#sSlw=gIh*prG1ik8m{X@JX$Ia5lMWd=u<(_B^~&b28ayJ z-{L&y6b}p+&X)c`#I}!wF-uy!S+wJiE-6fZ8(Mm~COkz&C!l4J0t9)#X0Vj|m)JPy z<-G!e2A(N1g||E}538O|L@ZQe0h#@{QAArwKEyx&NDH>QPn%Rs=)|xuc=*y>HMfL@ zASG2hxS|Y47ED{ooEl5%G}MYSe9-QX+11*d{LFP~0C=6%11cdJHio3Ze4S>6K4hfrVoj&Twuv4 z=DHw7l$%av@!=xy5F34PuxSW<>A8|J*UIizj=@9pT8c>aoNbGfawPFWuZ(a@@gxgX z+q(+n-{skPj;2&Grx|vOlKIWg(U;~76fDwVZmnxJH>sW1PKU;N4^t0oV6yY;5f{D< zg+EY4nS;w|k@L49uG0a61%(pSvNo2Fp7{f^Luy-w7{ z2I01o(-C1GwhZ-`t(&V*IG2I0+`ZctERCSEeX@tX$44}wg_KRD!Osp*uKrDHp8O*3 zt%wHOqX3j|;MNRf=zCH8=DBmt-=pl~IvG52$I8VCfd(};m}5s)V%$j=$u5QgFR^{icYAl+N2-GS^!cUdhs&3h@{FS%oVhakEh z?~+{p_w3Fo3<@(kuX;bX6vN!XNZ%!lG~v$@^Jh{ua-QO25~l}Tbw2&DzErZxm;0DIa!dhByI+RE1UW3z}vSJN_`5La6J|V+Ztz*t6Nzq-c~9hA^zCbYC*IM>@-_WH{k5c-)R^4Vu#YHmNcYo@Q%fzD0z3&l z%HYDH`hAB+hU}t6OT<~WJ<#X-;n@}^u%=1T`E^ZKdL=;rRd3!0#o=wu!EbxUvcqme zSZm;ISyQ4-At-7$9=lwHFu%ypn^QsA!CG?h(n>1ro-=6bMdQgB1MZ;fa~@c)K;diboI@(CIZUq8Bqe(Q1Tr;IWuvYH#BqN9o;`LAK_@5SyNdeik%SFpooj&&9xRR!9kliOXDSKIQ5D+% z?5o7KJC~6h@RD==?BRyK8&1P^bLJNQyUb0ZZ!Z4 z6$&%8KE)Lvj>a%YQ78Vi-8O0{5bmBY>bTT1?ovM@J^E6mN%;uLT($4pky}h?*>5n! z{C52&?f$0v@sLt^PSez*VRJv#&WCA##GPDvE@{i#<;OgahCF#%gul6>iUx|(-p2qS zL$_gBL=XO2u85wncL@SC38Ml$W;5WA@gV z0x`dspCkwj>M_*ZloB1LzAbN+)5NTS?|uX@bNUNqT({*)8VKSfzQ%QCCx#`R|0E!k zp(Ta=X=1x+y-i`vt_d=OQlk9xm=21ta*Zn5kY8VgC6j$J%ec&0$suOCEP-bb_8;o4 zbhIYmd9ByIsxadG-|%aM=JUkM-7-o;_RH}tRLL6E!G$7f8)D-7AdD1s9x?R`o`DQr z?H2_D5n%aZ3G(T5$X*w>@%K3m-dHX`!F#Wbzm1-c)v%YuvofTJ`VzP1d+=L@Ql$0P zaKbC=R=FJ#*7wHqQr8Ou$q4?e%Q2iGOA(64B9&QRlFFC0@6YtvAi$^ zeWNAU2nInaZDoxc#x6FOG#8UEs(Jp66b#vuq^95xqwW*KC6yea8n!R)}Dc_>~y{U^|SGrS7YC_xc z&Af0C8oKvvZwoW$3=T5O<S$Z;nyem@s5H z;td>No9jGFQ5CmE$c$bM_bK9H-SHTH6hK2AJRHM?mW6DtH-h!AO^-OA!U|v*xNBL%y*K>3a6PV>a zxT(;V6(vba*8K66xD&-C2UXgUArOAhozQJMJg> zJ889Kjx;#cuQ8_BOt}R{hV9=wh^{59DZBhVGEZo`5r4D)Z~)GBj*P+}3KC)VTGC9edj|GZ{7}VM%9K8 zD4KNRf;NJqz2U*0_>tsblAIkZIVcG2{4wgYY>Y*LihE5ijCGJ+VQ@4D_C;=iaIjB) zkUiU0S&oFFl-KmhCiIqy93vsipBr z0lz9pO~ja7EiQ?`wt7@#+PiyaQVg(Zu-R9mA5A$PYHRr4ozV_J;(xP#8gHHui@LbI z&&Wfv37t}}5<=@bXNa-{@bwH9J|?gH@X#vbevDV%_z;9)QIQMl9H0nwxr}fGUz@$j z5CGM^MM*2D$F)#*B55^f9GVv9Xu1~*$<+0g0ibb%t<1ft423e$`h= z2)L9Lf^CiJw14$F901S8+whW0I&;-uI_39|JDQDog9Pkn4hL}y6lKw|Hl~Ps^!eq> zVBOdL1ZD*OtI=CEj(-y%0eIP`n-hA)IhI%Z>z!9Pb@bR(;slFl zMH%T*oCC@?9PqVi%JxS)84-|C&fWEKlKM}DjG2N+g{V?RXazI(wv<^|PfrV`vhIQ% zxD45aLc=^+B9Got$<2M`<3K~%j@08>mEfhe2T`3#i!GGCy_H~M2(IsaA-9*Da$FLy zv^JY`CcMfmzoVK-lr&b&ki$xbvwD8t=g2zjBT35Dw+gr4WWvhI=j?a;2lQIwv-?-_ zVc~C^f3@|>LgHP4NJg-uCF~aFjf;ZDA3E}3)Afmd=%LbZTUa!Y{M?IAT=|Y}b-ZqP zig3}L*0z}_kj>D?ZLqFo)O}!|brlM{p6OtY>2}H;;aY-LMSh^G5g%RzAC*FyHwk(M zq>$B!FOE9BKzwfpt8gH3HYPdZ9nOlZW@@1q*pTpsy08(O(_Mav+(K3mdAc$O*-5-| z3G&6Rd~V$d&M=xqyS3l``^S$x0;r<=8-igjcpF{F_m9@B(t;+BLMP1WzqOdfAr4AhG<~p| zMT4laOz?wERu;c4YaLE&4?^>5MTLYC@xA{NMKhF{V%FlB1rCKMmY)>Zc^|FZj58Fr zVyr22`?Fu4K6kt6W1L$2ngpKT{Z-=lu;A0eibV-?7i!?6k3VSB73+IG!Sr@3^U07P z#d_HMwMT?w(!zezrB6n;%oT+(T49jZ=#(g6hzfC~uv>-5fksh=sR0LM%c4}#P$yH7 zQ)h5C5ktD+w&Kkwb}L`L;6`Nuk##ndVERXXrt%j8k*qJkdL?<5BjA@FQ^^Y^IjMSC z3Vc3E-M9Ho6k5G@8P0ukbOQt}h50+-x=b^00c;l7(Kg5W&gXd1X$oagqE3i@LUXx} zBM}^kCazDyb1(NTxX0-CP?QEpl>iID>&%?ssk^uW1I)w|`y;0?ps>p2&$uL{156tY zWszgo{gLAtn7J}Qt8L!^r|Z_xrv@F{)Gi-JUpY1c`<&s>8zFY>hf6aOC(m}tx$D@u zQwns5yy9bpvZsTDygB7+8VJREcT1EJ+bLQvorNd;FVCO{p5xGwDwH^DdtxOCZ*h7d zx%UpPE2zro+%tTG&KDDE7OEEZhlvfTKNyT=hI`pGA4-i{9HB|VpGEbmq_ z1>Jlf6FAJthE=1bU;g4f^(hm=va2y9>E!D1!f+%#GldELAw3VLH#awaz;MDQbd;B7 z@mqyszqe9!FLRk9JeLCv_Ma1HJ@vor^uLE=(x@7mlN2N}5EkuoE;A}?|VWFRk7&&JH51=LssWt$d1qe_l0KrGO5UStA|K7BeqS2 z%HftTd@tS|aemENYcuDqRBehw_qWXP>55Ct13ljz*D&aYFkhul>U#8T>%t5KvC~Q6 zK=FjLwjqhv-NkEJT|~S4o8NJaxH7}3i78rNcMMmmT+Ek_GfEx%XBv%lW+6DiP>`3` z&9$FU=r0F&jE8QVD?dzaXTC*|`K}YiPgFEw8Gh!9Sy*thyD&>JEadOF>}0sgdJPZ% zNDWcXHjUIW0vbwlh@s^TY?!_5mrJvJ#J#hL5&~Fb2z}u_a}fop}}@ha$1L`^SFG-5WaOOnq?uny2q|?lsRr0}%aEHg;sQI=^ z6@|gF3g_g=S^tZBdvc3SQ8&ZMP}&*t_wF}S5z5iFEJ}V7oYM|CqyD~~{8RMRWA%D7 zwR^QXI=8ry)Mg&pqM_oabeDabndUp?yCU3?DP4+q8D! zLNh`@a}18oBN8N8Ey~U$J6evI7Le=W$0{ykm%haQiXzBXpDj~lf zo!Ib=f=D(KaMaNXsI&M9UIQ<}GSViJPA1Bph^_5=qVs{t3cK^vH9uUcHNN_Flhpmt zBDKVDZxTv@G0|SY*iyB!lx*hj`ZHqxo0~s*fBPV6j2<9rM%AZlc4BYGzbFe(yX~YJ z{*dGSCa7f_|J7sE;@(}4>1~kf+sIOzYXI8nBu*@Lbsz8^6%tr&d_A~k+RBEUveD2n zrww8!?s*JMoFl<;j{56JJ<6*YLNZ+#c#-Kkglre)!s`em{#;4Gp^#j-gMX()J^CC1 zqNH;ylV9KVw)8)FbgXU}KcVRAmNKo9pv(&5#>QMr;biMDtBsY>*LPhQl)|WBUEsm^m zsYe5lMkhi*{2v_8yBU%cE(dC_QYD%lkidpFf`0NAVrBT6mrVKjLc^VwDPx42%dzVh zUnJZ+=^t>R0=RiU=}*(aw{Z;h$o02fqgYllNt}R*^NSE1AEhAvU5SDvUDh-Xd8JZj z(3z%x(sh3f3ibV?lJEFePSrkluk&&!H0B(w1TH$p!vJpC3Mm?-oDFl8TRiP{<;xrH71TVs>Qf`N89Sj zF2D)Q80CiEZ8jf0AM#pOZAJ_w(F(;&&@wTt!Uikq4QD~6y>}(|a;b1KvZOYw6B>CX zRizCGj_Jq_a^pU5G$&%o4DJOcRYv~Ci>5RdFpo-s3=n&~J1b!4m`)+(-*$@l*kqYP zOnQ(caQ_HR8-qLCfm z@L$i)XiISG5-;iE?Oty!7$pXWAdTNf;j8Ep98kAPB>S^E>Cb!J*p9{)o|^m&gM@?6 ze|jFZVuLqnVk~Ju4zw@%Y~_J2BF3|bvp+Fp#TPHhqC?-m<`c;Fb#e+$?3-;xU0c z+%2eC?+-&u?AQz+FpD-IEK)~1YSeS@c(C){eewnb+B9Flbf*moHeFyHM6RmxRK(sv z)aBT5@_qxd)7XW5GW7Bjvclco_!mQxa1@cCB6=-T$bIIpsgHV>{)FkXFgoz5x!6|~ zHkdr7O<{w>n&TUkln_d*NKsbk%S5sX+SySW^~V{G{17|@oYLY--hNrsAUBcYmc8=-q5k)M0FM9@VI zBr%~*GU;oDJWZf69W=)rw%|f7NEymHKT?C+P+eFuxgxH}W!OerK_Q^A&Nyx10UZ6S zfPYHnXQHOSJ27{nZm*tMg$=T(bziu2A9+V`U55aQ-{w{WK$~D6)Cz&&gmw*K z)PJ73=MEKAVA4!HYWA9jhW)gS69@t+|A36_F1CWO<$fL}b{~^1_1b>+;~tSH$mXb| zoFcqF!J!s{%IL8BMi@;UPcw)SQvC7@r0LHR7w&If4%X;bg z&QK3+deBzot3>CBze|twno)D;yHw_1I*?TliPgsC)FW6tuCF5rdUY~sEYz1KS|fi1 z5?Vdkwj4zz(ncQQyBqVqPjxcI2#2)wIH{9>Tk9C~ZTzYd_kzt>H`DKn@9s{`78nOz z>7VkqF6g(m7&yzrh&trk_Z=30yn#;W-#4D;`}ZC~-5dpx+5)m+L(~r>J=@gI^KV>EvsWlT^hK~xJ&?7u>RABE zv3?dwLzzv|+A}*cu}{+MvuN%(J?7I#YXWnS+q(t}BVY#&f6%{q z$igTk_6eLc#6D(9io#lR(`>;0a2~XB;?@X@p-Xt*9eVWij4;TasY&tc12(&Dy0QUe z1ww`arCv_f1YPU*nooyc{1Cs1(Yn^SPK{pr1i@lT zU^VUqeQuiqO+bq%Fgps=$CI9UZAAL};at=(Xl)uA@i`F0h?FihcMm*}GjK6D4t^vX ze7@af?}PbrHDXw_<1Ad5EspkQQcj7AF5J+Y1LHeYCvyGIj_?*qnx~$AnRd#zjQ7HG zj5`lE`J!3pHrW){X^~uYB(gn%Z62I!5Vs^)8h+Ip%z1(Tb#(iyWgTSuM{(fXtH;Wf z`~PQ)wAiQU-+m&i9?L&3YJ4Hz^Bwi;ukemdHow9$>rNnSBckB7R`EN@1r%x@{`wmh zwC0lo=Y_jfbfxT-&?f!slpvVzivs_{qpO5_TYX`gMSDW5U(Jw3`>R8hlZHfp$ND)W z4f#`3KLFaVC`$d{`3mgR583QVPqq@*;jf_hI&{mHz5ZB&In>3b6ben+tsUMEg2^=L zyL)NsNMCMvK3o0guwaOV*z8VKmh7$YS|ktT`Z;Muz`=!%`r%vuXoEY+4M&sH=mB@G zZX}BS?52NljR(=tU3y=t7=$PI_5g6=Uk&U#zrAbK*5VBjcU9P@UohWSP#(_HtOLwVR%ScMX&hsS6#OCLQaj;)Xl*o2xY zRhwPB1diIS$G!{*a|B}MGWZB{aDU-jyv}@NTTc692uc#Ts62*kMZfLiD+2(i%bZJW zyWT@X4%&k9>vHSmDy$3EexW0G=ZHa4) zS6B^#sl7sG5R9l<|9T<_mh@`>xFFb+=JgaXsWiv!oE0?3T~9r`LJ9HtbByU*@z?MJpmLv2HY z&v0Xi!J@#MDx-bVh5fP1yF!x}W`t^5Ilz z9{lwArtU_Z(U@q}!TsIMwnVd0@QRkP;#_H^J&}1)dT7{;qXsWa>xnITc}Ft;^wECat#~X(dw~gHeE4Xd6=>vI3}c{L zvePf11j3{2z@I1!PAQD@kN3B7m8Q0zpBi>{M=HcZmjA0e^xWBr)4FMWTr4hcxjtyi z=w3oLS{~5isWwm6$-kX3^0Z*!j+s z4%q=gZ}uV1J;+^Ag7YYFp2NnqO(D+B37qsVzHfPBgwJCMoLdq&8Qb;(=kf?n#)mRK zIR~UElz)8?1!Xu-CU6o?Q;3r?l;J#;z`08i;uzwj{>yMqS)2n{q!ikSI@1*5>x|A08JMsTuio-4t5H-VG)qJM~UI)amJ^I{3kdkLJpuSuL|A~=sB z|5^#o`w5&}=Us-A?UFd@YvFhC2%|n2j%f(95#L7TTAOa@*X6w-A}-_n74%0paQ(J| zi)MrGc0ir;%Q12P2-oeMc;5)=4MU&oza{10?K184jXp1gUtx}U0F(YkuRk)+HMGZ zvY#6_-w@5WmFr$xk$2CMW3l-rD?9&(@r+~BjlemF`)%DA&(1(Eo3J4GI)xA78GU{b zTdWKqeVb5rqXcd<%3S+v&$e;9r+mUNW!m$QknS4=KcRdprJCJ4|D-Q*O~netI)5p2 zW#k1#rQaG#l~HF8)(J-8rKw&7M_ezh%P60&rCEi0P9ZNFAOyd)%M^aYhwrtSzK8w; z-+GZa;bdSOSPfX-x0g8KY_y6*Z3^QA$6ybzNpVrv)LX2K_5)ZHj=bc{9G{BK;dFc! z%OoeR>()3a_AsiQD&f-%BP`J{E`RlBIw{5_Ui%Vk6k9jOr5VJfdljzv^U2~>^I4c;1oBeXn$)_Z8N?* zb{*fx4*Bdy%$)&T>{|PwpeM?L>@$er*8oSogg6-=sLKZ|3%)%$gFO8PW7s#+ce$Yo zQY-%y=0e*FoS>jy9swcO^6iS?9P@z1mjtJ4KL)6v&q?4M{WjKye4;4(S*tVJIJEmc z%)K9je6uJE?Y_bz8tM~WpMMdE^EV+*jumM?>NUiv-xHz~AK+wF_ecmC!tUJS&YvOs6UG`q7|H?e2+yIS)Ae%ESm$& zfGH{3Xp7C~p$<;kfH34Kw9yC)Y^sBkYcV*caI#nPPmUw0&y%1T>VK25gMQ?23S)FX z#yZX;T|=GFMk)U!k7d3zXyxW1#CeDJ;Q%{_vXIX?#LqIEyAn8WLWVM&{Jv`$&Y=X( z(`XN6I5)weShgAPq1{IdIIH>RS>PimrfCc9eX=3WGr*PiB|${HA1UCJ47Qaa_yhZ~ zt2hsBvt>689-!+**V+Fh{AKE%nmv;jpi{~QD_{U~QV4{^?lY7Np5C%{Vm^Qgy6 zi1T8?KW``e^H>5W*IUpQw@@eKb2fqVL;@$jky(cGM#AS$CU72t&zIp`ZGE2Lq0gTx z;H>8Jlh6r4Y5Nf8*@ieLfV0f!&lPY=27R7$Gn75%^IIWKS%3Uwf2m1)shaHL2|h0< zLL3YJnTSi5LAtDMP9<=jO!()mgnwR4;5?te$+_(^J})J3a{We`e_l)Y{B#26u7uC? zdr9Pz;GuucByjS2`YPaV0(aQnbw2qFaECbQdzwPKYd()5PF@3)`TVR0SjRuNCU9PB zh;vH<=k)?k$&<835q}am$E<(Sj-ftpz(1!!FNX7G0_RbSlRg#VAY>ovntd_- znx&!rW`Of5aDN`DiE}yNn1H%4zNUnea>qPphC#!ZRFi4;d43iAKJ1I=Ss^9 zX@)pyTjp=V7RtT>WlAr^d5=Igg*fj6uHTjkPGP{8o5g}t+AZ8DyUu2r;1oEPtpU!< z-@!9dc>j3FC+lkpaTfV>I9CHF<#+8tcp;yh&(ajit|`94@{rH|1kUvZoQ@Zz<#0+4 fW#>KbGCqB{kk1ERVaVqy%O}6b{r>^8Ye>Wb=hiEi diff --git a/CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb b/CPLD/MAXII/db/RAM2GS.rtlv_sg_swap.cdb index 43e076bf186e0906e12233f4ede2a159277fb2c7..75db29cf6b601f8941c74da8b156b57015909c15 100644 GIT binary patch delta 470 zcmV;{0V)2+2FC`Fe}8i$=t|Loi`pVB=;{$WXt7O7(hB~pA0ZBiLp&$x&G6btkfg>hC5bT4{^Mdl_6}E)bA$>{Q4}a(g*^8gPm-zEApibhw zz?Y)iOJ57Hjra8o+n@ScgnhiPC)mf&6KY?iFV2XyaBgv#!)AR5(05YG2uv4;IzW`hk!pZTr#mP}r&coORShd;gbn7i;*;Y+;tvkOHjZ+o7)rQ{c z1ci*UJzi+jsed$Y8Je3=0!_7Hkx6J~K$wnuQ}^phsHUL0>bm#zp@d2~62`SU8qY9b5u4)g05U;Th%UhL_29D_l~-+87Lc%`y`-H@pFD$G&#V)Nr~cvqk~|0ZX&)b^rhX delta 470 zcmV;{0V)2+2FC`Fe}5A}(3PTsi`pVB=;{$WXt7O7(hB~pA0ZBiLp>+S&G6btk>a9w z;q<+C?wtFQW(~s_1J;0P;34C$S?oo2VDQ-Oc9%db2#FPxCvY(c5&irLD?)h2CVcOR z7yoxC2-ZbR2KWL;NF1?$14oR5AlL_?=LO}-D{Kj=L;8}qAAishauz@REb(VyK%K;U zfiFe3m%ip;8}I8Gwm?$nyfvaPD>Sa)708mG#3vjx4? z_6r$id%V!5Q-5yUGBgjN_?k-HB9qWefiNBSrsma?P)$H})p76XLkX4KR8sR)oU}a9 z*qxy7SU8qY>0bgfRUOl1)tek-e-pg({LLsqk?(_9p0get;?%+b@OT|K|s7ea?^P(zV7LNIig-WNvrik|K z3apqVUH;0a-xEmw1@_kXSG5h2$K0jWG7wDb^ei!~MPH+_eoy?P@^|tZWsG*Csq3A4 M)N!;Mvqk~|0l9DN(*OVf diff --git a/CPLD/MAXII/db/RAM2GS.smart_action.txt b/CPLD/MAXII/db/RAM2GS.smart_action.txt index c8e8a13..437a63e 100644 --- a/CPLD/MAXII/db/RAM2GS.smart_action.txt +++ b/CPLD/MAXII/db/RAM2GS.smart_action.txt @@ -1 +1 @@ -DONE +DONE diff --git a/CPLD/MAXII/db/RAM2GS.sta.qmsg b/CPLD/MAXII/db/RAM2GS.sta.qmsg index 22ea0d6..3641928 100644 --- a/CPLD/MAXII/db/RAM2GS.sta.qmsg +++ b/CPLD/MAXII/db/RAM2GS.sta.qmsg @@ -1,23 +1,23 @@ -{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692170600297 ""} -{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692170600303 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Aug 16 03:23:20 2023 " "Processing started: Wed Aug 16 03:23:20 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692170600303 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1692170600303 ""} -{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta RAM2GS-MAXII -c RAM2GS " "Command: quartus_sta RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1692170600303 ""} -{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1692170600413 ""} -{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Timing Analyzer" 0 -1 1692170600544 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170600588 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170600588 ""} -{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1692170600638 ""} -{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1692170600782 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS.sdc " "Reading SDC File: '../RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692170600821 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS-MAX.sdc " "Reading SDC File: '../RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692170600823 ""} -{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1692170600837 ""} -{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "Timing Analyzer" 0 0 1692170600856 ""} -{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1692170600858 ""} -{ "Info" "ISTA_WORST_CASE_SLACK" "setup -15.744 " "Worst-case setup slack is -15.744" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -15.744 -15.744 DRCLK " " -15.744 -15.744 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -15.723 -15.723 ARCLK " " -15.723 -15.723 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -7.153 -69.927 RCLK " " -7.153 -69.927 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.358 0.000 nCRAS " " 0.358 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.545 0.000 PHI2 " " 0.545 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600859 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170600859 ""} -{ "Info" "ISTA_WORST_CASE_SLACK" "hold -16.277 " "Worst-case hold slack is -16.277" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -16.277 -16.277 ARCLK " " -16.277 -16.277 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -16.276 -16.276 DRCLK " " -16.276 -16.276 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.517 -1.433 PHI2 " " -0.517 -1.433 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.177 0.000 nCRAS " " 0.177 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 1.111 0.000 RCLK " " 1.111 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600870 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170600870 ""} -{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692170600875 ""} -{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692170600885 ""} -{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width 7.734 " "Worst-case minimum pulse width slack is 7.734" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 7.734 0.000 RCLK " " 7.734 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 ARCLK " " 70.000 0.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 DRCLK " " 70.000 0.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.734 0.000 PHI2 " " 174.734 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.734 0.000 nCCAS " " 174.734 0.000 nCCAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.734 0.000 nCRAS " " 174.734 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170600888 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170600888 ""} -{ "Info" "ISTA_METASTABILITY_REPORT_DISABLED" "" "The selected device family is not supported by the report_metastability command." { } { } 0 332001 "The selected device family is not supported by the report_metastability command." 0 0 "Timing Analyzer" 0 -1 1692170600956 ""} -{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692170600976 ""} -{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692170600977 ""} -{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 1 Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4676 " "Peak virtual memory: 4676 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692170601040 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Aug 16 03:23:21 2023 " "Processing ended: Wed Aug 16 03:23:21 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692170601040 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:01 " "Elapsed time: 00:00:01" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692170601040 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692170601040 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1692170601040 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692496820839 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692496820855 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 19 22:00:20 2023 " "Processing started: Sat Aug 19 22:00:20 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692496820855 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1692496820855 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta RAM2GS-MAXII -c RAM2GS " "Command: quartus_sta RAM2GS-MAXII -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1692496820855 ""} +{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1692496821026 ""} +{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Timing Analyzer" 0 -1 1692496821917 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496821948 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496821948 ""} +{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1692496822027 ""} +{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1692496822151 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692496823855 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692496824151 ""} +{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1692496824589 ""} +{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "Timing Analyzer" 0 0 1692496825730 ""} +{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1692496825730 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "setup -15.744 " "Worst-case setup slack is -15.744" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -15.744 -15.744 DRCLK " " -15.744 -15.744 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -15.723 -15.723 ARCLK " " -15.723 -15.723 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -7.153 -69.927 RCLK " " -7.153 -69.927 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.358 0.000 nCRAS " " 0.358 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.545 0.000 PHI2 " " 0.545 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496825980 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496825980 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "hold -16.277 " "Worst-case hold slack is -16.277" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -16.277 -16.277 ARCLK " " -16.277 -16.277 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -16.276 -16.276 DRCLK " " -16.276 -16.276 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.517 -1.433 PHI2 " " -0.517 -1.433 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.177 0.000 nCRAS " " 0.177 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 1.111 0.000 RCLK " " 1.111 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496826401 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496826401 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692496826667 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692496826995 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width 7.734 " "Worst-case minimum pulse width slack is 7.734" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 7.734 0.000 RCLK " " 7.734 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 ARCLK " " 70.000 0.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 DRCLK " " 70.000 0.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.734 0.000 PHI2 " " 174.734 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.734 0.000 nCCAS " " 174.734 0.000 nCCAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.734 0.000 nCRAS " " 174.734 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496827261 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496827261 ""} +{ "Info" "ISTA_METASTABILITY_REPORT_DISABLED" "" "The selected device family is not supported by the report_metastability command." { } { } 0 332001 "The selected device family is not supported by the report_metastability command." 0 0 "Timing Analyzer" 0 -1 1692496830355 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692496831214 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692496831230 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 1 Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4678 " "Peak virtual memory: 4678 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692496833730 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 19 22:00:33 2023 " "Processing ended: Sat Aug 19 22:00:33 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692496833730 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:13 " "Elapsed time: 00:00:13" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692496833730 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:02 " "Total CPU time (on all processors): 00:00:02" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692496833730 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1692496833730 ""} diff --git a/CPLD/MAXII/db/RAM2GS.sta.rdb b/CPLD/MAXII/db/RAM2GS.sta.rdb index 483082dc75111dffbb3ef4c3db47a650507c538b..de798c530c7849c77661611b5707fb8d03f44e10 100644 GIT binary patch delta 12526 zcmYj%1ymh97cCU`QrxBJ#ogWY;_g!1wb&rVrMSDhyHi|>ThZbUr9g4|ZvXGSwcf0i z>|~PcvvZP}%uHs<`pG(82JqU2hWdBFa{LdV?BD%||6(7`|I*&j=l+jrRHH6is7R{& zA3jj1P}+=hE4*LnUlZu@C(9=t9$N*VD6(p`sl8R#2A~-F$MkN? zZ)42fx0U({b&eSKj_SPJO{D=qM6Xj3iz&xvzSaBZt);o<6|@M&*Xr8ZK7UI~bHLr1 z_wr&p+Xw8BeN%ZLKYGKARwlN+jvtF5Z4Rsvp($+n^j%e0U^x*h247#8)VUveef?za z#EsNF7rV~^R_^XGnO`UKS(qyq;k&w%dG4w8GUq=3%|N?F0JI;)mhyx&@DOaKZ(WZD zjixEOzMWuT^uPduBx;1O4;jB6fg2E88UFWDgr*9wq7@99t=Mbp{M;hJxvn0fBA0rR z-C*7u4X4$MnLiKrM$TDOdn7S3&*nh>gpK5nW3*5H!}S3_IuQ3_L^5JJg#g0y&%Q;M z_U}>4_^E|fh(1h+CQV5>-v@r-JR$Q*`f&$F*sSpS#IM$o0lzmOY1u762wdJZlPfB> zEVj9)c26evQAGZknm&Ij7PusF)^qX)h+$*=je3+ten%2ST615wj`WDV7sjU+8g!kN z<7vy)zh`zRq52(xVTk`WAlA2XS9cHd_05fD`T^6PZt!L+XX}<`JXa0PM-M-n0XQXz zGP*4nlr|3)A((qc|5U7|2N>JWofR%wvR}i$IeQLXDO;H*-rWsy@E=v9-=g=Ld7BP^ z<iqJY!p^7e~axA0rIQPL7+vXm3 zWmb;LWe7=SEC%f^^;gkRsXhjL@|$x%#YHF7_$53hHM;K?W^_vK0nbk%K_bG<4CLC^ zm%QYfYdLB`J?tnn3!6x#`u?=kdI$HpJlk*|CT!oM0$cguvG+v9Ou+g5^8_&}x=*KP zc``kqrHhX;Wj(Du>h>w>DC_uXdKk?q=^R!waC}j@P5uilp4K>XZMg`g|C`9)Z^(Va zPpr;A{FG?gV^@#A0-bF%TKu7c=woZjUR|f9ZJs|dLf$TC%LrpnwEGfrH5|fnI+EU) zjj%Nv7zu>E+4TzeZ2?jWacreGqEO#tM+fwmE*FJnx%;|JDwrDVSVE8G-pIDkmao1k zLa2@idlF!qk1bA>Epy)=Kg)MreZ4Pl$Z;N=iA8yY+G`mX17^aOT`+*rlxaqtYjp)0Hhx5;&KtZ_3cyZpHU4Ar`(?y@XoXu7&GK07VJmxvXNB>O z_ZKN(GxYb=_asMKX5>6Uq4G>AGFjy;@08aOA!N?sw6|pc#4K0vq|975SeukqW?L*? z+ehM*5UsmLH?R91{O8Y@e98Xh@0SfU^vnE0;%nfPE^Xq#v}~&NJ#*#Ai`RQPKeIo< z{%>G4FZ0e;F@Lm~_P>>PL8FXjnjPadIWNt2dMsN%p+nI;(R%F60p0={G~zKkcOrY% z4A&eGr(9>8G@$^u9=y+okO+Cvj;%zIqN*#JS%(82?-g!tPexqrYHriD3uQX25#e6; zGdRG4hUw~0?j1796>?9U?SxUijK8WUo@ef6@56cAr@W`E#m3K@TkQg8O5@<2H}1CU zMb6AxAui4R6cvW=+U;{ur|BtI7dc-!R2~|B3*~MQ?vL~IeVe%F?uq^_M2xn=>{vs4 z10JCuuRAEt(8k>#HeJ=j3P-ZEQ^Ad4pXvkTkS8` zv?t;Zk77@js|9cD0$^2!bt155iZ&8qiYf*06XE@SZyPts33}T7>$BMEeP`Kk=f8lZ zlSBFIf_%q$%}Efn>twz}odNceew&i|+7&D289soQMTedDIB*%p`E>oaRCs;3zBk5f zmONuP-|>hMe#!huEQzyXZDj*z5Q&P|C$0Dx3Hona6tTAwhvS=W zd-kZHSx$_CU#f{q7`}orK@VAmC zr?aEAB`l)unL3ZpRV#5zQ9np1^?kh@){@Lo9*hp6Athtp=og0##l^-csD~T2?l59C z{70|y|3`oY0_ka#=wtZIOO3J9uPBTK6fkqRtMCUk#xS2TuJeLByaJ>5Y<;%nHFc%7 zRITTHWceWObD_o5`+^!gsgY=OlR4;O_=0l8P()-VI*|BInBa#0&u?*fp566(8092o z_5(-dM!ee`&`TcV!;&veGwM-R;n)uu?`;3PoBv&;((jkF6E#m886<$TO~j?lFx)bbgx_bk+Vt{`?B^7-=Vw0CFNi^R(lQ4v6VjI zl?iYh8Maag2l5QWuf2PSXIM$UOqSLJ8VKGd$2@8u3(Ca{gWQRe6%4L+O1nNV8BNZ& z#VQ%JR{B+o+_)R*)-7qG^JIR=VrAMmKG`F7%{>fe^M*?!$3Ax6`*3X4W0Ecv`^G}q>AjG*e-&O!tUXmJ5IsqtjL`+$a9y1!s>%$PBH zQ6`a%F}q|%FY~lW$3Fy)^Po?W-vEYp1zqDjHg4|aY=u6I5O6s4$!d`-sPVcBn;vZm z4bHzlZ!1ABVqm-j8hnc;C+iRTQ~1t7Yv+{J;rX8va`Kx>d8s}L!@Q02O++V+yV#(aaCjgC@rpmm zlmIRCeuH@)H>=~Z9!yQz8 zWONWGo`&yQ@pVTvk2PCgA7ulEejf>y=+Ng0c^Ox+e*Ki`#w=SBAOJnudK}7j=aK%l zElsa+vBoVUb&UUp=j*;Z*Ly#8e5sHe$i;NVmHI6-;qPGoOGEdKssPw-2P@5>Z_yNV zh{`o_1$m)x$CuAv+FdWC65w>*I7p(=*v>jj;HMm8o7d7BRetudkpD}iK-D(bB~XC zt4H0%0Dr~y6t9oX0Q=E+4Dp0QO1wiXanVjqi4{*G?+T$gotiRyA@Y=rVy2I@71FD6 zq5WRs?-)GYOt5+B31b4V2_rmbeILg^cT7tB&TMMyH7z4Zz;Ebl*)(*6gC(-T5OP~h z7|xk!B2y;gMDL)dUr1bpx>auwUxH@_2D_#Mc^-0EW6SaZjjWRRIGcx`lW|V0Oj%8Q z$6?aZ@e2<>|JNC>=N{PLD{h2JZ@bf5gH09ny@{iu^iyRm*=;VMrb1bL!RDu4PMxl} z&$qGuY=RpNMcktpt1sW>GecjoE%j5l+`=EX7h=axq!vELV7Dx%iVtB;j3UY|*q5nF z7Q|@qVt98ye&_2R$m1b614FAea{6HLcyjbXVqwYQ>;3urBvKTlGDuwy_kZzJ0 zy@-I{(3J$KBARbN!fc%{ITR6w7@TUqMx#V5J(B^qQWS(b!kZ}*B2 z%@ahdag{VKt(3aja4_7D+ba4zHL4x%Gl3$~`WE(&k)Lx81B40O93M5xK`Wr)tolG z^m3*pC=7-=C*D)+J3`rwG93XQyRq7IcArvmW@s60)jG4^wBv2FXgJ! ziyaazAPJCjYt&&D_Eg%bdNP?6M+pH~5?>7{Ox_qJ`87tQH7vNd7O z;vE7)e8H8q?@G9$nq6JGh4ED*~Cc@^+`kHkw?_$ zgXk4PB_1O*uqV5kKY}m+GT-EwD7qA^o%#_I9N$&v;( zO6ld}v~`zi48L2VueQ|`5s6Y;To1<=c0S~|FKl%Z3)x)g1R&iI36V&P^V;O1RAKhV zX1+3`<~^B|Y5$`DT=D(~88kiUhuO9=g_BFlS*N-ItAj0yr)B6Q5f)^Cvq7ANT2Gv z9GSgSlq=LgzB5xk*gV}oK)wglp|*G8Ee0pv0%SML_oYFj*8|_eJIpdxi9y+yR>5q2 zZkC~jeVU83nS6^;uXKYpH*YhG|3fUzsJ1nXCs0^h z`70@_r(g!!A2_;DJdJ{xZk8lwA=Ak`gC;*o4r2p3zySQ_AYS-JxvX z-M&Ek1oQQ`s1?F_#Ti3(7)qLO)f3r^*>&|c`p8>=DD=sGfm41}@jH8qlR=yPO;y4G zmlUV6zK0(7*I}f-)OSsxQ(hDk(W8a&EvdiEXmU>UtC_vuSUL-X@1$<0t+_7=$(axA-n>Q9 zl}T0Uc|V@{=^Xx5rE+^vOlMLyw9HB3@5dvgv%szs{7aBxK=vGYpOTn5dG(W1M=ogk|PcovA=j32HwJ9e_s{ifv7zK z7C(#}Tz!nAMGK9#Oi~4onBGOX+#jLbl7w9*^t2v~Wl*eIm7_uP zP-yzbx943YDrOT;0{0rtO3s*@fpUIbRd@yxK^MZLc~y+dZq)rM*gF zt^nhf=wo!d8$&ymVb?L(fAeu6#jvVQvy10rlMJ}0Fpm>R3bn&Q#7nbfaW^X|T~aGC z*X)t6P`x@{r*K?49%+gmuJLqtP?fS1_&!FVHl-FL5xuV+^p^xs*GUx>D4oIRCXD#L z6}a18gYx}FsWM12dSNkN%~ngXY_PO3JA12NCp=Ye5x8 zoGK4RTy%`Ybkz^)^jVe*slS?H)mqH-j9~OrM_^31kMLX7n)I7LRV;Ax2iMQ=g)v1V zscmp8)U@u9nu;6(*sVskD-IMq3g5%v~NZEYU~M^^TgAMwL8hF*~g^mWBvA_Ie$Ku1B$Nb5;Q@H3{L2 zmNFQN@)!6`1m%9;q;6fl67qWm-r%d0wW!{y)r3&iYQ@R{gL-F#t!u4JRz-`9S*Ks9 zpLv~qZ3(nN+>mY*nKOPY3}6CjJ$d*nHX2$XX=Vn2oR4(!CL9*dR6W88i{c9G0#BPS zXZy2~i}K}Td!WjdsSTJ~@<%?@?Y^W!Emd%1+J1NZJjNYOPyuxs9>ib5oe;g!tnVew z#f6~SH_8Q68oI68<2!(0;?#{8O3q91NWs4^I%g%fcgGtRe#7tDbw2+c6(_h&KG~4QK54#wFCpLE~ z0M+v3y-&cSB=ky-h|MSUnQ|DdL1JJ!a3~Mbi|5E0hi@qfGH(a%Etq+G4hrK&j#D zE+tBGjGIj=wc+(mWh`F$%LLVrAm>3=_A;% z6wT&SgJMnwLXE8D^%$qMdgp0*4{vT*H$_VHLgQ2{p^D9waGR_YNMWx=Y;c+(l^&R0 zCwG!P_}Q$4p6L>YT5f#>hAvaai4;}!)n{M6g@f|2gISL-218FyUuxTnqpI>kvdHTQgbz+Kds3TO~{-V_;mfjdVLjHqnInLMzL!# zet;2Xjm`3DA)0Z)Ia@hIYlt`h=qIrF6RWJ%B|oFG5|ib$Y7ewfuCGKCv>fX__veic zkw_Dv!T`5IwWShuW}HCT7!H3WdxABZUj2l@{0dEAbc{%?gSVzFXu)>Lo5ebTSUbb# zJE5^{O64wE;f2RqM4OG#*l&3KlFS(QA}ODd8kh1Yu31aHBz7qkh#$=|mVvdApXSsq zYcATolGoLHuW84T1!V^`*o5X-4pCMk~814el_Y3;Im4(KY?yKb+NKs}bf% zMSP;5G#A90pdF3#zu-Uu$zDwOitPN6Z$z`H4YGL%|12~QP;yO_&OKs6c^FuNloqP3 zm5B!8c`v`Q&Gh5}oGnC3Y*=X11Ff!PU8i$^#@gwb85w(s5Xht2esQM(@1vX+bs zrS4OGh?b}A6UmnG1I{3-Ct2WKV;~n+g~44jV>MEF!(YTG97NOj2_$6rK5B_)Yxp^H zar|P}zAc z*$(e;EJvg_DtKgpd^NTfZw9VCK0oN8vv!CNZ~~!mMj9YyWeRh6)FKF*K|(V2+Qex# z?fJ8T6UP%Xf!-u`PMf5L1#ihytp!r92H>+l7W!QpNzw>7<7{PIHli)wc4`jBaM%2I z@HX*citj^&y`P~t&$8QGlQlJd8^d1bs~#fMXdWw$qyj4%4Fw>)uaZJNRW5nG~;%e&={{XKJ$=?h2GH#GQm3% z;@BxKvh!Bf4S|@;{tmv)6l*JlCVV?&EPcLj4)FXgQd(vCyF#vvQ$tUatA7$oh3Yg5 za@#7LS35i-<&*+82^$Nz@-!Db#D47Bdf#%S1N?FJpEEc$PL(-Qzy|k#-c&0pN(KLB z@h;xU8`=bLJ8-uHxyaUdhiu*bUM*v3@?&$dVPc|xVItFy_Ah-wmnk`cZwEa;zkQ;z zdO9#zyo<`9d9P{(C4lE)WO7uf4Ao}gdR@n&w%DvM)9sGw0bg&fdW7J~c*<#F^Ip+za_*q=w`Q1e(l{_EXh50lUl{&JVBQPhLpQYYS zbu_T5`DP;qF<)zMSww@j*cGJRW9kRRWcx0a`N3Gf`k->$c8;%qnn@cXA(a8zAjxHj zg+*tPJ&~?(8p@O9G`s&&DhCRe1&b*ukBl17#?#LMHRjM`d+^uaoF?O~e)f=u^0HWi zYgu#gs8q4wYAO|t?v&P-RANEbryX62Ec`8N?2TT(cbZJL>f#{}lX^#7$I{5}0!77P zOBlsZ0y#N>ao)~f0^Js)RrK+vK^0Nsv+zH9x0-2`bAu|Ze$5Q}QR#0TgiU_Ohk$GnUOIuwQHTPFk6)&?ru+#m&}1a-*7#E^K|U^ z(2u686!U6+1Yb;PS0uH_bV6oM(523t8&(FjzbaJvYc4n%wX13b7#;M`j#hWEY1G~D zy>-~csULBWcalnDfon;i_jPwL+~cnI&-eCgv?hM^Fzofvg=TsA^s|$Bo2r(Mw==Ew zfLPiT?J;HcUZ=PAz#u6!(9PL!k}pUf4<^jj^ShJgdBd-)ptHl>}upxjMHRZOce>atOIcjW(M>oT(ZA$njD8K^k|YoNSUfB{}i2Q~M!aoM55%4EFsh z=UBx5^vZdv^WVOdC{3!@r%tVqZQE$pT42*Ku_ zw+s)h9*#9luf$-#ER za_$nI0VvHhur5W2Mu$}o;}>3hrrH5nq#Sq2n%Lp^GYh^JgXM*-BjFg=Y(0)6_?t!^ ziVa7y`;`dzfkom4s!Gly+Ka5CcZVGU=1w@QpC{2GQvyRUt>fliC{nQ6sml%!o!hq# zCOZSCjF0*qeq_-0GewSno;U5uCiWVl#`@VR$tZdtUiU6ET7%id)^14V!%t;?)=cIv z;vib*<7^ufV&it*dgAwWb%3h(PEXF$`q$A6XR2vuiz0yVVYUSz4b~GcJ6qi*i z@wlAmPOPJLCI$9-Qh~$tLc0l-yogRFQNpX<&$ASLRQOf=$_c#&;yzfBmFkkJstE4?Hgq7l1DReJWvT*ct-=O1L zdke%fN2?v>SuSx|yV`x|HA!v<-%89c2$c>99R^SLbrwk=L%EeSTbk=L%4=F~Fdbw! zuQ_jNKx;g9PBtk0t)bjzUkq0X#aXFUps2v;V;wCYCjb(rQVni7fZdtn47lzLB3b}#goSMEl6)=>@nO997C+^SM|x-CF&NI>jS!%0V&d^T;>$NGoaZ@hA_MkIj|$;nvdmbtBEq z{x&i!1>6-X!ZOny-luev**FX3vED*mF&ic3TP4ZeXs3`!_M?SbPONrZ6}{Z_vLyDJ zS9XnH?6M>W??+E_(wJFWLyEhT5L+|4f&j^np1Y~&^DQ5m__O)p{@z&M&5?8?RjLbA zi~G)h^&M&Bi9WOwK5JgCgHX|==h4%$&7*fZwdS0K(2J}nyJ|Hb6AV`>IW3SnLk`Y6 zwJ_OXx%XX_Wjqb5et(3NB3TIIZ^X!&8qa&w>>k&7$`)}a?a)#HYJ67YETU_{Q&ml* z-8CGY;U(H}npDBawNxS_^t84Fe)bgsyUk^d#BOFPmNcZQUtRJQgf)Hy)0Ka^M26%% zm6SEi$6%MHn8;7rrr{?dZL8N3%13#LkEzOcQnmK)@WWXS#A_z^Ll3!PlETXSpgtlA zq7Ymt{zRyOnREpTgTG`o#^OSl;y-rrV+^MKc$?;ZL>umo7ECVMmsIuInZ%)QVEOH6P0 zBbl@Y&gbvQ8IK}3On$&c(@R1+v4d)Y!7ln4<<41rgCASfx!5)t5sYmrP3QI)V;RJA znW?3H^CS7rII77lY(2 zQ2mD|l{gS}*tB_K4Sy|bRUFSze0U?bISe{SLB&uQ*t6L_iU)sdo|!GStekfmy0K0W zpN^jxv|92^rbn4K_d|0>q?Z%}VSG|b4#UDatf(>8Yw~S=G}ll!y;l6(Hed5&dFI=T zI=Nx7O0Midq9gGFud^|%V)1*p3cqwMg+V{UDK4O#?4Pc(ftRFyTF4r*D938KdQJ<4 z^^X~^6m{9fEV0Jqjmm^FlukAWal!kDEbO-=vTFQ9xJ^s`P#L4ga4Ot?Dh!u9Y=4Ax zbq2s%L}M3{r=X~7B_fu(3}GI~P#{27Ct<}Z2Dy)kjW54I$z=%t)i3~r2Fs?908(Cw zf1IK86pv=<#!&y$h-FG>{HEFee~n!XmHw_Km?A^?e`PG^R?z=fWwzV*$P94EBS&B) zgx2GO;`RO{b>5g z;}G}%w2+mu36)Bg5XEG_5+}1joPfZA>Q=`F7V=E25;gtx{9y9mdm2Xzu^{4-x+ZU zp(nBzK`2G|Z)6`t37e>&%adRj$$=3`ax3Ppd}7$|F)8?pm|Ss#eLw4K-CR+lYqPpQ6jmZh6mF&T;x}aAG zz1{WuVat`6Pm~r~)M1ex!!=tYY*J2hXKU`25-sUlrRGKkRG*|a`e%Z-0?_Fe35$Op zt0;{WxPMk-b$#_A#&+e~1jP8MCM8izIXQR(pDOi*OQ6itj|tjakak?S*%X_R;?Cr= z!3#Bt;@fNcy>nq>_CBhK;;#(4ee&rvN6RH1{W>-xHRbbX6O)iCz;6O;VaD6 z^wgxOwl+RtA>bOKe{Hg_DNstRVI+_g*{aEV4==##Atiom+O?|#w9fA=rWaHN_l~}1xL2dIDDpIRa*Lt!z&T}RSSw9 zS9|K$(3oCDkVgqf;CS|T`$Za;MM@++ctCRfXnAXd)y~z7@Xwn8GbQB@d0Ooog4z}_ z#o~I{gbB@D_C8a9m0FsAtyro#R*V4qIl*o?%SMi*~SjU8f=X^GixZ9Q0VVJADf zW`Z2~=g;T1bWf2i127Wdm)4mYC2RR1^1-s0`yOP^v6{Lc&7;rlNIU^#Yp`vebf{E? zkJSnQoKT2@@?=xwYf5LfdC;B&Z)P+^^|a4a`KT=acQJq%LU8=v$55y9e-E*#$Fp7Z zAz6EK{p-hHJKLJ!d!pYAiH7U!oqYA*ZV##Cn=;xPdopBUw0Z3susj(P6@HU^y?Nfw z$N2jdfb1#wQIB6D8GX}@B)K(9pq+`jOKijZa(MKYWE{h4Sg)>DPEW2juOw?(Mghuw zYePvMka8%J!zvFLFS^a|eYQ*Pk!^0z&#s{R=<;Cw1;B2MATR~_?A57(Ub%521J>6E z{a&_z=~cV`N_hx0C3`!;8{Lm$5ySkXK+lMV7JrvGDoztXjSVZ3K)q}Y=bxNVE~=wQ zh_Q_+6#DqUS&{i^CtNOUE@_S>=WAiBUF6VWQZ@@R;-y5jrK*xYZ&ED_0dQ0FmRq_d z@t67T8M3>!;?QSv+Cji@MzuWSRK&o7-c__?!T-m1(1c}_V>{RTaQ>GG_g$;>UIn!I zIOlJufgDQr^b0H1 z_`^rH?!Y9;SntHlkQodME}<%nP*lDBpTMKlxK+?7?j~N>^5zXm82= z<(3W+W977bs=M{Lf&6(6c1EDIl-c=Imlkp7lnMzDyn^5r1j!&s2EjZC z<|PrbkpVN191A4J0>L&2wn5Mff?g23hu}Q~Q>e}SJtB4R%`6(;1f_9x8JB5`Tu>7a z%^KPTY(1JhPN;p90a*Dv>ca9P&iNjFF?}3b}CZoCqapRxb+cZq@ah<;DNVi_JOxiNH}622=K@->1$Q2H#VkOb%Hc! zVZl1DgW%>*1LoD>mqT{G=j}<@!QR*4;fS1PxDeB;fB}=$9%EMgKUa9DVI(hbA^w&b zm4BBkgZ*#Vzc2AXs03$AnuWj@&h{hc3#1l2H z)8)$OJ+&WhUo8bL!A@#W*3!g-#6voYBm9`=Yy@YLF~b(sSZr@k?CVY2Iy5@}PKiO< z(V7iSzXs=MoNuz=qjue+zz@E?1`pJS^qJJxF)ncb>(al5D2>JAtA8<|p#C;(v3o)P E9~-}3y8r+H delta 12474 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 diff --git a/CPLD/MAXII/db/RAM2GS.sta_cmp.5_slow.tdb b/CPLD/MAXII/db/RAM2GS.sta_cmp.5_slow.tdb index a486dfafe5807d1ede06352a0525c695d8b32a75..fede3efc9d60518dd886381d444a60bc7a8fb7be 100644 GIT binary patch delta 44740 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 z zak0qA)ThiV_ZHw*<^`Mw{5GsG!f-_pLm?yUxJKhDGzP80U3iF+k4BneXRZXPfnvU1 zH+Ycw52?8Sv9OaePq>D@ahTl-)n&j6IZVuyW6g=&3jY(U$bBOh44oYGX+p#_1#}^F zI3ME)*bj0$ipBqcu1g+gkS?d`)jIV#w~vn4(z2X%G4y?N8z7`~YsoaSiElqFm15;5 zAQ_=W{gZJsyb%2_f#zBPfI&86qK%(#$@!tSZ-ONLW*O+wm$KrjKKM#NjC*x1UnEqr zkoQgoS@4UqLKDr*|CH$lu;oRlI zIxtP96T|x7o=>eZ-6IKEPBzX_a(_YB7d$zO9dUu`%!7rB=bXqcz{%3=k6tckqhPk? zkbxIie7e2YExCxMwJDU`P#>a*XMK#A-n=L*8pc@^Cz-`u0fqlGOculB*;&ZMRLzXhMMspfbu~T^uo=lWc(U z4#{Tpu(A$VIc(O?RUF>?cYD9K;CEfm zhC39t^PJs+w$Bpy@&o9pB9Umotn~|T4C@K+@;0PiUH0JzP8uOI}+0WQnmZSzFVC~em9zak#+YE05*N6Y_7KB$q| zCYemPwj;kP9MW_+VX;KlDP_x#u%A^>m3H9cudw1s`7N$ z=Zp{UgN|aE1mz^sN{zOkWMuC3wq!DnO=$*6*(6fQCk5GUQpqE~MSZ^{zlKsmqf9Sg zQGK`{NAGI$N`i)L&-l0GLefr3QGxqN&iezC+sMivfTAtnY`*#OH-qo=VaqiV(#aLJ zrYs#&S5d`003_ROzIUu1_8|AM1qV-icE!0^3N)$EK8{X@rVd!1Rj$o7kx_7bO_3Yv z%h@-2NUA;RtX!F$kn2>qDU$Hv04=%ad$8O1SobhO%>U76zn*(-Ta%RL!@haL+kKqx z!0oF&;+pf9rS{lZg%CIM!BBg4w$^-(#GWIb<_73y%bRdHBpslObdj=Z58mVqUqIW+ z`nz6l2!U*w8P0Y+@OK9cpv5N762SiKX>ZFOrYsuD!BDwW`>&^;=EWTh#?hCU&#&)Ai#p}X9;U6kzU@ST z0;*%o5#khLW%fB+BKqo6Vr`dugUfb!sB~Uy;m`&bwvGT5_sU;juh_C2sC8kx3Q)zX z9>E}PmMO(_l;!U_RnIhb=5Nt;;D2&tJ)f7NC5DGT9&A4_jfmG+Dt$LPVt9KFHg3P_ zk>vM8-}gM6xf3*f51z@1;I#HvC77mg7I-D*#^%P}=Hz7U;*mm9_wgDV4Pdn z3fsW%v=ecR1YVSi%{RyXoCCDfo-eU*y{X#q6o%RqoHJ3`JdLnymiHoRuCt09Nj224 zVD?}oaf*JsSqx4jt%YYgLTjk*!L9w3$%Vx3weVC&)Hmwg;Gf-<8ALf zBk3!ZFND?G)CbJ11JI4FT(!Zc3lueNZH!;Hnp5jHj_<;#+MLfqzZ%wOp+rsIYav4| z(Q_eH4e7BEO$pO-h78TrY(YgsY65PFR%QNN@QLj0D)c$%=`!;<=V@p1S* z$XP#_8cbe47#}oVj~pA6SU(sZ)L9E1Pc&T*9ZOVL4;@MTTYNoqIFYj!+MOun!*Sg| ZP9+j{12nq4En;YQ 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 literal 2650 zcmV-g3Z?a|4*>uG0001Zob8=&Z_`K+#^3WPth_(sapEMF3R2q?t_K`kqB~APrz#}| zA{wVSE(g--KKt28X+j(P>@)awvl8zheiZnQx&WiH0t%vu5;NX4w`RsBr%ZlaMGA)AQ^JO`j zJbjbqY4$p81@C5QUcPhrpw(V|Vf!n=Y+8=4b@QdSvt^Oy*B>iCSY6t~Y;-(6Xs`ac z{(Af7`#bGLz}{&#D@N&L`k67>0Y*oQzYkya{$fmafyqCgj|R_99y2CmlTmi4QTBkz zN8?v9Ww4J83g^fHuy{1d-oFycWP%)dIL6>=7lY<_?A>_xtKn@{GHStOoveuOfJw3Cfqo=^sna>{6a z$c1yHoN5Vi^Bp1S3`fULpHLQ|aE=bi5ELQl9MXd{P!8!xB%G%w!;@bri%2-f^J%G_ zlYFvFDZ5BHhokYk*_(p0iNtd(_PXQwEWWvT~Hii;Ho3L77ETT3vgWyLKd|YGdQ}^A613UY>C7L^5JG$_~;{ zb>&B95+iPIx=27}hQN)oYm~lm&g>%fR9ht{$S%^)a5Oy4D2qnYAuk+Br;Kl- z^aH(XbPaYR-T_EMtC=UK3CXCMdG6rXMKU@*8c}CcB%xC2+z4a10g;EZaCg&HFFndr&N9^v_Ln>l(j~+Y> z4OIu1p2;pmPCKqAjJSG2A4y0NkorhNTZXZL+pn;6I7~hBa99wJeBMH6u z`81+7_P$wF;YI$ID#!Jaj;i&}NwaUX4RM=B-=Ll#T(U5LI_U&|P$a0EMQFE)b$n^w9-#6l8BiAVHz)qzj}d6s>eIK`6*xx5eQ5Q&1@GW(L5Jd&u{ae0AqL#SwL3XMI zq7;f=y+D>i*{m0cRA{>O0-*{;yIvqx!T0M0f)!-LULaLLckBfM6>Q61AWgyd>;=*k z%BHk7l4G1JK6x4t~2t$Dl2;?wm zZa^T1p{ndc5Q8QM1acT_4wBa>gfV!8Kp>96GXw%@3?3p7$YW?I0)bG*`sPJ`svw%d z^9cgk3gTH)54tGBP~cwa8?GGBc9+WKf`-_>IUv95|diO}Skqdq-n;x%fFbC~j z&icPSxY@(^z=NC2&m#{e-#6{edT_IgdgQ_0_f31V9_;z3;!Xd44?MW(0_i-sdhe{L z3Q^Z~KF;#uYI4yEva9*o>&3;gdbZBZw{QHm^&91fuIAa+KxOmu>-RQ4e&_oKTi0J_ z^QRi4cT60#x2|iwt=?S}JJ$(XCAIT%6X&I7Qf^PltqFl^!)OFs)hBWYc0JXt3jlUJ z)u{`J`{SuiMakWos*5%I~OIF8$^_)zwaxT~7_% zuc>}rg0?@Nirnvgq79XHJyo0JTFMeUiRjw2ufa7{S0>sYPj%gA3F_q6a^~q?ed^@b za-4D>(IY=jGadJFN_e+x~Y*f?XWJw<&_##%_K27C&HFCfYUH zVCeOu)2m*j&3S6zM=~9`PkhwT-?FFNANp$nv;FZ@?7rR>`>~yO-LI*RA1R``b>Ez) z`hKh_?R+-psL+oyzq&BkoTn1Cr+y^U-y3?}&%QePTL!nBJ1X>}+}d-0K8yX>&3o?a z80sX|a$(wiX)N+%JCEIaN(}>B-um3Duj5BVkKLcoVn1l4uKO&Z>&f}deQh%F10G4- zuPOCpS+0(_=SypEAKo8Nsgs!o^C>?fy85QR2G^7yodNetD)eLPQ|B@bCJBB7baj5* zV3_ixl;A!|P}hAdd&+&qQ+>zKk9zlar-<&0lWM72)`|Q5TwNcv+(C1nBC79#vfM*) zufE!6jO~x7YM&3UThM~>KczxS!1k!4wZ?$^}7kF#v; z(-19r%8x>l`Yz!H^C>@?z3OKkH5k$T@Ko$xed^A<a=-J1e#CP% zWYnCe)KAs0oT0lHpSp={`PApW=AtgTTCSqI&pXxkB3aH6+@Jbt|H9e+cuM_Oa~h23 zp4432XXt8##PXVQ?x@fY@u_ctYtB>ZCuv#^=WuELr*6M;{TE`ZFBNCg^N08T I1Czh&p|yl7DF6Tf diff --git a/CPLD/MAXII/output_files/RAM2GS.asm.rpt b/CPLD/MAXII/output_files/RAM2GS.asm.rpt index 8461117..4020328 100644 --- a/CPLD/MAXII/output_files/RAM2GS.asm.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.asm.rpt @@ -1,91 +1,91 @@ -Assembler report for RAM2GS -Wed Aug 16 03:23:18 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Assembler Summary - 3. Assembler Settings - 4. Assembler Generated Files - 5. Assembler Device Options: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof - 6. Assembler Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------+ -; Assembler Summary ; -+-----------------------+---------------------------------------+ -; Assembler Status ; Successful - Wed Aug 16 03:23:18 2023 ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX II ; -; Device ; EPM240T100C5 ; -+-----------------------+---------------------------------------+ - - -+----------------------------------+ -; Assembler Settings ; -+--------+---------+---------------+ -; Option ; Setting ; Default Value ; -+--------+---------+---------------+ - - -+------------------------------------------------------------------------+ -; Assembler Generated Files ; -+------------------------------------------------------------------------+ -; File Name ; -+------------------------------------------------------------------------+ -; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof ; -+------------------------------------------------------------------------+ - - -+--------------------------------------------------------------------------------------------------+ -; Assembler Device Options: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof ; -+----------------+---------------------------------------------------------------------------------+ -; Option ; Setting ; -+----------------+---------------------------------------------------------------------------------+ -; JTAG usercode ; 0x00172E3B ; -; Checksum ; 0x0017312B ; -+----------------+---------------------------------------------------------------------------------+ - - -+--------------------+ -; Assembler Messages ; -+--------------------+ -Info: ******************************************************************* -Info: Running Quartus Prime Assembler - Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Wed Aug 16 03:23:18 2023 -Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS -Info (115031): Writing out detailed assembly data for power analysis -Info (115030): Assembler is generating device programming files -Info: Quartus Prime Assembler was successful. 0 errors, 0 warnings - Info: Peak virtual memory: 4663 megabytes - Info: Processing ended: Wed Aug 16 03:23:19 2023 - Info: Elapsed time: 00:00:01 - Info: Total CPU time (on all processors): 00:00:00 - - +Assembler report for RAM2GS +Sat Aug 19 22:00:16 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Assembler Summary + 3. Assembler Settings + 4. Assembler Generated Files + 5. Assembler Device Options: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof + 6. Assembler Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------+ +; Assembler Summary ; ++-----------------------+---------------------------------------+ +; Assembler Status ; Successful - Sat Aug 19 22:00:16 2023 ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX II ; +; Device ; EPM240T100C5 ; ++-----------------------+---------------------------------------+ + + ++----------------------------------+ +; Assembler Settings ; ++--------+---------+---------------+ +; Option ; Setting ; Default Value ; ++--------+---------+---------------+ + + ++-----------------------------------------------------------+ +; Assembler Generated Files ; ++-----------------------------------------------------------+ +; File Name ; ++-----------------------------------------------------------+ +; //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof ; ++-----------------------------------------------------------+ + + ++-------------------------------------------------------------------------------------+ +; Assembler Device Options: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pof ; ++----------------+--------------------------------------------------------------------+ +; Option ; Setting ; ++----------------+--------------------------------------------------------------------+ +; JTAG usercode ; 0x00172E3B ; +; Checksum ; 0x0017312B ; ++----------------+--------------------------------------------------------------------+ + + ++--------------------+ +; Assembler Messages ; ++--------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Assembler + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 19 22:00:13 2023 +Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS +Info (115031): Writing out detailed assembly data for power analysis +Info (115030): Assembler is generating device programming files +Info: Quartus Prime Assembler was successful. 0 errors, 0 warnings + Info: Peak virtual memory: 4665 megabytes + Info: Processing ended: Sat Aug 19 22:00:17 2023 + Info: Elapsed time: 00:00:04 + Info: Total CPU time (on all processors): 00:00:01 + + diff --git a/CPLD/MAXII/output_files/RAM2GS.done b/CPLD/MAXII/output_files/RAM2GS.done index c11d9e5..8bb0f2f 100644 --- a/CPLD/MAXII/output_files/RAM2GS.done +++ b/CPLD/MAXII/output_files/RAM2GS.done @@ -1 +1 @@ -Wed Aug 16 03:23:21 2023 +Sat Aug 19 22:00:45 2023 diff --git a/CPLD/MAXII/output_files/RAM2GS.fit.rpt b/CPLD/MAXII/output_files/RAM2GS.fit.rpt index 44a1bda..181adba 100644 --- a/CPLD/MAXII/output_files/RAM2GS.fit.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.fit.rpt @@ -1,760 +1,760 @@ -Fitter report for RAM2GS -Wed Aug 16 03:23:17 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Fitter Summary - 3. Fitter Settings - 4. Parallel Compilation - 5. Pin-Out File - 6. Fitter Resource Usage Summary - 7. Input Pins - 8. Output Pins - 9. Bidir Pins - 10. I/O Bank Usage - 11. All Package Pins - 12. Output Pin Default Load For Reported TCO - 13. Fitter Resource Utilization by Entity - 14. Delay Chain Summary - 15. Control Signals - 16. Global & Other Fast Signals - 17. Routing Usage Summary - 18. LAB Logic Elements - 19. LAB-wide Signals - 20. LAB Signals Sourced - 21. LAB Signals Sourced Out - 22. LAB Distinct Inputs - 23. Fitter Device Options - 24. Estimated Delay Added for Hold Timing Summary - 25. Estimated Delay Added for Hold Timing Details - 26. Fitter Messages - 27. Fitter Suppressed Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------------+ -; Fitter Summary ; -+-----------------------+---------------------------------------------+ -; Fitter Status ; Successful - Wed Aug 16 03:23:17 2023 ; -; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX II ; -; Device ; EPM240T100C5 ; -; Timing Models ; Final ; -; Total logic elements ; 175 / 240 ( 73 % ) ; -; Total pins ; 63 / 80 ( 79 % ) ; -; Total virtual pins ; 0 ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -+-----------------------+---------------------------------------------+ - - -+--------------------------------------------------------------------------------------------------------------------------------------+ -; Fitter Settings ; -+--------------------------------------------------------------------+--------------------------------+--------------------------------+ -; Option ; Setting ; Default Value ; -+--------------------------------------------------------------------+--------------------------------+--------------------------------+ -; Device ; EPM240T100C5 ; ; -; Maximum processors allowed for parallel compilation ; 4 ; ; -; Minimum Core Junction Temperature ; 0 ; ; -; Maximum Core Junction Temperature ; 85 ; ; -; Fit Attempts to Skip ; 0 ; 0.0 ; -; Use smart compilation ; Off ; Off ; -; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; -; Enable compact report table ; Off ; Off ; -; Router Timing Optimization Level ; Normal ; Normal ; -; Placement Effort Multiplier ; 1.0 ; 1.0 ; -; Router Effort Multiplier ; 1.0 ; 1.0 ; -; Always Enable Input Buffers ; Off ; Off ; -; Optimize Hold Timing ; IO Paths and Minimum TPD Paths ; IO Paths and Minimum TPD Paths ; -; Optimize Multi-Corner Timing ; Off ; Off ; -; Guarantee I/O Paths Have Zero Hold Time at Fast Corner ; On ; On ; -; Power Optimization During Fitting ; Normal compilation ; Normal compilation ; -; Optimize Timing ; Normal compilation ; Normal compilation ; -; Optimize Timing for ECOs ; Off ; Off ; -; Regenerate Full Fit Report During ECO Compiles ; Off ; Off ; -; Optimize IOC Register Placement for Timing ; Normal ; Normal ; -; Limit to One Fitting Attempt ; Off ; Off ; -; Final Placement Optimizations ; Automatically ; Automatically ; -; Fitter Aggressive Routability Optimizations ; Automatically ; Automatically ; -; Fitter Initial Placement Seed ; 1 ; 1 ; -; Periphery to Core Placement and Routing Optimization ; Off ; Off ; -; Slow Slew Rate ; Off ; Off ; -; PCI I/O ; Off ; Off ; -; Weak Pull-Up Resistor ; Off ; Off ; -; Enable Bus-Hold Circuitry ; Off ; Off ; -; Auto Delay Chains ; On ; On ; -; Auto Delay Chains for High Fanout Input Pins ; Off ; Off ; -; Perform Physical Synthesis for Combinational Logic for Performance ; Off ; Off ; -; Perform Register Duplication for Performance ; Off ; Off ; -; Perform Register Retiming for Performance ; Off ; Off ; -; Perform Asynchronous Signal Pipelining ; Off ; Off ; -; Fitter Effort ; Auto Fit ; Auto Fit ; -; Physical Synthesis Effort Level ; Normal ; Normal ; -; Logic Cell Insertion - Logic Duplication ; Auto ; Auto ; -; Auto Register Duplication ; Auto ; Auto ; -; Auto Global Clock ; On ; On ; -; Auto Global Register Control Signals ; On ; On ; -; Force Fitter to Avoid Periphery Placement Warnings ; Off ; Off ; -+--------------------------------------------------------------------+--------------------------------+--------------------------------+ - - -+------------------------------------------+ -; Parallel Compilation ; -+----------------------------+-------------+ -; Processors ; Number ; -+----------------------------+-------------+ -; Number detected on machine ; 8 ; -; Maximum allowed ; 4 ; -; ; ; -; Average used ; 1.04 ; -; Maximum used ; 4 ; -; ; ; -; Usage by Processor ; % Time Used ; -; Processor 1 ; 100.0% ; -; Processor 2 ; 1.6% ; -; Processors 3-4 ; 1.3% ; -+----------------------------+-------------+ - - -+--------------+ -; Pin-Out File ; -+--------------+ -The pin-out file can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pin. - - -+---------------------------------------------------------------------+ -; Fitter Resource Usage Summary ; -+---------------------------------------------+-----------------------+ -; Resource ; Usage ; -+---------------------------------------------+-----------------------+ -; Total logic elements ; 175 / 240 ( 73 % ) ; -; -- Combinational with no register ; 77 ; -; -- Register only ; 21 ; -; -- Combinational with a register ; 77 ; -; ; ; -; Logic element usage by number of LUT inputs ; ; -; -- 4 input functions ; 57 ; -; -- 3 input functions ; 46 ; -; -- 2 input functions ; 42 ; -; -- 1 input functions ; 8 ; -; -- 0 input functions ; 1 ; -; ; ; -; Logic elements by mode ; ; -; -- normal mode ; 159 ; -; -- arithmetic mode ; 16 ; -; -- qfbk mode ; 8 ; -; -- register cascade mode ; 0 ; -; -- synchronous clear/load mode ; 27 ; -; -- asynchronous clear/load mode ; 0 ; -; ; ; -; Total registers ; 98 / 240 ( 41 % ) ; -; Total LABs ; 21 / 24 ( 88 % ) ; -; Logic elements in carry chains ; 17 ; -; Virtual pins ; 0 ; -; I/O pins ; 63 / 80 ( 79 % ) ; -; -- Clock pins ; 2 / 4 ( 50 % ) ; -; ; ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -; ; ; -; -- Total Fixed Point DSP Blocks ; 0 ; -; -- Total Floating Point DSP Blocks ; 0 ; -; ; ; -; Global signals ; 4 ; -; -- Global clocks ; 4 / 4 ( 100 % ) ; -; JTAGs ; 0 / 1 ( 0 % ) ; -; Average interconnect usage (total/H/V) ; 19.4% / 20.4% / 18.3% ; -; Peak interconnect usage (total/H/V) ; 19.4% / 20.4% / 18.3% ; -; Maximum fan-out ; 55 ; -; Highest non-global fan-out ; 41 ; -; Total fan-out ; 661 ; -; Average fan-out ; 2.77 ; -+---------------------------------------------+-----------------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Input Pins ; -+---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; PCI I/O Enabled ; Bus Hold ; Weak Pull Up ; I/O Standard ; Location assigned by ; Slow Slew Rate ; -+---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ -; CROW[0] ; 54 ; 2 ; 8 ; 1 ; 2 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; CROW[1] ; 55 ; 2 ; 8 ; 1 ; 1 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[0] ; 42 ; 1 ; 5 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[1] ; 36 ; 1 ; 4 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[2] ; 35 ; 1 ; 3 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[3] ; 37 ; 1 ; 4 ; 0 ; 1 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[4] ; 39 ; 1 ; 5 ; 0 ; 3 ; 7 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[5] ; 38 ; 1 ; 4 ; 0 ; 0 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[6] ; 41 ; 1 ; 5 ; 0 ; 1 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[7] ; 40 ; 1 ; 5 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[0] ; 49 ; 1 ; 7 ; 0 ; 2 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[1] ; 51 ; 1 ; 7 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[2] ; 50 ; 1 ; 7 ; 0 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[3] ; 71 ; 2 ; 8 ; 4 ; 3 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[4] ; 70 ; 2 ; 8 ; 4 ; 4 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[5] ; 69 ; 2 ; 8 ; 3 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[6] ; 72 ; 2 ; 8 ; 4 ; 2 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[7] ; 68 ; 2 ; 8 ; 3 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[8] ; 73 ; 2 ; 8 ; 4 ; 1 ; 2 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[9] ; 74 ; 2 ; 8 ; 4 ; 0 ; 4 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; PHI2 ; 52 ; 2 ; 8 ; 1 ; 4 ; 22 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; RCLK ; 12 ; 1 ; 1 ; 3 ; 3 ; 55 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; nCCAS ; 53 ; 2 ; 8 ; 1 ; 3 ; 11 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; nCRAS ; 67 ; 2 ; 8 ; 3 ; 2 ; 16 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; nFWE ; 48 ; 1 ; 6 ; 0 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -+---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Output Pins ; -+---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; -+---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; Dout[0] ; 33 ; 1 ; 3 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[1] ; 57 ; 2 ; 8 ; 2 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[2] ; 56 ; 2 ; 8 ; 1 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[3] ; 47 ; 1 ; 6 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[4] ; 44 ; 1 ; 6 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[5] ; 28 ; 1 ; 2 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[6] ; 34 ; 1 ; 3 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[7] ; 43 ; 1 ; 6 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; LED ; 88 ; 2 ; 5 ; 5 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVTTL ; 16mA ; no ; User ; 10 pF ; - ; - ; -; RA[0] ; 18 ; 1 ; 1 ; 1 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RA[10] ; 16 ; 1 ; 1 ; 2 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[11] ; 7 ; 1 ; 1 ; 3 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[1] ; 20 ; 1 ; 1 ; 1 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[2] ; 30 ; 1 ; 3 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[3] ; 27 ; 1 ; 2 ; 0 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[4] ; 26 ; 1 ; 2 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[5] ; 29 ; 1 ; 2 ; 0 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[6] ; 21 ; 1 ; 1 ; 1 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RA[7] ; 19 ; 1 ; 1 ; 1 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RA[8] ; 17 ; 1 ; 1 ; 2 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[9] ; 15 ; 1 ; 1 ; 2 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RBA[0] ; 5 ; 1 ; 1 ; 4 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RBA[1] ; 14 ; 1 ; 1 ; 2 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RCKE ; 8 ; 1 ; 1 ; 3 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RDQMH ; 2 ; 1 ; 1 ; 4 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RDQML ; 98 ; 2 ; 2 ; 5 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; nRCAS ; 4 ; 1 ; 1 ; 4 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; nRCS ; 3 ; 1 ; 1 ; 4 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; nRRAS ; 6 ; 1 ; 1 ; 3 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; nRWE ; 100 ; 2 ; 2 ; 5 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -+---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Bidir Pins ; -+-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; -+-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; RD[0] ; 96 ; 2 ; 3 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[1] ; 90 ; 2 ; 4 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; RD~16 ; - ; -; RD[2] ; 89 ; 2 ; 4 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[3] ; 99 ; 2 ; 2 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[4] ; 92 ; 2 ; 3 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[5] ; 91 ; 2 ; 4 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; RD~16 ; - ; -; RD[6] ; 95 ; 2 ; 3 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[7] ; 97 ; 2 ; 3 ; 5 ; 3 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -+-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ - - -+-------------------------------------------------------------+ -; I/O Bank Usage ; -+----------+-------------------+---------------+--------------+ -; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; -+----------+-------------------+---------------+--------------+ -; 1 ; 38 / 38 ( 100 % ) ; 3.3V ; -- ; -; 2 ; 25 / 42 ( 60 % ) ; 3.3V ; -- ; -+----------+-------------------+---------------+--------------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------------+ -; All Package Pins ; -+----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ -; Location ; Pad Number ; I/O Bank ; Pin Name/Usage ; Dir. ; I/O Standard ; Voltage ; I/O Type ; User Assignment ; Bus Hold ; Weak Pull Up ; -+----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ -; 1 ; 83 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 2 ; 0 ; 1 ; RDQMH ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 3 ; 1 ; 1 ; nRCS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 4 ; 2 ; 1 ; nRCAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 5 ; 3 ; 1 ; RBA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 6 ; 4 ; 1 ; nRRAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 7 ; 5 ; 1 ; RA[11] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 8 ; 6 ; 1 ; RCKE ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 9 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 10 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; -; 11 ; ; ; GNDINT ; gnd ; ; ; -- ; ; -- ; -- ; -; 12 ; 7 ; 1 ; RCLK ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 13 ; ; ; VCCINT ; power ; ; 2.5V/3.3V ; -- ; ; -- ; -- ; -; 14 ; 8 ; 1 ; RBA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 15 ; 9 ; 1 ; RA[9] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 16 ; 10 ; 1 ; RA[10] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 17 ; 11 ; 1 ; RA[8] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 18 ; 12 ; 1 ; RA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 19 ; 13 ; 1 ; RA[7] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 20 ; 14 ; 1 ; RA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 21 ; 15 ; 1 ; RA[6] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 22 ; 16 ; 1 ; #TMS ; input ; ; ; -- ; ; -- ; -- ; -; 23 ; 17 ; 1 ; #TDI ; input ; ; ; -- ; ; -- ; -- ; -; 24 ; 18 ; 1 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; -; 25 ; 19 ; 1 ; #TDO ; output ; ; ; -- ; ; -- ; -- ; -; 26 ; 20 ; 1 ; RA[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 27 ; 21 ; 1 ; RA[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 28 ; 22 ; 1 ; Dout[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 29 ; 23 ; 1 ; RA[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 30 ; 24 ; 1 ; RA[2] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 31 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 32 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; -; 33 ; 25 ; 1 ; Dout[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 34 ; 26 ; 1 ; Dout[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 35 ; 27 ; 1 ; Din[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 36 ; 28 ; 1 ; Din[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 37 ; 29 ; 1 ; Din[3] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 38 ; 30 ; 1 ; Din[5] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 39 ; 31 ; 1 ; Din[4] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 40 ; 32 ; 1 ; Din[7] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 41 ; 33 ; 1 ; Din[6] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 42 ; 34 ; 1 ; Din[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 43 ; 35 ; 1 ; Dout[7] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 44 ; 36 ; 1 ; Dout[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 45 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 46 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; -; 47 ; 37 ; 1 ; Dout[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 48 ; 38 ; 1 ; nFWE ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 49 ; 39 ; 1 ; MAin[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 50 ; 40 ; 1 ; MAin[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 51 ; 41 ; 1 ; MAin[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 52 ; 42 ; 2 ; PHI2 ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 53 ; 43 ; 2 ; nCCAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 54 ; 44 ; 2 ; CROW[0] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 55 ; 45 ; 2 ; CROW[1] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 56 ; 46 ; 2 ; Dout[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 57 ; 47 ; 2 ; Dout[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 58 ; 48 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 59 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 60 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; -; 61 ; 49 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 62 ; 50 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 63 ; ; ; VCCINT ; power ; ; 2.5V/3.3V ; -- ; ; -- ; -- ; -; 64 ; 51 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 65 ; ; ; GNDINT ; gnd ; ; ; -- ; ; -- ; -- ; -; 66 ; 52 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 67 ; 53 ; 2 ; nCRAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 68 ; 54 ; 2 ; MAin[7] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 69 ; 55 ; 2 ; MAin[5] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 70 ; 56 ; 2 ; MAin[4] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 71 ; 57 ; 2 ; MAin[3] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 72 ; 58 ; 2 ; MAin[6] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 73 ; 59 ; 2 ; MAin[8] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 74 ; 60 ; 2 ; MAin[9] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 75 ; 61 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 76 ; 62 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 77 ; 63 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 78 ; 64 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 79 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; -; 80 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 81 ; 65 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 82 ; 66 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 83 ; 67 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 84 ; 68 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 85 ; 69 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 86 ; 70 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 87 ; 71 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 88 ; 72 ; 2 ; LED ; output ; 3.3-V LVTTL ; ; Column I/O ; Y ; no ; Off ; -; 89 ; 73 ; 2 ; RD[2] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 90 ; 74 ; 2 ; RD[1] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 91 ; 75 ; 2 ; RD[5] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 92 ; 76 ; 2 ; RD[4] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 93 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; -; 94 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 95 ; 77 ; 2 ; RD[6] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 96 ; 78 ; 2 ; RD[0] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 97 ; 79 ; 2 ; RD[7] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 98 ; 80 ; 2 ; RDQML ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 99 ; 81 ; 2 ; RD[3] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 100 ; 82 ; 2 ; nRWE ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -+----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ -Note: Pin directions (input, output or bidir) are based on device operating in user mode. - - -+-------------------------------------------------------------+ -; Output Pin Default Load For Reported TCO ; -+----------------------------+-------+------------------------+ -; I/O Standard ; Load ; Termination Resistance ; -+----------------------------+-------+------------------------+ -; 3.3-V LVTTL ; 10 pF ; Not Available ; -; 3.3-V LVCMOS ; 10 pF ; Not Available ; -; 2.5 V ; 10 pF ; Not Available ; -; 1.8 V ; 10 pF ; Not Available ; -; 1.5 V ; 10 pF ; Not Available ; -; 3.3V Schmitt Trigger Input ; 10 pF ; Not Available ; -; 2.5V Schmitt Trigger Input ; 10 pF ; Not Available ; -+----------------------------+-------+------------------------+ -Note: User assignments will override these defaults. The user specified values are listed in the Output Pins and Bidir Pins tables. - - -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Fitter Resource Utilization by Entity ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; |RAM2GS ; 175 (175) ; 98 ; 1 ; 63 ; 0 ; 77 (77) ; 21 (21) ; 77 (77) ; 17 (17) ; 8 (8) ; |RAM2GS ; RAM2GS ; work ; -; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; -; |UFM_altufm_none_unv:UFM_altufm_none_unv_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component ; UFM_altufm_none_unv ; work ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. - - -+------------------------------------+ -; Delay Chain Summary ; -+---------+----------+---------------+ -; Name ; Pin Type ; Pad to Core 0 ; -+---------+----------+---------------+ -; Dout[0] ; Output ; -- ; -; Dout[1] ; Output ; -- ; -; Dout[2] ; Output ; -- ; -; Dout[3] ; Output ; -- ; -; Dout[4] ; Output ; -- ; -; Dout[5] ; Output ; -- ; -; Dout[6] ; Output ; -- ; -; Dout[7] ; Output ; -- ; -; LED ; Output ; -- ; -; RBA[0] ; Output ; -- ; -; RBA[1] ; Output ; -- ; -; RA[0] ; Output ; -- ; -; RA[1] ; Output ; -- ; -; RA[2] ; Output ; -- ; -; RA[3] ; Output ; -- ; -; RA[4] ; Output ; -- ; -; RA[5] ; Output ; -- ; -; RA[6] ; Output ; -- ; -; RA[7] ; Output ; -- ; -; RA[8] ; Output ; -- ; -; RA[9] ; Output ; -- ; -; RA[10] ; Output ; -- ; -; RA[11] ; Output ; -- ; -; nRCS ; Output ; -- ; -; RCKE ; Output ; -- ; -; nRWE ; Output ; -- ; -; nRRAS ; Output ; -- ; -; nRCAS ; Output ; -- ; -; RDQMH ; Output ; -- ; -; RDQML ; Output ; -- ; -; RD[0] ; Bidir ; (0) ; -; RD[1] ; Bidir ; (0) ; -; RD[2] ; Bidir ; (0) ; -; RD[3] ; Bidir ; (0) ; -; RD[4] ; Bidir ; (0) ; -; RD[5] ; Bidir ; (0) ; -; RD[6] ; Bidir ; (0) ; -; RD[7] ; Bidir ; (0) ; -; nCRAS ; Input ; (0) ; -; MAin[0] ; Input ; (0) ; -; MAin[1] ; Input ; (0) ; -; MAin[2] ; Input ; (0) ; -; MAin[3] ; Input ; (0) ; -; MAin[4] ; Input ; (0) ; -; MAin[5] ; Input ; (0) ; -; MAin[6] ; Input ; (0) ; -; MAin[7] ; Input ; (0) ; -; MAin[8] ; Input ; (0) ; -; MAin[9] ; Input ; (0) ; -; RCLK ; Input ; (0) ; -; nCCAS ; Input ; (0) ; -; CROW[0] ; Input ; (1) ; -; CROW[1] ; Input ; (1) ; -; PHI2 ; Input ; (0) ; -; Din[6] ; Input ; (1) ; -; nFWE ; Input ; (1) ; -; Din[0] ; Input ; (1) ; -; Din[7] ; Input ; (1) ; -; Din[1] ; Input ; (1) ; -; Din[4] ; Input ; (1) ; -; Din[2] ; Input ; (1) ; -; Din[3] ; Input ; (1) ; -; Din[5] ; Input ; (1) ; -+---------+----------+---------------+ - - -+-----------------------------------------------------------------------------------------------------------------+ -; Control Signals ; -+------------+-------------+---------+-------------------------+--------+----------------------+------------------+ -; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; -+------------+-------------+---------+-------------------------+--------+----------------------+------------------+ -; CmdDRDIn~1 ; LC_X4_Y1_N0 ; 4 ; Clock enable ; no ; -- ; -- ; -; CmdLEDEN~1 ; LC_X4_Y1_N8 ; 3 ; Clock enable ; no ; -- ; -- ; -; DRDIn~1 ; LC_X3_Y1_N4 ; 2 ; Clock enable ; no ; -- ; -- ; -; PHI2 ; PIN_52 ; 22 ; Clock ; yes ; Global Clock ; GCLK3 ; -; RCLK ; PIN_12 ; 55 ; Clock ; yes ; Global Clock ; GCLK0 ; -; RD~16 ; LC_X3_Y4_N0 ; 8 ; Output enable ; no ; -- ; -- ; -; Ready ; LC_X3_Y2_N8 ; 40 ; Sync. clear, Sync. load ; no ; -- ; -- ; -; always8~6 ; LC_X4_Y2_N7 ; 3 ; Clock enable ; no ; -- ; -- ; -; nCCAS ; PIN_53 ; 11 ; Clock ; yes ; Global Clock ; GCLK1 ; -; nCRAS ; PIN_67 ; 16 ; Clock ; yes ; Global Clock ; GCLK2 ; -+------------+-------------+---------+-------------------------+--------+----------------------+------------------+ - - -+----------------------------------------------------------------------+ -; Global & Other Fast Signals ; -+-------+----------+---------+----------------------+------------------+ -; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; -+-------+----------+---------+----------------------+------------------+ -; PHI2 ; PIN_52 ; 22 ; Global Clock ; GCLK3 ; -; RCLK ; PIN_12 ; 55 ; Global Clock ; GCLK0 ; -; nCCAS ; PIN_53 ; 11 ; Global Clock ; GCLK1 ; -; nCRAS ; PIN_67 ; 16 ; Global Clock ; GCLK2 ; -+-------+----------+---------+----------------------+------------------+ - - -+--------------------------------------------+ -; Routing Usage Summary ; -+-----------------------+--------------------+ -; Routing Resource Type ; Usage ; -+-----------------------+--------------------+ -; C4s ; 120 / 784 ( 15 % ) ; -; Direct links ; 34 / 888 ( 4 % ) ; -; Global clocks ; 4 / 4 ( 100 % ) ; -; LAB clocks ; 12 / 32 ( 38 % ) ; -; LUT chains ; 11 / 216 ( 5 % ) ; -; Local interconnects ; 232 / 888 ( 26 % ) ; -; R4s ; 117 / 704 ( 17 % ) ; -+-----------------------+--------------------+ - - -+---------------------------------------------------------------------------+ -; LAB Logic Elements ; -+--------------------------------------------+------------------------------+ -; Number of Logic Elements (Average = 8.33) ; Number of LABs (Total = 21) ; -+--------------------------------------------+------------------------------+ -; 1 ; 0 ; -; 2 ; 3 ; -; 3 ; 0 ; -; 4 ; 0 ; -; 5 ; 1 ; -; 6 ; 0 ; -; 7 ; 2 ; -; 8 ; 0 ; -; 9 ; 0 ; -; 10 ; 15 ; -+--------------------------------------------+------------------------------+ - - -+-------------------------------------------------------------------+ -; LAB-wide Signals ; -+------------------------------------+------------------------------+ -; LAB-wide Signals (Average = 1.24) ; Number of LABs (Total = 21) ; -+------------------------------------+------------------------------+ -; 1 Clock ; 12 ; -; 1 Clock enable ; 3 ; -; 1 Sync. clear ; 3 ; -; 2 Clocks ; 8 ; -+------------------------------------+------------------------------+ - - -+----------------------------------------------------------------------------+ -; LAB Signals Sourced ; -+---------------------------------------------+------------------------------+ -; Number of Signals Sourced (Average = 8.57) ; Number of LABs (Total = 21) ; -+---------------------------------------------+------------------------------+ -; 0 ; 0 ; -; 1 ; 0 ; -; 2 ; 3 ; -; 3 ; 0 ; -; 4 ; 0 ; -; 5 ; 1 ; -; 6 ; 0 ; -; 7 ; 2 ; -; 8 ; 0 ; -; 9 ; 0 ; -; 10 ; 12 ; -; 11 ; 1 ; -; 12 ; 2 ; -+---------------------------------------------+------------------------------+ - - -+--------------------------------------------------------------------------------+ -; LAB Signals Sourced Out ; -+-------------------------------------------------+------------------------------+ -; Number of Signals Sourced Out (Average = 5.62) ; Number of LABs (Total = 21) ; -+-------------------------------------------------+------------------------------+ -; 0 ; 0 ; -; 1 ; 1 ; -; 2 ; 2 ; -; 3 ; 1 ; -; 4 ; 2 ; -; 5 ; 2 ; -; 6 ; 5 ; -; 7 ; 5 ; -; 8 ; 2 ; -; 9 ; 0 ; -; 10 ; 0 ; -; 11 ; 1 ; -+-------------------------------------------------+------------------------------+ - - -+----------------------------------------------------------------------------+ -; LAB Distinct Inputs ; -+---------------------------------------------+------------------------------+ -; Number of Distinct Inputs (Average = 9.43) ; Number of LABs (Total = 21) ; -+---------------------------------------------+------------------------------+ -; 0 ; 0 ; -; 1 ; 0 ; -; 2 ; 2 ; -; 3 ; 1 ; -; 4 ; 0 ; -; 5 ; 1 ; -; 6 ; 2 ; -; 7 ; 0 ; -; 8 ; 2 ; -; 9 ; 2 ; -; 10 ; 2 ; -; 11 ; 2 ; -; 12 ; 3 ; -; 13 ; 2 ; -; 14 ; 0 ; -; 15 ; 0 ; -; 16 ; 0 ; -; 17 ; 1 ; -; 18 ; 0 ; -; 19 ; 1 ; -+---------------------------------------------+------------------------------+ - - -+-------------------------------------------------------------------------+ -; Fitter Device Options ; -+----------------------------------------------+--------------------------+ -; Option ; Setting ; -+----------------------------------------------+--------------------------+ -; Enable user-supplied start-up clock (CLKUSR) ; Off ; -; Enable device-wide reset (DEV_CLRn) ; Off ; -; Enable device-wide output enable (DEV_OE) ; Off ; -; Enable INIT_DONE output ; Off ; -; Configuration scheme ; Passive Serial ; -; Reserve all unused pins ; As output driving ground ; -+----------------------------------------------+--------------------------+ - - -+------------------------------------------------------------+ -; Estimated Delay Added for Hold Timing Summary ; -+-----------------+----------------------+-------------------+ -; Source Clock(s) ; Destination Clock(s) ; Delay Added in ns ; -+-----------------+----------------------+-------------------+ -; I/O ; RCLK ; 4.0 ; -; I/O ; nCRAS ; 3.0 ; -+-----------------+----------------------+-------------------+ -Note: For more information on problematic transfers, consider running the Fitter again with the Optimize hold timing option (Settings Menu) turned off. -This will disable optimization of problematic paths and expose them for further analysis using the Timing Analyzer. - - -+------------------------------------------------------------+ -; Estimated Delay Added for Hold Timing Details ; -+-----------------+----------------------+-------------------+ -; Source Register ; Destination Register ; Delay Added in ns ; -+-----------------+----------------------+-------------------+ -; nCCAS ; CBR ; 3.041 ; -; PHI2 ; PHI2r ; 1.523 ; -; nCRAS ; RASr ; 1.214 ; -+-----------------+----------------------+-------------------+ -Note: This table only shows the top 3 path(s) that have the largest delay added for hold. - - -+-----------------+ -; Fitter Messages ; -+-----------------+ -Info (20032): Parallel compilation is enabled and will use up to 4 processors -Info (119006): Selected device EPM240T100C5 for design "RAM2GS" -Info (21077): Low junction temperature is 0 degrees C -Info (21077): High junction temperature is 85 degrees C -Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time -Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature. -Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices - Info (176445): Device EPM240T100I5 is compatible - Info (176445): Device EPM240T100A5 is compatible - Info (176445): Device EPM570T100C5 is compatible - Info (176445): Device EPM570T100I5 is compatible - Info (176445): Device EPM570T100A5 is compatible -Info (332104): Reading SDC File: '../RAM2GS.sdc' -Info (332104): Reading SDC File: '../RAM2GS-MAX.sdc' -Info (332129): Detected timing requirements -- optimizing circuit to achieve only the specified requirements -Info (332111): Found 6 clocks - Info (332111): Period Clock Name - Info (332111): ======== ============ - Info (332111): 200.000 ARCLK - Info (332111): 200.000 DRCLK - Info (332111): 350.000 nCCAS - Info (332111): 350.000 nCRAS - Info (332111): 350.000 PHI2 - Info (332111): 16.000 RCLK -Info (186079): Completed User Assigned Global Signals Promotion Operation -Info (186215): Automatically promoted signal "RCLK" to use Global clock in PIN 12 File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 40 -Info (186216): Automatically promoted some destinations of signal "PHI2" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 7 - Info (186217): Destination "PHI2r" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 13 -Info (186228): Pin "PHI2" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 7 -Info (186216): Automatically promoted some destinations of signal "nCRAS" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 - Info (186217): Destination "LED~0" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 - Info (186217): Destination "RASr" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 14 -Info (186228): Pin "nCRAS" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 -Info (186216): Automatically promoted some destinations of signal "nCCAS" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 - Info (186217): Destination "CBR" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 17 - Info (186217): Destination "RD~16" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 59 - Info (186217): Destination "CASr" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 15 -Info (186228): Pin "nCCAS" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 -Info (186079): Completed Auto Global Promotion Operation -Info (176234): Starting register packing -Info (186468): Started processing fast register assignments -Info (186469): Finished processing fast register assignments -Info (176235): Finished register packing -Info (171121): Fitter preparation operations ending: elapsed time is 00:00:00 -Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family. -Info (170189): Fitter placement preparation operations beginning -Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00 -Info (170191): Fitter placement operations beginning -Info (170137): Fitter placement was successful -Info (170192): Fitter placement operations ending: elapsed time is 00:00:00 -Info (170193): Fitter routing operations beginning -Info (170195): Router estimated average interconnect usage is 17% of the available device resources - Info (170196): Router estimated peak interconnect usage is 17% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5 -Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time. - Info (170201): Optimizations that may affect the design's routability were skipped -Info (170194): Fitter routing operations ending: elapsed time is 00:00:00 -Info (11888): Total time spent on timing analysis during the Fitter is 0.27 seconds. -Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:00 -Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg -Info: Quartus Prime Fitter was successful. 0 errors, 1 warning - Info: Peak virtual memory: 5345 megabytes - Info: Processing ended: Wed Aug 16 03:23:17 2023 - Info: Elapsed time: 00:00:02 - Info: Total CPU time (on all processors): 00:00:03 - - -+----------------------------+ -; Fitter Suppressed Messages ; -+----------------------------+ -The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg. - - +Fitter report for RAM2GS +Sat Aug 19 22:00:01 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Fitter Summary + 3. Fitter Settings + 4. Parallel Compilation + 5. Pin-Out File + 6. Fitter Resource Usage Summary + 7. Input Pins + 8. Output Pins + 9. Bidir Pins + 10. I/O Bank Usage + 11. All Package Pins + 12. Output Pin Default Load For Reported TCO + 13. Fitter Resource Utilization by Entity + 14. Delay Chain Summary + 15. Control Signals + 16. Global & Other Fast Signals + 17. Routing Usage Summary + 18. LAB Logic Elements + 19. LAB-wide Signals + 20. LAB Signals Sourced + 21. LAB Signals Sourced Out + 22. LAB Distinct Inputs + 23. Fitter Device Options + 24. Estimated Delay Added for Hold Timing Summary + 25. Estimated Delay Added for Hold Timing Details + 26. Fitter Messages + 27. Fitter Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------+ +; Fitter Summary ; ++-----------------------+---------------------------------------------+ +; Fitter Status ; Successful - Sat Aug 19 22:00:00 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX II ; +; Device ; EPM240T100C5 ; +; Timing Models ; Final ; +; Total logic elements ; 175 / 240 ( 73 % ) ; +; Total pins ; 63 / 80 ( 79 % ) ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------+---------------------------------------------+ + + ++--------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Settings ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Option ; Setting ; Default Value ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Device ; EPM240T100C5 ; ; +; Maximum processors allowed for parallel compilation ; 4 ; ; +; Minimum Core Junction Temperature ; 0 ; ; +; Maximum Core Junction Temperature ; 85 ; ; +; Fit Attempts to Skip ; 0 ; 0.0 ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Router Timing Optimization Level ; Normal ; Normal ; +; Placement Effort Multiplier ; 1.0 ; 1.0 ; +; Router Effort Multiplier ; 1.0 ; 1.0 ; +; Always Enable Input Buffers ; Off ; Off ; +; Optimize Hold Timing ; IO Paths and Minimum TPD Paths ; IO Paths and Minimum TPD Paths ; +; Optimize Multi-Corner Timing ; Off ; Off ; +; Guarantee I/O Paths Have Zero Hold Time at Fast Corner ; On ; On ; +; Power Optimization During Fitting ; Normal compilation ; Normal compilation ; +; Optimize Timing ; Normal compilation ; Normal compilation ; +; Optimize Timing for ECOs ; Off ; Off ; +; Regenerate Full Fit Report During ECO Compiles ; Off ; Off ; +; Optimize IOC Register Placement for Timing ; Normal ; Normal ; +; Limit to One Fitting Attempt ; Off ; Off ; +; Final Placement Optimizations ; Automatically ; Automatically ; +; Fitter Aggressive Routability Optimizations ; Automatically ; Automatically ; +; Fitter Initial Placement Seed ; 1 ; 1 ; +; Periphery to Core Placement and Routing Optimization ; Off ; Off ; +; Slow Slew Rate ; Off ; Off ; +; PCI I/O ; Off ; Off ; +; Weak Pull-Up Resistor ; Off ; Off ; +; Enable Bus-Hold Circuitry ; Off ; Off ; +; Auto Delay Chains ; On ; On ; +; Auto Delay Chains for High Fanout Input Pins ; Off ; Off ; +; Perform Physical Synthesis for Combinational Logic for Performance ; Off ; Off ; +; Perform Register Duplication for Performance ; Off ; Off ; +; Perform Register Retiming for Performance ; Off ; Off ; +; Perform Asynchronous Signal Pipelining ; Off ; Off ; +; Fitter Effort ; Auto Fit ; Auto Fit ; +; Physical Synthesis Effort Level ; Normal ; Normal ; +; Logic Cell Insertion - Logic Duplication ; Auto ; Auto ; +; Auto Register Duplication ; Auto ; Auto ; +; Auto Global Clock ; On ; On ; +; Auto Global Register Control Signals ; On ; On ; +; Force Fitter to Avoid Periphery Placement Warnings ; Off ; Off ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.01 ; +; Maximum used ; 4 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 0.6% ; +; Processors 3-4 ; 0.4% ; ++----------------------------+-------------+ + + ++--------------+ +; Pin-Out File ; ++--------------+ +The pin-out file can be found in //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.pin. + + ++---------------------------------------------------------------------+ +; Fitter Resource Usage Summary ; ++---------------------------------------------+-----------------------+ +; Resource ; Usage ; ++---------------------------------------------+-----------------------+ +; Total logic elements ; 175 / 240 ( 73 % ) ; +; -- Combinational with no register ; 77 ; +; -- Register only ; 21 ; +; -- Combinational with a register ; 77 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 46 ; +; -- 2 input functions ; 42 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 159 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 8 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 27 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 98 / 240 ( 41 % ) ; +; Total LABs ; 21 / 24 ( 88 % ) ; +; Logic elements in carry chains ; 17 ; +; Virtual pins ; 0 ; +; I/O pins ; 63 / 80 ( 79 % ) ; +; -- Clock pins ; 2 / 4 ( 50 % ) ; +; ; ; +; UFM blocks ; 1 / 1 ( 100 % ) ; +; ; ; +; -- Total Fixed Point DSP Blocks ; 0 ; +; -- Total Floating Point DSP Blocks ; 0 ; +; ; ; +; Global signals ; 4 ; +; -- Global clocks ; 4 / 4 ( 100 % ) ; +; JTAGs ; 0 / 1 ( 0 % ) ; +; Average interconnect usage (total/H/V) ; 19.4% / 20.4% / 18.3% ; +; Peak interconnect usage (total/H/V) ; 19.4% / 20.4% / 18.3% ; +; Maximum fan-out ; 55 ; +; Highest non-global fan-out ; 41 ; +; Total fan-out ; 661 ; +; Average fan-out ; 2.77 ; ++---------------------------------------------+-----------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Input Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; PCI I/O Enabled ; Bus Hold ; Weak Pull Up ; I/O Standard ; Location assigned by ; Slow Slew Rate ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ +; CROW[0] ; 54 ; 2 ; 8 ; 1 ; 2 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; CROW[1] ; 55 ; 2 ; 8 ; 1 ; 1 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[0] ; 42 ; 1 ; 5 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[1] ; 36 ; 1 ; 4 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[2] ; 35 ; 1 ; 3 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[3] ; 37 ; 1 ; 4 ; 0 ; 1 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[4] ; 39 ; 1 ; 5 ; 0 ; 3 ; 7 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[5] ; 38 ; 1 ; 4 ; 0 ; 0 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[6] ; 41 ; 1 ; 5 ; 0 ; 1 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[7] ; 40 ; 1 ; 5 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[0] ; 49 ; 1 ; 7 ; 0 ; 2 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[1] ; 51 ; 1 ; 7 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[2] ; 50 ; 1 ; 7 ; 0 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[3] ; 71 ; 2 ; 8 ; 4 ; 3 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[4] ; 70 ; 2 ; 8 ; 4 ; 4 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[5] ; 69 ; 2 ; 8 ; 3 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[6] ; 72 ; 2 ; 8 ; 4 ; 2 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[7] ; 68 ; 2 ; 8 ; 3 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[8] ; 73 ; 2 ; 8 ; 4 ; 1 ; 2 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[9] ; 74 ; 2 ; 8 ; 4 ; 0 ; 4 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; PHI2 ; 52 ; 2 ; 8 ; 1 ; 4 ; 22 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; RCLK ; 12 ; 1 ; 1 ; 3 ; 3 ; 55 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nCCAS ; 53 ; 2 ; 8 ; 1 ; 3 ; 11 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nCRAS ; 67 ; 2 ; 8 ; 3 ; 2 ; 16 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nFWE ; 48 ; 1 ; 6 ; 0 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Output Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Dout[0] ; 33 ; 1 ; 3 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[1] ; 57 ; 2 ; 8 ; 2 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[2] ; 56 ; 2 ; 8 ; 1 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[3] ; 47 ; 1 ; 6 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[4] ; 44 ; 1 ; 6 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[5] ; 28 ; 1 ; 2 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[6] ; 34 ; 1 ; 3 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[7] ; 43 ; 1 ; 6 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; LED ; 88 ; 2 ; 5 ; 5 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVTTL ; 16mA ; no ; User ; 10 pF ; - ; - ; +; RA[0] ; 18 ; 1 ; 1 ; 1 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RA[10] ; 16 ; 1 ; 1 ; 2 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[11] ; 7 ; 1 ; 1 ; 3 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[1] ; 20 ; 1 ; 1 ; 1 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[2] ; 30 ; 1 ; 3 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[3] ; 27 ; 1 ; 2 ; 0 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[4] ; 26 ; 1 ; 2 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[5] ; 29 ; 1 ; 2 ; 0 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[6] ; 21 ; 1 ; 1 ; 1 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RA[7] ; 19 ; 1 ; 1 ; 1 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RA[8] ; 17 ; 1 ; 1 ; 2 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[9] ; 15 ; 1 ; 1 ; 2 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RBA[0] ; 5 ; 1 ; 1 ; 4 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RBA[1] ; 14 ; 1 ; 1 ; 2 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RCKE ; 8 ; 1 ; 1 ; 3 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RDQMH ; 2 ; 1 ; 1 ; 4 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RDQML ; 98 ; 2 ; 2 ; 5 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; nRCAS ; 4 ; 1 ; 1 ; 4 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; nRCS ; 3 ; 1 ; 1 ; 4 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; nRRAS ; 6 ; 1 ; 1 ; 3 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; nRWE ; 100 ; 2 ; 2 ; 5 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Bidir Pins ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; RD[0] ; 96 ; 2 ; 3 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[1] ; 90 ; 2 ; 4 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; RD~16 ; - ; +; RD[2] ; 89 ; 2 ; 4 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[3] ; 99 ; 2 ; 2 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[4] ; 92 ; 2 ; 3 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[5] ; 91 ; 2 ; 4 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; RD~16 ; - ; +; RD[6] ; 95 ; 2 ; 3 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[7] ; 97 ; 2 ; 3 ; 5 ; 3 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ + + ++-------------------------------------------------------------+ +; I/O Bank Usage ; ++----------+-------------------+---------------+--------------+ +; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; ++----------+-------------------+---------------+--------------+ +; 1 ; 38 / 38 ( 100 % ) ; 3.3V ; -- ; +; 2 ; 25 / 42 ( 60 % ) ; 3.3V ; -- ; ++----------+-------------------+---------------+--------------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------+ +; All Package Pins ; ++----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ +; Location ; Pad Number ; I/O Bank ; Pin Name/Usage ; Dir. ; I/O Standard ; Voltage ; I/O Type ; User Assignment ; Bus Hold ; Weak Pull Up ; ++----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ +; 1 ; 83 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 2 ; 0 ; 1 ; RDQMH ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 3 ; 1 ; 1 ; nRCS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 4 ; 2 ; 1 ; nRCAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 5 ; 3 ; 1 ; RBA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 6 ; 4 ; 1 ; nRRAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 7 ; 5 ; 1 ; RA[11] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 8 ; 6 ; 1 ; RCKE ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 9 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 10 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 11 ; ; ; GNDINT ; gnd ; ; ; -- ; ; -- ; -- ; +; 12 ; 7 ; 1 ; RCLK ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 13 ; ; ; VCCINT ; power ; ; 2.5V/3.3V ; -- ; ; -- ; -- ; +; 14 ; 8 ; 1 ; RBA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 15 ; 9 ; 1 ; RA[9] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 16 ; 10 ; 1 ; RA[10] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 17 ; 11 ; 1 ; RA[8] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 18 ; 12 ; 1 ; RA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 19 ; 13 ; 1 ; RA[7] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 20 ; 14 ; 1 ; RA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 21 ; 15 ; 1 ; RA[6] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 22 ; 16 ; 1 ; #TMS ; input ; ; ; -- ; ; -- ; -- ; +; 23 ; 17 ; 1 ; #TDI ; input ; ; ; -- ; ; -- ; -- ; +; 24 ; 18 ; 1 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; +; 25 ; 19 ; 1 ; #TDO ; output ; ; ; -- ; ; -- ; -- ; +; 26 ; 20 ; 1 ; RA[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 27 ; 21 ; 1 ; RA[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 28 ; 22 ; 1 ; Dout[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 29 ; 23 ; 1 ; RA[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 30 ; 24 ; 1 ; RA[2] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 31 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 32 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 33 ; 25 ; 1 ; Dout[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 34 ; 26 ; 1 ; Dout[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 35 ; 27 ; 1 ; Din[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 36 ; 28 ; 1 ; Din[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 37 ; 29 ; 1 ; Din[3] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 38 ; 30 ; 1 ; Din[5] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 39 ; 31 ; 1 ; Din[4] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 40 ; 32 ; 1 ; Din[7] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 41 ; 33 ; 1 ; Din[6] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 42 ; 34 ; 1 ; Din[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 43 ; 35 ; 1 ; Dout[7] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 44 ; 36 ; 1 ; Dout[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 45 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 46 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 47 ; 37 ; 1 ; Dout[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 48 ; 38 ; 1 ; nFWE ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 49 ; 39 ; 1 ; MAin[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 50 ; 40 ; 1 ; MAin[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 51 ; 41 ; 1 ; MAin[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 52 ; 42 ; 2 ; PHI2 ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 53 ; 43 ; 2 ; nCCAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 54 ; 44 ; 2 ; CROW[0] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 55 ; 45 ; 2 ; CROW[1] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 56 ; 46 ; 2 ; Dout[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 57 ; 47 ; 2 ; Dout[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 58 ; 48 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 59 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 60 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 61 ; 49 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 62 ; 50 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 63 ; ; ; VCCINT ; power ; ; 2.5V/3.3V ; -- ; ; -- ; -- ; +; 64 ; 51 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 65 ; ; ; GNDINT ; gnd ; ; ; -- ; ; -- ; -- ; +; 66 ; 52 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 67 ; 53 ; 2 ; nCRAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 68 ; 54 ; 2 ; MAin[7] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 69 ; 55 ; 2 ; MAin[5] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 70 ; 56 ; 2 ; MAin[4] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 71 ; 57 ; 2 ; MAin[3] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 72 ; 58 ; 2 ; MAin[6] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 73 ; 59 ; 2 ; MAin[8] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 74 ; 60 ; 2 ; MAin[9] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 75 ; 61 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 76 ; 62 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 77 ; 63 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 78 ; 64 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 79 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 80 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 81 ; 65 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 82 ; 66 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 83 ; 67 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 84 ; 68 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 85 ; 69 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 86 ; 70 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 87 ; 71 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 88 ; 72 ; 2 ; LED ; output ; 3.3-V LVTTL ; ; Column I/O ; Y ; no ; Off ; +; 89 ; 73 ; 2 ; RD[2] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 90 ; 74 ; 2 ; RD[1] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 91 ; 75 ; 2 ; RD[5] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 92 ; 76 ; 2 ; RD[4] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 93 ; ; ; GNDIO ; gnd ; ; ; -- ; ; -- ; -- ; +; 94 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 95 ; 77 ; 2 ; RD[6] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 96 ; 78 ; 2 ; RD[0] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 97 ; 79 ; 2 ; RD[7] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 98 ; 80 ; 2 ; RDQML ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 99 ; 81 ; 2 ; RD[3] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 100 ; 82 ; 2 ; nRWE ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; ++----------+------------+----------+----------------+--------+--------------+-----------+------------+-----------------+----------+--------------+ +Note: Pin directions (input, output or bidir) are based on device operating in user mode. + + ++-------------------------------------------------------------+ +; Output Pin Default Load For Reported TCO ; ++----------------------------+-------+------------------------+ +; I/O Standard ; Load ; Termination Resistance ; ++----------------------------+-------+------------------------+ +; 3.3-V LVTTL ; 10 pF ; Not Available ; +; 3.3-V LVCMOS ; 10 pF ; Not Available ; +; 2.5 V ; 10 pF ; Not Available ; +; 1.8 V ; 10 pF ; Not Available ; +; 1.5 V ; 10 pF ; Not Available ; +; 3.3V Schmitt Trigger Input ; 10 pF ; Not Available ; +; 2.5V Schmitt Trigger Input ; 10 pF ; Not Available ; ++----------------------------+-------+------------------------+ +Note: User assignments will override these defaults. The user specified values are listed in the Output Pins and Bidir Pins tables. + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 175 (175) ; 98 ; 1 ; 63 ; 0 ; 77 (77) ; 21 (21) ; 77 (77) ; 17 (17) ; 8 (8) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_unv:UFM_altufm_none_unv_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component ; UFM_altufm_none_unv ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++------------------------------------+ +; Delay Chain Summary ; ++---------+----------+---------------+ +; Name ; Pin Type ; Pad to Core 0 ; ++---------+----------+---------------+ +; Dout[0] ; Output ; -- ; +; Dout[1] ; Output ; -- ; +; Dout[2] ; Output ; -- ; +; Dout[3] ; Output ; -- ; +; Dout[4] ; Output ; -- ; +; Dout[5] ; Output ; -- ; +; Dout[6] ; Output ; -- ; +; Dout[7] ; Output ; -- ; +; LED ; Output ; -- ; +; RBA[0] ; Output ; -- ; +; RBA[1] ; Output ; -- ; +; RA[0] ; Output ; -- ; +; RA[1] ; Output ; -- ; +; RA[2] ; Output ; -- ; +; RA[3] ; Output ; -- ; +; RA[4] ; Output ; -- ; +; RA[5] ; Output ; -- ; +; RA[6] ; Output ; -- ; +; RA[7] ; Output ; -- ; +; RA[8] ; Output ; -- ; +; RA[9] ; Output ; -- ; +; RA[10] ; Output ; -- ; +; RA[11] ; Output ; -- ; +; nRCS ; Output ; -- ; +; RCKE ; Output ; -- ; +; nRWE ; Output ; -- ; +; nRRAS ; Output ; -- ; +; nRCAS ; Output ; -- ; +; RDQMH ; Output ; -- ; +; RDQML ; Output ; -- ; +; RD[0] ; Bidir ; (0) ; +; RD[1] ; Bidir ; (0) ; +; RD[2] ; Bidir ; (0) ; +; RD[3] ; Bidir ; (0) ; +; RD[4] ; Bidir ; (0) ; +; RD[5] ; Bidir ; (0) ; +; RD[6] ; Bidir ; (0) ; +; RD[7] ; Bidir ; (0) ; +; nCRAS ; Input ; (0) ; +; MAin[0] ; Input ; (0) ; +; MAin[1] ; Input ; (0) ; +; MAin[2] ; Input ; (0) ; +; MAin[3] ; Input ; (0) ; +; MAin[4] ; Input ; (0) ; +; MAin[5] ; Input ; (0) ; +; MAin[6] ; Input ; (0) ; +; MAin[7] ; Input ; (0) ; +; MAin[8] ; Input ; (0) ; +; MAin[9] ; Input ; (0) ; +; RCLK ; Input ; (0) ; +; nCCAS ; Input ; (0) ; +; CROW[0] ; Input ; (1) ; +; CROW[1] ; Input ; (1) ; +; PHI2 ; Input ; (0) ; +; Din[6] ; Input ; (1) ; +; nFWE ; Input ; (1) ; +; Din[0] ; Input ; (1) ; +; Din[7] ; Input ; (1) ; +; Din[1] ; Input ; (1) ; +; Din[4] ; Input ; (1) ; +; Din[2] ; Input ; (1) ; +; Din[3] ; Input ; (1) ; +; Din[5] ; Input ; (1) ; ++---------+----------+---------------+ + + ++-----------------------------------------------------------------------------------------------------------------+ +; Control Signals ; ++------------+-------------+---------+-------------------------+--------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; ++------------+-------------+---------+-------------------------+--------+----------------------+------------------+ +; CmdDRDIn~1 ; LC_X4_Y1_N0 ; 4 ; Clock enable ; no ; -- ; -- ; +; CmdLEDEN~1 ; LC_X4_Y1_N8 ; 3 ; Clock enable ; no ; -- ; -- ; +; DRDIn~1 ; LC_X3_Y1_N4 ; 2 ; Clock enable ; no ; -- ; -- ; +; PHI2 ; PIN_52 ; 22 ; Clock ; yes ; Global Clock ; GCLK3 ; +; RCLK ; PIN_12 ; 55 ; Clock ; yes ; Global Clock ; GCLK0 ; +; RD~16 ; LC_X3_Y4_N0 ; 8 ; Output enable ; no ; -- ; -- ; +; Ready ; LC_X3_Y2_N8 ; 40 ; Sync. clear, Sync. load ; no ; -- ; -- ; +; always8~6 ; LC_X4_Y2_N7 ; 3 ; Clock enable ; no ; -- ; -- ; +; nCCAS ; PIN_53 ; 11 ; Clock ; yes ; Global Clock ; GCLK1 ; +; nCRAS ; PIN_67 ; 16 ; Clock ; yes ; Global Clock ; GCLK2 ; ++------------+-------------+---------+-------------------------+--------+----------------------+------------------+ + + ++----------------------------------------------------------------------+ +; Global & Other Fast Signals ; ++-------+----------+---------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; ++-------+----------+---------+----------------------+------------------+ +; PHI2 ; PIN_52 ; 22 ; Global Clock ; GCLK3 ; +; RCLK ; PIN_12 ; 55 ; Global Clock ; GCLK0 ; +; nCCAS ; PIN_53 ; 11 ; Global Clock ; GCLK1 ; +; nCRAS ; PIN_67 ; 16 ; Global Clock ; GCLK2 ; ++-------+----------+---------+----------------------+------------------+ + + ++--------------------------------------------+ +; Routing Usage Summary ; ++-----------------------+--------------------+ +; Routing Resource Type ; Usage ; ++-----------------------+--------------------+ +; C4s ; 120 / 784 ( 15 % ) ; +; Direct links ; 34 / 888 ( 4 % ) ; +; Global clocks ; 4 / 4 ( 100 % ) ; +; LAB clocks ; 12 / 32 ( 38 % ) ; +; LUT chains ; 11 / 216 ( 5 % ) ; +; Local interconnects ; 232 / 888 ( 26 % ) ; +; R4s ; 117 / 704 ( 17 % ) ; ++-----------------------+--------------------+ + + ++---------------------------------------------------------------------------+ +; LAB Logic Elements ; ++--------------------------------------------+------------------------------+ +; Number of Logic Elements (Average = 8.33) ; Number of LABs (Total = 21) ; ++--------------------------------------------+------------------------------+ +; 1 ; 0 ; +; 2 ; 3 ; +; 3 ; 0 ; +; 4 ; 0 ; +; 5 ; 1 ; +; 6 ; 0 ; +; 7 ; 2 ; +; 8 ; 0 ; +; 9 ; 0 ; +; 10 ; 15 ; ++--------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------+ +; LAB-wide Signals ; ++------------------------------------+------------------------------+ +; LAB-wide Signals (Average = 1.24) ; Number of LABs (Total = 21) ; ++------------------------------------+------------------------------+ +; 1 Clock ; 12 ; +; 1 Clock enable ; 3 ; +; 1 Sync. clear ; 3 ; +; 2 Clocks ; 8 ; ++------------------------------------+------------------------------+ + + ++----------------------------------------------------------------------------+ +; LAB Signals Sourced ; ++---------------------------------------------+------------------------------+ +; Number of Signals Sourced (Average = 8.57) ; Number of LABs (Total = 21) ; ++---------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 0 ; +; 2 ; 3 ; +; 3 ; 0 ; +; 4 ; 0 ; +; 5 ; 1 ; +; 6 ; 0 ; +; 7 ; 2 ; +; 8 ; 0 ; +; 9 ; 0 ; +; 10 ; 12 ; +; 11 ; 1 ; +; 12 ; 2 ; ++---------------------------------------------+------------------------------+ + + ++--------------------------------------------------------------------------------+ +; LAB Signals Sourced Out ; ++-------------------------------------------------+------------------------------+ +; Number of Signals Sourced Out (Average = 5.62) ; Number of LABs (Total = 21) ; ++-------------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 1 ; +; 2 ; 2 ; +; 3 ; 1 ; +; 4 ; 2 ; +; 5 ; 2 ; +; 6 ; 5 ; +; 7 ; 5 ; +; 8 ; 2 ; +; 9 ; 0 ; +; 10 ; 0 ; +; 11 ; 1 ; ++-------------------------------------------------+------------------------------+ + + ++----------------------------------------------------------------------------+ +; LAB Distinct Inputs ; ++---------------------------------------------+------------------------------+ +; Number of Distinct Inputs (Average = 9.43) ; Number of LABs (Total = 21) ; ++---------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 0 ; +; 2 ; 2 ; +; 3 ; 1 ; +; 4 ; 0 ; +; 5 ; 1 ; +; 6 ; 2 ; +; 7 ; 0 ; +; 8 ; 2 ; +; 9 ; 2 ; +; 10 ; 2 ; +; 11 ; 2 ; +; 12 ; 3 ; +; 13 ; 2 ; +; 14 ; 0 ; +; 15 ; 0 ; +; 16 ; 0 ; +; 17 ; 1 ; +; 18 ; 0 ; +; 19 ; 1 ; ++---------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------------+ +; Fitter Device Options ; ++----------------------------------------------+--------------------------+ +; Option ; Setting ; ++----------------------------------------------+--------------------------+ +; Enable user-supplied start-up clock (CLKUSR) ; Off ; +; Enable device-wide reset (DEV_CLRn) ; Off ; +; Enable device-wide output enable (DEV_OE) ; Off ; +; Enable INIT_DONE output ; Off ; +; Configuration scheme ; Passive Serial ; +; Reserve all unused pins ; As output driving ground ; ++----------------------------------------------+--------------------------+ + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Summary ; ++-----------------+----------------------+-------------------+ +; Source Clock(s) ; Destination Clock(s) ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ +; I/O ; RCLK ; 4.0 ; +; I/O ; nCRAS ; 3.0 ; ++-----------------+----------------------+-------------------+ +Note: For more information on problematic transfers, consider running the Fitter again with the Optimize hold timing option (Settings Menu) turned off. +This will disable optimization of problematic paths and expose them for further analysis using the Timing Analyzer. + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Details ; ++-----------------+----------------------+-------------------+ +; Source Register ; Destination Register ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ +; nCCAS ; CBR ; 3.041 ; +; PHI2 ; PHI2r ; 1.523 ; +; nCRAS ; RASr ; 1.214 ; ++-----------------+----------------------+-------------------+ +Note: This table only shows the top 3 path(s) that have the largest delay added for hold. + + ++-----------------+ +; Fitter Messages ; ++-----------------+ +Info (20032): Parallel compilation is enabled and will use up to 4 processors +Info (119006): Selected device EPM240T100C5 for design "RAM2GS" +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time +Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature. +Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices + Info (176445): Device EPM240T100I5 is compatible + Info (176445): Device EPM240T100A5 is compatible + Info (176445): Device EPM570T100C5 is compatible + Info (176445): Device EPM570T100I5 is compatible + Info (176445): Device EPM570T100A5 is compatible +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc' +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc' +Info (332129): Detected timing requirements -- optimizing circuit to achieve only the specified requirements +Info (332111): Found 6 clocks + Info (332111): Period Clock Name + Info (332111): ======== ============ + Info (332111): 200.000 ARCLK + Info (332111): 200.000 DRCLK + Info (332111): 350.000 nCCAS + Info (332111): 350.000 nCRAS + Info (332111): 350.000 PHI2 + Info (332111): 16.000 RCLK +Info (186079): Completed User Assigned Global Signals Promotion Operation +Info (186215): Automatically promoted signal "RCLK" to use Global clock in PIN 12 File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 41 +Info (186216): Automatically promoted some destinations of signal "PHI2" to use Global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 8 + Info (186217): Destination "PHI2r" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 14 +Info (186228): Pin "PHI2" drives global clock, but is not placed in a dedicated clock pin position File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 8 +Info (186216): Automatically promoted some destinations of signal "nCRAS" to use Global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 + Info (186217): Destination "LED~0" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 22 + Info (186217): Destination "RASr" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 15 +Info (186228): Pin "nCRAS" drives global clock, but is not placed in a dedicated clock pin position File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 +Info (186216): Automatically promoted some destinations of signal "nCCAS" to use Global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 + Info (186217): Destination "CBR" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 18 + Info (186217): Destination "RD~16" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 60 + Info (186217): Destination "CASr" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 16 +Info (186228): Pin "nCCAS" drives global clock, but is not placed in a dedicated clock pin position File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 +Info (186079): Completed Auto Global Promotion Operation +Info (176234): Starting register packing +Info (186468): Started processing fast register assignments +Info (186469): Finished processing fast register assignments +Info (176235): Finished register packing +Info (171121): Fitter preparation operations ending: elapsed time is 00:00:01 +Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family. +Info (170189): Fitter placement preparation operations beginning +Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00 +Info (170191): Fitter placement operations beginning +Info (170137): Fitter placement was successful +Info (170192): Fitter placement operations ending: elapsed time is 00:00:00 +Info (170193): Fitter routing operations beginning +Info (170195): Router estimated average interconnect usage is 17% of the available device resources + Info (170196): Router estimated peak interconnect usage is 17% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5 +Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time. + Info (170201): Optimizations that may affect the design's routability were skipped +Info (170194): Fitter routing operations ending: elapsed time is 00:00:01 +Info (11888): Total time spent on timing analysis during the Fitter is 0.26 seconds. +Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:00 +Info (144001): Generated suppressed messages file //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg +Info: Quartus Prime Fitter was successful. 0 errors, 1 warning + Info: Peak virtual memory: 5345 megabytes + Info: Processing ended: Sat Aug 19 22:00:03 2023 + Info: Elapsed time: 00:00:09 + Info: Total CPU time (on all processors): 00:00:03 + + ++----------------------------+ +; Fitter Suppressed Messages ; ++----------------------------+ +The suppressed messages can be found in //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.fit.smsg. + + diff --git a/CPLD/MAXII/output_files/RAM2GS.fit.smsg b/CPLD/MAXII/output_files/RAM2GS.fit.smsg index 6df10d8..a3cd98a 100644 --- a/CPLD/MAXII/output_files/RAM2GS.fit.smsg +++ b/CPLD/MAXII/output_files/RAM2GS.fit.smsg @@ -1,4 +1,4 @@ -Extra Info (176273): Performing register packing on registers with non-logic cell location assignments -Extra Info (176274): Completed register packing on registers with non-logic cell location assignments -Extra Info (176244): Moving registers into LUTs to improve timing and density -Extra Info (176245): Finished moving registers into LUTs: elapsed time is 00:00:00 +Extra Info (176273): Performing register packing on registers with non-logic cell location assignments +Extra Info (176274): Completed register packing on registers with non-logic cell location assignments +Extra Info (176244): Moving registers into LUTs to improve timing and density +Extra Info (176245): Finished moving registers into LUTs: elapsed time is 00:00:00 diff --git a/CPLD/MAXII/output_files/RAM2GS.fit.summary b/CPLD/MAXII/output_files/RAM2GS.fit.summary index 62e1f92..f45499e 100644 --- a/CPLD/MAXII/output_files/RAM2GS.fit.summary +++ b/CPLD/MAXII/output_files/RAM2GS.fit.summary @@ -1,11 +1,11 @@ -Fitter Status : Successful - Wed Aug 16 03:23:17 2023 -Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition -Revision Name : RAM2GS -Top-level Entity Name : RAM2GS -Family : MAX II -Device : EPM240T100C5 -Timing Models : Final -Total logic elements : 175 / 240 ( 73 % ) -Total pins : 63 / 80 ( 79 % ) -Total virtual pins : 0 -UFM blocks : 1 / 1 ( 100 % ) +Fitter Status : Successful - Sat Aug 19 22:00:00 2023 +Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Revision Name : RAM2GS +Top-level Entity Name : RAM2GS +Family : MAX II +Device : EPM240T100C5 +Timing Models : Final +Total logic elements : 175 / 240 ( 73 % ) +Total pins : 63 / 80 ( 79 % ) +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXII/output_files/RAM2GS.flow.rpt b/CPLD/MAXII/output_files/RAM2GS.flow.rpt index 0c6ef6e..2a07f3f 100644 --- a/CPLD/MAXII/output_files/RAM2GS.flow.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.flow.rpt @@ -1,118 +1,118 @@ -Flow report for RAM2GS -Wed Aug 16 03:23:21 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Flow Summary - 3. Flow Settings - 4. Flow Non-Default Global Settings - 5. Flow Elapsed Time - 6. Flow OS Summary - 7. Flow Log - 8. Flow Messages - 9. Flow Suppressed Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------------+ -; Flow Summary ; -+-----------------------+---------------------------------------------+ -; Flow Status ; Successful - Wed Aug 16 03:23:18 2023 ; -; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX II ; -; Device ; EPM240T100C5 ; -; Timing Models ; Final ; -; Total logic elements ; 175 / 240 ( 73 % ) ; -; Total pins ; 63 / 80 ( 79 % ) ; -; Total virtual pins ; 0 ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -+-----------------------+---------------------------------------------+ - - -+-----------------------------------------+ -; Flow Settings ; -+-------------------+---------------------+ -; Option ; Setting ; -+-------------------+---------------------+ -; Start date & time ; 08/16/2023 03:23:05 ; -; Main task ; Compilation ; -; Revision Name ; RAM2GS ; -+-------------------+---------------------+ - - -+--------------------------------------------------------------------------------------------------------------------+ -; Flow Non-Default Global Settings ; -+---------------------------------------+---------------------------------+---------------+-------------+------------+ -; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; -+---------------------------------------+---------------------------------+---------------+-------------+------------+ -; COMPILER_SIGNATURE_ID ; 207120313862967.169217058515824 ; -- ; -- ; -- ; -; MAX_CORE_JUNCTION_TEMP ; 85 ; -- ; -- ; -- ; -; MIN_CORE_JUNCTION_TEMP ; 0 ; -- ; -- ; -- ; -; NUM_PARALLEL_PROCESSORS ; 4 ; -- ; -- ; -- ; -; POWER_EXT_SUPPLY_VOLTAGE_TO_REGULATOR ; 3.3V ; -- ; -- ; -- ; -; POWER_PRESET_COOLING_SOLUTION ; No Heat Sink With Still Air ; -- ; -- ; -- ; -; PROJECT_OUTPUT_DIRECTORY ; output_files ; -- ; -- ; -- ; -+---------------------------------------+---------------------------------+---------------+-------------+------------+ - - -+--------------------------------------------------------------------------------------------------------------------------+ -; Flow Elapsed Time ; -+----------------------+--------------+-------------------------+---------------------+------------------------------------+ -; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; -+----------------------+--------------+-------------------------+---------------------+------------------------------------+ -; Analysis & Synthesis ; 00:00:10 ; 1.0 ; 4701 MB ; 00:00:24 ; -; Fitter ; 00:00:02 ; 1.0 ; 5345 MB ; 00:00:03 ; -; Assembler ; 00:00:00 ; 1.0 ; 4662 MB ; 00:00:00 ; -; Timing Analyzer ; 00:00:01 ; 1.0 ; 4676 MB ; 00:00:01 ; -; Total ; 00:00:13 ; -- ; -- ; 00:00:28 ; -+----------------------+--------------+-------------------------+---------------------+------------------------------------+ - - -+------------------------------------------------------------------------------------+ -; Flow OS Summary ; -+----------------------+------------------+------------+------------+----------------+ -; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; -+----------------------+------------------+------------+------------+----------------+ -; Analysis & Synthesis ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -; Fitter ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -; Assembler ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -; Timing Analyzer ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -+----------------------+------------------+------------+------------+----------------+ - - ------------- -; Flow Log ; ------------- -quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS -quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS -quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS -quartus_sta RAM2GS-MAXII -c RAM2GS - - - +Flow report for RAM2GS +Sat Aug 19 22:00:32 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Flow Summary + 3. Flow Settings + 4. Flow Non-Default Global Settings + 5. Flow Elapsed Time + 6. Flow OS Summary + 7. Flow Log + 8. Flow Messages + 9. Flow Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------+ +; Flow Summary ; ++-----------------------+---------------------------------------------+ +; Flow Status ; Successful - Sat Aug 19 22:00:16 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX II ; +; Device ; EPM240T100C5 ; +; Timing Models ; Final ; +; Total logic elements ; 175 / 240 ( 73 % ) ; +; Total pins ; 63 / 80 ( 79 % ) ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------+---------------------------------------------+ + + ++-----------------------------------------+ +; Flow Settings ; ++-------------------+---------------------+ +; Option ; Setting ; ++-------------------+---------------------+ +; Start date & time ; 08/19/2023 21:59:22 ; +; Main task ; Compilation ; +; Revision Name ; RAM2GS ; ++-------------------+---------------------+ + + ++--------------------------------------------------------------------------------------------------------------------+ +; Flow Non-Default Global Settings ; ++---------------------------------------+---------------------------------+---------------+-------------+------------+ +; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; ++---------------------------------------+---------------------------------+---------------+-------------+------------+ +; COMPILER_SIGNATURE_ID ; 207120313862967.169249676205304 ; -- ; -- ; -- ; +; MAX_CORE_JUNCTION_TEMP ; 85 ; -- ; -- ; -- ; +; MIN_CORE_JUNCTION_TEMP ; 0 ; -- ; -- ; -- ; +; NUM_PARALLEL_PROCESSORS ; 4 ; -- ; -- ; -- ; +; POWER_EXT_SUPPLY_VOLTAGE_TO_REGULATOR ; 3.3V ; -- ; -- ; -- ; +; POWER_PRESET_COOLING_SOLUTION ; No Heat Sink With Still Air ; -- ; -- ; -- ; +; PROJECT_OUTPUT_DIRECTORY ; output_files ; -- ; -- ; -- ; ++---------------------------------------+---------------------------------+---------------+-------------+------------+ + + ++--------------------------------------------------------------------------------------------------------------------------+ +; Flow Elapsed Time ; ++----------------------+--------------+-------------------------+---------------------+------------------------------------+ +; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; ++----------------------+--------------+-------------------------+---------------------+------------------------------------+ +; Analysis & Synthesis ; 00:00:19 ; 1.0 ; 4703 MB ; 00:00:25 ; +; Fitter ; 00:00:06 ; 1.0 ; 5345 MB ; 00:00:03 ; +; Assembler ; 00:00:03 ; 1.0 ; 4664 MB ; 00:00:01 ; +; Timing Analyzer ; 00:00:12 ; 1.0 ; 4678 MB ; 00:00:01 ; +; Total ; 00:00:40 ; -- ; -- ; 00:00:30 ; ++----------------------+--------------+-------------------------+---------------------+------------------------------------+ + + ++------------------------------------------------------------------------------------+ +; Flow OS Summary ; ++----------------------+------------------+------------+------------+----------------+ +; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; ++----------------------+------------------+------------+------------+----------------+ +; Analysis & Synthesis ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Fitter ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Assembler ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Timing Analyzer ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; ++----------------------+------------------+------------+------------+----------------+ + + +------------ +; Flow Log ; +------------ +quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS +quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS +quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXII -c RAM2GS +quartus_sta RAM2GS-MAXII -c RAM2GS + + + diff --git a/CPLD/MAXII/output_files/RAM2GS.jdi b/CPLD/MAXII/output_files/RAM2GS.jdi index 4294046..1411d48 100644 --- a/CPLD/MAXII/output_files/RAM2GS.jdi +++ b/CPLD/MAXII/output_files/RAM2GS.jdi @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/CPLD/MAXII/output_files/RAM2GS.map.rpt b/CPLD/MAXII/output_files/RAM2GS.map.rpt index d9b84b4..bc0d881 100644 --- a/CPLD/MAXII/output_files/RAM2GS.map.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.map.rpt @@ -1,312 +1,312 @@ -Analysis & Synthesis report for RAM2GS -Wed Aug 16 03:23:14 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Analysis & Synthesis Summary - 3. Analysis & Synthesis Settings - 4. Parallel Compilation - 5. Analysis & Synthesis Source Files Read - 6. Analysis & Synthesis Resource Usage Summary - 7. Analysis & Synthesis Resource Utilization by Entity - 8. Analysis & Synthesis IP Cores Summary - 9. General Register Statistics - 10. Inverted Register Statistics - 11. Multiplexer Restructuring Statistics (Restructuring Performed) - 12. Port Connectivity Checks: "UFM:UFM_inst" - 13. Analysis & Synthesis Messages - 14. Analysis & Synthesis Suppressed Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------------------+ -; Analysis & Synthesis Summary ; -+-----------------------------+---------------------------------------------+ -; Analysis & Synthesis Status ; Successful - Wed Aug 16 03:23:14 2023 ; -; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX II ; -; Total logic elements ; 184 ; -; Total pins ; 63 ; -; Total virtual pins ; 0 ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -+-----------------------------+---------------------------------------------+ - - -+------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Settings ; -+------------------------------------------------------------------+--------------------+--------------------+ -; Option ; Setting ; Default Value ; -+------------------------------------------------------------------+--------------------+--------------------+ -; Device ; EPM240T100C5 ; ; -; Top-level entity name ; RAM2GS ; RAM2GS ; -; Family name ; MAX II ; Cyclone V ; -; Maximum processors allowed for parallel compilation ; 4 ; ; -; Use smart compilation ; Off ; Off ; -; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; -; Enable compact report table ; Off ; Off ; -; Restructure Multiplexers ; Auto ; Auto ; -; Create Debugging Nodes for IP Cores ; Off ; Off ; -; Preserve fewer node names ; On ; On ; -; Intel FPGA IP Evaluation Mode ; Enable ; Enable ; -; Verilog Version ; Verilog_2001 ; Verilog_2001 ; -; VHDL Version ; VHDL_1993 ; VHDL_1993 ; -; State Machine Processing ; Auto ; Auto ; -; Safe State Machine ; Off ; Off ; -; Extract Verilog State Machines ; On ; On ; -; Extract VHDL State Machines ; On ; On ; -; Ignore Verilog initial constructs ; Off ; Off ; -; Iteration limit for constant Verilog loops ; 5000 ; 5000 ; -; Iteration limit for non-constant Verilog loops ; 250 ; 250 ; -; Add Pass-Through Logic to Inferred RAMs ; On ; On ; -; Infer RAMs from Raw Logic ; On ; On ; -; Parallel Synthesis ; On ; On ; -; NOT Gate Push-Back ; On ; On ; -; Power-Up Don't Care ; On ; On ; -; Remove Redundant Logic Cells ; Off ; Off ; -; Remove Duplicate Registers ; On ; On ; -; Ignore CARRY Buffers ; Off ; Off ; -; Ignore CASCADE Buffers ; Off ; Off ; -; Ignore GLOBAL Buffers ; Off ; Off ; -; Ignore ROW GLOBAL Buffers ; Off ; Off ; -; Ignore LCELL Buffers ; Off ; Off ; -; Ignore SOFT Buffers ; On ; On ; -; Limit AHDL Integers to 32 Bits ; Off ; Off ; -; Optimization Technique ; Balanced ; Balanced ; -; Carry Chain Length ; 70 ; 70 ; -; Auto Carry Chains ; On ; On ; -; Auto Open-Drain Pins ; On ; On ; -; Perform WYSIWYG Primitive Resynthesis ; Off ; Off ; -; Auto Shift Register Replacement ; Auto ; Auto ; -; Allow Shift Register Merging across Hierarchies ; Auto ; Auto ; -; Auto Clock Enable Replacement ; On ; On ; -; Allow Synchronous Control Signals ; On ; On ; -; Force Use of Synchronous Clear Signals ; Off ; Off ; -; Auto Resource Sharing ; Off ; Off ; -; Use LogicLock Constraints during Resource Balancing ; On ; On ; -; Ignore translate_off and synthesis_off directives ; Off ; Off ; -; Report Parameter Settings ; On ; On ; -; Report Source Assignments ; On ; On ; -; Report Connectivity Checks ; On ; On ; -; Ignore Maximum Fan-Out Assignments ; Off ; Off ; -; Synchronization Register Chain Length ; 2 ; 2 ; -; Power Optimization During Synthesis ; Normal compilation ; Normal compilation ; -; HDL message level ; Level2 ; Level2 ; -; Suppress Register Optimization Related Messages ; Off ; Off ; -; Number of Removed Registers Reported in Synthesis Report ; 5000 ; 5000 ; -; Number of Swept Nodes Reported in Synthesis Report ; 5000 ; 5000 ; -; Number of Inverted Registers Reported in Synthesis Report ; 100 ; 100 ; -; Clock MUX Protection ; On ; On ; -; Block Design Naming ; Auto ; Auto ; -; Synthesis Effort ; Auto ; Auto ; -; Shift Register Replacement - Allow Asynchronous Clear Signal ; On ; On ; -; Analysis & Synthesis Message Level ; Medium ; Medium ; -; Disable Register Merging Across Hierarchies ; Auto ; Auto ; -+------------------------------------------------------------------+--------------------+--------------------+ - - -+------------------------------------------+ -; Parallel Compilation ; -+----------------------------+-------------+ -; Processors ; Number ; -+----------------------------+-------------+ -; Number detected on machine ; 8 ; -; Maximum allowed ; 4 ; -; ; ; -; Average used ; 1.00 ; -; Maximum used ; 1 ; -; ; ; -; Usage by Processor ; % Time Used ; -; Processor 1 ; 100.0% ; -+----------------------------+-------------+ - - -+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Source Files Read ; -+----------------------------------+-----------------+----------------------------------+-----------------------------------------------------------+---------+ -; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; Library ; -+----------------------------------+-----------------+----------------------------------+-----------------------------------------------------------+---------+ -; ../RAM2GS-MAX.v ; yes ; User Verilog HDL File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v ; ; -; UFM.v ; yes ; User Wizard-Generated File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v ; ; -; ../RAM2GS.mif ; yes ; User Memory Initialization File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/RAM2GS.mif ; ; -+----------------------------------+-----------------+----------------------------------+-----------------------------------------------------------+---------+ - - -+-----------------------------------------------------+ -; Analysis & Synthesis Resource Usage Summary ; -+---------------------------------------------+-------+ -; Resource ; Usage ; -+---------------------------------------------+-------+ -; Total logic elements ; 184 ; -; -- Combinational with no register ; 86 ; -; -- Register only ; 30 ; -; -- Combinational with a register ; 68 ; -; ; ; -; Logic element usage by number of LUT inputs ; ; -; -- 4 input functions ; 57 ; -; -- 3 input functions ; 46 ; -; -- 2 input functions ; 42 ; -; -- 1 input functions ; 8 ; -; -- 0 input functions ; 1 ; -; ; ; -; Logic elements by mode ; ; -; -- normal mode ; 168 ; -; -- arithmetic mode ; 16 ; -; -- qfbk mode ; 0 ; -; -- register cascade mode ; 0 ; -; -- synchronous clear/load mode ; 10 ; -; -- asynchronous clear/load mode ; 0 ; -; ; ; -; Total registers ; 98 ; -; Total logic cells in carry chains ; 17 ; -; I/O pins ; 63 ; -; UFM blocks ; 1 ; -; Maximum fan-out node ; RCLK ; -; Maximum fan-out ; 55 ; -; Total fan-out ; 662 ; -; Average fan-out ; 2.67 ; -+---------------------------------------------+-------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Resource Utilization by Entity ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; |RAM2GS ; 184 (184) ; 98 ; 1 ; 63 ; 0 ; 86 (86) ; 30 (30) ; 68 (68) ; 17 (17) ; 0 (0) ; |RAM2GS ; RAM2GS ; work ; -; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; -; |UFM_altufm_none_unv:UFM_altufm_none_unv_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component ; UFM_altufm_none_unv ; work ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. - - -+---------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis IP Cores Summary ; -+--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ -; Vendor ; IP Core Name ; Version ; Release Date ; License Type ; Entity Instance ; IP Include File ; -+--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ -; Altera ; ALTUFM_NONE Intel FPGA IP ; 19.1 ; N/A ; N/A ; |RAM2GS|UFM:UFM_inst ; UFM.v ; -+--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ - - -+------------------------------------------------------+ -; General Register Statistics ; -+----------------------------------------------+-------+ -; Statistic ; Value ; -+----------------------------------------------+-------+ -; Total registers ; 98 ; -; Number of registers using Synchronous Clear ; 6 ; -; Number of registers using Synchronous Load ; 4 ; -; Number of registers using Asynchronous Clear ; 0 ; -; Number of registers using Asynchronous Load ; 0 ; -; Number of registers using Clock Enable ; 11 ; -; Number of registers using Preset ; 0 ; -+----------------------------------------------+-------+ - - -+--------------------------------------------------+ -; Inverted Register Statistics ; -+----------------------------------------+---------+ -; Inverted Register ; Fan out ; -+----------------------------------------+---------+ -; nRCS~reg0 ; 1 ; -; nRWE~reg0 ; 1 ; -; nRRAS~reg0 ; 1 ; -; nRCAS~reg0 ; 1 ; -; Total number of inverted registers = 4 ; ; -+----------------------------------------+---------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------+ -; Multiplexer Restructuring Statistics (Restructuring Performed) ; -+--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ -; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; -+--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ -; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|S[1] ; -; 3:1 ; 2 bits ; 4 LEs ; 2 LEs ; 2 LEs ; Yes ; |RAM2GS|CmdLEDEN ; -; 4:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|C1Submitted ; -+--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ - - -+-------------------------------------------------------------------------------------------------------------------+ -; Port Connectivity Checks: "UFM:UFM_inst" ; -+---------+--------+----------+-------------------------------------------------------------------------------------+ -; Port ; Type ; Severity ; Details ; -+---------+--------+----------+-------------------------------------------------------------------------------------+ -; ardin ; Input ; Info ; Stuck at GND ; -; busy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -; osc ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -; rtpbusy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -+---------+--------+----------+-------------------------------------------------------------------------------------+ - - -+-------------------------------+ -; Analysis & Synthesis Messages ; -+-------------------------------+ -Info: ******************************************************************* -Info: Running Quartus Prime Analysis & Synthesis - Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Wed Aug 16 03:23:04 2023 -Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS -Info (20032): Parallel compilation is enabled and will use up to 4 processors -Info (12021): Found 1 design units, including 1 entities, in source file /onedrive/documents/github/ram2gs/cpld/ram2gs-max.v - Info (12023): Found entity 1: RAM2GS File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 -Info (12021): Found 2 design units, including 2 entities, in source file ufm.v - Info (12023): Found entity 1: UFM_altufm_none_unv File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 47 - Info (12023): Found entity 2: UFM File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 150 -Info (12127): Elaborating entity "RAM2GS" for the top level hierarchy -Info (12128): Elaborating entity "UFM" for hierarchy "UFM:UFM_inst" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 91 -Info (12128): Elaborating entity "UFM_altufm_none_unv" for hierarchy "UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 201 -Warning (14632): Output pin "Dout[0]" driven by bidirectional pin "RD[0]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[1]" driven by bidirectional pin "RD[1]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[2]" driven by bidirectional pin "RD[2]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[3]" driven by bidirectional pin "RD[3]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[4]" driven by bidirectional pin "RD[4]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[5]" driven by bidirectional pin "RD[5]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[6]" driven by bidirectional pin "RD[6]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[7]" driven by bidirectional pin "RD[7]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Info (21057): Implemented 248 device resources after synthesis - the final resource count might be different - Info (21058): Implemented 25 input pins - Info (21059): Implemented 30 output pins - Info (21060): Implemented 8 bidirectional pins - Info (21061): Implemented 184 logic cells - Info (21070): Implemented 1 User Flash Memory blocks -Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg -Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 8 warnings - Info: Peak virtual memory: 4701 megabytes - Info: Processing ended: Wed Aug 16 03:23:14 2023 - Info: Elapsed time: 00:00:10 - Info: Total CPU time (on all processors): 00:00:24 - - -+------------------------------------------+ -; Analysis & Synthesis Suppressed Messages ; -+------------------------------------------+ -The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg. - - +Analysis & Synthesis report for RAM2GS +Sat Aug 19 21:59:40 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Analysis & Synthesis Summary + 3. Analysis & Synthesis Settings + 4. Parallel Compilation + 5. Analysis & Synthesis Source Files Read + 6. Analysis & Synthesis Resource Usage Summary + 7. Analysis & Synthesis Resource Utilization by Entity + 8. Analysis & Synthesis IP Cores Summary + 9. General Register Statistics + 10. Inverted Register Statistics + 11. Multiplexer Restructuring Statistics (Restructuring Performed) + 12. Port Connectivity Checks: "UFM:UFM_inst" + 13. Analysis & Synthesis Messages + 14. Analysis & Synthesis Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------------+ +; Analysis & Synthesis Summary ; ++-----------------------------+---------------------------------------------+ +; Analysis & Synthesis Status ; Successful - Sat Aug 19 21:59:40 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX II ; +; Total logic elements ; 184 ; +; Total pins ; 63 ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------------+---------------------------------------------+ + + ++------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Settings ; ++------------------------------------------------------------------+--------------------+--------------------+ +; Option ; Setting ; Default Value ; ++------------------------------------------------------------------+--------------------+--------------------+ +; Device ; EPM240T100C5 ; ; +; Top-level entity name ; RAM2GS ; RAM2GS ; +; Family name ; MAX II ; Cyclone V ; +; Maximum processors allowed for parallel compilation ; 4 ; ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Restructure Multiplexers ; Auto ; Auto ; +; Create Debugging Nodes for IP Cores ; Off ; Off ; +; Preserve fewer node names ; On ; On ; +; Intel FPGA IP Evaluation Mode ; Enable ; Enable ; +; Verilog Version ; Verilog_2001 ; Verilog_2001 ; +; VHDL Version ; VHDL_1993 ; VHDL_1993 ; +; State Machine Processing ; Auto ; Auto ; +; Safe State Machine ; Off ; Off ; +; Extract Verilog State Machines ; On ; On ; +; Extract VHDL State Machines ; On ; On ; +; Ignore Verilog initial constructs ; Off ; Off ; +; Iteration limit for constant Verilog loops ; 5000 ; 5000 ; +; Iteration limit for non-constant Verilog loops ; 250 ; 250 ; +; Add Pass-Through Logic to Inferred RAMs ; On ; On ; +; Infer RAMs from Raw Logic ; On ; On ; +; Parallel Synthesis ; On ; On ; +; NOT Gate Push-Back ; On ; On ; +; Power-Up Don't Care ; On ; On ; +; Remove Redundant Logic Cells ; Off ; Off ; +; Remove Duplicate Registers ; On ; On ; +; Ignore CARRY Buffers ; Off ; Off ; +; Ignore CASCADE Buffers ; Off ; Off ; +; Ignore GLOBAL Buffers ; Off ; Off ; +; Ignore ROW GLOBAL Buffers ; Off ; Off ; +; Ignore LCELL Buffers ; Off ; Off ; +; Ignore SOFT Buffers ; On ; On ; +; Limit AHDL Integers to 32 Bits ; Off ; Off ; +; Optimization Technique ; Balanced ; Balanced ; +; Carry Chain Length ; 70 ; 70 ; +; Auto Carry Chains ; On ; On ; +; Auto Open-Drain Pins ; On ; On ; +; Perform WYSIWYG Primitive Resynthesis ; Off ; Off ; +; Auto Shift Register Replacement ; Auto ; Auto ; +; Allow Shift Register Merging across Hierarchies ; Auto ; Auto ; +; Auto Clock Enable Replacement ; On ; On ; +; Allow Synchronous Control Signals ; On ; On ; +; Force Use of Synchronous Clear Signals ; Off ; Off ; +; Auto Resource Sharing ; Off ; Off ; +; Use LogicLock Constraints during Resource Balancing ; On ; On ; +; Ignore translate_off and synthesis_off directives ; Off ; Off ; +; Report Parameter Settings ; On ; On ; +; Report Source Assignments ; On ; On ; +; Report Connectivity Checks ; On ; On ; +; Ignore Maximum Fan-Out Assignments ; Off ; Off ; +; Synchronization Register Chain Length ; 2 ; 2 ; +; Power Optimization During Synthesis ; Normal compilation ; Normal compilation ; +; HDL message level ; Level2 ; Level2 ; +; Suppress Register Optimization Related Messages ; Off ; Off ; +; Number of Removed Registers Reported in Synthesis Report ; 5000 ; 5000 ; +; Number of Swept Nodes Reported in Synthesis Report ; 5000 ; 5000 ; +; Number of Inverted Registers Reported in Synthesis Report ; 100 ; 100 ; +; Clock MUX Protection ; On ; On ; +; Block Design Naming ; Auto ; Auto ; +; Synthesis Effort ; Auto ; Auto ; +; Shift Register Replacement - Allow Asynchronous Clear Signal ; On ; On ; +; Analysis & Synthesis Message Level ; Medium ; Medium ; +; Disable Register Merging Across Hierarchies ; Auto ; Auto ; ++------------------------------------------------------------------+--------------------+--------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.00 ; +; Maximum used ; 1 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; ++----------------------------+-------------+ + + ++--------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Source Files Read ; ++------------------------------------------+-----------------+----------------------------------------+----------------------------------------------+---------+ +; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; Library ; ++------------------------------------------+-----------------+----------------------------------------+----------------------------------------------+---------+ +; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v ; yes ; User Verilog HDL File ; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v ; ; +; //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v ; yes ; User Wizard-Generated File ; //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v ; ; +; RAM2GS.mif ; yes ; Auto-Found Memory Initialization File ; //ZaneMac/Repos/RAM2GS/CPLD/MAXII/RAM2GS.mif ; ; ++------------------------------------------+-----------------+----------------------------------------+----------------------------------------------+---------+ + + ++-----------------------------------------------------+ +; Analysis & Synthesis Resource Usage Summary ; ++---------------------------------------------+-------+ +; Resource ; Usage ; ++---------------------------------------------+-------+ +; Total logic elements ; 184 ; +; -- Combinational with no register ; 86 ; +; -- Register only ; 30 ; +; -- Combinational with a register ; 68 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 46 ; +; -- 2 input functions ; 42 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 168 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 0 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 10 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 98 ; +; Total logic cells in carry chains ; 17 ; +; I/O pins ; 63 ; +; UFM blocks ; 1 ; +; Maximum fan-out node ; RCLK ; +; Maximum fan-out ; 55 ; +; Total fan-out ; 662 ; +; Average fan-out ; 2.67 ; ++---------------------------------------------+-------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 184 (184) ; 98 ; 1 ; 63 ; 0 ; 86 (86) ; 30 (30) ; 68 (68) ; 17 (17) ; 0 (0) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_unv:UFM_altufm_none_unv_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component ; UFM_altufm_none_unv ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++---------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis IP Cores Summary ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Vendor ; IP Core Name ; Version ; Release Date ; License Type ; Entity Instance ; IP Include File ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Altera ; ALTUFM_NONE Intel FPGA IP ; 19.1 ; N/A ; N/A ; |RAM2GS|UFM:UFM_inst ; UFM.v ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ + + ++------------------------------------------------------+ +; General Register Statistics ; ++----------------------------------------------+-------+ +; Statistic ; Value ; ++----------------------------------------------+-------+ +; Total registers ; 98 ; +; Number of registers using Synchronous Clear ; 6 ; +; Number of registers using Synchronous Load ; 4 ; +; Number of registers using Asynchronous Clear ; 0 ; +; Number of registers using Asynchronous Load ; 0 ; +; Number of registers using Clock Enable ; 11 ; +; Number of registers using Preset ; 0 ; ++----------------------------------------------+-------+ + + ++--------------------------------------------------+ +; Inverted Register Statistics ; ++----------------------------------------+---------+ +; Inverted Register ; Fan out ; ++----------------------------------------+---------+ +; nRCS~reg0 ; 1 ; +; nRWE~reg0 ; 1 ; +; nRRAS~reg0 ; 1 ; +; nRCAS~reg0 ; 1 ; +; Total number of inverted registers = 4 ; ; ++----------------------------------------+---------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------+ +; Multiplexer Restructuring Statistics (Restructuring Performed) ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|S[1] ; +; 3:1 ; 2 bits ; 4 LEs ; 2 LEs ; 2 LEs ; Yes ; |RAM2GS|CmdLEDEN ; +; 4:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|C1Submitted ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "UFM:UFM_inst" ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; ardin ; Input ; Info ; Stuck at GND ; +; busy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; osc ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; rtpbusy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ + + ++-------------------------------+ +; Analysis & Synthesis Messages ; ++-------------------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Analysis & Synthesis + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 19 21:59:20 2023 +Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXII -c RAM2GS +Info (20032): Parallel compilation is enabled and will use up to 4 processors +Info (12021): Found 1 design units, including 1 entities, in source file //zanemac/repos/ram2gs/cpld/ram2gs-max.v + Info (12023): Found entity 1: RAM2GS File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 +Info (12021): Found 2 design units, including 2 entities, in source file ufm.v + Info (12023): Found entity 1: UFM_altufm_none_unv File: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v Line: 47 + Info (12023): Found entity 2: UFM File: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v Line: 150 +Info (12127): Elaborating entity "RAM2GS" for the top level hierarchy +Info (12128): Elaborating entity "UFM" for hierarchy "UFM:UFM_inst" File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 92 +Info (12128): Elaborating entity "UFM_altufm_none_unv" for hierarchy "UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component" File: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v Line: 201 +Warning (14632): Output pin "Dout[0]" driven by bidirectional pin "RD[0]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[1]" driven by bidirectional pin "RD[1]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[2]" driven by bidirectional pin "RD[2]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[3]" driven by bidirectional pin "RD[3]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[4]" driven by bidirectional pin "RD[4]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[5]" driven by bidirectional pin "RD[5]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[6]" driven by bidirectional pin "RD[6]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[7]" driven by bidirectional pin "RD[7]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Info (21057): Implemented 248 device resources after synthesis - the final resource count might be different + Info (21058): Implemented 25 input pins + Info (21059): Implemented 30 output pins + Info (21060): Implemented 8 bidirectional pins + Info (21061): Implemented 184 logic cells + Info (21070): Implemented 1 User Flash Memory blocks +Info (144001): Generated suppressed messages file //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg +Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 8 warnings + Info: Peak virtual memory: 4703 megabytes + Info: Processing ended: Sat Aug 19 21:59:42 2023 + Info: Elapsed time: 00:00:22 + Info: Total CPU time (on all processors): 00:00:25 + + ++------------------------------------------+ +; Analysis & Synthesis Suppressed Messages ; ++------------------------------------------+ +The suppressed messages can be found in //ZaneMac/Repos/RAM2GS/CPLD/MAXII/output_files/RAM2GS.map.smsg. + + diff --git a/CPLD/MAXII/output_files/RAM2GS.map.smsg b/CPLD/MAXII/output_files/RAM2GS.map.smsg index e9c00ac..947eac9 100644 --- a/CPLD/MAXII/output_files/RAM2GS.map.smsg +++ b/CPLD/MAXII/output_files/RAM2GS.map.smsg @@ -1,3 +1,3 @@ -Warning (10273): Verilog HDL warning at RAM2GS-MAX.v(60): extended using "x" or "z" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 60 -Warning (10463): Verilog HDL Declaration warning at UFM.v(73): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 73 -Warning (10463): Verilog HDL Declaration warning at UFM.v(173): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXII/UFM.v Line: 173 +Warning (10273): Verilog HDL warning at RAM2GS-MAX.v(61): extended using "x" or "z" File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 61 +Warning (10463): Verilog HDL Declaration warning at UFM.v(73): "program" is SystemVerilog-2005 keyword File: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v Line: 73 +Warning (10463): Verilog HDL Declaration warning at UFM.v(173): "program" is SystemVerilog-2005 keyword File: //ZaneMac/Repos/RAM2GS/CPLD/MAXII/UFM.v Line: 173 diff --git a/CPLD/MAXII/output_files/RAM2GS.map.summary b/CPLD/MAXII/output_files/RAM2GS.map.summary index c93b1c5..fb98ed9 100644 --- a/CPLD/MAXII/output_files/RAM2GS.map.summary +++ b/CPLD/MAXII/output_files/RAM2GS.map.summary @@ -1,9 +1,9 @@ -Analysis & Synthesis Status : Successful - Wed Aug 16 03:23:14 2023 -Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition -Revision Name : RAM2GS -Top-level Entity Name : RAM2GS -Family : MAX II -Total logic elements : 184 -Total pins : 63 -Total virtual pins : 0 -UFM blocks : 1 / 1 ( 100 % ) +Analysis & Synthesis Status : Successful - Sat Aug 19 21:59:40 2023 +Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Revision Name : RAM2GS +Top-level Entity Name : RAM2GS +Family : MAX II +Total logic elements : 184 +Total pins : 63 +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXII/output_files/RAM2GS.pin b/CPLD/MAXII/output_files/RAM2GS.pin index f7e2045..1fad15b 100644 --- a/CPLD/MAXII/output_files/RAM2GS.pin +++ b/CPLD/MAXII/output_files/RAM2GS.pin @@ -1,165 +1,165 @@ - -- Copyright (C) 2019 Intel Corporation. All rights reserved. - -- Your use of Intel Corporation's design tools, logic functions - -- and other software and tools, and any partner logic - -- functions, and any output files from any of the foregoing - -- (including device programming or simulation files), and any - -- associated documentation or information are expressly subject - -- to the terms and conditions of the Intel Program License - -- Subscription Agreement, the Intel Quartus Prime License Agreement, - -- the Intel FPGA IP License Agreement, or other applicable license - -- agreement, including, without limitation, that your use is for - -- the sole purpose of programming logic devices manufactured by - -- Intel and sold by Intel or its authorized distributors. Please - -- refer to the applicable agreement for further details, at - -- https://fpgasoftware.intel.com/eula. - -- - -- This is a Quartus Prime output file. It is for reporting purposes only, and is - -- not intended for use as a Quartus Prime input file. This file cannot be used - -- to make Quartus Prime pin assignments - for instructions on how to make pin - -- assignments, please see Quartus Prime help. - --------------------------------------------------------------------------------- - - - - --------------------------------------------------------------------------------- - -- NC : No Connect. This pin has no internal connection to the device. - -- DNU : Do Not Use. This pin MUST NOT be connected. - -- VCCINT : Dedicated power pin, which MUST be connected to VCC (2.5V/3.3V). - -- VCCIO : Dedicated power pin, which MUST be connected to VCC - -- of its bank. - -- Bank 1: 3.3V - -- Bank 2: 3.3V - -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. - -- It can also be used to report unused dedicated pins. The connection - -- on the board for unused dedicated pins depends on whether this will - -- be used in a future design. One example is device migration. When - -- using device migration, refer to the device pin-tables. If it is a - -- GND pin in the pin table or if it will not be used in a future design - -- for another purpose the it MUST be connected to GND. If it is an unused - -- dedicated pin, then it can be connected to a valid signal on the board - -- (low, high, or toggling) if that signal is required for a different - -- revision of the design. - -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. - -- This pin should be connected to GND. It may also be connected to a - -- valid signal on the board (low, high, or toggling) if that signal - -- is required for a different revision of the design. - -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND - -- or leave it unconnected. - -- RESERVED : Unused I/O pin, which MUST be left unconnected. - -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. - -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. - -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. - -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. - --------------------------------------------------------------------------------- - - - - --------------------------------------------------------------------------------- - -- Pin directions (input, output or bidir) are based on device operating in user mode. - --------------------------------------------------------------------------------- - -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition -CHIP "RAM2GS" ASSIGNED TO AN: EPM240T100C5 - -Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment -------------------------------------------------------------------------------------------------------------- -GND* : 1 : : : : 2 : -RDQMH : 2 : output : 3.3-V LVCMOS : : 1 : Y -nRCS : 3 : output : 3.3-V LVCMOS : : 1 : Y -nRCAS : 4 : output : 3.3-V LVCMOS : : 1 : Y -RBA[0] : 5 : output : 3.3-V LVCMOS : : 1 : Y -nRRAS : 6 : output : 3.3-V LVCMOS : : 1 : Y -RA[11] : 7 : output : 3.3-V LVCMOS : : 1 : Y -RCKE : 8 : output : 3.3-V LVCMOS : : 1 : Y -VCCIO1 : 9 : power : : 3.3V : 1 : -GNDIO : 10 : gnd : : : : -GNDINT : 11 : gnd : : : : -RCLK : 12 : input : 3.3-V LVCMOS : : 1 : Y -VCCINT : 13 : power : : 2.5V/3.3V : : -RBA[1] : 14 : output : 3.3-V LVCMOS : : 1 : Y -RA[9] : 15 : output : 3.3-V LVCMOS : : 1 : Y -RA[10] : 16 : output : 3.3-V LVCMOS : : 1 : Y -RA[8] : 17 : output : 3.3-V LVCMOS : : 1 : Y -RA[0] : 18 : output : 3.3-V LVCMOS : : 1 : Y -RA[7] : 19 : output : 3.3-V LVCMOS : : 1 : Y -RA[1] : 20 : output : 3.3-V LVCMOS : : 1 : Y -RA[6] : 21 : output : 3.3-V LVCMOS : : 1 : Y -TMS : 22 : input : : : 1 : -TDI : 23 : input : : : 1 : -TCK : 24 : input : : : 1 : -TDO : 25 : output : : : 1 : -RA[4] : 26 : output : 3.3-V LVCMOS : : 1 : Y -RA[3] : 27 : output : 3.3-V LVCMOS : : 1 : Y -Dout[5] : 28 : output : 3.3-V LVCMOS : : 1 : Y -RA[5] : 29 : output : 3.3-V LVCMOS : : 1 : Y -RA[2] : 30 : output : 3.3-V LVCMOS : : 1 : Y -VCCIO1 : 31 : power : : 3.3V : 1 : -GNDIO : 32 : gnd : : : : -Dout[0] : 33 : output : 3.3-V LVCMOS : : 1 : Y -Dout[6] : 34 : output : 3.3-V LVCMOS : : 1 : Y -Din[2] : 35 : input : 3.3-V LVCMOS : : 1 : Y -Din[1] : 36 : input : 3.3-V LVCMOS : : 1 : Y -Din[3] : 37 : input : 3.3-V LVCMOS : : 1 : Y -Din[5] : 38 : input : 3.3-V LVCMOS : : 1 : Y -Din[4] : 39 : input : 3.3-V LVCMOS : : 1 : Y -Din[7] : 40 : input : 3.3-V LVCMOS : : 1 : Y -Din[6] : 41 : input : 3.3-V LVCMOS : : 1 : Y -Din[0] : 42 : input : 3.3-V LVCMOS : : 1 : Y -Dout[7] : 43 : output : 3.3-V LVCMOS : : 1 : Y -Dout[4] : 44 : output : 3.3-V LVCMOS : : 1 : Y -VCCIO1 : 45 : power : : 3.3V : 1 : -GNDIO : 46 : gnd : : : : -Dout[3] : 47 : output : 3.3-V LVCMOS : : 1 : Y -nFWE : 48 : input : 3.3-V LVCMOS : : 1 : Y -MAin[0] : 49 : input : 3.3-V LVCMOS : : 1 : Y -MAin[2] : 50 : input : 3.3-V LVCMOS : : 1 : Y -MAin[1] : 51 : input : 3.3-V LVCMOS : : 1 : Y -PHI2 : 52 : input : 3.3-V LVCMOS : : 2 : Y -nCCAS : 53 : input : 3.3-V LVCMOS : : 2 : Y -CROW[0] : 54 : input : 3.3-V LVCMOS : : 2 : Y -CROW[1] : 55 : input : 3.3-V LVCMOS : : 2 : Y -Dout[2] : 56 : output : 3.3-V LVCMOS : : 2 : Y -Dout[1] : 57 : output : 3.3-V LVCMOS : : 2 : Y -GND* : 58 : : : : 2 : -VCCIO2 : 59 : power : : 3.3V : 2 : -GNDIO : 60 : gnd : : : : -GND* : 61 : : : : 2 : -GND* : 62 : : : : 2 : -VCCINT : 63 : power : : 2.5V/3.3V : : -GND* : 64 : : : : 2 : -GNDINT : 65 : gnd : : : : -GND* : 66 : : : : 2 : -nCRAS : 67 : input : 3.3-V LVCMOS : : 2 : Y -MAin[7] : 68 : input : 3.3-V LVCMOS : : 2 : Y -MAin[5] : 69 : input : 3.3-V LVCMOS : : 2 : Y -MAin[4] : 70 : input : 3.3-V LVCMOS : : 2 : Y -MAin[3] : 71 : input : 3.3-V LVCMOS : : 2 : Y -MAin[6] : 72 : input : 3.3-V LVCMOS : : 2 : Y -MAin[8] : 73 : input : 3.3-V LVCMOS : : 2 : Y -MAin[9] : 74 : input : 3.3-V LVCMOS : : 2 : Y -GND* : 75 : : : : 2 : -GND* : 76 : : : : 2 : -GND* : 77 : : : : 2 : -GND* : 78 : : : : 2 : -GNDIO : 79 : gnd : : : : -VCCIO2 : 80 : power : : 3.3V : 2 : -GND* : 81 : : : : 2 : -GND* : 82 : : : : 2 : -GND* : 83 : : : : 2 : -GND* : 84 : : : : 2 : -GND* : 85 : : : : 2 : -GND* : 86 : : : : 2 : -GND* : 87 : : : : 2 : -LED : 88 : output : 3.3-V LVTTL : : 2 : Y -RD[2] : 89 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[1] : 90 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[5] : 91 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[4] : 92 : bidir : 3.3-V LVCMOS : : 2 : Y -GNDIO : 93 : gnd : : : : -VCCIO2 : 94 : power : : 3.3V : 2 : -RD[6] : 95 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[0] : 96 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[7] : 97 : bidir : 3.3-V LVCMOS : : 2 : Y -RDQML : 98 : output : 3.3-V LVCMOS : : 2 : Y -RD[3] : 99 : bidir : 3.3-V LVCMOS : : 2 : Y -nRWE : 100 : output : 3.3-V LVCMOS : : 2 : Y + -- Copyright (C) 2019 Intel Corporation. All rights reserved. + -- Your use of Intel Corporation's design tools, logic functions + -- and other software and tools, and any partner logic + -- functions, and any output files from any of the foregoing + -- (including device programming or simulation files), and any + -- associated documentation or information are expressly subject + -- to the terms and conditions of the Intel Program License + -- Subscription Agreement, the Intel Quartus Prime License Agreement, + -- the Intel FPGA IP License Agreement, or other applicable license + -- agreement, including, without limitation, that your use is for + -- the sole purpose of programming logic devices manufactured by + -- Intel and sold by Intel or its authorized distributors. Please + -- refer to the applicable agreement for further details, at + -- https://fpgasoftware.intel.com/eula. + -- + -- This is a Quartus Prime output file. It is for reporting purposes only, and is + -- not intended for use as a Quartus Prime input file. This file cannot be used + -- to make Quartus Prime pin assignments - for instructions on how to make pin + -- assignments, please see Quartus Prime help. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- NC : No Connect. This pin has no internal connection to the device. + -- DNU : Do Not Use. This pin MUST NOT be connected. + -- VCCINT : Dedicated power pin, which MUST be connected to VCC (2.5V/3.3V). + -- VCCIO : Dedicated power pin, which MUST be connected to VCC + -- of its bank. + -- Bank 1: 3.3V + -- Bank 2: 3.3V + -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. + -- It can also be used to report unused dedicated pins. The connection + -- on the board for unused dedicated pins depends on whether this will + -- be used in a future design. One example is device migration. When + -- using device migration, refer to the device pin-tables. If it is a + -- GND pin in the pin table or if it will not be used in a future design + -- for another purpose the it MUST be connected to GND. If it is an unused + -- dedicated pin, then it can be connected to a valid signal on the board + -- (low, high, or toggling) if that signal is required for a different + -- revision of the design. + -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. + -- This pin should be connected to GND. It may also be connected to a + -- valid signal on the board (low, high, or toggling) if that signal + -- is required for a different revision of the design. + -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND + -- or leave it unconnected. + -- RESERVED : Unused I/O pin, which MUST be left unconnected. + -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. + -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. + -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. + -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- Pin directions (input, output or bidir) are based on device operating in user mode. + --------------------------------------------------------------------------------- + +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +CHIP "RAM2GS" ASSIGNED TO AN: EPM240T100C5 + +Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment +------------------------------------------------------------------------------------------------------------- +GND* : 1 : : : : 2 : +RDQMH : 2 : output : 3.3-V LVCMOS : : 1 : Y +nRCS : 3 : output : 3.3-V LVCMOS : : 1 : Y +nRCAS : 4 : output : 3.3-V LVCMOS : : 1 : Y +RBA[0] : 5 : output : 3.3-V LVCMOS : : 1 : Y +nRRAS : 6 : output : 3.3-V LVCMOS : : 1 : Y +RA[11] : 7 : output : 3.3-V LVCMOS : : 1 : Y +RCKE : 8 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 9 : power : : 3.3V : 1 : +GNDIO : 10 : gnd : : : : +GNDINT : 11 : gnd : : : : +RCLK : 12 : input : 3.3-V LVCMOS : : 1 : Y +VCCINT : 13 : power : : 2.5V/3.3V : : +RBA[1] : 14 : output : 3.3-V LVCMOS : : 1 : Y +RA[9] : 15 : output : 3.3-V LVCMOS : : 1 : Y +RA[10] : 16 : output : 3.3-V LVCMOS : : 1 : Y +RA[8] : 17 : output : 3.3-V LVCMOS : : 1 : Y +RA[0] : 18 : output : 3.3-V LVCMOS : : 1 : Y +RA[7] : 19 : output : 3.3-V LVCMOS : : 1 : Y +RA[1] : 20 : output : 3.3-V LVCMOS : : 1 : Y +RA[6] : 21 : output : 3.3-V LVCMOS : : 1 : Y +TMS : 22 : input : : : 1 : +TDI : 23 : input : : : 1 : +TCK : 24 : input : : : 1 : +TDO : 25 : output : : : 1 : +RA[4] : 26 : output : 3.3-V LVCMOS : : 1 : Y +RA[3] : 27 : output : 3.3-V LVCMOS : : 1 : Y +Dout[5] : 28 : output : 3.3-V LVCMOS : : 1 : Y +RA[5] : 29 : output : 3.3-V LVCMOS : : 1 : Y +RA[2] : 30 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 31 : power : : 3.3V : 1 : +GNDIO : 32 : gnd : : : : +Dout[0] : 33 : output : 3.3-V LVCMOS : : 1 : Y +Dout[6] : 34 : output : 3.3-V LVCMOS : : 1 : Y +Din[2] : 35 : input : 3.3-V LVCMOS : : 1 : Y +Din[1] : 36 : input : 3.3-V LVCMOS : : 1 : Y +Din[3] : 37 : input : 3.3-V LVCMOS : : 1 : Y +Din[5] : 38 : input : 3.3-V LVCMOS : : 1 : Y +Din[4] : 39 : input : 3.3-V LVCMOS : : 1 : Y +Din[7] : 40 : input : 3.3-V LVCMOS : : 1 : Y +Din[6] : 41 : input : 3.3-V LVCMOS : : 1 : Y +Din[0] : 42 : input : 3.3-V LVCMOS : : 1 : Y +Dout[7] : 43 : output : 3.3-V LVCMOS : : 1 : Y +Dout[4] : 44 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 45 : power : : 3.3V : 1 : +GNDIO : 46 : gnd : : : : +Dout[3] : 47 : output : 3.3-V LVCMOS : : 1 : Y +nFWE : 48 : input : 3.3-V LVCMOS : : 1 : Y +MAin[0] : 49 : input : 3.3-V LVCMOS : : 1 : Y +MAin[2] : 50 : input : 3.3-V LVCMOS : : 1 : Y +MAin[1] : 51 : input : 3.3-V LVCMOS : : 1 : Y +PHI2 : 52 : input : 3.3-V LVCMOS : : 2 : Y +nCCAS : 53 : input : 3.3-V LVCMOS : : 2 : Y +CROW[0] : 54 : input : 3.3-V LVCMOS : : 2 : Y +CROW[1] : 55 : input : 3.3-V LVCMOS : : 2 : Y +Dout[2] : 56 : output : 3.3-V LVCMOS : : 2 : Y +Dout[1] : 57 : output : 3.3-V LVCMOS : : 2 : Y +GND* : 58 : : : : 2 : +VCCIO2 : 59 : power : : 3.3V : 2 : +GNDIO : 60 : gnd : : : : +GND* : 61 : : : : 2 : +GND* : 62 : : : : 2 : +VCCINT : 63 : power : : 2.5V/3.3V : : +GND* : 64 : : : : 2 : +GNDINT : 65 : gnd : : : : +GND* : 66 : : : : 2 : +nCRAS : 67 : input : 3.3-V LVCMOS : : 2 : Y +MAin[7] : 68 : input : 3.3-V LVCMOS : : 2 : Y +MAin[5] : 69 : input : 3.3-V LVCMOS : : 2 : Y +MAin[4] : 70 : input : 3.3-V LVCMOS : : 2 : Y +MAin[3] : 71 : input : 3.3-V LVCMOS : : 2 : Y +MAin[6] : 72 : input : 3.3-V LVCMOS : : 2 : Y +MAin[8] : 73 : input : 3.3-V LVCMOS : : 2 : Y +MAin[9] : 74 : input : 3.3-V LVCMOS : : 2 : Y +GND* : 75 : : : : 2 : +GND* : 76 : : : : 2 : +GND* : 77 : : : : 2 : +GND* : 78 : : : : 2 : +GNDIO : 79 : gnd : : : : +VCCIO2 : 80 : power : : 3.3V : 2 : +GND* : 81 : : : : 2 : +GND* : 82 : : : : 2 : +GND* : 83 : : : : 2 : +GND* : 84 : : : : 2 : +GND* : 85 : : : : 2 : +GND* : 86 : : : : 2 : +GND* : 87 : : : : 2 : +LED : 88 : output : 3.3-V LVTTL : : 2 : Y +RD[2] : 89 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[1] : 90 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[5] : 91 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[4] : 92 : bidir : 3.3-V LVCMOS : : 2 : Y +GNDIO : 93 : gnd : : : : +VCCIO2 : 94 : power : : 3.3V : 2 : +RD[6] : 95 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[0] : 96 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[7] : 97 : bidir : 3.3-V LVCMOS : : 2 : Y +RDQML : 98 : output : 3.3-V LVCMOS : : 2 : Y +RD[3] : 99 : bidir : 3.3-V LVCMOS : : 2 : Y +nRWE : 100 : output : 3.3-V LVCMOS : : 2 : Y diff --git a/CPLD/MAXII/output_files/RAM2GS.sld b/CPLD/MAXII/output_files/RAM2GS.sld index f7d3ed7..41a6030 100644 --- a/CPLD/MAXII/output_files/RAM2GS.sld +++ b/CPLD/MAXII/output_files/RAM2GS.sld @@ -1 +1 @@ - + diff --git a/CPLD/MAXII/output_files/RAM2GS.sta.rpt b/CPLD/MAXII/output_files/RAM2GS.sta.rpt index 7961400..e537b41 100644 --- a/CPLD/MAXII/output_files/RAM2GS.sta.rpt +++ b/CPLD/MAXII/output_files/RAM2GS.sta.rpt @@ -1,1011 +1,1011 @@ -Timing Analyzer report for RAM2GS -Wed Aug 16 03:23:21 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Timing Analyzer Summary - 3. Parallel Compilation - 4. SDC File List - 5. Clocks - 6. Fmax Summary - 7. Setup Summary - 8. Hold Summary - 9. Recovery Summary - 10. Removal Summary - 11. Minimum Pulse Width Summary - 12. Setup: 'DRCLK' - 13. Setup: 'ARCLK' - 14. Setup: 'RCLK' - 15. Setup: 'nCRAS' - 16. Setup: 'PHI2' - 17. Hold: 'ARCLK' - 18. Hold: 'DRCLK' - 19. Hold: 'PHI2' - 20. Hold: 'nCRAS' - 21. Hold: 'RCLK' - 22. Setup Transfers - 23. Hold Transfers - 24. Report TCCS - 25. Report RSKM - 26. Unconstrained Paths Summary - 27. Clock Status Summary - 28. Unconstrained Input Ports - 29. Unconstrained Output Ports - 30. Unconstrained Input Ports - 31. Unconstrained Output Ports - 32. Timing Analyzer Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+-----------------------------------------------------------------------------+ -; Timing Analyzer Summary ; -+-----------------------+-----------------------------------------------------+ -; Quartus Prime Version ; Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Timing Analyzer ; Legacy Timing Analyzer ; -; Revision Name ; RAM2GS ; -; Device Family ; MAX II ; -; Device Name ; EPM240T100C5 ; -; Timing Models ; Final ; -; Delay Model ; Slow Model ; -; Rise/Fall Delays ; Unavailable ; -+-----------------------+-----------------------------------------------------+ - - -+------------------------------------------+ -; Parallel Compilation ; -+----------------------------+-------------+ -; Processors ; Number ; -+----------------------------+-------------+ -; Number detected on machine ; 8 ; -; Maximum allowed ; 4 ; -; ; ; -; Average used ; 1.00 ; -; Maximum used ; 2 ; -; ; ; -; Usage by Processor ; % Time Used ; -; Processor 1 ; 100.0% ; -; Processor 2 ; 0.0% ; -+----------------------------+-------------+ - - -+-------------------------------------------------------+ -; SDC File List ; -+-------------------+--------+--------------------------+ -; SDC File Path ; Status ; Read at ; -+-------------------+--------+--------------------------+ -; ../RAM2GS.sdc ; OK ; Wed Aug 16 03:23:20 2023 ; -; ../RAM2GS-MAX.sdc ; OK ; Wed Aug 16 03:23:20 2023 ; -+-------------------+--------+--------------------------+ - - -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Clocks ; -+------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ -; Clock Name ; Type ; Period ; Frequency ; Rise ; Fall ; Duty Cycle ; Divide by ; Multiply by ; Phase ; Offset ; Edge List ; Edge Shift ; Inverted ; Master ; Source ; Targets ; -+------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ -; ARCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { ARCLK } ; -; DRCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { DRCLK } ; -; nCCAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCCAS } ; -; nCRAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCRAS } ; -; PHI2 ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { PHI2 } ; -; RCLK ; Base ; 16.000 ; 62.5 MHz ; 0.000 ; 8.000 ; ; ; ; ; ; ; ; ; ; ; { RCLK } ; -+------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ - - -+-------------------------------------------------+ -; Fmax Summary ; -+-----------+-----------------+------------+------+ -; Fmax ; Restricted Fmax ; Clock Name ; Note ; -+-----------+-----------------+------------+------+ -; 10.0 MHz ; 10.0 MHz ; ARCLK ; ; -; 10.0 MHz ; 10.0 MHz ; DRCLK ; ; -; 35.93 MHz ; 35.93 MHz ; PHI2 ; ; -; 87.43 MHz ; 87.43 MHz ; RCLK ; ; -+-----------+-----------------+------------+------+ -This panel reports FMAX for every clock in the design, regardless of the user-specified clock periods. FMAX is only computed for paths where the source and destination registers or ports are driven by the same clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its inversion, FMAX is computed as if the rising and falling edges are scaled along with FMAX, such that the duty cycle (in terms of a percentage) is maintained. Altera recommends that you always use clock constraints and other slack reports for sign-off analysis. - - -+---------------------------------+ -; Setup Summary ; -+-------+---------+---------------+ -; Clock ; Slack ; End Point TNS ; -+-------+---------+---------------+ -; DRCLK ; -15.744 ; -15.744 ; -; ARCLK ; -15.723 ; -15.723 ; -; RCLK ; -7.153 ; -69.927 ; -; nCRAS ; 0.358 ; 0.000 ; -; PHI2 ; 0.545 ; 0.000 ; -+-------+---------+---------------+ - - -+---------------------------------+ -; Hold Summary ; -+-------+---------+---------------+ -; Clock ; Slack ; End Point TNS ; -+-------+---------+---------------+ -; ARCLK ; -16.277 ; -16.277 ; -; DRCLK ; -16.276 ; -16.276 ; -; PHI2 ; -0.517 ; -1.433 ; -; nCRAS ; 0.177 ; 0.000 ; -; RCLK ; 1.111 ; 0.000 ; -+-------+---------+---------------+ - - --------------------- -; Recovery Summary ; --------------------- -No paths to report. - - -------------------- -; Removal Summary ; -------------------- -No paths to report. - - -+---------------------------------+ -; Minimum Pulse Width Summary ; -+-------+---------+---------------+ -; Clock ; Slack ; End Point TNS ; -+-------+---------+---------------+ -; RCLK ; 7.734 ; 0.000 ; -; ARCLK ; 70.000 ; 0.000 ; -; DRCLK ; 70.000 ; 0.000 ; -; PHI2 ; 174.734 ; 0.000 ; -; nCCAS ; 174.734 ; 0.000 ; -; nCRAS ; 174.734 ; 0.000 ; -+-------+---------+---------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Setup: 'DRCLK' ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -15.744 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -2.195 ; 1.549 ; -; -15.724 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -2.195 ; 1.529 ; -; 100.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 200.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Setup: 'ARCLK' ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -15.723 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 8.000 ; -1.619 ; 2.104 ; -; 100.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 200.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Setup: 'RCLK' ; -+--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ -; -7.153 ; FWEr ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 5.213 ; -; -7.077 ; FWEr ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 5.137 ; -; -6.989 ; FWEr ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 5.049 ; -; -6.783 ; FWEr ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.843 ; -; -6.655 ; CBR ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.715 ; -; -6.568 ; CBR ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.628 ; -; -6.492 ; CBR ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.552 ; -; -6.404 ; CBR ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.464 ; -; -6.343 ; CmdSubmitted ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.852 ; -; -6.343 ; CmdSubmitted ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.852 ; -; -6.334 ; CBR ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.394 ; -; -6.220 ; FWEr ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.280 ; -; -5.605 ; CmdSubmitted ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.114 ; -; -5.599 ; CmdSubmitted ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.108 ; -; -5.577 ; CmdDRCLK ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.086 ; -; -5.296 ; CmdDRDIn ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.805 ; -; -5.243 ; Cmdn8MEGEN ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.752 ; -; -5.224 ; CmdLEDEN ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.733 ; -; -4.658 ; CmdUFMPrgm ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.167 ; -; -4.655 ; CmdUFMPrgm ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.164 ; -; -4.396 ; CmdUFMErase ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 1.905 ; -; -4.393 ; CmdUFMErase ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 1.902 ; -; -0.901 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 1.000 ; 3.348 ; 4.916 ; -; -0.822 ; nCRAS ; RASr ; nCRAS ; RCLK ; 1.000 ; 3.348 ; 4.837 ; -; -0.665 ; nCCAS ; CASr ; nCCAS ; RCLK ; 1.000 ; 3.348 ; 4.680 ; -; 0.099 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 2.000 ; 3.348 ; 4.916 ; -; 0.178 ; nCRAS ; RASr ; nCRAS ; RCLK ; 2.000 ; 3.348 ; 4.837 ; -; 0.335 ; nCCAS ; CASr ; nCCAS ; RCLK ; 2.000 ; 3.348 ; 4.680 ; -; 1.951 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; UFMD ; DRCLK ; RCLK ; 8.000 ; 2.195 ; 7.911 ; -; 1.973 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; n8MEGEN ; DRCLK ; RCLK ; 8.000 ; 2.195 ; 7.889 ; -; 1.975 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; LEDEN ; DRCLK ; RCLK ; 8.000 ; 2.195 ; 7.887 ; -; 4.562 ; Ready ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 11.105 ; -; 4.647 ; InitReady ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 11.020 ; -; 4.845 ; InitReady ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.822 ; -; 4.945 ; S[0] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.722 ; -; 5.143 ; S[0] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.524 ; -; 5.168 ; FS[17] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.499 ; -; 5.459 ; FS[17] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.208 ; -; 5.603 ; S[1] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.064 ; -; 5.801 ; S[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.866 ; -; 6.158 ; FS[0] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.509 ; -; 6.164 ; InitReady ; RA10 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.503 ; -; 6.298 ; FS[16] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.369 ; -; 6.441 ; FS[2] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.226 ; -; 6.462 ; S[0] ; RA10 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.205 ; -; 6.496 ; FS[17] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.171 ; -; 6.589 ; FS[16] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.078 ; -; 6.614 ; InitReady ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.053 ; -; 6.620 ; FS[1] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.047 ; -; 6.752 ; FS[17] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.915 ; -; 6.762 ; FS[12] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.905 ; -; 6.794 ; FS[7] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.873 ; -; 6.910 ; FS[11] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.757 ; -; 6.912 ; S[0] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.755 ; -; 7.065 ; FS[17] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.602 ; -; 7.081 ; FS[12] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.586 ; -; 7.090 ; FS[13] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.577 ; -; 7.120 ; S[1] ; RA10 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.547 ; -; 7.121 ; UFMInitDone ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.546 ; -; 7.140 ; InitReady ; IS[2] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.527 ; -; 7.151 ; FS[5] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.516 ; -; 7.180 ; Ready ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.487 ; -; 7.229 ; FS[11] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.438 ; -; 7.264 ; FS[7] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.403 ; -; 7.377 ; FS[17] ; ARCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.290 ; -; 7.380 ; FS[17] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.287 ; -; 7.382 ; IS[2] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.285 ; -; 7.385 ; RASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.282 ; -; 7.409 ; FS[13] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.258 ; -; 7.412 ; UFMInitDone ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.255 ; -; 7.438 ; S[0] ; IS[2] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.229 ; -; 7.447 ; FS[10] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.220 ; -; 7.479 ; FS[4] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.188 ; -; 7.506 ; IS[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.161 ; -; 7.558 ; FS[6] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.109 ; -; 7.570 ; S[1] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.097 ; -; 7.583 ; RASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.084 ; -; 7.606 ; FS[6] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.061 ; -; 7.626 ; FS[16] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.041 ; -; 7.641 ; InitReady ; IS[3] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.026 ; -; 7.645 ; InitReady ; IS[1] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.022 ; -; 7.711 ; S[0] ; Ready ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.956 ; -; 7.762 ; RASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.905 ; -; 7.766 ; FS[10] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.901 ; -; 7.786 ; FS[17] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.881 ; -; 7.871 ; FS[3] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.796 ; -; 7.882 ; FS[16] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.785 ; -; 7.939 ; S[0] ; IS[3] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.728 ; -; 7.943 ; S[0] ; IS[1] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.724 ; -; 7.961 ; InitReady ; nRRAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.706 ; -; 8.058 ; FS[15] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.609 ; -; 8.072 ; IS[3] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.595 ; -; 8.096 ; S[1] ; IS[2] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.571 ; -; 8.130 ; FS[7] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.537 ; -; 8.195 ; FS[16] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.472 ; -; 8.203 ; Ready ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.464 ; -; 8.221 ; FS[14] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.446 ; -; 8.259 ; S[0] ; nRRAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.408 ; -; 8.301 ; FS[7] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.366 ; -; 8.309 ; FS[5] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.358 ; -+--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------+ -; Setup: 'nCRAS' ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; 0.358 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.916 ; -; 0.779 ; Ready ; RowA[9] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.495 ; -; 0.780 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.494 ; -; 0.789 ; Ready ; RowA[4] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.485 ; -; 0.789 ; Ready ; RowA[6] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.485 ; -; 0.790 ; Ready ; RowA[7] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.484 ; -; 0.791 ; Ready ; RowA[3] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.483 ; -; 1.260 ; Ready ; RowA[2] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.014 ; -; 1.260 ; Ready ; RowA[5] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.014 ; -; 1.261 ; Ready ; RowA[0] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.013 ; -; 1.264 ; Ready ; RowA[8] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.010 ; -; 1.269 ; Ready ; RowA[1] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.005 ; -; 173.113 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 175.000 ; 5.955 ; 7.509 ; -; 348.113 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 350.000 ; 5.955 ; 7.509 ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ - - -+----------------------------------------------------------------------------------------------------------+ -; Setup: 'PHI2' ; -+---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ -; 0.545 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; 1.000 ; 3.158 ; 3.280 ; -; 1.198 ; Ready ; RA11 ; RCLK ; PHI2 ; 2.000 ; 3.158 ; 3.627 ; -; 1.883 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 2.000 ; 3.158 ; 2.942 ; -; 1.925 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; 1.000 ; 3.158 ; 1.900 ; -; 1.963 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; 1.000 ; 3.158 ; 1.862 ; -; 161.083 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.584 ; -; 161.083 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.584 ; -; 161.083 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.584 ; -; 161.249 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.418 ; -; 161.249 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.418 ; -; 161.249 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.418 ; -; 161.787 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.880 ; -; 161.787 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.880 ; -; 161.787 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.880 ; -; 161.798 ; Bank[6] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.869 ; -; 161.798 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.869 ; -; 161.798 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.869 ; -; 161.964 ; Bank[7] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.703 ; -; 161.964 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.703 ; -; 161.964 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.703 ; -; 162.217 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.450 ; -; 162.289 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.378 ; -; 162.289 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.378 ; -; 162.289 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.378 ; -; 162.359 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.308 ; -; 162.359 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.308 ; -; 162.359 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.308 ; -; 162.383 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.284 ; -; 162.502 ; Bank[5] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.165 ; -; 162.502 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.165 ; -; 162.502 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.165 ; -; 162.522 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.145 ; -; 162.522 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.145 ; -; 162.522 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.145 ; -; 162.921 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.746 ; -; 163.004 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.663 ; -; 163.004 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.663 ; -; 163.004 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.663 ; -; 163.056 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.611 ; -; 163.056 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.611 ; -; 163.056 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.611 ; -; 163.074 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.593 ; -; 163.074 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.593 ; -; 163.074 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.593 ; -; 163.237 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.430 ; -; 163.237 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.430 ; -; 163.237 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.430 ; -; 163.423 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.244 ; -; 163.493 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.174 ; -; 163.570 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.097 ; -; 163.570 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.097 ; -; 163.570 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.097 ; -; 163.656 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.011 ; -; 163.771 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.896 ; -; 163.771 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.896 ; -; 163.771 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.896 ; -; 163.824 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.843 ; -; 163.990 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.677 ; -; 164.000 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.667 ; -; 164.000 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.667 ; -; 164.166 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.501 ; -; 164.166 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.501 ; -; 164.190 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.477 ; -; 164.285 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.382 ; -; 164.285 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.382 ; -; 164.285 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.382 ; -; 164.528 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.139 ; -; 164.704 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.963 ; -; 164.704 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.963 ; -; 164.704 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.963 ; -; 165.030 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.637 ; -; 165.100 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.567 ; -; 165.206 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.461 ; -; 165.206 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.461 ; -; 165.263 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.404 ; -; 165.276 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.391 ; -; 165.276 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.391 ; -; 165.439 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.228 ; -; 165.439 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.228 ; -; 165.797 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.870 ; -; 165.951 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.716 ; -; 165.951 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.716 ; -; 165.973 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.694 ; -; 165.973 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.694 ; -; 166.117 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.550 ; -; 166.117 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.550 ; -; 166.311 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.356 ; -; 166.487 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.180 ; -; 166.487 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.180 ; -; 166.655 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.012 ; -; 166.655 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.012 ; -; 167.157 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.510 ; -; 167.157 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.510 ; -; 167.227 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.440 ; -; 167.227 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.440 ; -; 167.390 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.277 ; -; 167.390 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.277 ; -; 167.924 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 6.743 ; -; 167.924 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 6.743 ; -; 168.438 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 6.229 ; -+---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Hold: 'ARCLK' ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -16.277 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 0.000 ; -1.619 ; 2.104 ; -; 60.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 0.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Hold: 'DRCLK' ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -16.276 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -2.195 ; 1.529 ; -; -16.256 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -2.195 ; 1.549 ; -; 60.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 0.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+------------------------------------------------------------------------------------------------------------+ -; Hold: 'PHI2' ; -+---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ -; -0.517 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; -1.000 ; 3.158 ; 1.862 ; -; -0.479 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; -1.000 ; 3.158 ; 1.900 ; -; -0.437 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 0.000 ; 3.158 ; 2.942 ; -; 0.248 ; Ready ; RA11 ; RCLK ; PHI2 ; 0.000 ; 3.158 ; 3.627 ; -; 0.901 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; -1.000 ; 3.158 ; 3.280 ; -; 1.668 ; UFMOscEN ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 1.889 ; -; 1.909 ; XOR8MEG ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.130 ; -; 2.134 ; CmdEnable ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.355 ; -; 2.332 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.553 ; -; 2.332 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.553 ; -; 4.449 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.670 ; -; 5.001 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.222 ; -; 5.001 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.222 ; -; 6.056 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.277 ; -; 6.475 ; CmdEnable ; CmdLEDEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.696 ; -; 6.475 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.696 ; -; 6.475 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.696 ; -; 7.190 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 7.411 ; -; 7.190 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 7.411 ; -; 7.190 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 7.411 ; -; 178.853 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 4.074 ; -; 179.466 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 4.687 ; -; 179.980 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.201 ; -; 180.514 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.735 ; -; 180.677 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.898 ; -; 180.747 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.968 ; -; 180.813 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.034 ; -; 180.913 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.134 ; -; 181.249 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.470 ; -; 181.327 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.548 ; -; 181.427 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.648 ; -; 181.605 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.826 ; -; 181.787 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.008 ; -; 181.861 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.082 ; -; 181.953 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.174 ; -; 181.961 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.182 ; -; 182.024 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.245 ; -; 182.094 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.315 ; -; 182.119 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.340 ; -; 182.124 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.345 ; -; 182.194 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.415 ; -; 182.596 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.817 ; -; 182.653 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.874 ; -; 182.696 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.917 ; -; 182.816 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.037 ; -; 182.886 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.107 ; -; 183.134 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.355 ; -; 183.135 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.356 ; -; 183.234 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.455 ; -; 183.300 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.521 ; -; 183.388 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.609 ; -; 183.400 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.621 ; -; 183.649 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.870 ; -; 183.926 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.147 ; -; 184.092 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.313 ; -; 184.183 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.404 ; -; 184.346 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.567 ; -; 184.416 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.637 ; -; 184.742 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.963 ; -; 184.918 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.139 ; -; 185.161 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.382 ; -; 185.161 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.382 ; -; 185.161 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.382 ; -; 185.256 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.477 ; -; 185.456 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.677 ; -; 185.622 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.843 ; -; 185.675 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.896 ; -; 185.675 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.896 ; -; 185.675 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.896 ; -; 185.790 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.011 ; -; 185.876 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.097 ; -; 185.876 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.097 ; -; 185.876 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.097 ; -; 185.953 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.174 ; -; 186.023 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.244 ; -; 186.209 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.430 ; -; 186.209 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.430 ; -; 186.209 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.430 ; -; 186.372 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.593 ; -; 186.372 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.593 ; -; 186.372 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.593 ; -; 186.390 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.611 ; -; 186.390 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.611 ; -; 186.390 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.611 ; -; 186.442 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.663 ; -; 186.442 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.663 ; -; 186.442 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.663 ; -; 186.525 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.746 ; -; 186.924 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.145 ; -; 186.924 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.145 ; -; 186.924 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.145 ; -; 186.944 ; Bank[5] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.165 ; -; 186.944 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.165 ; -; 186.944 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.165 ; -; 187.063 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.284 ; -; 187.087 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.308 ; -; 187.087 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.308 ; -; 187.087 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.308 ; -; 187.157 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.378 ; -; 187.157 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.378 ; -+---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------+ -; Hold: 'nCRAS' ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; 0.177 ; Ready ; RowA[1] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.005 ; -; 0.182 ; Ready ; RowA[8] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.010 ; -; 0.185 ; Ready ; RowA[0] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.013 ; -; 0.186 ; Ready ; RowA[2] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.014 ; -; 0.186 ; Ready ; RowA[5] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.014 ; -; 0.655 ; Ready ; RowA[3] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.483 ; -; 0.656 ; Ready ; RowA[7] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.484 ; -; 0.657 ; Ready ; RowA[4] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.485 ; -; 0.657 ; Ready ; RowA[6] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.485 ; -; 0.666 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.494 ; -; 0.667 ; Ready ; RowA[9] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.495 ; -; 1.088 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.916 ; -; 1.333 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.000 ; 5.955 ; 7.509 ; -; 176.333 ; nCCAS ; CBR ; nCCAS ; nCRAS ; -175.000 ; 5.955 ; 7.509 ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------+ -; Hold: 'RCLK' ; -+-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ -; 1.111 ; nCCAS ; CASr ; nCCAS ; RCLK ; 0.000 ; 3.348 ; 4.680 ; -; 1.268 ; nCRAS ; RASr ; nCRAS ; RCLK ; 0.000 ; 3.348 ; 4.837 ; -; 1.347 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 0.000 ; 3.348 ; 4.916 ; -; 1.395 ; CASr2 ; CASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.616 ; -; 1.640 ; FS[0] ; FS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.861 ; -; 1.659 ; FS[17] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.880 ; -; 1.729 ; IS[3] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.950 ; -; 1.899 ; InitReady ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.120 ; -; 1.964 ; S[0] ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.185 ; -; 1.984 ; UFMInitDone ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.205 ; -; 2.108 ; FS[6] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.329 ; -; 2.111 ; nCCAS ; CASr ; nCCAS ; RCLK ; -1.000 ; 3.348 ; 4.680 ; -; 2.116 ; UFMD ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.337 ; -; 2.116 ; FS[9] ; FS[9] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.337 ; -; 2.117 ; FS[16] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; -; 2.117 ; UFMReqErase ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; -; 2.117 ; FS[8] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; -; 2.144 ; FS[10] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.365 ; -; 2.144 ; FS[11] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.365 ; -; 2.145 ; UFMErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.366 ; -; 2.186 ; IS[3] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.407 ; -; 2.201 ; IS[1] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.422 ; -; 2.203 ; IS[1] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.424 ; -; 2.226 ; RASr3 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.447 ; -; 2.230 ; FS[4] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.451 ; -; 2.230 ; FS[7] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.451 ; -; 2.231 ; FS[5] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.452 ; -; 2.231 ; FS[3] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.452 ; -; 2.239 ; FS[15] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; -; 2.239 ; FS[14] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; -; 2.240 ; UFMD ; UFMD ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.461 ; -; 2.241 ; FS[12] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.462 ; -; 2.242 ; IS[0] ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.463 ; -; 2.242 ; FS[2] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.463 ; -; 2.250 ; UFMProgram ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.471 ; -; 2.250 ; FS[13] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.471 ; -; 2.268 ; nCRAS ; RASr ; nCRAS ; RCLK ; -1.000 ; 3.348 ; 4.837 ; -; 2.273 ; S[0] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.494 ; -; 2.278 ; IS[2] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.499 ; -; 2.280 ; S[0] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.501 ; -; 2.347 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; -1.000 ; 3.348 ; 4.916 ; -; 2.349 ; PHI2r2 ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.570 ; -; 2.355 ; PHI2r2 ; LEDEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.576 ; -; 2.360 ; Ready ; Ready ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.581 ; -; 2.370 ; PHI2r ; PHI2r2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.591 ; -; 2.411 ; IS[0] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.632 ; -; 2.497 ; PHI2r2 ; PHI2r3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.718 ; -; 2.547 ; n8MEGEN ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.768 ; -; 2.605 ; LEDEN ; LEDEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.826 ; -; 2.619 ; FS[1] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.840 ; -; 2.721 ; IS[0] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.942 ; -; 2.893 ; FS[16] ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.114 ; -; 2.936 ; IS[1] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.157 ; -; 2.940 ; RASr ; RASr2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.161 ; -; 2.940 ; FS[6] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.161 ; -; 2.948 ; FS[9] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.169 ; -; 2.949 ; FS[16] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.170 ; -; 2.957 ; RASr2 ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.178 ; -; 2.963 ; RASr2 ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.184 ; -; 2.976 ; FS[10] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.197 ; -; 2.976 ; FS[11] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.197 ; -; 2.991 ; RCKEEN ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.212 ; -; 3.006 ; CASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.227 ; -; 3.051 ; FS[6] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.272 ; -; 3.059 ; FS[9] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.280 ; -; 3.087 ; FS[11] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.308 ; -; 3.087 ; FS[10] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.308 ; -; 3.091 ; PHI2r3 ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.312 ; -; 3.091 ; PHI2r3 ; DRCLK ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.312 ; -; 3.118 ; FS[0] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.339 ; -; 3.167 ; UFMD ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.388 ; -; 3.170 ; FS[4] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; -; 3.170 ; FS[7] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; -; 3.170 ; FS[9] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; -; 3.171 ; FS[5] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.392 ; -; 3.179 ; FS[15] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; -; 3.179 ; FS[14] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; -; 3.181 ; FS[12] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.402 ; -; 3.182 ; FS[2] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.403 ; -; 3.183 ; RASr ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.404 ; -; 3.198 ; FS[10] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.419 ; -; 3.212 ; CASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.433 ; -; 3.238 ; UFMReqErase ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.459 ; -; 3.281 ; FS[4] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.502 ; -; 3.281 ; FS[9] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.502 ; -; 3.282 ; FS[5] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.503 ; -; 3.290 ; FS[15] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; -; 3.290 ; FS[14] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; -; 3.328 ; S[1] ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.549 ; -; 3.329 ; S[1] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.550 ; -; 3.335 ; S[1] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.556 ; -; 3.354 ; UFMReqErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.575 ; -; 3.355 ; UFMInitDone ; ARShift ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.576 ; -; 3.376 ; CASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.597 ; -; 3.392 ; FS[4] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.613 ; -; 3.393 ; FS[5] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.614 ; -; 3.401 ; FS[14] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.622 ; -; 3.418 ; RCKE~reg0 ; nRRAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.639 ; -; 3.462 ; RASr2 ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.683 ; -; 3.492 ; FS[3] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.713 ; -+-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ - - -+-------------------------------------------------------------------+ -; Setup Transfers ; -+------------+----------+----------+----------+----------+----------+ -; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; -+------------+----------+----------+----------+----------+----------+ -; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; -; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; -; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; -; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; -; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; -; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; -; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; -; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; -; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; -; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; -+------------+----------+----------+----------+----------+----------+ -Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. - - -+-------------------------------------------------------------------+ -; Hold Transfers ; -+------------+----------+----------+----------+----------+----------+ -; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; -+------------+----------+----------+----------+----------+----------+ -; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; -; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; -; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; -; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; -; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; -; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; -; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; -; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; -; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; -; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; -+------------+----------+----------+----------+----------+----------+ -Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. - - ---------------- -; Report TCCS ; ---------------- -No dedicated SERDES Transmitter circuitry present in device or used in design - - ---------------- -; Report RSKM ; ---------------- -No non-DPA dedicated SERDES Receiver circuitry present in device or used in design - - -+------------------------------------------------+ -; Unconstrained Paths Summary ; -+---------------------------------+-------+------+ -; Property ; Setup ; Hold ; -+---------------------------------+-------+------+ -; Illegal Clocks ; 0 ; 0 ; -; Unconstrained Clocks ; 0 ; 0 ; -; Unconstrained Input Ports ; 31 ; 31 ; -; Unconstrained Input Port Paths ; 249 ; 249 ; -; Unconstrained Output Ports ; 38 ; 38 ; -; Unconstrained Output Port Paths ; 78 ; 78 ; -+---------------------------------+-------+------+ - - -+-------------------------------------+ -; Clock Status Summary ; -+--------+-------+------+-------------+ -; Target ; Clock ; Type ; Status ; -+--------+-------+------+-------------+ -; ARCLK ; ARCLK ; Base ; Constrained ; -; DRCLK ; DRCLK ; Base ; Constrained ; -; PHI2 ; PHI2 ; Base ; Constrained ; -; RCLK ; RCLK ; Base ; Constrained ; -; nCCAS ; nCCAS ; Base ; Constrained ; -; nCRAS ; nCRAS ; Base ; Constrained ; -+--------+-------+------+-------------+ - - -+---------------------------------------------------------------------------------------------------+ -; Unconstrained Input Ports ; -+------------+--------------------------------------------------------------------------------------+ -; Input Port ; Comment ; -+------------+--------------------------------------------------------------------------------------+ -; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -+------------+--------------------------------------------------------------------------------------+ - - -+-----------------------------------------------------------------------------------------------------+ -; Unconstrained Output Ports ; -+-------------+---------------------------------------------------------------------------------------+ -; Output Port ; Comment ; -+-------------+---------------------------------------------------------------------------------------+ -; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -+-------------+---------------------------------------------------------------------------------------+ - - -+---------------------------------------------------------------------------------------------------+ -; Unconstrained Input Ports ; -+------------+--------------------------------------------------------------------------------------+ -; Input Port ; Comment ; -+------------+--------------------------------------------------------------------------------------+ -; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -+------------+--------------------------------------------------------------------------------------+ - - -+-----------------------------------------------------------------------------------------------------+ -; Unconstrained Output Ports ; -+-------------+---------------------------------------------------------------------------------------+ -; Output Port ; Comment ; -+-------------+---------------------------------------------------------------------------------------+ -; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -+-------------+---------------------------------------------------------------------------------------+ - - -+--------------------------+ -; Timing Analyzer Messages ; -+--------------------------+ -Info: ******************************************************************* -Info: Running Quartus Prime Timing Analyzer - Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Wed Aug 16 03:23:20 2023 -Info: Command: quartus_sta RAM2GS-MAXII -c RAM2GS -Info: qsta_default_script.tcl version: #1 -Info (20032): Parallel compilation is enabled and will use up to 4 processors -Info (21077): Low junction temperature is 0 degrees C -Info (21077): High junction temperature is 85 degrees C -Info (334003): Started post-fitting delay annotation -Info (334004): Delay annotation completed successfully -Info (332104): Reading SDC File: '../RAM2GS.sdc' -Info (332104): Reading SDC File: '../RAM2GS-MAX.sdc' -Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON -Info: Can't run Report Timing Closure Recommendations. The current device family is not supported. -Critical Warning (332148): Timing requirements not met -Info (332146): Worst-case setup slack is -15.744 - Info (332119): Slack End Point TNS Clock - Info (332119): ========= =================== ===================== - Info (332119): -15.744 -15.744 DRCLK - Info (332119): -15.723 -15.723 ARCLK - Info (332119): -7.153 -69.927 RCLK - Info (332119): 0.358 0.000 nCRAS - Info (332119): 0.545 0.000 PHI2 -Info (332146): Worst-case hold slack is -16.277 - Info (332119): Slack End Point TNS Clock - Info (332119): ========= =================== ===================== - Info (332119): -16.277 -16.277 ARCLK - Info (332119): -16.276 -16.276 DRCLK - Info (332119): -0.517 -1.433 PHI2 - Info (332119): 0.177 0.000 nCRAS - Info (332119): 1.111 0.000 RCLK -Info (332140): No Recovery paths to report -Info (332140): No Removal paths to report -Info (332146): Worst-case minimum pulse width slack is 7.734 - Info (332119): Slack End Point TNS Clock - Info (332119): ========= =================== ===================== - Info (332119): 7.734 0.000 RCLK - Info (332119): 70.000 0.000 ARCLK - Info (332119): 70.000 0.000 DRCLK - Info (332119): 174.734 0.000 PHI2 - Info (332119): 174.734 0.000 nCCAS - Info (332119): 174.734 0.000 nCRAS -Info (332001): The selected device family is not supported by the report_metastability command. -Info (332102): Design is not fully constrained for setup requirements -Info (332102): Design is not fully constrained for hold requirements -Info: Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning - Info: Peak virtual memory: 4676 megabytes - Info: Processing ended: Wed Aug 16 03:23:21 2023 - Info: Elapsed time: 00:00:01 - Info: Total CPU time (on all processors): 00:00:01 - - +Timing Analyzer report for RAM2GS +Sat Aug 19 22:00:33 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Timing Analyzer Summary + 3. Parallel Compilation + 4. SDC File List + 5. Clocks + 6. Fmax Summary + 7. Setup Summary + 8. Hold Summary + 9. Recovery Summary + 10. Removal Summary + 11. Minimum Pulse Width Summary + 12. Setup: 'DRCLK' + 13. Setup: 'ARCLK' + 14. Setup: 'RCLK' + 15. Setup: 'nCRAS' + 16. Setup: 'PHI2' + 17. Hold: 'ARCLK' + 18. Hold: 'DRCLK' + 19. Hold: 'PHI2' + 20. Hold: 'nCRAS' + 21. Hold: 'RCLK' + 22. Setup Transfers + 23. Hold Transfers + 24. Report TCCS + 25. Report RSKM + 26. Unconstrained Paths Summary + 27. Clock Status Summary + 28. Unconstrained Input Ports + 29. Unconstrained Output Ports + 30. Unconstrained Input Ports + 31. Unconstrained Output Ports + 32. Timing Analyzer Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++-----------------------------------------------------------------------------+ +; Timing Analyzer Summary ; ++-----------------------+-----------------------------------------------------+ +; Quartus Prime Version ; Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Timing Analyzer ; Legacy Timing Analyzer ; +; Revision Name ; RAM2GS ; +; Device Family ; MAX II ; +; Device Name ; EPM240T100C5 ; +; Timing Models ; Final ; +; Delay Model ; Slow Model ; +; Rise/Fall Delays ; Unavailable ; ++-----------------------+-----------------------------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.00 ; +; Maximum used ; 2 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 0.0% ; ++----------------------------+-------------+ + + ++--------------------------------------------------------------------------------+ +; SDC File List ; ++--------------------------------------------+--------+--------------------------+ +; SDC File Path ; Status ; Read at ; ++--------------------------------------------+--------+--------------------------+ +; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc ; OK ; Sat Aug 19 22:00:23 2023 ; +; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc ; OK ; Sat Aug 19 22:00:24 2023 ; ++--------------------------------------------+--------+--------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Clocks ; ++------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; Clock Name ; Type ; Period ; Frequency ; Rise ; Fall ; Duty Cycle ; Divide by ; Multiply by ; Phase ; Offset ; Edge List ; Edge Shift ; Inverted ; Master ; Source ; Targets ; ++------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; ARCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { ARCLK } ; +; DRCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { DRCLK } ; +; nCCAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCCAS } ; +; nCRAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCRAS } ; +; PHI2 ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { PHI2 } ; +; RCLK ; Base ; 16.000 ; 62.5 MHz ; 0.000 ; 8.000 ; ; ; ; ; ; ; ; ; ; ; { RCLK } ; ++------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ + + ++-------------------------------------------------+ +; Fmax Summary ; ++-----------+-----------------+------------+------+ +; Fmax ; Restricted Fmax ; Clock Name ; Note ; ++-----------+-----------------+------------+------+ +; 10.0 MHz ; 10.0 MHz ; ARCLK ; ; +; 10.0 MHz ; 10.0 MHz ; DRCLK ; ; +; 35.93 MHz ; 35.93 MHz ; PHI2 ; ; +; 87.43 MHz ; 87.43 MHz ; RCLK ; ; ++-----------+-----------------+------------+------+ +This panel reports FMAX for every clock in the design, regardless of the user-specified clock periods. FMAX is only computed for paths where the source and destination registers or ports are driven by the same clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its inversion, FMAX is computed as if the rising and falling edges are scaled along with FMAX, such that the duty cycle (in terms of a percentage) is maintained. Altera recommends that you always use clock constraints and other slack reports for sign-off analysis. + + ++---------------------------------+ +; Setup Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; DRCLK ; -15.744 ; -15.744 ; +; ARCLK ; -15.723 ; -15.723 ; +; RCLK ; -7.153 ; -69.927 ; +; nCRAS ; 0.358 ; 0.000 ; +; PHI2 ; 0.545 ; 0.000 ; ++-------+---------+---------------+ + + ++---------------------------------+ +; Hold Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; ARCLK ; -16.277 ; -16.277 ; +; DRCLK ; -16.276 ; -16.276 ; +; PHI2 ; -0.517 ; -1.433 ; +; nCRAS ; 0.177 ; 0.000 ; +; RCLK ; 1.111 ; 0.000 ; ++-------+---------+---------------+ + + +-------------------- +; Recovery Summary ; +-------------------- +No paths to report. + + +------------------- +; Removal Summary ; +------------------- +No paths to report. + + ++---------------------------------+ +; Minimum Pulse Width Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; RCLK ; 7.734 ; 0.000 ; +; ARCLK ; 70.000 ; 0.000 ; +; DRCLK ; 70.000 ; 0.000 ; +; PHI2 ; 174.734 ; 0.000 ; +; nCCAS ; 174.734 ; 0.000 ; +; nCRAS ; 174.734 ; 0.000 ; ++-------+---------+---------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -15.744 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -2.195 ; 1.549 ; +; -15.724 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -2.195 ; 1.529 ; +; 100.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 200.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -15.723 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 8.000 ; -1.619 ; 2.104 ; +; 100.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 200.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'RCLK' ; ++--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; -7.153 ; FWEr ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 5.213 ; +; -7.077 ; FWEr ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 5.137 ; +; -6.989 ; FWEr ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 5.049 ; +; -6.783 ; FWEr ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.843 ; +; -6.655 ; CBR ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.715 ; +; -6.568 ; CBR ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.628 ; +; -6.492 ; CBR ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.552 ; +; -6.404 ; CBR ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.464 ; +; -6.343 ; CmdSubmitted ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.852 ; +; -6.343 ; CmdSubmitted ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.852 ; +; -6.334 ; CBR ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.394 ; +; -6.220 ; FWEr ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -2.607 ; 4.280 ; +; -5.605 ; CmdSubmitted ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.114 ; +; -5.599 ; CmdSubmitted ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.108 ; +; -5.577 ; CmdDRCLK ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 3.086 ; +; -5.296 ; CmdDRDIn ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.805 ; +; -5.243 ; Cmdn8MEGEN ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.752 ; +; -5.224 ; CmdLEDEN ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.733 ; +; -4.658 ; CmdUFMPrgm ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.167 ; +; -4.655 ; CmdUFMPrgm ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 2.164 ; +; -4.396 ; CmdUFMErase ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 1.905 ; +; -4.393 ; CmdUFMErase ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -3.158 ; 1.902 ; +; -0.901 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 1.000 ; 3.348 ; 4.916 ; +; -0.822 ; nCRAS ; RASr ; nCRAS ; RCLK ; 1.000 ; 3.348 ; 4.837 ; +; -0.665 ; nCCAS ; CASr ; nCCAS ; RCLK ; 1.000 ; 3.348 ; 4.680 ; +; 0.099 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 2.000 ; 3.348 ; 4.916 ; +; 0.178 ; nCRAS ; RASr ; nCRAS ; RCLK ; 2.000 ; 3.348 ; 4.837 ; +; 0.335 ; nCCAS ; CASr ; nCCAS ; RCLK ; 2.000 ; 3.348 ; 4.680 ; +; 1.951 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; UFMD ; DRCLK ; RCLK ; 8.000 ; 2.195 ; 7.911 ; +; 1.973 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; n8MEGEN ; DRCLK ; RCLK ; 8.000 ; 2.195 ; 7.889 ; +; 1.975 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; LEDEN ; DRCLK ; RCLK ; 8.000 ; 2.195 ; 7.887 ; +; 4.562 ; Ready ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 11.105 ; +; 4.647 ; InitReady ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 11.020 ; +; 4.845 ; InitReady ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.822 ; +; 4.945 ; S[0] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.722 ; +; 5.143 ; S[0] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.524 ; +; 5.168 ; FS[17] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.499 ; +; 5.459 ; FS[17] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.208 ; +; 5.603 ; S[1] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 10.064 ; +; 5.801 ; S[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.866 ; +; 6.158 ; FS[0] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.509 ; +; 6.164 ; InitReady ; RA10 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.503 ; +; 6.298 ; FS[16] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.369 ; +; 6.441 ; FS[2] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.226 ; +; 6.462 ; S[0] ; RA10 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.205 ; +; 6.496 ; FS[17] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.171 ; +; 6.589 ; FS[16] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.078 ; +; 6.614 ; InitReady ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.053 ; +; 6.620 ; FS[1] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 9.047 ; +; 6.752 ; FS[17] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.915 ; +; 6.762 ; FS[12] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.905 ; +; 6.794 ; FS[7] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.873 ; +; 6.910 ; FS[11] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.757 ; +; 6.912 ; S[0] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.755 ; +; 7.065 ; FS[17] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.602 ; +; 7.081 ; FS[12] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.586 ; +; 7.090 ; FS[13] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.577 ; +; 7.120 ; S[1] ; RA10 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.547 ; +; 7.121 ; UFMInitDone ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.546 ; +; 7.140 ; InitReady ; IS[2] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.527 ; +; 7.151 ; FS[5] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.516 ; +; 7.180 ; Ready ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.487 ; +; 7.229 ; FS[11] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.438 ; +; 7.264 ; FS[7] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.403 ; +; 7.377 ; FS[17] ; ARCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.290 ; +; 7.380 ; FS[17] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.287 ; +; 7.382 ; IS[2] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.285 ; +; 7.385 ; RASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.282 ; +; 7.409 ; FS[13] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.258 ; +; 7.412 ; UFMInitDone ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.255 ; +; 7.438 ; S[0] ; IS[2] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.229 ; +; 7.447 ; FS[10] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.220 ; +; 7.479 ; FS[4] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.188 ; +; 7.506 ; IS[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.161 ; +; 7.558 ; FS[6] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.109 ; +; 7.570 ; S[1] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.097 ; +; 7.583 ; RASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.084 ; +; 7.606 ; FS[6] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.061 ; +; 7.626 ; FS[16] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.041 ; +; 7.641 ; InitReady ; IS[3] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.026 ; +; 7.645 ; InitReady ; IS[1] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 8.022 ; +; 7.711 ; S[0] ; Ready ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.956 ; +; 7.762 ; RASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.905 ; +; 7.766 ; FS[10] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.901 ; +; 7.786 ; FS[17] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.881 ; +; 7.871 ; FS[3] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.796 ; +; 7.882 ; FS[16] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.785 ; +; 7.939 ; S[0] ; IS[3] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.728 ; +; 7.943 ; S[0] ; IS[1] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.724 ; +; 7.961 ; InitReady ; nRRAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.706 ; +; 8.058 ; FS[15] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.609 ; +; 8.072 ; IS[3] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.595 ; +; 8.096 ; S[1] ; IS[2] ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.571 ; +; 8.130 ; FS[7] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.537 ; +; 8.195 ; FS[16] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.472 ; +; 8.203 ; Ready ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.464 ; +; 8.221 ; FS[14] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.446 ; +; 8.259 ; S[0] ; nRRAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.408 ; +; 8.301 ; FS[7] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.366 ; +; 8.309 ; FS[5] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 7.358 ; ++--------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------+ +; Setup: 'nCRAS' ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; 0.358 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.916 ; +; 0.779 ; Ready ; RowA[9] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.495 ; +; 0.780 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.494 ; +; 0.789 ; Ready ; RowA[4] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.485 ; +; 0.789 ; Ready ; RowA[6] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.485 ; +; 0.790 ; Ready ; RowA[7] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.484 ; +; 0.791 ; Ready ; RowA[3] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.483 ; +; 1.260 ; Ready ; RowA[2] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.014 ; +; 1.260 ; Ready ; RowA[5] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.014 ; +; 1.261 ; Ready ; RowA[0] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.013 ; +; 1.264 ; Ready ; RowA[8] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.010 ; +; 1.269 ; Ready ; RowA[1] ; RCLK ; nCRAS ; 1.000 ; 2.607 ; 2.005 ; +; 173.113 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 175.000 ; 5.955 ; 7.509 ; +; 348.113 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 350.000 ; 5.955 ; 7.509 ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++----------------------------------------------------------------------------------------------------------+ +; Setup: 'PHI2' ; ++---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ +; 0.545 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; 1.000 ; 3.158 ; 3.280 ; +; 1.198 ; Ready ; RA11 ; RCLK ; PHI2 ; 2.000 ; 3.158 ; 3.627 ; +; 1.883 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 2.000 ; 3.158 ; 2.942 ; +; 1.925 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; 1.000 ; 3.158 ; 1.900 ; +; 1.963 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; 1.000 ; 3.158 ; 1.862 ; +; 161.083 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.584 ; +; 161.083 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.584 ; +; 161.083 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.584 ; +; 161.249 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.418 ; +; 161.249 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.418 ; +; 161.249 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 13.418 ; +; 161.787 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.880 ; +; 161.787 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.880 ; +; 161.787 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.880 ; +; 161.798 ; Bank[6] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.869 ; +; 161.798 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.869 ; +; 161.798 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.869 ; +; 161.964 ; Bank[7] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.703 ; +; 161.964 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.703 ; +; 161.964 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.703 ; +; 162.217 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.450 ; +; 162.289 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.378 ; +; 162.289 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.378 ; +; 162.289 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.378 ; +; 162.359 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.308 ; +; 162.359 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.308 ; +; 162.359 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.308 ; +; 162.383 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.284 ; +; 162.502 ; Bank[5] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.165 ; +; 162.502 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.165 ; +; 162.502 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.165 ; +; 162.522 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.145 ; +; 162.522 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.145 ; +; 162.522 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 12.145 ; +; 162.921 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.746 ; +; 163.004 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.663 ; +; 163.004 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.663 ; +; 163.004 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.663 ; +; 163.056 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.611 ; +; 163.056 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.611 ; +; 163.056 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.611 ; +; 163.074 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.593 ; +; 163.074 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.593 ; +; 163.074 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.593 ; +; 163.237 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.430 ; +; 163.237 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.430 ; +; 163.237 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.430 ; +; 163.423 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.244 ; +; 163.493 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.174 ; +; 163.570 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.097 ; +; 163.570 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.097 ; +; 163.570 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.097 ; +; 163.656 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 11.011 ; +; 163.771 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.896 ; +; 163.771 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.896 ; +; 163.771 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.896 ; +; 163.824 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.843 ; +; 163.990 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.677 ; +; 164.000 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.667 ; +; 164.000 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.667 ; +; 164.166 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.501 ; +; 164.166 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.501 ; +; 164.190 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.477 ; +; 164.285 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.382 ; +; 164.285 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.382 ; +; 164.285 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.382 ; +; 164.528 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 10.139 ; +; 164.704 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.963 ; +; 164.704 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.963 ; +; 164.704 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.963 ; +; 165.030 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.637 ; +; 165.100 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.567 ; +; 165.206 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.461 ; +; 165.206 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.461 ; +; 165.263 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.404 ; +; 165.276 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.391 ; +; 165.276 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.391 ; +; 165.439 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.228 ; +; 165.439 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 9.228 ; +; 165.797 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.870 ; +; 165.951 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.716 ; +; 165.951 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.716 ; +; 165.973 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.694 ; +; 165.973 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.694 ; +; 166.117 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.550 ; +; 166.117 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.550 ; +; 166.311 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.356 ; +; 166.487 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.180 ; +; 166.487 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.180 ; +; 166.655 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.012 ; +; 166.655 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 8.012 ; +; 167.157 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.510 ; +; 167.157 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.510 ; +; 167.227 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.440 ; +; 167.227 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.440 ; +; 167.390 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.277 ; +; 167.390 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 7.277 ; +; 167.924 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 6.743 ; +; 167.924 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 6.743 ; +; 168.438 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 6.229 ; ++---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -16.277 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 0.000 ; -1.619 ; 2.104 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -16.276 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -2.195 ; 1.529 ; +; -16.256 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -2.195 ; 1.549 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_unv:UFM_altufm_none_unv_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++------------------------------------------------------------------------------------------------------------+ +; Hold: 'PHI2' ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; -0.517 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; -1.000 ; 3.158 ; 1.862 ; +; -0.479 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; -1.000 ; 3.158 ; 1.900 ; +; -0.437 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 0.000 ; 3.158 ; 2.942 ; +; 0.248 ; Ready ; RA11 ; RCLK ; PHI2 ; 0.000 ; 3.158 ; 3.627 ; +; 0.901 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; -1.000 ; 3.158 ; 3.280 ; +; 1.668 ; UFMOscEN ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 1.889 ; +; 1.909 ; XOR8MEG ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.130 ; +; 2.134 ; CmdEnable ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.355 ; +; 2.332 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.553 ; +; 2.332 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 2.553 ; +; 4.449 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.670 ; +; 5.001 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.222 ; +; 5.001 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.222 ; +; 6.056 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.277 ; +; 6.475 ; CmdEnable ; CmdLEDEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.696 ; +; 6.475 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.696 ; +; 6.475 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 6.696 ; +; 7.190 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 7.411 ; +; 7.190 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 7.411 ; +; 7.190 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 7.411 ; +; 178.853 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 4.074 ; +; 179.466 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 4.687 ; +; 179.980 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.201 ; +; 180.514 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.735 ; +; 180.677 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.898 ; +; 180.747 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 5.968 ; +; 180.813 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.034 ; +; 180.913 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.134 ; +; 181.249 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.470 ; +; 181.327 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.548 ; +; 181.427 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.648 ; +; 181.605 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 6.826 ; +; 181.787 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.008 ; +; 181.861 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.082 ; +; 181.953 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.174 ; +; 181.961 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.182 ; +; 182.024 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.245 ; +; 182.094 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.315 ; +; 182.119 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.340 ; +; 182.124 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.345 ; +; 182.194 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.415 ; +; 182.596 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.817 ; +; 182.653 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.874 ; +; 182.696 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.917 ; +; 182.816 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.037 ; +; 182.886 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.107 ; +; 183.134 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.355 ; +; 183.135 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.356 ; +; 183.234 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.455 ; +; 183.300 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.521 ; +; 183.388 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.609 ; +; 183.400 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.621 ; +; 183.649 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.870 ; +; 183.926 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.147 ; +; 184.092 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.313 ; +; 184.183 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.404 ; +; 184.346 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.567 ; +; 184.416 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.637 ; +; 184.742 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.963 ; +; 184.918 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.139 ; +; 185.161 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.382 ; +; 185.161 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.382 ; +; 185.161 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.382 ; +; 185.256 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.477 ; +; 185.456 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.677 ; +; 185.622 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.843 ; +; 185.675 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.896 ; +; 185.675 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.896 ; +; 185.675 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.896 ; +; 185.790 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.011 ; +; 185.876 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.097 ; +; 185.876 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.097 ; +; 185.876 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.097 ; +; 185.953 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.174 ; +; 186.023 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.244 ; +; 186.209 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.430 ; +; 186.209 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.430 ; +; 186.209 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.430 ; +; 186.372 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.593 ; +; 186.372 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.593 ; +; 186.372 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.593 ; +; 186.390 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.611 ; +; 186.390 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.611 ; +; 186.390 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.611 ; +; 186.442 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.663 ; +; 186.442 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.663 ; +; 186.442 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.663 ; +; 186.525 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.746 ; +; 186.924 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.145 ; +; 186.924 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.145 ; +; 186.924 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.145 ; +; 186.944 ; Bank[5] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.165 ; +; 186.944 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.165 ; +; 186.944 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.165 ; +; 187.063 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.284 ; +; 187.087 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.308 ; +; 187.087 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.308 ; +; 187.087 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.308 ; +; 187.157 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.378 ; +; 187.157 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.378 ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------+ +; Hold: 'nCRAS' ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; 0.177 ; Ready ; RowA[1] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.005 ; +; 0.182 ; Ready ; RowA[8] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.010 ; +; 0.185 ; Ready ; RowA[0] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.013 ; +; 0.186 ; Ready ; RowA[2] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.014 ; +; 0.186 ; Ready ; RowA[5] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.014 ; +; 0.655 ; Ready ; RowA[3] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.483 ; +; 0.656 ; Ready ; RowA[7] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.484 ; +; 0.657 ; Ready ; RowA[4] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.485 ; +; 0.657 ; Ready ; RowA[6] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.485 ; +; 0.666 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.494 ; +; 0.667 ; Ready ; RowA[9] ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.495 ; +; 1.088 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; -1.000 ; 2.607 ; 2.916 ; +; 1.333 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.000 ; 5.955 ; 7.509 ; +; 176.333 ; nCCAS ; CBR ; nCCAS ; nCRAS ; -175.000 ; 5.955 ; 7.509 ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------+ +; Hold: 'RCLK' ; ++-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; 1.111 ; nCCAS ; CASr ; nCCAS ; RCLK ; 0.000 ; 3.348 ; 4.680 ; +; 1.268 ; nCRAS ; RASr ; nCRAS ; RCLK ; 0.000 ; 3.348 ; 4.837 ; +; 1.347 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 0.000 ; 3.348 ; 4.916 ; +; 1.395 ; CASr2 ; CASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.616 ; +; 1.640 ; FS[0] ; FS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.861 ; +; 1.659 ; FS[17] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.880 ; +; 1.729 ; IS[3] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 1.950 ; +; 1.899 ; InitReady ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.120 ; +; 1.964 ; S[0] ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.185 ; +; 1.984 ; UFMInitDone ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.205 ; +; 2.108 ; FS[6] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.329 ; +; 2.111 ; nCCAS ; CASr ; nCCAS ; RCLK ; -1.000 ; 3.348 ; 4.680 ; +; 2.116 ; UFMD ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.337 ; +; 2.116 ; FS[9] ; FS[9] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.337 ; +; 2.117 ; FS[16] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; +; 2.117 ; UFMReqErase ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; +; 2.117 ; FS[8] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.338 ; +; 2.144 ; FS[10] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.365 ; +; 2.144 ; FS[11] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.365 ; +; 2.145 ; UFMErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.366 ; +; 2.186 ; IS[3] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.407 ; +; 2.201 ; IS[1] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.422 ; +; 2.203 ; IS[1] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.424 ; +; 2.226 ; RASr3 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.447 ; +; 2.230 ; FS[4] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.451 ; +; 2.230 ; FS[7] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.451 ; +; 2.231 ; FS[5] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.452 ; +; 2.231 ; FS[3] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.452 ; +; 2.239 ; FS[15] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; +; 2.239 ; FS[14] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.460 ; +; 2.240 ; UFMD ; UFMD ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.461 ; +; 2.241 ; FS[12] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.462 ; +; 2.242 ; IS[0] ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.463 ; +; 2.242 ; FS[2] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.463 ; +; 2.250 ; UFMProgram ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.471 ; +; 2.250 ; FS[13] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.471 ; +; 2.268 ; nCRAS ; RASr ; nCRAS ; RCLK ; -1.000 ; 3.348 ; 4.837 ; +; 2.273 ; S[0] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.494 ; +; 2.278 ; IS[2] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.499 ; +; 2.280 ; S[0] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.501 ; +; 2.347 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; -1.000 ; 3.348 ; 4.916 ; +; 2.349 ; PHI2r2 ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.570 ; +; 2.355 ; PHI2r2 ; LEDEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.576 ; +; 2.360 ; Ready ; Ready ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.581 ; +; 2.370 ; PHI2r ; PHI2r2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.591 ; +; 2.411 ; IS[0] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.632 ; +; 2.497 ; PHI2r2 ; PHI2r3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.718 ; +; 2.547 ; n8MEGEN ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.768 ; +; 2.605 ; LEDEN ; LEDEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.826 ; +; 2.619 ; FS[1] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.840 ; +; 2.721 ; IS[0] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 2.942 ; +; 2.893 ; FS[16] ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.114 ; +; 2.936 ; IS[1] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.157 ; +; 2.940 ; RASr ; RASr2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.161 ; +; 2.940 ; FS[6] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.161 ; +; 2.948 ; FS[9] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.169 ; +; 2.949 ; FS[16] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.170 ; +; 2.957 ; RASr2 ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.178 ; +; 2.963 ; RASr2 ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.184 ; +; 2.976 ; FS[10] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.197 ; +; 2.976 ; FS[11] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.197 ; +; 2.991 ; RCKEEN ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.212 ; +; 3.006 ; CASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.227 ; +; 3.051 ; FS[6] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.272 ; +; 3.059 ; FS[9] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.280 ; +; 3.087 ; FS[11] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.308 ; +; 3.087 ; FS[10] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.308 ; +; 3.091 ; PHI2r3 ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.312 ; +; 3.091 ; PHI2r3 ; DRCLK ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.312 ; +; 3.118 ; FS[0] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.339 ; +; 3.167 ; UFMD ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.388 ; +; 3.170 ; FS[4] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; +; 3.170 ; FS[7] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; +; 3.170 ; FS[9] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.391 ; +; 3.171 ; FS[5] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.392 ; +; 3.179 ; FS[15] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; +; 3.179 ; FS[14] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.400 ; +; 3.181 ; FS[12] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.402 ; +; 3.182 ; FS[2] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.403 ; +; 3.183 ; RASr ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.404 ; +; 3.198 ; FS[10] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.419 ; +; 3.212 ; CASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.433 ; +; 3.238 ; UFMReqErase ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.459 ; +; 3.281 ; FS[4] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.502 ; +; 3.281 ; FS[9] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.502 ; +; 3.282 ; FS[5] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.503 ; +; 3.290 ; FS[15] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; +; 3.290 ; FS[14] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.511 ; +; 3.328 ; S[1] ; nRowColSel ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.549 ; +; 3.329 ; S[1] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.550 ; +; 3.335 ; S[1] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.556 ; +; 3.354 ; UFMReqErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.575 ; +; 3.355 ; UFMInitDone ; ARShift ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.576 ; +; 3.376 ; CASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.597 ; +; 3.392 ; FS[4] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.613 ; +; 3.393 ; FS[5] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.614 ; +; 3.401 ; FS[14] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.622 ; +; 3.418 ; RCKE~reg0 ; nRRAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.639 ; +; 3.462 ; RASr2 ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.683 ; +; 3.492 ; FS[3] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.713 ; ++-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++-------------------------------------------------------------------+ +; Setup Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; +; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; +; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; +; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + ++-------------------------------------------------------------------+ +; Hold Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; +; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; +; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; +; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + +--------------- +; Report TCCS ; +--------------- +No dedicated SERDES Transmitter circuitry present in device or used in design + + +--------------- +; Report RSKM ; +--------------- +No non-DPA dedicated SERDES Receiver circuitry present in device or used in design + + ++------------------------------------------------+ +; Unconstrained Paths Summary ; ++---------------------------------+-------+------+ +; Property ; Setup ; Hold ; ++---------------------------------+-------+------+ +; Illegal Clocks ; 0 ; 0 ; +; Unconstrained Clocks ; 0 ; 0 ; +; Unconstrained Input Ports ; 31 ; 31 ; +; Unconstrained Input Port Paths ; 249 ; 249 ; +; Unconstrained Output Ports ; 38 ; 38 ; +; Unconstrained Output Port Paths ; 78 ; 78 ; ++---------------------------------+-------+------+ + + ++-------------------------------------+ +; Clock Status Summary ; ++--------+-------+------+-------------+ +; Target ; Clock ; Type ; Status ; ++--------+-------+------+-------------+ +; ARCLK ; ARCLK ; Base ; Constrained ; +; DRCLK ; DRCLK ; Base ; Constrained ; +; PHI2 ; PHI2 ; Base ; Constrained ; +; RCLK ; RCLK ; Base ; Constrained ; +; nCCAS ; nCCAS ; Base ; Constrained ; +; nCRAS ; nCRAS ; Base ; Constrained ; ++--------+-------+------+-------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++--------------------------+ +; Timing Analyzer Messages ; ++--------------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Timing Analyzer + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 19 22:00:20 2023 +Info: Command: quartus_sta RAM2GS-MAXII -c RAM2GS +Info: qsta_default_script.tcl version: #1 +Info (20032): Parallel compilation is enabled and will use up to 4 processors +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (334003): Started post-fitting delay annotation +Info (334004): Delay annotation completed successfully +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc' +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc' +Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON +Info: Can't run Report Timing Closure Recommendations. The current device family is not supported. +Critical Warning (332148): Timing requirements not met +Info (332146): Worst-case setup slack is -15.744 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -15.744 -15.744 DRCLK + Info (332119): -15.723 -15.723 ARCLK + Info (332119): -7.153 -69.927 RCLK + Info (332119): 0.358 0.000 nCRAS + Info (332119): 0.545 0.000 PHI2 +Info (332146): Worst-case hold slack is -16.277 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -16.277 -16.277 ARCLK + Info (332119): -16.276 -16.276 DRCLK + Info (332119): -0.517 -1.433 PHI2 + Info (332119): 0.177 0.000 nCRAS + Info (332119): 1.111 0.000 RCLK +Info (332140): No Recovery paths to report +Info (332140): No Removal paths to report +Info (332146): Worst-case minimum pulse width slack is 7.734 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): 7.734 0.000 RCLK + Info (332119): 70.000 0.000 ARCLK + Info (332119): 70.000 0.000 DRCLK + Info (332119): 174.734 0.000 PHI2 + Info (332119): 174.734 0.000 nCCAS + Info (332119): 174.734 0.000 nCRAS +Info (332001): The selected device family is not supported by the report_metastability command. +Info (332102): Design is not fully constrained for setup requirements +Info (332102): Design is not fully constrained for hold requirements +Info: Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning + Info: Peak virtual memory: 4678 megabytes + Info: Processing ended: Sat Aug 19 22:00:33 2023 + Info: Elapsed time: 00:00:13 + Info: Total CPU time (on all processors): 00:00:02 + + diff --git a/CPLD/MAXII/output_files/RAM2GS.sta.summary b/CPLD/MAXII/output_files/RAM2GS.sta.summary index 71518be..2444f00 100644 --- a/CPLD/MAXII/output_files/RAM2GS.sta.summary +++ b/CPLD/MAXII/output_files/RAM2GS.sta.summary @@ -1,69 +1,69 @@ ------------------------------------------------------------- -Timing Analyzer Summary ------------------------------------------------------------- - -Type : Setup 'DRCLK' -Slack : -15.744 -TNS : -15.744 - -Type : Setup 'ARCLK' -Slack : -15.723 -TNS : -15.723 - -Type : Setup 'RCLK' -Slack : -7.153 -TNS : -69.927 - -Type : Setup 'nCRAS' -Slack : 0.358 -TNS : 0.000 - -Type : Setup 'PHI2' -Slack : 0.545 -TNS : 0.000 - -Type : Hold 'ARCLK' -Slack : -16.277 -TNS : -16.277 - -Type : Hold 'DRCLK' -Slack : -16.276 -TNS : -16.276 - -Type : Hold 'PHI2' -Slack : -0.517 -TNS : -1.433 - -Type : Hold 'nCRAS' -Slack : 0.177 -TNS : 0.000 - -Type : Hold 'RCLK' -Slack : 1.111 -TNS : 0.000 - -Type : Minimum Pulse Width 'RCLK' -Slack : 7.734 -TNS : 0.000 - -Type : Minimum Pulse Width 'ARCLK' -Slack : 70.000 -TNS : 0.000 - -Type : Minimum Pulse Width 'DRCLK' -Slack : 70.000 -TNS : 0.000 - -Type : Minimum Pulse Width 'PHI2' -Slack : 174.734 -TNS : 0.000 - -Type : Minimum Pulse Width 'nCCAS' -Slack : 174.734 -TNS : 0.000 - -Type : Minimum Pulse Width 'nCRAS' -Slack : 174.734 -TNS : 0.000 - ------------------------------------------------------------- +------------------------------------------------------------ +Timing Analyzer Summary +------------------------------------------------------------ + +Type : Setup 'DRCLK' +Slack : -15.744 +TNS : -15.744 + +Type : Setup 'ARCLK' +Slack : -15.723 +TNS : -15.723 + +Type : Setup 'RCLK' +Slack : -7.153 +TNS : -69.927 + +Type : Setup 'nCRAS' +Slack : 0.358 +TNS : 0.000 + +Type : Setup 'PHI2' +Slack : 0.545 +TNS : 0.000 + +Type : Hold 'ARCLK' +Slack : -16.277 +TNS : -16.277 + +Type : Hold 'DRCLK' +Slack : -16.276 +TNS : -16.276 + +Type : Hold 'PHI2' +Slack : -0.517 +TNS : -1.433 + +Type : Hold 'nCRAS' +Slack : 0.177 +TNS : 0.000 + +Type : Hold 'RCLK' +Slack : 1.111 +TNS : 0.000 + +Type : Minimum Pulse Width 'RCLK' +Slack : 7.734 +TNS : 0.000 + +Type : Minimum Pulse Width 'ARCLK' +Slack : 70.000 +TNS : 0.000 + +Type : Minimum Pulse Width 'DRCLK' +Slack : 70.000 +TNS : 0.000 + +Type : Minimum Pulse Width 'PHI2' +Slack : 174.734 +TNS : 0.000 + +Type : Minimum Pulse Width 'nCCAS' +Slack : 174.734 +TNS : 0.000 + +Type : Minimum Pulse Width 'nCRAS' +Slack : 174.734 +TNS : 0.000 + +------------------------------------------------------------ diff --git a/CPLD/MAXV/RAM2GS.qws b/CPLD/MAXV/RAM2GS.qws deleted file mode 100644 index 63563b76eda4b19c3f4f321afd3f1b7df67b8d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48 ocmZ?JV1NM`h8%`OhGK>ihIoc@hJ1!1hHN0O04SEskP1@-0GYrBX8-^I diff --git a/CPLD/MAXV/db/RAM2GS-MAXV.quiproj.13204.rdr.flock b/CPLD/MAXV/db/RAM2GS-MAXV.quiproj.13204.rdr.flock new file mode 100644 index 0000000..e69de29 diff --git a/CPLD/MAXV/db/RAM2GS.(0).cnf.hdb b/CPLD/MAXV/db/RAM2GS.(0).cnf.hdb index cb9fb76a5cee67b4d2c7d25fbf69877374c0bea9..afccacf4f345420a21668e56a4072e1469851c8d 100644 GIT binary patch delta 2806 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 delta 2752 zcmV;x3P1Js8P*w)M^%6{00000002-600000003J80000000000007nu00000004La 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 G3yJ|~W?P#8 diff --git a/CPLD/MAXV/db/RAM2GS.(1).cnf.cdb b/CPLD/MAXV/db/RAM2GS.(1).cnf.cdb index e16c6099826a7bc0405f36634a4e575d29443f05..0cfcff9dadade6cd610439d7c036ebee18b38721 100644 GIT binary patch delta 860 zcmV-i1Ec)y3hWAyPZh%h00000006cE0000000000003-}WGa7+!!${4X_E<)gyO~@ zhd(oFs^TI=r(a_%0@TV+ZK`seFms7?yjx&yx=sw z;h3%*w5m|aGQEEh@5S`S-b`=CVYg|m%^SCx#eW5?cWh}XwP7zR$w05NsJe`Z2#oRzH6UWVz z#lJD1ivvX54G1) zVE&;oVAa1nn0JgM&XgBCtFbaYoCIvfv*dn%gHpN3XL+*Zn|r}vs0T+-6=S~Ud>msA zCT={(d1B46dDrw9qt3TP&mx}oo*|fK@A`~$PV1FZqp=cOb7 delta 861 zcmV-j1ET!w3hfGzPZh)i00000006cE0000000000003=~WGa7!4$~yn(k2ro3B`>+ z$gMjUE?kHpxbO$~1N;FZbWy+WzUEFIoy@H*wDg2C_i^rb?m6eaPNswqXTWE{7d#jc zOWzAZ6!4oC$7COx;xd@!RoNrNab2E78OHUEb=@W|P1)$iTH8YMpico6#@)B8Juf&- zZ#bqa2dyepvP^$(#Je%Qu{+b7aoBBIYxBk}>eid>&b>@um6HKN^RKlN;1%^Ecq#YRdw}Mj|l7O{mPz$FZ=k7PvJQ*VpWo7 zdZAb?2BoDjQIbo_Nbo7;U7^T4s47bTLspinsI*^4k&b>6`NJ-|3EwZOFbK6f6W?z+ zaZ&L}WUPOgm}SYhs669;x3}vW6L-|=8TEHVGv zjN)}}Cz@#gKJYM-3%m=JMCaGW6Ddij{V9=~T7E?Y$X1)p_2;3U>`2DVlcbtopo(lw zNYeL3=ptKvHZ@Nf=j5KBp@?jiCF%GxC?ZP{L*%5|DRq=N>F6h@BTJn7u>L|PqnZ#e z7)5_Zp=rCg!y;pxNBPGn(8q+5xEx%W5HoP7+g}Mb*W%_~;~X90mGDCcL%BMfUAo|V zE|`C43|RH=4CWmpi8JK|&uXkp4<`Ye@hrLDU!znm@>!lN`Q~0Q80x_hRK=LDIUh%u z{fQgTah_OnY~D3J!l<>}i@3dV&d~$Zozpn=L@yQdEwX8EVads+&3{y6Nd^zOB-u&B nN!0QI-R6*vE9GE(ILqJ|Bjb#GKqt{RsAG~g=lKV-zXPoS9ucR- diff --git a/CPLD/MAXV/db/RAM2GS.(1).cnf.hdb b/CPLD/MAXV/db/RAM2GS.(1).cnf.hdb index 67a1ae03711516962db41441d062b77d305c086f..c1b3fc8eda9e24990e31fe102e2cc55b38387406 100644 GIT binary patch delta 491 zcmV`+uCyA&zdLy^Lp6je1`iWJNriz0=2C{lR9!hb57c+9aj zKq}9wr&Z5D8B;UKnC6%TbXLyJ;OF#IZIVz`= zqpMrv!1GSf5!)%pdf-3W^7pBSMep{+B%6hP6BssuUSAU!5U>tQw`_rC-4{L6tyxpv zmr2wYNw2zJ6VlgiLTVan2Qy;w^yrw7;7e9JW!@<^c!WB_9VxF6ZQ+-X&XWx=LQuU% hbc_&q`Ecg5FB4e3GwZVEKLE)*zPyvWH?u|pT>(zA)n5Pr delta 523 zcmV+m0`&ce2crj&Pk&1S00000000F70000000000005%{00000004La#8k^p!!Qs` zp+JQ|LV_C-;>Zd0!2$6B+&FTM(j8Uxc9n#Sk|F-tG}?`)M_ z%GOm!W5cs1I1!Iiw)N1xwdLFd$HsgGOB?ZK--{$AHg^ zHe_9E1J%}seBNl(C8lMRnWpAXJE|K&tK?C~lw8t0gFZnm;SnhB5H-S=kIu6RaE73K zjc8~gAm3mO@K5l~75?G^fz>PP@K+b;^i(&Raiwr|r>8R~S+?ZU6FHB$0!Zd@^G@$S N00030|FbXxSOH4+?q2`^ diff --git a/CPLD/MAXV/db/RAM2GS.(2).cnf.cdb b/CPLD/MAXV/db/RAM2GS.(2).cnf.cdb index 47b390b0b78676e24540a6e45bcc53246103e4a3..cb0d93beee40c74f639a32a0439b100270dbcd12 100644 GIT binary patch delta 1037 zcmV+o1oHd647v=EPk&7W00000001Ea00000000000024$00000004La>{v@r6Hyet zEe`?TuZRx}iMnxNf*TWcGo`f>fi^RR$ZAq(!3w2h3Q1x+VkS3;lOyZ>mFREZ4lq_snB3 ziH7by;V-56oV{SYv`b5s@>0bvm&}S?St%E|aq%iHhBQQhxzPGi=GX=lM5kn@(eZrM z^AAZ{w9>*hYDowN9nPm3tK1DXiw|ZVloHR;qwWUa0e@mu9D`AfEL<1C@L^7Fyu48{?777**5y3Wf+~E}x*#JFJb(tU z?j1V+tAEbr3{T1nV4Xq3v}fmEbV(p{B<_O4)8x7=zW#CNO#_tlo(bxaO2Ue=QWBX@ zD6*bEtMqb*YbUJbz-3L0#FS5riAs1rDRNyFh)7IOk|L(KH(4LO*%Q2%d)#PfFITU05`dw1ho5bboo!M6{I6QqeRPlC*^9=p1y6ixKh5 zKM82zC;Errc>f08{f3-)br2G-#&R$7o!Zm)(I?TzX7z2OVe?pA-D<6E&d3-1VGv>3 z$HTrG97EA1rAE>pRxY9T$gh|1@uf80MCVPzsoU|R(AHNUj3DwO&RC^^-p+jH zDNBYMCHZxgTe4PCU2CR*>TET1)x{XvqXlIbUEDob=dOaaT~&Hbz8-N zPPVi1yMh09(Y8?|Q`x-T)#mC(aLw#ucYjn?t4m?KxnkK)oo@g&g>y+ErWHipk({a} zl{TkZKRR&}d^aTc0dNN#q%LO_%w;1tU$BjQ-Yi&_Z5E1Y3|6Vpr>AH`yC;uFmV16y zk=64b1W8uUtkq;m3eQZCq)>g3P|G(6`AjCNQwy;qTKNH1+k>qlVtKt$y83CU;{h+T HO9b)(GAjN# delta 1040 zcmV+r1n>L04807HPk&GZ00000001Ea0000000000002D(00000004La>{v^0(?Ag3 zqz~Hieu)Ywssvm(Ae9ReaB&(FD%vKp(~4fO(k3mTO;b6ofD`>s+~J0}z=5BD_ywF0 zR5kOhJ?pjW#7-m*h)y-x^?1K|?PI(h7DAjNK23aS049i{?|(TVa`ZPQ@=`{RVv-o` zbtw^IC}>Bit+{Jko53@1QA$VGo7)P~5Bdb5YHsJn`fdVzSju`CAE6Ped!09GU}*cm zgRmDEao1Jc7#^a5&4NyjJKb@_U3cs4JwI+34vnX~?!#5u2JyY&);bLYDJe9b?mI@b zJ8KFTVzW6;*nh@$O~U(ie2h>#ZhOP6wIm)tq4{*zfp>RzB1;B3CW!aeTaMZW9ud|D z_RIrf5DeXZh+jyH1!uu{=9HJJm8GgvDO**ix>7N*ap_fDOj3iE8@`6o$MG;2W{wIl?B*7M0@+1+rn1YqQWmH3Vxb$>Sm4-hMRfR+uhtedx-pL*n2 ziRUNH-N^QcgMAl{#>%dt?blsxR|M!R*+sp;Vu)>uzvXc4KFY}z;$ZpDEk;)VMgL7q zNKg0hwL?%gL8uJgp?!<^iBMWbpsbBkT9%XxwYE_~3sAR`et zfCjMcAAdUks?OycPRet{DuagQ%+5dUl0f80+#=Se$@5TrgX7Mh22#>{CZI0*$bRy;+RGiR9bL#r1}D^#s#G K#~-su1o8nD3H?_9 diff --git a/CPLD/MAXV/db/RAM2GS.(2).cnf.hdb b/CPLD/MAXV/db/RAM2GS.(2).cnf.hdb index fa45d57cfbd6109f1460f6d1c9ffcbdd703c51cd..8f4f1219d64acebcc8c0fbc7bd11b2b22ef0020d 100644 GIT binary patch delta 596 zcmV-a0;~Oj2<``vPk)yJ00000000F70000000000008a-00000004La#8t~q!!Qs` zp+Ln$0*MPC5Emp)2qaE?05^`DqqJ#D)JLkME%2fI3O61*yS8IDPFsN}mQ3y0$?ke~ zZR&xH6Z&baaH_BY;_j|+?o+Honl+k7GzZbkG@Nt>ceF?ntbf90KW+7HK-!~u{(}kk zwO@U_K~bZu)$d)>0t5L5g2u_vK{v?~W%*NQ?7($`o0I%igKOGD?DZRGKEH&f6XTa% zAY5Dyhuqp(l(%&}&Ul^BG;e9lI3TP&j5N&DEuxOHw3|hP5}u7m-lI4YAy!!;M#~a0 zjF8Q)3@u8M>-3&q+?VxvZb?NyHdu7BORmoV@YQmxY9A~k&f{I2l>}=M$w;> ztR2o?uTbfZ`(Htz-aW0fN@E^Z+DWBtGU7gSlN1}O)sC^C7TUzcEjAWU+FhHtRN949 z11}gtss25n?d*Z21?fi1g1n<@a&K{W(BINFio+KY9Dg~gtdK8QoCB&$@nMlP8njX= zV5x4+e2K4#xUfnf&D9!&Ma2TgmCZ&(V<1{*7Qh8a8XI600Lri9v5oL+iBWoQ~g^NQ2JWKJR*b&6ZEJkb22 zK|eCUa7X~ac#h?vz)lT-UMBvbIRnfOI|!@*KYgIrXX$~eOzC}TpWZ+h$ju%I^yc&F iJ<;+Ydc_$Ci!U{RXq90$TyYK@+Y3 delta 615 zcmV-t0+{{o2Z0EXPk*Wc00000000F700000000000003500000004La#8k^l13?gs z@8AOzyr?K1^&$$M`~Yu)7tdjnY~m7QWMiU!ravS2LaVyBcW1JbC<;0-$xL-`S5I}% z%vN-4;jj9KGo!7Lcli(JD!A4$r!Y4#yV3oyHfVKEut*ZFYJc^sUZZnFrxncIA54ay z`qjsCV2#qoRc8+i4(3}?w3%Fc=sYY@+P`ewdhjgZ`k?<{;Iu_(2IDr;fC!K>j(g~^>xzahXTd6#TC!L`Daiq%w_|gd+kWTOl5Av^L2kduA z8rMdzS1r?>_kWB7dUt!QRU312tQ{&X!pQq9O;T)7tEJq+T9`?STWlOZZFe(CsVsz6 zgD)7Vvi@DecJ#p7g1FJTKy+43?=9~R`&-*4^N|ZlAAdcnu9z>qBnMU({IqBqRjjfU zxXf;iG zvJvSNsvGfKac+u2m?`4ZX&dPx+vJivl__HIec;Zil^KglXisDWMXBj%ZNqie3tS#! zo@0Js;9E}z!^ksh0RQTLEP^ BA0+?) diff --git a/CPLD/MAXV/db/RAM2GS.asm.qmsg b/CPLD/MAXV/db/RAM2GS.asm.qmsg index 9235447..87e311e 100644 --- a/CPLD/MAXV/db/RAM2GS.asm.qmsg +++ b/CPLD/MAXV/db/RAM2GS.asm.qmsg @@ -1,6 +1,6 @@ -{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692170504585 ""} -{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692170504591 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Aug 16 03:21:44 2023 " "Processing started: Wed Aug 16 03:21:44 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692170504591 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1692170504591 ""} -{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1692170504591 ""} -{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1692170504855 ""} -{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1692170504861 ""} -{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 0 s Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 0 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4662 " "Peak virtual memory: 4662 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692170504974 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Aug 16 03:21:44 2023 " "Processing ended: Wed Aug 16 03:21:44 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692170504974 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:00 " "Elapsed time: 00:00:00" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692170504974 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:00 " "Total CPU time (on all processors): 00:00:00" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692170504974 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1692170504974 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692496840526 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Assembler Quartus Prime " "Running Quartus Prime Assembler" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692496840558 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 19 22:00:40 2023 " "Processing started: Sat Aug 19 22:00:40 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692496840558 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Assembler" 0 -1 1692496840558 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS " "Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Assembler" 0 -1 1692496840558 ""} +{ "Info" "IASM_ASM_GENERATING_POWER_DATA" "" "Writing out detailed assembly data for power analysis" { } { } 0 115031 "Writing out detailed assembly data for power analysis" 0 0 "Assembler" 0 -1 1692496842042 ""} +{ "Info" "IASM_ASM_GENERATING_PROGRAMMING_FILES" "" "Assembler is generating device programming files" { } { } 0 115030 "Assembler is generating device programming files" 0 0 "Assembler" 0 -1 1692496842245 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Assembler 0 s 0 s Quartus Prime " "Quartus Prime Assembler was successful. 0 errors, 0 warnings" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4663 " "Peak virtual memory: 4663 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692496844120 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 19 22:00:44 2023 " "Processing ended: Sat Aug 19 22:00:44 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692496844120 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:04 " "Elapsed time: 00:00:04" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692496844120 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692496844120 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Assembler" 0 -1 1692496844120 ""} diff --git a/CPLD/MAXV/db/RAM2GS.asm.rdb b/CPLD/MAXV/db/RAM2GS.asm.rdb index 6dc5abcefd4228e2cda90af28a8e80c943ecb207..3a8a3e3e7bc186176eaea2062d06035034c7826c 100644 GIT binary patch delta 528 zcmV+r0`L8(2Au|wM}M9K00000002w^000000027y00000000000012W00000004La zoK)XW6G0H}DJrOl5<O&QiFLm6P!L~QJ?GZ|B&2q*(B!-7t}f}CTfMe-@`a^8FPj%Kxj|t z0W(UkbK(=yO=ehDyMGy8V+LOeo$8w<;Wqt9=4s{z z-F{S5d>ApB-R8dWdY#OE6tu+k}_o>;Ayxr!u(< Sv%ex276rBr;V%G_Qv%h_Yx*w$ delta 539 zcmV+$0_6Rj2B-#*M}N2k0000000374000000027y0000000000001Zh00000004La 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 literal 43033 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 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.hdb b/CPLD/MAXV/db/RAM2GS.cmp.hdb index 6595338a779a33510384cea911c547b578d84979..39665562ab963fe4d0ed3692d3c79210892ddc11 100644 GIT binary patch literal 19132 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⁢oP+_|3|G+%X_rw2mW;di3gaf{;~c5jYSL?x znF-=c*l6*dU+@z|jIM@tyGG~9_|8iaS%tuy852u7OA*)h|$DnYGonFb&y ziOWz|Z}&w00#Jc@K{{7{l|<@SelNl7qSy)_s!Kg8?Lzc4${zse zLo_yGep)Ih+DlJwI)l4dUEG0A(zIQ2!;3|yQ}UYkcI{?QxRc$CB>^yl?E1O2>st^Z z(EO1wFf0g|DfYu(H{ZGX1QS7!D%(~vgqbC<$kInHZ$bt_HH=A_2~8!;Y*7j8{2>O- z=;+)W4tI2JYiZjuhuk^z`iWg^Cx@qRzOlS3Deil^yCyMuHi)BQ?o%Cz_M&DiGgqtu z2!D8NJ`A#8>&BLC4SBZI=KYS$6Q=>!e*OI}R>kpAlbSW3r1rGkx`2`q!DIlHsks?1 zrA2MU&Uluh*$c?(U9VMNK`_>J84R>KCb90lw4u3GM7^JVa`Ny{*hGm;nOTVoNl0qn z+3#SB_PONZS_%>>EosE0p=#23kYb83{7_WDC)p_BiBPrp26pybx)a9qp>u4NA9+O8 z6!A$T0MYbfJ_%YR99DJ9gC20xPCvX7B1JFM)a?UNWFFr`YRXibFmn%yGBEqlSD(6Q zJr+5$z58Ewq+MHN;2J>pZ(!ew8j$%GWvTZ2Kj&hyhQr`k=ZMP7-gFO( zX4w8>{fQcw$e9^1qkiB=)t0U-Z16`!683-Cv*JGExqS;*V==k4NaSI_==F~fCQtHZ5ivHoyxg#hUePgt)Se_Zr;W3}f=pt{ucRXm% znQ#K#>ksXz+VbE4m+{~SoE5}0$7@@DTm+KQ`su!ggl(pa%&()=eBAx-JuF0o^JN3I zqtJsV`x046ubtt?&Tl{v4(_LzT&JnBUhIUmuYbLE4yFP@L4>mbTSWn@ymlMQP#lDT z8g(b(1sb!!Fu9)j<)zL806>ixSp>SW+3ky7T~xSrfbPF=vlb6nt_{IsgJaHQ)aNy| z3?3Vg5;+WM?;M8y-~nW9v{D25aJ9H5?FiWh%k-fqSbd5b_tq)4rbK~n=oZ2EL?g-j z{Ak0=d<$?l6EA5-++0)S>S_?zzpHuNGoZf;75u4JU%Z2+BWv+3O%D@zfu`{(;Y5q{ z_Wu|{$M{grvBJlYO4nuh@&76?`^ZLo9awPd#^_q>-WCeM2Bm%!%;=%57zrsULFwL; zL}wgN+%CAY>A4c8D(by>-C|Kp%l^%R5ls{^JQGx3jteCz2&JXF?y@|-r8R7DX!p3O z6$L8nn_tZGIR+dsKWphK+xzsD7^~zS%^fDaO{5oVhk?jPk2x7VRpcPPLnva|e?&q$ Z#q>tw*$zI-b!RCyI0pap{0{&C|Nq5TNHPEb literal 19006 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 qebh>-+w&a6R}4ig^>2i)g<^WM=|Yb0 z1!u;Xr|1q!_YhWXbmgq1`eE&8uS4-j1vo%pus*w(|qI^eayYk&)Y^MUh#{{q|!TmxJSd;|C<@Rz{1 zfWHF9J-Gw%uYZACfbRm|1HKR3TRj-cxI1tk-~qs%!0nK~4fr_l3E-2!r+`lb*8_hF zd5{}bXC;4;vE4sk2+F3|rA;?=;rLH`BB4+58i{(l0*KLV}*y$`T6@Na-6;8@@| z;HkiSfcFB&08asq1~vdk0qcM#0*?kB2Rt0u3OoTg0eB1Se%hLCzkdRJ6}S<&3HTcDbl_%SFW?!#vw*(@z72c_I0X1f;CsNEVSm~n9t_+L+yUGP z{1~te_yKSi@Oa=L;6qS<9q?h`w}6iVe*%0A_z3WCp&kdvhXt1(M%D~`1-J>=5%M_! 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 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.logdb b/CPLD/MAXV/db/RAM2GS.cmp.logdb index 626799f..d45424f 100644 --- a/CPLD/MAXV/db/RAM2GS.cmp.logdb +++ b/CPLD/MAXV/db/RAM2GS.cmp.logdb @@ -1 +1 @@ -v1 +v1 diff --git a/CPLD/MAXV/db/RAM2GS.cmp.rdb b/CPLD/MAXV/db/RAM2GS.cmp.rdb index 5e3797d32f70d3dfa4c95fb3c40d5102ff3273b2..9ef768cf71b044e8b098f15aedab72c55cc65953 100644 GIT binary patch delta 13776 zcmV;>H80B5aL90wM}K%z0RR91004wG00000000>S0000000000002lh00000004La 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 GHpl^tEiqjH delta 13864 zcmV+@HrL6>aMf^-M}Kcq0RR91005CT00000000>S00000000000031u00000004La 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 diff --git a/CPLD/MAXV/db/RAM2GS.db_info b/CPLD/MAXV/db/RAM2GS.db_info index 3c4a432..4565d8f 100644 --- a/CPLD/MAXV/db/RAM2GS.db_info +++ b/CPLD/MAXV/db/RAM2GS.db_info @@ -1,3 +1,3 @@ -Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition -Version_Index = 503488000 -Creation_Time = Wed Aug 16 05:07:54 2023 +Quartus_Version = Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Version_Index = 503488000 +Creation_Time = Sat Aug 19 21:57:52 2023 diff --git a/CPLD/MAXV/db/RAM2GS.fit.qmsg b/CPLD/MAXV/db/RAM2GS.fit.qmsg index 2f81f44..3ed53e4 100644 --- a/CPLD/MAXV/db/RAM2GS.fit.qmsg +++ b/CPLD/MAXV/db/RAM2GS.fit.qmsg @@ -1,43 +1,43 @@ -{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Fitter" 0 -1 1692170502239 ""} -{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS 5M240ZT100C5 " "Selected device 5M240ZT100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1692170502241 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692170502302 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692170502302 ""} -{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1692170502332 ""} -{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1692170502336 ""} -{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100C5 " "Device 5M80ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100I5 " "Device 5M80ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100C5 " "Device 5M160ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100I5 " "Device 5M160ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M240ZT100I5 " "Device 5M240ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100C5 " "Device 5M570ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100I5 " "Device 5M570ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692170502453 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1692170502453 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS.sdc " "Reading SDC File: '../RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692170502502 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS-MAX.sdc " "Reading SDC File: '../RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692170502505 ""} -{ "Info" "ISTA_USER_TDC_OPTIMIZATION_GOALS" "" "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" { } { } 0 332129 "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" 0 0 "Fitter" 0 -1 1692170502512 ""} -{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 ARCLK " " 200.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 DRCLK " " 200.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCCAS " " 350.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCRAS " " 350.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 PHI2 " " 350.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 16.000 RCLK " " 16.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692170502513 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1692170502513 ""} -{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692170502518 ""} -{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692170502518 ""} -{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692170502520 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 40 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170502527 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 13 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170502527 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170502527 ""} -{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 7 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 337 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692170502527 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "LED~0 " "Destination \"LED~0\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 21 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170502527 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170502527 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170502527 ""} -{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 339 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692170502527 ""} -{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 17 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170502527 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RD~16 " "Destination \"RD~16\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 59 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170502527 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692170502527 ""} } { { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692170502527 ""} -{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "../RAM2GS-MAX.v" "" { Text "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v" 10 -1 0 } } { "temporary_test_loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 338 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692170502528 ""} -{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692170502528 ""} -{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1692170502530 ""} -{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1692170502546 ""} -{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1692170502572 ""} -{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1692170502573 ""} -{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1692170502573 ""} -{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1692170502573 ""} -{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:00 " "Fitter preparation operations ending: elapsed time is 00:00:00" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170502600 ""} -{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1692170502603 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1692170502689 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170502805 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1692170502807 ""} -{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1692170503163 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170503163 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1692170503186 ""} -{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "16 " "Router estimated average interconnect usage is 16% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "16 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 16% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/" { { 1 { 0 "Router estimated peak interconnect usage is 16% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1692170503323 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1692170503323 ""} -{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1692170503416 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1692170503416 ""} -{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:00 " "Fitter routing operations ending: elapsed time is 00:00:00" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170503417 ""} -{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.25 " "Total time spent on timing analysis during the Fitter is 0.25 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1692170503427 ""} -{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692170503435 ""} -{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1692170503494 ""} -{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 1 Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5344 " "Peak virtual memory: 5344 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692170503538 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Aug 16 03:21:43 2023 " "Processing ended: Wed Aug 16 03:21:43 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692170503538 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692170503538 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692170503538 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1692170503538 ""} +{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Fitter" 0 -1 1692496796308 ""} +{ "Info" "IMPP_MPP_USER_DEVICE" "RAM2GS 5M240ZT100C5 " "Selected device 5M240ZT100C5 for design \"RAM2GS\"" { } { } 0 119006 "Selected device %2!s! for design \"%1!s!\"" 0 0 "Fitter" 0 -1 1692496796339 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692496796417 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Fitter" 0 -1 1692496796417 ""} +{ "Info" "IFITCC_FITCC_INFO_AUTO_FIT_COMPILATION_ON" "" "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" { } { } 0 171003 "Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time" 0 0 "Fitter" 0 -1 1692496796855 ""} +{ "Warning" "WCPT_FEATURE_DISABLED_POST" "LogicLock " "Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." { } { } 0 292013 "Feature %1!s! is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature." 0 0 "Fitter" 0 -1 1692496796870 ""} +{ "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED" "" "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" { { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100C5 " "Device 5M80ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M80ZT100I5 " "Device 5M80ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100C5 " "Device 5M160ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M160ZT100I5 " "Device 5M160ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M240ZT100I5 " "Device 5M240ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100C5 " "Device 5M570ZT100C5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} { "Info" "IFSAC_FSAC_MIGRATION_NOT_SELECTED_SUB" "5M570ZT100I5 " "Device 5M570ZT100I5 is compatible" { } { } 2 176445 "Device %1!s! is compatible" 0 0 "Design Software" 0 -1 1692496797323 ""} } { } 2 176444 "Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices" 0 0 "Fitter" 0 -1 1692496797323 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692496797448 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Fitter" 0 -1 1692496797573 ""} +{ "Info" "ISTA_USER_TDC_OPTIMIZATION_GOALS" "" "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" { } { } 0 332129 "Detected timing requirements -- optimizing circuit to achieve only the specified requirements" 0 0 "Fitter" 0 -1 1692496797714 ""} +{ "Info" "ISTA_REPORT_CLOCKS_INFO" "Found 6 clocks " "Found 6 clocks" { { "Info" "ISTA_REPORT_CLOCKS_INFO" " Period Clock Name " " Period Clock Name" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" "======== ============ " "======== ============" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 ARCLK " " 200.000 ARCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 200.000 DRCLK " " 200.000 DRCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCCAS " " 350.000 nCCAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 nCRAS " " 350.000 nCRAS" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 350.000 PHI2 " " 350.000 PHI2" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} { "Info" "ISTA_REPORT_CLOCKS_INFO" " 16.000 RCLK " " 16.000 RCLK" { } { } 0 332111 "%1!s!" 0 0 "Design Software" 0 -1 1692496797714 ""} } { } 0 332111 "%1!s!" 0 0 "Fitter" 0 -1 1692496797714 ""} +{ "Extra Info" "IFSAC_FSAC_START_REG_LOCATION_PROCESSING" "" "Performing register packing on registers with non-logic cell location assignments" { } { } 1 176273 "Performing register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692496797729 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_REG_LOCATION_PROCESSING" "" "Completed register packing on registers with non-logic cell location assignments" { } { } 1 176274 "Completed register packing on registers with non-logic cell location assignments" 1 0 "Fitter" 0 -1 1692496797729 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "User Assigned Global Signals Promotion Operation " "Completed User Assigned Global Signals Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692496797729 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_ALL_TO_GLOBAL" "RCLK Global clock in PIN 12 " "Automatically promoted signal \"RCLK\" to use Global clock in PIN 12" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 41 -1 0 } } } 0 186215 "Automatically promoted signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797745 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "PHI2 Global clock " "Automatically promoted some destinations of signal \"PHI2\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "PHI2r " "Destination \"PHI2r\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 14 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797745 ""} } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 8 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797745 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "PHI2 " "Pin \"PHI2\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { PHI2 } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "PHI2" } } } } { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 8 -1 0 } } { "temporary_test_loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 340 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692496797745 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCRAS Global clock " "Automatically promoted some destinations of signal \"nCRAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "LED~0 " "Destination \"LED~0\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 22 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797776 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RASr " "Destination \"RASr\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 15 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797776 ""} } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797776 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCRAS " "Pin \"nCRAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCRAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCRAS" } } } } { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } { "temporary_test_loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 342 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692496797776 ""} +{ "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL" "nCCAS Global clock " "Automatically promoted some destinations of signal \"nCCAS\" to use Global clock" { { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CBR " "Destination \"CBR\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 18 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797776 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "RD~16 " "Destination \"RD~16\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 60 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797776 ""} { "Info" "IFYGR_FYGR_AUTO_GLOBAL_ASSIGNED_SOME_TO_GLOBAL_SUB" "CASr " "Destination \"CASr\" may be non-global or may not use global clock" { } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 16 -1 0 } } } 0 186217 "Destination \"%1!s!\" may be non-global or may not use global clock" 0 0 "Design Software" 0 -1 1692496797776 ""} } { { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } } 0 186216 "Automatically promoted some destinations of signal \"%1!s!\" to use %2!s!" 0 0 "Fitter" 0 -1 1692496797776 ""} +{ "Info" "IFYGR_FYGR_PIN_USES_INTERNAL_GLOBAL" "nCCAS " "Pin \"nCCAS\" drives global clock, but is not placed in a dedicated clock pin position" { } { { "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" "" { PinPlanner "c:/intelfpga_lite/19.1/quartus/bin64/pin_planner.ppl" { nCCAS } } } { "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" "" { Assignment "c:/intelfpga_lite/19.1/quartus/bin64/Assignment Editor.qase" 1 { { 0 "nCCAS" } } } } { "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" "" { Text "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v" 11 -1 0 } } { "temporary_test_loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXV/" { { 0 { 0 ""} 0 341 14177 15141 0 0 "" 0 "" "" } } } } } 0 186228 "Pin \"%1!s!\" drives global clock, but is not placed in a dedicated clock pin position" 0 0 "Fitter" 0 -1 1692496797776 ""} +{ "Info" "IFYGR_FYGR_OPINFO_COMPLETED_OP" "Auto Global Promotion Operation " "Completed Auto Global Promotion Operation" { } { } 0 186079 "Completed %1!s!" 0 0 "Fitter" 0 -1 1692496797792 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_START_FYGR_REGPACKING_INFO" "" "Starting register packing" { } { } 0 176234 "Starting register packing" 0 0 "Fitter" 0 -1 1692496797808 ""} +{ "Extra Info" "IFSAC_FSAC_START_LUT_PACKING" "" "Moving registers into LUTs to improve timing and density" { } { } 1 176244 "Moving registers into LUTs to improve timing and density" 1 0 "Fitter" 0 -1 1692496797870 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_HEADER" "" "Started processing fast register assignments" { } { } 0 186468 "Started processing fast register assignments" 0 0 "Fitter" 0 -1 1692496797948 ""} +{ "Info" "IFYGR_FYGR_NO_REGS_IN_IOS_FOOTER" "" "Finished processing fast register assignments" { } { } 0 186469 "Finished processing fast register assignments" 0 0 "Fitter" 0 -1 1692496797948 ""} +{ "Extra Info" "IFSAC_FSAC_FINISH_LUT_PACKING" "00:00:00 " "Finished moving registers into LUTs: elapsed time is 00:00:00" { } { } 1 176245 "Finished moving registers into LUTs: elapsed time is %1!s!" 1 0 "Fitter" 0 -1 1692496797948 ""} +{ "Info" "IFSAC_FSAC_REGISTER_PACKING_FINISH_REGPACKING_INFO" "" "Finished register packing" { } { } 0 176235 "Finished register packing" 0 0 "Fitter" 0 -1 1692496797948 ""} +{ "Info" "IFITCC_FITTER_PREPARATION_END" "00:00:01 " "Fitter preparation operations ending: elapsed time is 00:00:01" { } { } 0 171121 "Fitter preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496798011 ""} +{ "Info" "IVPR20K_VPR_FAMILY_APL_ERROR" "" "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." { } { } 0 14896 "Fitter has disabled Advanced Physical Optimization because it is not supported for the current family." 0 0 "Fitter" 0 -1 1692496798370 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_START" "" "Fitter placement preparation operations beginning" { } { } 0 170189 "Fitter placement preparation operations beginning" 0 0 "Fitter" 0 -1 1692496798667 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_PREP_END" "00:00:00 " "Fitter placement preparation operations ending: elapsed time is 00:00:00" { } { } 0 170190 "Fitter placement preparation operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496798854 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_START" "" "Fitter placement operations beginning" { } { } 0 170191 "Fitter placement operations beginning" 0 0 "Fitter" 0 -1 1692496798870 ""} +{ "Info" "IFITAPI_FITAPI_INFO_VPR_PLACEMENT_FINISH" "" "Fitter placement was successful" { } { } 0 170137 "Fitter placement was successful" 0 0 "Fitter" 0 -1 1692496799292 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_PLACEMENT_END" "00:00:00 " "Fitter placement operations ending: elapsed time is 00:00:00" { } { } 0 170192 "Fitter placement operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496799292 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_START" "" "Fitter routing operations beginning" { } { } 0 170193 "Fitter routing operations beginning" 0 0 "Fitter" 0 -1 1692496799323 ""} +{ "Info" "IFITAPI_FITAPI_VPR_PERCENT_ROUTING_RESOURCE_USAGE" "16 " "Router estimated average interconnect usage is 16% of the available device resources" { { "Info" "IFITAPI_FITAPI_VPR_PEAK_ROUTING_REGION" "16 X0_Y0 X8_Y5 " "Router estimated peak interconnect usage is 16% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5" { } { { "loc" "" { Generic "//ZaneMac/Repos/RAM2GS/CPLD/MAXV/" { { 1 { 0 "Router estimated peak interconnect usage is 16% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5"} { { 12 { 0 ""} 0 0 9 6 } } } } } } } 0 170196 "Router estimated peak interconnect usage is %1!d!%% of the available device resources in the region that extends from location %2!s! to location %3!s!" 0 0 "Design Software" 0 -1 1692496799495 ""} } { } 0 170195 "Router estimated average interconnect usage is %1!d!%% of the available device resources" 0 0 "Fitter" 0 -1 1692496799495 ""} +{ "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED" "" "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." { { "Info" "IFITAPI_FITAPI_VPR_AUTO_FIT_ENABLED_AND_USED_FOR_ROUTABILITY" "" "Optimizations that may affect the design's routability were skipped" { } { } 0 170201 "Optimizations that may affect the design's routability were skipped" 0 0 "Design Software" 0 -1 1692496800089 ""} } { } 0 170199 "The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time." 0 0 "Fitter" 0 -1 1692496800089 ""} +{ "Info" "IFITAPI_FITAPI_VPR_FITTER_ROUTING_END" "00:00:01 " "Fitter routing operations ending: elapsed time is 00:00:01" { } { } 0 170194 "Fitter routing operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496800089 ""} +{ "Info" "IVPR20K_VPR_TIMING_ANALYSIS_TIME" "the Fitter 0.25 " "Total time spent on timing analysis during the Fitter is 0.25 seconds." { } { } 0 11888 "Total time spent on timing analysis during %1!s! is %2!s! seconds." 0 0 "Fitter" 0 -1 1692496800105 ""} +{ "Info" "IFITCC_FITTER_POST_OPERATION_END" "00:00:00 " "Fitter post-fit operations ending: elapsed time is 00:00:00" { } { } 0 11218 "Fitter post-fit operations ending: elapsed time is %1!s!" 0 0 "Fitter" 0 -1 1692496800120 ""} +{ "Info" "IRDB_WROTE_SUPPRESSED_MSGS" "//ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg " "Generated suppressed messages file //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg" { } { } 0 144001 "Generated suppressed messages file %1!s!" 0 0 "Fitter" 0 -1 1692496800901 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Fitter 0 s 1 Quartus Prime " "Quartus Prime Fitter was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "5347 " "Peak virtual memory: 5347 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692496803464 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 19 22:00:03 2023 " "Processing ended: Sat Aug 19 22:00:03 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692496803464 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:10 " "Elapsed time: 00:00:10" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692496803464 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:03 " "Total CPU time (on all processors): 00:00:03" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692496803464 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Fitter" 0 -1 1692496803464 ""} diff --git a/CPLD/MAXV/db/RAM2GS.hier_info b/CPLD/MAXV/db/RAM2GS.hier_info index c797648..3bfd44b 100644 --- a/CPLD/MAXV/db/RAM2GS.hier_info +++ b/CPLD/MAXV/db/RAM2GS.hier_info @@ -1,285 +1,285 @@ -|RAM2GS -PHI2 => Bank[0].CLK -PHI2 => Bank[1].CLK -PHI2 => Bank[2].CLK -PHI2 => Bank[3].CLK -PHI2 => Bank[4].CLK -PHI2 => Bank[5].CLK -PHI2 => Bank[6].CLK -PHI2 => Bank[7].CLK -PHI2 => RA11.CLK -PHI2 => PHI2r.DATAIN -PHI2 => CmdDRDIn.CLK -PHI2 => CmdDRCLK.CLK -PHI2 => CmdUFMPrgm.CLK -PHI2 => CmdUFMErase.CLK -PHI2 => CmdSubmitted.CLK -PHI2 => Cmdn8MEGEN.CLK -PHI2 => CmdLEDEN.CLK -PHI2 => XOR8MEG.CLK -PHI2 => ADSubmitted.CLK -PHI2 => C1Submitted.CLK -PHI2 => UFMOscEN.CLK -PHI2 => CmdEnable.CLK -MAin[0] => RA.DATAA -MAin[0] => RowA.DATAB -MAin[0] => Equal0.IN7 -MAin[0] => Equal1.IN7 -MAin[0] => Equal3.IN6 -MAin[1] => RA.DATAA -MAin[1] => RowA.DATAB -MAin[1] => Equal0.IN6 -MAin[1] => Equal1.IN6 -MAin[1] => Equal3.IN7 -MAin[2] => RA.DATAA -MAin[2] => RowA.DATAB -MAin[2] => Equal0.IN5 -MAin[2] => Equal1.IN5 -MAin[2] => Equal3.IN5 -MAin[3] => RA.DATAA -MAin[3] => RowA.DATAB -MAin[3] => Equal0.IN4 -MAin[3] => Equal1.IN4 -MAin[3] => Equal3.IN4 -MAin[4] => RA.DATAA -MAin[4] => RowA.DATAB -MAin[4] => Equal0.IN3 -MAin[4] => Equal1.IN3 -MAin[4] => Equal3.IN3 -MAin[5] => RA.DATAA -MAin[5] => RowA.DATAB -MAin[5] => Equal0.IN2 -MAin[5] => Equal1.IN2 -MAin[5] => Equal3.IN2 -MAin[6] => RA.DATAA -MAin[6] => RowA.DATAB -MAin[6] => Equal0.IN1 -MAin[6] => Equal1.IN1 -MAin[6] => Equal3.IN1 -MAin[7] => RA.DATAA -MAin[7] => RowA.DATAB -MAin[7] => Equal0.IN0 -MAin[7] => Equal1.IN0 -MAin[7] => Equal3.IN0 -MAin[8] => RA.DATAA -MAin[8] => RowA.DATAB -MAin[9] => RA.DATAA -MAin[9] => RDQMH.DATAA -MAin[9] => RowA.DATAB -MAin[9] => RDQML.DATAA -CROW[0] => RBA.DATAB -CROW[1] => RBA.DATAB -Din[0] => XOR8MEG.IN1 -Din[0] => CmdDRDIn.DATAB -Din[0] => WRD[0].DATAIN -Din[0] => Bank[0].DATAIN -Din[0] => Equal14.IN2 -Din[0] => Equal15.IN4 -Din[0] => Cmdn8MEGEN.DATAB -Din[1] => XOR8MEG.IN1 -Din[1] => CmdDRCLK.DATAB -Din[1] => CmdLEDEN.DATAB -Din[1] => WRD[1].DATAIN -Din[1] => Bank[1].DATAIN -Din[1] => Equal14.IN7 -Din[1] => Equal15.IN7 -Din[2] => CmdUFMPrgm.DATAB -Din[2] => WRD[2].DATAIN -Din[2] => Bank[2].DATAIN -Din[2] => Equal14.IN6 -Din[2] => Equal15.IN3 -Din[2] => Equal16.IN1 -Din[3] => CmdUFMErase.DATAB -Din[3] => WRD[3].DATAIN -Din[3] => Bank[3].DATAIN -Din[3] => Equal14.IN5 -Din[3] => Equal15.IN2 -Din[3] => Equal16.IN0 -Din[4] => WRD[4].DATAIN -Din[4] => Bank[4].DATAIN -Din[4] => Equal14.IN4 -Din[4] => Equal15.IN6 -Din[4] => Equal17.IN3 -Din[4] => Equal18.IN0 -Din[4] => Equal19.IN3 -Din[5] => WRD[5].DATAIN -Din[5] => Bank[5].DATAIN -Din[5] => Equal14.IN3 -Din[5] => Equal15.IN1 -Din[5] => Equal17.IN2 -Din[5] => Equal18.IN3 -Din[5] => Equal19.IN0 -Din[6] => RA11.IN1 -Din[6] => WRD[6].DATAIN -Din[6] => Bank[6].DATAIN -Din[6] => Equal14.IN1 -Din[6] => Equal15.IN5 -Din[6] => Equal17.IN1 -Din[6] => Equal18.IN2 -Din[6] => Equal19.IN2 -Din[7] => WRD[7].DATAIN -Din[7] => Bank[7].DATAIN -Din[7] => Equal14.IN0 -Din[7] => Equal15.IN0 -Din[7] => Equal17.IN0 -Din[7] => Equal18.IN1 -Din[7] => Equal19.IN1 -Dout[0] << Dout[0].DB_MAX_OUTPUT_PORT_TYPE -Dout[1] << Dout[1].DB_MAX_OUTPUT_PORT_TYPE -Dout[2] << Dout[2].DB_MAX_OUTPUT_PORT_TYPE -Dout[3] << Dout[3].DB_MAX_OUTPUT_PORT_TYPE -Dout[4] << Dout[4].DB_MAX_OUTPUT_PORT_TYPE -Dout[5] << Dout[5].DB_MAX_OUTPUT_PORT_TYPE -Dout[6] << Dout[6].DB_MAX_OUTPUT_PORT_TYPE -Dout[7] << Dout[7].DB_MAX_OUTPUT_PORT_TYPE -nCCAS => WRD[0].CLK -nCCAS => WRD[1].CLK -nCCAS => WRD[2].CLK -nCCAS => WRD[3].CLK -nCCAS => WRD[4].CLK -nCCAS => WRD[5].CLK -nCCAS => WRD[6].CLK -nCCAS => WRD[7].CLK -nCCAS => RD.IN0 -nCCAS => CBR.DATAIN -nCCAS => CASr.DATAIN -nCRAS => CBR.CLK -nCRAS => FWEr.CLK -nCRAS => RowA[0].CLK -nCRAS => RowA[1].CLK -nCRAS => RowA[2].CLK -nCRAS => RowA[3].CLK -nCRAS => RowA[4].CLK -nCRAS => RowA[5].CLK -nCRAS => RowA[6].CLK -nCRAS => RowA[7].CLK -nCRAS => RowA[8].CLK -nCRAS => RowA[9].CLK -nCRAS => RBA[0]~reg0.CLK -nCRAS => RBA[1]~reg0.CLK -nCRAS => LED.IN1 -nCRAS => RASr.DATAIN -nFWE => RD.IN1 -nFWE => CMDWR.IN1 -nFWE => ADWR.IN1 -nFWE => C1WR.IN1 -nFWE => FWEr.DATAIN -LED << LED.DB_MAX_OUTPUT_PORT_TYPE -RBA[0] << RBA[0]~reg0.DB_MAX_OUTPUT_PORT_TYPE -RBA[1] << RBA[1]~reg0.DB_MAX_OUTPUT_PORT_TYPE -RA[0] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[1] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[2] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[3] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[4] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[5] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[6] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[7] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[8] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[9] << RA.DB_MAX_OUTPUT_PORT_TYPE -RA[10] << RA10.DB_MAX_OUTPUT_PORT_TYPE -RA[11] << RA11.DB_MAX_OUTPUT_PORT_TYPE -RD[0] <> RD[0] -RD[1] <> RD[1] -RD[2] <> RD[2] -RD[3] <> RD[3] -RD[4] <> RD[4] -RD[5] <> RD[5] -RD[6] <> RD[6] -RD[7] <> RD[7] -nRCS << nRCS~reg0.DB_MAX_OUTPUT_PORT_TYPE -RCLK => UFMProgram.CLK -RCLK => UFMErase.CLK -RCLK => UFMReqErase.CLK -RCLK => LEDEN.CLK -RCLK => UFMInitDone.CLK -RCLK => n8MEGEN.CLK -RCLK => UFMD.CLK -RCLK => DRShift.CLK -RCLK => DRDIn.CLK -RCLK => DRCLK.CLK -RCLK => ARShift.CLK -RCLK => ARCLK.CLK -RCLK => Ready.CLK -RCLK => IS[0].CLK -RCLK => IS[1].CLK -RCLK => IS[2].CLK -RCLK => IS[3].CLK -RCLK => nRowColSel.CLK -RCLK => RCKEEN.CLK -RCLK => RA10.CLK -RCLK => nRWE~reg0.CLK -RCLK => nRCAS~reg0.CLK -RCLK => nRRAS~reg0.CLK -RCLK => nRCS~reg0.CLK -RCLK => RCKE~reg0.CLK -RCLK => InitReady.CLK -RCLK => FS[0].CLK -RCLK => FS[1].CLK -RCLK => FS[2].CLK -RCLK => FS[3].CLK -RCLK => FS[4].CLK -RCLK => FS[5].CLK -RCLK => FS[6].CLK -RCLK => FS[7].CLK -RCLK => FS[8].CLK -RCLK => FS[9].CLK -RCLK => FS[10].CLK -RCLK => FS[11].CLK -RCLK => FS[12].CLK -RCLK => FS[13].CLK -RCLK => FS[14].CLK -RCLK => FS[15].CLK -RCLK => FS[16].CLK -RCLK => FS[17].CLK -RCLK => S[0].CLK -RCLK => S[1].CLK -RCLK => CASr3.CLK -RCLK => CASr2.CLK -RCLK => CASr.CLK -RCLK => RASr3.CLK -RCLK => RASr2.CLK -RCLK => RASr.CLK -RCLK => PHI2r3.CLK -RCLK => PHI2r2.CLK -RCLK => PHI2r.CLK -RCKE << RCKE~reg0.DB_MAX_OUTPUT_PORT_TYPE -nRWE << nRWE~reg0.DB_MAX_OUTPUT_PORT_TYPE -nRRAS << nRRAS~reg0.DB_MAX_OUTPUT_PORT_TYPE -nRCAS << nRCAS~reg0.DB_MAX_OUTPUT_PORT_TYPE -RDQMH << RDQMH.DB_MAX_OUTPUT_PORT_TYPE -RDQML << RDQML.DB_MAX_OUTPUT_PORT_TYPE - - -|RAM2GS|UFM:UFM_inst -arclk => arclk.IN1 -ardin => ardin.IN1 -arshft => arshft.IN1 -drclk => drclk.IN1 -drdin => drdin.IN1 -drshft => drshft.IN1 -erase => erase.IN1 -oscena => oscena.IN1 -program => program.IN1 -busy <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.busy -drdout <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.drdout -osc <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.osc -rtpbusy <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.rtpbusy - - -|RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component -arclk => maxii_ufm_block1.ARCLK -ardin => maxii_ufm_block1.ARDIN -arshft => maxii_ufm_block1.ARSHFT -busy <= maxii_ufm_block1.BUSY -drclk => maxii_ufm_block1.DRCLK -drdin => maxii_ufm_block1.DRDIN -drdout <= maxii_ufm_block1.DRDOUT -drshft => maxii_ufm_block1.DRSHFT -erase => maxii_ufm_block1.ERASE -osc <= maxii_ufm_block1.OSC -oscena => maxii_ufm_block1.OSCENA -program => maxii_ufm_block1.PROGRAM -rtpbusy <= maxii_ufm_block1.BGPBUSY - - +|RAM2GS +PHI2 => Bank[0].CLK +PHI2 => Bank[1].CLK +PHI2 => Bank[2].CLK +PHI2 => Bank[3].CLK +PHI2 => Bank[4].CLK +PHI2 => Bank[5].CLK +PHI2 => Bank[6].CLK +PHI2 => Bank[7].CLK +PHI2 => RA11.CLK +PHI2 => PHI2r.DATAIN +PHI2 => CmdDRDIn.CLK +PHI2 => CmdDRCLK.CLK +PHI2 => CmdUFMPrgm.CLK +PHI2 => CmdUFMErase.CLK +PHI2 => CmdSubmitted.CLK +PHI2 => Cmdn8MEGEN.CLK +PHI2 => CmdLEDEN.CLK +PHI2 => XOR8MEG.CLK +PHI2 => ADSubmitted.CLK +PHI2 => C1Submitted.CLK +PHI2 => UFMOscEN.CLK +PHI2 => CmdEnable.CLK +MAin[0] => RA.DATAA +MAin[0] => RowA.DATAB +MAin[0] => Equal0.IN7 +MAin[0] => Equal1.IN7 +MAin[0] => Equal3.IN6 +MAin[1] => RA.DATAA +MAin[1] => RowA.DATAB +MAin[1] => Equal0.IN6 +MAin[1] => Equal1.IN6 +MAin[1] => Equal3.IN7 +MAin[2] => RA.DATAA +MAin[2] => RowA.DATAB +MAin[2] => Equal0.IN5 +MAin[2] => Equal1.IN5 +MAin[2] => Equal3.IN5 +MAin[3] => RA.DATAA +MAin[3] => RowA.DATAB +MAin[3] => Equal0.IN4 +MAin[3] => Equal1.IN4 +MAin[3] => Equal3.IN4 +MAin[4] => RA.DATAA +MAin[4] => RowA.DATAB +MAin[4] => Equal0.IN3 +MAin[4] => Equal1.IN3 +MAin[4] => Equal3.IN3 +MAin[5] => RA.DATAA +MAin[5] => RowA.DATAB +MAin[5] => Equal0.IN2 +MAin[5] => Equal1.IN2 +MAin[5] => Equal3.IN2 +MAin[6] => RA.DATAA +MAin[6] => RowA.DATAB +MAin[6] => Equal0.IN1 +MAin[6] => Equal1.IN1 +MAin[6] => Equal3.IN1 +MAin[7] => RA.DATAA +MAin[7] => RowA.DATAB +MAin[7] => Equal0.IN0 +MAin[7] => Equal1.IN0 +MAin[7] => Equal3.IN0 +MAin[8] => RA.DATAA +MAin[8] => RowA.DATAB +MAin[9] => RA.DATAA +MAin[9] => RDQMH.DATAA +MAin[9] => RowA.DATAB +MAin[9] => RDQML.DATAA +CROW[0] => RBA.DATAB +CROW[1] => RBA.DATAB +Din[0] => XOR8MEG.IN1 +Din[0] => CmdDRDIn.DATAB +Din[0] => WRD[0].DATAIN +Din[0] => Bank[0].DATAIN +Din[0] => Equal14.IN2 +Din[0] => Equal15.IN4 +Din[0] => Cmdn8MEGEN.DATAB +Din[1] => XOR8MEG.IN1 +Din[1] => CmdDRCLK.DATAB +Din[1] => CmdLEDEN.DATAB +Din[1] => WRD[1].DATAIN +Din[1] => Bank[1].DATAIN +Din[1] => Equal14.IN7 +Din[1] => Equal15.IN7 +Din[2] => CmdUFMPrgm.DATAB +Din[2] => WRD[2].DATAIN +Din[2] => Bank[2].DATAIN +Din[2] => Equal14.IN6 +Din[2] => Equal15.IN3 +Din[2] => Equal16.IN1 +Din[3] => CmdUFMErase.DATAB +Din[3] => WRD[3].DATAIN +Din[3] => Bank[3].DATAIN +Din[3] => Equal14.IN5 +Din[3] => Equal15.IN2 +Din[3] => Equal16.IN0 +Din[4] => WRD[4].DATAIN +Din[4] => Bank[4].DATAIN +Din[4] => Equal14.IN4 +Din[4] => Equal15.IN6 +Din[4] => Equal17.IN3 +Din[4] => Equal18.IN0 +Din[4] => Equal19.IN3 +Din[5] => WRD[5].DATAIN +Din[5] => Bank[5].DATAIN +Din[5] => Equal14.IN3 +Din[5] => Equal15.IN1 +Din[5] => Equal17.IN2 +Din[5] => Equal18.IN3 +Din[5] => Equal19.IN0 +Din[6] => RA11.IN1 +Din[6] => WRD[6].DATAIN +Din[6] => Bank[6].DATAIN +Din[6] => Equal14.IN1 +Din[6] => Equal15.IN5 +Din[6] => Equal17.IN1 +Din[6] => Equal18.IN2 +Din[6] => Equal19.IN2 +Din[7] => WRD[7].DATAIN +Din[7] => Bank[7].DATAIN +Din[7] => Equal14.IN0 +Din[7] => Equal15.IN0 +Din[7] => Equal17.IN0 +Din[7] => Equal18.IN1 +Din[7] => Equal19.IN1 +Dout[0] <= Dout[0].DB_MAX_OUTPUT_PORT_TYPE +Dout[1] <= Dout[1].DB_MAX_OUTPUT_PORT_TYPE +Dout[2] <= Dout[2].DB_MAX_OUTPUT_PORT_TYPE +Dout[3] <= Dout[3].DB_MAX_OUTPUT_PORT_TYPE +Dout[4] <= Dout[4].DB_MAX_OUTPUT_PORT_TYPE +Dout[5] <= Dout[5].DB_MAX_OUTPUT_PORT_TYPE +Dout[6] <= Dout[6].DB_MAX_OUTPUT_PORT_TYPE +Dout[7] <= Dout[7].DB_MAX_OUTPUT_PORT_TYPE +nCCAS => WRD[0].CLK +nCCAS => WRD[1].CLK +nCCAS => WRD[2].CLK +nCCAS => WRD[3].CLK +nCCAS => WRD[4].CLK +nCCAS => WRD[5].CLK +nCCAS => WRD[6].CLK +nCCAS => WRD[7].CLK +nCCAS => RD.IN0 +nCCAS => CBR.DATAIN +nCCAS => CASr.DATAIN +nCRAS => CBR.CLK +nCRAS => FWEr.CLK +nCRAS => RowA[0].CLK +nCRAS => RowA[1].CLK +nCRAS => RowA[2].CLK +nCRAS => RowA[3].CLK +nCRAS => RowA[4].CLK +nCRAS => RowA[5].CLK +nCRAS => RowA[6].CLK +nCRAS => RowA[7].CLK +nCRAS => RowA[8].CLK +nCRAS => RowA[9].CLK +nCRAS => RBA[0]~reg0.CLK +nCRAS => RBA[1]~reg0.CLK +nCRAS => LED.IN1 +nCRAS => RASr.DATAIN +nFWE => RD.IN1 +nFWE => CMDWR.IN1 +nFWE => ADWR.IN1 +nFWE => C1WR.IN1 +nFWE => FWEr.DATAIN +LED <= LED.DB_MAX_OUTPUT_PORT_TYPE +RBA[0] <= RBA[0]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RBA[1] <= RBA[1]~reg0.DB_MAX_OUTPUT_PORT_TYPE +RA[0] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[1] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[2] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[3] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[4] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[5] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[6] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[7] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[8] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[9] <= RA.DB_MAX_OUTPUT_PORT_TYPE +RA[10] <= RA10.DB_MAX_OUTPUT_PORT_TYPE +RA[11] <= RA11.DB_MAX_OUTPUT_PORT_TYPE +RD[0] <> RD[0] +RD[1] <> RD[1] +RD[2] <> RD[2] +RD[3] <> RD[3] +RD[4] <> RD[4] +RD[5] <> RD[5] +RD[6] <> RD[6] +RD[7] <> RD[7] +nRCS <= nRCS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RCLK => UFMProgram.CLK +RCLK => UFMErase.CLK +RCLK => UFMReqErase.CLK +RCLK => LEDEN.CLK +RCLK => UFMInitDone.CLK +RCLK => n8MEGEN.CLK +RCLK => UFMD.CLK +RCLK => DRShift.CLK +RCLK => DRDIn.CLK +RCLK => DRCLK.CLK +RCLK => ARShift.CLK +RCLK => ARCLK.CLK +RCLK => Ready.CLK +RCLK => IS[0].CLK +RCLK => IS[1].CLK +RCLK => IS[2].CLK +RCLK => IS[3].CLK +RCLK => nRowColSel.CLK +RCLK => RCKEEN.CLK +RCLK => RA10.CLK +RCLK => nRWE~reg0.CLK +RCLK => nRCAS~reg0.CLK +RCLK => nRRAS~reg0.CLK +RCLK => nRCS~reg0.CLK +RCLK => RCKE~reg0.CLK +RCLK => InitReady.CLK +RCLK => FS[0].CLK +RCLK => FS[1].CLK +RCLK => FS[2].CLK +RCLK => FS[3].CLK +RCLK => FS[4].CLK +RCLK => FS[5].CLK +RCLK => FS[6].CLK +RCLK => FS[7].CLK +RCLK => FS[8].CLK +RCLK => FS[9].CLK +RCLK => FS[10].CLK +RCLK => FS[11].CLK +RCLK => FS[12].CLK +RCLK => FS[13].CLK +RCLK => FS[14].CLK +RCLK => FS[15].CLK +RCLK => FS[16].CLK +RCLK => FS[17].CLK +RCLK => S[0].CLK +RCLK => S[1].CLK +RCLK => CASr3.CLK +RCLK => CASr2.CLK +RCLK => CASr.CLK +RCLK => RASr3.CLK +RCLK => RASr2.CLK +RCLK => RASr.CLK +RCLK => PHI2r3.CLK +RCLK => PHI2r2.CLK +RCLK => PHI2r.CLK +RCKE <= RCKE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRWE <= nRWE~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRRAS <= nRRAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +nRCAS <= nRCAS~reg0.DB_MAX_OUTPUT_PORT_TYPE +RDQMH <= RDQMH.DB_MAX_OUTPUT_PORT_TYPE +RDQML <= RDQML.DB_MAX_OUTPUT_PORT_TYPE + + +|RAM2GS|UFM:UFM_inst +arclk => arclk.IN1 +ardin => ardin.IN1 +arshft => arshft.IN1 +drclk => drclk.IN1 +drdin => drdin.IN1 +drshft => drshft.IN1 +erase => erase.IN1 +oscena => oscena.IN1 +program => program.IN1 +busy <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.busy +drdout <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.drdout +osc <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.osc +rtpbusy <= UFM_altufm_none_38r:UFM_altufm_none_38r_component.rtpbusy + + +|RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component +arclk => maxii_ufm_block1.ARCLK +ardin => maxii_ufm_block1.ARDIN +arshft => maxii_ufm_block1.ARSHFT +busy <= maxii_ufm_block1.BUSY +drclk => maxii_ufm_block1.DRCLK +drdin => maxii_ufm_block1.DRDIN +drdout <= maxii_ufm_block1.DRDOUT +drshft => maxii_ufm_block1.DRSHFT +erase => maxii_ufm_block1.ERASE +osc <= maxii_ufm_block1.OSC +oscena => maxii_ufm_block1.OSCENA +program => maxii_ufm_block1.PROGRAM +rtpbusy <= maxii_ufm_block1.BGPBUSY + + diff --git a/CPLD/MAXV/db/RAM2GS.hif b/CPLD/MAXV/db/RAM2GS.hif index 5aec3a74367adf592e3e4204d2ddfaeaaa663f4a..fc9f26a2ca9a4b6963903007996407ce6bfbc9be 100644 GIT binary patch literal 587 zcmV-R0<`_C4*>uG0001Zob8lNkDD+MhVPd8A1v*qJtS+sHu2ullw_$A*g}%41@@3w z;v+R=)$P*%UIXdwNQJhqABCp6n`0;Zi<=+1+s?`^z3@o(Cd z#}%*&ib_}M0os$wlj6WqnE`5=uWb-_ly1qaj-7B8H)i}f&M;{vkrry-xx zTobfyNNh22KqR)K(b+dZrec!B6JkuK7X60_YB;yLGg(yiZ^C48R_nU5qAY+}Q#B0N zynt)|hx^yz=8%`_u`7?xv46(Kxl9o!g6QWW`O(c ZfW~;4AN9QW`DJRoGN=K)`3@Cz8JxB0DpLRe literal 594 zcmV-Y0uG0001Zob6IgkDD+My<6&ku(X%@0tEKi{EoBDi0A(eM92@r77!&-VmT8Qw z8NtN9ru3Q;!^Yt!ypam96HBFQkx9{%SX1P$R?nZ;y?VDguy)zNJ){(o^K%HoEz=c; zn|>u|G{T|MQ1snV$;$_P%hjpEqfwi2@^~=bpE%rn+?>-AULLtjTw%zSR1avs+UlQ5 z6(v6cilZi2Z0R~2zct>CMV<^qu5el$rC`NfJ2iepi~Y`Lx`+kN(qDV-&h4lErb`8{ zfK`xJnxcDXI~8>)fF&{oR43W^9`TtWA~53_;R&HUvSu*nFtZ{N(`ho9pt(LKa|LD2 z)90>wB<8lw78|x&c>aFJHtyElb!7LDoY3C~ONWIwi@^2PFEW>4`?!A*ch{aDIPBmA z?#5p~bzJ&hxC{2nUD)0FBi)4;o`&N4w`V+4Lda8r=X--ibV@qDP7<_8;?&CY*oyOB ze@y0;>e3k(Wuf`}QbR5Pbuz}U#AG~Gnpc(=Ik3sR92S>eh)e&A``5+IAS=p;jvhT@ z$uoMa#+ghI0b){XVsMk&LRi$MmPNTqDaPT-mayj# g2`~u=YEKes{8Mgw?U&}KlDEc4K>>R69q^eS(cK{|lK=n! diff --git a/CPLD/MAXV/db/RAM2GS.lpc.html b/CPLD/MAXV/db/RAM2GS.lpc.html index 774a839..dc4c1e4 100644 --- a/CPLD/MAXV/db/RAM2GS.lpc.html +++ b/CPLD/MAXV/db/RAM2GS.lpc.html @@ -1,50 +1,50 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    HierarchyInputConstant InputUnused InputFloating InputOutputConstant OutputUnused OutputFloating OutputBidirConstant BidirUnused BidirInput only BidirOutput only Bidir
    UFM_inst|UFM_altufm_none_38r_component9000400000000
    UFM_inst9404444400000
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    HierarchyInputConstant InputUnused InputFloating InputOutputConstant OutputUnused OutputFloating OutputBidirConstant BidirUnused BidirInput only BidirOutput only Bidir
    UFM_inst|UFM_altufm_none_38r_component9000400000000
    UFM_inst9404444400000
    diff --git a/CPLD/MAXV/db/RAM2GS.lpc.txt b/CPLD/MAXV/db/RAM2GS.lpc.txt index 008c8b2..dcf99c4 100644 --- a/CPLD/MAXV/db/RAM2GS.lpc.txt +++ b/CPLD/MAXV/db/RAM2GS.lpc.txt @@ -1,8 +1,8 @@ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Legal Partition Candidates ; -+----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ -; Hierarchy ; Input ; Constant Input ; Unused Input ; Floating Input ; Output ; Constant Output ; Unused Output ; Floating Output ; Bidir ; Constant Bidir ; Unused Bidir ; Input only Bidir ; Output only Bidir ; -+----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ -; UFM_inst|UFM_altufm_none_38r_component ; 9 ; 0 ; 0 ; 0 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; -; UFM_inst ; 9 ; 4 ; 0 ; 4 ; 4 ; 4 ; 4 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; -+----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Legal Partition Candidates ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; Hierarchy ; Input ; Constant Input ; Unused Input ; Floating Input ; Output ; Constant Output ; Unused Output ; Floating Output ; Bidir ; Constant Bidir ; Unused Bidir ; Input only Bidir ; Output only Bidir ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ +; UFM_inst|UFM_altufm_none_38r_component ; 9 ; 0 ; 0 ; 0 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; +; UFM_inst ; 9 ; 4 ; 0 ; 4 ; 4 ; 4 ; 4 ; 4 ; 0 ; 0 ; 0 ; 0 ; 0 ; ++----------------------------------------+-------+----------------+--------------+----------------+--------+-----------------+---------------+-----------------+-------+----------------+--------------+------------------+-------------------+ diff --git a/CPLD/MAXV/db/RAM2GS.map.cdb b/CPLD/MAXV/db/RAM2GS.map.cdb index 08c0e3349788175c1b1bf827ed75cd6c2bc72675..2cd67443190ec561dc26cbea1794eac66b3db8d9 100644 GIT binary patch literal 17942 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 Q-?(I!LL1L$|4Fz12VW7eH~;_u literal 17920 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 diff --git a/CPLD/MAXV/db/RAM2GS.map.hdb b/CPLD/MAXV/db/RAM2GS.map.hdb index 2054b7bf45e378dfa62ff457720c972737c9152a..7a1ea63c697bd9726e6497bf853c5d45bf95f0ae 100644 GIT binary patch literal 18156 zcmY(Kbx<776XeH=U=THDgq4d~=Z$tl3b$;Lq`;Q_R_pycJ_ zpyUu>=i*}L;@}jZ)R3oC1iD*NN?8EiKYVc}{ukmx?7u)zP-N);)Bnj+>HpbY(5L>W zATp`62lQH&m?3Iv_AlQgyoMxxdUE~Y;N$j84)S(6z!ozFSJy5eG@+S5`QPNtuzp57sy{?EDRmFLHmz6H?W01b_K z@B{>;0VX#zd}|gWKna_qK2O0it~eA_dH>BcJ6On#(p4xY7z)@N9Ih!WRLBLYNs(&+ z3ig?|b^w~N4@nk3ypI#_w_T4n!{(Tz@>P)s?>~tlj6-<=;8OJomK3TP{YKMv$3R+ zGAWn=A4IRAUL8$LdO97arRM9~sLU_iv$z#83pGF2^f%Hg44T6C#@}KR+v#)HTfaz= zw-AxTX6M~yrMQpyle!;E)_P#fJW$T8WGScTHdw6#b)G-}iJ<#@xWJNXZED^XT~?^p zdGeJ!bBPSqEmQ(Q-R5mL5{+Eu%gNiKa2{Nk->$V$wY@-i4z_5N>?C)Qbg|$z$M$De z`njawH~qwzWqqx>9bq8|jtMb&C_9{hWO%RKK7z~KXZKA|Z$<~?@c?mCSzwM4p7fPK zTub+>g6uwFv+Ggktn0?zh6J zqCyy-0@HWPtxx2~>Ftb`0(-TwC5>r30{AT6p?vZ&GeyF7^2^gd!L zqmRUrUT!I()tkm$-~CKr`+fJD0uipT)n-PwxirGomYnFw&El_)0@WoAFF4p*0xnUgX z!idlAIY^km-6uT+gCe7EmeJ+HjU&NHx@?E;Z^_4UMk`={x$;W|dA%EKqC!V|X0r!6 zPMpvK*-aTp#W8JpZ{N-zbUERAC774Fgg4kEkAqnQBkH#c>eNgxBy941<8tA0l90#n zH?8Bhc3VtF`l?j7Ft#2|46i8}rM*_n>=7y6SqC-8IwymZyfovR?nax&-XFf#!p#RvRQ=Jiy9eyph15hL`>RQ3T zSVcti`yg%89HgmGx>({}9c-SZQ#BxOWS?S3LoO3?>HZ0&tRdkGg|}B#P>}HR+6DGi zf^h6oMoX};eSr;@fFXnI4wd%3=WPRMsDL!dDMb>^TQSJ>``6R!6E?2l(Jx%9@nAH=hoi#pNzeOsUb5flDc8w(F+1OkA1?lcQy}PB1MrE&amDnKuv7wU2?Z;d|Bmc zQ?7LDoZ(1jG;0$9icWIGf$59~7Wqv5D?@^H!eojjJ+Q6ZHB_`T=9Vo60;gb@oG_9< zzP-c3OFxV)=wX>uaF*z&Eox^NJP*{wNGPBhDHsgCOpd6rE9-zv^^~`fL(~Me4`_Wu zl?5h0-}aID=kIdDkNgU3MRTjXOo>oC#coxW!T`>t6)8nUArJ`6bn2(mlbF9@<;jZL zP((WR%xu)V8a))HiJEu&9w0!T`C~-u-;xuaB@YGtYp$vRwaVrqMFH*BJ-kz$yMC6U1L^ zSI^^D$Admb$mAP+Nmv!4M|FGKIku4PKc-#XSSx}dJm;IX5GoXwftEx!%D#X|Ij>_A zjx+@!!z9YQy;ydoZnx8GKW|eBftqg_l?_7&EkeV9kzeE*0w?!8)fq*pDTpl6Pb}uI zauNcQ1oaLwg>uhP)*NX!xhx*WKPio?4?h3X^F&yfrZqmLS5X(Zn~g7YH7lVn0a^Np zsy${}O|yIO3|qIk=A;(p?V**2AUn;nKT0Jgg@RA(-ygV4=+$p$`SNOqz&UcydY&5; zDoiRjc@^(0;6QItKBWMC2#nv!`sx(mIRJw9qN?d-LUJ5&Sn(~T_$h*yHf{F3@G0co zngWy;+|=N7{rGby&Hx}9dAk6c-)BK_GWcc6N&WUlkK&kfD-d3A&rNhm zQ<)TYP)z@+th->erAqg0360hMh9+5+AFcRiOlQZ6)5CS5a=)uQURKTv7%Vm2?WxNE zfR`}5{$_M`hA_du#+V^{frouS!!m1pjn_Q?ObZRdk7)P=&#?! zw4^>aMO!Z0iD&yP*smqF;8>ipKUnO8Pne9jDRD9As(enDi)JO$a(58Ztr}&p-ZHV> z)jTb2^sJzWe6`0vJcEPOF@7wvx8AsSFj0G|9FH%jglF70?3R8nYJ)U??Vfydc|m=Q z2wJrDI`S}^AA42}oPU$`GTyn7-Z;(Ct=YeA@EY~B3dzM|5ZlMZ?v5FqrJpovunl%X zU^nit>IaV3dP%6+U|^$Vuvu5=^NC=?D=SuH_fpa*2M^mARsXyi<*O8xNmNv_$>kb5 z{BokR)P0*l)c(q9H(MWL(usy$abKL&FCuAP(A%p?!gec}6eS*kpODJDQ`G;qr>>$> zB+RAG$j&*$^ej<`%%6_0G6AAHNEQ$ZsfN{tYNFbcpk(|#go;{y!tTwQ$}L8j+VC?% zfdrfGM?{Swr8jh)uQ@MLHP0bO*e4>vd9pL!5XH;}NePNR%0-Fa-e=D_)pL==Bi9>A zV!P!0AXFkXPPReU&thqd#H5Pz{$J+HHyjb>L%D@bv8YmPOhi2Zc38<4UGzi{a=ypx zdoB4O8>1IeJD@}gv6@SXID8xO0&@^XX*;xpZX9?H#%fB{bFw`bYJ~j$SJ8fJ#F-VA zoTv5zNUJX5`!^eGCJ(E{B7H2YM zMMGG(j3iwbH$C!WdW{=Bc7MasgeQR#w!mAHn2>?I^UZKn@E0NG zgPi8^~e<nY zWC@o5wa+6h>{%1$*YpYHdvv#B!z+@}B*JD{G!~8d&&b61&(7FE_xl9Oz9*>Qj;pZQ zwfmYD#-p)lHQSoTG4nQsfhx|WgoE=7r)zYk9*?S#I(dCf z?ZzHAuW}`CrDG&MH|&H}wqm8Dv%xPXtNCzp`?J+0J;-@buBD$mB~r1iw}DBKRatNmVddq~u=plX90mC#Tq%ES!j{D~R_G&Ml@~01(Q=wR8LyMGbg`|Ou z=F}SN0y3zNDE<(eRZ(f-c^yy}C~{EgJ=!W)7HBu1|3YUSt)Bk<*Oa>Vl>{?vvr`~8H`KX;HK3TqI9;51U=8?Zszc_i?=dT@QmiDfE-6hy0Y7m$ z{nI{{Nadc}#x`3_|0fUIT|eAlVv}k8aB~1hwb|+fe*}@Pf%1lhds0xt-LBHWr?Q}i zvt1>J;$srsRh12kZ;iydLdqL+NovQvDSSlq(rYr9yqHVZ{8a-T`g8J$55%SQC2|+S za4bGHDAR~M2k`Z~@b&xf^?UI32k`E@@GN7fx~T+HnMnU~{DC~h^ZDUm*qt1SI^e>) zefb6q8)lgclv{49n1RbE_RiqY$X*UyrKFc94(t$r@Y6)_<#nNU2ize~wn7Jv9|`3m z|H^F$9)Q^jVMjhTqZP-`jWc|FamEL0_M21E#*96$PAJ#B2e+US_v}C0G9r4}@ewWH zS?RQ+Oz5VKy!-o2t`bMg!uo0(9orYaOo4{!-Cavx4CR7+eL8<$jjiWluhN-vdyA?q zoYu^Jbj60ouie1Y1L@2GTrCjpiIQDT>HL8iH=-RK_+GP`gBR1?feHO`Vb2QI%P9FD zCKqTfJFYW%&|ugY*X~QYP^Vc`0 zohi1afhU8Mbl7?7=4~u-e+`Ey>YcPvtmDaxog#A19r-Trmo8+Z#?!` z_~%rwK9@n9r|d|`_nzoQeUW}UdrSvO8@5LIg?R4sNSo<*K;WHpTt~PsR7}9pnVwVD zKN0|Qu@3zPGOiS$)W>WzcBQV=&MT+sz+r)ocz?^@D>1M;n?)p&l&J0qbrut3{Yzj)$IJJ{BSM+Kc2kV}9^H|t9VhAHiBC|%0*gF!oD{ko z_pU?rdAH{0_rtO>?1Fd3;B>q_JG5dRyd zlVeh#?u>WUF>ve)&16Lg|DZZJ7uADYO1v5QW{dfihCqn<{Rwn}C4dOmo794R{WJ`P zaQ$@<_KYk7&B)k>$afLIa20M~iT*L3QbR>Dg!M7gdPMhj zXG=CrMm;guS>#xJlUo&BwjRhtx_XKCh!z<29{r42F5ZlBcW@2`Ysu3}KKgcV0V#mQ zL<)XGeXDItos-dd=7KX0g#s$<>xufacqfK9qu&nQA^I;I`bh8P9Ipyvwnj&qX>4e& zI07tW>xZ!b#k)nZ)W0!w`Y6^`EPlm_M6$U}#eDK)TS>@{%;;v9`uePf9$5O=?%~r$B`e~z3(_W5=Z@OgiE11Or)q7X>ak#Ht`7^t)9FUk|)P0UC*;&np zxbs)97NIrBiEt^y2g`bJxtzl4rRS7?3IC>B5Y)u*5Qw!IN{B)mp8Lg`5h{%R5(5h+ zp`*KK2{ucNDT<1Xs+JN@cFMD>UBYqky_;4;6m8!Hr!wyuCDN@O^ei)>`$dk&HDIIg zZBHJQ@mcs@LyvaEhY>1qNaqO_hMV?#1Own|m2ToQ-Gsl=R{%K{iY9GFf;ebukDQ8EdRe@xPfoBn1{9tExk^+d1UV6GOt};(?Rt9@UaiNp{Ix~%U zB8YKxMXVV*SHoiY(iEM8#oG{pd^Wy8_spaav_Tdj!ul>rc~MsB_Y7Hj)roPM5kHFe zoTwdzM8~g!(YGimPUt+kSGgmEOK6DC|l4 zVpuCGex2W!YKSeHsB6zUqueP9AE-onISrvt$-A$!^lx)u{UgfE^Rw08otG;At&?0) z|Fy<*BuIV3_;q2LcoyQWLkgiEF^+jv$loCA5mB#B1x{9W}oslQ4Cf-`(k5QBdx%SGU~R;y;F6dA9neb2xqkK#mToYguYHc`MLh z*=gBR{aYS0X^!IdeWfS6MZi~qfqJ&3wywcJ%GX!n<$7UaqNK60WMO}yc;Qn8YIe5J zDmVkRN*TD-6A4_Y*(Vd7F}NUyoe-c}7y2zIrMkLOoYADjYM+;@zp;Q(j$Sv|dE>L2=!gcIa>aPH=!&|{V|iqU03zBD@-|V(&n%!rb2Kn-Ly)L`wwZsu7A
    sf$(n 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 A82|tP literal 18023 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∨Ig7|K(DXWaZpT?y z%P_jzG}DtPx|iu?(i;ow-8r?b z{U-!GR(q0x+J3+tPo2UJr8GG!|ISrd!7w)3x`vOj$8%S1pZu7X2T{x+b>8G|X+7>s zaM82hmt}1cf!m40EA!dh7a1O$+;{|*^D4w>xm{(-UM2k^LZDJRO<3FvG%6g+G3J@} zL#cv>7p@N~J;S|;JL?Y=qN?-~U4|YBY<|tgfb?Bmm-!^&GP%>m7}>AC*MBbBNq(K@ zxi6=7Fp!mG<}f+2GRY9{N*03GDp)5x)E=%I?M|a$ zF)|XefJ0I;z{o?ivys$OuB;CtgJ#UFtmD* zMqJR}lt0<5y&QU}f2%b;-a*%#vun?_;qcz$T01RJ>&i0sDYtZ7{nsogXIJ0VU)iM& zmZF@0xhhdT$DtCzX=y6b1i-!o4}Ly#VgA0(T)U9UjrmAz2k?DUaFr?WxYW{LH`tNov1|1TkrpJo`(V!C5HXnfLQv~?}x_#pF6?zI1LFB7m#?A^(CL*AX_=|z2cC$kAlLkHiDn0P^J zqx<-p*E-+%S>aJ;bI)il@J90m+G)RgbCleNIuOQuxCdfd?u!ZB1OiCEd_eH6@DeIz z_hcdqZ_-b9tNV}9aVI2*^2;VN!)_{)&_WIYvqm&DwaW$|*K!~X188M1Yi$9;CXTYh zvARoTxPjp&q?G(XCbxHpd58F&Wa5+?EUmP=g)B6~f0cPX6aw1)ljxn1Hxk|(jxuBD z#!=9vLPUC!Nx&43nwB=6`J+FG8@-F1%F8+b&>a;s;2ZV|I(Kk45b+E?`;Xxg%!8zo zF&lgfZOCP`CSu2Ljh`a_7{#^3G59iz!8xz<0L=PqRC91Y%JHDWQ z$X_gme8;F1JIW!~Z!aVTPq!<%`iF5~p~OCyovT0mJt5|P<~4krB7ddVzP~|9c`ZFT zy%ieWL-%8nfsOINGNc^g5*$1X`yS)Hln|Dq#$o37;*(hd*E3 zdRc5EoF$FiepD^;>C&GZXlh)hX(GN@o-#hxYOcC5!8BjM9rMZ!;_JQd>Q`D8%M=b@syD>VQ{ z4vhPPxvP+B@7kKE87uWqj^7}yC#RuQ)*^!1(7?c-O>j=+Mn3P&ONJC zi5}PAse6>#Yh%x^JuQgs&YXU^Tcc~phxFh(A~jfB-CR;7sl=I(JU_o@Q^oA0RciWZ zN*qX7Zu$GOVPt{(=`btAXqg0jJJr`aO9FPv4l&vy0mponVE7Y6LdbWIi3v_gb#&`s z@(E)3gzFcwJ|+_TIlc8LgO#8+w~@huM%!8tgZay1-HnK6TYSN95p)ekc2K_R*emtW z>yt&#adg*wd{Mon-@tsqkNPh?uoYWNCz^q!t*AQPgkclML%)L5$x!&g%89p43^TDa_O`>;( zV$Tm`JT%zTmdosr(=%s-{CurI#C$aq zKNG5*;5X}C1iO-QH%ARaCO=#mB{#oDbSG7#{1$%n-%k-g5Pi}{rg@cr@(-*+ht)Zj z6PNunf>N5ZE;zr|dEf({e!@uf8`qV@hhMhOU`*4hU2U-3;I3Gr2yb{i{)12cC~j}$ z_5=RCBYJ3la5t*)+SGSsXDGfUUU{nK)&^<|g)Y9K6*V=Ujn%(19Hx#ll>3P>Wg%~V z`$_6!cAvfH(~q-vo7g%u2D-Ua@?-cbOES=vAm&I2v``1vhw{lSG>l7@2hF*92=dSa z1sfQiJkj0{GiVkQI&zRp%DWGrCHWx7{{l{O7M5$b*xPMkZBXVmN{N0teQR&~KumsXJ#gVI?`x9o)bM^o}=>p^aA$Vdm=J_tS4(cYxfo&z>q zfu<}yijM_Bz-83>>^!wx=@^xI7sBZq*+;%G!+$tF-_(zS%VtNo!$f#RJ32SBLZ0Vr zmq^FM;vbtI`%z@sRETx!rI$h1zHg@_vf=Q#BbULDRX4~Kn+rkWVglZ~i-E?@=GW%3 zdU`FgedE3ZiG75A4CO5kb#?Z{XciwTZ|5KAfk#|H^T~a!DqmXz`~HQVvO7EdKZ18OE_= zyK-%r0`G_ar5Ir^ZrIlMi3BuMC6svdD+T-sd083-8~j2pHKNyj!h*Dr?>KQ?Hm z1_dXWtxkcbo~b^gRT4km?V6meyRN`!Kq4*ojXnn~t9D7;HvEdiOod;(>gM+84l#o$ zhO=$-LtAVIx-Fa^`=1sDy5frgwQam|^81K=pLdS4O|KL|{o(Sci2;8kys>#tF#9Xr zs)^fj%(^kuqja1|zdU$oMIB?NYqRjmbKIVcA{!C04Tr+uyx4GOYqzkcGd_@Mo4fux zF=nwFjkU%G$v-;cSpK;(sA=b5FN{Yz-kjJwpjLHD^#e4BfQKKqT@I@6Tw7K?lx5mm z;t3NWJ^Cly(^(hbuf8@jnV=c44&k;rSEjg?VdUMt8P+6}!n8i~5X5wT$PF*rD)8hz z)wc!bbsvzK(XP{9?p)_jf;>T&P82kLi6qYRt#{7x`7+_a)qkMzFnxAi-0*yGN4pnZC|b> z2~~?bs&^iK%Yg5a`p-fSNw(Hs81kuvx@uN^huM4b0QE5OmZU=w%h}w@^69u)awnv> zC~%tR@~KChINM~;p{B@(d4QXN`;NNU9^0EzoQ(1-P<5k6>|3lkabZ1A)uA-T2^Hi; z9e%)Y#lvZN{{KlXH=A$B9Sf_U$glnQ${abAeUtX9ut z?6r#bEy=q+1DI~~>VbjCM<}h@n0u)=dbdnkaRJ#80E^dF;qCDU@`F|bhL5BOfX4l6 zc8KT-iJyY&RX!hl;OHOH!~7(Xa{Wi*KLU_^dBzK~AFDa%AE~4Psfw;uGjEi{e!>Us zb})5cH}VTN31v1aXzvG(%V%xfhLQc(^php8n3zjSMnbUvCr}4 zESUG>zMW4MT2JXj_ugIQ+idV8f$@&y9EQ)1=*9nuo>e zx3AOtJeS8Ss@Dy@J|~o2%`5)#vCmz7H|2rbyr(McWZeyleaNr5cK6yzRD6(~t$K*~ z>~|Zo5V~rA=&{rOs(8EI zm&JJk-LKLT@%Q)d+66ls?(wTfoP<6~Fm)Yg;(yfq_IN~o)}6MzIY%&}{zhEK4FPqY zXjEbcRLK5K1usLyh2wg+DIF_z3Y8`ek2>Ex2^>uU4H=w8p&v|H5(7}%{|KZ3;+b#3CBTx`Cun4W(q zvYfXhj<@?F2N0d((#^0@t!RPTo9WSy11oRXc)ZhY$7sBtkWc-Bjc(j(_dV6U1KQ+{ z{EBsMz$YdLv=W)a>oX3b-hZC1g==to@NN}DrRVR*I(cd zR}eyZ;xM$k5h$NR@#7F16g?@lSaD9Z7zB<|KYU z#mizBh7_Qv8!EoXmU!-)88%e0_D;qAH9L<4b+{8*ib!7{=?avn)eG+g{o~Z_OKJ#l z!jcj?Sn982g+dhZD;nw1lVRfj>8@GrK7*F?MqSq0kA_ZIYYm6qyv{NxY|urw35Y7p ztI#(cR&pa?eNVdBz92^|j3T5niGZh^6BROVqm0rKgly-&pm0p0A|sB&{#QnC4&$VF z6r8gnNJI4cr)_N;L3%=NaVTV)L%=clVw+cZry$h@p4NQZk!>yIB28hGpMsUT4-+F^ ze85?9YBog4r38MJQi+!~P^UELR)8NbC1U^TY$S<);k3i&AN`gq8oB>y!AV!z zVqQ=aM%xUN>`|$+Xf}Xw8|ltAt%AXqU)n=LjOiwVU z48MvCNtx{@cRtO;!ME={+!q3{Nq?&$+k>GX>3PqnHOHyd_0XzSi6hi?3_c<6J3s5L z3M5e=6pp60PG85B-9_V{14OxG^G_m}TeFClFX;9t3p%QMoQd;9#divp`MTWjA*|w~ z%Y|OCBhKtp4#Q4T_`yB*D@7MaEFzf}kRLmIQ3U*hu5$K^CmArtW$9~tSB=KNAt^?H zOrb}FLKN~4fEmlB7jfumcK%%2kVS7pe*8JB&9VxERgz___4=iUTQW2NtWzN@HFi{- zCX|$2KBgXqBiITZz4x=E>FIBHj z)8&|2FMnCHmF(1<(N%dY;P9-YIxs+Ty~bKN+@rII)WO=5VNEsMBcbTp0_Ek|P{M5@0Z-K1BW*3&raa9~ z=6W+`3+RGEx(wT%O589>S;xH(3BhBBsq|$$jbi8+`Jy{(D=jNIXTr09R5R!P-3_%) zg*W;q@ucLSa|w$c6zk6eV_B%e#Yyr8!#J>QtxkQk$CQ39bh&&L<=JE({9P!uwobX( zboZLIh()&DCeDIi>YPyb6i?IiZ=Csce8Q>hmi7bsf*raRXbE=9S-5NrL1Rpt>Q!Eq zFC+S>e}v7&^b0cig_AQ2BR*cl5wZxp>n=SB7ggK8w-Vz-K$XJ5(YhUzBD*`lMQ?GB zB@q?n4ZtE37!E<{($m4;g~Keh@v5prK+#7>#ty!sOze@Qk0844hK7<}6lcEXaAHZE zhnk6rFt2>zBYlonN&p^mk_p`fl;R`TH6kV`wZ&>PQ7TV~7z z8(i%D(E-RChA$%zrV*X+w9`88+-0JKm*fU6KiA#(WQ$m%$Wr)Uwty^W&U#-5=3b6X zeXnhb@EzI09oRf*WJ=c?25(bg%zdw4G-kFCX*a@tyZQ-l^i1(a7lB?YJ-_v1l2jZv zh2*gYzDyK(`hv}1a(0(g8 zB&eoV?g_Vb1LehFV|kzed}b42WaTjGx8kiRF-K#5Phc!a7Osa&9_Ya0l>I|9To z;zfs@rm?!&ITYE#BO_-Aqr`UOI;70#!)3Wtic4A3%h2{Uzj_~lMy*fjUu28ye3}0s z64p}C9B{nL*qU?u@r&fsG4kEEm;>+i=2*!-w?XVun!){QWx$4h4)o@Nxs*8qxo5jo zYVxo8_vB@eVB59Gg0K$BqgeDMto!3bV_`~g(c}@7Fn$`y^b9{Zn-sAk5+cI4qbkI% z4?Zxt3}iR#O*&4}-?U$3LX88cZZn zQWXr~IcMk2KD(3L-0i*JJ@50~+cs9hrZC3dd%xQc6YDQ!Y#z*!V8GU6mZEF6qFLMs zNir{G{jgKN=cCaQm~qU4fk;hKxfugU8G93!-un1nA8sLJh66FVjMBUWN1G)XVQx)g4Y0hT^}rQ`4VN)CJquRB8sYDQCqEo11%pvft+OBGhO&bP9pnA$ zyp1iBU2r#mih$Pxc!~=iE)H%2@KhHZE)L!Z;At)xO()d3TMXTyw%aiVV8vL2mDBLCfeX94D>5(b{iKp|)rD~HABcAeh`6N%dFfWlm} zxfWOLP*e*0GmiOuxI%m016@7Iy?_zv+Apm71)?$r1HC{~B-2#Fn#wh64y%RGZW+H= zgN|U7MLC;#+>kk_Rb#pa$ZGa8)YUt~Eq?LVA7<35 z>4pmJVOo*~g7MTm!u}Kavs2_)xSW=WziQZ%Ami$?hRWw1nKh0~Gl3nKA#y&6RB!xI zirGc63mmA*)c`lL(Y2I60MLi%nJ_ZbvVfw!{=%M%xQo>#I?#;hhDC1J!N5XFUi;C3 zKH-VzWGfNl09ZtJ{n|P39f)9)VN8XAVL`xRb{zh?{qE=!6)>X+H&uoqB?z;G)xo;> z5Q8dudOLi+p5Fb*uDwgi)KhPqJ1lGvuIJ_wOLrN?^vKXawLmWgaa5=|nMbr8(1VFO zwjChi!(%I9kOlj8C-?g^Z1HCNZduMQ0IvJy2LnQt@Li55u@xkBxNH0>N=AerC#X8b zO4v~)U`R&7j!BBKlB_=bdczF_W6g@L405b#JFY3#Dx%fTKOH<>1^|>O=rAR*o`gh? zUHTrjXkV05NQpwSc#La7uE`2FS5r(8h98P@xgr%MJmGnWeG5BBuHW@xV)23yRymPJ zR6`zDYy%($JfADv^7r{aGz{&i)T0QBP;^@KOWiiK;T7dW--E}jO-E&FVu)ix@D`Ldb(@^`;!*s$c}&IEC&NLff*k!95_#xcC8cBeBR?Z}O+LAQ`P+=x7KVdOXkkO_Z8XhW@*cg@|x* zkwEQ8^q5J#GMeZmGpYZ|E(GBa{S@Ro6q#>khhXiS-^VV)lqJZGa4KNU6tKFnJ6MM7 zBn;H3nqk}3m;!Dg*Au_J+CJfp3Kt zlJ~_K|0_r%h!x#TyrgI$eOsQZTLD(s)eP>L(BJJ;@aJE9=`Na%tR-$>dUU|+GLFv# zQ_9m@_@RT2i9>0}vL8ADy10h+dpw|y+?)n8`d~;}n9G!c_{bm;mWUW`XWh8;*a%Xc zj9j}J6QTt1I(G-gjOTH=mX7Yd(aem;+{iWh95oc* zfeOTc5Q4&~hj*bQ(ssWJrO9m@HBnJhEo`XZguFAJiNRx!{E;#}apPa&%3lV*H=gXa zX~K~M!jjkC_kQog@57#3qtWOC%*&Bwqa6E2v_Co7S{E)ESAW+mdkdtGFmGeNg9*_) zSe8cU&MQxMY2BG{E_uI>O(R?f_O&B>59D4UVZ-y^`qR4&dp!QaU`Kk|hgi;}56aYZ zB4RCl&$;F&%YFlO@5;Oe_&@1C90BeIbO86#Q&|g5&umbIyy?VQwtRauIu6{oa8^+=qP$gwt7?M3r{5)uQn8{ z)qYIc)~cW?nu1k&%7rP(qB|XVTZI?GNn+9f=dCauwZa7hOcKwx^5Y)N2pdBi164{( zPnEMxF9)BXn=0#MZMlW=J!J|VOWv3A0+FHC+1iPwVSkc^8>)%AKX6jEzq64G?`@$( zkR_G2h>bKMAt9#>tTgE_pF;lHB1m3$?1?Y#-oHNJPeu%=Wg5QC>F>Z{}u zJ%xV;q0QHE;|r%+#?rEOQnKxFuP%vv8xf-DY2{QSw}Lxp&T&Z4rIy@&$%3+gDJyVIPd|%jPSy#mz)^ogHxLrtn(A1m6ig|J6WN8 zh6KEFxb30XN7SY3ORk01ZGSB;OLU^RIVOc|rV_<6$+PtQoY{bm zODB=K&(ZF>{)2mvAGL&PmD%xr$CW?&c+0y`$R#wrhWV2*EdTxSDQ&bZeo6AMJ>ofx zo8La9Ck`g>0=$kzfdZ|frhBwT#+I=rbpB#~_|?JTeQain`$_3%SY9u%=hAu9Vq%Z6 z%zqCi^T~`JMTPV{_kBB>2WIdB*YKfcj!P?L(fDrTv6{bd3m}x zStl5qKC|sTEiZ5#JvKpw?jPVRek>ZLhc})-2u_zj(DS72(_Y(6NxB8@{Na}g`u-NW w%L1;-(Sso-pKSSWW{WT3872m+xstH{YYt^jQ<~Er&1W{iWh6gL!~ zX%Q7ugi!f7_3$o*L|S%d78FQs+lWLUf|hPd%L#dBJQIV*9{D45IC1O0)GL1(yk}2# zAtXI=Kv?qH`}}(!eqWvoNs?T~c{0*8$#CDY?xo?KHtyu$^naSBKOpHU&g(cY;zZV8 zahWM5dn+v5f<>>~5vTpaw=FY09-leVOGpj^0XHZ9=i2N@D*S8zGx)(O?X zKJyK?;pB{;G<}EEjZ^as;CIqD>;b9r`Io0k3Td1(`8U;>k zX-6P+BTA^fDoLb;jHwDVR;K~0Yxjm34n!K@v}LM?jv1#A6WOyB|0sY7p}p(8gIY*# zp*Fe=d}tHOhFTlmXeyy>L#R^viuM&hM$bTJbYocC5`Rgf8KU(vTsR8bT9HR43H>>|bp8$uFz3V}Y?mNuOcf6NdQz+&h4!)aC2QkGd0@ z!#Mx#!|?b)YRkl)>z7CZNH>;u!gQRq!vK2Nac+*r)T zcz-;?rPv-9;~akX0>iU)KZksKGM!FBFIhasTyq>A#$=C7^sxPb6-Z*>DQkxo^%Ie2 z2h;sUgpuk)-QAJ=7~9c9<%H}12TtsJtQB&2jWkJ4@gY3Bv$0-hER?nUU& xE9g23*ea8)!6(;N=U+yPnsAO22Z=cqun+LHQosZX*nlF>;Wya)2(#7$7Xir7yZrzF diff --git a/CPLD/MAXV/db/RAM2GS.pre_map.hdb b/CPLD/MAXV/db/RAM2GS.pre_map.hdb index 10e247ed8e6d54855be9c0c38da009bd48df4fd8..a5dfe75f900b6eac386d6f8208f41e4bfc2adb22 100644 GIT binary patch literal 17224 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 literal 16718 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%0AcuT@DgW;# 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 delta 522 zcmV+l0`>jK2FV7HPk&GX00000004yn0000000000002n?00000004La>{UBY!cZ73 zicfUXLQ1ftXb?uaxi%EJZ~AqqL5fY`2rV>5Pwn6U$7#CXKW(yj(G9^ zfP!FM#B_*naD>DW`*(1}BnX0i5NcjfzP!PfkUFFGyC1=z>?dWL=cc|z@r^u-ym7S1g$b2zLG0Q#;gz){-*t^vj`pXT=g zy>7W}EyGU9Zh!m%a7hR!$J-Vshfz6e+y+>+(P(#SP2I9BQ{UNh{7w{3uh`8N^j144 zWSH&oLK{w{anH~^bS2PK>lT@WW(I`exOX+bo`h-&s+*4cKp#q1$xSsiPt{4w1C8AY z`;LWU3Dy23Fq7#Ru8B3u&jT-$?N+#@bZcWU@TO%XXn!7f16q!K>ln?xI;Y)AZTJ7N z4*jum1|oPbz3vEw#JYLF*NY#K<0CzPc&Qi4rDD0H7Yi39y>wMP;eRYtDh)P8l>e^K zidoWSR6hNlK=KpVTjQu|8zhghORE(ioYvWSVpvOoMqz`V_@N4R@*8E0cH^n*oqN=A Mv>Tt^f0IfA{)ijzEdT%j diff --git a/CPLD/MAXV/db/RAM2GS.smart_action.txt b/CPLD/MAXV/db/RAM2GS.smart_action.txt index c8e8a13..437a63e 100644 --- a/CPLD/MAXV/db/RAM2GS.smart_action.txt +++ b/CPLD/MAXV/db/RAM2GS.smart_action.txt @@ -1 +1 @@ -DONE +DONE diff --git a/CPLD/MAXV/db/RAM2GS.sta.qmsg b/CPLD/MAXV/db/RAM2GS.sta.qmsg index dcb1aa5..0f80f4f 100644 --- a/CPLD/MAXV/db/RAM2GS.sta.qmsg +++ b/CPLD/MAXV/db/RAM2GS.sta.qmsg @@ -1,23 +1,23 @@ -{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692170506145 ""} -{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692170506151 ""} { "Info" "IQEXE_START_BANNER_TIME" "Wed Aug 16 03:21:45 2023 " "Processing started: Wed Aug 16 03:21:45 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692170506151 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1692170506151 ""} -{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta RAM2GS-MAXV -c RAM2GS " "Command: quartus_sta RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1692170506151 ""} -{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1692170506270 ""} -{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Timing Analyzer" 0 -1 1692170506479 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170506527 ""} -{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170506527 ""} -{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1692170506588 ""} -{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1692170506795 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS.sdc " "Reading SDC File: '../RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692170506829 ""} -{ "Info" "ISTA_SDC_FOUND" "../RAM2GS-MAX.sdc " "Reading SDC File: '../RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692170506832 ""} -{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1692170506843 ""} -{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "Timing Analyzer" 0 0 1692170506864 ""} -{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1692170506867 ""} -{ "Info" "ISTA_WORST_CASE_SLACK" "setup -19.199 " "Worst-case setup slack is -19.199" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -19.199 -193.279 RCLK " " -19.199 -193.279 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -17.454 -17.454 DRCLK " " -17.454 -17.454 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -17.440 -17.440 ARCLK " " -17.440 -17.440 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.922 -0.922 nCRAS " " -0.922 -0.922 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.616 0.000 PHI2 " " 0.616 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506868 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170506868 ""} -{ "Info" "ISTA_WORST_CASE_SLACK" "hold -14.753 " "Worst-case hold slack is -14.753" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -14.753 -14.753 DRCLK " " -14.753 -14.753 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -14.560 -14.560 ARCLK " " -14.560 -14.560 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.450 -5.440 PHI2 " " -2.450 -5.440 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.233 -0.929 nCRAS " " -0.233 -0.929 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 2.155 0.000 RCLK " " 2.155 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506879 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170506879 ""} -{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692170506881 ""} -{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692170506892 ""} -{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width 7.661 " "Worst-case minimum pulse width slack is 7.661" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 7.661 0.000 RCLK " " 7.661 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 ARCLK " " 70.000 0.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 DRCLK " " 70.000 0.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.661 0.000 PHI2 " " 174.661 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.661 0.000 nCCAS " " 174.661 0.000 nCCAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.661 0.000 nCRAS " " 174.661 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692170506894 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692170506894 ""} -{ "Info" "ISTA_METASTABILITY_REPORT_DISABLED" "" "The selected device family is not supported by the report_metastability command." { } { } 0 332001 "The selected device family is not supported by the report_metastability command." 0 0 "Timing Analyzer" 0 -1 1692170506962 ""} -{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692170506984 ""} -{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692170506985 ""} -{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 1 Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4676 " "Peak virtual memory: 4676 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692170507036 ""} { "Info" "IQEXE_END_BANNER_TIME" "Wed Aug 16 03:21:47 2023 " "Processing ended: Wed Aug 16 03:21:47 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692170507036 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:02 " "Elapsed time: 00:00:02" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692170507036 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692170507036 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1692170507036 ""} +{ "Info" "IQEXE_SEPARATOR" "" "*******************************************************************" { } { } 3 0 "*******************************************************************" 0 0 "Design Software" 0 -1 1692496847745 ""} +{ "Info" "IQEXE_START_BANNER_PRODUCT" "Timing Analyzer Quartus Prime " "Running Quartus Prime Timing Analyzer" { { "Info" "IQEXE_START_BANNER_VERSION" "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition " "Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition" { } { } 0 0 "%1!s!" 0 0 "Design Software" 0 -1 1692496847745 ""} { "Info" "IQEXE_START_BANNER_TIME" "Sat Aug 19 22:00:47 2023 " "Processing started: Sat Aug 19 22:00:47 2023" { } { } 0 0 "Processing started: %1!s!" 0 0 "Design Software" 0 -1 1692496847745 ""} } { } 4 0 "Running %2!s! %1!s!" 0 0 "Timing Analyzer" 0 -1 1692496847745 ""} +{ "Info" "IQEXE_START_BANNER_COMMANDLINE" "quartus_sta RAM2GS-MAXV -c RAM2GS " "Command: quartus_sta RAM2GS-MAXV -c RAM2GS" { } { } 0 0 "Command: %1!s!" 0 0 "Timing Analyzer" 0 -1 1692496847745 ""} +{ "Info" "0" "" "qsta_default_script.tcl version: #1" { } { } 0 0 "qsta_default_script.tcl version: #1" 0 0 "Timing Analyzer" 0 0 1692496847886 ""} +{ "Info" "IQCU_PARALLEL_SHOW_MANUAL_NUM_PROCS" "4 " "Parallel compilation is enabled and will use up to 4 processors" { } { } 0 20032 "Parallel compilation is enabled and will use up to %1!i! processors" 0 0 "Timing Analyzer" 0 -1 1692496848667 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "Low junction temperature 0 degrees C " "Low junction temperature is 0 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496848714 ""} +{ "Info" "ICUT_CUT_USING_OPERATING_CONDITION" "High junction temperature 85 degrees C " "High junction temperature is 85 degrees C" { } { } 0 21077 "%1!s! is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496848714 ""} +{ "Info" "ITAPI_TAPI_STARTED" "" "Started post-fitting delay annotation" { } { } 0 334003 "Started post-fitting delay annotation" 0 0 "Timing Analyzer" 0 -1 1692496848776 ""} +{ "Info" "ITAPI_TAPI_COMPLETED" "" "Delay annotation completed successfully" { } { } 0 334004 "Delay annotation completed successfully" 0 0 "Timing Analyzer" 0 -1 1692496848974 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692496850737 ""} +{ "Info" "ISTA_SDC_FOUND" "//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc " "Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc'" { } { } 0 332104 "Reading SDC File: '%1!s!'" 0 0 "Timing Analyzer" 0 -1 1692496851056 ""} +{ "Info" "0" "" "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" { } { } 0 0 "Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON" 0 0 "Timing Analyzer" 0 0 1692496851335 ""} +{ "Info" "0" "" "Can't run Report Timing Closure Recommendations. The current device family is not supported." { } { } 0 0 "Can't run Report Timing Closure Recommendations. The current device family is not supported." 0 0 "Timing Analyzer" 0 0 1692496852136 ""} +{ "Critical Warning" "WSTA_TIMING_NOT_MET" "" "Timing requirements not met" { } { } 1 332148 "Timing requirements not met" 0 0 "Timing Analyzer" 0 -1 1692496852136 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "setup -19.199 " "Worst-case setup slack is -19.199" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -19.199 -193.279 RCLK " " -19.199 -193.279 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -17.454 -17.454 DRCLK " " -17.454 -17.454 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -17.440 -17.440 ARCLK " " -17.440 -17.440 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.922 -0.922 nCRAS " " -0.922 -0.922 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 0.616 0.000 PHI2 " " 0.616 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852355 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496852355 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "hold -14.753 " "Worst-case hold slack is -14.753" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -14.753 -14.753 DRCLK " " -14.753 -14.753 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -14.560 -14.560 ARCLK " " -14.560 -14.560 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -2.450 -5.440 PHI2 " " -2.450 -5.440 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " -0.233 -0.929 nCRAS " " -0.233 -0.929 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 2.155 0.000 RCLK " " 2.155 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496852636 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496852636 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Recovery " "No Recovery paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692496852870 ""} +{ "Info" "ISTA_NO_PATHS_TO_REPORT" "Removal " "No Removal paths to report" { } { } 0 332140 "No %1!s! paths to report" 0 0 "Timing Analyzer" 0 -1 1692496853089 ""} +{ "Info" "ISTA_WORST_CASE_SLACK" "minimum pulse width 7.661 " "Worst-case minimum pulse width slack is 7.661" { { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " Slack End Point TNS Clock " " Slack End Point TNS Clock " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" "========= =================== ===================== " "========= =================== =====================" { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 7.661 0.000 RCLK " " 7.661 0.000 RCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 ARCLK " " 70.000 0.000 ARCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 70.000 0.000 DRCLK " " 70.000 0.000 DRCLK " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.661 0.000 PHI2 " " 174.661 0.000 PHI2 " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.661 0.000 nCCAS " " 174.661 0.000 nCCAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} { "Info" "ISTA_CREATE_TIMING_SUMMARY_INFO" " 174.661 0.000 nCRAS " " 174.661 0.000 nCRAS " { } { } 0 332119 "%1!s!" 0 0 "Design Software" 0 -1 1692496853323 ""} } { } 0 332146 "Worst-case %1!s! slack is %2!s!" 0 0 "Timing Analyzer" 0 -1 1692496853323 ""} +{ "Info" "ISTA_METASTABILITY_REPORT_DISABLED" "" "The selected device family is not supported by the report_metastability command." { } { } 0 332001 "The selected device family is not supported by the report_metastability command." 0 0 "Timing Analyzer" 0 -1 1692496855761 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "setup " "Design is not fully constrained for setup requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692496856433 ""} +{ "Info" "ISTA_UCP_NOT_CONSTRAINED" "hold " "Design is not fully constrained for hold requirements" { } { } 0 332102 "Design is not fully constrained for %1!s! requirements" 0 0 "Timing Analyzer" 0 -1 1692496856448 ""} +{ "Info" "IQEXE_ERROR_COUNT" "Timing Analyzer 0 s 1 Quartus Prime " "Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning" { { "Info" "IQEXE_END_PEAK_VSIZE_MEMORY" "4677 " "Peak virtual memory: 4677 megabytes" { } { } 0 0 "Peak virtual memory: %1!s! megabytes" 0 0 "Design Software" 0 -1 1692496858746 ""} { "Info" "IQEXE_END_BANNER_TIME" "Sat Aug 19 22:00:58 2023 " "Processing ended: Sat Aug 19 22:00:58 2023" { } { } 0 0 "Processing ended: %1!s!" 0 0 "Design Software" 0 -1 1692496858746 ""} { "Info" "IQEXE_ELAPSED_TIME" "00:00:11 " "Elapsed time: 00:00:11" { } { } 0 0 "Elapsed time: %1!s!" 0 0 "Design Software" 0 -1 1692496858746 ""} { "Info" "IQEXE_ELAPSED_CPU_TIME" "00:00:01 " "Total CPU time (on all processors): 00:00:01" { } { } 0 0 "Total CPU time (on all processors): %1!s!" 0 0 "Design Software" 0 -1 1692496858746 ""} } { } 0 0 "%6!s! %1!s! was successful. %2!d! error%3!s!, %4!d! warning%5!s!" 0 0 "Timing Analyzer" 0 -1 1692496858746 ""} diff --git a/CPLD/MAXV/db/RAM2GS.sta.rdb b/CPLD/MAXV/db/RAM2GS.sta.rdb index 4ef61f67e59c8a046650dc8b3a593787620ffa1d..7b87dcc167e764b61e81c5b5ff58f0664ba11e88 100644 GIT binary patch delta 13668 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≠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

    5oRV8@Pv&Xa*>>`KysxGbk^w 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 WSML8ZbN!|AYH|JIn?C{DDq65~vmwg> literal 2617 zcmV-93dZ%U4*>uG0001Zob8=&Z`w!@#^3i-SiHaBF<`KiL`p*1%eB4cKzBVUIz^EWH!JmB%b&r_?lUtx^E27~a8;a-FM@0|P4^mugO|~> z;m&k)b$)Tt2&(5krTKg^%k~h0HVEBIWwxDbx@f^wU`eHgMigZlbMH(vCiHn&nq@mKKujX&KrD`D+Evk(! zccDl}W$?%;gGfbLd6h@A%VBy+nMG1seD^l@-I188#Kz_G7OdW0A9LBRzc`Xk8Q%u! zM>=b?4YCpM0HmSC%9G24WK^v@ckpW?866!CsIw`OP^on83Og_Xk;$TCq91N&c94F` zomn*``m>DMnH_^#j@v>Vqvk=6vuU88tZH&_l}862gQ`pAQe_7zXkn9!@f{?g6Sm-v z4MZf|4vmcx5!p0CLaHv4%fK-b(o?qdh>?WK&3T-SE-ooy#!yCwY<7#0irCsChKHfP z>fjQaWFd0daX(?e^%J^CLW+RYMH(u%lFFl9B&0HZ^eKY|GU8%<7uIuZuf2;Tbo%p2 zL?!mFSy$mSe@C_Bx=2UWe&?jwHA+KV(&!rW6ND=kda#{cU1q}BL?S9LlM5a_q@G1; zhY67zm zJGDw+Tl?raH6BQidKRIbb0v~b6@JIkl(_@SAHUk{$hG;n}~M(L28bB0LH3P3p%Ej&t`VjrNLm0=5(-=ZauNz& z0CEyMFaSvjB{2YT2^txIv;;qp7syM{xltf1LC?O&~6~rqa(iaL~Kp=iW69WSA3mO>^6Z(Q=1_bgK8fZWufuW!V1VR`JY(OA~L30BF zISf^27lIfxIUtb3SaOiOMj?#BBLo6*44xqnNMrC2fj}NZLlFpsGL|vpV&?9Xo6C>hd?oA11$`}R#gOV^cAJ}=^}l?R=W##r5d25oFiX^Eb20dG)&{ckjOQ+uCQ8 zFS?#)YZof3k6%8w`tS$u-(CCu+id={#pnYQyUn%lwG3$wH^s(%f_BN)b@{R?oo$P9 ze@X5w2;3V+SFqMdBrn0Pr&gGZGf#!u#j@+EwtG*lCY_JkQ?YjI*Qma2DdO>XYSnpi z=BZVO@=<##)^7b8J*5o*mgCg63f+#U+J5A|wl+xA=qW!U`l|cn%u_vWsI=@U_i?J{ zN1Te?=RWl@!LFyGZHII_o=W_P=&}2AU#wj$%el|J`dZqgV!1|l?x@g@A|Y{qK<@c* zm=X7dXQK8L)v$cnuKZ@R^6ReRgGS}1Hs!aQl=qF@d-J{aq}|n5$G!SiKk}nJ61zXj zs(V?M_mulA)$-$j)^Z0cPUM$P%b04SFjV#Ocl>1{}n)F#8g70} zP}I17ja7mlrx`VbUZ1DbQ+dmkr~3&?$B$k@(}S0t{)_>`@%EyqnuL5 zh#JF`AL9n~-H$bvQ+_mE#C_^hLykWtz2AN8aIX{fz0#HoANM*@-!EplJ>uR|>gj~# z!JPYIT0QZyoTc1*D)gg0qGlHB^OX7?M9b=P-*SsQp`6^GJJjjdvijWbDK!mjIikDY zQ|hE*`PA=zgxU5ZPO1A{^?6Ete~0Dfr2BeGee|^KDd&y~{V37ZKa5yonDQg_sjI#k z%PBunU(5XrCGuo0=iXClfXH%*?p}RuKN@-JUtOusQ$0^ShqNPhGokU-F@y;|J<+TJ@p7iSbkIqYGk`cPx%qiTkbuj zZn|2=%-mNAi651x`j6(+=PC6~@RsA$Bd8KQQJ?$Vr~X}X%k`9dPi_6fijT)r>aj?T bxvxGb;r=7HfAO_?Q*l1N*njdL7NO;#29qBQ diff --git a/CPLD/MAXV/output_files/RAM2GS.asm.rpt b/CPLD/MAXV/output_files/RAM2GS.asm.rpt index 9ed277f..6445193 100644 --- a/CPLD/MAXV/output_files/RAM2GS.asm.rpt +++ b/CPLD/MAXV/output_files/RAM2GS.asm.rpt @@ -1,91 +1,91 @@ -Assembler report for RAM2GS -Wed Aug 16 03:21:44 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Assembler Summary - 3. Assembler Settings - 4. Assembler Generated Files - 5. Assembler Device Options: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pof - 6. Assembler Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------+ -; Assembler Summary ; -+-----------------------+---------------------------------------+ -; Assembler Status ; Successful - Wed Aug 16 03:21:44 2023 ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX V ; -; Device ; 5M240ZT100C5 ; -+-----------------------+---------------------------------------+ - - -+----------------------------------+ -; Assembler Settings ; -+--------+---------+---------------+ -; Option ; Setting ; Default Value ; -+--------+---------+---------------+ - - -+-----------------------------------------------------------------------+ -; Assembler Generated Files ; -+-----------------------------------------------------------------------+ -; File Name ; -+-----------------------------------------------------------------------+ -; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pof ; -+-----------------------------------------------------------------------+ - - -+-------------------------------------------------------------------------------------------------+ -; Assembler Device Options: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pof ; -+----------------+--------------------------------------------------------------------------------+ -; Option ; Setting ; -+----------------+--------------------------------------------------------------------------------+ -; JTAG usercode ; 0x00174623 ; -; Checksum ; 0x00174A1B ; -+----------------+--------------------------------------------------------------------------------+ - - -+--------------------+ -; Assembler Messages ; -+--------------------+ -Info: ******************************************************************* -Info: Running Quartus Prime Assembler - Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Wed Aug 16 03:21:44 2023 -Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS -Info (115031): Writing out detailed assembly data for power analysis -Info (115030): Assembler is generating device programming files -Info: Quartus Prime Assembler was successful. 0 errors, 0 warnings - Info: Peak virtual memory: 4662 megabytes - Info: Processing ended: Wed Aug 16 03:21:44 2023 - Info: Elapsed time: 00:00:00 - Info: Total CPU time (on all processors): 00:00:00 - - +Assembler report for RAM2GS +Sat Aug 19 22:00:42 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Assembler Summary + 3. Assembler Settings + 4. Assembler Generated Files + 5. Assembler Device Options: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pof + 6. Assembler Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------+ +; Assembler Summary ; ++-----------------------+---------------------------------------+ +; Assembler Status ; Successful - Sat Aug 19 22:00:42 2023 ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX V ; +; Device ; 5M240ZT100C5 ; ++-----------------------+---------------------------------------+ + + ++----------------------------------+ +; Assembler Settings ; ++--------+---------+---------------+ +; Option ; Setting ; Default Value ; ++--------+---------+---------------+ + + ++----------------------------------------------------------+ +; Assembler Generated Files ; ++----------------------------------------------------------+ +; File Name ; ++----------------------------------------------------------+ +; //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pof ; ++----------------------------------------------------------+ + + ++------------------------------------------------------------------------------------+ +; Assembler Device Options: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pof ; ++----------------+-------------------------------------------------------------------+ +; Option ; Setting ; ++----------------+-------------------------------------------------------------------+ +; JTAG usercode ; 0x00174623 ; +; Checksum ; 0x00174A1B ; ++----------------+-------------------------------------------------------------------+ + + ++--------------------+ +; Assembler Messages ; ++--------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Assembler + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 19 22:00:40 2023 +Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS +Info (115031): Writing out detailed assembly data for power analysis +Info (115030): Assembler is generating device programming files +Info: Quartus Prime Assembler was successful. 0 errors, 0 warnings + Info: Peak virtual memory: 4663 megabytes + Info: Processing ended: Sat Aug 19 22:00:44 2023 + Info: Elapsed time: 00:00:04 + Info: Total CPU time (on all processors): 00:00:01 + + diff --git a/CPLD/MAXV/output_files/RAM2GS.done b/CPLD/MAXV/output_files/RAM2GS.done index 9d6b616..f52ad68 100644 --- a/CPLD/MAXV/output_files/RAM2GS.done +++ b/CPLD/MAXV/output_files/RAM2GS.done @@ -1 +1 @@ -Wed Aug 16 03:21:47 2023 +Sat Aug 19 22:01:08 2023 diff --git a/CPLD/MAXV/output_files/RAM2GS.fit.rpt b/CPLD/MAXV/output_files/RAM2GS.fit.rpt index c3de7e4..089c851 100644 --- a/CPLD/MAXV/output_files/RAM2GS.fit.rpt +++ b/CPLD/MAXV/output_files/RAM2GS.fit.rpt @@ -1,762 +1,762 @@ -Fitter report for RAM2GS -Wed Aug 16 03:21:43 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Fitter Summary - 3. Fitter Settings - 4. Parallel Compilation - 5. Pin-Out File - 6. Fitter Resource Usage Summary - 7. Input Pins - 8. Output Pins - 9. Bidir Pins - 10. I/O Bank Usage - 11. All Package Pins - 12. Output Pin Default Load For Reported TCO - 13. Fitter Resource Utilization by Entity - 14. Delay Chain Summary - 15. Control Signals - 16. Global & Other Fast Signals - 17. Routing Usage Summary - 18. LAB Logic Elements - 19. LAB-wide Signals - 20. LAB Signals Sourced - 21. LAB Signals Sourced Out - 22. LAB Distinct Inputs - 23. Fitter Device Options - 24. Estimated Delay Added for Hold Timing Summary - 25. Estimated Delay Added for Hold Timing Details - 26. Fitter Messages - 27. Fitter Suppressed Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------------+ -; Fitter Summary ; -+-----------------------+---------------------------------------------+ -; Fitter Status ; Successful - Wed Aug 16 03:21:43 2023 ; -; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX V ; -; Device ; 5M240ZT100C5 ; -; Timing Models ; Final ; -; Total logic elements ; 175 / 240 ( 73 % ) ; -; Total pins ; 63 / 79 ( 80 % ) ; -; Total virtual pins ; 0 ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -+-----------------------+---------------------------------------------+ - - -+--------------------------------------------------------------------------------------------------------------------------------------+ -; Fitter Settings ; -+--------------------------------------------------------------------+--------------------------------+--------------------------------+ -; Option ; Setting ; Default Value ; -+--------------------------------------------------------------------+--------------------------------+--------------------------------+ -; Device ; 5M240ZT100C5 ; ; -; Maximum processors allowed for parallel compilation ; 4 ; ; -; Minimum Core Junction Temperature ; 0 ; ; -; Maximum Core Junction Temperature ; 85 ; ; -; Fit Attempts to Skip ; 0 ; 0.0 ; -; Use smart compilation ; Off ; Off ; -; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; -; Enable compact report table ; Off ; Off ; -; Router Timing Optimization Level ; Normal ; Normal ; -; Placement Effort Multiplier ; 1.0 ; 1.0 ; -; Router Effort Multiplier ; 1.0 ; 1.0 ; -; Always Enable Input Buffers ; Off ; Off ; -; Optimize Hold Timing ; IO Paths and Minimum TPD Paths ; IO Paths and Minimum TPD Paths ; -; Optimize Multi-Corner Timing ; Off ; Off ; -; Guarantee I/O Paths Have Zero Hold Time at Fast Corner ; On ; On ; -; Power Optimization During Fitting ; Normal compilation ; Normal compilation ; -; Optimize Timing ; Normal compilation ; Normal compilation ; -; Optimize Timing for ECOs ; Off ; Off ; -; Regenerate Full Fit Report During ECO Compiles ; Off ; Off ; -; Optimize IOC Register Placement for Timing ; Normal ; Normal ; -; Limit to One Fitting Attempt ; Off ; Off ; -; Final Placement Optimizations ; Automatically ; Automatically ; -; Fitter Aggressive Routability Optimizations ; Automatically ; Automatically ; -; Fitter Initial Placement Seed ; 1 ; 1 ; -; Periphery to Core Placement and Routing Optimization ; Off ; Off ; -; Slow Slew Rate ; Off ; Off ; -; PCI I/O ; Off ; Off ; -; Weak Pull-Up Resistor ; Off ; Off ; -; Enable Bus-Hold Circuitry ; Off ; Off ; -; Auto Delay Chains ; On ; On ; -; Auto Delay Chains for High Fanout Input Pins ; Off ; Off ; -; Perform Physical Synthesis for Combinational Logic for Performance ; Off ; Off ; -; Perform Register Duplication for Performance ; Off ; Off ; -; Perform Register Retiming for Performance ; Off ; Off ; -; Perform Asynchronous Signal Pipelining ; Off ; Off ; -; Fitter Effort ; Auto Fit ; Auto Fit ; -; Physical Synthesis Effort Level ; Normal ; Normal ; -; Logic Cell Insertion - Logic Duplication ; Auto ; Auto ; -; Auto Register Duplication ; Auto ; Auto ; -; Auto Global Clock ; On ; On ; -; Auto Global Register Control Signals ; On ; On ; -; Force Fitter to Avoid Periphery Placement Warnings ; Off ; Off ; -+--------------------------------------------------------------------+--------------------------------+--------------------------------+ - - -+------------------------------------------+ -; Parallel Compilation ; -+----------------------------+-------------+ -; Processors ; Number ; -+----------------------------+-------------+ -; Number detected on machine ; 8 ; -; Maximum allowed ; 4 ; -; ; ; -; Average used ; 1.04 ; -; Maximum used ; 4 ; -; ; ; -; Usage by Processor ; % Time Used ; -; Processor 1 ; 100.0% ; -; Processor 2 ; 1.5% ; -; Processors 3-4 ; 1.3% ; -+----------------------------+-------------+ - - -+--------------+ -; Pin-Out File ; -+--------------+ -The pin-out file can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pin. - - -+---------------------------------------------------------------------+ -; Fitter Resource Usage Summary ; -+---------------------------------------------+-----------------------+ -; Resource ; Usage ; -+---------------------------------------------+-----------------------+ -; Total logic elements ; 175 / 240 ( 73 % ) ; -; -- Combinational with no register ; 77 ; -; -- Register only ; 21 ; -; -- Combinational with a register ; 77 ; -; ; ; -; Logic element usage by number of LUT inputs ; ; -; -- 4 input functions ; 57 ; -; -- 3 input functions ; 46 ; -; -- 2 input functions ; 42 ; -; -- 1 input functions ; 8 ; -; -- 0 input functions ; 1 ; -; ; ; -; Logic elements by mode ; ; -; -- normal mode ; 159 ; -; -- arithmetic mode ; 16 ; -; -- qfbk mode ; 8 ; -; -- register cascade mode ; 0 ; -; -- synchronous clear/load mode ; 29 ; -; -- asynchronous clear/load mode ; 0 ; -; ; ; -; Total registers ; 98 / 240 ( 41 % ) ; -; Total LABs ; 22 / 24 ( 92 % ) ; -; Logic elements in carry chains ; 17 ; -; Virtual pins ; 0 ; -; I/O pins ; 63 / 79 ( 80 % ) ; -; -- Clock pins ; 2 / 4 ( 50 % ) ; -; ; ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -; ; ; -; -- Total Fixed Point DSP Blocks ; 0 ; -; -- Total Floating Point DSP Blocks ; 0 ; -; ; ; -; Global signals ; 4 ; -; -- Global clocks ; 4 / 4 ( 100 % ) ; -; JTAGs ; 0 / 1 ( 0 % ) ; -; Average interconnect usage (total/H/V) ; 20.2% / 22.0% / 18.3% ; -; Peak interconnect usage (total/H/V) ; 20.2% / 22.0% / 18.3% ; -; Maximum fan-out ; 55 ; -; Highest non-global fan-out ; 41 ; -; Total fan-out ; 661 ; -; Average fan-out ; 2.77 ; -+---------------------------------------------+-----------------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Input Pins ; -+---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; PCI I/O Enabled ; Bus Hold ; Weak Pull Up ; I/O Standard ; Location assigned by ; Slow Slew Rate ; -+---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ -; CROW[0] ; 54 ; 2 ; 8 ; 1 ; 2 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; CROW[1] ; 55 ; 2 ; 8 ; 1 ; 1 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[0] ; 42 ; 1 ; 5 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[1] ; 36 ; 1 ; 4 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[2] ; 35 ; 1 ; 3 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[3] ; 37 ; 1 ; 4 ; 0 ; 1 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[4] ; 39 ; 1 ; 5 ; 0 ; 3 ; 7 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[5] ; 38 ; 1 ; 4 ; 0 ; 0 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[6] ; 41 ; 1 ; 5 ; 0 ; 1 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; Din[7] ; 40 ; 1 ; 5 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[0] ; 49 ; 1 ; 7 ; 0 ; 2 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[1] ; 51 ; 1 ; 7 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[2] ; 50 ; 1 ; 7 ; 0 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[3] ; 71 ; 2 ; 8 ; 4 ; 3 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[4] ; 70 ; 2 ; 8 ; 4 ; 4 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[5] ; 69 ; 2 ; 8 ; 3 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[6] ; 72 ; 2 ; 8 ; 4 ; 2 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[7] ; 68 ; 2 ; 8 ; 3 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[8] ; 73 ; 2 ; 8 ; 4 ; 1 ; 2 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; MAin[9] ; 74 ; 2 ; 8 ; 4 ; 0 ; 4 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; PHI2 ; 52 ; 2 ; 8 ; 1 ; 4 ; 22 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; RCLK ; 12 ; 1 ; 1 ; 3 ; 3 ; 55 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; nCCAS ; 53 ; 2 ; 8 ; 1 ; 3 ; 11 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; nCRAS ; 67 ; 2 ; 8 ; 3 ; 2 ; 16 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -; nFWE ; 48 ; 1 ; 6 ; 0 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; -+---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Output Pins ; -+---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; -+---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; Dout[0] ; 33 ; 1 ; 3 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[1] ; 57 ; 2 ; 8 ; 2 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[2] ; 56 ; 2 ; 8 ; 1 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[3] ; 47 ; 1 ; 6 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[4] ; 44 ; 1 ; 6 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[5] ; 28 ; 1 ; 2 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[6] ; 34 ; 1 ; 3 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; Dout[7] ; 43 ; 1 ; 6 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; LED ; 88 ; 2 ; 5 ; 5 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVTTL ; 16mA ; no ; User ; 10 pF ; - ; - ; -; RA[0] ; 18 ; 1 ; 1 ; 1 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[10] ; 16 ; 1 ; 1 ; 2 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[11] ; 7 ; 1 ; 1 ; 3 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[1] ; 20 ; 1 ; 1 ; 1 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[2] ; 30 ; 1 ; 3 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[3] ; 27 ; 1 ; 2 ; 0 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[4] ; 26 ; 1 ; 2 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[5] ; 29 ; 1 ; 2 ; 0 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[6] ; 21 ; 1 ; 1 ; 1 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[7] ; 19 ; 1 ; 1 ; 1 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RA[8] ; 17 ; 1 ; 1 ; 2 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RA[9] ; 15 ; 1 ; 1 ; 2 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RBA[0] ; 5 ; 1 ; 1 ; 4 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RBA[1] ; 14 ; 1 ; 1 ; 2 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RCKE ; 8 ; 1 ; 1 ; 3 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; RDQMH ; 2 ; 1 ; 1 ; 4 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; RDQML ; 98 ; 2 ; 2 ; 5 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; nRCAS ; 4 ; 1 ; 1 ; 4 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; nRCS ; 3 ; 1 ; 1 ; 4 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -; nRRAS ; 6 ; 1 ; 1 ; 3 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; -; nRWE ; 100 ; 2 ; 2 ; 5 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; -+---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Bidir Pins ; -+-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; -+-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ -; RD[0] ; 96 ; 2 ; 3 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[1] ; 90 ; 2 ; 4 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[2] ; 89 ; 2 ; 4 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[3] ; 99 ; 2 ; 2 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[4] ; 92 ; 2 ; 3 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[5] ; 91 ; 2 ; 4 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[6] ; 95 ; 2 ; 3 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -; RD[7] ; 97 ; 2 ; 3 ; 5 ; 3 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; -+-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ - - -+-------------------------------------------------------------+ -; I/O Bank Usage ; -+----------+-------------------+---------------+--------------+ -; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; -+----------+-------------------+---------------+--------------+ -; 1 ; 38 / 38 ( 100 % ) ; 3.3V ; -- ; -; 2 ; 25 / 41 ( 61 % ) ; 3.3V ; -- ; -+----------+-------------------+---------------+--------------+ - - -+----------------------------------------------------------------------------------------------------------------------------------------------+ -; All Package Pins ; -+----------+------------+----------+----------------+--------+--------------+---------+------------+-----------------+----------+--------------+ -; Location ; Pad Number ; I/O Bank ; Pin Name/Usage ; Dir. ; I/O Standard ; Voltage ; I/O Type ; User Assignment ; Bus Hold ; Weak Pull Up ; -+----------+------------+----------+----------------+--------+--------------+---------+------------+-----------------+----------+--------------+ -; 1 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 2 ; 0 ; 1 ; RDQMH ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 3 ; 1 ; 1 ; nRCS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 4 ; 2 ; 1 ; nRCAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 5 ; 3 ; 1 ; RBA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 6 ; 4 ; 1 ; nRRAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 7 ; 5 ; 1 ; RA[11] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 8 ; 6 ; 1 ; RCKE ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 9 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 10 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 11 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 12 ; 7 ; 1 ; RCLK ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 13 ; ; ; VCCINT ; power ; ; 1.8V ; -- ; ; -- ; -- ; -; 14 ; 8 ; 1 ; RBA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 15 ; 9 ; 1 ; RA[9] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 16 ; 10 ; 1 ; RA[10] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 17 ; 11 ; 1 ; RA[8] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 18 ; 12 ; 1 ; RA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 19 ; 13 ; 1 ; RA[7] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 20 ; 14 ; 1 ; RA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 21 ; 15 ; 1 ; RA[6] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 22 ; 16 ; 1 ; #TMS ; input ; ; ; -- ; ; -- ; -- ; -; 23 ; 17 ; 1 ; #TDI ; input ; ; ; -- ; ; -- ; -- ; -; 24 ; 18 ; 1 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; -; 25 ; 19 ; 1 ; #TDO ; output ; ; ; -- ; ; -- ; -- ; -; 26 ; 20 ; 1 ; RA[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 27 ; 21 ; 1 ; RA[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 28 ; 22 ; 1 ; Dout[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 29 ; 23 ; 1 ; RA[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 30 ; 24 ; 1 ; RA[2] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 31 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 32 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 33 ; 25 ; 1 ; Dout[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 34 ; 26 ; 1 ; Dout[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 35 ; 27 ; 1 ; Din[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 36 ; 28 ; 1 ; Din[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 37 ; 29 ; 1 ; Din[3] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 38 ; 30 ; 1 ; Din[5] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 39 ; 31 ; 1 ; Din[4] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 40 ; 32 ; 1 ; Din[7] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 41 ; 33 ; 1 ; Din[6] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 42 ; 34 ; 1 ; Din[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 43 ; 35 ; 1 ; Dout[7] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 44 ; 36 ; 1 ; Dout[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 45 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 46 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 47 ; 37 ; 1 ; Dout[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 48 ; 38 ; 1 ; nFWE ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 49 ; 39 ; 1 ; MAin[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 50 ; 40 ; 1 ; MAin[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 51 ; 41 ; 1 ; MAin[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 52 ; 42 ; 2 ; PHI2 ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 53 ; 43 ; 2 ; nCCAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 54 ; 44 ; 2 ; CROW[0] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 55 ; 45 ; 2 ; CROW[1] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 56 ; 46 ; 2 ; Dout[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 57 ; 47 ; 2 ; Dout[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 58 ; 48 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 59 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 60 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 61 ; 49 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 62 ; 50 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 63 ; ; ; VCCINT ; power ; ; 1.8V ; -- ; ; -- ; -- ; -; 64 ; 51 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 65 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 66 ; 52 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; -; 67 ; 53 ; 2 ; nCRAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 68 ; 54 ; 2 ; MAin[7] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 69 ; 55 ; 2 ; MAin[5] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 70 ; 56 ; 2 ; MAin[4] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 71 ; 57 ; 2 ; MAin[3] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 72 ; 58 ; 2 ; MAin[6] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 73 ; 59 ; 2 ; MAin[8] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 74 ; 60 ; 2 ; MAin[9] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; -; 75 ; 61 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 76 ; 62 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 77 ; 63 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 78 ; 64 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 79 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 80 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 81 ; 65 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 82 ; 66 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 83 ; 67 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 84 ; 68 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 85 ; 69 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 86 ; 70 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 87 ; 71 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; -; 88 ; 72 ; 2 ; LED ; output ; 3.3-V LVTTL ; ; Column I/O ; Y ; no ; Off ; -; 89 ; 73 ; 2 ; RD[2] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 90 ; 74 ; 2 ; RD[1] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 91 ; 75 ; 2 ; RD[5] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 92 ; 76 ; 2 ; RD[4] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 93 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 94 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 95 ; 77 ; 2 ; RD[6] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 96 ; 78 ; 2 ; RD[0] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 97 ; 79 ; 2 ; RD[7] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 98 ; 80 ; 2 ; RDQML ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -; 99 ; 81 ; 2 ; RD[3] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; -; 100 ; 82 ; 2 ; nRWE ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; -+----------+------------+----------+----------------+--------+--------------+---------+------------+-----------------+----------+--------------+ -Note: Pin directions (input, output or bidir) are based on device operating in user mode. - - -+-------------------------------------------------------------+ -; Output Pin Default Load For Reported TCO ; -+----------------------------+-------+------------------------+ -; I/O Standard ; Load ; Termination Resistance ; -+----------------------------+-------+------------------------+ -; 3.3-V LVTTL ; 10 pF ; Not Available ; -; 3.3-V LVCMOS ; 10 pF ; Not Available ; -; 2.5 V ; 10 pF ; Not Available ; -; 1.8 V ; 10 pF ; Not Available ; -; 1.5 V ; 10 pF ; Not Available ; -; 3.3V Schmitt Trigger Input ; 10 pF ; Not Available ; -; 2.5V Schmitt Trigger Input ; 10 pF ; Not Available ; -; 1.2 V ; 10 pF ; Not Available ; -; LVDS_E_3R ; 10 pF ; Not Available ; -; RSDS_E_3R ; 10 pF ; Not Available ; -+----------------------------+-------+------------------------+ -Note: User assignments will override these defaults. The user specified values are listed in the Output Pins and Bidir Pins tables. - - -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Fitter Resource Utilization by Entity ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; |RAM2GS ; 175 (175) ; 98 ; 1 ; 63 ; 0 ; 77 (77) ; 21 (21) ; 77 (77) ; 17 (17) ; 8 (8) ; |RAM2GS ; RAM2GS ; work ; -; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; -; |UFM_altufm_none_38r:UFM_altufm_none_38r_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component ; UFM_altufm_none_38r ; work ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. - - -+------------------------------------+ -; Delay Chain Summary ; -+---------+----------+---------------+ -; Name ; Pin Type ; Pad to Core 0 ; -+---------+----------+---------------+ -; Dout[0] ; Output ; -- ; -; Dout[1] ; Output ; -- ; -; Dout[2] ; Output ; -- ; -; Dout[3] ; Output ; -- ; -; Dout[4] ; Output ; -- ; -; Dout[5] ; Output ; -- ; -; Dout[6] ; Output ; -- ; -; Dout[7] ; Output ; -- ; -; LED ; Output ; -- ; -; RBA[0] ; Output ; -- ; -; RBA[1] ; Output ; -- ; -; RA[0] ; Output ; -- ; -; RA[1] ; Output ; -- ; -; RA[2] ; Output ; -- ; -; RA[3] ; Output ; -- ; -; RA[4] ; Output ; -- ; -; RA[5] ; Output ; -- ; -; RA[6] ; Output ; -- ; -; RA[7] ; Output ; -- ; -; RA[8] ; Output ; -- ; -; RA[9] ; Output ; -- ; -; RA[10] ; Output ; -- ; -; RA[11] ; Output ; -- ; -; nRCS ; Output ; -- ; -; RCKE ; Output ; -- ; -; nRWE ; Output ; -- ; -; nRRAS ; Output ; -- ; -; nRCAS ; Output ; -- ; -; RDQMH ; Output ; -- ; -; RDQML ; Output ; -- ; -; RD[0] ; Bidir ; (0) ; -; RD[1] ; Bidir ; (0) ; -; RD[2] ; Bidir ; (0) ; -; RD[3] ; Bidir ; (0) ; -; RD[4] ; Bidir ; (0) ; -; RD[5] ; Bidir ; (0) ; -; RD[6] ; Bidir ; (0) ; -; RD[7] ; Bidir ; (0) ; -; nCRAS ; Input ; (0) ; -; MAin[0] ; Input ; (0) ; -; MAin[1] ; Input ; (0) ; -; MAin[2] ; Input ; (0) ; -; MAin[3] ; Input ; (0) ; -; MAin[4] ; Input ; (0) ; -; MAin[5] ; Input ; (0) ; -; MAin[6] ; Input ; (0) ; -; MAin[7] ; Input ; (0) ; -; MAin[8] ; Input ; (0) ; -; MAin[9] ; Input ; (0) ; -; RCLK ; Input ; (0) ; -; nCCAS ; Input ; (0) ; -; CROW[0] ; Input ; (1) ; -; CROW[1] ; Input ; (1) ; -; PHI2 ; Input ; (0) ; -; Din[6] ; Input ; (1) ; -; nFWE ; Input ; (1) ; -; Din[0] ; Input ; (1) ; -; Din[7] ; Input ; (1) ; -; Din[1] ; Input ; (1) ; -; Din[4] ; Input ; (1) ; -; Din[2] ; Input ; (1) ; -; Din[3] ; Input ; (1) ; -; Din[5] ; Input ; (1) ; -+---------+----------+---------------+ - - -+-----------------------------------------------------------------------------------------------------------------+ -; Control Signals ; -+------------+-------------+---------+-------------------------+--------+----------------------+------------------+ -; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; -+------------+-------------+---------+-------------------------+--------+----------------------+------------------+ -; CmdDRDIn~1 ; LC_X5_Y1_N5 ; 4 ; Clock enable ; no ; -- ; -- ; -; CmdLEDEN~1 ; LC_X5_Y1_N3 ; 3 ; Clock enable ; no ; -- ; -- ; -; DRDIn~1 ; LC_X7_Y1_N7 ; 2 ; Clock enable ; no ; -- ; -- ; -; PHI2 ; PIN_52 ; 22 ; Clock ; yes ; Global Clock ; GCLK3 ; -; RCLK ; PIN_12 ; 55 ; Clock ; yes ; Global Clock ; GCLK0 ; -; RD~16 ; LC_X3_Y4_N5 ; 8 ; Output enable ; no ; -- ; -- ; -; Ready ; LC_X3_Y2_N8 ; 40 ; Sync. clear, Sync. load ; no ; -- ; -- ; -; always8~6 ; LC_X4_Y2_N2 ; 3 ; Clock enable ; no ; -- ; -- ; -; nCCAS ; PIN_53 ; 11 ; Clock ; yes ; Global Clock ; GCLK2 ; -; nCRAS ; PIN_67 ; 16 ; Clock ; yes ; Global Clock ; GCLK1 ; -+------------+-------------+---------+-------------------------+--------+----------------------+------------------+ - - -+----------------------------------------------------------------------+ -; Global & Other Fast Signals ; -+-------+----------+---------+----------------------+------------------+ -; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; -+-------+----------+---------+----------------------+------------------+ -; PHI2 ; PIN_52 ; 22 ; Global Clock ; GCLK3 ; -; RCLK ; PIN_12 ; 55 ; Global Clock ; GCLK0 ; -; nCCAS ; PIN_53 ; 11 ; Global Clock ; GCLK2 ; -; nCRAS ; PIN_67 ; 16 ; Global Clock ; GCLK1 ; -+-------+----------+---------+----------------------+------------------+ - - -+--------------------------------------------+ -; Routing Usage Summary ; -+-----------------------+--------------------+ -; Routing Resource Type ; Usage ; -+-----------------------+--------------------+ -; C4s ; 128 / 784 ( 16 % ) ; -; Direct links ; 37 / 888 ( 4 % ) ; -; Global clocks ; 4 / 4 ( 100 % ) ; -; LAB clocks ; 15 / 32 ( 47 % ) ; -; LUT chains ; 15 / 216 ( 7 % ) ; -; Local interconnects ; 239 / 888 ( 27 % ) ; -; R4s ; 117 / 704 ( 17 % ) ; -+-----------------------+--------------------+ - - -+---------------------------------------------------------------------------+ -; LAB Logic Elements ; -+--------------------------------------------+------------------------------+ -; Number of Logic Elements (Average = 7.95) ; Number of LABs (Total = 22) ; -+--------------------------------------------+------------------------------+ -; 1 ; 1 ; -; 2 ; 1 ; -; 3 ; 1 ; -; 4 ; 0 ; -; 5 ; 0 ; -; 6 ; 2 ; -; 7 ; 1 ; -; 8 ; 4 ; -; 9 ; 2 ; -; 10 ; 10 ; -+--------------------------------------------+------------------------------+ - - -+-------------------------------------------------------------------+ -; LAB-wide Signals ; -+------------------------------------+------------------------------+ -; LAB-wide Signals (Average = 1.50) ; Number of LABs (Total = 22) ; -+------------------------------------+------------------------------+ -; 1 Clock ; 13 ; -; 1 Clock enable ; 6 ; -; 1 Sync. clear ; 3 ; -; 1 Sync. load ; 2 ; -; 2 Clocks ; 9 ; -+------------------------------------+------------------------------+ - - -+----------------------------------------------------------------------------+ -; LAB Signals Sourced ; -+---------------------------------------------+------------------------------+ -; Number of Signals Sourced (Average = 8.18) ; Number of LABs (Total = 22) ; -+---------------------------------------------+------------------------------+ -; 0 ; 0 ; -; 1 ; 1 ; -; 2 ; 1 ; -; 3 ; 1 ; -; 4 ; 0 ; -; 5 ; 0 ; -; 6 ; 1 ; -; 7 ; 2 ; -; 8 ; 3 ; -; 9 ; 3 ; -; 10 ; 7 ; -; 11 ; 3 ; -+---------------------------------------------+------------------------------+ - - -+--------------------------------------------------------------------------------+ -; LAB Signals Sourced Out ; -+-------------------------------------------------+------------------------------+ -; Number of Signals Sourced Out (Average = 5.45) ; Number of LABs (Total = 22) ; -+-------------------------------------------------+------------------------------+ -; 0 ; 0 ; -; 1 ; 1 ; -; 2 ; 1 ; -; 3 ; 2 ; -; 4 ; 2 ; -; 5 ; 4 ; -; 6 ; 4 ; -; 7 ; 5 ; -; 8 ; 3 ; -+-------------------------------------------------+------------------------------+ - - -+----------------------------------------------------------------------------+ -; LAB Distinct Inputs ; -+---------------------------------------------+------------------------------+ -; Number of Distinct Inputs (Average = 9.32) ; Number of LABs (Total = 22) ; -+---------------------------------------------+------------------------------+ -; 0 ; 0 ; -; 1 ; 0 ; -; 2 ; 3 ; -; 3 ; 0 ; -; 4 ; 0 ; -; 5 ; 1 ; -; 6 ; 1 ; -; 7 ; 1 ; -; 8 ; 4 ; -; 9 ; 3 ; -; 10 ; 0 ; -; 11 ; 2 ; -; 12 ; 1 ; -; 13 ; 3 ; -; 14 ; 1 ; -; 15 ; 0 ; -; 16 ; 1 ; -; 17 ; 0 ; -; 18 ; 0 ; -; 19 ; 1 ; -+---------------------------------------------+------------------------------+ - - -+-------------------------------------------------------------------------+ -; Fitter Device Options ; -+----------------------------------------------+--------------------------+ -; Option ; Setting ; -+----------------------------------------------+--------------------------+ -; Enable user-supplied start-up clock (CLKUSR) ; Off ; -; Enable device-wide reset (DEV_CLRn) ; Off ; -; Enable device-wide output enable (DEV_OE) ; Off ; -; Enable INIT_DONE output ; Off ; -; Configuration scheme ; Passive Serial ; -; Reserve all unused pins ; As output driving ground ; -+----------------------------------------------+--------------------------+ - - -+------------------------------------------------------------+ -; Estimated Delay Added for Hold Timing Summary ; -+-----------------+----------------------+-------------------+ -; Source Clock(s) ; Destination Clock(s) ; Delay Added in ns ; -+-----------------+----------------------+-------------------+ -; I/O ; nCRAS ; 2.4 ; -; I/O ; RCLK ; 1.8 ; -+-----------------+----------------------+-------------------+ -Note: For more information on problematic transfers, consider running the Fitter again with the Optimize hold timing option (Settings Menu) turned off. -This will disable optimization of problematic paths and expose them for further analysis using the Timing Analyzer. - - -+------------------------------------------------------------+ -; Estimated Delay Added for Hold Timing Details ; -+-----------------+----------------------+-------------------+ -; Source Register ; Destination Register ; Delay Added in ns ; -+-----------------+----------------------+-------------------+ -; nCCAS ; CBR ; 2.449 ; -; PHI2 ; PHI2r ; 0.948 ; -; nCRAS ; RASr ; 0.420 ; -+-----------------+----------------------+-------------------+ -Note: This table only shows the top 3 path(s) that have the largest delay added for hold. - - -+-----------------+ -; Fitter Messages ; -+-----------------+ -Info (20032): Parallel compilation is enabled and will use up to 4 processors -Info (119006): Selected device 5M240ZT100C5 for design "RAM2GS" -Info (21077): Low junction temperature is 0 degrees C -Info (21077): High junction temperature is 85 degrees C -Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time -Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature. -Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices - Info (176445): Device 5M80ZT100C5 is compatible - Info (176445): Device 5M80ZT100I5 is compatible - Info (176445): Device 5M160ZT100C5 is compatible - Info (176445): Device 5M160ZT100I5 is compatible - Info (176445): Device 5M240ZT100I5 is compatible - Info (176445): Device 5M570ZT100C5 is compatible - Info (176445): Device 5M570ZT100I5 is compatible -Info (332104): Reading SDC File: '../RAM2GS.sdc' -Info (332104): Reading SDC File: '../RAM2GS-MAX.sdc' -Info (332129): Detected timing requirements -- optimizing circuit to achieve only the specified requirements -Info (332111): Found 6 clocks - Info (332111): Period Clock Name - Info (332111): ======== ============ - Info (332111): 200.000 ARCLK - Info (332111): 200.000 DRCLK - Info (332111): 350.000 nCCAS - Info (332111): 350.000 nCRAS - Info (332111): 350.000 PHI2 - Info (332111): 16.000 RCLK -Info (186079): Completed User Assigned Global Signals Promotion Operation -Info (186215): Automatically promoted signal "RCLK" to use Global clock in PIN 12 File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 40 -Info (186216): Automatically promoted some destinations of signal "PHI2" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 7 - Info (186217): Destination "PHI2r" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 13 -Info (186228): Pin "PHI2" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 7 -Info (186216): Automatically promoted some destinations of signal "nCRAS" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 - Info (186217): Destination "LED~0" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 21 - Info (186217): Destination "RASr" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 14 -Info (186228): Pin "nCRAS" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 -Info (186216): Automatically promoted some destinations of signal "nCCAS" to use Global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 - Info (186217): Destination "CBR" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 17 - Info (186217): Destination "RD~16" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 59 - Info (186217): Destination "CASr" may be non-global or may not use global clock File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 15 -Info (186228): Pin "nCCAS" drives global clock, but is not placed in a dedicated clock pin position File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 10 -Info (186079): Completed Auto Global Promotion Operation -Info (176234): Starting register packing -Info (186468): Started processing fast register assignments -Info (186469): Finished processing fast register assignments -Info (176235): Finished register packing -Info (171121): Fitter preparation operations ending: elapsed time is 00:00:00 -Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family. -Info (170189): Fitter placement preparation operations beginning -Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00 -Info (170191): Fitter placement operations beginning -Info (170137): Fitter placement was successful -Info (170192): Fitter placement operations ending: elapsed time is 00:00:00 -Info (170193): Fitter routing operations beginning -Info (170195): Router estimated average interconnect usage is 16% of the available device resources - Info (170196): Router estimated peak interconnect usage is 16% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5 -Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time. - Info (170201): Optimizations that may affect the design's routability were skipped -Info (170194): Fitter routing operations ending: elapsed time is 00:00:00 -Info (11888): Total time spent on timing analysis during the Fitter is 0.25 seconds. -Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:00 -Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg -Info: Quartus Prime Fitter was successful. 0 errors, 1 warning - Info: Peak virtual memory: 5344 megabytes - Info: Processing ended: Wed Aug 16 03:21:43 2023 - Info: Elapsed time: 00:00:02 - Info: Total CPU time (on all processors): 00:00:03 - - -+----------------------------+ -; Fitter Suppressed Messages ; -+----------------------------+ -The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg. - - +Fitter report for RAM2GS +Sat Aug 19 22:00:00 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Fitter Summary + 3. Fitter Settings + 4. Parallel Compilation + 5. Pin-Out File + 6. Fitter Resource Usage Summary + 7. Input Pins + 8. Output Pins + 9. Bidir Pins + 10. I/O Bank Usage + 11. All Package Pins + 12. Output Pin Default Load For Reported TCO + 13. Fitter Resource Utilization by Entity + 14. Delay Chain Summary + 15. Control Signals + 16. Global & Other Fast Signals + 17. Routing Usage Summary + 18. LAB Logic Elements + 19. LAB-wide Signals + 20. LAB Signals Sourced + 21. LAB Signals Sourced Out + 22. LAB Distinct Inputs + 23. Fitter Device Options + 24. Estimated Delay Added for Hold Timing Summary + 25. Estimated Delay Added for Hold Timing Details + 26. Fitter Messages + 27. Fitter Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------+ +; Fitter Summary ; ++-----------------------+---------------------------------------------+ +; Fitter Status ; Successful - Sat Aug 19 22:00:00 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX V ; +; Device ; 5M240ZT100C5 ; +; Timing Models ; Final ; +; Total logic elements ; 175 / 240 ( 73 % ) ; +; Total pins ; 63 / 79 ( 80 % ) ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------+---------------------------------------------+ + + ++--------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Settings ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Option ; Setting ; Default Value ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Device ; 5M240ZT100C5 ; ; +; Maximum processors allowed for parallel compilation ; 4 ; ; +; Minimum Core Junction Temperature ; 0 ; ; +; Maximum Core Junction Temperature ; 85 ; ; +; Fit Attempts to Skip ; 0 ; 0.0 ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Router Timing Optimization Level ; Normal ; Normal ; +; Placement Effort Multiplier ; 1.0 ; 1.0 ; +; Router Effort Multiplier ; 1.0 ; 1.0 ; +; Always Enable Input Buffers ; Off ; Off ; +; Optimize Hold Timing ; IO Paths and Minimum TPD Paths ; IO Paths and Minimum TPD Paths ; +; Optimize Multi-Corner Timing ; Off ; Off ; +; Guarantee I/O Paths Have Zero Hold Time at Fast Corner ; On ; On ; +; Power Optimization During Fitting ; Normal compilation ; Normal compilation ; +; Optimize Timing ; Normal compilation ; Normal compilation ; +; Optimize Timing for ECOs ; Off ; Off ; +; Regenerate Full Fit Report During ECO Compiles ; Off ; Off ; +; Optimize IOC Register Placement for Timing ; Normal ; Normal ; +; Limit to One Fitting Attempt ; Off ; Off ; +; Final Placement Optimizations ; Automatically ; Automatically ; +; Fitter Aggressive Routability Optimizations ; Automatically ; Automatically ; +; Fitter Initial Placement Seed ; 1 ; 1 ; +; Periphery to Core Placement and Routing Optimization ; Off ; Off ; +; Slow Slew Rate ; Off ; Off ; +; PCI I/O ; Off ; Off ; +; Weak Pull-Up Resistor ; Off ; Off ; +; Enable Bus-Hold Circuitry ; Off ; Off ; +; Auto Delay Chains ; On ; On ; +; Auto Delay Chains for High Fanout Input Pins ; Off ; Off ; +; Perform Physical Synthesis for Combinational Logic for Performance ; Off ; Off ; +; Perform Register Duplication for Performance ; Off ; Off ; +; Perform Register Retiming for Performance ; Off ; Off ; +; Perform Asynchronous Signal Pipelining ; Off ; Off ; +; Fitter Effort ; Auto Fit ; Auto Fit ; +; Physical Synthesis Effort Level ; Normal ; Normal ; +; Logic Cell Insertion - Logic Duplication ; Auto ; Auto ; +; Auto Register Duplication ; Auto ; Auto ; +; Auto Global Clock ; On ; On ; +; Auto Global Register Control Signals ; On ; On ; +; Force Fitter to Avoid Periphery Placement Warnings ; Off ; Off ; ++--------------------------------------------------------------------+--------------------------------+--------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.01 ; +; Maximum used ; 4 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 0.6% ; +; Processors 3-4 ; 0.4% ; ++----------------------------+-------------+ + + ++--------------+ +; Pin-Out File ; ++--------------+ +The pin-out file can be found in //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.pin. + + ++---------------------------------------------------------------------+ +; Fitter Resource Usage Summary ; ++---------------------------------------------+-----------------------+ +; Resource ; Usage ; ++---------------------------------------------+-----------------------+ +; Total logic elements ; 175 / 240 ( 73 % ) ; +; -- Combinational with no register ; 77 ; +; -- Register only ; 21 ; +; -- Combinational with a register ; 77 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 46 ; +; -- 2 input functions ; 42 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 159 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 8 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 29 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 98 / 240 ( 41 % ) ; +; Total LABs ; 22 / 24 ( 92 % ) ; +; Logic elements in carry chains ; 17 ; +; Virtual pins ; 0 ; +; I/O pins ; 63 / 79 ( 80 % ) ; +; -- Clock pins ; 2 / 4 ( 50 % ) ; +; ; ; +; UFM blocks ; 1 / 1 ( 100 % ) ; +; ; ; +; -- Total Fixed Point DSP Blocks ; 0 ; +; -- Total Floating Point DSP Blocks ; 0 ; +; ; ; +; Global signals ; 4 ; +; -- Global clocks ; 4 / 4 ( 100 % ) ; +; JTAGs ; 0 / 1 ( 0 % ) ; +; Average interconnect usage (total/H/V) ; 20.2% / 22.0% / 18.3% ; +; Peak interconnect usage (total/H/V) ; 20.2% / 22.0% / 18.3% ; +; Maximum fan-out ; 55 ; +; Highest non-global fan-out ; 41 ; +; Total fan-out ; 661 ; +; Average fan-out ; 2.77 ; ++---------------------------------------------+-----------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Input Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; PCI I/O Enabled ; Bus Hold ; Weak Pull Up ; I/O Standard ; Location assigned by ; Slow Slew Rate ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ +; CROW[0] ; 54 ; 2 ; 8 ; 1 ; 2 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; CROW[1] ; 55 ; 2 ; 8 ; 1 ; 1 ; 1 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[0] ; 42 ; 1 ; 5 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[1] ; 36 ; 1 ; 4 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[2] ; 35 ; 1 ; 3 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[3] ; 37 ; 1 ; 4 ; 0 ; 1 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[4] ; 39 ; 1 ; 5 ; 0 ; 3 ; 7 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[5] ; 38 ; 1 ; 4 ; 0 ; 0 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[6] ; 41 ; 1 ; 5 ; 0 ; 1 ; 8 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; Din[7] ; 40 ; 1 ; 5 ; 0 ; 2 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[0] ; 49 ; 1 ; 7 ; 0 ; 2 ; 5 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[1] ; 51 ; 1 ; 7 ; 0 ; 0 ; 6 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[2] ; 50 ; 1 ; 7 ; 0 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[3] ; 71 ; 2 ; 8 ; 4 ; 3 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[4] ; 70 ; 2 ; 8 ; 4 ; 4 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[5] ; 69 ; 2 ; 8 ; 3 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[6] ; 72 ; 2 ; 8 ; 4 ; 2 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[7] ; 68 ; 2 ; 8 ; 3 ; 1 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[8] ; 73 ; 2 ; 8 ; 4 ; 1 ; 2 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; MAin[9] ; 74 ; 2 ; 8 ; 4 ; 0 ; 4 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; PHI2 ; 52 ; 2 ; 8 ; 1 ; 4 ; 22 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; RCLK ; 12 ; 1 ; 1 ; 3 ; 3 ; 55 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nCCAS ; 53 ; 2 ; 8 ; 1 ; 3 ; 11 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nCRAS ; 67 ; 2 ; 8 ; 3 ; 2 ; 16 ; 0 ; yes ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; +; nFWE ; 48 ; 1 ; 6 ; 0 ; 0 ; 3 ; 0 ; no ; no ; no ; Off ; 3.3-V LVCMOS ; User ; no ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------+--------------+--------------+----------------------+----------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Output Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Dout[0] ; 33 ; 1 ; 3 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[1] ; 57 ; 2 ; 8 ; 2 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[2] ; 56 ; 2 ; 8 ; 1 ; 0 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[3] ; 47 ; 1 ; 6 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[4] ; 44 ; 1 ; 6 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[5] ; 28 ; 1 ; 2 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[6] ; 34 ; 1 ; 3 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; Dout[7] ; 43 ; 1 ; 6 ; 0 ; 3 ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; LED ; 88 ; 2 ; 5 ; 5 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVTTL ; 16mA ; no ; User ; 10 pF ; - ; - ; +; RA[0] ; 18 ; 1 ; 1 ; 1 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[10] ; 16 ; 1 ; 1 ; 2 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[11] ; 7 ; 1 ; 1 ; 3 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[1] ; 20 ; 1 ; 1 ; 1 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[2] ; 30 ; 1 ; 3 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[3] ; 27 ; 1 ; 2 ; 0 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[4] ; 26 ; 1 ; 2 ; 0 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[5] ; 29 ; 1 ; 2 ; 0 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[6] ; 21 ; 1 ; 1 ; 1 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[7] ; 19 ; 1 ; 1 ; 1 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RA[8] ; 17 ; 1 ; 1 ; 2 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RA[9] ; 15 ; 1 ; 1 ; 2 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RBA[0] ; 5 ; 1 ; 1 ; 4 ; 3 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RBA[1] ; 14 ; 1 ; 1 ; 2 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RCKE ; 8 ; 1 ; 1 ; 3 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; RDQMH ; 2 ; 1 ; 1 ; 4 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; RDQML ; 98 ; 2 ; 2 ; 5 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; nRCAS ; 4 ; 1 ; 1 ; 4 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; nRCS ; 3 ; 1 ; 1 ; 4 ; 1 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; +; nRRAS ; 6 ; 1 ; 1 ; 3 ; 0 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; yes ; User ; 10 pF ; - ; - ; +; nRWE ; 100 ; 2 ; 2 ; 5 ; 2 ; no ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; - ; - ; ++---------+-------+----------+--------------+--------------+-------------+-----------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Bidir Pins ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; Output Register ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Fast Output Connection ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ +; RD[0] ; 96 ; 2 ; 3 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[1] ; 90 ; 2 ; 4 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[2] ; 89 ; 2 ; 4 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[3] ; 99 ; 2 ; 2 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[4] ; 92 ; 2 ; 3 ; 5 ; 0 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[5] ; 91 ; 2 ; 4 ; 5 ; 2 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[6] ; 95 ; 2 ; 3 ; 5 ; 1 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; +; RD[7] ; 97 ; 2 ; 3 ; 5 ; 3 ; 1 ; 0 ; no ; no ; yes ; no ; no ; yes ; Off ; 3.3-V LVCMOS ; 4mA ; no ; User ; 10 pF ; RD~16 ; - ; ++-------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+-----------------+----------------+-----------------+------------+----------+--------------+--------------+------------------+------------------------+----------------------+-------+----------------------+---------------------+ + + ++-------------------------------------------------------------+ +; I/O Bank Usage ; ++----------+-------------------+---------------+--------------+ +; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; ++----------+-------------------+---------------+--------------+ +; 1 ; 38 / 38 ( 100 % ) ; 3.3V ; -- ; +; 2 ; 25 / 41 ( 61 % ) ; 3.3V ; -- ; ++----------+-------------------+---------------+--------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------------------+ +; All Package Pins ; ++----------+------------+----------+----------------+--------+--------------+---------+------------+-----------------+----------+--------------+ +; Location ; Pad Number ; I/O Bank ; Pin Name/Usage ; Dir. ; I/O Standard ; Voltage ; I/O Type ; User Assignment ; Bus Hold ; Weak Pull Up ; ++----------+------------+----------+----------------+--------+--------------+---------+------------+-----------------+----------+--------------+ +; 1 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 2 ; 0 ; 1 ; RDQMH ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 3 ; 1 ; 1 ; nRCS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 4 ; 2 ; 1 ; nRCAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 5 ; 3 ; 1 ; RBA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 6 ; 4 ; 1 ; nRRAS ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 7 ; 5 ; 1 ; RA[11] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 8 ; 6 ; 1 ; RCKE ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 9 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 10 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 11 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 12 ; 7 ; 1 ; RCLK ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 13 ; ; ; VCCINT ; power ; ; 1.8V ; -- ; ; -- ; -- ; +; 14 ; 8 ; 1 ; RBA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 15 ; 9 ; 1 ; RA[9] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 16 ; 10 ; 1 ; RA[10] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 17 ; 11 ; 1 ; RA[8] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 18 ; 12 ; 1 ; RA[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 19 ; 13 ; 1 ; RA[7] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 20 ; 14 ; 1 ; RA[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 21 ; 15 ; 1 ; RA[6] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 22 ; 16 ; 1 ; #TMS ; input ; ; ; -- ; ; -- ; -- ; +; 23 ; 17 ; 1 ; #TDI ; input ; ; ; -- ; ; -- ; -- ; +; 24 ; 18 ; 1 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; +; 25 ; 19 ; 1 ; #TDO ; output ; ; ; -- ; ; -- ; -- ; +; 26 ; 20 ; 1 ; RA[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 27 ; 21 ; 1 ; RA[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 28 ; 22 ; 1 ; Dout[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 29 ; 23 ; 1 ; RA[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 30 ; 24 ; 1 ; RA[2] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 31 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 32 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 33 ; 25 ; 1 ; Dout[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 34 ; 26 ; 1 ; Dout[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 35 ; 27 ; 1 ; Din[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 36 ; 28 ; 1 ; Din[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 37 ; 29 ; 1 ; Din[3] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 38 ; 30 ; 1 ; Din[5] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 39 ; 31 ; 1 ; Din[4] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 40 ; 32 ; 1 ; Din[7] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 41 ; 33 ; 1 ; Din[6] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 42 ; 34 ; 1 ; Din[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 43 ; 35 ; 1 ; Dout[7] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 44 ; 36 ; 1 ; Dout[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 45 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 46 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 47 ; 37 ; 1 ; Dout[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 48 ; 38 ; 1 ; nFWE ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 49 ; 39 ; 1 ; MAin[0] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 50 ; 40 ; 1 ; MAin[2] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 51 ; 41 ; 1 ; MAin[1] ; input ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 52 ; 42 ; 2 ; PHI2 ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 53 ; 43 ; 2 ; nCCAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 54 ; 44 ; 2 ; CROW[0] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 55 ; 45 ; 2 ; CROW[1] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 56 ; 46 ; 2 ; Dout[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 57 ; 47 ; 2 ; Dout[1] ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 58 ; 48 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 59 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 60 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 61 ; 49 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 62 ; 50 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 63 ; ; ; VCCINT ; power ; ; 1.8V ; -- ; ; -- ; -- ; +; 64 ; 51 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 65 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 66 ; 52 ; 2 ; GND* ; ; ; ; Row I/O ; ; no ; Off ; +; 67 ; 53 ; 2 ; nCRAS ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 68 ; 54 ; 2 ; MAin[7] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 69 ; 55 ; 2 ; MAin[5] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 70 ; 56 ; 2 ; MAin[4] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 71 ; 57 ; 2 ; MAin[3] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 72 ; 58 ; 2 ; MAin[6] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 73 ; 59 ; 2 ; MAin[8] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 74 ; 60 ; 2 ; MAin[9] ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 75 ; 61 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 76 ; 62 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 77 ; 63 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 78 ; 64 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 79 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 80 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 81 ; 65 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 82 ; 66 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 83 ; 67 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 84 ; 68 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 85 ; 69 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 86 ; 70 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 87 ; 71 ; 2 ; GND* ; ; ; ; Column I/O ; ; no ; Off ; +; 88 ; 72 ; 2 ; LED ; output ; 3.3-V LVTTL ; ; Column I/O ; Y ; no ; Off ; +; 89 ; 73 ; 2 ; RD[2] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 90 ; 74 ; 2 ; RD[1] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 91 ; 75 ; 2 ; RD[5] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 92 ; 76 ; 2 ; RD[4] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 93 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 94 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 95 ; 77 ; 2 ; RD[6] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 96 ; 78 ; 2 ; RD[0] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 97 ; 79 ; 2 ; RD[7] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 98 ; 80 ; 2 ; RDQML ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; +; 99 ; 81 ; 2 ; RD[3] ; bidir ; 3.3-V LVCMOS ; ; Column I/O ; Y ; yes ; Off ; +; 100 ; 82 ; 2 ; nRWE ; output ; 3.3-V LVCMOS ; ; Column I/O ; Y ; no ; Off ; ++----------+------------+----------+----------------+--------+--------------+---------+------------+-----------------+----------+--------------+ +Note: Pin directions (input, output or bidir) are based on device operating in user mode. + + ++-------------------------------------------------------------+ +; Output Pin Default Load For Reported TCO ; ++----------------------------+-------+------------------------+ +; I/O Standard ; Load ; Termination Resistance ; ++----------------------------+-------+------------------------+ +; 3.3-V LVTTL ; 10 pF ; Not Available ; +; 3.3-V LVCMOS ; 10 pF ; Not Available ; +; 2.5 V ; 10 pF ; Not Available ; +; 1.8 V ; 10 pF ; Not Available ; +; 1.5 V ; 10 pF ; Not Available ; +; 3.3V Schmitt Trigger Input ; 10 pF ; Not Available ; +; 2.5V Schmitt Trigger Input ; 10 pF ; Not Available ; +; 1.2 V ; 10 pF ; Not Available ; +; LVDS_E_3R ; 10 pF ; Not Available ; +; RSDS_E_3R ; 10 pF ; Not Available ; ++----------------------------+-------+------------------------+ +Note: User assignments will override these defaults. The user specified values are listed in the Output Pins and Bidir Pins tables. + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 175 (175) ; 98 ; 1 ; 63 ; 0 ; 77 (77) ; 21 (21) ; 77 (77) ; 17 (17) ; 8 (8) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_38r:UFM_altufm_none_38r_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component ; UFM_altufm_none_38r ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++------------------------------------+ +; Delay Chain Summary ; ++---------+----------+---------------+ +; Name ; Pin Type ; Pad to Core 0 ; ++---------+----------+---------------+ +; Dout[0] ; Output ; -- ; +; Dout[1] ; Output ; -- ; +; Dout[2] ; Output ; -- ; +; Dout[3] ; Output ; -- ; +; Dout[4] ; Output ; -- ; +; Dout[5] ; Output ; -- ; +; Dout[6] ; Output ; -- ; +; Dout[7] ; Output ; -- ; +; LED ; Output ; -- ; +; RBA[0] ; Output ; -- ; +; RBA[1] ; Output ; -- ; +; RA[0] ; Output ; -- ; +; RA[1] ; Output ; -- ; +; RA[2] ; Output ; -- ; +; RA[3] ; Output ; -- ; +; RA[4] ; Output ; -- ; +; RA[5] ; Output ; -- ; +; RA[6] ; Output ; -- ; +; RA[7] ; Output ; -- ; +; RA[8] ; Output ; -- ; +; RA[9] ; Output ; -- ; +; RA[10] ; Output ; -- ; +; RA[11] ; Output ; -- ; +; nRCS ; Output ; -- ; +; RCKE ; Output ; -- ; +; nRWE ; Output ; -- ; +; nRRAS ; Output ; -- ; +; nRCAS ; Output ; -- ; +; RDQMH ; Output ; -- ; +; RDQML ; Output ; -- ; +; RD[0] ; Bidir ; (0) ; +; RD[1] ; Bidir ; (0) ; +; RD[2] ; Bidir ; (0) ; +; RD[3] ; Bidir ; (0) ; +; RD[4] ; Bidir ; (0) ; +; RD[5] ; Bidir ; (0) ; +; RD[6] ; Bidir ; (0) ; +; RD[7] ; Bidir ; (0) ; +; nCRAS ; Input ; (0) ; +; MAin[0] ; Input ; (0) ; +; MAin[1] ; Input ; (0) ; +; MAin[2] ; Input ; (0) ; +; MAin[3] ; Input ; (0) ; +; MAin[4] ; Input ; (0) ; +; MAin[5] ; Input ; (0) ; +; MAin[6] ; Input ; (0) ; +; MAin[7] ; Input ; (0) ; +; MAin[8] ; Input ; (0) ; +; MAin[9] ; Input ; (0) ; +; RCLK ; Input ; (0) ; +; nCCAS ; Input ; (0) ; +; CROW[0] ; Input ; (1) ; +; CROW[1] ; Input ; (1) ; +; PHI2 ; Input ; (0) ; +; Din[6] ; Input ; (1) ; +; nFWE ; Input ; (1) ; +; Din[0] ; Input ; (1) ; +; Din[7] ; Input ; (1) ; +; Din[1] ; Input ; (1) ; +; Din[4] ; Input ; (1) ; +; Din[2] ; Input ; (1) ; +; Din[3] ; Input ; (1) ; +; Din[5] ; Input ; (1) ; ++---------+----------+---------------+ + + ++-----------------------------------------------------------------------------------------------------------------+ +; Control Signals ; ++------------+-------------+---------+-------------------------+--------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; ++------------+-------------+---------+-------------------------+--------+----------------------+------------------+ +; CmdDRDIn~1 ; LC_X5_Y1_N5 ; 4 ; Clock enable ; no ; -- ; -- ; +; CmdLEDEN~1 ; LC_X5_Y1_N3 ; 3 ; Clock enable ; no ; -- ; -- ; +; DRDIn~1 ; LC_X7_Y1_N7 ; 2 ; Clock enable ; no ; -- ; -- ; +; PHI2 ; PIN_52 ; 22 ; Clock ; yes ; Global Clock ; GCLK3 ; +; RCLK ; PIN_12 ; 55 ; Clock ; yes ; Global Clock ; GCLK0 ; +; RD~16 ; LC_X3_Y4_N5 ; 8 ; Output enable ; no ; -- ; -- ; +; Ready ; LC_X3_Y2_N8 ; 40 ; Sync. clear, Sync. load ; no ; -- ; -- ; +; always8~6 ; LC_X4_Y2_N2 ; 3 ; Clock enable ; no ; -- ; -- ; +; nCCAS ; PIN_53 ; 11 ; Clock ; yes ; Global Clock ; GCLK2 ; +; nCRAS ; PIN_67 ; 16 ; Clock ; yes ; Global Clock ; GCLK1 ; ++------------+-------------+---------+-------------------------+--------+----------------------+------------------+ + + ++----------------------------------------------------------------------+ +; Global & Other Fast Signals ; ++-------+----------+---------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; ++-------+----------+---------+----------------------+------------------+ +; PHI2 ; PIN_52 ; 22 ; Global Clock ; GCLK3 ; +; RCLK ; PIN_12 ; 55 ; Global Clock ; GCLK0 ; +; nCCAS ; PIN_53 ; 11 ; Global Clock ; GCLK2 ; +; nCRAS ; PIN_67 ; 16 ; Global Clock ; GCLK1 ; ++-------+----------+---------+----------------------+------------------+ + + ++--------------------------------------------+ +; Routing Usage Summary ; ++-----------------------+--------------------+ +; Routing Resource Type ; Usage ; ++-----------------------+--------------------+ +; C4s ; 128 / 784 ( 16 % ) ; +; Direct links ; 37 / 888 ( 4 % ) ; +; Global clocks ; 4 / 4 ( 100 % ) ; +; LAB clocks ; 15 / 32 ( 47 % ) ; +; LUT chains ; 15 / 216 ( 7 % ) ; +; Local interconnects ; 239 / 888 ( 27 % ) ; +; R4s ; 117 / 704 ( 17 % ) ; ++-----------------------+--------------------+ + + ++---------------------------------------------------------------------------+ +; LAB Logic Elements ; ++--------------------------------------------+------------------------------+ +; Number of Logic Elements (Average = 7.95) ; Number of LABs (Total = 22) ; ++--------------------------------------------+------------------------------+ +; 1 ; 1 ; +; 2 ; 1 ; +; 3 ; 1 ; +; 4 ; 0 ; +; 5 ; 0 ; +; 6 ; 2 ; +; 7 ; 1 ; +; 8 ; 4 ; +; 9 ; 2 ; +; 10 ; 10 ; ++--------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------+ +; LAB-wide Signals ; ++------------------------------------+------------------------------+ +; LAB-wide Signals (Average = 1.50) ; Number of LABs (Total = 22) ; ++------------------------------------+------------------------------+ +; 1 Clock ; 13 ; +; 1 Clock enable ; 6 ; +; 1 Sync. clear ; 3 ; +; 1 Sync. load ; 2 ; +; 2 Clocks ; 9 ; ++------------------------------------+------------------------------+ + + ++----------------------------------------------------------------------------+ +; LAB Signals Sourced ; ++---------------------------------------------+------------------------------+ +; Number of Signals Sourced (Average = 8.18) ; Number of LABs (Total = 22) ; ++---------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 1 ; +; 2 ; 1 ; +; 3 ; 1 ; +; 4 ; 0 ; +; 5 ; 0 ; +; 6 ; 1 ; +; 7 ; 2 ; +; 8 ; 3 ; +; 9 ; 3 ; +; 10 ; 7 ; +; 11 ; 3 ; ++---------------------------------------------+------------------------------+ + + ++--------------------------------------------------------------------------------+ +; LAB Signals Sourced Out ; ++-------------------------------------------------+------------------------------+ +; Number of Signals Sourced Out (Average = 5.45) ; Number of LABs (Total = 22) ; ++-------------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 1 ; +; 2 ; 1 ; +; 3 ; 2 ; +; 4 ; 2 ; +; 5 ; 4 ; +; 6 ; 4 ; +; 7 ; 5 ; +; 8 ; 3 ; ++-------------------------------------------------+------------------------------+ + + ++----------------------------------------------------------------------------+ +; LAB Distinct Inputs ; ++---------------------------------------------+------------------------------+ +; Number of Distinct Inputs (Average = 9.32) ; Number of LABs (Total = 22) ; ++---------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 0 ; +; 2 ; 3 ; +; 3 ; 0 ; +; 4 ; 0 ; +; 5 ; 1 ; +; 6 ; 1 ; +; 7 ; 1 ; +; 8 ; 4 ; +; 9 ; 3 ; +; 10 ; 0 ; +; 11 ; 2 ; +; 12 ; 1 ; +; 13 ; 3 ; +; 14 ; 1 ; +; 15 ; 0 ; +; 16 ; 1 ; +; 17 ; 0 ; +; 18 ; 0 ; +; 19 ; 1 ; ++---------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------------+ +; Fitter Device Options ; ++----------------------------------------------+--------------------------+ +; Option ; Setting ; ++----------------------------------------------+--------------------------+ +; Enable user-supplied start-up clock (CLKUSR) ; Off ; +; Enable device-wide reset (DEV_CLRn) ; Off ; +; Enable device-wide output enable (DEV_OE) ; Off ; +; Enable INIT_DONE output ; Off ; +; Configuration scheme ; Passive Serial ; +; Reserve all unused pins ; As output driving ground ; ++----------------------------------------------+--------------------------+ + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Summary ; ++-----------------+----------------------+-------------------+ +; Source Clock(s) ; Destination Clock(s) ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ +; I/O ; nCRAS ; 2.4 ; +; I/O ; RCLK ; 1.8 ; ++-----------------+----------------------+-------------------+ +Note: For more information on problematic transfers, consider running the Fitter again with the Optimize hold timing option (Settings Menu) turned off. +This will disable optimization of problematic paths and expose them for further analysis using the Timing Analyzer. + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Details ; ++-----------------+----------------------+-------------------+ +; Source Register ; Destination Register ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ +; nCCAS ; CBR ; 2.449 ; +; PHI2 ; PHI2r ; 0.948 ; +; nCRAS ; RASr ; 0.420 ; ++-----------------+----------------------+-------------------+ +Note: This table only shows the top 3 path(s) that have the largest delay added for hold. + + ++-----------------+ +; Fitter Messages ; ++-----------------+ +Info (20032): Parallel compilation is enabled and will use up to 4 processors +Info (119006): Selected device 5M240ZT100C5 for design "RAM2GS" +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (171003): Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time +Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature. +Info (176444): Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices + Info (176445): Device 5M80ZT100C5 is compatible + Info (176445): Device 5M80ZT100I5 is compatible + Info (176445): Device 5M160ZT100C5 is compatible + Info (176445): Device 5M160ZT100I5 is compatible + Info (176445): Device 5M240ZT100I5 is compatible + Info (176445): Device 5M570ZT100C5 is compatible + Info (176445): Device 5M570ZT100I5 is compatible +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc' +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc' +Info (332129): Detected timing requirements -- optimizing circuit to achieve only the specified requirements +Info (332111): Found 6 clocks + Info (332111): Period Clock Name + Info (332111): ======== ============ + Info (332111): 200.000 ARCLK + Info (332111): 200.000 DRCLK + Info (332111): 350.000 nCCAS + Info (332111): 350.000 nCRAS + Info (332111): 350.000 PHI2 + Info (332111): 16.000 RCLK +Info (186079): Completed User Assigned Global Signals Promotion Operation +Info (186215): Automatically promoted signal "RCLK" to use Global clock in PIN 12 File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 41 +Info (186216): Automatically promoted some destinations of signal "PHI2" to use Global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 8 + Info (186217): Destination "PHI2r" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 14 +Info (186228): Pin "PHI2" drives global clock, but is not placed in a dedicated clock pin position File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 8 +Info (186216): Automatically promoted some destinations of signal "nCRAS" to use Global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 + Info (186217): Destination "LED~0" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 22 + Info (186217): Destination "RASr" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 15 +Info (186228): Pin "nCRAS" drives global clock, but is not placed in a dedicated clock pin position File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 +Info (186216): Automatically promoted some destinations of signal "nCCAS" to use Global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 + Info (186217): Destination "CBR" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 18 + Info (186217): Destination "RD~16" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 60 + Info (186217): Destination "CASr" may be non-global or may not use global clock File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 16 +Info (186228): Pin "nCCAS" drives global clock, but is not placed in a dedicated clock pin position File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 11 +Info (186079): Completed Auto Global Promotion Operation +Info (176234): Starting register packing +Info (186468): Started processing fast register assignments +Info (186469): Finished processing fast register assignments +Info (176235): Finished register packing +Info (171121): Fitter preparation operations ending: elapsed time is 00:00:01 +Info (14896): Fitter has disabled Advanced Physical Optimization because it is not supported for the current family. +Info (170189): Fitter placement preparation operations beginning +Info (170190): Fitter placement preparation operations ending: elapsed time is 00:00:00 +Info (170191): Fitter placement operations beginning +Info (170137): Fitter placement was successful +Info (170192): Fitter placement operations ending: elapsed time is 00:00:00 +Info (170193): Fitter routing operations beginning +Info (170195): Router estimated average interconnect usage is 16% of the available device resources + Info (170196): Router estimated peak interconnect usage is 16% of the available device resources in the region that extends from location X0_Y0 to location X8_Y5 +Info (170199): The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time. + Info (170201): Optimizations that may affect the design's routability were skipped +Info (170194): Fitter routing operations ending: elapsed time is 00:00:01 +Info (11888): Total time spent on timing analysis during the Fitter is 0.25 seconds. +Info (11218): Fitter post-fit operations ending: elapsed time is 00:00:00 +Info (144001): Generated suppressed messages file //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg +Info: Quartus Prime Fitter was successful. 0 errors, 1 warning + Info: Peak virtual memory: 5347 megabytes + Info: Processing ended: Sat Aug 19 22:00:03 2023 + Info: Elapsed time: 00:00:10 + Info: Total CPU time (on all processors): 00:00:03 + + ++----------------------------+ +; Fitter Suppressed Messages ; ++----------------------------+ +The suppressed messages can be found in //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.fit.smsg. + + diff --git a/CPLD/MAXV/output_files/RAM2GS.fit.smsg b/CPLD/MAXV/output_files/RAM2GS.fit.smsg index 6df10d8..a3cd98a 100644 --- a/CPLD/MAXV/output_files/RAM2GS.fit.smsg +++ b/CPLD/MAXV/output_files/RAM2GS.fit.smsg @@ -1,4 +1,4 @@ -Extra Info (176273): Performing register packing on registers with non-logic cell location assignments -Extra Info (176274): Completed register packing on registers with non-logic cell location assignments -Extra Info (176244): Moving registers into LUTs to improve timing and density -Extra Info (176245): Finished moving registers into LUTs: elapsed time is 00:00:00 +Extra Info (176273): Performing register packing on registers with non-logic cell location assignments +Extra Info (176274): Completed register packing on registers with non-logic cell location assignments +Extra Info (176244): Moving registers into LUTs to improve timing and density +Extra Info (176245): Finished moving registers into LUTs: elapsed time is 00:00:00 diff --git a/CPLD/MAXV/output_files/RAM2GS.fit.summary b/CPLD/MAXV/output_files/RAM2GS.fit.summary index d0026e6..06af7ed 100644 --- a/CPLD/MAXV/output_files/RAM2GS.fit.summary +++ b/CPLD/MAXV/output_files/RAM2GS.fit.summary @@ -1,11 +1,11 @@ -Fitter Status : Successful - Wed Aug 16 03:21:43 2023 -Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition -Revision Name : RAM2GS -Top-level Entity Name : RAM2GS -Family : MAX V -Device : 5M240ZT100C5 -Timing Models : Final -Total logic elements : 175 / 240 ( 73 % ) -Total pins : 63 / 79 ( 80 % ) -Total virtual pins : 0 -UFM blocks : 1 / 1 ( 100 % ) +Fitter Status : Successful - Sat Aug 19 22:00:00 2023 +Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Revision Name : RAM2GS +Top-level Entity Name : RAM2GS +Family : MAX V +Device : 5M240ZT100C5 +Timing Models : Final +Total logic elements : 175 / 240 ( 73 % ) +Total pins : 63 / 79 ( 80 % ) +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXV/output_files/RAM2GS.flow.rpt b/CPLD/MAXV/output_files/RAM2GS.flow.rpt index 7fd9392..93149bd 100644 --- a/CPLD/MAXV/output_files/RAM2GS.flow.rpt +++ b/CPLD/MAXV/output_files/RAM2GS.flow.rpt @@ -1,118 +1,118 @@ -Flow report for RAM2GS -Wed Aug 16 03:21:47 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Flow Summary - 3. Flow Settings - 4. Flow Non-Default Global Settings - 5. Flow Elapsed Time - 6. Flow OS Summary - 7. Flow Log - 8. Flow Messages - 9. Flow Suppressed Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------------+ -; Flow Summary ; -+-----------------------+---------------------------------------------+ -; Flow Status ; Successful - Wed Aug 16 03:21:44 2023 ; -; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX V ; -; Device ; 5M240ZT100C5 ; -; Timing Models ; Final ; -; Total logic elements ; 175 / 240 ( 73 % ) ; -; Total pins ; 63 / 79 ( 80 % ) ; -; Total virtual pins ; 0 ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -+-----------------------+---------------------------------------------+ - - -+-----------------------------------------+ -; Flow Settings ; -+-------------------+---------------------+ -; Option ; Setting ; -+-------------------+---------------------+ -; Start date & time ; 08/16/2023 03:21:31 ; -; Main task ; Compilation ; -; Revision Name ; RAM2GS ; -+-------------------+---------------------+ - - -+--------------------------------------------------------------------------------------------------------------------+ -; Flow Non-Default Global Settings ; -+---------------------------------------+---------------------------------+---------------+-------------+------------+ -; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; -+---------------------------------------+---------------------------------+---------------+-------------+------------+ -; COMPILER_SIGNATURE_ID ; 207120313862967.169217049105972 ; -- ; -- ; -- ; -; MAX_CORE_JUNCTION_TEMP ; 85 ; -- ; -- ; -- ; -; MIN_CORE_JUNCTION_TEMP ; 0 ; -- ; -- ; -- ; -; NUM_PARALLEL_PROCESSORS ; 4 ; -- ; -- ; -- ; -; POWER_EXT_SUPPLY_VOLTAGE_TO_REGULATOR ; 1.8V ; -- ; -- ; -- ; -; POWER_PRESET_COOLING_SOLUTION ; No Heat Sink With Still Air ; -- ; -- ; -- ; -; PROJECT_OUTPUT_DIRECTORY ; output_files ; -- ; -- ; -- ; -+---------------------------------------+---------------------------------+---------------+-------------+------------+ - - -+--------------------------------------------------------------------------------------------------------------------------+ -; Flow Elapsed Time ; -+----------------------+--------------+-------------------------+---------------------+------------------------------------+ -; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; -+----------------------+--------------+-------------------------+---------------------+------------------------------------+ -; Analysis & Synthesis ; 00:00:09 ; 1.0 ; 4702 MB ; 00:00:24 ; -; Fitter ; 00:00:02 ; 1.0 ; 5344 MB ; 00:00:03 ; -; Assembler ; 00:00:00 ; 1.0 ; 4662 MB ; 00:00:00 ; -; Timing Analyzer ; 00:00:02 ; 1.0 ; 4676 MB ; 00:00:01 ; -; Total ; 00:00:13 ; -- ; -- ; 00:00:28 ; -+----------------------+--------------+-------------------------+---------------------+------------------------------------+ - - -+------------------------------------------------------------------------------------+ -; Flow OS Summary ; -+----------------------+------------------+------------+------------+----------------+ -; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; -+----------------------+------------------+------------+------------+----------------+ -; Analysis & Synthesis ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -; Fitter ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -; Assembler ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -; Timing Analyzer ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; -+----------------------+------------------+------------+------------+----------------+ - - ------------- -; Flow Log ; ------------- -quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS -quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS -quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS -quartus_sta RAM2GS-MAXV -c RAM2GS - - - +Flow report for RAM2GS +Sat Aug 19 22:00:57 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Flow Summary + 3. Flow Settings + 4. Flow Non-Default Global Settings + 5. Flow Elapsed Time + 6. Flow OS Summary + 7. Flow Log + 8. Flow Messages + 9. Flow Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------+ +; Flow Summary ; ++-----------------------+---------------------------------------------+ +; Flow Status ; Successful - Sat Aug 19 22:00:42 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX V ; +; Device ; 5M240ZT100C5 ; +; Timing Models ; Final ; +; Total logic elements ; 175 / 240 ( 73 % ) ; +; Total pins ; 63 / 79 ( 80 % ) ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------+---------------------------------------------+ + + ++-----------------------------------------+ +; Flow Settings ; ++-------------------+---------------------+ +; Option ; Setting ; ++-------------------+---------------------+ +; Start date & time ; 08/19/2023 21:59:22 ; +; Main task ; Compilation ; +; Revision Name ; RAM2GS ; ++-------------------+---------------------+ + + ++--------------------------------------------------------------------------------------------------------------------+ +; Flow Non-Default Global Settings ; ++---------------------------------------+---------------------------------+---------------+-------------+------------+ +; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; ++---------------------------------------+---------------------------------+---------------+-------------+------------+ +; COMPILER_SIGNATURE_ID ; 207120313862967.169249676112252 ; -- ; -- ; -- ; +; MAX_CORE_JUNCTION_TEMP ; 85 ; -- ; -- ; -- ; +; MIN_CORE_JUNCTION_TEMP ; 0 ; -- ; -- ; -- ; +; NUM_PARALLEL_PROCESSORS ; 4 ; -- ; -- ; -- ; +; POWER_EXT_SUPPLY_VOLTAGE_TO_REGULATOR ; 1.8V ; -- ; -- ; -- ; +; POWER_PRESET_COOLING_SOLUTION ; No Heat Sink With Still Air ; -- ; -- ; -- ; +; PROJECT_OUTPUT_DIRECTORY ; output_files ; -- ; -- ; -- ; ++---------------------------------------+---------------------------------+---------------+-------------+------------+ + + ++--------------------------------------------------------------------------------------------------------------------------+ +; Flow Elapsed Time ; ++----------------------+--------------+-------------------------+---------------------+------------------------------------+ +; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; ++----------------------+--------------+-------------------------+---------------------+------------------------------------+ +; Analysis & Synthesis ; 00:00:18 ; 1.0 ; 4704 MB ; 00:00:25 ; +; Fitter ; 00:00:07 ; 1.0 ; 5347 MB ; 00:00:03 ; +; Assembler ; 00:00:02 ; 1.0 ; 4663 MB ; 00:00:01 ; +; Timing Analyzer ; 00:00:10 ; 1.0 ; 4677 MB ; 00:00:01 ; +; Total ; 00:00:37 ; -- ; -- ; 00:00:30 ; ++----------------------+--------------+-------------------------+---------------------+------------------------------------+ + + ++------------------------------------------------------------------------------------+ +; Flow OS Summary ; ++----------------------+------------------+------------+------------+----------------+ +; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; ++----------------------+------------------+------------+------------+----------------+ +; Analysis & Synthesis ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Fitter ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Assembler ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; +; Timing Analyzer ; ZanePC ; Windows 10 ; 10.0 ; x86_64 ; ++----------------------+------------------+------------+------------+----------------+ + + +------------ +; Flow Log ; +------------ +quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS +quartus_fit --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS +quartus_asm --read_settings_files=off --write_settings_files=off RAM2GS-MAXV -c RAM2GS +quartus_sta RAM2GS-MAXV -c RAM2GS + + + diff --git a/CPLD/MAXV/output_files/RAM2GS.jdi b/CPLD/MAXV/output_files/RAM2GS.jdi index fff5f81..7568d8e 100644 --- a/CPLD/MAXV/output_files/RAM2GS.jdi +++ b/CPLD/MAXV/output_files/RAM2GS.jdi @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/CPLD/MAXV/output_files/RAM2GS.map.rpt b/CPLD/MAXV/output_files/RAM2GS.map.rpt index 8f7b255..58fb77b 100644 --- a/CPLD/MAXV/output_files/RAM2GS.map.rpt +++ b/CPLD/MAXV/output_files/RAM2GS.map.rpt @@ -1,312 +1,312 @@ -Analysis & Synthesis report for RAM2GS -Wed Aug 16 03:21:40 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Analysis & Synthesis Summary - 3. Analysis & Synthesis Settings - 4. Parallel Compilation - 5. Analysis & Synthesis Source Files Read - 6. Analysis & Synthesis Resource Usage Summary - 7. Analysis & Synthesis Resource Utilization by Entity - 8. Analysis & Synthesis IP Cores Summary - 9. General Register Statistics - 10. Inverted Register Statistics - 11. Multiplexer Restructuring Statistics (Restructuring Performed) - 12. Port Connectivity Checks: "UFM:UFM_inst" - 13. Analysis & Synthesis Messages - 14. Analysis & Synthesis Suppressed Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+---------------------------------------------------------------------------+ -; Analysis & Synthesis Summary ; -+-----------------------------+---------------------------------------------+ -; Analysis & Synthesis Status ; Successful - Wed Aug 16 03:21:40 2023 ; -; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Revision Name ; RAM2GS ; -; Top-level Entity Name ; RAM2GS ; -; Family ; MAX V ; -; Total logic elements ; 184 ; -; Total pins ; 63 ; -; Total virtual pins ; 0 ; -; UFM blocks ; 1 / 1 ( 100 % ) ; -+-----------------------------+---------------------------------------------+ - - -+------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Settings ; -+------------------------------------------------------------------+--------------------+--------------------+ -; Option ; Setting ; Default Value ; -+------------------------------------------------------------------+--------------------+--------------------+ -; Device ; 5M240ZT100C5 ; ; -; Top-level entity name ; RAM2GS ; RAM2GS ; -; Family name ; MAX V ; Cyclone V ; -; Maximum processors allowed for parallel compilation ; 4 ; ; -; Use smart compilation ; Off ; Off ; -; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; -; Enable compact report table ; Off ; Off ; -; Restructure Multiplexers ; Auto ; Auto ; -; Create Debugging Nodes for IP Cores ; Off ; Off ; -; Preserve fewer node names ; On ; On ; -; Intel FPGA IP Evaluation Mode ; Enable ; Enable ; -; Verilog Version ; Verilog_2001 ; Verilog_2001 ; -; VHDL Version ; VHDL_1993 ; VHDL_1993 ; -; State Machine Processing ; Auto ; Auto ; -; Safe State Machine ; Off ; Off ; -; Extract Verilog State Machines ; On ; On ; -; Extract VHDL State Machines ; On ; On ; -; Ignore Verilog initial constructs ; Off ; Off ; -; Iteration limit for constant Verilog loops ; 5000 ; 5000 ; -; Iteration limit for non-constant Verilog loops ; 250 ; 250 ; -; Add Pass-Through Logic to Inferred RAMs ; On ; On ; -; Infer RAMs from Raw Logic ; On ; On ; -; Parallel Synthesis ; On ; On ; -; NOT Gate Push-Back ; On ; On ; -; Power-Up Don't Care ; On ; On ; -; Remove Redundant Logic Cells ; Off ; Off ; -; Remove Duplicate Registers ; On ; On ; -; Ignore CARRY Buffers ; Off ; Off ; -; Ignore CASCADE Buffers ; Off ; Off ; -; Ignore GLOBAL Buffers ; Off ; Off ; -; Ignore ROW GLOBAL Buffers ; Off ; Off ; -; Ignore LCELL Buffers ; Off ; Off ; -; Ignore SOFT Buffers ; On ; On ; -; Limit AHDL Integers to 32 Bits ; Off ; Off ; -; Optimization Technique ; Balanced ; Balanced ; -; Carry Chain Length ; 70 ; 70 ; -; Auto Carry Chains ; On ; On ; -; Auto Open-Drain Pins ; On ; On ; -; Perform WYSIWYG Primitive Resynthesis ; Off ; Off ; -; Auto Shift Register Replacement ; Auto ; Auto ; -; Allow Shift Register Merging across Hierarchies ; Auto ; Auto ; -; Auto Clock Enable Replacement ; On ; On ; -; Allow Synchronous Control Signals ; On ; On ; -; Force Use of Synchronous Clear Signals ; Off ; Off ; -; Auto Resource Sharing ; Off ; Off ; -; Use LogicLock Constraints during Resource Balancing ; On ; On ; -; Ignore translate_off and synthesis_off directives ; Off ; Off ; -; Report Parameter Settings ; On ; On ; -; Report Source Assignments ; On ; On ; -; Report Connectivity Checks ; On ; On ; -; Ignore Maximum Fan-Out Assignments ; Off ; Off ; -; Synchronization Register Chain Length ; 2 ; 2 ; -; Power Optimization During Synthesis ; Normal compilation ; Normal compilation ; -; HDL message level ; Level2 ; Level2 ; -; Suppress Register Optimization Related Messages ; Off ; Off ; -; Number of Removed Registers Reported in Synthesis Report ; 5000 ; 5000 ; -; Number of Swept Nodes Reported in Synthesis Report ; 5000 ; 5000 ; -; Number of Inverted Registers Reported in Synthesis Report ; 100 ; 100 ; -; Clock MUX Protection ; On ; On ; -; Block Design Naming ; Auto ; Auto ; -; Synthesis Effort ; Auto ; Auto ; -; Shift Register Replacement - Allow Asynchronous Clear Signal ; On ; On ; -; Analysis & Synthesis Message Level ; Medium ; Medium ; -; Disable Register Merging Across Hierarchies ; Auto ; Auto ; -+------------------------------------------------------------------+--------------------+--------------------+ - - -+------------------------------------------+ -; Parallel Compilation ; -+----------------------------+-------------+ -; Processors ; Number ; -+----------------------------+-------------+ -; Number detected on machine ; 8 ; -; Maximum allowed ; 4 ; -; ; ; -; Average used ; 1.00 ; -; Maximum used ; 1 ; -; ; ; -; Usage by Processor ; % Time Used ; -; Processor 1 ; 100.0% ; -+----------------------------+-------------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Source Files Read ; -+----------------------------------+-----------------+----------------------------------+----------------------------------------------------------+---------+ -; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; Library ; -+----------------------------------+-----------------+----------------------------------+----------------------------------------------------------+---------+ -; ../RAM2GS-MAX.v ; yes ; User Verilog HDL File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v ; ; -; UFM.v ; yes ; User Wizard-Generated File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v ; ; -; ../RAM2GS.mif ; yes ; User Memory Initialization File ; D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/RAM2GS.mif ; ; -+----------------------------------+-----------------+----------------------------------+----------------------------------------------------------+---------+ - - -+-----------------------------------------------------+ -; Analysis & Synthesis Resource Usage Summary ; -+---------------------------------------------+-------+ -; Resource ; Usage ; -+---------------------------------------------+-------+ -; Total logic elements ; 184 ; -; -- Combinational with no register ; 86 ; -; -- Register only ; 30 ; -; -- Combinational with a register ; 68 ; -; ; ; -; Logic element usage by number of LUT inputs ; ; -; -- 4 input functions ; 57 ; -; -- 3 input functions ; 46 ; -; -- 2 input functions ; 42 ; -; -- 1 input functions ; 8 ; -; -- 0 input functions ; 1 ; -; ; ; -; Logic elements by mode ; ; -; -- normal mode ; 168 ; -; -- arithmetic mode ; 16 ; -; -- qfbk mode ; 0 ; -; -- register cascade mode ; 0 ; -; -- synchronous clear/load mode ; 10 ; -; -- asynchronous clear/load mode ; 0 ; -; ; ; -; Total registers ; 98 ; -; Total logic cells in carry chains ; 17 ; -; I/O pins ; 63 ; -; UFM blocks ; 1 ; -; Maximum fan-out node ; RCLK ; -; Maximum fan-out ; 55 ; -; Total fan-out ; 662 ; -; Average fan-out ; 2.67 ; -+---------------------------------------------+-------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Resource Utilization by Entity ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -; |RAM2GS ; 184 (184) ; 98 ; 1 ; 63 ; 0 ; 86 (86) ; 30 (30) ; 68 (68) ; 17 (17) ; 0 (0) ; |RAM2GS ; RAM2GS ; work ; -; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; -; |UFM_altufm_none_38r:UFM_altufm_none_38r_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component ; UFM_altufm_none_38r ; work ; -+-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ -Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. - - -+---------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis IP Cores Summary ; -+--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ -; Vendor ; IP Core Name ; Version ; Release Date ; License Type ; Entity Instance ; IP Include File ; -+--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ -; Altera ; ALTUFM_NONE Intel FPGA IP ; 19.1 ; N/A ; N/A ; |RAM2GS|UFM:UFM_inst ; UFM.v ; -+--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ - - -+------------------------------------------------------+ -; General Register Statistics ; -+----------------------------------------------+-------+ -; Statistic ; Value ; -+----------------------------------------------+-------+ -; Total registers ; 98 ; -; Number of registers using Synchronous Clear ; 6 ; -; Number of registers using Synchronous Load ; 4 ; -; Number of registers using Asynchronous Clear ; 0 ; -; Number of registers using Asynchronous Load ; 0 ; -; Number of registers using Clock Enable ; 11 ; -; Number of registers using Preset ; 0 ; -+----------------------------------------------+-------+ - - -+--------------------------------------------------+ -; Inverted Register Statistics ; -+----------------------------------------+---------+ -; Inverted Register ; Fan out ; -+----------------------------------------+---------+ -; nRCS~reg0 ; 1 ; -; nRWE~reg0 ; 1 ; -; nRRAS~reg0 ; 1 ; -; nRCAS~reg0 ; 1 ; -; Total number of inverted registers = 4 ; ; -+----------------------------------------+---------+ - - -+------------------------------------------------------------------------------------------------------------------------------------------+ -; Multiplexer Restructuring Statistics (Restructuring Performed) ; -+--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ -; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; -+--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ -; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|S[1] ; -; 3:1 ; 2 bits ; 4 LEs ; 2 LEs ; 2 LEs ; Yes ; |RAM2GS|CmdLEDEN ; -; 4:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|C1Submitted ; -+--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ - - -+-------------------------------------------------------------------------------------------------------------------+ -; Port Connectivity Checks: "UFM:UFM_inst" ; -+---------+--------+----------+-------------------------------------------------------------------------------------+ -; Port ; Type ; Severity ; Details ; -+---------+--------+----------+-------------------------------------------------------------------------------------+ -; ardin ; Input ; Info ; Stuck at GND ; -; busy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -; osc ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -; rtpbusy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -+---------+--------+----------+-------------------------------------------------------------------------------------+ - - -+-------------------------------+ -; Analysis & Synthesis Messages ; -+-------------------------------+ -Info: ******************************************************************* -Info: Running Quartus Prime Analysis & Synthesis - Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Wed Aug 16 03:21:31 2023 -Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS -Info (20032): Parallel compilation is enabled and will use up to 4 processors -Info (12021): Found 1 design units, including 1 entities, in source file /onedrive/documents/github/ram2gs/cpld/ram2gs-max.v - Info (12023): Found entity 1: RAM2GS File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 -Info (12021): Found 2 design units, including 2 entities, in source file ufm.v - Info (12023): Found entity 1: UFM_altufm_none_38r File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 47 - Info (12023): Found entity 2: UFM File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 150 -Info (12127): Elaborating entity "RAM2GS" for the top level hierarchy -Info (12128): Elaborating entity "UFM" for hierarchy "UFM:UFM_inst" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 91 -Info (12128): Elaborating entity "UFM_altufm_none_38r" for hierarchy "UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 201 -Warning (14632): Output pin "Dout[0]" driven by bidirectional pin "RD[0]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[1]" driven by bidirectional pin "RD[1]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[2]" driven by bidirectional pin "RD[2]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[3]" driven by bidirectional pin "RD[3]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[4]" driven by bidirectional pin "RD[4]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[5]" driven by bidirectional pin "RD[5]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[6]" driven by bidirectional pin "RD[6]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Warning (14632): Output pin "Dout[7]" driven by bidirectional pin "RD[7]" cannot be tri-stated File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 26 -Info (21057): Implemented 248 device resources after synthesis - the final resource count might be different - Info (21058): Implemented 25 input pins - Info (21059): Implemented 30 output pins - Info (21060): Implemented 8 bidirectional pins - Info (21061): Implemented 184 logic cells - Info (21070): Implemented 1 User Flash Memory blocks -Info (144001): Generated suppressed messages file D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg -Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 8 warnings - Info: Peak virtual memory: 4702 megabytes - Info: Processing ended: Wed Aug 16 03:21:40 2023 - Info: Elapsed time: 00:00:09 - Info: Total CPU time (on all processors): 00:00:24 - - -+------------------------------------------+ -; Analysis & Synthesis Suppressed Messages ; -+------------------------------------------+ -The suppressed messages can be found in D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg. - - +Analysis & Synthesis report for RAM2GS +Sat Aug 19 21:59:39 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Analysis & Synthesis Summary + 3. Analysis & Synthesis Settings + 4. Parallel Compilation + 5. Analysis & Synthesis Source Files Read + 6. Analysis & Synthesis Resource Usage Summary + 7. Analysis & Synthesis Resource Utilization by Entity + 8. Analysis & Synthesis IP Cores Summary + 9. General Register Statistics + 10. Inverted Register Statistics + 11. Multiplexer Restructuring Statistics (Restructuring Performed) + 12. Port Connectivity Checks: "UFM:UFM_inst" + 13. Analysis & Synthesis Messages + 14. Analysis & Synthesis Suppressed Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++---------------------------------------------------------------------------+ +; Analysis & Synthesis Summary ; ++-----------------------------+---------------------------------------------+ +; Analysis & Synthesis Status ; Successful - Sat Aug 19 21:59:39 2023 ; +; Quartus Prime Version ; 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Revision Name ; RAM2GS ; +; Top-level Entity Name ; RAM2GS ; +; Family ; MAX V ; +; Total logic elements ; 184 ; +; Total pins ; 63 ; +; Total virtual pins ; 0 ; +; UFM blocks ; 1 / 1 ( 100 % ) ; ++-----------------------------+---------------------------------------------+ + + ++------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Settings ; ++------------------------------------------------------------------+--------------------+--------------------+ +; Option ; Setting ; Default Value ; ++------------------------------------------------------------------+--------------------+--------------------+ +; Device ; 5M240ZT100C5 ; ; +; Top-level entity name ; RAM2GS ; RAM2GS ; +; Family name ; MAX V ; Cyclone V ; +; Maximum processors allowed for parallel compilation ; 4 ; ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Restructure Multiplexers ; Auto ; Auto ; +; Create Debugging Nodes for IP Cores ; Off ; Off ; +; Preserve fewer node names ; On ; On ; +; Intel FPGA IP Evaluation Mode ; Enable ; Enable ; +; Verilog Version ; Verilog_2001 ; Verilog_2001 ; +; VHDL Version ; VHDL_1993 ; VHDL_1993 ; +; State Machine Processing ; Auto ; Auto ; +; Safe State Machine ; Off ; Off ; +; Extract Verilog State Machines ; On ; On ; +; Extract VHDL State Machines ; On ; On ; +; Ignore Verilog initial constructs ; Off ; Off ; +; Iteration limit for constant Verilog loops ; 5000 ; 5000 ; +; Iteration limit for non-constant Verilog loops ; 250 ; 250 ; +; Add Pass-Through Logic to Inferred RAMs ; On ; On ; +; Infer RAMs from Raw Logic ; On ; On ; +; Parallel Synthesis ; On ; On ; +; NOT Gate Push-Back ; On ; On ; +; Power-Up Don't Care ; On ; On ; +; Remove Redundant Logic Cells ; Off ; Off ; +; Remove Duplicate Registers ; On ; On ; +; Ignore CARRY Buffers ; Off ; Off ; +; Ignore CASCADE Buffers ; Off ; Off ; +; Ignore GLOBAL Buffers ; Off ; Off ; +; Ignore ROW GLOBAL Buffers ; Off ; Off ; +; Ignore LCELL Buffers ; Off ; Off ; +; Ignore SOFT Buffers ; On ; On ; +; Limit AHDL Integers to 32 Bits ; Off ; Off ; +; Optimization Technique ; Balanced ; Balanced ; +; Carry Chain Length ; 70 ; 70 ; +; Auto Carry Chains ; On ; On ; +; Auto Open-Drain Pins ; On ; On ; +; Perform WYSIWYG Primitive Resynthesis ; Off ; Off ; +; Auto Shift Register Replacement ; Auto ; Auto ; +; Allow Shift Register Merging across Hierarchies ; Auto ; Auto ; +; Auto Clock Enable Replacement ; On ; On ; +; Allow Synchronous Control Signals ; On ; On ; +; Force Use of Synchronous Clear Signals ; Off ; Off ; +; Auto Resource Sharing ; Off ; Off ; +; Use LogicLock Constraints during Resource Balancing ; On ; On ; +; Ignore translate_off and synthesis_off directives ; Off ; Off ; +; Report Parameter Settings ; On ; On ; +; Report Source Assignments ; On ; On ; +; Report Connectivity Checks ; On ; On ; +; Ignore Maximum Fan-Out Assignments ; Off ; Off ; +; Synchronization Register Chain Length ; 2 ; 2 ; +; Power Optimization During Synthesis ; Normal compilation ; Normal compilation ; +; HDL message level ; Level2 ; Level2 ; +; Suppress Register Optimization Related Messages ; Off ; Off ; +; Number of Removed Registers Reported in Synthesis Report ; 5000 ; 5000 ; +; Number of Swept Nodes Reported in Synthesis Report ; 5000 ; 5000 ; +; Number of Inverted Registers Reported in Synthesis Report ; 100 ; 100 ; +; Clock MUX Protection ; On ; On ; +; Block Design Naming ; Auto ; Auto ; +; Synthesis Effort ; Auto ; Auto ; +; Shift Register Replacement - Allow Asynchronous Clear Signal ; On ; On ; +; Analysis & Synthesis Message Level ; Medium ; Medium ; +; Disable Register Merging Across Hierarchies ; Auto ; Auto ; ++------------------------------------------------------------------+--------------------+--------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.00 ; +; Maximum used ; 1 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; ++----------------------------+-------------+ + + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Source Files Read ; ++------------------------------------------+-----------------+----------------------------------------+---------------------------------------------+---------+ +; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; Library ; ++------------------------------------------+-----------------+----------------------------------------+---------------------------------------------+---------+ +; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v ; yes ; User Verilog HDL File ; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v ; ; +; //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v ; yes ; User Wizard-Generated File ; //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v ; ; +; RAM2GS.mif ; yes ; Auto-Found Memory Initialization File ; //ZaneMac/Repos/RAM2GS/CPLD/MAXV/RAM2GS.mif ; ; ++------------------------------------------+-----------------+----------------------------------------+---------------------------------------------+---------+ + + ++-----------------------------------------------------+ +; Analysis & Synthesis Resource Usage Summary ; ++---------------------------------------------+-------+ +; Resource ; Usage ; ++---------------------------------------------+-------+ +; Total logic elements ; 184 ; +; -- Combinational with no register ; 86 ; +; -- Register only ; 30 ; +; -- Combinational with a register ; 68 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 57 ; +; -- 3 input functions ; 46 ; +; -- 2 input functions ; 42 ; +; -- 1 input functions ; 8 ; +; -- 0 input functions ; 1 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 168 ; +; -- arithmetic mode ; 16 ; +; -- qfbk mode ; 0 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 10 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 98 ; +; Total logic cells in carry chains ; 17 ; +; I/O pins ; 63 ; +; UFM blocks ; 1 ; +; Maximum fan-out node ; RCLK ; +; Maximum fan-out ; 55 ; +; Total fan-out ; 662 ; +; Average fan-out ; 2.67 ; ++---------------------------------------------+-------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Resource Utilization by Entity ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; UFM Blocks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Entity Name ; Library Name ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +; |RAM2GS ; 184 (184) ; 98 ; 1 ; 63 ; 0 ; 86 (86) ; 30 (30) ; 68 (68) ; 17 (17) ; 0 (0) ; |RAM2GS ; RAM2GS ; work ; +; |UFM:UFM_inst| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst ; UFM ; work ; +; |UFM_altufm_none_38r:UFM_altufm_none_38r_component| ; 0 (0) ; 0 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |RAM2GS|UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component ; UFM_altufm_none_38r ; work ; ++-----------------------------------------------------------+-------------+--------------+------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------+---------------------+--------------+ +Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. + + ++---------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis IP Cores Summary ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Vendor ; IP Core Name ; Version ; Release Date ; License Type ; Entity Instance ; IP Include File ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ +; Altera ; ALTUFM_NONE Intel FPGA IP ; 19.1 ; N/A ; N/A ; |RAM2GS|UFM:UFM_inst ; UFM.v ; ++--------+---------------------------+---------+--------------+--------------+----------------------+-----------------+ + + ++------------------------------------------------------+ +; General Register Statistics ; ++----------------------------------------------+-------+ +; Statistic ; Value ; ++----------------------------------------------+-------+ +; Total registers ; 98 ; +; Number of registers using Synchronous Clear ; 6 ; +; Number of registers using Synchronous Load ; 4 ; +; Number of registers using Asynchronous Clear ; 0 ; +; Number of registers using Asynchronous Load ; 0 ; +; Number of registers using Clock Enable ; 11 ; +; Number of registers using Preset ; 0 ; ++----------------------------------------------+-------+ + + ++--------------------------------------------------+ +; Inverted Register Statistics ; ++----------------------------------------+---------+ +; Inverted Register ; Fan out ; ++----------------------------------------+---------+ +; nRCS~reg0 ; 1 ; +; nRWE~reg0 ; 1 ; +; nRRAS~reg0 ; 1 ; +; nRCAS~reg0 ; 1 ; +; Total number of inverted registers = 4 ; ; ++----------------------------------------+---------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------+ +; Multiplexer Restructuring Statistics (Restructuring Performed) ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ +; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|S[1] ; +; 3:1 ; 2 bits ; 4 LEs ; 2 LEs ; 2 LEs ; Yes ; |RAM2GS|CmdLEDEN ; +; 4:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; Yes ; |RAM2GS|C1Submitted ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+----------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "UFM:UFM_inst" ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ +; ardin ; Input ; Info ; Stuck at GND ; +; busy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; osc ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; rtpbusy ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++---------+--------+----------+-------------------------------------------------------------------------------------+ + + ++-------------------------------+ +; Analysis & Synthesis Messages ; ++-------------------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Analysis & Synthesis + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 19 21:59:20 2023 +Info: Command: quartus_map --read_settings_files=on --write_settings_files=off RAM2GS-MAXV -c RAM2GS +Info (20032): Parallel compilation is enabled and will use up to 4 processors +Info (12021): Found 1 design units, including 1 entities, in source file //zanemac/repos/ram2gs/cpld/ram2gs-max.v + Info (12023): Found entity 1: RAM2GS File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 1 +Info (12021): Found 2 design units, including 2 entities, in source file ufm.v + Info (12023): Found entity 1: UFM_altufm_none_38r File: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v Line: 47 + Info (12023): Found entity 2: UFM File: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v Line: 150 +Info (12127): Elaborating entity "RAM2GS" for the top level hierarchy +Info (12128): Elaborating entity "UFM" for hierarchy "UFM:UFM_inst" File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 92 +Info (12128): Elaborating entity "UFM_altufm_none_38r" for hierarchy "UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component" File: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v Line: 201 +Warning (14632): Output pin "Dout[0]" driven by bidirectional pin "RD[0]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[1]" driven by bidirectional pin "RD[1]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[2]" driven by bidirectional pin "RD[2]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[3]" driven by bidirectional pin "RD[3]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[4]" driven by bidirectional pin "RD[4]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[5]" driven by bidirectional pin "RD[5]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[6]" driven by bidirectional pin "RD[6]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Warning (14632): Output pin "Dout[7]" driven by bidirectional pin "RD[7]" cannot be tri-stated File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 27 +Info (21057): Implemented 248 device resources after synthesis - the final resource count might be different + Info (21058): Implemented 25 input pins + Info (21059): Implemented 30 output pins + Info (21060): Implemented 8 bidirectional pins + Info (21061): Implemented 184 logic cells + Info (21070): Implemented 1 User Flash Memory blocks +Info (144001): Generated suppressed messages file //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg +Info: Quartus Prime Analysis & Synthesis was successful. 0 errors, 8 warnings + Info: Peak virtual memory: 4704 megabytes + Info: Processing ended: Sat Aug 19 21:59:41 2023 + Info: Elapsed time: 00:00:21 + Info: Total CPU time (on all processors): 00:00:25 + + ++------------------------------------------+ +; Analysis & Synthesis Suppressed Messages ; ++------------------------------------------+ +The suppressed messages can be found in //ZaneMac/Repos/RAM2GS/CPLD/MAXV/output_files/RAM2GS.map.smsg. + + diff --git a/CPLD/MAXV/output_files/RAM2GS.map.smsg b/CPLD/MAXV/output_files/RAM2GS.map.smsg index 73b2291..64963c6 100644 --- a/CPLD/MAXV/output_files/RAM2GS.map.smsg +++ b/CPLD/MAXV/output_files/RAM2GS.map.smsg @@ -1,3 +1,3 @@ -Warning (10273): Verilog HDL warning at RAM2GS-MAX.v(60): extended using "x" or "z" File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-MAX.v Line: 60 -Warning (10463): Verilog HDL Declaration warning at UFM.v(73): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 73 -Warning (10463): Verilog HDL Declaration warning at UFM.v(173): "program" is SystemVerilog-2005 keyword File: D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/MAXV/UFM.v Line: 173 +Warning (10273): Verilog HDL warning at RAM2GS-MAX.v(61): extended using "x" or "z" File: //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.v Line: 61 +Warning (10463): Verilog HDL Declaration warning at UFM.v(73): "program" is SystemVerilog-2005 keyword File: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v Line: 73 +Warning (10463): Verilog HDL Declaration warning at UFM.v(173): "program" is SystemVerilog-2005 keyword File: //ZaneMac/Repos/RAM2GS/CPLD/MAXV/UFM.v Line: 173 diff --git a/CPLD/MAXV/output_files/RAM2GS.map.summary b/CPLD/MAXV/output_files/RAM2GS.map.summary index 7ae7434..46cea88 100644 --- a/CPLD/MAXV/output_files/RAM2GS.map.summary +++ b/CPLD/MAXV/output_files/RAM2GS.map.summary @@ -1,9 +1,9 @@ -Analysis & Synthesis Status : Successful - Wed Aug 16 03:21:40 2023 -Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition -Revision Name : RAM2GS -Top-level Entity Name : RAM2GS -Family : MAX V -Total logic elements : 184 -Total pins : 63 -Total virtual pins : 0 -UFM blocks : 1 / 1 ( 100 % ) +Analysis & Synthesis Status : Successful - Sat Aug 19 21:59:39 2023 +Quartus Prime Version : 19.1.0 Build 670 09/22/2019 SJ Lite Edition +Revision Name : RAM2GS +Top-level Entity Name : RAM2GS +Family : MAX V +Total logic elements : 184 +Total pins : 63 +Total virtual pins : 0 +UFM blocks : 1 / 1 ( 100 % ) diff --git a/CPLD/MAXV/output_files/RAM2GS.pin b/CPLD/MAXV/output_files/RAM2GS.pin index 88c2384..e0ccecf 100644 --- a/CPLD/MAXV/output_files/RAM2GS.pin +++ b/CPLD/MAXV/output_files/RAM2GS.pin @@ -1,165 +1,165 @@ - -- Copyright (C) 2019 Intel Corporation. All rights reserved. - -- Your use of Intel Corporation's design tools, logic functions - -- and other software and tools, and any partner logic - -- functions, and any output files from any of the foregoing - -- (including device programming or simulation files), and any - -- associated documentation or information are expressly subject - -- to the terms and conditions of the Intel Program License - -- Subscription Agreement, the Intel Quartus Prime License Agreement, - -- the Intel FPGA IP License Agreement, or other applicable license - -- agreement, including, without limitation, that your use is for - -- the sole purpose of programming logic devices manufactured by - -- Intel and sold by Intel or its authorized distributors. Please - -- refer to the applicable agreement for further details, at - -- https://fpgasoftware.intel.com/eula. - -- - -- This is a Quartus Prime output file. It is for reporting purposes only, and is - -- not intended for use as a Quartus Prime input file. This file cannot be used - -- to make Quartus Prime pin assignments - for instructions on how to make pin - -- assignments, please see Quartus Prime help. - --------------------------------------------------------------------------------- - - - - --------------------------------------------------------------------------------- - -- NC : No Connect. This pin has no internal connection to the device. - -- DNU : Do Not Use. This pin MUST NOT be connected. - -- VCCINT : Dedicated power pin, which MUST be connected to VCC (1.8V). - -- VCCIO : Dedicated power pin, which MUST be connected to VCC - -- of its bank. - -- Bank 1: 3.3V - -- Bank 2: 3.3V - -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. - -- It can also be used to report unused dedicated pins. The connection - -- on the board for unused dedicated pins depends on whether this will - -- be used in a future design. One example is device migration. When - -- using device migration, refer to the device pin-tables. If it is a - -- GND pin in the pin table or if it will not be used in a future design - -- for another purpose the it MUST be connected to GND. If it is an unused - -- dedicated pin, then it can be connected to a valid signal on the board - -- (low, high, or toggling) if that signal is required for a different - -- revision of the design. - -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. - -- This pin should be connected to GND. It may also be connected to a - -- valid signal on the board (low, high, or toggling) if that signal - -- is required for a different revision of the design. - -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND - -- or leave it unconnected. - -- RESERVED : Unused I/O pin, which MUST be left unconnected. - -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. - -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. - -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. - -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. - --------------------------------------------------------------------------------- - - - - --------------------------------------------------------------------------------- - -- Pin directions (input, output or bidir) are based on device operating in user mode. - --------------------------------------------------------------------------------- - -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition -CHIP "RAM2GS" ASSIGNED TO AN: 5M240ZT100C5 - -Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment -------------------------------------------------------------------------------------------------------------- -GND : 1 : gnd : : : : -RDQMH : 2 : output : 3.3-V LVCMOS : : 1 : Y -nRCS : 3 : output : 3.3-V LVCMOS : : 1 : Y -nRCAS : 4 : output : 3.3-V LVCMOS : : 1 : Y -RBA[0] : 5 : output : 3.3-V LVCMOS : : 1 : Y -nRRAS : 6 : output : 3.3-V LVCMOS : : 1 : Y -RA[11] : 7 : output : 3.3-V LVCMOS : : 1 : Y -RCKE : 8 : output : 3.3-V LVCMOS : : 1 : Y -VCCIO1 : 9 : power : : 3.3V : 1 : -GND : 10 : gnd : : : : -GND : 11 : gnd : : : : -RCLK : 12 : input : 3.3-V LVCMOS : : 1 : Y -VCCINT : 13 : power : : 1.8V : : -RBA[1] : 14 : output : 3.3-V LVCMOS : : 1 : Y -RA[9] : 15 : output : 3.3-V LVCMOS : : 1 : Y -RA[10] : 16 : output : 3.3-V LVCMOS : : 1 : Y -RA[8] : 17 : output : 3.3-V LVCMOS : : 1 : Y -RA[0] : 18 : output : 3.3-V LVCMOS : : 1 : Y -RA[7] : 19 : output : 3.3-V LVCMOS : : 1 : Y -RA[1] : 20 : output : 3.3-V LVCMOS : : 1 : Y -RA[6] : 21 : output : 3.3-V LVCMOS : : 1 : Y -TMS : 22 : input : : : 1 : -TDI : 23 : input : : : 1 : -TCK : 24 : input : : : 1 : -TDO : 25 : output : : : 1 : -RA[4] : 26 : output : 3.3-V LVCMOS : : 1 : Y -RA[3] : 27 : output : 3.3-V LVCMOS : : 1 : Y -Dout[5] : 28 : output : 3.3-V LVCMOS : : 1 : Y -RA[5] : 29 : output : 3.3-V LVCMOS : : 1 : Y -RA[2] : 30 : output : 3.3-V LVCMOS : : 1 : Y -VCCIO1 : 31 : power : : 3.3V : 1 : -GND : 32 : gnd : : : : -Dout[0] : 33 : output : 3.3-V LVCMOS : : 1 : Y -Dout[6] : 34 : output : 3.3-V LVCMOS : : 1 : Y -Din[2] : 35 : input : 3.3-V LVCMOS : : 1 : Y -Din[1] : 36 : input : 3.3-V LVCMOS : : 1 : Y -Din[3] : 37 : input : 3.3-V LVCMOS : : 1 : Y -Din[5] : 38 : input : 3.3-V LVCMOS : : 1 : Y -Din[4] : 39 : input : 3.3-V LVCMOS : : 1 : Y -Din[7] : 40 : input : 3.3-V LVCMOS : : 1 : Y -Din[6] : 41 : input : 3.3-V LVCMOS : : 1 : Y -Din[0] : 42 : input : 3.3-V LVCMOS : : 1 : Y -Dout[7] : 43 : output : 3.3-V LVCMOS : : 1 : Y -Dout[4] : 44 : output : 3.3-V LVCMOS : : 1 : Y -VCCIO1 : 45 : power : : 3.3V : 1 : -GND : 46 : gnd : : : : -Dout[3] : 47 : output : 3.3-V LVCMOS : : 1 : Y -nFWE : 48 : input : 3.3-V LVCMOS : : 1 : Y -MAin[0] : 49 : input : 3.3-V LVCMOS : : 1 : Y -MAin[2] : 50 : input : 3.3-V LVCMOS : : 1 : Y -MAin[1] : 51 : input : 3.3-V LVCMOS : : 1 : Y -PHI2 : 52 : input : 3.3-V LVCMOS : : 2 : Y -nCCAS : 53 : input : 3.3-V LVCMOS : : 2 : Y -CROW[0] : 54 : input : 3.3-V LVCMOS : : 2 : Y -CROW[1] : 55 : input : 3.3-V LVCMOS : : 2 : Y -Dout[2] : 56 : output : 3.3-V LVCMOS : : 2 : Y -Dout[1] : 57 : output : 3.3-V LVCMOS : : 2 : Y -GND* : 58 : : : : 2 : -VCCIO2 : 59 : power : : 3.3V : 2 : -GND : 60 : gnd : : : : -GND* : 61 : : : : 2 : -GND* : 62 : : : : 2 : -VCCINT : 63 : power : : 1.8V : : -GND* : 64 : : : : 2 : -GND : 65 : gnd : : : : -GND* : 66 : : : : 2 : -nCRAS : 67 : input : 3.3-V LVCMOS : : 2 : Y -MAin[7] : 68 : input : 3.3-V LVCMOS : : 2 : Y -MAin[5] : 69 : input : 3.3-V LVCMOS : : 2 : Y -MAin[4] : 70 : input : 3.3-V LVCMOS : : 2 : Y -MAin[3] : 71 : input : 3.3-V LVCMOS : : 2 : Y -MAin[6] : 72 : input : 3.3-V LVCMOS : : 2 : Y -MAin[8] : 73 : input : 3.3-V LVCMOS : : 2 : Y -MAin[9] : 74 : input : 3.3-V LVCMOS : : 2 : Y -GND* : 75 : : : : 2 : -GND* : 76 : : : : 2 : -GND* : 77 : : : : 2 : -GND* : 78 : : : : 2 : -GND : 79 : gnd : : : : -VCCIO2 : 80 : power : : 3.3V : 2 : -GND* : 81 : : : : 2 : -GND* : 82 : : : : 2 : -GND* : 83 : : : : 2 : -GND* : 84 : : : : 2 : -GND* : 85 : : : : 2 : -GND* : 86 : : : : 2 : -GND* : 87 : : : : 2 : -LED : 88 : output : 3.3-V LVTTL : : 2 : Y -RD[2] : 89 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[1] : 90 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[5] : 91 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[4] : 92 : bidir : 3.3-V LVCMOS : : 2 : Y -GND : 93 : gnd : : : : -VCCIO2 : 94 : power : : 3.3V : 2 : -RD[6] : 95 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[0] : 96 : bidir : 3.3-V LVCMOS : : 2 : Y -RD[7] : 97 : bidir : 3.3-V LVCMOS : : 2 : Y -RDQML : 98 : output : 3.3-V LVCMOS : : 2 : Y -RD[3] : 99 : bidir : 3.3-V LVCMOS : : 2 : Y -nRWE : 100 : output : 3.3-V LVCMOS : : 2 : Y + -- Copyright (C) 2019 Intel Corporation. All rights reserved. + -- Your use of Intel Corporation's design tools, logic functions + -- and other software and tools, and any partner logic + -- functions, and any output files from any of the foregoing + -- (including device programming or simulation files), and any + -- associated documentation or information are expressly subject + -- to the terms and conditions of the Intel Program License + -- Subscription Agreement, the Intel Quartus Prime License Agreement, + -- the Intel FPGA IP License Agreement, or other applicable license + -- agreement, including, without limitation, that your use is for + -- the sole purpose of programming logic devices manufactured by + -- Intel and sold by Intel or its authorized distributors. Please + -- refer to the applicable agreement for further details, at + -- https://fpgasoftware.intel.com/eula. + -- + -- This is a Quartus Prime output file. It is for reporting purposes only, and is + -- not intended for use as a Quartus Prime input file. This file cannot be used + -- to make Quartus Prime pin assignments - for instructions on how to make pin + -- assignments, please see Quartus Prime help. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- NC : No Connect. This pin has no internal connection to the device. + -- DNU : Do Not Use. This pin MUST NOT be connected. + -- VCCINT : Dedicated power pin, which MUST be connected to VCC (1.8V). + -- VCCIO : Dedicated power pin, which MUST be connected to VCC + -- of its bank. + -- Bank 1: 3.3V + -- Bank 2: 3.3V + -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. + -- It can also be used to report unused dedicated pins. The connection + -- on the board for unused dedicated pins depends on whether this will + -- be used in a future design. One example is device migration. When + -- using device migration, refer to the device pin-tables. If it is a + -- GND pin in the pin table or if it will not be used in a future design + -- for another purpose the it MUST be connected to GND. If it is an unused + -- dedicated pin, then it can be connected to a valid signal on the board + -- (low, high, or toggling) if that signal is required for a different + -- revision of the design. + -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. + -- This pin should be connected to GND. It may also be connected to a + -- valid signal on the board (low, high, or toggling) if that signal + -- is required for a different revision of the design. + -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND + -- or leave it unconnected. + -- RESERVED : Unused I/O pin, which MUST be left unconnected. + -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. + -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. + -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. + -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- Pin directions (input, output or bidir) are based on device operating in user mode. + --------------------------------------------------------------------------------- + +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition +CHIP "RAM2GS" ASSIGNED TO AN: 5M240ZT100C5 + +Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment +------------------------------------------------------------------------------------------------------------- +GND : 1 : gnd : : : : +RDQMH : 2 : output : 3.3-V LVCMOS : : 1 : Y +nRCS : 3 : output : 3.3-V LVCMOS : : 1 : Y +nRCAS : 4 : output : 3.3-V LVCMOS : : 1 : Y +RBA[0] : 5 : output : 3.3-V LVCMOS : : 1 : Y +nRRAS : 6 : output : 3.3-V LVCMOS : : 1 : Y +RA[11] : 7 : output : 3.3-V LVCMOS : : 1 : Y +RCKE : 8 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 9 : power : : 3.3V : 1 : +GND : 10 : gnd : : : : +GND : 11 : gnd : : : : +RCLK : 12 : input : 3.3-V LVCMOS : : 1 : Y +VCCINT : 13 : power : : 1.8V : : +RBA[1] : 14 : output : 3.3-V LVCMOS : : 1 : Y +RA[9] : 15 : output : 3.3-V LVCMOS : : 1 : Y +RA[10] : 16 : output : 3.3-V LVCMOS : : 1 : Y +RA[8] : 17 : output : 3.3-V LVCMOS : : 1 : Y +RA[0] : 18 : output : 3.3-V LVCMOS : : 1 : Y +RA[7] : 19 : output : 3.3-V LVCMOS : : 1 : Y +RA[1] : 20 : output : 3.3-V LVCMOS : : 1 : Y +RA[6] : 21 : output : 3.3-V LVCMOS : : 1 : Y +TMS : 22 : input : : : 1 : +TDI : 23 : input : : : 1 : +TCK : 24 : input : : : 1 : +TDO : 25 : output : : : 1 : +RA[4] : 26 : output : 3.3-V LVCMOS : : 1 : Y +RA[3] : 27 : output : 3.3-V LVCMOS : : 1 : Y +Dout[5] : 28 : output : 3.3-V LVCMOS : : 1 : Y +RA[5] : 29 : output : 3.3-V LVCMOS : : 1 : Y +RA[2] : 30 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 31 : power : : 3.3V : 1 : +GND : 32 : gnd : : : : +Dout[0] : 33 : output : 3.3-V LVCMOS : : 1 : Y +Dout[6] : 34 : output : 3.3-V LVCMOS : : 1 : Y +Din[2] : 35 : input : 3.3-V LVCMOS : : 1 : Y +Din[1] : 36 : input : 3.3-V LVCMOS : : 1 : Y +Din[3] : 37 : input : 3.3-V LVCMOS : : 1 : Y +Din[5] : 38 : input : 3.3-V LVCMOS : : 1 : Y +Din[4] : 39 : input : 3.3-V LVCMOS : : 1 : Y +Din[7] : 40 : input : 3.3-V LVCMOS : : 1 : Y +Din[6] : 41 : input : 3.3-V LVCMOS : : 1 : Y +Din[0] : 42 : input : 3.3-V LVCMOS : : 1 : Y +Dout[7] : 43 : output : 3.3-V LVCMOS : : 1 : Y +Dout[4] : 44 : output : 3.3-V LVCMOS : : 1 : Y +VCCIO1 : 45 : power : : 3.3V : 1 : +GND : 46 : gnd : : : : +Dout[3] : 47 : output : 3.3-V LVCMOS : : 1 : Y +nFWE : 48 : input : 3.3-V LVCMOS : : 1 : Y +MAin[0] : 49 : input : 3.3-V LVCMOS : : 1 : Y +MAin[2] : 50 : input : 3.3-V LVCMOS : : 1 : Y +MAin[1] : 51 : input : 3.3-V LVCMOS : : 1 : Y +PHI2 : 52 : input : 3.3-V LVCMOS : : 2 : Y +nCCAS : 53 : input : 3.3-V LVCMOS : : 2 : Y +CROW[0] : 54 : input : 3.3-V LVCMOS : : 2 : Y +CROW[1] : 55 : input : 3.3-V LVCMOS : : 2 : Y +Dout[2] : 56 : output : 3.3-V LVCMOS : : 2 : Y +Dout[1] : 57 : output : 3.3-V LVCMOS : : 2 : Y +GND* : 58 : : : : 2 : +VCCIO2 : 59 : power : : 3.3V : 2 : +GND : 60 : gnd : : : : +GND* : 61 : : : : 2 : +GND* : 62 : : : : 2 : +VCCINT : 63 : power : : 1.8V : : +GND* : 64 : : : : 2 : +GND : 65 : gnd : : : : +GND* : 66 : : : : 2 : +nCRAS : 67 : input : 3.3-V LVCMOS : : 2 : Y +MAin[7] : 68 : input : 3.3-V LVCMOS : : 2 : Y +MAin[5] : 69 : input : 3.3-V LVCMOS : : 2 : Y +MAin[4] : 70 : input : 3.3-V LVCMOS : : 2 : Y +MAin[3] : 71 : input : 3.3-V LVCMOS : : 2 : Y +MAin[6] : 72 : input : 3.3-V LVCMOS : : 2 : Y +MAin[8] : 73 : input : 3.3-V LVCMOS : : 2 : Y +MAin[9] : 74 : input : 3.3-V LVCMOS : : 2 : Y +GND* : 75 : : : : 2 : +GND* : 76 : : : : 2 : +GND* : 77 : : : : 2 : +GND* : 78 : : : : 2 : +GND : 79 : gnd : : : : +VCCIO2 : 80 : power : : 3.3V : 2 : +GND* : 81 : : : : 2 : +GND* : 82 : : : : 2 : +GND* : 83 : : : : 2 : +GND* : 84 : : : : 2 : +GND* : 85 : : : : 2 : +GND* : 86 : : : : 2 : +GND* : 87 : : : : 2 : +LED : 88 : output : 3.3-V LVTTL : : 2 : Y +RD[2] : 89 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[1] : 90 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[5] : 91 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[4] : 92 : bidir : 3.3-V LVCMOS : : 2 : Y +GND : 93 : gnd : : : : +VCCIO2 : 94 : power : : 3.3V : 2 : +RD[6] : 95 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[0] : 96 : bidir : 3.3-V LVCMOS : : 2 : Y +RD[7] : 97 : bidir : 3.3-V LVCMOS : : 2 : Y +RDQML : 98 : output : 3.3-V LVCMOS : : 2 : Y +RD[3] : 99 : bidir : 3.3-V LVCMOS : : 2 : Y +nRWE : 100 : output : 3.3-V LVCMOS : : 2 : Y diff --git a/CPLD/MAXV/output_files/RAM2GS.sld b/CPLD/MAXV/output_files/RAM2GS.sld index f7d3ed7..41a6030 100644 --- a/CPLD/MAXV/output_files/RAM2GS.sld +++ b/CPLD/MAXV/output_files/RAM2GS.sld @@ -1 +1 @@ - + diff --git a/CPLD/MAXV/output_files/RAM2GS.sta.rpt b/CPLD/MAXV/output_files/RAM2GS.sta.rpt index cebfa15..ce3d966 100644 --- a/CPLD/MAXV/output_files/RAM2GS.sta.rpt +++ b/CPLD/MAXV/output_files/RAM2GS.sta.rpt @@ -1,1010 +1,1011 @@ -Timing Analyzer report for RAM2GS -Wed Aug 16 03:21:47 2023 -Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - - ---------------------- -; Table of Contents ; ---------------------- - 1. Legal Notice - 2. Timing Analyzer Summary - 3. Parallel Compilation - 4. SDC File List - 5. Clocks - 6. Fmax Summary - 7. Setup Summary - 8. Hold Summary - 9. Recovery Summary - 10. Removal Summary - 11. Minimum Pulse Width Summary - 12. Setup: 'RCLK' - 13. Setup: 'DRCLK' - 14. Setup: 'ARCLK' - 15. Setup: 'nCRAS' - 16. Setup: 'PHI2' - 17. Hold: 'DRCLK' - 18. Hold: 'ARCLK' - 19. Hold: 'PHI2' - 20. Hold: 'nCRAS' - 21. Hold: 'RCLK' - 22. Setup Transfers - 23. Hold Transfers - 24. Report TCCS - 25. Report RSKM - 26. Unconstrained Paths Summary - 27. Clock Status Summary - 28. Unconstrained Input Ports - 29. Unconstrained Output Ports - 30. Unconstrained Input Ports - 31. Unconstrained Output Ports - 32. Timing Analyzer Messages - - - ----------------- -; Legal Notice ; ----------------- -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. - - - -+-----------------------------------------------------------------------------+ -; Timing Analyzer Summary ; -+-----------------------+-----------------------------------------------------+ -; Quartus Prime Version ; Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; -; Timing Analyzer ; Legacy Timing Analyzer ; -; Revision Name ; RAM2GS ; -; Device Family ; MAX V ; -; Device Name ; 5M240ZT100C5 ; -; Timing Models ; Final ; -; Delay Model ; Slow Model ; -; Rise/Fall Delays ; Unavailable ; -+-----------------------+-----------------------------------------------------+ - - -+------------------------------------------+ -; Parallel Compilation ; -+----------------------------+-------------+ -; Processors ; Number ; -+----------------------------+-------------+ -; Number detected on machine ; 8 ; -; Maximum allowed ; 4 ; -; ; ; -; Average used ; 1.00 ; -; Maximum used ; 1 ; -; ; ; -; Usage by Processor ; % Time Used ; -; Processor 1 ; 100.0% ; -+----------------------------+-------------+ - - -+-------------------------------------------------------+ -; SDC File List ; -+-------------------+--------+--------------------------+ -; SDC File Path ; Status ; Read at ; -+-------------------+--------+--------------------------+ -; ../RAM2GS.sdc ; OK ; Wed Aug 16 03:21:46 2023 ; -; ../RAM2GS-MAX.sdc ; OK ; Wed Aug 16 03:21:46 2023 ; -+-------------------+--------+--------------------------+ - - -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Clocks ; -+------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ -; Clock Name ; Type ; Period ; Frequency ; Rise ; Fall ; Duty Cycle ; Divide by ; Multiply by ; Phase ; Offset ; Edge List ; Edge Shift ; Inverted ; Master ; Source ; Targets ; -+------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ -; ARCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { ARCLK } ; -; DRCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { DRCLK } ; -; nCCAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCCAS } ; -; nCRAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCRAS } ; -; PHI2 ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { PHI2 } ; -; RCLK ; Base ; 16.000 ; 62.5 MHz ; 0.000 ; 8.000 ; ; ; ; ; ; ; ; ; ; ; { RCLK } ; -+------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ - - -+-------------------------------------------------+ -; Fmax Summary ; -+-----------+-----------------+------------+------+ -; Fmax ; Restricted Fmax ; Clock Name ; Note ; -+-----------+-----------------+------------+------+ -; 10.0 MHz ; 10.0 MHz ; ARCLK ; ; -; 10.0 MHz ; 10.0 MHz ; DRCLK ; ; -; 12.41 MHz ; 12.41 MHz ; PHI2 ; ; -; 40.56 MHz ; 40.56 MHz ; RCLK ; ; -+-----------+-----------------+------------+------+ -This panel reports FMAX for every clock in the design, regardless of the user-specified clock periods. FMAX is only computed for paths where the source and destination registers or ports are driven by the same clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its inversion, FMAX is computed as if the rising and falling edges are scaled along with FMAX, such that the duty cycle (in terms of a percentage) is maintained. Altera recommends that you always use clock constraints and other slack reports for sign-off analysis. - - -+---------------------------------+ -; Setup Summary ; -+-------+---------+---------------+ -; Clock ; Slack ; End Point TNS ; -+-------+---------+---------------+ -; RCLK ; -19.199 ; -193.279 ; -; DRCLK ; -17.454 ; -17.454 ; -; ARCLK ; -17.440 ; -17.440 ; -; nCRAS ; -0.922 ; -0.922 ; -; PHI2 ; 0.616 ; 0.000 ; -+-------+---------+---------------+ - - -+---------------------------------+ -; Hold Summary ; -+-------+---------+---------------+ -; Clock ; Slack ; End Point TNS ; -+-------+---------+---------------+ -; DRCLK ; -14.753 ; -14.753 ; -; ARCLK ; -14.560 ; -14.560 ; -; PHI2 ; -2.450 ; -5.440 ; -; nCRAS ; -0.233 ; -0.929 ; -; RCLK ; 2.155 ; 0.000 ; -+-------+---------+---------------+ - - --------------------- -; Recovery Summary ; --------------------- -No paths to report. - - -------------------- -; Removal Summary ; -------------------- -No paths to report. - - -+---------------------------------+ -; Minimum Pulse Width Summary ; -+-------+---------+---------------+ -; Clock ; Slack ; End Point TNS ; -+-------+---------+---------------+ -; RCLK ; 7.661 ; 0.000 ; -; ARCLK ; 70.000 ; 0.000 ; -; DRCLK ; 70.000 ; 0.000 ; -; PHI2 ; 174.661 ; 0.000 ; -; nCCAS ; 174.661 ; 0.000 ; -; nCRAS ; 174.661 ; 0.000 ; -+-------+---------+---------------+ - - -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Setup: 'RCLK' ; -+---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ -; -19.199 ; CmdSubmitted ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 13.028 ; -; -19.197 ; CmdSubmitted ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 13.026 ; -; -16.599 ; FWEr ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 12.542 ; -; -16.300 ; FWEr ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 12.243 ; -; -15.432 ; CBR ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 11.375 ; -; -15.385 ; CBR ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 11.328 ; -; -15.098 ; CBR ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 11.041 ; -; -14.428 ; CmdSubmitted ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 8.257 ; -; -14.428 ; CmdSubmitted ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 8.257 ; -; -14.252 ; FWEr ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 10.195 ; -; -13.058 ; FWEr ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 9.001 ; -; -12.462 ; CmdDRDIn ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 6.291 ; -; -12.389 ; Cmdn8MEGEN ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 6.218 ; -; -12.232 ; FWEr ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 8.175 ; -; -12.187 ; CmdDRCLK ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 6.016 ; -; -11.557 ; CBR ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 7.500 ; -; -11.066 ; CmdLEDEN ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 4.895 ; -; -10.731 ; CBR ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 6.674 ; -; -10.002 ; CmdUFMPrgm ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.831 ; -; -10.001 ; CmdUFMPrgm ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.830 ; -; -9.594 ; CmdUFMErase ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.423 ; -; -9.594 ; CmdUFMErase ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.423 ; -; -8.652 ; FS[16] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 24.331 ; -; -7.992 ; FS[17] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.671 ; -; -7.982 ; FS[16] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.661 ; -; -7.382 ; FS[5] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.061 ; -; -7.322 ; FS[17] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.001 ; -; -6.635 ; FS[16] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 22.314 ; -; -6.318 ; Ready ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.997 ; -; -5.975 ; FS[17] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.654 ; -; -5.761 ; S[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.440 ; -; -5.365 ; FS[5] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.044 ; -; -5.275 ; FS[7] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.954 ; -; -4.998 ; FS[16] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.677 ; -; -4.838 ; FS[16] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.517 ; -; -4.581 ; InitReady ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.260 ; -; -4.532 ; FS[7] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.211 ; -; -4.521 ; S[0] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.200 ; -; -4.400 ; FS[4] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.079 ; -; -4.338 ; FS[17] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.017 ; -; -4.336 ; InitReady ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.015 ; -; -4.307 ; FS[16] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.986 ; -; -4.301 ; Ready ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.980 ; -; -4.237 ; IS[3] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.916 ; -; -4.178 ; FS[17] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.857 ; -; -4.127 ; UFMInitDone ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.806 ; -; -3.797 ; FS[16] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.476 ; -; -3.647 ; FS[17] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.326 ; -; -3.606 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; n8MEGEN ; DRCLK ; RCLK ; 8.000 ; 0.867 ; 12.152 ; -; -3.556 ; FS[2] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.235 ; -; -3.457 ; UFMInitDone ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.136 ; -; -3.408 ; FS[16] ; ARCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.087 ; -; -3.358 ; FS[12] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.037 ; -; -3.358 ; S[0] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.037 ; -; -3.348 ; FS[12] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.027 ; -; -3.319 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; LEDEN ; DRCLK ; RCLK ; 8.000 ; 0.867 ; 11.865 ; -; -3.258 ; FS[7] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.937 ; -; -3.209 ; IS[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.888 ; -; -3.157 ; FS[11] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.836 ; -; -3.147 ; FS[11] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.826 ; -; -3.137 ; FS[17] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.816 ; -; -3.037 ; FS[5] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.716 ; -; -2.822 ; FS[5] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.501 ; -; -2.748 ; FS[17] ; ARCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.427 ; -; -2.621 ; InitReady ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.300 ; -; -2.600 ; S[1] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.279 ; -; -2.533 ; IS[2] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.212 ; -; -2.531 ; FS[0] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.210 ; -; -2.351 ; FS[12] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.030 ; -; -2.316 ; FS[13] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.995 ; -; -2.306 ; FS[13] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.985 ; -; -2.295 ; Ready ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.974 ; -; -2.283 ; FS[3] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.962 ; -; -2.150 ; FS[11] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.829 ; -; -2.110 ; UFMInitDone ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.789 ; -; -2.052 ; Ready ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.731 ; -; -2.005 ; FS[6] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.684 ; -; -1.830 ; FS[1] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.509 ; -; -1.804 ; FS[4] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.483 ; -; -1.711 ; nCCAS ; CASr ; nCCAS ; RCLK ; 1.000 ; 4.946 ; 7.336 ; -; -1.669 ; FS[10] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.348 ; -; -1.659 ; FS[10] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.338 ; -; -1.584 ; RASr2 ; Ready ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.263 ; -; -1.566 ; nCRAS ; RASr ; nCRAS ; RCLK ; 1.000 ; 4.946 ; 7.191 ; -; -1.548 ; FS[7] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.227 ; -; -1.539 ; FS[2] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.218 ; -; -1.515 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 1.000 ; 4.946 ; 7.140 ; -; -1.416 ; FS[4] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.095 ; -; -1.398 ; S[0] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.077 ; -; -1.387 ; FS[7] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.066 ; -; -1.309 ; FS[13] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.988 ; -; -1.255 ; FS[4] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.934 ; -; -0.930 ; FS[7] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.609 ; -; -0.855 ; Ready ; DRDIn ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.534 ; -; -0.855 ; Ready ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.534 ; -; -0.711 ; nCCAS ; CASr ; nCCAS ; RCLK ; 2.000 ; 4.946 ; 7.336 ; -; -0.668 ; FS[6] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.347 ; -; -0.662 ; FS[10] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.341 ; -; -0.640 ; S[1] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.319 ; -; -0.566 ; nCRAS ; RASr ; nCRAS ; RCLK ; 2.000 ; 4.946 ; 7.191 ; -+---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Setup: 'DRCLK' ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -17.454 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -0.867 ; 4.587 ; -; -17.247 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -0.867 ; 4.380 ; -; 100.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 200.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Setup: 'ARCLK' ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -17.440 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 8.000 ; -2.477 ; 2.963 ; -; 100.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 200.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------+ -; Setup: 'nCRAS' ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; -0.922 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 6.337 ; -; 0.483 ; Ready ; RowA[6] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.932 ; -; 0.484 ; Ready ; RowA[1] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.931 ; -; 0.612 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.803 ; -; 0.614 ; Ready ; RowA[3] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.801 ; -; 0.617 ; Ready ; RowA[4] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.798 ; -; 0.617 ; Ready ; RowA[8] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.798 ; -; 0.620 ; Ready ; RowA[5] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.795 ; -; 1.871 ; Ready ; RowA[9] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.544 ; -; 1.872 ; Ready ; RowA[2] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.543 ; -; 1.873 ; Ready ; RowA[0] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.542 ; -; 1.873 ; Ready ; RowA[7] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.542 ; -; 169.485 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 175.000 ; 9.682 ; 14.876 ; -; 344.485 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 350.000 ; 9.682 ; 14.876 ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ - - -+----------------------------------------------------------------------------------------------------------+ -; Setup: 'PHI2' ; -+---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ -; 0.616 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; 1.000 ; 6.850 ; 6.913 ; -; 2.044 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 2.000 ; 6.850 ; 6.485 ; -; 2.563 ; Ready ; RA11 ; RCLK ; PHI2 ; 2.000 ; 6.850 ; 5.966 ; -; 3.707 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; 1.000 ; 6.850 ; 3.822 ; -; 4.090 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; 1.000 ; 6.850 ; 3.439 ; -; 134.696 ; Bank[5] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.983 ; -; 134.696 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.983 ; -; 134.893 ; Bank[6] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.786 ; -; 134.893 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.786 ; -; 135.326 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.353 ; -; 135.523 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.156 ; -; 136.383 ; Bank[7] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.296 ; -; 136.383 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.296 ; -; 136.569 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.110 ; -; 136.569 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.110 ; -; 136.596 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.083 ; -; 136.596 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.083 ; -; 136.766 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.913 ; -; 136.766 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.913 ; -; 136.793 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.886 ; -; 136.793 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.886 ; -; 137.013 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.666 ; -; 137.370 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.309 ; -; 137.370 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.309 ; -; 137.570 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.109 ; -; 137.570 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.109 ; -; 138.000 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.679 ; -; 138.134 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.545 ; -; 138.134 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.545 ; -; 138.200 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.479 ; -; 138.256 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.423 ; -; 138.256 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.423 ; -; 138.283 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.396 ; -; 138.283 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.396 ; -; 138.764 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.915 ; -; 139.060 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.619 ; -; 139.060 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.619 ; -; 139.243 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.436 ; -; 139.243 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.436 ; -; 139.270 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.409 ; -; 139.270 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.409 ; -; 139.443 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.236 ; -; 139.443 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.236 ; -; 139.470 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.209 ; -; 139.470 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.209 ; -; 139.690 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.989 ; -; 140.007 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.672 ; -; 140.007 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.672 ; -; 140.034 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.645 ; -; 140.034 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.645 ; -; 140.811 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.868 ; -; 140.811 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.868 ; -; 140.933 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.746 ; -; 140.933 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.746 ; -; 140.960 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.719 ; -; 140.960 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.719 ; -; 141.441 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.238 ; -; 141.566 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.113 ; -; 141.763 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 32.916 ; -; 142.684 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.995 ; -; 142.684 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.995 ; -; 142.711 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.968 ; -; 142.711 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.968 ; -; 143.253 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.426 ; -; 144.240 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 30.439 ; -; 144.440 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 30.239 ; -; 145.004 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 29.675 ; -; 145.930 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 28.749 ; -; 146.502 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 28.177 ; -; 146.699 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 27.980 ; -; 147.681 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 26.998 ; -; 148.189 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 26.490 ; -; 149.176 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.503 ; -; 149.376 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.303 ; -; 149.579 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.100 ; -; 149.579 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.100 ; -; 149.776 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 24.903 ; -; 149.776 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 24.903 ; -; 149.940 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 24.739 ; -; 150.866 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 23.813 ; -; 151.266 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 23.413 ; -; 151.266 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 23.413 ; -; 152.253 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.426 ; -; 152.253 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.426 ; -; 152.453 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.226 ; -; 152.453 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.226 ; -; 152.617 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.062 ; -; 153.017 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 21.662 ; -; 153.017 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 21.662 ; -; 153.633 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 21.046 ; -; 153.830 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 20.849 ; -; 153.943 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 20.736 ; -; 153.943 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 20.736 ; -; 155.320 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 19.359 ; -; 155.694 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.985 ; -; 155.694 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.985 ; -; 156.307 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.372 ; -; 156.507 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.172 ; -; 157.071 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 17.608 ; -; 157.997 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 16.682 ; -+---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Hold: 'DRCLK' ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -14.753 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -0.867 ; 4.380 ; -; -14.546 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -0.867 ; 4.587 ; -; 60.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 0.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Hold: 'ARCLK' ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ -; -14.560 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 0.000 ; -2.477 ; 2.963 ; -; 60.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 0.000 ; 0.000 ; 80.000 ; -+---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ - - -+------------------------------------------------------------------------------------------------------------+ -; Hold: 'PHI2' ; -+---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ -; -2.450 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; -1.000 ; 6.850 ; 3.439 ; -; -2.067 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; -1.000 ; 6.850 ; 3.822 ; -; -0.923 ; Ready ; RA11 ; RCLK ; PHI2 ; 0.000 ; 6.850 ; 5.966 ; -; -0.404 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 0.000 ; 6.850 ; 6.485 ; -; 1.024 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; -1.000 ; 6.850 ; 6.913 ; -; 3.430 ; UFMOscEN ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 3.469 ; -; 4.434 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.473 ; -; 4.435 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.474 ; -; 5.287 ; CmdEnable ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.326 ; -; 5.416 ; XOR8MEG ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.455 ; -; 10.780 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 10.819 ; -; 11.355 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 11.394 ; -; 11.356 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 11.395 ; -; 15.750 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.789 ; -; 15.750 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.789 ; -; 15.777 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.816 ; -; 15.777 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.816 ; -; 17.020 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 17.059 ; -; 17.650 ; CmdEnable ; CmdLEDEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 17.689 ; -; 17.650 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 17.689 ; -; 182.870 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.909 ; -; 183.351 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.390 ; -; 184.621 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.660 ; -; 185.340 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.379 ; -; 185.547 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.586 ; -; 186.111 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.150 ; -; 186.311 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.350 ; -; 186.369 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.408 ; -; 187.091 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.130 ; -; 187.298 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.337 ; -; 188.017 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.056 ; -; 188.120 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.159 ; -; 188.310 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.349 ; -; 188.581 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.620 ; -; 188.781 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.820 ; -; 188.788 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.827 ; -; 188.985 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.024 ; -; 189.046 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.085 ; -; 189.610 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.649 ; -; 189.768 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.807 ; -; 189.810 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.849 ; -; 190.061 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 15.100 ; -; 190.797 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 15.836 ; -; 190.987 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.026 ; -; 191.258 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.297 ; -; 191.455 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.494 ; -; 191.551 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.590 ; -; 191.751 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.790 ; -; 192.287 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 17.326 ; -; 192.484 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 17.523 ; -; 192.738 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 17.777 ; -; 194.228 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 19.267 ; -; 194.425 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 19.464 ; -; 201.959 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 26.998 ; -; 203.710 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 28.749 ; -; 204.636 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 29.675 ; -; 205.200 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 30.239 ; -; 205.400 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 30.439 ; -; 206.387 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.426 ; -; 206.929 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.968 ; -; 206.929 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.968 ; -; 206.956 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.995 ; -; 206.956 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.995 ; -; 207.877 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 32.916 ; -; 208.074 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.113 ; -; 208.199 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.238 ; -; 208.680 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.719 ; -; 208.680 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.719 ; -; 208.707 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.746 ; -; 208.707 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.746 ; -; 208.829 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.868 ; -; 208.829 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.868 ; -; 209.606 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.645 ; -; 209.606 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.645 ; -; 209.633 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.672 ; -; 209.633 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.672 ; -; 209.950 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.989 ; -; 210.170 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.209 ; -; 210.170 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.209 ; -; 210.197 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.236 ; -; 210.197 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.236 ; -; 210.370 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.409 ; -; 210.370 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.409 ; -; 210.397 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.436 ; -; 210.397 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.436 ; -; 210.580 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.619 ; -; 210.580 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.619 ; -; 210.876 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.915 ; -; 211.357 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.396 ; -; 211.357 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.396 ; -; 211.384 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.423 ; -; 211.384 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.423 ; -; 211.440 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.479 ; -; 211.506 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.545 ; -; 211.506 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.545 ; -; 211.640 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.679 ; -; 212.070 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.109 ; -; 212.070 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.109 ; -; 212.270 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.309 ; -; 212.270 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.309 ; -+---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------+ -; Hold: 'nCRAS' ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ -; -0.233 ; Ready ; RowA[0] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.542 ; -; -0.233 ; Ready ; RowA[7] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.542 ; -; -0.232 ; Ready ; RowA[2] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.543 ; -; -0.231 ; Ready ; RowA[9] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.544 ; -; 1.020 ; Ready ; RowA[5] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.795 ; -; 1.023 ; Ready ; RowA[4] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.798 ; -; 1.023 ; Ready ; RowA[8] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.798 ; -; 1.026 ; Ready ; RowA[3] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.801 ; -; 1.028 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.803 ; -; 1.156 ; Ready ; RowA[1] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.931 ; -; 1.157 ; Ready ; RowA[6] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.932 ; -; 2.562 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 6.337 ; -; 5.155 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.000 ; 9.682 ; 14.876 ; -; 180.155 ; nCCAS ; CBR ; nCCAS ; nCRAS ; -175.000 ; 9.682 ; 14.876 ; -+---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ - - -+---------------------------------------------------------------------------------------------------------+ -; Hold: 'RCLK' ; -+-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ -; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; -+-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ -; 2.155 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 0.000 ; 4.946 ; 7.140 ; -; 2.206 ; nCRAS ; RASr ; nCRAS ; RCLK ; 0.000 ; 4.946 ; 7.191 ; -; 2.351 ; nCCAS ; CASr ; nCCAS ; RCLK ; 0.000 ; 4.946 ; 7.336 ; -; 3.155 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; -1.000 ; 4.946 ; 7.140 ; -; 3.206 ; nCRAS ; RASr ; nCRAS ; RCLK ; -1.000 ; 4.946 ; 7.191 ; -; 3.266 ; CASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.305 ; -; 3.351 ; nCCAS ; CASr ; nCCAS ; RCLK ; -1.000 ; 4.946 ; 7.336 ; -; 3.374 ; FS[17] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.413 ; -; 3.459 ; S[1] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.498 ; -; 3.468 ; S[1] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.507 ; -; 3.781 ; RASr3 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.820 ; -; 3.803 ; FS[0] ; FS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.842 ; -; 3.813 ; S[0] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.852 ; -; 3.828 ; S[0] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.867 ; -; 3.850 ; IS[0] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.889 ; -; 4.032 ; CASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.071 ; -; 4.092 ; CASr3 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.131 ; -; 4.618 ; RASr2 ; RASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.657 ; -; 4.858 ; CASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.897 ; -; 4.858 ; CASr3 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.897 ; -; 5.228 ; FS[9] ; FS[9] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.267 ; -; 5.229 ; FS[16] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.268 ; -; 5.230 ; FS[8] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.269 ; -; 5.247 ; Ready ; Ready ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.286 ; -; 5.252 ; FS[6] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.291 ; -; 5.254 ; UFMErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.293 ; -; 5.267 ; FS[11] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.306 ; -; 5.270 ; FS[10] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.309 ; -; 5.280 ; FS[0] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.319 ; -; 5.291 ; UFMInitDone ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.330 ; -; 5.309 ; RASr2 ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.348 ; -; 5.316 ; RASr2 ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.355 ; -; 5.316 ; RASr2 ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.355 ; -; 5.321 ; IS[0] ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.360 ; -; 5.322 ; IS[0] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.361 ; -; 5.335 ; IS[2] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.374 ; -; 5.429 ; UFMD ; UFMD ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.468 ; -; 5.440 ; FS[4] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.479 ; -; 5.440 ; FS[7] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.479 ; -; 5.441 ; FS[5] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; -; 5.441 ; FS[3] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; -; 5.441 ; InitReady ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; -; 5.452 ; n8MEGEN ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.491 ; -; 5.452 ; FS[14] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.491 ; -; 5.453 ; UFMReqErase ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.492 ; -; 5.453 ; FS[15] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.492 ; -; 5.454 ; FS[2] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.493 ; -; 5.456 ; FS[12] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.495 ; -; 5.466 ; FS[13] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.505 ; -; 5.467 ; UFMProgram ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.506 ; -; 5.530 ; IS[3] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.569 ; -; 5.533 ; IS[3] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.572 ; -; 5.553 ; IS[1] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.592 ; -; 5.560 ; IS[1] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.599 ; -; 5.676 ; RCKEEN ; RCKEEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.715 ; -; 5.684 ; CASr3 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.723 ; -; 5.963 ; FS[9] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.002 ; -; 5.964 ; FS[16] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.003 ; -; 5.987 ; FS[6] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.026 ; -; 6.002 ; FS[11] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.041 ; -; 6.005 ; FS[10] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.044 ; -; 6.015 ; FS[0] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.054 ; -; 6.016 ; RASr ; RASr2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.055 ; -; 6.107 ; FS[9] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.146 ; -; 6.131 ; FS[6] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.170 ; -; 6.146 ; FS[11] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.185 ; -; 6.149 ; FS[10] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.188 ; -; 6.159 ; FS[0] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.198 ; -; 6.251 ; FS[9] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.290 ; -; 6.293 ; FS[10] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.332 ; -; 6.395 ; FS[9] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.434 ; -; 6.416 ; RCKEEN ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.455 ; -; 6.442 ; FS[4] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.481 ; -; 6.442 ; FS[7] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.481 ; -; 6.443 ; FS[5] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.482 ; -; 6.454 ; FS[14] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.493 ; -; 6.455 ; FS[15] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.494 ; -; 6.456 ; FS[2] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.495 ; -; 6.458 ; FS[12] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.497 ; -; 6.460 ; FS[1] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.499 ; -; 6.477 ; PHI2r3 ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.516 ; -; 6.477 ; PHI2r3 ; DRCLK ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.516 ; -; 6.482 ; RASr2 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.521 ; -; 6.534 ; IS[0] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.573 ; -; 6.578 ; PHI2r ; PHI2r2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.617 ; -; 6.586 ; FS[4] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.625 ; -; 6.587 ; FS[5] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.626 ; -; 6.598 ; FS[14] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.637 ; -; 6.599 ; FS[15] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.638 ; -; 6.730 ; FS[4] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.769 ; -; 6.731 ; FS[5] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.770 ; -; 6.742 ; FS[14] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.781 ; -; 6.782 ; FS[11] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; -; 6.782 ; FS[11] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; -; 6.782 ; FS[11] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; -; 6.782 ; FS[11] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; -; 6.795 ; FS[0] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; -; 6.795 ; FS[0] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; -; 6.795 ; FS[0] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; -; 6.795 ; FS[0] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; -+-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ - - -+-------------------------------------------------------------------+ -; Setup Transfers ; -+------------+----------+----------+----------+----------+----------+ -; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; -+------------+----------+----------+----------+----------+----------+ -; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; -; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; -; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; -; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; -; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; -; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; -; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; -; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; -; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; -; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; -+------------+----------+----------+----------+----------+----------+ -Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. - - -+-------------------------------------------------------------------+ -; Hold Transfers ; -+------------+----------+----------+----------+----------+----------+ -; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; -+------------+----------+----------+----------+----------+----------+ -; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; -; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; -; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; -; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; -; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; -; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; -; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; -; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; -; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; -; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; -; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; -; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; -+------------+----------+----------+----------+----------+----------+ -Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. - - ---------------- -; Report TCCS ; ---------------- -No dedicated SERDES Transmitter circuitry present in device or used in design - - ---------------- -; Report RSKM ; ---------------- -No non-DPA dedicated SERDES Receiver circuitry present in device or used in design - - -+------------------------------------------------+ -; Unconstrained Paths Summary ; -+---------------------------------+-------+------+ -; Property ; Setup ; Hold ; -+---------------------------------+-------+------+ -; Illegal Clocks ; 0 ; 0 ; -; Unconstrained Clocks ; 0 ; 0 ; -; Unconstrained Input Ports ; 31 ; 31 ; -; Unconstrained Input Port Paths ; 249 ; 249 ; -; Unconstrained Output Ports ; 38 ; 38 ; -; Unconstrained Output Port Paths ; 78 ; 78 ; -+---------------------------------+-------+------+ - - -+-------------------------------------+ -; Clock Status Summary ; -+--------+-------+------+-------------+ -; Target ; Clock ; Type ; Status ; -+--------+-------+------+-------------+ -; ARCLK ; ARCLK ; Base ; Constrained ; -; DRCLK ; DRCLK ; Base ; Constrained ; -; PHI2 ; PHI2 ; Base ; Constrained ; -; RCLK ; RCLK ; Base ; Constrained ; -; nCCAS ; nCCAS ; Base ; Constrained ; -; nCRAS ; nCRAS ; Base ; Constrained ; -+--------+-------+------+-------------+ - - -+---------------------------------------------------------------------------------------------------+ -; Unconstrained Input Ports ; -+------------+--------------------------------------------------------------------------------------+ -; Input Port ; Comment ; -+------------+--------------------------------------------------------------------------------------+ -; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -+------------+--------------------------------------------------------------------------------------+ - - -+-----------------------------------------------------------------------------------------------------+ -; Unconstrained Output Ports ; -+-------------+---------------------------------------------------------------------------------------+ -; Output Port ; Comment ; -+-------------+---------------------------------------------------------------------------------------+ -; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -+-------------+---------------------------------------------------------------------------------------+ - - -+---------------------------------------------------------------------------------------------------+ -; Unconstrained Input Ports ; -+------------+--------------------------------------------------------------------------------------+ -; Input Port ; Comment ; -+------------+--------------------------------------------------------------------------------------+ -; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; -+------------+--------------------------------------------------------------------------------------+ - - -+-----------------------------------------------------------------------------------------------------+ -; Unconstrained Output Ports ; -+-------------+---------------------------------------------------------------------------------------+ -; Output Port ; Comment ; -+-------------+---------------------------------------------------------------------------------------+ -; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; -+-------------+---------------------------------------------------------------------------------------+ - - -+--------------------------+ -; Timing Analyzer Messages ; -+--------------------------+ -Info: ******************************************************************* -Info: Running Quartus Prime Timing Analyzer - Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition - Info: Processing started: Wed Aug 16 03:21:45 2023 -Info: Command: quartus_sta RAM2GS-MAXV -c RAM2GS -Info: qsta_default_script.tcl version: #1 -Info (20032): Parallel compilation is enabled and will use up to 4 processors -Info (21077): Low junction temperature is 0 degrees C -Info (21077): High junction temperature is 85 degrees C -Info (334003): Started post-fitting delay annotation -Info (334004): Delay annotation completed successfully -Info (332104): Reading SDC File: '../RAM2GS.sdc' -Info (332104): Reading SDC File: '../RAM2GS-MAX.sdc' -Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON -Info: Can't run Report Timing Closure Recommendations. The current device family is not supported. -Critical Warning (332148): Timing requirements not met -Info (332146): Worst-case setup slack is -19.199 - Info (332119): Slack End Point TNS Clock - Info (332119): ========= =================== ===================== - Info (332119): -19.199 -193.279 RCLK - Info (332119): -17.454 -17.454 DRCLK - Info (332119): -17.440 -17.440 ARCLK - Info (332119): -0.922 -0.922 nCRAS - Info (332119): 0.616 0.000 PHI2 -Info (332146): Worst-case hold slack is -14.753 - Info (332119): Slack End Point TNS Clock - Info (332119): ========= =================== ===================== - Info (332119): -14.753 -14.753 DRCLK - Info (332119): -14.560 -14.560 ARCLK - Info (332119): -2.450 -5.440 PHI2 - Info (332119): -0.233 -0.929 nCRAS - Info (332119): 2.155 0.000 RCLK -Info (332140): No Recovery paths to report -Info (332140): No Removal paths to report -Info (332146): Worst-case minimum pulse width slack is 7.661 - Info (332119): Slack End Point TNS Clock - Info (332119): ========= =================== ===================== - Info (332119): 7.661 0.000 RCLK - Info (332119): 70.000 0.000 ARCLK - Info (332119): 70.000 0.000 DRCLK - Info (332119): 174.661 0.000 PHI2 - Info (332119): 174.661 0.000 nCCAS - Info (332119): 174.661 0.000 nCRAS -Info (332001): The selected device family is not supported by the report_metastability command. -Info (332102): Design is not fully constrained for setup requirements -Info (332102): Design is not fully constrained for hold requirements -Info: Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning - Info: Peak virtual memory: 4676 megabytes - Info: Processing ended: Wed Aug 16 03:21:47 2023 - Info: Elapsed time: 00:00:02 - Info: Total CPU time (on all processors): 00:00:01 - - +Timing Analyzer report for RAM2GS +Sat Aug 19 22:00:58 2023 +Quartus Prime Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Timing Analyzer Summary + 3. Parallel Compilation + 4. SDC File List + 5. Clocks + 6. Fmax Summary + 7. Setup Summary + 8. Hold Summary + 9. Recovery Summary + 10. Removal Summary + 11. Minimum Pulse Width Summary + 12. Setup: 'RCLK' + 13. Setup: 'DRCLK' + 14. Setup: 'ARCLK' + 15. Setup: 'nCRAS' + 16. Setup: 'PHI2' + 17. Hold: 'DRCLK' + 18. Hold: 'ARCLK' + 19. Hold: 'PHI2' + 20. Hold: 'nCRAS' + 21. Hold: 'RCLK' + 22. Setup Transfers + 23. Hold Transfers + 24. Report TCCS + 25. Report RSKM + 26. Unconstrained Paths Summary + 27. Clock Status Summary + 28. Unconstrained Input Ports + 29. Unconstrained Output Ports + 30. Unconstrained Input Ports + 31. Unconstrained Output Ports + 32. Timing Analyzer Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 2019 Intel Corporation. All rights reserved. +Your use of Intel Corporation's design tools, logic functions +and other software and tools, and any partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Intel Program License +Subscription Agreement, the Intel Quartus Prime License Agreement, +the Intel FPGA IP License Agreement, or other applicable license +agreement, including, without limitation, that your use is for +the sole purpose of programming logic devices manufactured by +Intel and sold by Intel or its authorized distributors. Please +refer to the applicable agreement for further details, at +https://fpgasoftware.intel.com/eula. + + + ++-----------------------------------------------------------------------------+ +; Timing Analyzer Summary ; ++-----------------------+-----------------------------------------------------+ +; Quartus Prime Version ; Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition ; +; Timing Analyzer ; Legacy Timing Analyzer ; +; Revision Name ; RAM2GS ; +; Device Family ; MAX V ; +; Device Name ; 5M240ZT100C5 ; +; Timing Models ; Final ; +; Delay Model ; Slow Model ; +; Rise/Fall Delays ; Unavailable ; ++-----------------------+-----------------------------------------------------+ + + ++------------------------------------------+ +; Parallel Compilation ; ++----------------------------+-------------+ +; Processors ; Number ; ++----------------------------+-------------+ +; Number detected on machine ; 8 ; +; Maximum allowed ; 4 ; +; ; ; +; Average used ; 1.00 ; +; Maximum used ; 2 ; +; ; ; +; Usage by Processor ; % Time Used ; +; Processor 1 ; 100.0% ; +; Processor 2 ; 0.0% ; ++----------------------------+-------------+ + + ++--------------------------------------------------------------------------------+ +; SDC File List ; ++--------------------------------------------+--------+--------------------------+ +; SDC File Path ; Status ; Read at ; ++--------------------------------------------+--------+--------------------------+ +; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc ; OK ; Sat Aug 19 22:00:50 2023 ; +; //ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc ; OK ; Sat Aug 19 22:00:51 2023 ; ++--------------------------------------------+--------+--------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Clocks ; ++------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; Clock Name ; Type ; Period ; Frequency ; Rise ; Fall ; Duty Cycle ; Divide by ; Multiply by ; Phase ; Offset ; Edge List ; Edge Shift ; Inverted ; Master ; Source ; Targets ; ++------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ +; ARCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { ARCLK } ; +; DRCLK ; Base ; 200.000 ; 5.0 MHz ; 0.000 ; 100.000 ; ; ; ; ; ; ; ; ; ; ; { DRCLK } ; +; nCCAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCCAS } ; +; nCRAS ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { nCRAS } ; +; PHI2 ; Base ; 350.000 ; 2.86 MHz ; 0.000 ; 175.000 ; ; ; ; ; ; ; ; ; ; ; { PHI2 } ; +; RCLK ; Base ; 16.000 ; 62.5 MHz ; 0.000 ; 8.000 ; ; ; ; ; ; ; ; ; ; ; { RCLK } ; ++------------+------+---------+-----------+-------+---------+------------+-----------+-------------+-------+--------+-----------+------------+----------+--------+--------+-----------+ + + ++-------------------------------------------------+ +; Fmax Summary ; ++-----------+-----------------+------------+------+ +; Fmax ; Restricted Fmax ; Clock Name ; Note ; ++-----------+-----------------+------------+------+ +; 10.0 MHz ; 10.0 MHz ; ARCLK ; ; +; 10.0 MHz ; 10.0 MHz ; DRCLK ; ; +; 12.41 MHz ; 12.41 MHz ; PHI2 ; ; +; 40.56 MHz ; 40.56 MHz ; RCLK ; ; ++-----------+-----------------+------------+------+ +This panel reports FMAX for every clock in the design, regardless of the user-specified clock periods. FMAX is only computed for paths where the source and destination registers or ports are driven by the same clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its inversion, FMAX is computed as if the rising and falling edges are scaled along with FMAX, such that the duty cycle (in terms of a percentage) is maintained. Altera recommends that you always use clock constraints and other slack reports for sign-off analysis. + + ++---------------------------------+ +; Setup Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; RCLK ; -19.199 ; -193.279 ; +; DRCLK ; -17.454 ; -17.454 ; +; ARCLK ; -17.440 ; -17.440 ; +; nCRAS ; -0.922 ; -0.922 ; +; PHI2 ; 0.616 ; 0.000 ; ++-------+---------+---------------+ + + ++---------------------------------+ +; Hold Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; DRCLK ; -14.753 ; -14.753 ; +; ARCLK ; -14.560 ; -14.560 ; +; PHI2 ; -2.450 ; -5.440 ; +; nCRAS ; -0.233 ; -0.929 ; +; RCLK ; 2.155 ; 0.000 ; ++-------+---------+---------------+ + + +-------------------- +; Recovery Summary ; +-------------------- +No paths to report. + + +------------------- +; Removal Summary ; +------------------- +No paths to report. + + ++---------------------------------+ +; Minimum Pulse Width Summary ; ++-------+---------+---------------+ +; Clock ; Slack ; End Point TNS ; ++-------+---------+---------------+ +; RCLK ; 7.661 ; 0.000 ; +; ARCLK ; 70.000 ; 0.000 ; +; DRCLK ; 70.000 ; 0.000 ; +; PHI2 ; 174.661 ; 0.000 ; +; nCCAS ; 174.661 ; 0.000 ; +; nCRAS ; 174.661 ; 0.000 ; ++-------+---------+---------------+ + + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'RCLK' ; ++---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ +; -19.199 ; CmdSubmitted ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 13.028 ; +; -19.197 ; CmdSubmitted ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 13.026 ; +; -16.599 ; FWEr ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 12.542 ; +; -16.300 ; FWEr ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 12.243 ; +; -15.432 ; CBR ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 11.375 ; +; -15.385 ; CBR ; RCKEEN ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 11.328 ; +; -15.098 ; CBR ; nRowColSel ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 11.041 ; +; -14.428 ; CmdSubmitted ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 8.257 ; +; -14.428 ; CmdSubmitted ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 8.257 ; +; -14.252 ; FWEr ; nRCAS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 10.195 ; +; -13.058 ; FWEr ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 9.001 ; +; -12.462 ; CmdDRDIn ; DRDIn ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 6.291 ; +; -12.389 ; Cmdn8MEGEN ; n8MEGEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 6.218 ; +; -12.232 ; FWEr ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 8.175 ; +; -12.187 ; CmdDRCLK ; DRCLK ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 6.016 ; +; -11.557 ; CBR ; nRCS~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 7.500 ; +; -11.066 ; CmdLEDEN ; LEDEN ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 4.895 ; +; -10.731 ; CBR ; nRWE~reg0 ; nCRAS ; RCLK ; 1.000 ; -4.736 ; 6.674 ; +; -10.002 ; CmdUFMPrgm ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.831 ; +; -10.001 ; CmdUFMPrgm ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.830 ; +; -9.594 ; CmdUFMErase ; UFMProgram ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.423 ; +; -9.594 ; CmdUFMErase ; UFMErase ; PHI2 ; RCLK ; 1.000 ; -6.850 ; 3.423 ; +; -8.652 ; FS[16] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 24.331 ; +; -7.992 ; FS[17] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.671 ; +; -7.982 ; FS[16] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.661 ; +; -7.382 ; FS[5] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.061 ; +; -7.322 ; FS[17] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 23.001 ; +; -6.635 ; FS[16] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 22.314 ; +; -6.318 ; Ready ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.997 ; +; -5.975 ; FS[17] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.654 ; +; -5.761 ; S[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.440 ; +; -5.365 ; FS[5] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 21.044 ; +; -5.275 ; FS[7] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.954 ; +; -4.998 ; FS[16] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.677 ; +; -4.838 ; FS[16] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.517 ; +; -4.581 ; InitReady ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.260 ; +; -4.532 ; FS[7] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.211 ; +; -4.521 ; S[0] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.200 ; +; -4.400 ; FS[4] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.079 ; +; -4.338 ; FS[17] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.017 ; +; -4.336 ; InitReady ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 20.015 ; +; -4.307 ; FS[16] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.986 ; +; -4.301 ; Ready ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.980 ; +; -4.237 ; IS[3] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.916 ; +; -4.178 ; FS[17] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.857 ; +; -4.127 ; UFMInitDone ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.806 ; +; -3.797 ; FS[16] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.476 ; +; -3.647 ; FS[17] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.326 ; +; -3.606 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; n8MEGEN ; DRCLK ; RCLK ; 8.000 ; 0.867 ; 12.152 ; +; -3.556 ; FS[2] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.235 ; +; -3.457 ; UFMInitDone ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.136 ; +; -3.408 ; FS[16] ; ARCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.087 ; +; -3.358 ; FS[12] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.037 ; +; -3.358 ; S[0] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.037 ; +; -3.348 ; FS[12] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 19.027 ; +; -3.319 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; LEDEN ; DRCLK ; RCLK ; 8.000 ; 0.867 ; 11.865 ; +; -3.258 ; FS[7] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.937 ; +; -3.209 ; IS[1] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.888 ; +; -3.157 ; FS[11] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.836 ; +; -3.147 ; FS[11] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.826 ; +; -3.137 ; FS[17] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.816 ; +; -3.037 ; FS[5] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.716 ; +; -2.822 ; FS[5] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.501 ; +; -2.748 ; FS[17] ; ARCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.427 ; +; -2.621 ; InitReady ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.300 ; +; -2.600 ; S[1] ; nRCAS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.279 ; +; -2.533 ; IS[2] ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.212 ; +; -2.531 ; FS[0] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.210 ; +; -2.351 ; FS[12] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 18.030 ; +; -2.316 ; FS[13] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.995 ; +; -2.306 ; FS[13] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.985 ; +; -2.295 ; Ready ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.974 ; +; -2.283 ; FS[3] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.962 ; +; -2.150 ; FS[11] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.829 ; +; -2.110 ; UFMInitDone ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.789 ; +; -2.052 ; Ready ; nRCS~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.731 ; +; -2.005 ; FS[6] ; LEDEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.684 ; +; -1.830 ; FS[1] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.509 ; +; -1.804 ; FS[4] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.483 ; +; -1.711 ; nCCAS ; CASr ; nCCAS ; RCLK ; 1.000 ; 4.946 ; 7.336 ; +; -1.669 ; FS[10] ; UFMReqErase ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.348 ; +; -1.659 ; FS[10] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.338 ; +; -1.584 ; RASr2 ; Ready ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.263 ; +; -1.566 ; nCRAS ; RASr ; nCRAS ; RCLK ; 1.000 ; 4.946 ; 7.191 ; +; -1.548 ; FS[7] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.227 ; +; -1.539 ; FS[2] ; UFMD ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.218 ; +; -1.515 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 1.000 ; 4.946 ; 7.140 ; +; -1.416 ; FS[4] ; UFMInitDone ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.095 ; +; -1.398 ; S[0] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.077 ; +; -1.387 ; FS[7] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 17.066 ; +; -1.309 ; FS[13] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.988 ; +; -1.255 ; FS[4] ; DRShift ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.934 ; +; -0.930 ; FS[7] ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.609 ; +; -0.855 ; Ready ; DRDIn ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.534 ; +; -0.855 ; Ready ; DRCLK ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.534 ; +; -0.711 ; nCCAS ; CASr ; nCCAS ; RCLK ; 2.000 ; 4.946 ; 7.336 ; +; -0.668 ; FS[6] ; n8MEGEN ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.347 ; +; -0.662 ; FS[10] ; InitReady ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.341 ; +; -0.640 ; S[1] ; nRWE~reg0 ; RCLK ; RCLK ; 16.000 ; 0.000 ; 16.319 ; +; -0.566 ; nCRAS ; RASr ; nCRAS ; RCLK ; 2.000 ; 4.946 ; 7.191 ; ++---------+---------------------------------------------------------------------------------------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -17.454 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -0.867 ; 4.587 ; +; -17.247 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 8.000 ; -0.867 ; 4.380 ; +; 100.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 200.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Setup: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -17.440 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 8.000 ; -2.477 ; 2.963 ; +; 100.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 200.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------+ +; Setup: 'nCRAS' ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; -0.922 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 6.337 ; +; 0.483 ; Ready ; RowA[6] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.932 ; +; 0.484 ; Ready ; RowA[1] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.931 ; +; 0.612 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.803 ; +; 0.614 ; Ready ; RowA[3] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.801 ; +; 0.617 ; Ready ; RowA[4] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.798 ; +; 0.617 ; Ready ; RowA[8] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.798 ; +; 0.620 ; Ready ; RowA[5] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 4.795 ; +; 1.871 ; Ready ; RowA[9] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.544 ; +; 1.872 ; Ready ; RowA[2] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.543 ; +; 1.873 ; Ready ; RowA[0] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.542 ; +; 1.873 ; Ready ; RowA[7] ; RCLK ; nCRAS ; 1.000 ; 4.736 ; 3.542 ; +; 169.485 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 175.000 ; 9.682 ; 14.876 ; +; 344.485 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 350.000 ; 9.682 ; 14.876 ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++----------------------------------------------------------------------------------------------------------+ +; Setup: 'PHI2' ; ++---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ +; 0.616 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; 1.000 ; 6.850 ; 6.913 ; +; 2.044 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 2.000 ; 6.850 ; 6.485 ; +; 2.563 ; Ready ; RA11 ; RCLK ; PHI2 ; 2.000 ; 6.850 ; 5.966 ; +; 3.707 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; 1.000 ; 6.850 ; 3.822 ; +; 4.090 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; 1.000 ; 6.850 ; 3.439 ; +; 134.696 ; Bank[5] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.983 ; +; 134.696 ; Bank[5] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.983 ; +; 134.893 ; Bank[6] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.786 ; +; 134.893 ; Bank[6] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.786 ; +; 135.326 ; Bank[5] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.353 ; +; 135.523 ; Bank[6] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 39.156 ; +; 136.383 ; Bank[7] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.296 ; +; 136.383 ; Bank[7] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.296 ; +; 136.569 ; Bank[5] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.110 ; +; 136.569 ; Bank[5] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.110 ; +; 136.596 ; Bank[5] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.083 ; +; 136.596 ; Bank[5] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 38.083 ; +; 136.766 ; Bank[6] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.913 ; +; 136.766 ; Bank[6] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.913 ; +; 136.793 ; Bank[6] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.886 ; +; 136.793 ; Bank[6] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.886 ; +; 137.013 ; Bank[7] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.666 ; +; 137.370 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.309 ; +; 137.370 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.309 ; +; 137.570 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.109 ; +; 137.570 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 37.109 ; +; 138.000 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.679 ; +; 138.134 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.545 ; +; 138.134 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.545 ; +; 138.200 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.479 ; +; 138.256 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.423 ; +; 138.256 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.423 ; +; 138.283 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.396 ; +; 138.283 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 36.396 ; +; 138.764 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.915 ; +; 139.060 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.619 ; +; 139.060 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.619 ; +; 139.243 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.436 ; +; 139.243 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.436 ; +; 139.270 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.409 ; +; 139.270 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.409 ; +; 139.443 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.236 ; +; 139.443 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.236 ; +; 139.470 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.209 ; +; 139.470 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 35.209 ; +; 139.690 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.989 ; +; 140.007 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.672 ; +; 140.007 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.672 ; +; 140.034 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.645 ; +; 140.034 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 34.645 ; +; 140.811 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.868 ; +; 140.811 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.868 ; +; 140.933 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.746 ; +; 140.933 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.746 ; +; 140.960 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.719 ; +; 140.960 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.719 ; +; 141.441 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.238 ; +; 141.566 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 33.113 ; +; 141.763 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 32.916 ; +; 142.684 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.995 ; +; 142.684 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.995 ; +; 142.711 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.968 ; +; 142.711 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.968 ; +; 143.253 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 31.426 ; +; 144.240 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 30.439 ; +; 144.440 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 30.239 ; +; 145.004 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 29.675 ; +; 145.930 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 28.749 ; +; 146.502 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 28.177 ; +; 146.699 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 27.980 ; +; 147.681 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 26.998 ; +; 148.189 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 26.490 ; +; 149.176 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.503 ; +; 149.376 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.303 ; +; 149.579 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.100 ; +; 149.579 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 25.100 ; +; 149.776 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 24.903 ; +; 149.776 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 24.903 ; +; 149.940 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 24.739 ; +; 150.866 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 23.813 ; +; 151.266 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 23.413 ; +; 151.266 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 23.413 ; +; 152.253 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.426 ; +; 152.253 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.426 ; +; 152.453 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.226 ; +; 152.453 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.226 ; +; 152.617 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 22.062 ; +; 153.017 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 21.662 ; +; 153.017 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 21.662 ; +; 153.633 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 21.046 ; +; 153.830 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 20.849 ; +; 153.943 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 20.736 ; +; 153.943 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 20.736 ; +; 155.320 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 19.359 ; +; 155.694 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.985 ; +; 155.694 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.985 ; +; 156.307 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.372 ; +; 156.507 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 18.172 ; +; 157.071 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 17.608 ; +; 157.997 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; 175.000 ; 0.000 ; 16.682 ; ++---------+-----------+--------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'DRCLK' ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -14.753 ; DRShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -0.867 ; 4.380 ; +; -14.546 ; DRDIn ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; RCLK ; DRCLK ; 0.000 ; -0.867 ; 4.587 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|wire_maxii_ufm_block1_drdout ; DRCLK ; DRCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Hold: 'ARCLK' ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ +; -14.560 ; ARShift ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; RCLK ; ARCLK ; 0.000 ; -2.477 ; 2.963 ; +; 60.000 ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; UFM:UFM_inst|UFM_altufm_none_38r:UFM_altufm_none_38r_component|maxii_ufm_block1~OBSERVABLEADDRESSREGOUT ; ARCLK ; ARCLK ; 0.000 ; 0.000 ; 80.000 ; ++---------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+--------------+-------------+--------------+------------+------------+ + + ++------------------------------------------------------------------------------------------------------------+ +; Hold: 'PHI2' ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ +; -2.450 ; LEDEN ; CmdLEDEN ; RCLK ; PHI2 ; -1.000 ; 6.850 ; 3.439 ; +; -2.067 ; n8MEGEN ; Cmdn8MEGEN ; RCLK ; PHI2 ; -1.000 ; 6.850 ; 3.822 ; +; -0.923 ; Ready ; RA11 ; RCLK ; PHI2 ; 0.000 ; 6.850 ; 5.966 ; +; -0.404 ; n8MEGEN ; RA11 ; RCLK ; PHI2 ; 0.000 ; 6.850 ; 6.485 ; +; 1.024 ; LEDEN ; XOR8MEG ; RCLK ; PHI2 ; -1.000 ; 6.850 ; 6.913 ; +; 3.430 ; UFMOscEN ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 3.469 ; +; 4.434 ; C1Submitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.473 ; +; 4.435 ; C1Submitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 4.474 ; +; 5.287 ; CmdEnable ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.326 ; +; 5.416 ; XOR8MEG ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 5.455 ; +; 10.780 ; CmdEnable ; XOR8MEG ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 10.819 ; +; 11.355 ; ADSubmitted ; CmdEnable ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 11.394 ; +; 11.356 ; ADSubmitted ; UFMOscEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 11.395 ; +; 15.750 ; CmdEnable ; CmdUFMErase ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.789 ; +; 15.750 ; CmdEnable ; CmdUFMPrgm ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.789 ; +; 15.777 ; CmdEnable ; CmdDRDIn ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.816 ; +; 15.777 ; CmdEnable ; CmdDRCLK ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 15.816 ; +; 17.020 ; CmdEnable ; CmdSubmitted ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 17.059 ; +; 17.650 ; CmdEnable ; CmdLEDEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 17.689 ; +; 17.650 ; CmdEnable ; Cmdn8MEGEN ; PHI2 ; PHI2 ; 0.000 ; 0.000 ; 17.689 ; +; 182.870 ; Bank[0] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 7.909 ; +; 183.351 ; XOR8MEG ; RA11 ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 8.390 ; +; 184.621 ; Bank[1] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 9.660 ; +; 185.340 ; Bank[0] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.379 ; +; 185.547 ; Bank[4] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 10.586 ; +; 186.111 ; Bank[2] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.150 ; +; 186.311 ; Bank[3] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.350 ; +; 186.369 ; Bank[0] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 11.408 ; +; 187.091 ; Bank[1] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.130 ; +; 187.298 ; Bank[7] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 12.337 ; +; 188.017 ; Bank[4] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.056 ; +; 188.120 ; Bank[1] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.159 ; +; 188.310 ; Bank[0] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.349 ; +; 188.581 ; Bank[2] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.620 ; +; 188.781 ; Bank[3] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.820 ; +; 188.788 ; Bank[6] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 13.827 ; +; 188.985 ; Bank[5] ; ADSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.024 ; +; 189.046 ; Bank[4] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.085 ; +; 189.610 ; Bank[2] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.649 ; +; 189.768 ; Bank[7] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.807 ; +; 189.810 ; Bank[3] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 14.849 ; +; 190.061 ; Bank[1] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 15.100 ; +; 190.797 ; Bank[7] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 15.836 ; +; 190.987 ; Bank[4] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.026 ; +; 191.258 ; Bank[6] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.297 ; +; 191.455 ; Bank[5] ; C1Submitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.494 ; +; 191.551 ; Bank[2] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.590 ; +; 191.751 ; Bank[3] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 16.790 ; +; 192.287 ; Bank[6] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 17.326 ; +; 192.484 ; Bank[5] ; CmdEnable ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 17.523 ; +; 192.738 ; Bank[7] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 17.777 ; +; 194.228 ; Bank[6] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 19.267 ; +; 194.425 ; Bank[5] ; UFMOscEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 19.464 ; +; 201.959 ; Bank[0] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 26.998 ; +; 203.710 ; Bank[1] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 28.749 ; +; 204.636 ; Bank[4] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 29.675 ; +; 205.200 ; Bank[2] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 30.239 ; +; 205.400 ; Bank[3] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 30.439 ; +; 206.387 ; Bank[7] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.426 ; +; 206.929 ; Bank[0] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.968 ; +; 206.929 ; Bank[0] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.968 ; +; 206.956 ; Bank[0] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.995 ; +; 206.956 ; Bank[0] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 31.995 ; +; 207.877 ; Bank[6] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 32.916 ; +; 208.074 ; Bank[5] ; XOR8MEG ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.113 ; +; 208.199 ; Bank[0] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.238 ; +; 208.680 ; Bank[1] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.719 ; +; 208.680 ; Bank[1] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.719 ; +; 208.707 ; Bank[1] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.746 ; +; 208.707 ; Bank[1] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.746 ; +; 208.829 ; Bank[0] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.868 ; +; 208.829 ; Bank[0] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 33.868 ; +; 209.606 ; Bank[4] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.645 ; +; 209.606 ; Bank[4] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.645 ; +; 209.633 ; Bank[4] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.672 ; +; 209.633 ; Bank[4] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.672 ; +; 209.950 ; Bank[1] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 34.989 ; +; 210.170 ; Bank[2] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.209 ; +; 210.170 ; Bank[2] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.209 ; +; 210.197 ; Bank[2] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.236 ; +; 210.197 ; Bank[2] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.236 ; +; 210.370 ; Bank[3] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.409 ; +; 210.370 ; Bank[3] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.409 ; +; 210.397 ; Bank[3] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.436 ; +; 210.397 ; Bank[3] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.436 ; +; 210.580 ; Bank[1] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.619 ; +; 210.580 ; Bank[1] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.619 ; +; 210.876 ; Bank[4] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 35.915 ; +; 211.357 ; Bank[7] ; CmdUFMErase ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.396 ; +; 211.357 ; Bank[7] ; CmdUFMPrgm ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.396 ; +; 211.384 ; Bank[7] ; CmdDRDIn ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.423 ; +; 211.384 ; Bank[7] ; CmdDRCLK ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.423 ; +; 211.440 ; Bank[2] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.479 ; +; 211.506 ; Bank[4] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.545 ; +; 211.506 ; Bank[4] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.545 ; +; 211.640 ; Bank[3] ; CmdSubmitted ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 36.679 ; +; 212.070 ; Bank[2] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.109 ; +; 212.070 ; Bank[2] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.109 ; +; 212.270 ; Bank[3] ; CmdLEDEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.309 ; +; 212.270 ; Bank[3] ; Cmdn8MEGEN ; PHI2 ; PHI2 ; -175.000 ; 0.000 ; 37.309 ; ++---------+-------------+--------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------+ +; Hold: 'nCRAS' ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ +; -0.233 ; Ready ; RowA[0] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.542 ; +; -0.233 ; Ready ; RowA[7] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.542 ; +; -0.232 ; Ready ; RowA[2] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.543 ; +; -0.231 ; Ready ; RowA[9] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 3.544 ; +; 1.020 ; Ready ; RowA[5] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.795 ; +; 1.023 ; Ready ; RowA[4] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.798 ; +; 1.023 ; Ready ; RowA[8] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.798 ; +; 1.026 ; Ready ; RowA[3] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.801 ; +; 1.028 ; Ready ; RBA[1]~reg0 ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.803 ; +; 1.156 ; Ready ; RowA[1] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.931 ; +; 1.157 ; Ready ; RowA[6] ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 4.932 ; +; 2.562 ; Ready ; RBA[0]~reg0 ; RCLK ; nCRAS ; -1.000 ; 4.736 ; 6.337 ; +; 5.155 ; nCCAS ; CBR ; nCCAS ; nCRAS ; 0.000 ; 9.682 ; 14.876 ; +; 180.155 ; nCCAS ; CBR ; nCCAS ; nCRAS ; -175.000 ; 9.682 ; 14.876 ; ++---------+-----------+-------------+--------------+-------------+--------------+------------+------------+ + + ++---------------------------------------------------------------------------------------------------------+ +; Hold: 'RCLK' ; ++-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; Slack ; From Node ; To Node ; Launch Clock ; Latch Clock ; Relationship ; Clock Skew ; Data Delay ; ++-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ +; 2.155 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; 0.000 ; 4.946 ; 7.140 ; +; 2.206 ; nCRAS ; RASr ; nCRAS ; RCLK ; 0.000 ; 4.946 ; 7.191 ; +; 2.351 ; nCCAS ; CASr ; nCCAS ; RCLK ; 0.000 ; 4.946 ; 7.336 ; +; 3.155 ; PHI2 ; PHI2r ; PHI2 ; RCLK ; -1.000 ; 4.946 ; 7.140 ; +; 3.206 ; nCRAS ; RASr ; nCRAS ; RCLK ; -1.000 ; 4.946 ; 7.191 ; +; 3.266 ; CASr2 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.305 ; +; 3.351 ; nCCAS ; CASr ; nCCAS ; RCLK ; -1.000 ; 4.946 ; 7.336 ; +; 3.374 ; FS[17] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.413 ; +; 3.459 ; S[1] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.498 ; +; 3.468 ; S[1] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.507 ; +; 3.781 ; RASr3 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.820 ; +; 3.803 ; FS[0] ; FS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.842 ; +; 3.813 ; S[0] ; S[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.852 ; +; 3.828 ; S[0] ; S[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.867 ; +; 3.850 ; IS[0] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 3.889 ; +; 4.032 ; CASr2 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.071 ; +; 4.092 ; CASr3 ; nRCAS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.131 ; +; 4.618 ; RASr2 ; RASr3 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.657 ; +; 4.858 ; CASr2 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.897 ; +; 4.858 ; CASr3 ; nRWE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 4.897 ; +; 5.228 ; FS[9] ; FS[9] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.267 ; +; 5.229 ; FS[16] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.268 ; +; 5.230 ; FS[8] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.269 ; +; 5.247 ; Ready ; Ready ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.286 ; +; 5.252 ; FS[6] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.291 ; +; 5.254 ; UFMErase ; UFMErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.293 ; +; 5.267 ; FS[11] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.306 ; +; 5.270 ; FS[10] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.309 ; +; 5.280 ; FS[0] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.319 ; +; 5.291 ; UFMInitDone ; UFMInitDone ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.330 ; +; 5.309 ; RASr2 ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.348 ; +; 5.316 ; RASr2 ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.355 ; +; 5.316 ; RASr2 ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.355 ; +; 5.321 ; IS[0] ; IS[0] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.360 ; +; 5.322 ; IS[0] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.361 ; +; 5.335 ; IS[2] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.374 ; +; 5.429 ; UFMD ; UFMD ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.468 ; +; 5.440 ; FS[4] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.479 ; +; 5.440 ; FS[7] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.479 ; +; 5.441 ; FS[5] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; +; 5.441 ; FS[3] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; +; 5.441 ; InitReady ; InitReady ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.480 ; +; 5.452 ; n8MEGEN ; n8MEGEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.491 ; +; 5.452 ; FS[14] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.491 ; +; 5.453 ; UFMReqErase ; UFMReqErase ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.492 ; +; 5.453 ; FS[15] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.492 ; +; 5.454 ; FS[2] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.493 ; +; 5.456 ; FS[12] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.495 ; +; 5.466 ; FS[13] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.505 ; +; 5.467 ; UFMProgram ; UFMProgram ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.506 ; +; 5.530 ; IS[3] ; IS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.569 ; +; 5.533 ; IS[3] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.572 ; +; 5.553 ; IS[1] ; IS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.592 ; +; 5.560 ; IS[1] ; IS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.599 ; +; 5.676 ; RCKEEN ; RCKEEN ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.715 ; +; 5.684 ; CASr3 ; nRCS~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 5.723 ; +; 5.963 ; FS[9] ; FS[10] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.002 ; +; 5.964 ; FS[16] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.003 ; +; 5.987 ; FS[6] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.026 ; +; 6.002 ; FS[11] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.041 ; +; 6.005 ; FS[10] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.044 ; +; 6.015 ; FS[0] ; FS[2] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.054 ; +; 6.016 ; RASr ; RASr2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.055 ; +; 6.107 ; FS[9] ; FS[11] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.146 ; +; 6.131 ; FS[6] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.170 ; +; 6.146 ; FS[11] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.185 ; +; 6.149 ; FS[10] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.188 ; +; 6.159 ; FS[0] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.198 ; +; 6.251 ; FS[9] ; FS[12] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.290 ; +; 6.293 ; FS[10] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.332 ; +; 6.395 ; FS[9] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.434 ; +; 6.416 ; RCKEEN ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.455 ; +; 6.442 ; FS[4] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.481 ; +; 6.442 ; FS[7] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.481 ; +; 6.443 ; FS[5] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.482 ; +; 6.454 ; FS[14] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.493 ; +; 6.455 ; FS[15] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.494 ; +; 6.456 ; FS[2] ; FS[3] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.495 ; +; 6.458 ; FS[12] ; FS[13] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.497 ; +; 6.460 ; FS[1] ; FS[1] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.499 ; +; 6.477 ; PHI2r3 ; DRDIn ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.516 ; +; 6.477 ; PHI2r3 ; DRCLK ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.516 ; +; 6.482 ; RASr2 ; RCKE~reg0 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.521 ; +; 6.534 ; IS[0] ; RA10 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.573 ; +; 6.578 ; PHI2r ; PHI2r2 ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.617 ; +; 6.586 ; FS[4] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.625 ; +; 6.587 ; FS[5] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.626 ; +; 6.598 ; FS[14] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.637 ; +; 6.599 ; FS[15] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.638 ; +; 6.730 ; FS[4] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.769 ; +; 6.731 ; FS[5] ; FS[8] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.770 ; +; 6.742 ; FS[14] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.781 ; +; 6.782 ; FS[11] ; FS[16] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; +; 6.782 ; FS[11] ; FS[17] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; +; 6.782 ; FS[11] ; FS[15] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; +; 6.782 ; FS[11] ; FS[14] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.821 ; +; 6.795 ; FS[0] ; FS[5] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; +; 6.795 ; FS[0] ; FS[6] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; +; 6.795 ; FS[0] ; FS[4] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; +; 6.795 ; FS[0] ; FS[7] ; RCLK ; RCLK ; 0.000 ; 0.000 ; 6.834 ; ++-------+-------------+-------------+--------------+-------------+--------------+------------+------------+ + + ++-------------------------------------------------------------------+ +; Setup Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; +; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; +; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; +; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + ++-------------------------------------------------------------------+ +; Hold Transfers ; ++------------+----------+----------+----------+----------+----------+ +; From Clock ; To Clock ; RR Paths ; FR Paths ; RF Paths ; FF Paths ; ++------------+----------+----------+----------+----------+----------+ +; ARCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; ARCLK ; 1 ; 0 ; 0 ; 0 ; +; DRCLK ; DRCLK ; 1 ; 0 ; 0 ; 0 ; +; RCLK ; DRCLK ; 2 ; 0 ; 0 ; 0 ; +; nCCAS ; nCRAS ; 0 ; 0 ; 1 ; 1 ; +; RCLK ; nCRAS ; 0 ; 0 ; 12 ; 0 ; +; PHI2 ; PHI2 ; 0 ; 1 ; 160 ; 15 ; +; RCLK ; PHI2 ; 2 ; 0 ; 3 ; 0 ; +; DRCLK ; RCLK ; 3 ; 0 ; 0 ; 0 ; +; nCCAS ; RCLK ; 1 ; 1 ; 0 ; 0 ; +; nCRAS ; RCLK ; 1 ; 17 ; 0 ; 0 ; +; PHI2 ; RCLK ; 1 ; 13 ; 0 ; 0 ; +; RCLK ; RCLK ; 618 ; 0 ; 0 ; 0 ; ++------------+----------+----------+----------+----------+----------+ +Entries labeled "false path" only account for clock-to-clock false paths and not path-based false paths. As a result, actual path counts may be lower than reported. + + +--------------- +; Report TCCS ; +--------------- +No dedicated SERDES Transmitter circuitry present in device or used in design + + +--------------- +; Report RSKM ; +--------------- +No non-DPA dedicated SERDES Receiver circuitry present in device or used in design + + ++------------------------------------------------+ +; Unconstrained Paths Summary ; ++---------------------------------+-------+------+ +; Property ; Setup ; Hold ; ++---------------------------------+-------+------+ +; Illegal Clocks ; 0 ; 0 ; +; Unconstrained Clocks ; 0 ; 0 ; +; Unconstrained Input Ports ; 31 ; 31 ; +; Unconstrained Input Port Paths ; 249 ; 249 ; +; Unconstrained Output Ports ; 38 ; 38 ; +; Unconstrained Output Port Paths ; 78 ; 78 ; ++---------------------------------+-------+------+ + + ++-------------------------------------+ +; Clock Status Summary ; ++--------+-------+------+-------------+ +; Target ; Clock ; Type ; Status ; ++--------+-------+------+-------------+ +; ARCLK ; ARCLK ; Base ; Constrained ; +; DRCLK ; DRCLK ; Base ; Constrained ; +; PHI2 ; PHI2 ; Base ; Constrained ; +; RCLK ; RCLK ; Base ; Constrained ; +; nCCAS ; nCCAS ; Base ; Constrained ; +; nCRAS ; nCRAS ; Base ; Constrained ; ++--------+-------+------+-------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Unconstrained Input Ports ; ++------------+--------------------------------------------------------------------------------------+ +; Input Port ; Comment ; ++------------+--------------------------------------------------------------------------------------+ +; CROW[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; CROW[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Din[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[8] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; MAin[9] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCCAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nCRAS ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nFWE ; No input delay, min/max delays, false-path exceptions, or max skew assignments found ; ++------------+--------------------------------------------------------------------------------------+ + + ++-----------------------------------------------------------------------------------------------------+ +; Unconstrained Output Ports ; ++-------------+---------------------------------------------------------------------------------------+ +; Output Port ; Comment ; ++-------------+---------------------------------------------------------------------------------------+ +; Dout[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; Dout[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; LED ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[8] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[9] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[10] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RA[11] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RBA[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RCKE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQMH ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RDQML ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[0] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[1] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[2] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[3] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[4] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[5] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[6] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; RD[7] ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRCS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRRAS ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; +; nRWE ; No output delay, min/max delays, false-path exceptions, or max skew assignments found ; ++-------------+---------------------------------------------------------------------------------------+ + + ++--------------------------+ +; Timing Analyzer Messages ; ++--------------------------+ +Info: ******************************************************************* +Info: Running Quartus Prime Timing Analyzer + Info: Version 19.1.0 Build 670 09/22/2019 SJ Lite Edition + Info: Processing started: Sat Aug 19 22:00:47 2023 +Info: Command: quartus_sta RAM2GS-MAXV -c RAM2GS +Info: qsta_default_script.tcl version: #1 +Info (20032): Parallel compilation is enabled and will use up to 4 processors +Info (21077): Low junction temperature is 0 degrees C +Info (21077): High junction temperature is 85 degrees C +Info (334003): Started post-fitting delay annotation +Info (334004): Delay annotation completed successfully +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS.sdc' +Info (332104): Reading SDC File: '//ZaneMac/Repos/RAM2GS/CPLD/RAM2GS-MAX.sdc' +Info: Found TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS = ON +Info: Can't run Report Timing Closure Recommendations. The current device family is not supported. +Critical Warning (332148): Timing requirements not met +Info (332146): Worst-case setup slack is -19.199 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -19.199 -193.279 RCLK + Info (332119): -17.454 -17.454 DRCLK + Info (332119): -17.440 -17.440 ARCLK + Info (332119): -0.922 -0.922 nCRAS + Info (332119): 0.616 0.000 PHI2 +Info (332146): Worst-case hold slack is -14.753 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): -14.753 -14.753 DRCLK + Info (332119): -14.560 -14.560 ARCLK + Info (332119): -2.450 -5.440 PHI2 + Info (332119): -0.233 -0.929 nCRAS + Info (332119): 2.155 0.000 RCLK +Info (332140): No Recovery paths to report +Info (332140): No Removal paths to report +Info (332146): Worst-case minimum pulse width slack is 7.661 + Info (332119): Slack End Point TNS Clock + Info (332119): ========= =================== ===================== + Info (332119): 7.661 0.000 RCLK + Info (332119): 70.000 0.000 ARCLK + Info (332119): 70.000 0.000 DRCLK + Info (332119): 174.661 0.000 PHI2 + Info (332119): 174.661 0.000 nCCAS + Info (332119): 174.661 0.000 nCRAS +Info (332001): The selected device family is not supported by the report_metastability command. +Info (332102): Design is not fully constrained for setup requirements +Info (332102): Design is not fully constrained for hold requirements +Info: Quartus Prime Timing Analyzer was successful. 0 errors, 1 warning + Info: Peak virtual memory: 4677 megabytes + Info: Processing ended: Sat Aug 19 22:00:58 2023 + Info: Elapsed time: 00:00:11 + Info: Total CPU time (on all processors): 00:00:01 + + diff --git a/CPLD/MAXV/output_files/RAM2GS.sta.summary b/CPLD/MAXV/output_files/RAM2GS.sta.summary index 39a07ab..dec1ebb 100644 --- a/CPLD/MAXV/output_files/RAM2GS.sta.summary +++ b/CPLD/MAXV/output_files/RAM2GS.sta.summary @@ -1,69 +1,69 @@ ------------------------------------------------------------- -Timing Analyzer Summary ------------------------------------------------------------- - -Type : Setup 'RCLK' -Slack : -19.199 -TNS : -193.279 - -Type : Setup 'DRCLK' -Slack : -17.454 -TNS : -17.454 - -Type : Setup 'ARCLK' -Slack : -17.440 -TNS : -17.440 - -Type : Setup 'nCRAS' -Slack : -0.922 -TNS : -0.922 - -Type : Setup 'PHI2' -Slack : 0.616 -TNS : 0.000 - -Type : Hold 'DRCLK' -Slack : -14.753 -TNS : -14.753 - -Type : Hold 'ARCLK' -Slack : -14.560 -TNS : -14.560 - -Type : Hold 'PHI2' -Slack : -2.450 -TNS : -5.440 - -Type : Hold 'nCRAS' -Slack : -0.233 -TNS : -0.929 - -Type : Hold 'RCLK' -Slack : 2.155 -TNS : 0.000 - -Type : Minimum Pulse Width 'RCLK' -Slack : 7.661 -TNS : 0.000 - -Type : Minimum Pulse Width 'ARCLK' -Slack : 70.000 -TNS : 0.000 - -Type : Minimum Pulse Width 'DRCLK' -Slack : 70.000 -TNS : 0.000 - -Type : Minimum Pulse Width 'PHI2' -Slack : 174.661 -TNS : 0.000 - -Type : Minimum Pulse Width 'nCCAS' -Slack : 174.661 -TNS : 0.000 - -Type : Minimum Pulse Width 'nCRAS' -Slack : 174.661 -TNS : 0.000 - ------------------------------------------------------------- +------------------------------------------------------------ +Timing Analyzer Summary +------------------------------------------------------------ + +Type : Setup 'RCLK' +Slack : -19.199 +TNS : -193.279 + +Type : Setup 'DRCLK' +Slack : -17.454 +TNS : -17.454 + +Type : Setup 'ARCLK' +Slack : -17.440 +TNS : -17.440 + +Type : Setup 'nCRAS' +Slack : -0.922 +TNS : -0.922 + +Type : Setup 'PHI2' +Slack : 0.616 +TNS : 0.000 + +Type : Hold 'DRCLK' +Slack : -14.753 +TNS : -14.753 + +Type : Hold 'ARCLK' +Slack : -14.560 +TNS : -14.560 + +Type : Hold 'PHI2' +Slack : -2.450 +TNS : -5.440 + +Type : Hold 'nCRAS' +Slack : -0.233 +TNS : -0.929 + +Type : Hold 'RCLK' +Slack : 2.155 +TNS : 0.000 + +Type : Minimum Pulse Width 'RCLK' +Slack : 7.661 +TNS : 0.000 + +Type : Minimum Pulse Width 'ARCLK' +Slack : 70.000 +TNS : 0.000 + +Type : Minimum Pulse Width 'DRCLK' +Slack : 70.000 +TNS : 0.000 + +Type : Minimum Pulse Width 'PHI2' +Slack : 174.661 +TNS : 0.000 + +Type : Minimum Pulse Width 'nCCAS' +Slack : 174.661 +TNS : 0.000 + +Type : Minimum Pulse Width 'nCRAS' +Slack : 174.661 +TNS : 0.000 + +------------------------------------------------------------ diff --git a/CPLD/RAM2GS-AGM.v b/CPLD/RAM2GS-AGM.v index 0dc7503..08b6196 100644 --- a/CPLD/RAM2GS-AGM.v +++ b/CPLD/RAM2GS-AGM.v @@ -1,8 +1,7 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, nCCAS, nCRAS, nFWE, LED, RBA, RA, RD, nRCS, RCLK, RCKE, - nRWE, nRRAS, nRCAS, RDQMH, RDQML, - nUFMCSout, UFMCLKout, UFMSDIout, UFMSDOout, In); + nRWE, nRRAS, nRCAS, RDQMH, RDQML); /* 65816 Phase 2 Clock */ input PHI2; @@ -346,12 +345,7 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, end end - /* UFM Control */ - output nUFMCSout = nUFMCS; - output UFMCLKout = UFMCLK; - output UFMSDIout = UFMSDI; - output UFMSDOout = UFMSDO; - input [3:0] In; + /* UFM Control */ always @(posedge RCLK) begin if (~InitReady && FS[17:10]==8'h00) begin nUFMCS <= 1'b1; diff --git a/CPLD/RAM2GS-LCMXO2.mem b/CPLD/RAM2GS-LCMXO2.mem new file mode 100644 index 0000000..eccce6a --- /dev/null +++ b/CPLD/RAM2GS-LCMXO2.mem @@ -0,0 +1,7 @@ +// Auto-generated by memint 08/19/2023 20:50:21 +#Format=Hex +#Depth=16 +#Width=8 +#AddrRadix=3 +#DataRadix=3 +#Data diff --git a/CPLD/RAM2GS-LCMXO2.v b/CPLD/RAM2GS-LCMXO2.v index c228114..0a03d80 100644 --- a/CPLD/RAM2GS-LCMXO2.v +++ b/CPLD/RAM2GS-LCMXO2.v @@ -62,7 +62,8 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, /* UFM Interface */ reg wb_rst; - reg wb_cyc_stb; + reg wb_cyc_stb; + reg wb_req; reg wb_we; reg [7:0] wb_adr; reg [7:0] wb_dati; @@ -87,8 +88,9 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, reg CmdValid = 0; reg Cmdn8MEGEN = 0; reg CmdLEDEN = 0; + reg CmdUFMWrite = 0; + reg CmdUFMShift = 0; reg CmdUFMData = 0; - reg CMDUFMWrite = 0; wire ADWR = Bank[7:0]==8'hFB & MAin[7:0]==8'hFF & ~nFWE; wire C1WR = Bank[7:0]==8'hFB & MAin[7:0]==8'hFE & ~nFWE; wire CMDWR = Bank[7:0]==8'hFB & MAin[7:0]==8'hFD & ~nFWE; @@ -360,365 +362,244 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, /* UFM Control */ always @(posedge RCLK) begin - if (~InitReady && FS[17:10]==8'h00) begin - wb_rst <= ~FS[9]; - wb_cyc_stb <= 1'b0; + if (~InitReady && FS[17:15]==3'h0) begin + wb_rst <= ~FS[14]; wb_we <= 1'b0; + wb_cyc_stb <= 1'b0; + wb_req <= 1'b0; wb_adr[7:0] <= 8'h00; wb_dati[7:0] <= 8'h00; - end else if (~InitReady && FS[17:10]==8'h01) begin - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame + end else if (~InitReady && FS[17:15]==3'h1) begin + wb_rst <= 1'b0; + + if (FS[8:0]==0) wb_cyc_stb <= 0; + else if (FS[8:0]==1 && wb_req) wb_cyc_stb <= 1; + else if (wb_ack) wb_cyc_stb <= 0; + case (FS[14:9]) + 0: begin // Open frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; - wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= FS[4:0]==5'h10; - end 5'h01: begin // Enable configuration interface - command + wb_dati[7:0] <= 8'h80; + wb_req <= 1; + end 1: begin // Enable configuration interface - command wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h74; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h02: begin // Enable configuration interface - operand 1/3 + wb_req <= 1; + end 2: begin // Enable configuration interface - operand 1/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h08; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h03: begin // Enable configuration interface - operand 2/3 + wb_req <= 1; + end 3: begin // Enable configuration interface - operand 2/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h04: begin // Enable configuration interface - operand 3/3 + wb_req <= 1; + end 4: begin // Enable configuration interface - operand 3/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h1F: begin // Close frame + wb_req <= 1; + end 5: begin // Close frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end default: begin - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= 1'b0; - end - endcase - end else if (~InitReady && FS[17:10]==8'h02) begin - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame + wb_req <= 1; + + end 6: begin // Open frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h80; - - end 5'h01: begin // Poll status register - command + wb_req <= 1; + end 7: begin // Poll status register - command wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h3C; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h02: begin // Poll status register - operand 1/3 + wb_req <= 1; + end 8: begin // Poll status register - operand 1/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - - end 5'h03: begin // Poll status register - operand 2/3 + wb_req <= 1; + end 9: begin // Poll status register - operand 2/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h04: begin // Poll status register - operand 3/3 + wb_req <= 1; + end 10: begin // Poll status register - operand 3/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - - end 5'h05: begin // Read status register 1/4 + wb_req <= 1; + end 11, 12, 13, 14: begin // Read status register 1-4 wb_we <= 1'b0; wb_adr[7:0] <= 8'h73; wb_dati[7:0] <= 8'h3C; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h06: begin // Read status register 2/4 - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h73; - wb_dati[7:0] <= 8'h00; - - end 5'h07: begin // Read status register 3/4 - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h73; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h08: begin // Read status register 4/4 - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h73; - wb_dati[7:0] <= 8'h00; - - end 5'h1F: begin // Close frame + wb_req <= 1; + end 15: begin // Close frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end default: begin - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= 1'b0; - end - endcase - end else if (~InitReady && FS[17:10]==8'h03) begin - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame + wb_req <= 1; + + end 16: begin // Open frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h01: begin // Set UFM address - command + wb_req <= 1; + end 17: begin // Set UFM address - command wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'hB4; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h02: begin // Set UFM address - operand 1/3 + wb_req <= 1; + end 18: begin // Set UFM address - operand 1/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h03: begin // Set UFM address - operand 2/3 + wb_req <= 1; + end 19: begin // Set UFM address - operand 2/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h04: begin // Set UFM address - operand 3/3 + wb_req <= 1; + end 20: begin // Set UFM address - operand 3/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h05: begin // Set UFM address - data 1/4 + wb_req <= 1; + end 21: begin // Set UFM address - data 1/4 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h40; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h06: begin // Set UFM address - data 2/4 + wb_req <= 1; + end 22: begin // Set UFM address - data 2/4 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h07: begin // Set UFM address - data 3/4 + wb_req <= 1; + end 23: begin // Set UFM address - data 3/4 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h08: begin // Set UFM address - data 4/4 + wb_req <= 1; + end 24: begin // Set UFM address - data 4/4 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h01; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h1F: begin // Close frame + wb_dati[7:0] <= 190; + wb_req <= 1; + end 25: begin // Close frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end default: begin - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= 1'b0; - end - endcase - end else if (~InitReady && FS[17:10]==8'h04) begin - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame + wb_req <= 1; + + end 26: begin // Open frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h01: begin // Read UFM page - command + wb_req <= 1; + end 27: begin // Read UFM page - command wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'hCA; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h02: begin // Read UFM page - operand 1/3 + wb_req <= 1; + end 28: begin // Read UFM page - operand 1/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h10; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h03: begin // Read UFM page - operand 2/3 + wb_req <= 1; + end 29: begin // Read UFM page - operand 2/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h04: begin // Read UFM page - operand 3/3 + wb_req <= 1; + end 30: begin // Read UFM page - operand 3/3 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h01; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h05: begin // Read UFM page - data 1/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; + wb_req <= 1; + end 31: begin // Read UFM page - data 1/16 + wb_we <= 1'b0; + wb_adr[7:0] <= 8'h73; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - - if (FS[4:0]==5'h1F) begin + wb_req <= 1; + if (wb_ack) begin LEDEN <= wb_dato[1]; n8MEGEN <= wb_dato[0]; end - end 5'h06: begin // Read UFM page - data 2/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; + end 32, 33, 34, + 35, 36, 37, 38, + 39, 40, 41, 42, + 43, 44, 45, 46: begin // Read UFM page - data 2/16 + wb_we <= 1'b0; + wb_adr[7:0] <= 8'h73; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h07: begin // Read UFM page - data 3/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h08: begin // Read UFM page - data 4/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h09: begin // Read UFM page - data 5/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h0A: begin // Read UFM page - data 6/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h0B: begin // Read UFM page - data 7/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h0C: begin // Read UFM page - data 8/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h0D: begin // Read UFM page - data 9/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h0E: begin // Read UFM page - data 10/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h0F: begin // Read UFM page - data 11/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h10: begin // Read UFM page - data 12/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h11: begin // Read UFM page - data 13/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h12: begin // Read UFM page - data 14/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h13: begin // Read UFM page - data 15/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h14: begin // Read UFM page - data 16/16 - wb_we <= 1'b1; - wb_adr[7:0] <= 8'h71; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h1F: begin // Close frame + wb_req <= 1; + end 47: begin // Close frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end default: begin - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= 1'b0; - end - endcase - end else if (~InitReady && FS[17:10]==8'h05) begin - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame + wb_req <= 1; + + end 48: begin // Open frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h01: begin // Disable configuration interface - command + wb_req <= 1; + end 49: begin // Disable configuration interface - command wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h26; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h02: begin // Disable configuration interface - operand 1/2 + wb_req <= 1; + end 50: begin // Disable configuration interface - operand 1/2 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h03: begin // Disable configuration interface - operand 2/2 + wb_req <= 1; + end 51: begin // Disable configuration interface - operand 2/2 wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h1F: begin // Close frame + wb_req <= 1; + end 52: begin // Close frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; - end default: begin - wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; - wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= 1'b0; - end - endcase - end else if (~InitReady && FS[17:10]==8'h06) begin - wb_rst <= 1'b0; - case (FS[9:5]) - 5'h00: begin // Open frame + wb_req <= 1; + + end 53: begin // Open frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h80; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h01: begin // Disable configuration interface - command + wb_req <= 1; + end 54: begin // Disable configuration interface - command wb_we <= 1'b1; wb_adr[7:0] <= 8'h71; wb_dati[7:0] <= 8'hFF; - wb_cyc_stb <= FS[4:0]==5'h00; - end 5'h1F: begin // Close frame + wb_req <= 1; + end 55: begin // Close frame wb_we <= 1'b1; wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= FS[4:0]==5'h00; + wb_req <= 1; end default: begin wb_we <= 1'b0; - wb_adr[7:0] <= 8'h00; + wb_adr[7:0] <= 8'h70; wb_dati[7:0] <= 8'h00; - wb_cyc_stb <= 1'b0; + wb_req <= 0; end endcase end else if (~InitReady) begin wb_rst <= 1'b0; - wb_cyc_stb <= 1'b0; + wb_cyc_stb <= 1'b0; + wb_req <= 1'b0; wb_we <= 1'b0; wb_adr[7:0] <= 8'h00; wb_dati[7:0] <= 8'h00; end else if (~PHI2r2 & PHI2r3 & CmdValid) begin wb_rst <= 1'b0; + wb_req <= 1'b0; // Set user command signals after PHI2 falls LEDEN <= CmdLEDEN; n8MEGEN <= Cmdn8MEGEN; @@ -726,8 +607,8 @@ module RAM2GS(PHI2, MAin, CROW, Din, Dout, wb_adr[7:0] <= { wb_adr[6:0], wb_dati[7] }; wb_dati[7:0] <= { wb_dati[6:0], wb_we }; wb_we <= CmdUFMData; - end - if (CmdUFMWrite) wb_cyc_stb <= 1; + wb_cyc_stb <= 1'b0; + end else if (CmdUFMWrite) wb_cyc_stb <= 1; end else wb_cyc_stb <= 0; end endmodule

    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 d{{sL3|Nr80P~ZXp009600|4_0RSOYCE)-7 literal 28839 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 delta 16273 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 @3!Jp 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 He*ysj;4Ymc diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/1.srm b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/1.srm index bfcc1db134e8f1b3dd2b3a7427fcda88414f9cf0..41ae99c7fdaa9ff7e7ff463b47893ed99805154b 100644 GIT binary patch literal 7807 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 R009600|0B&NWY3&003og-!=dM literal 7771 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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/fileinfo.srm b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/fileinfo.srm index 30acc282ab75e7a5a6d136a5dc527796e1e1c9a1..53ea55ac6c163e9a5a94e4a38bb61fee84193a0e 100644 GIT binary patch literal 311 zcmV-70m%LziwFP!000003%t|aYJ)Ho2k`qoMR0gozuI+MeU(6nC$XmFiySNS?Wfa; z8--Fvd!;0v|1akd<2WWhxK={@^OSt7tZJMjKUgY*t*;HEes1+T^YzSUrU-{-@>`n*a_#`dt!8W^_gYQ?=hc&t`~v)Cqr zw~P6HV<-skj$=#))}fcmo=7o;(17pVpeFh8Cb83! z39J|5;?Cl3NT*Hj&}%EgLR>yV+-lE&JE<4q?IXkia2U0%&clW*yWTxc?xe$zhOU|A z&tK)CyFo4v)EX3Cc1VSVRu2mm=t;(=t*Ga^JOv6)iRr#kpg-^U{$IWST0eR>`(54u z^;lPn5?<~+extye5L3b9?0o&h@X{b)2E0v0_l8|$O4dCa-r4wnr{QE*d^Y2=5uc67 c?1Im}!58@t{0{&C0RR630A#mL0rdm`0FykQxc~qF diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/skeleton.srm b/CPLD/LCMXO2-640HC/impl1/synwork/LCMXO2_640HC_impl1_prem_srm/skeleton.srm index c919829852109566bc782c25d86e375b9f2ed891..87522d1effe59b78191566e1e378e93fc05c2aa7 100644 GIT binary patch delta 1402 zcmV-=1%>*v3#B7is+IO|+pbFqo!3U4EGM0TgleRt^evE-+oS^}P1D30cty=O>)=){H>3TjK|?je{^LG7UQuLQ{QPqM#eX3sV7sKD8*G$W8R_%C z5X3iE#^UEbdUy`QeY6+nED9rWKHLt6dF39;TltR!OCO4xX2PDHMz4n)4e%&_&!p53 zUo8U>{CSDL|3>$`|6v49>7YRV|4J)K&B?Lma({3I00030|D=@PZ=*O6$Dhkz zQPp|C4~-lJg#gM!f%BOac5>4#xtD5Gl5Mt-K!I*5b+!Nd*`)2>N^Nu6dm78%nZbPK z2S`Xxcn5ph4B=t45K$KgytY6s#wZBscsX|>2o{zCF^(mVBm~2CuXh>WqKfBn6w63$ zp*f@b(SPvaOa<0r07P=kNlHY_BbEo?m>6Dn0*R0;L;j0@2IClcLKst#1>e~a;MWJ0G>`Z@JfMqoL?tIl)nK`8Tsh6^d~(`U&gR@%t;5Ij zCUl19tI*v%uGV(-!@lVMg}`{Qm6+8;KcANfVp_c16N#N7IXn9U?*9(=yK0E5u(;Mg zu#LA4mgAU_vySxd>c%RH6p}3y3RvXW>rDWb_%^)$%hTKRnx1(>FWSQKJ)^a>am=~VC4cdqz7DCY&xP%KFIM-3FtgI3F0v+WW-YgB zQxD^>TLlKW?%AwkF;O*GS3ym4aJ|;ieurA=CSxj#>nrjaJN!6y{ZZ`d9V&Cr6a>Ml(ex%0oVLK2m5P_a$SPYd+n3o7Jr2g zai+*a1YaLq_-eU9Ucjx-3h1DWzCaj$3Bu62?Vtd^==a_uJ-vuv(Qy&i8I;>J%B=J< z!IOE6RLnx_{_YZ!v_rx~I!jQGMX%5215Cs$9q1E7k|x$=YU~U}GEZ?p=EyEnD@js} z%$>2uXNsz8QJ7hq>Ab3)cIMpYWPekIwrKrX;U&`)Rm;S$8vnP(U$ql8$Ar()IjR%$ zjdG5e*kV_Hn)TND^pis=K++0zE&7=+mLAZ;ZB0L--h1^fho|DEHGP>s@9-{WnSz>J z<(j{*DR;nxgtBsxw%~Zw(eV_PrY8ZZ>(n~-33fO78}HQnP%FJ-peiMresiUs>5n0} zOPzCQa$?_8H@l~I_s(tJ*O5UdN|Y5{AO53-wYStc*CuCx{r=juPdD$)(;IA7{TvuJ ztN+7h;?c<~o5}C8sSa$a1Dopi*w`;@?4FJNAK6&{00030|Kf5`-~s>u0RR630KeP2 IYF7#X09skfjQ{`u delta 1409 zcmV-{1%CRh3$qK5Lw|3ZKoEt`-d|y{KHvlHRv?4fOJV71s9-@O8RZgvEncY@LSUXe4U^L#~Mr$~DL$X~Gr@1$DjBC|hPw zhn*`%Lq(&Cu{LUn-rT!p(+#vc)&yJ&>i*xyhYRKLlD@v3et$}g7@9V$`GV>KW}sa1 zj@~+&UthO-KiK=HT^8)Fr){tfwsDrNU+l|ixANotALdPcI4$atI({6S?h^u(!RlWo z=dS;51m@oFx7EWhvah>G$Z3rFf{Jkv?xqO8MBHgGbDlp#I}Fep?c{fL!-RYA>6 z5=_j=i90W-X@Bl4h*x)3R1yOT6_(^oLOz^Rw42gYlz^kN_0tVVhE!Gw83F0px8(*a zLy0&O_?y&9WV%c$GPnOt`j0G;7>e}gtUvwcR!x6!Q&uz%9sK}z^Y+iyrdV`_UlblL zF&Rt98q@?sZ=~i@k4$N(-=iUIoA<^Z+be1 zJc$K%g^o~hX^zsSoO-4rAWrati^613EMyT!&g@ucJk3RwpsM5t8Rc>oKuO5=K+`!4 zGlfEKi9=z8;M|@K+{?jec{W}@ zJPgim!{zww+*$5N&cNAxZwCEcC`^Z2g?UX)`JzIQv+{YLD(o~Z_~~zO_h)$6?Z>zd z%PVt%ZM=1`n#P=-cC@dno9ZaiNVi;S;E}UlZvr6l>-g#q8xN|HZF%c^4IJdHYW<+} zNPj4SwY!z$`6cW^w(?u2BwipTxXN!wrR#wlJ>|LrL|gHZ&25=$V<4aOki6@A(f6$` zTrR5CazGbWmx7BfuVYOESpJPW@8IKi@Xb5;`W^iI9en=|KKePXB!rW&v6`zUWD^+> zSgD7BFwwmmn0>+8%cj@7VV7;`_@2dD)_*v5-I$j6PTz;rHS2QZd(YAMLfTpB&@|a7 zZfC6^we5$^H&%gRVLY36Jf^w^vJ7fgfa|r6$vgJSn2hT@u9x(MJARwHd5gP#n|uBi zcmFnb^i!_UPfb{8^<`heyI#*h_@&<;uvH%$#wJ$NP_c$g0%7#~7#yw$6Q%_p4}T`7 zxG75?;#|}F2tMDt@R_(lQNoSSOX#4AK0z3M3c`@wbWnm{_V3;U8(c;(?}Uu&9I9;^ z?9$J)QmE}K$&zY(gi0;mf}!mc!5cp;V`3wrwg;D$WxhKB$#DG zOeycr!X)bVND|o`jpjkIvzT}n>3xn0ssI2 P|NjF3wPDu`TM7UG?ZMD# diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/_mh_info b/CPLD/LCMXO2-640HC/impl1/synwork/_mh_info index 37bc105..4e98067 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/_mh_info +++ b/CPLD/LCMXO2-640HC/impl1/synwork/_mh_info @@ -1 +1 @@ -|1| +|1| diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt b/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt index 1a088e6..8e3a670 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt +++ b/CPLD/LCMXO2-640HC/impl1/synwork/incr_compile.rpt @@ -1,40 +1,40 @@ - -Copyright (C) 1994-2021 Synopsys, Inc. -This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. -and may only be used pursuant to the terms and conditions of a written license agreement -with Synopsys, Inc. All other use, reproduction, modification, or distribution of the -Synopsys software or the associated documentation is strictly prohibited. -Tool: Synplify Pro (R) -Build: R-2021.03L-SP1 -Install: C:\lscc\diamond\3.12\synpbase -OS: Windows 6.2 - -Hostname: ZANEPC - -Implementation : impl1 -Synopsys HDL compiler and linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ - -Modified Files: 0 -FID: path (prevtimestamp, timestamp) - -******************************************************************* -Modules that may have changed as a result of file changes: 0 -MID: lib.cell.view - -******************************************************************* -Unmodified files: 8 -FID: path (timestamp) -0 C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v (2021-08-10 09:11:08) -1 C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v (2021-08-10 09:11:08) -2 C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v (2021-08-10 09:07:02) -3 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v (2021-08-10 09:07:02) -4 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh (2021-08-10 09:07:02) -5 C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v (2021-08-10 09:07:02) -7 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v (2023-08-16 20:52:02) -6 D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v (2023-08-16 20:58:34) - -******************************************************************* -Unchanged modules: 2 -MID: lib.cell.view -0 work.RAM2GS.verilog -1 work.REFB.verilog + +Copyright (C) 1994-2021 Synopsys, Inc. +This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. +and may only be used pursuant to the terms and conditions of a written license agreement +with Synopsys, Inc. All other use, reproduction, modification, or distribution of the +Synopsys software or the associated documentation is strictly prohibited. +Tool: Synplify Pro (R) +Build: R-2021.03L-SP1 +Install: C:\lscc\diamond\3.12\synpbase +OS: Windows 6.2 + +Hostname: ZANEMACWIN11 + +Implementation : impl1 +Synopsys HDL compiler and linker, Version comp202103synp2, Build 093R, Built Aug 10 2021 09:15:36, @ + +Modified Files: 0 +FID: path (prevtimestamp, timestamp) + +******************************************************************* +Modules that may have changed as a result of file changes: 0 +MID: lib.cell.view + +******************************************************************* +Unmodified files: 8 +FID: path (timestamp) +0 C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v (2021-08-10 09:11:08) +1 C:\lscc\diamond\3.12\synpbase\lib\lucent\pmi_def.v (2021-08-10 09:11:08) +2 C:\lscc\diamond\3.12\synpbase\lib\vlog\hypermods.v (2021-08-10 09:07:02) +3 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_objects.v (2021-08-10 09:07:02) +4 C:\lscc\diamond\3.12\synpbase\lib\vlog\scemi_pipes.svh (2021-08-10 09:07:02) +5 C:\lscc\diamond\3.12\synpbase\lib\vlog\umr_capim.v (2021-08-10 09:07:02) +10 Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v (2023-08-19 07:27:00) +11 Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v (2023-08-19 07:32:34) + +******************************************************************* +Unchanged modules: 2 +MID: lib.cell.view +0 work.RAM2GS.verilog +1 work.REFB.verilog diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep index b5d3d64..84eb0b2 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep +++ b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdep @@ -1,23 +1,23 @@ -#OPTIONS:"|-layerid|0|-orig_srs|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\synwork\\LCMXO2_640HC_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-dspmac|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC|-I|D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001|-lib|work|-fv2001" -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 -#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\RAM2GS-LCMXO2.v":1692233914 -#CUR:"D:\\OneDrive\\Documents\\GitHub\\RAM2GS\\CPLD\\LCMXO2-640HC\\REFB.v":1692233522 -#numinternalfiles:6 -#defaultlanguage:verilog -0 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v" verilog -1 "D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" verilog -#Dependency Lists(Uses List) -0 1 -1 -1 -#Dependency Lists(Users Of) -0 -1 -1 0 -#Design Unit to File Association -module work RAM2GS 0 -module work REFB 1 +#OPTIONS:"|-layerid|0|-orig_srs|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\synwork\\LCMXO2_640HC_impl1_comp.srs|-top|RAM2GS|-prodtype|synplify_pro|-dspmac|-fixsmult|-infer_seqShift|-nram|-sdff_counter|-divnmod|-nostructver|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC|-I|Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC\\impl1\\|-I|C:\\lscc\\diamond\\3.12\\synpbase\\lib|-v2001|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v|-devicelib|C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v|-encrypt|-pro|-ui|-fid2|-ram|-sharing|on|-ll|2000|-autosm|-D_MULTIPLE_FILE_COMPILATION_UNIT_|-lib|work|-fv2001|-lib|work|-fv2001" +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\bin64\\c_ver.exe":1628601508 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\machxo2.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\lucent\\pmi_def.v":1628601068 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\hypermods.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\umr_capim.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_objects.v":1628600822 +#CUR:"C:\\lscc\\diamond\\3.12\\synpbase\\lib\\vlog\\scemi_pipes.svh":1628600822 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\RAM2GS-LCMXO2.v":1692444754 +#CUR:"Y:\\Repos\\RAM2GS\\CPLD\\LCMXO2-640HC\\REFB.v":1692444420 +#numinternalfiles:6 +#defaultlanguage:verilog +0 "Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v" verilog +1 "Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v" verilog +#Dependency Lists(Uses List) +0 1 +1 -1 +#Dependency Lists(Users Of) +0 -1 +1 0 +#Design Unit to File Association +module work RAM2GS 0 +module work REFB 1 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdepxmr b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdepxmr index 37d628b..8bc2ba2 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdepxmr +++ b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.fdepxmr @@ -1 +1 @@ -#XMR Information +#XMR Information diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.rt.csv b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.rt.csv index 915b7cd..0b328e3 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.rt.csv +++ b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.rt.csv @@ -1 +1 @@ -Library, Design Unit, compile Time, Peak Mem Usage +Library, Design Unit, compile Time, Peak Mem Usage diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.srs b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.srs index 8b59e6dfdd83561ac8f08be338e126093335904a..b867992ef4166e9512c13fc8808667ab7bb1220e 100644 GIT binary patch delta 13246 zcmV;vGeOLO!vUMZ0gy9)ZBN@U5Xay1DNgjwCXp&lOQC&N0*p$fAPUnaS&Cf8X}l%2 zXFG*R`S3e8tlJo96`)F~;=B9Z)8Farb^H%v!>QvbENfWQQWqkt;WIa)P%F4Nok6Th zEedX6&5adG0>gtSjCx_;qJMM%CzU8t2uJ-J$c!o>=7lcLCK^4TdeKgGsf*l|Xnj?nmSP2yip~RvcH? zx6`ZnV!Yo31+7sOX%jYq!c8XD*yih)kQ=U*#lOjA^l3qVNPImzC1e&~ez}T*;UK(- z2@$0(dW4`_?v?re%bIMg$;Oy?O?5poa7s5VtO@+sT&;OyABCCVNfV@2my|U@CLU~A z6|M<{%(zJ`|FOtLhVRnQvI%UOWk{|h?iHiNTH@@{sBloYjkQ0W?$*T4j@xd1M2r!I zWsHzi&=MtoMM%Hfi#DUsOKLfq#j*+3Q5g2HLcT_M`IFrO@ll~19U(Z5{6R(C^;;mi z6iLc658;xTTD#2#nxGPX)@jrP?O1bagj_XBqAH38Ye!Ac$|;M+)8z7Qc00YEoh9c} ze8g9m*VEa=%P6^kK5c=5o)06$ZPJDNNGv42!gQbwe0U<2GZFczs-yipe z(eW_s9frrdQ=T8@mK6?P%i7NL4XibOi3!Q^9vIZG{mlxGqv%zvsx%3sT9og=vW#Po zYWa;b_a3#iJS{Z0UAxYo;k|ed+qa;-j%_KUXfPNY9S;5%`u7#SIXgf3BYqHtd!4iS z>E2I&00030|FqIkOT#b_2k`fOicp_d+HOu*U(`DFVMD1e3I`=kE;f=hq1OfX?HwxE ziNb{Xb{xn5#~r6wR4l=e5Fj-FrYc~kjeBNkK2d*vP`uTZL^V{>5tXnXhGyrnvrf`b$;MW; zwyOm9+76Z3*a`{UU(D4nDEfna=Kmvk?U7;%&6jlgO``Cd^t6N$y(1_uHrdSs6!+_^ z&w9EpHjj4)-?cb;gCBE00;h|4a$7*Ty1pD{pB><4 zvH8(LySxz3c*ft1=lhZ`GxH_g+;Y_7lGq?@0c8?*g;@~JV9jm&&InT}ubL1#WP z{lB)o(ahxIG_3DTf0A#X#v}YX&d0MSHZs7Pe{3-C5 zFloo+^ZsBhC#GSLb=V;9&kX^XRXH8Tx(2YxbebrW zL4!&sNx)g5(BWU9jdrxEvL&yflyP0R&ECGCEpFX><6u@2u#g}gv^C^Mtqbe1+8Gcn ze>SzYg+?zduPl1AgOkm9hx`YWtuT$Qu|RDb&<^XuLu1;S47#yM8=ewbm$Cpd}A$fiBb7a3ie1 zN{6$xDOTaR5|0t{Kl?c0aRrak7h+BJU<=K%9Pb~vjAvL~@O$Lk$cGTGd10}%_bb5- zt*Ez_^VNMB&pl$JyN&ls|02}s1cYaGeC9h5)|99c2COX=D#4MSj8a&}x|Fdfe>i}# zg|%cPC}61_EAkVj5MQF=RF}0>q0$_S5Kn$^yeaJ>}<|_9-aG9 z0vDHGq4{?k*y^(J5B61BKC-m?2gi1-qtl}}NE z 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 diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg index 1f02696..516f23a 100644 --- a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg +++ b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg @@ -1,31 +1,31 @@ -Selecting top level module RAM2GS -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work. -Running optimization stage 1 on VHI ....... -Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work. -Running optimization stage 1 on VLO ....... -Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work. -Running optimization stage 1 on EFB ....... -Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work. -Running optimization stage 1 on REFB ....... -Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 92MB peak: 92MB) -@N: CG364 :"D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work. -Running optimization stage 1 on RAM2GS ....... -Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 94MB peak: 94MB) -Running optimization stage 2 on RAM2GS ....... -Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on REFB ....... -Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on EFB ....... -Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on VLO ....... -Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) -Running optimization stage 2 on VHI ....... -Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 95MB peak: 96MB) - -For a summary of runtime and memory usage per design unit, please see file: -========================================================== -@L: D:\OneDrive\Documents\GitHub\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv - +Selecting top level module RAM2GS +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1120:7:1120:9|Synthesizing module VHI in library work. +Running optimization stage 1 on VHI ....... +Finished optimization stage 1 on VHI (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1124:7:1124:9|Synthesizing module VLO in library work. +Running optimization stage 1 on VLO ....... +Finished optimization stage 1 on VLO (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"C:\lscc\diamond\3.12\synpbase\lib\lucent\machxo2.v":1800:7:1800:9|Synthesizing module EFB in library work. +Running optimization stage 1 on EFB ....... +Finished optimization stage 1 on EFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\REFB.v":8:7:8:10|Synthesizing module REFB in library work. +Running optimization stage 1 on REFB ....... +Finished optimization stage 1 on REFB (CPU Time 0h:00m:00s, Memory Used current: 99MB peak: 99MB) +@N: CG364 :"Y:\Repos\RAM2GS\CPLD\RAM2GS-LCMXO2.v":1:7:1:12|Synthesizing module RAM2GS in library work. +Running optimization stage 1 on RAM2GS ....... +Finished optimization stage 1 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 101MB peak: 101MB) +Running optimization stage 2 on RAM2GS ....... +Finished optimization stage 2 on RAM2GS (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on REFB ....... +Finished optimization stage 2 on REFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on EFB ....... +Finished optimization stage 2 on EFB (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on VLO ....... +Finished optimization stage 2 on VLO (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) +Running optimization stage 2 on VHI ....... +Finished optimization stage 2 on VHI (CPU Time 0h:00m:00s, Memory Used current: 102MB peak: 102MB) + +For a summary of runtime and memory usage per design unit, please see file: +========================================================== +@L: Y:\Repos\RAM2GS\CPLD\LCMXO2-640HC\impl1\synwork\layer0.rt.csv + diff --git a/CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg.db b/CPLD/LCMXO2-640HC/impl1/synwork/layer0.tlg.db index 4c6c160b1f0aff146ca6d6b6a454c671081b4fee..b09d515c93a7beacefad81d214c37a74c712778c 100644 GIT binary patch delta 110 zcmZp0XmHrTCcv|lfxnTTiLaSYn0M*M!pXd1Ijn5rxyhnT&hEx$CQ6Z3F+r&X`Nfl$ v%7#g3spPS+iI>J>NNUPOFlnhwZkDTM(Nd{pn%pYqG}%qw5+v3rUkjuFSdSf4 delta 154 zcmZp0XmHrTCcsn4z~9Kv#MjLGm$!0bVLGo)BO@!jc%x{tD3i0hv6+dIi&cz&UaCt` zW?5>COMY@`Zfaghag2LriAQPDDt0CdXtt=j4~Bz%|Oq{0Ay9=U`zd#HK(? zPJ!dU6FVzIBP-)%J~qH%6M)8dag}jVPlP~eMFe*+C=R41+JXxLpt_TMo zI|Kg_{tkX0ejdIvd=vQm_}DiqD!k`qcV%Z~Xk=xXEGTEgm2x-V$bpT8p%%o|oZKMC z&ysStVAtjea@CBiU-;kgzt}9GaEV`zg@u`c@jnYQm}CNzjLht8%nTsq4Vw%;%k#3a TFfns7va>KUb1 - + diff --git a/CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf b/CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf deleted file mode 100644 index 4244ff9..0000000 --- a/CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf +++ /dev/null @@ -1,137 +0,0 @@ -BLOCK RESETPATHS ; -BLOCK ASYNCPATHS ; -IOBUF ALLPORTS PULLMODE=UP IO_TYPE=LVCMOS33 ; -IOBUF PORT "CROW[0]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=FAST ; -IOBUF PORT "CROW[1]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "PHI2" PULLMODE=DOWN IO_TYPE=LVCMOS33 ; -IOBUF PORT "RCLK" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "nCCAS" PULLMODE=UP IO_TYPE=LVCMOS33 ; -IOBUF PORT "nCRAS" PULLMODE=UP IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[0]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[1]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[2]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[3]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[4]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[5]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[6]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Din[7]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[0]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[1]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[2]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[3]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[4]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[5]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[6]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[7]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[8]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "MAin[9]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "UFMSDO" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "nFWE" PULLMODE=KEEPER IO_TYPE=LVCMOS33 ; -IOBUF PORT "Dout[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "Dout[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=FAST DRIVE=4 ; -IOBUF PORT "LED" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=14 OPENDRAIN=OFF ; -IOBUF PORT "RA[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RA[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RBA[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RBA[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RCKE" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RDQMH" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RDQML" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "UFMCLK" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "UFMSDI" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRCAS" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRCS" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRRAS" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nRWE" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "nUFMCS" PULLMODE=NONE IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[0]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[1]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[2]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[3]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[4]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[5]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[6]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -IOBUF PORT "RD[7]" PULLMODE=KEEPER IO_TYPE=LVCMOS33 SLEWRATE=SLOW DRIVE=4 ; -LOCATE COMP "Dout[0]" SITE "1" ; -LOCATE COMP "Dout[6]" SITE "2" ; -LOCATE COMP "Dout[7]" SITE "3" ; -LOCATE COMP "Dout[4]" SITE "4" ; -LOCATE COMP "Dout[5]" SITE "5" ; -LOCATE COMP "Dout[1]" SITE "7" ; -LOCATE COMP "Dout[2]" SITE "8" ; -LOCATE COMP "Dout[3]" SITE "6" ; -LOCATE COMP "LED" SITE "57" ; -LOCATE COMP "RA[0]" SITE "98" ; -LOCATE COMP "RA[1]" SITE "89" ; -LOCATE COMP "RA[2]" SITE "94" ; -LOCATE COMP "RA[3]" SITE "97" ; -LOCATE COMP "RA[4]" SITE "99" ; -LOCATE COMP "RA[5]" SITE "95" ; -LOCATE COMP "RA[6]" SITE "91" ; -LOCATE COMP "RA[7]" SITE "100" ; -LOCATE COMP "RA[8]" SITE "96" ; -LOCATE COMP "RA[9]" SITE "85" ; -LOCATE COMP "RA[10]" SITE "87" ; -LOCATE COMP "RA[11]" SITE "79" ; -LOCATE COMP "RBA[0]" SITE "63" ; -LOCATE COMP "RBA[1]" SITE "83" ; -LOCATE COMP "RCKE" SITE "82" ; -LOCATE COMP "RDQMH" SITE "76" ; -LOCATE COMP "RDQML" SITE "61" ; -LOCATE COMP "UFMCLK" SITE "58" ; -LOCATE COMP "nUFMCS" SITE "53" ; -LOCATE COMP "nRWE" SITE "72" ; -LOCATE COMP "UFMSDI" SITE "56" ; -LOCATE COMP "nRCS" SITE "77" ; -LOCATE COMP "nRRAS" SITE "73" ; -LOCATE COMP "nRCAS" SITE "78" ; -LOCATE COMP "CROW[0]" SITE "32" ; -LOCATE COMP "CROW[1]" SITE "34" ; -LOCATE COMP "PHI2" SITE "39" ; -LOCATE COMP "nCRAS" SITE "43" ; -LOCATE COMP "RCLK" SITE "86" ; -LOCATE COMP "nCCAS" SITE "27" ; -LOCATE COMP "Din[0]" SITE "21" ; -LOCATE COMP "Din[1]" SITE "15" ; -LOCATE COMP "Din[2]" SITE "14" ; -LOCATE COMP "Din[3]" SITE "16" ; -LOCATE COMP "Din[4]" SITE "18" ; -LOCATE COMP "Din[5]" SITE "17" ; -LOCATE COMP "Din[6]" SITE "20" ; -LOCATE COMP "Din[7]" SITE "19" ; -LOCATE COMP "MAin[0]" SITE "23" ; -LOCATE COMP "MAin[1]" SITE "38" ; -LOCATE COMP "MAin[2]" SITE "37" ; -LOCATE COMP "MAin[3]" SITE "47" ; -LOCATE COMP "MAin[4]" SITE "46" ; -LOCATE COMP "MAin[5]" SITE "45" ; -LOCATE COMP "MAin[6]" SITE "49" ; -LOCATE COMP "MAin[7]" SITE "44" ; -LOCATE COMP "MAin[8]" SITE "50" ; -LOCATE COMP "MAin[9]" SITE "51" ; -LOCATE COMP "UFMSDO" SITE "55" ; -LOCATE COMP "nFWE" SITE "22" ; -LOCATE COMP "RD[0]" SITE "64" ; -LOCATE COMP "RD[1]" SITE "65" ; -LOCATE COMP "RD[2]" SITE "66" ; -LOCATE COMP "RD[3]" SITE "67" ; -LOCATE COMP "RD[4]" SITE "68" ; -LOCATE COMP "RD[5]" SITE "69" ; -LOCATE COMP "RD[6]" SITE "70" ; -LOCATE COMP "RD[7]" SITE "71" ; diff --git a/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcl.html b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcl.html index a187e77..9ccc776 100644 --- a/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcl.html +++ b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcl.html @@ -72,6 +72,24 @@ prj_run Export -impl impl1 +pn230819063022 +#Start recording tcl command: 8/19/2023 06:30:15 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO256C; Project name: RAM2GS_LCMXO256C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf" +#Stop recording: 8/19/2023 06:30:22 + + + +pn230819205700 +#Start recording tcl command: 8/19/2023 20:52:34 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO256C; Project name: RAM2GS_LCMXO256C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf" +prj_run Export -impl impl1 -forceAll +prj_project close +#Stop recording: 8/19/2023 20:57:00 + + +


    diff --git a/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819063022.tcr b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819063022.tcr new file mode 100644 index 0000000..80c3ed1 --- /dev/null +++ b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819063022.tcr @@ -0,0 +1,4 @@ +#Start recording tcl command: 8/19/2023 06:30:15 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO256C; Project name: RAM2GS_LCMXO256C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf" +#Stop recording: 8/19/2023 06:30:22 diff --git a/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819205700.tcr b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819205700.tcr new file mode 100644 index 0000000..b379f81 --- /dev/null +++ b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230819205700.tcr @@ -0,0 +1,6 @@ +#Start recording tcl command: 8/19/2023 20:52:34 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO256C; Project name: RAM2GS_LCMXO256C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf" +prj_run Export -impl impl1 -forceAll +prj_project close +#Stop recording: 8/19/2023 20:57:00 diff --git a/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230820055550.tcr b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230820055550.tcr new file mode 100644 index 0000000..5ea0e9f --- /dev/null +++ b/CPLD/LCMXO256C/RAM2GS_LCMXO256C_tcr.dir/pn230820055550.tcr @@ -0,0 +1,7 @@ +#Start recording tcl command: 8/20/2023 05:55:38 +#Project Location: Y:/Repos/RAM2GS/CPLD/LCMXO256C; Project name: RAM2GS_LCMXO256C +prj_project open "Y:/Repos/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.ldf" +prj_run Export -impl impl1 -task Bitgen +prj_run Export -impl impl1 -task IBIS +prj_project close +#Stop recording: 8/20/2023 05:55:50 diff --git a/CPLD/LCMXO256C/impl1/.build_status b/CPLD/LCMXO256C/impl1/.build_status index a122c3d..5615e13 100644 --- a/CPLD/LCMXO256C/impl1/.build_status +++ b/CPLD/LCMXO256C/impl1/.build_status @@ -2,56 +2,56 @@ - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - + + - - + + - - + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/CPLD/LCMXO256C/impl1/IBIS/RAM2GS_LCMXO256C_im~.ibs b/CPLD/LCMXO256C/impl1/IBIS/RAM2GS_LCMXO256C_im~.ibs index 3418f0a..992c181 100644 --- a/CPLD/LCMXO256C/impl1/IBIS/RAM2GS_LCMXO256C_im~.ibs +++ b/CPLD/LCMXO256C/impl1/IBIS/RAM2GS_LCMXO256C_im~.ibs @@ -1,3373 +1,3373 @@ -|************************************************************************ -| IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 -| Generate date: Wed Aug 16 04:50:48 2023 -|************************************************************************ -| IBIS File machxo.ibs -| LibisGen v2.0.1.0, 02/25/2008, Lattice Semiconductor Corporation -| Modified by LibisMaker v2.0.1.0, 02/25/2008, Lattice Semiconductor -| North Carolina State University, ERL, 2006 -|************************************************************************ -[IBIS ver] 3.2 -[File Name] RAM2GS_LCMXO256C_im~.ibs -[File Rev] 2.2 -[Date] Mon Sep 28 10:44:10 EDT 2009 -[Source] Lattice Semiconductor EE12 Process -[Notes] "Preliminary Version" - Lattice Semiconductor has worked hard to ensure the - models below are accurate and complete. However, the - data below was generated using simulation of the - input/output model files for the silicon. Therefore, - the data below is for reference and initial design - purposes only. -| - The data below is correlated to Spice models. - For questions regarding this data please contact - us at www.latticesemi.com. -| - Lattice Semiconductor grants permission to use this - data for use in printed circuit design using this - Lattice programmable logic device. Other use of this - code, including the selling or duplication of any - portion is strictly prohibited. -| -| NAMING CONVENTION -| - The IBIS [Model] header is limited by the specification to a - total of characters. With such a set of characters available - for naming models it becomes important to attempt to - meaningfully encode the IO standards so they fit within the - twenty character limit. It would seem that twenty characters - would provide room enough for describing IO's. However, the - PLD IO structure continues to grow more and more complex. The - complexity is making the twenty characters insuffiently - descriptive. In order to overcome this issue the naming - convention described below is implemented to resolve the issue. -| -The twenty character space is managed as follows: - bbbvvvsdddprugtcoixx -| - b = standard - v = voltage (x.xx V) - s = slew code - d = drive (xx.x ma) - p = pullup code - r = series resistance code - u = terminate to vcc code - g = terminate to gnd code - t = terminate to vtt code - c = common mode termination mode - o = diff resistor code - i = diff resistor current code - x = reserved -| -| - standard -| - LVCMOS lvc - lvcmosd lvd - LVDSE lve - LVTTL lvt - lvttld ltd - PCI pci - pcix pcx - AGP1x ag1 - agp2x ag2 - sstl_I ss1 - sstl_II ss2 - sstld_I s1d - sstld_II s2d - CTT ctt - hstl_i hs1 - hstl_ii hs2 - hstl_iii hs3 - hstl_iv hs4 - hstld_i h1d - hstld_ii h2d - gtl gtl - gtlplus gtp - lvds lvs - blvds blv - mlvds mlv - lvpecl lvp - cml cml - hypt hyp - rsds rsd - vref1 vr1 - vref2 vr2 - ref_res rer -| -| - slew - na a - fast f - slow s -| - pullmode - off a - pullup b - pulldown c - bushold d - pciclamp e - up_pciclamp f - down_pciclamp g - keeper_pciclamp h - schmitt i - up_schmitt j - down_schmitt k - keeper_schmitt l - up_pciclamp_schmitt m - down_pciclamp_schmitt n - keeper_pciclamp_schmitt o - pciclamp_schmitt p -| - impedence - off a - 25 b - 33 c - 50 d - 100 e -| - termVCC - off a - 50 b - 100 c - 120 d -| - termGND - off a - 50 b - 100 c - 120 d -| - termVTT - off a - 60 b - 75 c - 120 d - 150 e - 210 f -| - VCMT - off a - VCMT b - VTT c - DDR-2 d -| - differential resistor - off a - 120 b - 150 c - 220 d - 420 e -| - differential current - NA a - 2 b - 3.5 c - 4 d - 6 e -| - Reserved IO type - in input only - ou output - io I/O - od Open drain - on Inverting differential I/O - (signal name only) - op Non-Inverting differential I/O - (signal name only) -| - All the IO models are generated with pull mode set to UP. -| - Lattice Semiconductor Corporation - 5555 NE Moore Court - Hillsboro, OR 97214 - U.S.A -| - TEL: 1-800-Lattice (USA and Canada) - 408-826-6000 (other locations) -| - web: http://www.latticesemi.com/ - email: techsupport@latticesemi.com -| -| -| -[Disclaimer] This IBIS source code is intended as a design reference - which illustrates how the Lattice Semiconductor device operates. - It is the user's responsibility to verify their design for - consistency and functionality through the use of formal - verification methods. Lattice Semiconductor provides no warranty - regarding the use or functionality of this data. -| -[Copyright] Copyright 2009 by Lattice Semiconductor Corporation -| -| -|************************************************************************ -| Component XO -|************************************************************************ -| -[Component] MXO256_MXO640_MXO1K_MXO2K -[Manufacturer] Lattice Semiconductor Corp. -[Package] -|TQFP100 -| variable typ min max -R_pkg 70.5m 54.0m 87.0m -L_pkg 4.57nH 4.27nH 4.87nH -C_pkg .52pF .47pF .57pF -| -[Pin] signal_name model_name R_pin L_pin C_pin -32 CROW[0] lvc330fxxxaaaaaaaain -34 CROW[1] lvc330fxxxaaaaaaaain -21 Din[0] lvc330fxxxaaaaaaaain -15 Din[1] lvc330fxxxaaaaaaaain -14 Din[2] lvc330fxxxaaaaaaaain -16 Din[3] lvc330fxxxaaaaaaaain -18 Din[4] lvc330fxxxaaaaaaaain -17 Din[5] lvc330fxxxaaaaaaaain -20 Din[6] lvc330fxxxaaaaaaaain -19 Din[7] lvc330fxxxaaaaaaaain -1 Dout[0] lvc330f040aaaaaaaaio -7 Dout[1] lvc330f040aaaaaaaaio -8 Dout[2] lvc330f040aaaaaaaaio -6 Dout[3] lvc330f040aaaaaaaaio -4 Dout[4] lvc330f040aaaaaaaaio -5 Dout[5] lvc330f040aaaaaaaaio -2 Dout[6] lvc330f040aaaaaaaaio -3 Dout[7] lvc330f040aaaaaaaaio -57 LED lvc330s140aaaaaaaaio -23 MAin[0] lvc330fxxxaaaaaaaain -38 MAin[1] lvc330fxxxaaaaaaaain -37 MAin[2] lvc330fxxxaaaaaaaain -47 MAin[3] lvc330fxxxaaaaaaaain -46 MAin[4] lvc330fxxxaaaaaaaain -45 MAin[5] lvc330fxxxaaaaaaaain -49 MAin[6] lvc330fxxxaaaaaaaain -44 MAin[7] lvc330fxxxaaaaaaaain -50 MAin[8] lvc330fxxxaaaaaaaain -51 MAin[9] lvc330fxxxaaaaaaaain -39 PHI2 lvc330fxxxcaaaaaaain -98 RA[0] lvc330s040aaaaaaaaio -87 RA[10] lvc330s040aaaaaaaaio -79 RA[11] lvc330s040aaaaaaaaio -89 RA[1] lvc330s040aaaaaaaaio -94 RA[2] lvc330s040aaaaaaaaio -97 RA[3] lvc330s040aaaaaaaaio -99 RA[4] lvc330s040aaaaaaaaio -95 RA[5] lvc330s040aaaaaaaaio -91 RA[6] lvc330s040aaaaaaaaio -100 RA[7] lvc330s040aaaaaaaaio -96 RA[8] lvc330s040aaaaaaaaio -85 RA[9] lvc330s040aaaaaaaaio -63 RBA[0] lvc330s040aaaaaaaaio -83 RBA[1] lvc330s040aaaaaaaaio -82 RCKE lvc330s040aaaaaaaaio -86 RCLK lvc330fxxxaaaaaaaain -76 RDQMH lvc330s040aaaaaaaaio -61 RDQML lvc330s040aaaaaaaaio -64 RD[0] lvc330s040aaaaaaaaio -65 RD[1] lvc330s040aaaaaaaaio -66 RD[2] lvc330s040aaaaaaaaio -67 RD[3] lvc330s040aaaaaaaaio -68 RD[4] lvc330s040aaaaaaaaio -69 RD[5] lvc330s040aaaaaaaaio -70 RD[6] lvc330s040aaaaaaaaio -71 RD[7] lvc330s040aaaaaaaaio -58 UFMCLK lvc330s040aaaaaaaaio -56 UFMSDI lvc330s040aaaaaaaaio -55 UFMSDO lvc330fxxxaaaaaaaain -27 nCCAS lvc330fxxxbaaaaaaain -43 nCRAS lvc330fxxxbaaaaaaain -22 nFWE lvc330fxxxaaaaaaaain -78 nRCAS lvc330s040aaaaaaaaio -77 nRCS lvc330s040aaaaaaaaio -73 nRRAS lvc330s040aaaaaaaaio -72 nRWE lvc330s040aaaaaaaaio -53 nUFMCS lvc330s040aaaaaaaaio -|************************************************************************ -[Model] lvc330f040aaaaaaaaio -Model_type I/O -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -Vmeas = 1.650000V -Cref = 0.0F -Rref = 1.000000M -Vref = 0.0V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[Pulldown] -|Voltage I(typ) I(min) I(max) -| - -3.30 -16.264620mA -12.195876mA -17.211942mA - -3.20 -16.206900mA -12.152073mA -17.150026mA - -3.10 -16.149180mA -12.108270mA -17.088110mA - -3.00 -16.091460mA -12.064467mA -17.026194mA - -2.90 -16.033740mA -12.020664mA -16.964278mA - -2.80 -15.976020mA -11.976862mA -16.902362mA - -2.70 -15.918300mA -11.933059mA -16.840446mA - -2.60 -15.860580mA -11.889256mA -16.778530mA - -2.50 -15.802860mA -11.845453mA -16.716614mA - -2.40 -15.745140mA -11.801650mA -16.654698mA - -2.30 -15.687420mA -11.757848mA -16.592782mA - -2.20 -15.629700mA -11.714045mA -16.530866mA - -2.10 -15.571980mA -11.670242mA -16.468950mA - -2.00 -15.514260mA -11.626439mA -16.407034mA - -1.90 -15.456540mA -11.582636mA -16.345118mA - -1.80 -15.398820mA -11.538834mA -16.283202mA - -1.70 -15.341100mA -11.495031mA -16.221286mA - -1.60 -15.283380mA -11.451228mA -16.159370mA - -1.50 -15.225660mA -11.407425mA -16.097454mA - -1.40 -15.167940mA -11.363622mA -16.035538mA - -1.30 -15.110220mA -11.319820mA -15.973622mA - -1.20 -15.052500mA -11.276017mA -15.911706mA - -1.10 -14.994780mA -11.232214mA -15.849790mA - -1.00 -14.937060mA -11.188411mA -15.787874mA - -0.90 -14.879340mA -11.144608mA -15.725958mA - -0.80 -14.821620mA -11.100806mA -15.634000mA - -0.70 -14.763900mA -11.057003mA -15.389000mA - -0.60 -14.121200mA -11.013200mA -15.085900mA - -0.50 -12.312470mA -10.252860mA -13.892750mA - -0.40 -9.922051mA -8.353886mA -11.397898mA - -0.30 -7.415846mA -6.279285mA -8.571802mA - -0.20 -4.904405mA -4.183585mA -5.687248mA - -0.10 -2.422592mA -2.084866mA -2.809391mA - 0.00 9.270000nA 8.640000nA 10.950000nA - 0.10 2.215985mA 1.960397mA 2.507890mA - 0.20 4.086375mA 3.683686mA 4.498680mA - 0.30 5.594166mA 5.150675mA 5.952471mA - 0.40 6.738256mA 6.352364mA 6.929962mA - 0.50 7.557146mA 7.289853mA 7.572152mA - 0.60 8.124436mA 7.983242mA 8.013343mA - 0.70 8.511126mA 8.476831mA 8.337834mA - 0.80 8.778316mA 8.826620mA 8.591424mA - 0.90 8.972606mA 9.080609mA 8.798515mA - 1.00 9.121395mA 9.272098mA 8.969206mA - 1.10 9.240584mA 9.422087mA 9.101296mA - 1.20 9.339574mA 9.543476mA 9.202186mA - 1.30 9.424063mA 9.644765mA 9.285275mA - 1.40 9.498053mA 9.731354mA 9.357665mA - 1.50 9.564242mA 9.806743mA 9.423455mA - 1.60 9.625232mA 9.873832mA 9.485944mA - 1.70 9.684621mA 9.934821mA 9.548134mA - 1.80 9.747011mA 9.992810mA 9.610224mA - 1.90 9.814800mA 10.052999mA 9.670813mA - 2.00 9.885689mA 10.122988mA 9.728603mA - 2.10 9.955379mA 10.203977mA 9.783293mA - 2.20 10.021968mA 10.292966mA 9.835282mA - 2.30 10.083958mA 10.380954mA 9.884972mA - 2.40 10.141947mA 10.464943mA 9.932861mA - 2.50 10.196936mA 10.542932mA 9.979551mA - 2.60 10.249926mA 10.614921mA 10.025941mA - 2.70 10.300915mA 10.681910mA 10.071930mA - 2.80 10.350904mA 10.744899mA 10.118920mA - 2.90 10.400894mA 10.805888mA 10.167909mA - 3.00 10.451883mA 10.863877mA 10.218899mA - 3.10 10.504872mA 10.921864mA 10.273889mA - 3.20 10.559862mA 10.978747mA 10.332878mA - 3.30 10.618848mA 11.037379mA 10.397868mA - 3.40 10.682725mA 11.085335mA 10.469857mA - 3.50 10.751986mA 11.124616mA 10.550843mA - 3.60 10.804292mA 11.163898mA 10.640599mA - 3.70 10.840604mA 11.203179mA 10.738212mA - 3.80 10.876916mA 11.242461mA 10.773505mA - 3.90 10.913228mA 11.281743mA 10.808797mA - 4.00 10.949540mA 11.321024mA 10.844090mA - 4.10 10.985852mA 11.360306mA 10.879382mA - 4.20 11.022164mA 11.399587mA 10.914675mA - 4.30 11.058476mA 11.438869mA 10.949967mA - 4.40 11.094788mA 11.478151mA 10.985259mA - 4.50 11.131100mA 11.517432mA 11.020552mA - 4.60 11.167412mA 11.556714mA 11.055844mA - 4.70 11.203724mA 11.595995mA 11.091137mA - 4.80 11.240036mA 11.635277mA 11.126429mA - 4.90 11.276348mA 11.674559mA 11.161721mA - 5.00 11.312660mA 11.713840mA 11.197014mA - 5.10 11.348972mA 11.753122mA 11.232306mA - 5.20 11.385284mA 11.792403mA 11.267599mA - 5.30 11.421596mA 11.831685mA 11.302891mA - 5.40 11.457908mA 11.870967mA 11.338183mA - 5.50 11.494220mA 11.910248mA 11.373476mA - 5.60 11.530532mA 11.949530mA 11.408768mA - 5.70 11.566844mA 11.988811mA 11.444061mA - 5.80 11.603156mA 12.028093mA 11.479353mA - 5.90 11.639468mA 12.067375mA 11.514645mA - 6.00 11.675780mA 12.106656mA 11.549938mA - 6.10 11.712092mA 12.145938mA 11.585230mA - 6.20 11.748404mA 12.185219mA 11.620523mA - 6.30 11.784716mA 12.224501mA 11.655815mA - 6.40 11.821028mA 12.263783mA 11.691107mA - 6.50 11.857340mA 12.303064mA 11.726400mA - 6.60 11.893652mA 12.342346mA 11.761692mA -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 6.260163mA 5.384933mA 7.315403mA - -3.20 6.239699mA 5.366401mA 7.291487mA - -3.10 6.219236mA 5.347870mA 7.267570mA - -3.00 6.198773mA 5.329339mA 7.243653mA - -2.90 6.178310mA 5.310808mA 7.219736mA - -2.80 6.157847mA 5.292277mA 7.195819mA - -2.70 6.137383mA 5.273745mA 7.171903mA - -2.60 6.116920mA 5.255214mA 7.147986mA - -2.50 6.096457mA 5.236683mA 7.124069mA - -2.40 6.075994mA 5.218152mA 7.100152mA - -2.30 6.055531mA 5.199621mA 7.076235mA - -2.20 6.035067mA 5.181089mA 7.052319mA - -2.10 6.014604mA 5.162558mA 7.028402mA - -2.00 5.994141mA 5.144027mA 7.004485mA - -1.90 5.973678mA 5.125496mA 6.980568mA - -1.80 5.953215mA 5.106965mA 6.956651mA - -1.70 5.932751mA 5.088433mA 6.932735mA - -1.60 5.912288mA 5.069902mA 6.908818mA - -1.50 5.891825mA 5.051371mA 6.884901mA - -1.40 5.871362mA 5.032840mA 6.860984mA - -1.30 5.850899mA 5.014309mA 6.837067mA - -1.20 5.830435mA 4.995777mA 6.813151mA - -1.10 5.809972mA 4.977246mA 6.789234mA - -1.00 5.789509mA 4.958715mA 6.765317mA - -0.90 5.769046mA 4.940184mA 6.741400mA - -0.80 5.748583mA 4.921653mA 6.717483mA - -0.70 5.728119mA 4.903121mA 6.693567mA - -0.60 5.707656mA 4.884590mA 6.669650mA - -0.50 5.687193mA 4.866059mA 6.645733mA - -0.40 5.666730mA 4.847528mA 6.621816mA - -0.30 5.646267mA 4.828997mA 6.597899mA - -0.20 4.435786mA 3.802115mA 5.174820mA - -0.10 2.131925mA 1.838548mA 2.475669mA - 0.00 -6.170000nA -5.460000nA -7.060000nA - 0.10 -1.893038mA -1.673728mA -2.145840mA - 0.20 -3.512428mA -3.164516mA -3.900829mA - 0.30 -4.854717mA -4.471005mA -5.257719mA - 0.40 -5.916606mA -5.591894mA -6.209108mA - 0.50 -6.694696mA -6.525883mA -6.765898mA - 0.60 -7.186085mA -7.271372mA -7.127487mA - 0.70 -7.501974mA -7.827161mA -7.398777mA - 0.80 -7.747264mA -8.192150mA -7.614967mA - 0.90 -7.946053mA -8.442739mA -7.794856mA - 1.00 -8.112642mA -8.647928mA -7.949846mA - 1.10 -8.255932mA -8.820317mA -8.086935mA - 1.20 -8.381921mA -8.968206mA -8.210725mA - 1.30 -8.494611mA -9.097295mA -8.324315mA - 1.40 -8.596900mA -9.211784mA -8.430004mA - 1.50 -8.691089mA -9.314673mA -8.529494mA - 1.60 -8.778479mA -9.407962mA -8.623884mA - 1.70 -8.860368mA -9.493551mA -8.714073mA - 1.80 -8.937858mA -9.572640mA -8.800963mA - 1.90 -9.011447mA -9.646329mA -8.884952mA - 2.00 -9.081837mA -9.715418mA -8.966642mA - 2.10 -9.149526mA -9.780507mA -9.046332mA - 2.20 -9.214816mA -9.842296mA -9.124421mA - 2.30 -9.278305mA -9.901185mA -9.201211mA - 2.40 -9.340094mA -9.957574mA -9.277001mA - 2.50 -9.400784mA -10.011863mA -9.352391mA - 2.60 -9.460574mA -10.063852mA -9.427582mA - 2.70 -9.519964mA -10.115841mA -9.503173mA - 2.80 -9.579454mA -10.165830mA -9.579563mA - 2.90 -9.639644mA -10.215819mA -9.657654mA - 3.00 -9.701034mA -10.264808mA -9.737845mA - 3.10 -9.764525mA -10.315796mA -9.821135mA - 3.20 -9.830715mA -10.367780mA -9.908326mA - 3.30 -9.900606mA -10.421706mA -10.000817mA - 3.40 -9.975092mA -10.478956mA -10.098808mA - 3.50 -10.055705mA -10.535873mA -10.202798mA - 3.60 -10.141346mA -10.578599mA -10.316786mA - 3.70 -10.228551mA -10.620789mA -10.438679mA - 3.80 -10.281620mA -10.662980mA -10.570555mA - 3.90 -10.322662mA -10.705170mA -10.682977mA - 4.00 -10.363704mA -10.747360mA -10.725640mA - 4.10 -10.404746mA -10.789550mA -10.768303mA - 4.20 -10.445787mA -10.831741mA -10.810966mA - 4.30 -10.486829mA -10.873931mA -10.853629mA - 4.40 -10.527871mA -10.916121mA -10.896292mA - 4.50 -10.568913mA -10.958311mA -10.938955mA - 4.60 -10.609955mA -11.000502mA -10.981618mA - 4.70 -10.650997mA -11.042692mA -11.024281mA - 4.80 -10.692039mA -11.084882mA -11.066944mA - 4.90 -10.733081mA -11.127072mA -11.109607mA - 5.00 -10.774122mA -11.169262mA -11.152270mA - 5.10 -10.815164mA -11.211453mA -11.194933mA - 5.20 -10.856206mA -11.253643mA -11.237597mA - 5.30 -10.897248mA -11.295833mA -11.280260mA - 5.40 -10.938290mA -11.338023mA -11.322923mA - 5.50 -10.979332mA -11.380214mA -11.365586mA - 5.60 -11.020374mA -11.422404mA -11.408249mA - 5.70 -11.061416mA -11.464594mA -11.450912mA - 5.80 -11.102458mA -11.506784mA -11.493575mA - 5.90 -11.143499mA -11.548975mA -11.536238mA - 6.00 -11.184541mA -11.591165mA -11.578901mA - 6.10 -11.225583mA -11.633355mA -11.621564mA - 6.20 -11.266625mA -11.675545mA -11.664227mA - 6.30 -11.307667mA -11.717736mA -11.706890mA - 6.40 -11.348709mA -11.759926mA -11.749553mA - 6.50 -11.389751mA -11.802116mA -11.792216mA - 6.55 -11.410272mA -11.823211mA -11.813548mA -| -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.204000pA 1.415400nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.065000nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270300uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -[Ramp] -| variable typ min max -dV/dt_r 0.287529/0.242724n 0.301503/0.328867n 0.291718/0.195168n -dV/dt_f 0.313320/0.253363n 0.309840/0.389332n 0.311820/0.168025n -R_load = 50.000000 -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 2.782900V 2.609000V 2.960100V -0.2020ns 2.783000V 2.608900V 2.962600V -0.4040ns 2.787900V 2.610900V 3.090500V -0.6061ns 3.029800V 2.611800V 3.431300V -0.8081ns 3.255100V 2.678900V 3.466400V -1.0101ns 3.294700V 2.982700V 3.469200V -1.2121ns 3.298300V 3.109600V 3.469600V -1.4141ns 3.299300V 3.123400V 3.469800V -1.6162ns 3.299600V 3.137700V 3.469900V -1.8182ns 3.299700V 3.138900V 3.469900V -2.0202ns 3.299800V 3.139300V 3.469900V -2.2222ns 3.299900V 3.139600V 3.469900V -2.4242ns 3.299900V 3.139700V 3.469200V -2.6263ns 3.299900V 3.139700V 3.471700V -2.8283ns 3.299900V 3.139800V 3.470600V -3.0303ns 3.299900V 3.139800V 3.470200V -3.2323ns 3.299900V 3.139900V 3.470100V -3.4343ns 3.302400V 3.139900V 3.470000V -3.6364ns 3.301400V 3.139900V 3.470000V -3.8384ns 3.300600V 3.139900V 3.470000V -4.0404ns 3.300200V 3.139900V 3.470000V -4.2424ns 3.300000V 3.139900V 3.470000V -4.4444ns 3.300000V 3.139900V 3.470000V -4.6465ns 3.300000V 3.139900V 3.469900V -4.8485ns 3.300000V 3.140000V 3.469900V -5.0505ns 3.300000V 3.141300V 3.469900V -5.2525ns 3.300000V 3.142100V 3.469900V -5.4545ns 3.299900V 3.140900V 3.469900V -5.6566ns 3.299900V 3.140500V 3.469900V -5.8586ns 3.299900V 3.140200V 3.469900V -6.0606ns 3.299900V 3.140100V 3.469900V -6.2626ns 3.299900V 3.140000V 3.469900V -6.4646ns 3.299900V 3.140000V 3.469900V -6.6667ns 3.299900V 3.140000V 3.470000V -6.8687ns 3.299900V 3.140000V 3.470000V -7.0707ns 3.299900V 3.140000V 3.470000V -7.2727ns 3.299900V 3.139900V 3.470000V -7.4747ns 3.299900V 3.139900V 3.470000V -7.6768ns 3.299900V 3.139900V 3.470000V -7.8788ns 3.299900V 3.139900V 3.470000V -8.0808ns 3.299900V 3.139900V 3.470000V -8.2828ns 3.299900V 3.139900V 3.470000V -8.4848ns 3.299900V 3.139800V 3.470000V -8.6869ns 3.299900V 3.139800V 3.470000V -8.8889ns 3.299900V 3.139900V 3.470000V -9.0909ns 3.299900V 3.139900V 3.470000V -9.2929ns 3.299900V 3.139900V 3.470000V -9.4949ns 3.300000V 3.139900V 3.470000V -9.6970ns 3.300000V 3.139900V 3.470000V -9.8990ns 3.300000V 3.139900V 3.470000V -10.1010ns 3.300000V 3.139900V 3.470000V -10.3030ns 3.300000V 3.139900V 3.470000V -10.5051ns 3.300000V 3.139900V 3.470000V -10.7071ns 3.300000V 3.139900V 3.470000V -10.9091ns 3.300000V 3.139900V 3.470000V -11.1111ns 3.300000V 3.139900V 3.470000V -11.3131ns 3.300000V 3.139900V 3.470000V -11.5152ns 3.300000V 3.139900V 3.470000V -11.7172ns 3.300000V 3.139900V 3.470000V -11.9192ns 3.300000V 3.139900V 3.470000V -12.1212ns 3.300000V 3.139900V 3.470000V -12.3232ns 3.300000V 3.139900V 3.470000V -12.5253ns 3.300000V 3.139900V 3.470000V -12.7273ns 3.300000V 3.139900V 3.470000V -12.9293ns 3.300000V 3.139900V 3.470000V -13.1313ns 3.300000V 3.140000V 3.470000V -13.3333ns 3.300000V 3.140000V 3.470000V -13.5354ns 3.300000V 3.140000V 3.470000V -13.7374ns 3.300000V 3.140000V 3.470000V -13.9394ns 3.300000V 3.140000V 3.470000V -14.1414ns 3.300000V 3.140000V 3.470000V -14.3434ns 3.300000V 3.140000V 3.470000V -14.5455ns 3.300000V 3.140000V 3.470000V -14.7475ns 3.300000V 3.140000V 3.470000V -14.9495ns 3.300000V 3.140000V 3.470000V -15.1515ns 3.300000V 3.140000V 3.470000V -15.3535ns 3.300000V 3.140000V 3.470000V -15.5556ns 3.300000V 3.140000V 3.470000V -15.7576ns 3.300000V 3.140000V 3.470000V -15.9596ns 3.300000V 3.140000V 3.470000V -16.1616ns 3.300000V 3.140000V 3.470000V -16.3636ns 3.300000V 3.140000V 3.470000V -16.5657ns 3.300000V 3.140000V 3.470000V -16.7677ns 3.300000V 3.140000V 3.470000V -16.9697ns 3.300000V 3.140000V 3.470000V -17.1717ns 3.300000V 3.140000V 3.470000V -17.3737ns 3.300000V 3.140000V 3.470000V -17.5758ns 3.300000V 3.140000V 3.470000V -17.7778ns 3.300000V 3.140000V 3.470000V -17.9798ns 3.300000V 3.140000V 3.470000V -18.1818ns 3.300000V 3.140000V 3.470000V -18.3838ns 3.300000V 3.140000V 3.470000V -18.5859ns 3.300000V 3.140000V 3.470000V -18.7879ns 3.300000V 3.140000V 3.470000V -18.9899ns 3.300000V 3.140000V 3.470000V -19.1919ns 3.300000V 3.140000V 3.470000V -19.3939ns 3.300000V 3.140000V 3.470000V -19.5960ns 3.300000V 3.140000V 3.470000V -19.7980ns 3.300000V 3.140000V 3.470000V -20.0000ns 3.300000V 3.140000V 3.470000V -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 4.225900uV 4.920300uV 3.956100uV -0.2020ns -0.116150mV 2.502300uV -0.231550mV -0.4040ns -1.969300mV 5.640900uV 0.966840mV -0.6061ns 23.188000mV -0.508470mV 0.314560V -0.8081ns 0.256150V -5.285700mV 0.577600V -1.0101ns 0.498250V 54.786000mV 0.667290V -1.2121ns 0.599860V 0.232770V 0.689990V -1.4141ns 0.636760V 0.420560V 0.696020V -1.6162ns 0.647730V 0.550470V 0.696970V -1.8182ns 0.651730V 0.605400V 0.696980V -2.0202ns 0.652900V 0.628190V 0.696540V -2.2222ns 0.653040V 0.636320V 0.696120V -2.4242ns 0.653000V 0.639440V 0.698020V -2.6263ns 0.652920V 0.640980V 0.608850V -2.8283ns 0.652830V 0.641740V 0.523850V -3.0303ns 0.652750V 0.642070V 0.484440V -3.2323ns 0.652670V 0.642220V 0.464640V -3.4343ns 0.646540V 0.642370V 0.456500V -3.6364ns 0.546150V 0.642430V 0.451090V -3.8384ns 0.483220V 0.642470V 0.449010V -4.0404ns 0.451320V 0.642490V 0.447190V -4.2424ns 0.434720V 0.642510V 0.447190V -4.4444ns 0.427460V 0.642520V 0.447460V -4.6465ns 0.422730V 0.642530V 0.449720V -4.8485ns 0.420080V 0.642410V 0.452230V -5.0505ns 0.418790V 0.647910V 0.454820V -5.2525ns 0.418520V 0.569370V 0.457130V -5.4545ns 0.419000V 0.507240V 0.459260V -5.6566ns 0.420340V 0.472210V 0.461230V -5.8586ns 0.422900V 0.450470V 0.463090V -6.0606ns 0.425610V 0.440570V 0.464890V -6.2626ns 0.428790V 0.434240V 0.466650V -6.4646ns 0.432030V 0.430580V 0.468260V -6.6667ns 0.435070V 0.428580V 0.469780V -6.8687ns 0.437890V 0.427410V 0.471150V -7.0707ns 0.440590V 0.426660V 0.472420V -7.2727ns 0.443180V 0.426510V 0.473570V -7.4747ns 0.445620V 0.426790V 0.474650V -7.6768ns 0.447910V 0.427810V 0.475620V -7.8788ns 0.450050V 0.429350V 0.476520V -8.0808ns 0.452040V 0.431730V 0.477340V -8.2828ns 0.453900V 0.435000V 0.478100V -8.4848ns 0.455630V 0.438710V 0.478780V -8.6869ns 0.457250V 0.442390V 0.479420V -8.8889ns 0.458760V 0.446040V 0.479990V -9.0909ns 0.460180V 0.449510V 0.480530V -9.2929ns 0.461490V 0.452860V 0.481010V -9.4949ns 0.462720V 0.455990V 0.481460V -9.6970ns 0.463870V 0.458960V 0.481860V -9.8990ns 0.464940V 0.461730V 0.482240V -10.1010ns 0.466405V 0.465580V 0.482735V -10.3030ns 0.467740V 0.469110V 0.483180V -10.5051ns 0.468550V 0.471260V 0.483440V -10.7071ns 0.469310V 0.473300V 0.483680V -10.9091ns 0.470010V 0.475190V 0.483900V -11.1111ns 0.470670V 0.476990V 0.484100V -11.3131ns 0.471280V 0.478660V 0.484280V -11.5152ns 0.471860V 0.480240V 0.484450V -11.7172ns 0.472390V 0.481710V 0.484610V -11.9192ns 0.472890V 0.483100V 0.484740V -12.1212ns 0.473350V 0.484400V 0.484870V -12.3232ns 0.473780V 0.485630V 0.484990V -12.5253ns 0.474180V 0.486770V 0.485100V -12.7273ns 0.474560V 0.487850V 0.485200V -12.9293ns 0.474910V 0.488850V 0.485290V -13.1313ns 0.475230V 0.489800V 0.485370V -13.3333ns 0.475530V 0.490690V 0.485440V -13.5354ns 0.475810V 0.491530V 0.485510V -13.7374ns 0.476080V 0.492300V 0.485570V -13.9394ns 0.476320V 0.493040V 0.485630V -14.1414ns 0.476550V 0.493730V 0.485680V -14.3434ns 0.476760V 0.494380V 0.485730V -14.5455ns 0.476960V 0.494980V 0.485780V -14.7475ns 0.477140V 0.495550V 0.485810V -14.9495ns 0.477310V 0.496080V 0.485850V -15.1515ns 0.477470V 0.496580V 0.485880V -15.3535ns 0.477620V 0.497050V 0.485920V -15.5556ns 0.477760V 0.497490V 0.485940V -15.7576ns 0.477880V 0.497900V 0.485970V -15.9596ns 0.478000V 0.498290V 0.485990V -16.1616ns 0.478110V 0.498650V 0.486010V -16.3636ns 0.478220V 0.499000V 0.486030V -16.5657ns 0.478310V 0.499300V 0.486050V -16.7677ns 0.478400V 0.499590V 0.486070V -16.9697ns 0.478480V 0.499870V 0.486080V -17.1717ns 0.478560V 0.500150V 0.486100V -17.3737ns 0.478630V 0.500410V 0.486110V -17.5758ns 0.478700V 0.500640V 0.486120V -17.7778ns 0.478760V 0.500850V 0.486130V -17.9798ns 0.478820V 0.501040V 0.486140V -18.1818ns 0.478870V 0.501230V 0.486150V -18.3838ns 0.478920V 0.501420V 0.486160V -18.5859ns 0.478970V 0.501600V 0.486160V -18.7879ns 0.479010V 0.501750V 0.486170V -18.9899ns 0.479050V 0.501890V 0.486170V -19.1919ns 0.479090V 0.502030V 0.486180V -19.3939ns 0.479130V 0.502160V 0.486190V -19.5960ns 0.479160V 0.502290V 0.486190V -19.7980ns 0.479190V 0.502400V 0.486190V -20.0000ns 0.479220V 0.502510V 0.486200V -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 0.479590V 0.504150V 0.486240V -0.2020ns 0.479620V 0.504110V 0.490470V -0.4040ns 0.474700V 0.515850V 0.339650V -0.6061ns 0.247410V 0.518820V 26.921000mV -0.8081ns 33.630000mV 0.443630V 3.148700mV -1.0101ns 5.280400mV 0.238780V 1.060300mV -1.2121ns 1.954600mV 78.283000mV 0.294910mV -1.4141ns 1.002900mV 15.120000mV 0.121950mV -1.6162ns 0.281790mV 5.205600mV 54.285000uV -1.8182ns 0.158200mV 2.668100mV 18.736000uV -2.0202ns 86.848000uV 1.413600mV -3.438700uV -2.2222ns 51.525000uV 0.962940mV -2.338900uV -2.4242ns 18.844000uV 0.395150mV -0.402350mV -2.6263ns 5.905300uV 0.211990mV -8.792700uV -2.8283ns 1.900600uV 0.117500mV -65.770000uV -3.0303ns -0.928100uV 94.558000uV -55.523000uV -3.2323ns 1.519900uV 57.044000uV -52.135000uV -3.4343ns 91.150000uV 30.103000uV -44.758000uV -3.6364ns -33.181000uV 19.965000uV -45.346000uV -3.8384ns -61.875000uV 10.378000uV -43.013000uV -4.0404ns -55.678000uV 5.470400uV -40.659000uV -4.2424ns -56.185000uV 2.225700uV -38.424000uV -4.4444ns -54.079000uV 0.339030uV -36.424000uV -4.6465ns -49.722000uV 42.294000nV -34.475000uV -4.8485ns -47.356000uV -67.623000uV -32.629000uV -5.0505ns -45.017000uV 0.334260mV -30.892000uV -5.2525ns -42.772000uV 24.321000uV -29.369000uV -5.4545ns -40.550000uV -57.294000uV -27.879000uV -5.6566ns -38.605000uV -81.026000uV -26.455000uV -5.8586ns -36.728000uV -83.374000uV -25.106000uV -6.0606ns -34.884000uV -73.915000uV -23.906000uV -6.2626ns -33.048000uV -70.059000uV -22.718000uV -6.4646ns -31.513000uV -66.837000uV -21.555000uV -6.6667ns -30.051000uV -63.741000uV -20.455000uV -6.8687ns -28.580000uV -60.682000uV -19.480000uV -7.0707ns -27.108000uV -57.943000uV -18.510000uV -7.2727ns -25.888000uV -55.297000uV -17.548000uV -7.4747ns -24.730000uV -52.722000uV -16.641000uV -7.6768ns -23.520000uV -50.167000uV -15.845000uV -7.8788ns -22.298000uV -47.891000uV -15.046000uV -8.0808ns -21.294000uV -45.695000uV -14.242000uV -8.2828ns -20.344000uV -43.550000uV -13.487000uV -8.4848ns -19.327000uV -41.420000uV -12.832000uV -8.6869ns -18.294000uV -39.563000uV -12.169000uV -8.8889ns -17.459000uV -37.784000uV -11.491000uV -9.0909ns -16.672000uV -36.017000uV -10.860000uV -9.2929ns -15.813000uV -34.253000uV -10.318000uV -9.4949ns -14.935000uV -32.736000uV -9.766400uV -9.6970ns -14.237000uV -31.289000uV -9.192700uV -9.8990ns -13.584000uV -29.817000uV -8.661200uV -10.1010ns -12.478000uV -27.709000uV -7.982350uV -10.3030ns -11.518000uV -25.885000uV -7.262900uV -10.5051ns -10.975000uV -24.642000uV -6.813500uV -10.7071ns -10.351000uV -23.387000uV -6.441800uV -10.9091ns -9.707800uV -22.333000uV -6.054500uV -11.1111ns -9.217800uV -21.337000uV -5.636200uV -11.3131ns -8.765200uV -20.281000uV -5.254700uV -11.5152ns -8.231600uV -19.208000uV -4.946000uV -11.7172ns -7.678200uV -18.321000uV -4.620100uV -11.9192ns -7.266900uV -17.488000uV -4.260300uV -12.1212ns -6.890500uV -16.587000uV -3.935200uV -12.3232ns -6.432500uV -15.666000uV -3.678600uV -12.5253ns -5.954600uV -14.919000uV -3.403800uV -12.7273ns -5.609300uV -14.221000uV -3.092900uV -12.9293ns -5.296400uV -13.450000uV -2.814900uV -13.1313ns -4.902200uV -12.657000uV -2.601600uV -13.3333ns -4.488100uV -12.026000uV -2.369400uV -13.5354ns -4.198200uV -11.442000uV -2.099800uV -13.7374ns -3.938700uV -10.780000uV -1.861200uV -13.9394ns -3.598400uV -10.096000uV -1.684200uV -14.1414ns -3.238300uV -9.563600uV -1.487800uV -14.3434ns -2.995000uV -9.074900uV -1.252900uV -14.5455ns -2.780300uV -8.505800uV -1.047700uV -14.7475ns -2.485800uV -7.913400uV -0.901200uV -14.9495ns -2.171700uV -7.464100uV -0.734910uV -15.1515ns -1.967700uV -7.055800uV -0.529500uV -15.3535ns -1.790700uV -6.565500uV -0.352370uV -15.5556ns -1.535100uV -6.051500uV -0.231220uV -15.7576ns -1.260300uV -5.672300uV -90.901000nV -15.9596ns -1.089700uV -5.331900uV 87.337000nV -16.1616ns -0.944660uV -4.908600uV 0.238960uV -16.3636ns -0.722200uV -4.461500uV 0.337930uV -16.5657ns -0.480790uV -4.141700uV 0.456510uV -16.7677ns -0.338220uV -3.858700uV 0.613870uV -16.9697ns -0.219860uV -3.492600uV 0.746520uV -17.1717ns -26.846000nV -3.102500uV 0.830300uV -17.3737ns 0.184450uV -2.833200uV 0.932440uV -17.5758ns 0.301760uV -2.598700uV 1.070900uV -17.7778ns 0.396050uV -2.281300uV 1.185800uV -17.9798ns 0.563350uV -1.940200uV 1.253900uV -18.1818ns 0.748530uV -1.713800uV 1.340400uV -18.3838ns 0.849240uV -1.520500uV 1.463300uV -18.5859ns 0.929260uV -1.244900uV 1.563400uV -18.7879ns 1.076500uV -0.945630uV 1.618300uV -18.9899ns 1.240200uV -0.755480uV 1.685500uV -19.1919ns 1.323300uV -0.596720uV 1.777100uV -19.3939ns 1.386600uV -0.356900uV 1.868700uV -19.5960ns 1.516000uV -93.762000nV 1.960300uV -19.7980ns 1.661600uV 58.234000nV 2.029300uV -20.0000ns 1.679900uV 0.178250uV 2.053600uV -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 3.300000V 3.140000V 3.470000V -0.2020ns 3.299700V 3.140000V 3.468600V -0.4040ns 3.300900V 3.139100V 3.481500V -0.6061ns 3.273500V 3.140100V 3.087100V -0.8081ns 2.996200V 3.146300V 2.839700V -1.0101ns 2.788200V 3.080900V 2.749500V -1.2121ns 2.688900V 2.938500V 2.718000V -1.4141ns 2.644300V 2.755500V 2.708000V -1.6162ns 2.624600V 2.644100V 2.704400V -1.8182ns 2.616600V 2.580800V 2.704300V -2.0202ns 2.613600V 2.541800V 2.704600V -2.2222ns 2.612200V 2.522600V 2.705800V -2.4242ns 2.612400V 2.511700V 2.715900V -2.6263ns 2.613100V 2.506400V 2.750300V -2.8283ns 2.613800V 2.503800V 2.759900V -3.0303ns 2.614700V 2.502700V 2.769100V -3.2323ns 2.615500V 2.502100V 2.777600V -3.4343ns 2.621600V 2.502400V 2.785300V -3.6364ns 2.628100V 2.502800V 2.792600V -3.8384ns 2.632500V 2.503300V 2.799400V -4.0404ns 2.639100V 2.503900V 2.806100V -4.2424ns 2.645800V 2.504500V 2.812200V -4.4444ns 2.652000V 2.505100V 2.818200V -4.6465ns 2.658100V 2.505700V 2.823700V -4.8485ns 2.663800V 2.508100V 2.829100V -5.0505ns 2.669000V 2.489000V 2.834000V -5.2525ns 2.674300V 2.476800V 2.838800V -5.4545ns 2.679100V 2.477300V 2.843300V -5.6566ns 2.683900V 2.482300V 2.847700V -5.8586ns 2.688200V 2.488300V 2.851700V -6.0606ns 2.692500V 2.494500V 2.855700V -6.2626ns 2.696400V 2.500200V 2.859400V -6.4646ns 2.700300V 2.505800V 2.863000V -6.6667ns 2.703900V 2.511100V 2.866300V -6.8687ns 2.707400V 2.516200V 2.869600V -7.0707ns 2.710700V 2.521000V 2.872700V -7.2727ns 2.713900V 2.525700V 2.875700V -7.4747ns 2.716900V 2.530100V 2.878500V -7.6768ns 2.719800V 2.534400V 2.881200V -7.8788ns 2.722500V 2.538400V 2.883800V -8.0808ns 2.725200V 2.542300V 2.886300V -8.2828ns 2.727700V 2.545900V 2.888700V -8.4848ns 2.730200V 2.549500V 2.891000V -8.6869ns 2.732400V 2.552800V 2.893100V -8.8889ns 2.734700V 2.556100V 2.895300V -9.0909ns 2.736800V 2.559100V 2.897300V -9.2929ns 2.738800V 2.562100V 2.899200V -9.4949ns 2.740700V 2.564900V 2.901100V -9.6970ns 2.742600V 2.567700V 2.903000V -9.8990ns 2.744300V 2.570200V 2.904700V -10.1010ns 2.746850V 2.573900V 2.907350V -10.3030ns 2.749200V 2.577400V 2.909900V -10.5051ns 2.750700V 2.579600V 2.911600V -10.7071ns 2.752100V 2.581700V 2.913200V -10.9091ns 2.753400V 2.583700V 2.914800V -11.1111ns 2.754700V 2.585700V 2.916300V -11.3131ns 2.756000V 2.587500V 2.917800V -11.5152ns 2.757200V 2.589300V 2.919300V -11.7172ns 2.758300V 2.591000V 2.920700V -11.9192ns 2.759400V 2.592600V 2.922000V -12.1212ns 2.760400V 2.594200V 2.923300V -12.3232ns 2.761400V 2.595700V 2.924600V -12.5253ns 2.762300V 2.597100V 2.925800V -12.7273ns 2.763200V 2.598500V 2.927000V -12.9293ns 2.764000V 2.599800V 2.928100V -13.1313ns 2.764900V 2.601100V 2.929200V -13.3333ns 2.765600V 2.602300V 2.930200V -13.5354ns 2.766400V 2.603500V 2.931300V -13.7374ns 2.767100V 2.604600V 2.932200V -13.9394ns 2.767800V 2.605700V 2.933200V -14.1414ns 2.768400V 2.606800V 2.934100V -14.3434ns 2.769000V 2.607800V 2.935000V -14.5455ns 2.769600V 2.608700V 2.935800V -14.7475ns 2.770200V 2.609600V 2.936600V -14.9495ns 2.770700V 2.610500V 2.937400V -15.1515ns 2.771200V 2.611300V 2.938200V -15.3535ns 2.771700V 2.612100V 2.938900V -15.5556ns 2.772200V 2.612900V 2.939600V -15.7576ns 2.772600V 2.613600V 2.940300V -15.9596ns 2.773000V 2.614400V 2.941000V -16.1616ns 2.773400V 2.615000V 2.941600V -16.3636ns 2.773800V 2.615700V 2.942200V -16.5657ns 2.774100V 2.616300V 2.942800V -16.7677ns 2.774400V 2.616900V 2.943400V -16.9697ns 2.774700V 2.617500V 2.943900V -17.1717ns 2.775000V 2.618000V 2.944500V -17.3737ns 2.775300V 2.618600V 2.945000V -17.5758ns 2.775600V 2.619100V 2.945500V -17.7778ns 2.775800V 2.619500V 2.945900V -17.9798ns 2.776100V 2.620000V 2.946400V -18.1818ns 2.776300V 2.620400V 2.946900V -18.3838ns 2.776500V 2.620900V 2.947300V -18.5859ns 2.776700V 2.621300V 2.947700V -18.7879ns 2.776900V 2.621700V 2.948100V -18.9899ns 2.777100V 2.622000V 2.948500V -19.1919ns 2.777200V 2.622400V 2.948900V -19.3939ns 2.777400V 2.622700V 2.949300V -19.5960ns 2.777500V 2.623000V 2.949600V -19.7980ns 2.777700V 2.623300V 2.950000V -20.0000ns 2.777800V 2.623600V 2.950300V -| -| End [Model] lvc330f040aaaaaaaaio -|************************************************************************ -[Model] lvc330fxxxaaaaaaaain -Model_type Input -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.201000pA 1.415500nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.065000nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270400uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -| End [Model] lvc330fxxxaaaaaaaain -|************************************************************************ -[Model] lvc330fxxxbaaaaaaain -Model_type Input -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201050A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133030A - -1.38 -0.116640A -0.121710A -0.116640A - -1.30 -0.101410A -0.107420A -0.100700A - -1.22 -86.417000mA -93.409000mA -84.978000mA - -1.14 -71.666000mA -79.637000mA -69.556000mA - -1.06 -57.221000mA -66.146000mA -54.661000mA - -0.98 -43.217000mA -53.024000mA -40.890000mA - -0.90 -29.927000mA -40.408000mA -29.654000mA - -0.82 -17.982000mA -28.511000mA -21.115000mA - -0.74 -8.854400mA -17.682000mA -13.653000mA - -0.66 -3.663100mA -8.577600mA -7.237700mA - -0.58 -1.172200mA -2.564300mA -2.648300mA - -0.50 -0.318120mA -0.464400mA -0.594790mA - -0.42 -0.137880mA -0.131860mA -0.170510mA - -0.34 -0.109480mA -92.671000uA -0.122000mA - -0.26 -0.105780mA -87.760000uA -0.117970mA - -0.18 -0.105360mA -87.079000uA -0.117690mA - -0.10 -0.105300mA -86.972000uA -0.117660mA - -0.02 -0.105290mA -86.946000uA -0.117640mA - 0.06 -0.105270mA -86.931000uA -0.117630mA - 0.14 -0.105260mA -86.918000uA -0.117610mA - 0.22 -0.105240mA -86.905000uA -0.117600mA - 0.30 -0.105230mA -86.892000uA -0.117580mA - 0.38 -0.105220mA -86.878000uA -0.117560mA - 0.46 -0.105200mA -86.864000uA -0.117540mA - 0.54 -0.105180mA -86.849000uA -0.117530mA - 0.62 -0.105170mA -86.834000uA -0.117500mA - 0.70 -0.105150mA -86.818000uA -0.117480mA - 0.78 -0.105130mA -86.801000uA -0.117460mA - 0.86 -0.105110mA -86.783000uA -0.117420mA - 0.94 -0.105060mA -86.761000uA -0.117350mA - 1.02 -0.105000mA -86.718000uA -0.117250mA - 1.10 -0.104900mA -86.652000uA -0.117140mA - 1.18 -0.104790mA -86.563000uA -0.117010mA - 1.26 -0.104660mA -86.454000uA -0.116870mA - 1.34 -0.104520mA -86.328000uA -0.116710mA - 1.42 -0.104360mA -86.186000uA -0.116550mA - 1.50 -0.104190mA -86.027000uA -0.116380mA - 1.58 -0.104010mA -85.852000uA -0.116200mA - 1.66 -0.103810mA -85.660000uA -0.116010mA - 1.74 -0.103600mA -85.448000uA -0.115810mA - 1.82 -0.103380mA -85.214000uA -0.115600mA - 1.90 -0.103130mA -84.953000uA -0.115380mA - 1.98 -0.102860mA -84.659000uA -0.115140mA - 2.06 -0.102560mA -84.336000uA -0.114880mA - 2.14 -0.102230mA -83.988000uA -0.114600mA - 2.22 -0.101860mA -83.605000uA -0.114300mA - 2.30 -0.101430mA -83.172000uA -0.113960mA - 2.38 -0.100960mA -82.673000uA -0.113590mA - 2.46 -0.100430mA -82.088000uA -0.113170mA - 2.54 -99.809000uA -81.393000uA -0.112690mA - 2.62 -99.072000uA -80.257000uA -0.112130mA - 2.70 -98.172000uA -76.079000uA -0.111480mA - 2.78 -97.041000uA -68.566000uA -0.110710mA - 2.86 -94.411000uA -58.013000uA -0.109770mA - 2.94 -86.817000uA -44.639000uA -0.108560mA - 3.02 -74.531000uA -28.610000uA -0.106940mA - 3.10 -57.975000uA -10.054000uA -0.102590mA - 3.18 -37.471000uA 11.025000uA -91.172000uA - 3.26 -13.273000uA 34.949000uA -73.303000uA - 3.30 0.149480uA 48.450000uA -62.148000uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.925400uA 1.695300uA 2.182200uA - -3.26 1.907100uA 1.679500uA 2.161600uA - -3.22 1.889100uA 1.664000uA 2.141300uA - -3.18 1.871200uA 1.648600uA 2.121100uA - -3.14 1.853600uA 1.633400uA 2.101200uA - -3.10 1.836100uA 1.618400uA 2.081400uA - -3.06 1.818900uA 1.603500uA 2.061900uA - -3.02 1.801800uA 1.588800uA 2.042600uA - -2.98 1.785000uA 1.574200uA 2.023500uA - -2.94 1.768300uA 1.559800uA 2.004600uA - -2.90 1.751800uA 1.545600uA 1.985900uA - -2.86 1.735600uA 1.531500uA 1.967400uA - -2.82 1.719500uA 1.517600uA 1.949100uA - -2.78 1.703600uA 1.503800uA 1.931100uA - -2.74 1.687800uA 1.490200uA 1.913200uA - -2.70 1.672300uA 1.476700uA 1.895500uA - -2.66 1.657000uA 1.463400uA 1.878100uA - -2.62 1.641800uA 1.450200uA 1.860800uA - -2.58 1.626800uA 1.437200uA 1.843800uA - -2.54 1.612000uA 1.424300uA 1.827000uA - -2.50 1.597400uA 1.411500uA 1.810300uA - -2.46 1.582900uA 1.398900uA 1.793900uA - -2.42 1.568600uA 1.386500uA 1.777600uA - -2.38 1.554500uA 1.374100uA 1.761600uA - -2.34 1.540600uA 1.361900uA 1.745700uA - -2.30 1.526800uA 1.349900uA 1.730100uA - -2.26 1.513300uA 1.337900uA 1.714600uA - -2.22 1.499800uA 1.326100uA 1.699300uA - -2.18 1.486600uA 1.314500uA 1.684300uA - -2.14 1.473500uA 1.302900uA 1.669400uA - -2.10 1.460500uA 1.291500uA 1.654700uA - -2.06 1.447700uA 1.280200uA 1.640100uA - -2.02 1.435100uA 1.269000uA 1.625800uA - -1.98 1.422600uA 1.257900uA 1.611700uA - -1.94 1.410300uA 1.247000uA 1.597700uA - -1.90 1.398200uA 1.236200uA 1.583900uA - -1.86 1.386100uA 1.225500uA 1.570300uA - -1.82 1.374300uA 1.214800uA 1.556900uA - -1.78 1.362500uA 1.204400uA 1.543600uA - -1.74 1.351000uA 1.194000uA 1.530500uA - -1.70 1.339500uA 1.183700uA 1.517600uA - -1.66 1.328200uA 1.173500uA 1.504900uA - -1.62 1.317000uA 1.163400uA 1.492300uA - -1.58 1.306000uA 1.153500uA 1.479900uA - -1.54 1.295100uA 1.143600uA 1.467600uA - -1.50 1.284300uA 1.133800uA 1.455500uA - -1.46 1.273700uA 1.124100uA 1.443600uA - -1.42 1.263200uA 1.114500uA 1.431800uA - -1.38 1.252800uA 1.105000uA 1.420200uA - -1.34 1.242500uA 1.095600uA 1.408700uA - -1.30 1.232300uA 1.086200uA 1.397400uA - -1.26 1.222300uA 1.077000uA 1.386200uA - -1.22 1.212300uA 1.067800uA 1.375200uA - -1.18 1.202500uA 1.058700uA 1.364300uA - -1.14 1.192800uA 1.049700uA 1.353500uA - -1.10 1.183200uA 1.040800uA 1.342900uA - -1.06 1.173700uA 1.031900uA 1.332400uA - -1.02 1.164300uA 1.023100uA 1.322100uA - -0.98 1.154900uA 1.014400uA 1.311900uA - -0.94 1.145700uA 1.005700uA 1.301800uA - -0.90 1.136600uA 0.997110uA 1.291800uA - -0.86 1.127600uA 0.988570uA 1.281900uA - -0.82 1.118600uA 0.980090uA 1.272200uA - -0.78 1.109700uA 0.971680uA 1.262500uA - -0.74 1.100900uA 0.963320uA 1.253000uA - -0.70 1.092200uA 0.955010uA 1.243600uA - -0.66 1.083600uA 0.946770uA 1.234300uA - -0.62 1.075000uA 0.938590uA 1.225100uA - -0.58 1.066500uA 0.930470uA 1.215900uA - -0.54 1.058100uA 0.922430uA 1.206900uA - -0.50 1.049700uA 0.914500uA 1.198000uA - -0.46 1.041400uA 0.906750uA 1.189000uA - -0.42 1.033100uA 0.899340uA 1.180100uA - -0.38 1.024800uA 0.892740uA 1.171100uA - -0.34 1.020592uA 0.890363uA 1.166191uA - -0.30 1.020569uA 0.890343uA 1.166164uA - -0.26 1.020475uA 0.890261uA 1.166058uA - -0.22 1.020102uA 0.889935uA 1.165631uA - -0.18 1.018607uA 0.888631uA 1.163922uA - -0.14 1.012627uA 0.883414uA 1.157089uA - -0.10 0.988706uA 0.862546uA 1.129756uA - -0.06 0.893025uA 0.779074uA 1.020425uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -| End [Model] lvc330fxxxbaaaaaaain -|************************************************************************ -[Model] lvc330fxxxcaaaaaaain -Model_type Input -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447790A -0.471180A - -2.18 -0.421140A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201050A -0.209560A - -1.62 -0.174190A -0.174390A -0.177660A - -1.54 -0.150480A -0.153310A -0.151880A - -1.46 -0.132440A -0.136600A -0.133040A - -1.38 -0.116650A -0.121720A -0.116660A - -1.30 -0.101420A -0.107430A -0.100730A - -1.22 -86.431000mA -93.414000mA -85.016000mA - -1.14 -71.684000mA -79.643000mA -69.612000mA - -1.06 -57.245000mA -66.154000mA -54.753000mA - -0.98 -43.252000mA -53.034000mA -41.074000mA - -0.90 -29.984000mA -40.420000mA -30.037000mA - -0.82 -18.095000mA -28.529000mA -21.592000mA - -0.74 -9.103200mA -17.711000mA -14.139000mA - -0.66 -4.031300mA -8.632500mA -7.727000mA - -0.58 -1.542300mA -2.680900mA -3.137100mA - -0.50 -0.637910mA -0.641580mA -1.050200mA - -0.42 -0.382200mA -0.283040mA -0.537030mA - -0.34 -0.274320mA -0.191220mA -0.380580mA - -0.26 -0.195030mA -0.134430mA -0.271430mA - -0.18 -0.125260mA -86.198000uA -0.174070mA - -0.10 -63.603000uA -43.916000uA -87.706000uA - -0.02 -11.477000uA -8.053000uA -15.489000uA - 0.06 29.171000uA 20.579000uA 38.171000uA - 0.14 58.135000uA 42.109000uA 72.311000uA - 0.22 76.454000uA 57.027000uA 90.391000uA - 0.30 86.646000uA 66.282000uA 99.147000uA - 0.38 91.915000uA 71.334000uA 0.103720mA - 0.46 94.550000uA 73.863000uA 0.106370mA - 0.54 95.817000uA 75.185000uA 0.107930mA - 0.62 96.442000uA 75.976000uA 0.108770mA - 0.70 96.793000uA 76.516000uA 0.109190mA - 0.78 97.021000uA 76.923000uA 0.109410mA - 0.86 97.187000uA 77.250000uA 0.109550mA - 0.94 97.320000uA 77.526000uA 0.109650mA - 1.02 97.431000uA 77.766000uA 0.109720mA - 1.10 97.528000uA 77.982000uA 0.109790mA - 1.18 97.616000uA 78.178000uA 0.109850mA - 1.26 97.697000uA 78.360000uA 0.109900mA - 1.34 97.773000uA 78.530000uA 0.109950mA - 1.42 97.844000uA 78.691000uA 0.110000mA - 1.50 97.912000uA 78.844000uA 0.110050mA - 1.58 97.978000uA 78.991000uA 0.110090mA - 1.66 98.042000uA 79.132000uA 0.110130mA - 1.74 98.104000uA 79.268000uA 0.110170mA - 1.82 98.164000uA 79.399000uA 0.110220mA - 1.90 98.223000uA 79.526000uA 0.110260mA - 1.98 98.280000uA 79.648000uA 0.110300mA - 2.06 98.337000uA 79.768000uA 0.110330mA - 2.14 98.393000uA 79.890000uA 0.110370mA - 2.22 98.448000uA 80.015000uA 0.110410mA - 2.30 98.503000uA 80.140000uA 0.110450mA - 2.38 98.559000uA 80.265000uA 0.110490mA - 2.46 98.617000uA 80.391000uA 0.110530mA - 2.54 98.679000uA 80.518000uA 0.110570mA - 2.62 98.744000uA 80.648000uA 0.110620mA - 2.70 98.813000uA 80.782000uA 0.110670mA - 2.78 98.889000uA 80.922000uA 0.110720mA - 2.86 98.972000uA 81.070000uA 0.110780mA - 2.94 99.065000uA 81.227000uA 0.110850mA - 3.02 99.170000uA 81.396000uA 0.110930mA - 3.10 99.290000uA 81.580000uA 0.111020mA - 3.18 99.427000uA 81.843000uA 0.111120mA - 3.26 99.584000uA 82.507000uA 0.111250mA - 3.30 99.674000uA 83.566000uA 0.111320mA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 0.153710mA 0.132100mA 0.170160mA - -3.26 0.152730mA 0.131080mA 0.169210mA - -3.22 0.151750mA 0.130060mA 0.168250mA - -3.18 0.150760mA 0.129030mA 0.167280mA - -3.14 0.149760mA 0.128000mA 0.166290mA - -3.10 0.148750mA 0.126970mA 0.165290mA - -3.06 0.147740mA 0.125930mA 0.164280mA - -3.02 0.146720mA 0.124900mA 0.163270mA - -2.98 0.145700mA 0.123870mA 0.162240mA - -2.94 0.144670mA 0.122850mA 0.161210mA - -2.90 0.143640mA 0.121820mA 0.160170mA - -2.86 0.142610mA 0.120800mA 0.159120mA - -2.82 0.141580mA 0.119780mA 0.158070mA - -2.78 0.140550mA 0.118770mA 0.157010mA - -2.74 0.139520mA 0.117770mA 0.155950mA - -2.70 0.138490mA 0.116770mA 0.154890mA - -2.66 0.137460mA 0.115780mA 0.153830mA - -2.62 0.136440mA 0.114800mA 0.152760mA - -2.58 0.135420mA 0.113820mA 0.151700mA - -2.54 0.134410mA 0.112860mA 0.150630mA - -2.50 0.133400mA 0.111900mA 0.149570mA - -2.46 0.132400mA 0.110960mA 0.148510mA - -2.42 0.131410mA 0.110030mA 0.147460mA - -2.38 0.130420mA 0.109110mA 0.146410mA - -2.34 0.129450mA 0.108200mA 0.145370mA - -2.30 0.128490mA 0.107310mA 0.144330mA - -2.26 0.127530mA 0.106430mA 0.143310mA - -2.22 0.126590mA 0.105570mA 0.142290mA - -2.18 0.125660mA 0.104720mA 0.141280mA - -2.14 0.124750mA 0.103880mA 0.140280mA - -2.10 0.123850mA 0.103060mA 0.139300mA - -2.06 0.122960mA 0.102260mA 0.138330mA - -2.02 0.122090mA 0.101480mA 0.137370mA - -1.98 0.121230mA 0.100710mA 0.136420mA - -1.94 0.120390mA 99.955000uA 0.135490mA - -1.90 0.119560mA 99.221000uA 0.134580mA - -1.86 0.118760mA 98.504000uA 0.133680mA - -1.82 0.117970mA 97.804000uA 0.132800mA - -1.78 0.117200mA 97.123000uA 0.131940mA - -1.74 0.116440mA 96.459000uA 0.131090mA - -1.70 0.115710mA 95.814000uA 0.130260mA - -1.66 0.114990mA 95.186000uA 0.129460mA - -1.62 0.114300mA 94.577000uA 0.128670mA - -1.58 0.113620mA 93.985000uA 0.127900mA - -1.54 0.112960mA 93.412000uA 0.127150mA - -1.50 0.112320mA 92.857000uA 0.126420mA - -1.46 0.111700mA 92.319000uA 0.125710mA - -1.42 0.111100mA 91.799000uA 0.125030mA - -1.38 0.110520mA 91.297000uA 0.124360mA - -1.34 0.109960mA 90.812000uA 0.123710mA - -1.30 0.109420mA 90.344000uA 0.123090mA - -1.26 0.108900mA 89.893000uA 0.122490mA - -1.22 0.108400mA 89.459000uA 0.121900mA - -1.18 0.107910mA 89.041000uA 0.121340mA - -1.14 0.107450mA 88.639000uA 0.120800mA - -1.10 0.107000mA 88.253000uA 0.120280mA - -1.06 0.106570mA 87.883000uA 0.119780mA - -1.02 0.106160mA 87.527000uA 0.119300mA - -0.98 0.105760mA 87.187000uA 0.118840mA - -0.94 0.105390mA 86.861000uA 0.118400mA - -0.90 0.105030mA 86.548000uA 0.117980mA - -0.86 0.104690mA 86.250000uA 0.117580mA - -0.82 0.104360mA 85.965000uA 0.117190mA - -0.78 0.104050mA 85.693000uA 0.116830mA - -0.74 0.103750mA 85.433000uA 0.116480mA - -0.70 0.103470mA 85.185000uA 0.116150mA - -0.66 0.103200mA 84.949000uA 0.115830mA - -0.62 0.102950mA 84.724000uA 0.115540mA - -0.58 0.102710mA 84.509000uA 0.115260mA - -0.54 0.102490mA 84.306000uA 0.114990mA - -0.50 0.102270mA 84.112000uA 0.114740mA - -0.46 0.102070mA 83.927000uA 0.114500mA - -0.42 0.101880mA 83.752000uA 0.114280mA - -0.38 0.101700mA 83.587000uA 0.114070mA - -0.34 0.101620mA 83.508000uA 0.113960mA - -0.30 0.101620mA 83.508000uA 0.113960mA - -0.26 0.101620mA 83.508000uA 0.113960mA - -0.22 0.101620mA 83.508000uA 0.113960mA - -0.18 0.101620mA 83.508000uA 0.113750mA - -0.14 0.100460mA 82.918000uA 0.112450mA - -0.10 0.100030mA 82.241000uA 0.112040mA - -0.06 99.844000uA 81.938000uA 0.111870mA - -0.02 99.724000uA 81.761000uA 0.111750mA - 0.00 99.674000uA 81.693000uA 0.111690mA -| -| End [Model] lvc330fxxxcaaaaaaain -|************************************************************************ -[Model] lvc330s040aaaaaaaaio -Model_type I/O -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -Vmeas = 1.650000V -Cref = 0.0F -Rref = 1.000000M -Vref = 0.0V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[Pulldown] -|Voltage I(typ) I(min) I(max) -| - -3.30 -16.264620mA -12.195876mA -17.211942mA - -3.20 -16.206900mA -12.152073mA -17.150026mA - -3.10 -16.149180mA -12.108270mA -17.088110mA - -3.00 -16.091460mA -12.064467mA -17.026194mA - -2.90 -16.033740mA -12.020664mA -16.964278mA - -2.80 -15.976020mA -11.976862mA -16.902362mA - -2.70 -15.918300mA -11.933059mA -16.840446mA - -2.60 -15.860580mA -11.889256mA -16.778530mA - -2.50 -15.802860mA -11.845453mA -16.716614mA - -2.40 -15.745140mA -11.801650mA -16.654698mA - -2.30 -15.687420mA -11.757848mA -16.592782mA - -2.20 -15.629700mA -11.714045mA -16.530866mA - -2.10 -15.571980mA -11.670242mA -16.468950mA - -2.00 -15.514260mA -11.626439mA -16.407034mA - -1.90 -15.456540mA -11.582636mA -16.345118mA - -1.80 -15.398820mA -11.538834mA -16.283202mA - -1.70 -15.341100mA -11.495031mA -16.221286mA - -1.60 -15.283380mA -11.451228mA -16.159370mA - -1.50 -15.225660mA -11.407425mA -16.097454mA - -1.40 -15.167940mA -11.363622mA -16.035538mA - -1.30 -15.110220mA -11.319820mA -15.973622mA - -1.20 -15.052500mA -11.276017mA -15.911706mA - -1.10 -14.994780mA -11.232214mA -15.849790mA - -1.00 -14.937060mA -11.188411mA -15.787874mA - -0.90 -14.879340mA -11.144608mA -15.725958mA - -0.80 -14.821620mA -11.100806mA -15.634000mA - -0.70 -14.763900mA -11.057003mA -15.389000mA - -0.60 -14.121200mA -11.013200mA -15.085900mA - -0.50 -12.312470mA -10.252860mA -13.892750mA - -0.40 -9.922051mA -8.353886mA -11.397898mA - -0.30 -7.415846mA -6.279285mA -8.571802mA - -0.20 -4.904405mA -4.183585mA -5.687248mA - -0.10 -2.422592mA -2.084866mA -2.809391mA - 0.00 9.270000nA 8.640000nA 10.950000nA - 0.10 2.215985mA 1.960397mA 2.507890mA - 0.20 4.086375mA 3.683686mA 4.498680mA - 0.30 5.594166mA 5.150675mA 5.952471mA - 0.40 6.738256mA 6.352364mA 6.929962mA - 0.50 7.557146mA 7.289853mA 7.572152mA - 0.60 8.124436mA 7.983242mA 8.013343mA - 0.70 8.511126mA 8.476831mA 8.337834mA - 0.80 8.778316mA 8.826620mA 8.591424mA - 0.90 8.972606mA 9.080609mA 8.798515mA - 1.00 9.121395mA 9.272098mA 8.969206mA - 1.10 9.240584mA 9.422087mA 9.101296mA - 1.20 9.339574mA 9.543476mA 9.202186mA - 1.30 9.424063mA 9.644765mA 9.285275mA - 1.40 9.498053mA 9.731354mA 9.357665mA - 1.50 9.564242mA 9.806743mA 9.423455mA - 1.60 9.625232mA 9.873832mA 9.485944mA - 1.70 9.684621mA 9.934821mA 9.548134mA - 1.80 9.747011mA 9.992810mA 9.610224mA - 1.90 9.814800mA 10.052999mA 9.670813mA - 2.00 9.885689mA 10.122988mA 9.728603mA - 2.10 9.955379mA 10.203977mA 9.783293mA - 2.20 10.021968mA 10.292966mA 9.835282mA - 2.30 10.083958mA 10.380954mA 9.884972mA - 2.40 10.141947mA 10.464943mA 9.932861mA - 2.50 10.196936mA 10.542932mA 9.979551mA - 2.60 10.249926mA 10.614921mA 10.025941mA - 2.70 10.300915mA 10.681910mA 10.071930mA - 2.80 10.350904mA 10.744899mA 10.118920mA - 2.90 10.400894mA 10.805888mA 10.167909mA - 3.00 10.451883mA 10.863877mA 10.218899mA - 3.10 10.504872mA 10.921864mA 10.273889mA - 3.20 10.559862mA 10.978747mA 10.332878mA - 3.30 10.618848mA 11.037379mA 10.397868mA - 3.40 10.682725mA 11.085335mA 10.469857mA - 3.50 10.751986mA 11.124616mA 10.550843mA - 3.60 10.804292mA 11.163898mA 10.640599mA - 3.70 10.840604mA 11.203179mA 10.738212mA - 3.80 10.876916mA 11.242461mA 10.773505mA - 3.90 10.913228mA 11.281743mA 10.808797mA - 4.00 10.949540mA 11.321024mA 10.844090mA - 4.10 10.985852mA 11.360306mA 10.879382mA - 4.20 11.022164mA 11.399587mA 10.914675mA - 4.30 11.058476mA 11.438869mA 10.949967mA - 4.40 11.094788mA 11.478151mA 10.985259mA - 4.50 11.131100mA 11.517432mA 11.020552mA - 4.60 11.167412mA 11.556714mA 11.055844mA - 4.70 11.203724mA 11.595995mA 11.091137mA - 4.80 11.240036mA 11.635277mA 11.126429mA - 4.90 11.276348mA 11.674559mA 11.161721mA - 5.00 11.312660mA 11.713840mA 11.197014mA - 5.10 11.348972mA 11.753122mA 11.232306mA - 5.20 11.385284mA 11.792403mA 11.267599mA - 5.30 11.421596mA 11.831685mA 11.302891mA - 5.40 11.457908mA 11.870967mA 11.338183mA - 5.50 11.494220mA 11.910248mA 11.373476mA - 5.60 11.530532mA 11.949530mA 11.408768mA - 5.70 11.566844mA 11.988811mA 11.444061mA - 5.80 11.603156mA 12.028093mA 11.479353mA - 5.90 11.639468mA 12.067375mA 11.514645mA - 6.00 11.675780mA 12.106656mA 11.549938mA - 6.10 11.712092mA 12.145938mA 11.585230mA - 6.20 11.748404mA 12.185219mA 11.620523mA - 6.30 11.784716mA 12.224501mA 11.655815mA - 6.40 11.821028mA 12.263783mA 11.691107mA - 6.50 11.857340mA 12.303064mA 11.726400mA - 6.60 11.893652mA 12.342346mA 11.761692mA -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 6.260163mA 5.384933mA 7.315403mA - -3.20 6.239699mA 5.366401mA 7.291487mA - -3.10 6.219236mA 5.347870mA 7.267570mA - -3.00 6.198773mA 5.329339mA 7.243653mA - -2.90 6.178310mA 5.310808mA 7.219736mA - -2.80 6.157847mA 5.292277mA 7.195819mA - -2.70 6.137383mA 5.273745mA 7.171903mA - -2.60 6.116920mA 5.255214mA 7.147986mA - -2.50 6.096457mA 5.236683mA 7.124069mA - -2.40 6.075994mA 5.218152mA 7.100152mA - -2.30 6.055531mA 5.199621mA 7.076235mA - -2.20 6.035067mA 5.181089mA 7.052319mA - -2.10 6.014604mA 5.162558mA 7.028402mA - -2.00 5.994141mA 5.144027mA 7.004485mA - -1.90 5.973678mA 5.125496mA 6.980568mA - -1.80 5.953215mA 5.106965mA 6.956651mA - -1.70 5.932751mA 5.088433mA 6.932735mA - -1.60 5.912288mA 5.069902mA 6.908818mA - -1.50 5.891825mA 5.051371mA 6.884901mA - -1.40 5.871362mA 5.032840mA 6.860984mA - -1.30 5.850899mA 5.014309mA 6.837067mA - -1.20 5.830435mA 4.995777mA 6.813151mA - -1.10 5.809972mA 4.977246mA 6.789234mA - -1.00 5.789509mA 4.958715mA 6.765317mA - -0.90 5.769046mA 4.940184mA 6.741400mA - -0.80 5.748583mA 4.921653mA 6.717483mA - -0.70 5.728119mA 4.903121mA 6.693567mA - -0.60 5.707656mA 4.884590mA 6.669650mA - -0.50 5.687193mA 4.866059mA 6.645733mA - -0.40 5.666730mA 4.847528mA 6.621816mA - -0.30 5.646267mA 4.828997mA 6.597899mA - -0.20 4.435786mA 3.802115mA 5.174820mA - -0.10 2.131925mA 1.838548mA 2.475669mA - 0.00 -6.170000nA -5.460000nA -7.060000nA - 0.10 -1.893038mA -1.673728mA -2.145840mA - 0.20 -3.512428mA -3.164516mA -3.900829mA - 0.30 -4.854717mA -4.471005mA -5.257719mA - 0.40 -5.916606mA -5.591894mA -6.209108mA - 0.50 -6.694696mA -6.525883mA -6.765898mA - 0.60 -7.186085mA -7.271372mA -7.127487mA - 0.70 -7.501974mA -7.827161mA -7.398777mA - 0.80 -7.747264mA -8.192150mA -7.614967mA - 0.90 -7.946053mA -8.442739mA -7.794856mA - 1.00 -8.112642mA -8.647928mA -7.949846mA - 1.10 -8.255932mA -8.820317mA -8.086935mA - 1.20 -8.381921mA -8.968206mA -8.210725mA - 1.30 -8.494611mA -9.097295mA -8.324315mA - 1.40 -8.596900mA -9.211784mA -8.430004mA - 1.50 -8.691089mA -9.314673mA -8.529494mA - 1.60 -8.778479mA -9.407962mA -8.623884mA - 1.70 -8.860368mA -9.493551mA -8.714073mA - 1.80 -8.937858mA -9.572640mA -8.800963mA - 1.90 -9.011447mA -9.646329mA -8.884952mA - 2.00 -9.081837mA -9.715418mA -8.966642mA - 2.10 -9.149526mA -9.780507mA -9.046332mA - 2.20 -9.214816mA -9.842296mA -9.124421mA - 2.30 -9.278305mA -9.901185mA -9.201211mA - 2.40 -9.340094mA -9.957574mA -9.277001mA - 2.50 -9.400784mA -10.011863mA -9.352391mA - 2.60 -9.460574mA -10.063852mA -9.427582mA - 2.70 -9.519964mA -10.115841mA -9.503173mA - 2.80 -9.579454mA -10.165830mA -9.579563mA - 2.90 -9.639644mA -10.215819mA -9.657654mA - 3.00 -9.701034mA -10.264808mA -9.737845mA - 3.10 -9.764525mA -10.315796mA -9.821135mA - 3.20 -9.830715mA -10.367780mA -9.908326mA - 3.30 -9.900606mA -10.421706mA -10.000817mA - 3.40 -9.975092mA -10.478956mA -10.098808mA - 3.50 -10.055705mA -10.535873mA -10.202798mA - 3.60 -10.141346mA -10.578599mA -10.316786mA - 3.70 -10.228551mA -10.620789mA -10.438679mA - 3.80 -10.281620mA -10.662980mA -10.570555mA - 3.90 -10.322662mA -10.705170mA -10.682977mA - 4.00 -10.363704mA -10.747360mA -10.725640mA - 4.10 -10.404746mA -10.789550mA -10.768303mA - 4.20 -10.445787mA -10.831741mA -10.810966mA - 4.30 -10.486829mA -10.873931mA -10.853629mA - 4.40 -10.527871mA -10.916121mA -10.896292mA - 4.50 -10.568913mA -10.958311mA -10.938955mA - 4.60 -10.609955mA -11.000502mA -10.981618mA - 4.70 -10.650997mA -11.042692mA -11.024281mA - 4.80 -10.692039mA -11.084882mA -11.066944mA - 4.90 -10.733081mA -11.127072mA -11.109607mA - 5.00 -10.774122mA -11.169262mA -11.152270mA - 5.10 -10.815164mA -11.211453mA -11.194933mA - 5.20 -10.856206mA -11.253643mA -11.237597mA - 5.30 -10.897248mA -11.295833mA -11.280260mA - 5.40 -10.938290mA -11.338023mA -11.322923mA - 5.50 -10.979332mA -11.380214mA -11.365586mA - 5.60 -11.020374mA -11.422404mA -11.408249mA - 5.70 -11.061416mA -11.464594mA -11.450912mA - 5.80 -11.102458mA -11.506784mA -11.493575mA - 5.90 -11.143499mA -11.548975mA -11.536238mA - 6.00 -11.184541mA -11.591165mA -11.578901mA - 6.10 -11.225583mA -11.633355mA -11.621564mA - 6.20 -11.266625mA -11.675545mA -11.664227mA - 6.30 -11.307667mA -11.717736mA -11.706890mA - 6.40 -11.348709mA -11.759926mA -11.749553mA - 6.50 -11.389751mA -11.802116mA -11.792216mA - 6.55 -11.410272mA -11.823211mA -11.813548mA -| -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.201000pA 1.415400nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.065000nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270400uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -[Ramp] -| variable typ min max -dV/dt_r 0.287457/0.467122n 0.301305/0.700268n 0.291706/0.349090n -dV/dt_f 0.309900/0.449885n 0.304680/0.837003n 0.308100/0.266290n -R_load = 50.000000 -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 2.782900V 2.609000V 2.960100V -0.2020ns 2.783000V 2.608900V 2.962600V -0.4040ns 2.788300V 2.610900V 3.086900V -0.6061ns 3.016200V 2.611900V 3.417200V -0.8081ns 3.244000V 2.678900V 3.463300V -1.0101ns 3.291900V 2.961800V 3.467200V -1.2121ns 3.295700V 3.102900V 3.468900V -1.4141ns 3.297500V 3.120100V 3.469600V -1.6162ns 3.298700V 3.136000V 3.469800V -1.8182ns 3.299500V 3.136600V 3.469900V -2.0202ns 3.299700V 3.137000V 3.469900V -2.2222ns 3.299800V 3.138000V 3.469900V -2.4242ns 3.299900V 3.138900V 3.469200V -2.6263ns 3.299900V 3.139400V 3.471100V -2.8283ns 3.299900V 3.139700V 3.470500V -3.0303ns 3.299900V 3.139800V 3.470100V -3.2323ns 3.299900V 3.139800V 3.470000V -3.4343ns 3.300600V 3.139900V 3.470000V -3.6364ns 3.301100V 3.139900V 3.470000V -3.8384ns 3.300500V 3.139900V 3.470000V -4.0404ns 3.300200V 3.139900V 3.470000V -4.2424ns 3.300000V 3.139900V 3.470000V -4.4444ns 3.300000V 3.139900V 3.470000V -4.6465ns 3.300000V 3.139900V 3.470000V -4.8485ns 3.300000V 3.140000V 3.469900V -5.0505ns 3.300000V 3.140800V 3.469900V -5.2525ns 3.300000V 3.141300V 3.469900V -5.4545ns 3.299900V 3.140700V 3.469900V -5.6566ns 3.299900V 3.140400V 3.469900V -5.8586ns 3.299900V 3.140200V 3.469900V -6.0606ns 3.299900V 3.140000V 3.469900V -6.2626ns 3.299900V 3.140000V 3.469900V -6.4646ns 3.299900V 3.140000V 3.469900V -6.6667ns 3.299900V 3.140000V 3.469900V -6.8687ns 3.299900V 3.140000V 3.469900V -7.0707ns 3.299900V 3.139900V 3.469900V -7.2727ns 3.299900V 3.139900V 3.470000V -7.4747ns 3.299900V 3.139900V 3.470000V -7.6768ns 3.299900V 3.139900V 3.470000V -7.8788ns 3.299900V 3.139900V 3.470000V -8.0808ns 3.299900V 3.139900V 3.470000V -8.2828ns 3.299900V 3.139900V 3.470000V -8.4848ns 3.299900V 3.139900V 3.470000V -8.6869ns 3.299900V 3.139900V 3.470000V -8.8889ns 3.299900V 3.139800V 3.470000V -9.0909ns 3.299900V 3.139800V 3.470000V -9.2929ns 3.299900V 3.139900V 3.470000V -9.4949ns 3.299900V 3.139900V 3.470000V -9.6970ns 3.299900V 3.139900V 3.470000V -9.8990ns 3.300000V 3.139900V 3.470000V -10.1010ns 3.300000V 3.139900V 3.470000V -10.3030ns 3.300000V 3.139900V 3.470000V -10.5051ns 3.300000V 3.139900V 3.470000V -10.7071ns 3.300000V 3.139900V 3.470000V -10.9091ns 3.300000V 3.139900V 3.470000V -11.1111ns 3.300000V 3.139900V 3.470000V -11.3131ns 3.300000V 3.139900V 3.470000V -11.5152ns 3.300000V 3.139900V 3.470000V -11.7172ns 3.300000V 3.139900V 3.470000V -11.9192ns 3.300000V 3.139900V 3.470000V -12.1212ns 3.300000V 3.139900V 3.470000V -12.3232ns 3.300000V 3.139900V 3.470000V -12.5253ns 3.300000V 3.139900V 3.470000V -12.7273ns 3.300000V 3.139900V 3.470000V -12.9293ns 3.300000V 3.139900V 3.470000V -13.1313ns 3.300000V 3.139900V 3.470000V -13.3333ns 3.300000V 3.139900V 3.470000V -13.5354ns 3.300000V 3.140000V 3.470000V -13.7374ns 3.300000V 3.140000V 3.470000V -13.9394ns 3.300000V 3.140000V 3.470000V -14.1414ns 3.300000V 3.140000V 3.470000V -14.3434ns 3.300000V 3.140000V 3.470000V -14.5455ns 3.300000V 3.140000V 3.470000V -14.7475ns 3.300000V 3.140000V 3.470000V -14.9495ns 3.300000V 3.140000V 3.470000V -15.1515ns 3.300000V 3.140000V 3.470000V -15.3535ns 3.300000V 3.140000V 3.470000V -15.5556ns 3.300000V 3.140000V 3.470000V -15.7576ns 3.300000V 3.140000V 3.470000V -15.9596ns 3.300000V 3.140000V 3.470000V -16.1616ns 3.300000V 3.140000V 3.470000V -16.3636ns 3.300000V 3.140000V 3.470000V -16.5657ns 3.300000V 3.140000V 3.470000V -16.7677ns 3.300000V 3.140000V 3.470000V -16.9697ns 3.300000V 3.140000V 3.470000V -17.1717ns 3.300000V 3.140000V 3.470000V -17.3737ns 3.300000V 3.140000V 3.470000V -17.5758ns 3.300000V 3.140000V 3.470000V -17.7778ns 3.300000V 3.140000V 3.470000V -17.9798ns 3.300000V 3.140000V 3.470000V -18.1818ns 3.300000V 3.140000V 3.470000V -18.3838ns 3.300000V 3.140000V 3.470000V -18.5859ns 3.300000V 3.140000V 3.470000V -18.7879ns 3.300000V 3.140000V 3.470000V -18.9899ns 3.300000V 3.140000V 3.470000V -19.1919ns 3.300000V 3.140000V 3.470000V -19.3939ns 3.300000V 3.140000V 3.470000V -19.5960ns 3.300000V 3.140000V 3.470000V -19.7980ns 3.300000V 3.140000V 3.470000V -20.0000ns 3.300000V 3.140000V 3.470000V -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 4.225900uV 4.920300uV 3.956100uV -0.2020ns -0.116230mV 2.501000uV -0.231630mV -0.4040ns -1.733400mV 5.664000uV -6.571900mV -0.6061ns 1.816900mV -0.405040mV 0.151930V -0.8081ns 0.105890V -6.434700mV 0.334290V -1.0101ns 0.246820V 13.033000mV 0.470790V -1.2121ns 0.360950V 89.173000mV 0.542490V -1.4141ns 0.454430V 0.176030V 0.572640V -1.6162ns 0.508590V 0.271450V 0.582550V -1.8182ns 0.534420V 0.353570V 0.588040V -2.0202ns 0.543170V 0.429910V 0.588930V -2.2222ns 0.549780V 0.484400V 0.588840V -2.4242ns 0.550820V 0.517300V 0.590870V -2.6263ns 0.551300V 0.536250V 0.553540V -2.8283ns 0.551520V 0.543010V 0.497470V -3.0303ns 0.551620V 0.548720V 0.468060V -3.2323ns 0.551660V 0.549820V 0.453000V -3.4343ns 0.558640V 0.550520V 0.446500V -3.6364ns 0.508640V 0.550950V 0.442330V -3.8384ns 0.463860V 0.551240V 0.440380V -4.0404ns 0.438900V 0.551370V 0.438930V -4.2424ns 0.425590V 0.551450V 0.438730V -4.4444ns 0.417880V 0.551520V 0.438850V -4.6465ns 0.413990V 0.551560V 0.439830V -4.8485ns 0.411950V 0.551690V 0.441070V -5.0505ns 0.411060V 0.558950V 0.443300V -5.2525ns 0.410360V 0.519020V 0.446000V -5.4545ns 0.410640V 0.480460V 0.448850V -5.6566ns 0.411100V 0.455460V 0.451660V -5.8586ns 0.412570V 0.440580V 0.454380V -6.0606ns 0.414210V 0.430510V 0.456880V -6.2626ns 0.416980V 0.426080V 0.459280V -6.4646ns 0.420210V 0.423650V 0.461440V -6.6667ns 0.423660V 0.422350V 0.463510V -6.8687ns 0.426990V 0.421790V 0.465350V -7.0707ns 0.430100V 0.421350V 0.467110V -7.2727ns 0.433090V 0.421520V 0.468670V -7.4747ns 0.435900V 0.421800V 0.470160V -7.6768ns 0.438640V 0.422560V 0.471470V -7.8788ns 0.441270V 0.423400V 0.472730V -8.0808ns 0.443800V 0.425080V 0.473840V -8.2828ns 0.446130V 0.426920V 0.474900V -8.4848ns 0.448370V 0.429830V 0.475830V -8.6869ns 0.450420V 0.433230V 0.476730V -8.8889ns 0.452380V 0.436930V 0.477510V -9.0909ns 0.454180V 0.440610V 0.478270V -9.2929ns 0.455900V 0.444280V 0.478930V -9.4949ns 0.457470V 0.447610V 0.479560V -9.6970ns 0.458970V 0.450880V 0.480120V -9.8990ns 0.460340V 0.453950V 0.480650V -10.1010ns 0.462260V 0.458380V 0.481335V -10.3030ns 0.464000V 0.462500V 0.481950V -10.5051ns 0.465050V 0.464970V 0.482320V -10.7071ns 0.466050V 0.467390V 0.482650V -10.9091ns 0.466960V 0.469580V 0.482960V -11.1111ns 0.467830V 0.471720V 0.483240V -11.3131ns 0.468630V 0.473660V 0.483500V -11.5152ns 0.469380V 0.475550V 0.483730V -11.7172ns 0.470080V 0.477260V 0.483950V -11.9192ns 0.470740V 0.478940V 0.484140V -12.1212ns 0.471340V 0.480450V 0.484330V -12.3232ns 0.471910V 0.481930V 0.484490V -12.5253ns 0.472440V 0.483270V 0.484640V -12.7273ns 0.472930V 0.484580V 0.484780V -12.9293ns 0.473390V 0.485750V 0.484900V -13.1313ns 0.473820V 0.486910V 0.485020V -13.3333ns 0.474220V 0.487950V 0.485120V -13.5354ns 0.474590V 0.488970V 0.485220V -13.7374ns 0.474940V 0.489880V 0.485310V -13.9394ns 0.475260V 0.490780V 0.485390V -14.1414ns 0.475560V 0.491590V 0.485460V -14.3434ns 0.475840V 0.492380V 0.485530V -14.5455ns 0.476100V 0.493090V 0.485590V -14.7475ns 0.476340V 0.493790V 0.485640V -14.9495ns 0.476570V 0.494420V 0.485700V -15.1515ns 0.476780V 0.495030V 0.485740V -15.3535ns 0.476970V 0.495580V 0.485790V -15.5556ns 0.477160V 0.496120V 0.485820V -15.7576ns 0.477330V 0.496610V 0.485860V -15.9596ns 0.477490V 0.497090V 0.485890V -16.1616ns 0.477630V 0.497510V 0.485920V -16.3636ns 0.477770V 0.497930V 0.485950V -16.5657ns 0.477890V 0.498290V 0.485980V -16.7677ns 0.478010V 0.498640V 0.486000V -16.9697ns 0.478120V 0.498990V 0.486020V -17.1717ns 0.478230V 0.499340V 0.486040V -17.3737ns 0.478320V 0.499630V 0.486060V -17.5758ns 0.478410V 0.499920V 0.486070V -17.7778ns 0.478490V 0.500160V 0.486090V -17.9798ns 0.478570V 0.500400V 0.486100V -18.1818ns 0.478640V 0.500630V 0.486110V -18.3838ns 0.478710V 0.500870V 0.486120V -18.5859ns 0.478770V 0.501070V 0.486130V -18.7879ns 0.478830V 0.501260V 0.486140V -18.9899ns 0.478880V 0.501430V 0.486150V -19.1919ns 0.478930V 0.501590V 0.486160V -19.3939ns 0.478980V 0.501750V 0.486170V -19.5960ns 0.479020V 0.501910V 0.486170V -19.7980ns 0.479060V 0.502040V 0.486180V -20.0000ns 0.479100V 0.502180V 0.486180V -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 0.479590V 0.504150V 0.486240V -0.2020ns 0.479620V 0.504110V 0.490470V -0.4040ns 0.474660V 0.515850V 0.338690V -0.6061ns 0.260970V 0.518810V 49.227000mV -0.8081ns 57.693000mV 0.442430V 5.358900mV -1.0101ns 10.006000mV 0.270560V 1.610600mV -1.2121ns 3.219300mV 0.116620V 0.420340mV -1.4141ns 1.539600mV 28.455000mV 0.168590mV -1.6162ns 0.544500mV 9.235500mV 63.243000uV -1.8182ns 0.242750mV 4.555900mV 28.107000uV -2.0202ns 0.152510mV 2.530000mV 3.232400uV -2.2222ns 71.354000uV 1.674500mV 0.754660uV -2.4242ns 30.528000uV 0.925740mV -0.544570mV -2.6263ns 17.219000uV 0.496800mV -0.223670mV -2.8283ns 7.642900uV 0.286310mV -18.013000uV -3.0303ns 2.754100uV 0.206810mV -16.664000uV -3.2323ns 3.719000uV 0.129010mV -14.948000uV -3.4343ns -0.126320mV 73.076000uV -9.356000uV -3.6364ns -0.242850mV 44.601000uV -11.098000uV -3.8384ns -32.574000uV 27.309000uV -9.946200uV -4.0404ns 3.566200uV 14.959000uV -9.483100uV -4.2424ns -5.306100uV 8.251900uV -8.932600uV -4.4444ns -13.750000uV 4.915800uV -8.381600uV -4.6465ns 10.940000uV 2.652800uV -7.820100uV -4.8485ns 18.035000uV -0.108180mV -7.265300uV -5.0505ns 2.807200uV 0.153640mV -6.819000uV -5.2525ns 2.502100uV -0.230170mV -6.373400uV -5.4545ns 3.131600uV -97.756000uV -5.936700uV -5.6566ns 2.983900uV -12.193000uV -5.505100uV -5.8586ns 2.947300uV 25.147000uV -5.155800uV -6.0606ns 3.185500uV 13.918000uV -4.806500uV -6.2626ns 3.361600uV 13.732000uV -4.457800uV -6.4646ns 3.383800uV 15.275000uV -4.112200uV -6.6667ns 3.430500uV 14.174000uV -3.816000uV -6.8687ns 3.538200uV 13.495000uV -3.520100uV -7.0707ns 3.619900uV 13.582000uV -3.230000uV -7.2727ns 3.637500uV 13.501000uV -2.942000uV -7.4747ns 3.665100uV 13.116000uV -2.688300uV -7.6768ns 3.717300uV 12.820000uV -2.435300uV -7.8788ns 3.759700uV 12.684000uV -2.191800uV -8.0808ns 3.777800uV 12.528000uV -1.949700uV -8.2828ns 3.800700uV 12.338000uV -1.731900uV -8.4848ns 3.835100uV 12.144000uV -1.514700uV -8.6869ns 3.864700uV 11.942000uV -1.308300uV -8.8889ns 3.882800uV 11.757000uV -1.103000uV -9.0909ns 3.903100uV 11.601000uV -0.916190uV -9.2929ns 3.928900uV 11.419000uV -0.730020uV -9.4949ns 3.951900uV 11.189000uV -0.554530uV -9.6970ns 3.968200uV 10.989000uV -0.379920uV -9.8990ns 3.985700uV 10.842000uV -0.219880uV -10.1010ns 4.015950uV 10.553500uV 12.615000nV -10.3030ns 4.039500uV 10.248000uV 0.231740uV -10.5051ns 4.054400uV 10.116000uV 0.368100uV -10.7071ns 4.071500uV 9.956800uV 0.504010uV -10.9091ns 4.087100uV 9.748000uV 0.632480uV -11.1111ns 4.098800uV 9.573200uV 0.760290uV -11.3131ns 4.111100uV 9.460300uV 0.877400uV -11.5152ns 4.125100uV 9.320800uV 0.994070uV -11.7172ns 4.137800uV 9.133200uV 1.103600uV -11.9192ns 4.147200uV 8.978700uV 1.212600uV -12.1212ns 4.157100uV 8.884300uV 1.313000uV -12.3232ns 4.168500uV 8.764100uV 1.413100uV -12.5253ns 4.178700uV 8.597200uV 1.506700uV -12.7273ns 4.186000uV 8.456400uV 1.599900uV -12.9293ns 4.193900uV 8.362900uV 1.686000uV -13.1313ns 4.203100uV 8.269500uV 1.771700uV -13.3333ns 4.211200uV 8.176000uV 1.851800uV -13.5354ns 4.216800uV 8.065600uV 1.931600uV -13.7374ns 4.222900uV 7.924500uV 2.005300uV -13.9394ns 4.230300uV 7.808100uV 2.078800uV -14.1414ns 4.236700uV 7.736300uV 2.147500uV -14.3434ns 4.240800uV 7.664500uV 2.215800uV -14.5455ns 4.245400uV 7.592700uV 2.279000uV -14.7475ns 4.251200uV 7.503700uV 2.342000uV -14.9495ns 4.256200uV 7.383500uV 2.400800uV -15.1515ns 4.259000uV 7.286500uV 2.459400uV -15.3535ns 4.262400uV 7.231700uV 2.513600uV -15.5556ns 4.267000uV 7.176900uV 2.567700uV -15.7576ns 4.270800uV 7.122100uV 2.618100uV -15.9596ns 4.272600uV 7.049900uV 2.668300uV -16.1616ns 4.274900uV 6.946400uV 2.714800uV -16.3636ns 4.278400uV 6.865000uV 2.761200uV -16.5657ns 4.281200uV 6.823600uV 2.804400uV -16.7677ns 4.282300uV 6.782200uV 2.847500uV -16.9697ns 4.283800uV 6.740700uV 2.887400uV -17.1717ns 4.286400uV 6.682100uV 2.927100uV -17.3737ns 4.288400uV 6.592100uV 2.964200uV -17.5758ns 4.288700uV 6.523200uV 3.001200uV -17.7778ns 4.289500uV 6.492500uV 3.035400uV -17.9798ns 4.291500uV 6.461700uV 3.069500uV -18.1818ns 4.292800uV 6.430900uV 3.101400uV -18.3838ns 4.292600uV 6.383000uV 3.133100uV -18.5859ns 4.292900uV 6.304200uV 3.162500uV -18.7879ns 4.294300uV 6.245400uV 3.191700uV -18.9899ns 4.295100uV 6.223200uV 3.219100uV -19.1919ns 4.294400uV 6.200900uV 3.246200uV -19.3939ns 4.294300uV 6.178600uV 3.270600uV -19.5960ns 4.295200uV 6.139500uV 3.294900uV -19.7980ns 4.295400uV 6.069700uV 3.319200uV -20.0000ns 4.294000uV 6.076600uV 3.343600uV -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 3.300000V 3.140000V 3.470000V -0.2020ns 3.299700V 3.140000V 3.468600V -0.4040ns 3.300900V 3.139100V 3.483300V -0.6061ns 3.304400V 3.140100V 3.272000V -0.8081ns 3.179500V 3.145900V 3.030300V -1.0101ns 3.015400V 3.136300V 2.907000V -1.2121ns 2.895000V 3.095000V 2.856700V -1.4141ns 2.821600V 2.995500V 2.837500V -1.6162ns 2.781500V 2.910100V 2.829200V -1.8182ns 2.760300V 2.834600V 2.826700V -2.0202ns 2.751400V 2.769700V 2.825700V -2.2222ns 2.745500V 2.722000V 2.826100V -2.4242ns 2.743500V 2.688600V 2.830900V -2.6263ns 2.743000V 2.667400V 2.878100V -2.8283ns 2.742800V 2.654200V 2.895900V -3.0303ns 2.742900V 2.645000V 2.900000V -3.2323ns 2.743200V 2.639400V 2.902500V -3.4343ns 2.756300V 2.636600V 2.904500V -3.6364ns 2.776700V 2.635200V 2.906500V -3.8384ns 2.790100V 2.634000V 2.908200V -4.0404ns 2.792600V 2.633800V 2.909800V -4.2424ns 2.793100V 2.633700V 2.911300V -4.4444ns 2.793600V 2.633900V 2.912900V -4.6465ns 2.793500V 2.634100V 2.914200V -4.8485ns 2.793500V 2.636300V 2.915600V -5.0505ns 2.793500V 2.635700V 2.916900V -5.2525ns 2.793500V 2.642300V 2.918100V -5.4545ns 2.793500V 2.652700V 2.919300V -5.6566ns 2.793400V 2.656300V 2.920400V -5.8586ns 2.793400V 2.655900V 2.921400V -6.0606ns 2.793300V 2.655100V 2.922500V -6.2626ns 2.793200V 2.654600V 2.923500V -6.4646ns 2.793100V 2.654000V 2.924400V -6.6667ns 2.793000V 2.653400V 2.925300V -6.8687ns 2.792900V 2.652800V 2.926200V -7.0707ns 2.792800V 2.652200V 2.927100V -7.2727ns 2.792700V 2.651700V 2.928000V -7.4747ns 2.792600V 2.651100V 2.928900V -7.6768ns 2.792500V 2.650500V 2.929700V -7.8788ns 2.792300V 2.650000V 2.930600V -8.0808ns 2.792200V 2.649500V 2.931500V -8.2828ns 2.792100V 2.648900V 2.932300V -8.4848ns 2.791900V 2.648400V 2.933200V -8.6869ns 2.791800V 2.647900V 2.934100V -8.8889ns 2.791600V 2.647400V 2.935000V -9.0909ns 2.791500V 2.647000V 2.935800V -9.2929ns 2.791300V 2.646500V 2.936600V -9.4949ns 2.791200V 2.646000V 2.937400V -9.6970ns 2.791000V 2.645600V 2.938200V -9.8990ns 2.790900V 2.645100V 2.939000V -10.1010ns 2.790650V 2.644500V 2.940050V -10.3030ns 2.790400V 2.643900V 2.941100V -10.5051ns 2.790200V 2.643500V 2.941700V -10.7071ns 2.790100V 2.643100V 2.942400V -10.9091ns 2.789900V 2.642700V 2.943000V -11.1111ns 2.789700V 2.642400V 2.943600V -11.3131ns 2.789600V 2.642000V 2.944100V -11.5152ns 2.789400V 2.641600V 2.944700V -11.7172ns 2.789200V 2.641300V 2.945200V -11.9192ns 2.789100V 2.641000V 2.945700V -12.1212ns 2.788900V 2.640600V 2.946200V -12.3232ns 2.788700V 2.640300V 2.946700V -12.5253ns 2.788600V 2.640000V 2.947100V -12.7273ns 2.788400V 2.639700V 2.947600V -12.9293ns 2.788200V 2.639400V 2.948000V -13.1313ns 2.788000V 2.639100V 2.948400V -13.3333ns 2.787900V 2.638900V 2.948800V -13.5354ns 2.787700V 2.638600V 2.949200V -13.7374ns 2.787500V 2.638300V 2.949600V -13.9394ns 2.787400V 2.638000V 2.949900V -14.1414ns 2.787200V 2.637800V 2.950300V -14.3434ns 2.787000V 2.637500V 2.950600V -14.5455ns 2.786900V 2.637300V 2.950900V -14.7475ns 2.786700V 2.637100V 2.951200V -14.9495ns 2.786500V 2.636800V 2.951500V -15.1515ns 2.786400V 2.636600V 2.951800V -15.3535ns 2.786200V 2.636400V 2.952100V -15.5556ns 2.786100V 2.636100V 2.952400V -15.7576ns 2.785900V 2.635900V 2.952600V -15.9596ns 2.785800V 2.635700V 2.952900V -16.1616ns 2.785600V 2.635500V 2.953100V -16.3636ns 2.785500V 2.635300V 2.953400V -16.5657ns 2.785300V 2.635100V 2.953600V -16.7677ns 2.785200V 2.634900V 2.953800V -16.9697ns 2.785000V 2.634700V 2.954000V -17.1717ns 2.784900V 2.634500V 2.954200V -17.3737ns 2.784800V 2.634300V 2.954400V -17.5758ns 2.784600V 2.634200V 2.954600V -17.7778ns 2.784500V 2.634000V 2.954800V -17.9798ns 2.784400V 2.633800V 2.955000V -18.1818ns 2.784300V 2.633600V 2.955100V -18.3838ns 2.784200V 2.633500V 2.955300V -18.5859ns 2.784100V 2.633300V 2.955500V -18.7879ns 2.784000V 2.633100V 2.955600V -18.9899ns 2.783900V 2.633000V 2.955800V -19.1919ns 2.783800V 2.632800V 2.955900V -19.3939ns 2.783700V 2.632700V 2.956100V -19.5960ns 2.783600V 2.632500V 2.956200V -19.7980ns 2.783600V 2.632400V 2.956300V -20.0000ns 2.783500V 2.632200V 2.956500V -| -| End [Model] lvc330s040aaaaaaaaio -|************************************************************************ -[Model] lvc330s140aaaaaaaaio -Model_type I/O -Polarity Non-Inverting -Enable Active-Low -Vinl = 0.800000V -Vinh = 2.000000V -Vmeas = 1.650000V -Cref = 0.0F -Rref = 1.000000M -Vref = 0.0V -C_comp 2.68pF 2.54pF 2.92pF -| -| -[Temperature Range] 25.000000 0.105000k -40.000000 -[Voltage Range] 3.300000V 3.140000V 3.470000V -[Pulldown] -|Voltage I(typ) I(min) I(max) -| - -3.30 -50.584550mA -43.999960mA -54.623576mA - -3.20 -50.404450mA -43.837800mA -54.427552mA - -3.10 -50.224350mA -43.675640mA -54.231528mA - -3.00 -50.044250mA -43.513480mA -54.035504mA - -2.90 -49.864150mA -43.351320mA -53.839480mA - -2.80 -49.684050mA -43.189160mA -53.643456mA - -2.70 -49.503950mA -43.027000mA -53.447432mA - -2.60 -49.323850mA -42.864840mA -53.251408mA - -2.50 -49.143750mA -42.702680mA -53.055384mA - -2.40 -48.963650mA -42.540520mA -52.859360mA - -2.30 -48.783550mA -42.378360mA -52.663336mA - -2.20 -48.603450mA -42.216200mA -52.467312mA - -2.10 -48.423350mA -42.054040mA -52.271288mA - -2.00 -48.243250mA -41.891880mA -52.075264mA - -1.90 -48.063150mA -41.729720mA -51.879240mA - -1.80 -47.883050mA -41.567560mA -51.683216mA - -1.70 -47.702950mA -41.405400mA -51.487192mA - -1.60 -47.522850mA -41.243240mA -51.291168mA - -1.50 -47.342750mA -41.081080mA -51.095144mA - -1.40 -47.162650mA -40.960000mA -50.899120mA - -1.30 -46.982550mA -40.310000mA -50.703096mA - -1.20 -46.802450mA -39.409000mA -50.507072mA - -1.10 -46.622350mA -38.410000mA -50.311048mA - -1.00 -46.442250mA -37.323000mA -50.115024mA - -0.90 -46.262150mA -36.180000mA -49.919000mA - -0.80 -46.082050mA -35.076000mA -49.327000mA - -0.70 -45.748900mA -34.427000mA -47.994000mA - -0.60 -42.249200mA -34.203200mA -45.776900mA - -0.50 -36.169470mA -30.752860mA -40.603750mA - -0.40 -29.014551mA -24.879886mA -32.919898mA - -0.30 -21.670346mA -18.677585mA -24.687602mA - -0.20 -14.338705mA -12.435585mA -16.367748mA - -0.10 -7.093292mA -6.195266mA -8.095791mA - 0.00 27.190000nA 25.680000nA 31.680000nA - 0.10 6.587285mA 5.878497mA 7.387890mA - 0.20 12.314175mA 11.156186mA 13.529180mA - 0.30 17.106166mA 15.766175mA 18.285171mA - 0.40 20.907156mA 19.661164mA 21.673162mA - 0.50 23.747146mA 22.813153mA 23.968152mA - 0.60 25.783136mA 25.234142mA 25.549143mA - 0.70 27.212126mA 27.008131mA 26.699134mA - 0.80 28.206116mA 28.280120mA 27.588124mA - 0.90 28.917106mA 29.203109mA 28.308115mA - 1.00 29.453095mA 29.892098mA 28.908106mA - 1.10 29.875084mA 30.426087mA 29.398096mA - 1.20 30.221074mA 30.854076mA 29.770086mA - 1.30 30.513063mA 31.208065mA 30.064075mA - 1.40 30.767053mA 31.507054mA 30.315065mA - 1.50 30.993042mA 31.766043mA 30.542055mA - 1.60 31.203032mA 31.995032mA 30.762044mA - 1.70 31.414021mA 32.204021mA 30.983034mA - 1.80 31.648011mA 32.407010mA 31.201024mA - 1.90 31.903000mA 32.633999mA 31.408013mA - 2.00 32.157989mA 32.912988mA 31.601003mA - 2.10 32.398979mA 33.235977mA 31.780993mA - 2.20 32.620968mA 33.562966mA 31.951982mA - 2.30 32.826958mA 33.870954mA 32.113972mA - 2.40 33.017947mA 34.153943mA 32.268961mA - 2.50 33.197936mA 34.411932mA 32.419951mA - 2.60 33.368926mA 34.647921mA 32.567941mA - 2.70 33.532915mA 34.866910mA 32.714930mA - 2.80 33.693904mA 35.070899mA 32.864920mA - 2.90 33.851894mA 35.264888mA 33.017909mA - 3.00 34.012883mA 35.450877mA 33.177899mA - 3.10 34.176872mA 35.632864mA 33.347889mA - 3.20 34.349862mA 35.813747mA 33.531878mA - 3.30 34.531848mA 35.996379mA 33.730868mA - 3.40 34.729725mA 36.157497mA 33.951857mA - 3.50 34.942986mA 36.297102mA 34.196843mA - 3.60 35.117958mA 36.436708mA 34.470599mA - 3.70 35.251602mA 36.576313mA 34.772212mA - 3.80 35.385246mA 36.715919mA 34.904053mA - 3.90 35.518890mA 36.855525mA 35.035893mA - 4.00 35.652534mA 36.995130mA 35.167734mA - 4.10 35.786178mA 37.134736mA 35.299574mA - 4.20 35.919822mA 37.274341mA 35.431414mA - 4.30 36.053466mA 37.413947mA 35.563255mA - 4.40 36.187110mA 37.553553mA 35.695095mA - 4.50 36.320754mA 37.693158mA 35.826936mA - 4.60 36.454398mA 37.832764mA 35.958776mA - 4.70 36.588042mA 37.972369mA 36.090616mA - 4.80 36.721686mA 38.111975mA 36.222457mA - 4.90 36.855330mA 38.251581mA 36.354297mA - 5.00 36.988974mA 38.391186mA 36.486138mA - 5.10 37.122618mA 38.530792mA 36.617978mA - 5.20 37.256262mA 38.670397mA 36.749818mA - 5.30 37.389906mA 38.810003mA 36.881659mA - 5.40 37.523550mA 38.949609mA 37.013499mA - 5.50 37.657194mA 39.089214mA 37.145340mA - 5.60 37.790838mA 39.228820mA 37.277180mA - 5.70 37.924482mA 39.368425mA 37.409020mA - 5.80 38.058126mA 39.508031mA 37.540861mA - 5.90 38.191770mA 39.647637mA 37.672701mA - 6.00 38.325414mA 39.787242mA 37.804542mA - 6.10 38.459058mA 39.926848mA 37.936382mA - 6.20 38.592702mA 40.066453mA 38.068222mA - 6.30 38.726346mA 40.206059mA 38.200063mA - 6.40 38.859990mA 40.345665mA 38.331903mA - 6.50 38.993634mA 40.485270mA 38.463744mA - 6.60 39.127278mA 40.624876mA 38.595584mA -| -[Pullup] -|Voltage I(typ) I(min) I(max) -| - -3.30 66.669757mA 87.094613mA 92.797733mA - -3.20 66.440741mA 86.767866mA 92.515330mA - -3.10 66.211726mA 86.441119mA 92.232928mA - -3.00 65.982711mA 86.114372mA 91.950525mA - -2.90 65.753695mA 85.787625mA 91.668122mA - -2.80 65.524680mA 85.460878mA 91.385720mA - -2.70 65.295664mA 85.134131mA 91.103317mA - -2.60 65.066649mA 84.807384mA 90.820915mA - -2.50 64.837633mA 84.480636mA 90.538512mA - -2.40 64.608618mA 84.153889mA 90.256109mA - -2.30 64.379602mA 83.827142mA 89.973707mA - -2.20 64.150587mA 83.500395mA 89.691304mA - -2.10 63.921571mA 83.173648mA 89.408901mA - -2.00 63.692556mA 82.846901mA 89.126499mA - -1.90 63.463540mA 82.520154mA 88.844096mA - -1.80 63.234525mA 82.323794mA 88.561693mA - -1.70 63.005509mA 81.008819mA 88.279291mA - -1.60 62.776494mA 78.640845mA 87.996888mA - -1.50 62.547479mA 75.568869mA 87.714485mA - -1.40 62.318463mA 71.978893mA 87.432083mA - -1.30 62.089448mA 67.983917mA 87.149680mA - -1.20 61.860432mA 63.658940mA 86.867278mA - -1.10 61.631417mA 59.058962mA 86.584875mA - -1.00 61.402401mA 54.225984mA 80.067686mA - -0.90 61.173386mA 49.192006mA 71.275712mA - -0.80 54.621889mA 45.212027mA 61.996736mA - -0.70 47.050911mA 41.794048mA 52.900760mA - -0.60 39.442932mA 35.550069mA 44.185783mA - -0.50 32.215954mA 29.164089mA 36.006805mA - -0.40 25.419974mA 23.007107mA 28.393828mA - -0.30 17.101700mA 15.824500mA 19.002300mA - -0.20 12.464986mA 11.277815mA 13.918820mA - -0.10 6.164125mA 5.580948mA 6.877969mA - 0.00 -18.490000nA -17.070000nA -20.440000nA - 0.10 -5.904938mA -5.394928mA -6.530140mA - 0.20 -11.454128mA -10.553116mA -12.558129mA - 0.30 -16.640117mA -15.473105mA -18.069119mA - 0.40 -21.457106mA -20.150094mA -23.046108mA - 0.50 -25.896096mA -24.583083mA -27.475098mA - 0.60 -29.949085mA -28.768072mA -31.336087mA - 0.70 -33.609074mA -32.702061mA -34.612077mA - 0.80 -36.868064mA -36.383050mA -37.284067mA - 0.90 -39.717053mA -39.806039mA -39.346056mA - 1.00 -42.147042mA -42.970028mA -40.889046mA - 1.10 -44.149032mA -45.870017mA -42.089035mA - 1.20 -45.748021mA -48.504006mA -43.060025mA - 1.30 -47.028011mA -50.866995mA -43.869015mA - 1.40 -48.080000mA -52.957984mA -44.561004mA - 1.50 -48.964989mA -54.770973mA -45.164994mA - 1.60 -49.722979mA -56.304962mA -45.700984mA - 1.70 -50.383968mA -57.595951mA -46.184973mA - 1.80 -50.967958mA -58.692940mA -46.625963mA - 1.90 -51.489947mA -59.638929mA -47.033952mA - 2.00 -51.962937mA -60.463918mA -47.412942mA - 2.10 -52.394926mA -61.192907mA -47.768932mA - 2.20 -52.791916mA -61.842896mA -48.104921mA - 2.30 -53.159905mA -62.426885mA -48.424911mA - 2.40 -53.504894mA -62.956874mA -48.730901mA - 2.50 -53.827884mA -63.439863mA -49.025891mA - 2.60 -54.132874mA -63.884852mA -49.310882mA - 2.70 -54.422864mA -64.295841mA -49.587873mA - 2.80 -54.700854mA -64.676830mA -49.859863mA - 2.90 -54.966844mA -65.033819mA -50.128854mA - 3.00 -55.224834mA -65.367808mA -50.397845mA - 3.10 -55.477825mA -65.682796mA -50.669835mA - 3.20 -55.727815mA -65.980780mA -50.947826mA - 3.30 -55.978806mA -66.265706mA -51.235817mA - 3.40 -56.233792mA -66.536956mA -51.539808mA - 3.50 -56.497705mA -66.792873mA -51.862798mA - 3.60 -56.774346mA -66.928560mA -52.210786mA - 3.70 -57.054551mA -67.195337mA -52.589679mA - 3.80 -57.194470mA -67.462113mA -53.001555mA - 3.90 -57.422477mA -67.728890mA -53.392977mA - 4.00 -57.650484mA -67.995667mA -53.537857mA - 4.10 -57.878491mA -68.262444mA -53.750052mA - 4.20 -58.106498mA -68.529220mA -53.962246mA - 4.30 -58.334506mA -68.795997mA -54.174441mA - 4.40 -58.562513mA -69.062774mA -54.386636mA - 4.50 -58.790520mA -69.329550mA -54.598830mA - 4.60 -59.018527mA -69.596327mA -54.811025mA - 4.70 -59.246534mA -69.863104mA -55.023219mA - 4.80 -59.474541mA -70.129881mA -55.235414mA - 4.90 -59.702548mA -70.396657mA -55.447608mA - 5.00 -59.930555mA -70.663434mA -55.659803mA - 5.10 -60.158563mA -70.930211mA -55.871997mA - 5.20 -60.386570mA -71.196988mA -56.084192mA - 5.30 -60.614577mA -71.463764mA -56.296387mA - 5.40 -60.842584mA -71.730541mA -56.508581mA - 5.50 -61.070591mA -71.997318mA -56.720776mA - 5.60 -61.298598mA -72.264094mA -56.932970mA - 5.70 -61.526605mA -72.530871mA -57.145165mA - 5.80 -61.754612mA -72.797648mA -57.357359mA - 5.90 -61.982620mA -73.064425mA -57.569554mA - 6.00 -62.210627mA -73.331201mA -57.781748mA - 6.10 -62.438634mA -73.597978mA -57.993943mA - 6.20 -62.666641mA -73.864755mA -58.206138mA - 6.30 -62.894648mA -74.131531mA -58.418332mA - 6.40 -63.122655mA -74.398308mA -58.630527mA - 6.50 -63.350662mA -74.665085mA -58.842721mA - 6.55 -63.464666mA -74.798473mA -58.948819mA -| -[GND_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 -0.966230A -0.950520A -0.981210A - -3.22 -0.926890A -0.911380A -0.941720A - -3.14 -0.887580A -0.872280A -0.902250A - -3.06 -0.848310A -0.833240A -0.862810A - -2.98 -0.809090A -0.794250A -0.823400A - -2.90 -0.769910A -0.755320A -0.784030A - -2.82 -0.730780A -0.716470A -0.744690A - -2.74 -0.691720A -0.677700A -0.705410A - -2.66 -0.652720A -0.639020A -0.666170A - -2.58 -0.613810A -0.600460A -0.627000A - -2.50 -0.574990A -0.562020A -0.587900A - -2.42 -0.536290A -0.523740A -0.548880A - -2.34 -0.497720A -0.485650A -0.509970A - -2.26 -0.459320A -0.447780A -0.471180A - -2.18 -0.421130A -0.410210A -0.432540A - -2.10 -0.383220A -0.373010A -0.394110A - -2.02 -0.345660A -0.336310A -0.355940A - -1.94 -0.308600A -0.300310A -0.318140A - -1.86 -0.272270A -0.265320A -0.280870A - -1.78 -0.237080A -0.231900A -0.244460A - -1.70 -0.203840A -0.201040A -0.209550A - -1.62 -0.174180A -0.174390A -0.177650A - -1.54 -0.150480A -0.153310A -0.151870A - -1.46 -0.132430A -0.136590A -0.133020A - -1.38 -0.116630A -0.121710A -0.116640A - -1.30 -0.101400A -0.107420A -0.100700A - -1.22 -86.415000mA -93.408000mA -84.973000mA - -1.14 -71.663000mA -79.635000mA -69.550000mA - -1.06 -57.217000mA -66.144000mA -54.650000mA - -0.98 -43.212000mA -53.022000mA -40.867000mA - -0.90 -29.917000mA -40.404000mA -29.601000mA - -0.82 -17.964000mA -28.506000mA -21.040000mA - -0.74 -8.811200mA -17.674000mA -13.572000mA - -0.66 -3.584800mA -8.562700mA -7.150700mA - -0.58 -1.078100mA -2.529400mA -2.551200mA - -0.50 -0.216530mA -0.395140mA -0.485250mA - -0.42 -33.488000uA -47.466000uA -54.573000uA - -0.34 -4.479600uA -6.180600uA -4.703900uA - -0.26 -0.684160uA -1.044200uA -0.515460uA - -0.18 -0.256300uA -0.340620uA -0.232000uA - -0.10 -0.207580uA -0.233950uA -0.209060uA - -0.02 -0.196470uA -0.211740uA -0.200850uA - 0.06 -0.188630uA -0.201350uA -0.193360uA - 0.14 -0.180980uA -0.192340uA -0.185900uA - 0.22 -0.173340uA -0.183540uA -0.178450uA - 0.30 -0.165690uA -0.174750uA -0.171010uA - 0.38 -0.158000uA -0.165960uA -0.163570uA - 0.46 -0.150270uA -0.157150uA -0.156120uA - 0.54 -0.142440uA -0.148340uA -0.148680uA - 0.62 -0.134460uA -0.139540uA -0.141240uA - 0.70 -0.126310uA -0.130730uA -0.133790uA - 0.78 -0.118040uA -0.121920uA -0.126340uA - 0.86 -0.109700uA -0.113110uA -0.118880uA - 0.94 -0.101320uA -0.104310uA -0.111370uA - 1.02 -92.914000nA -95.498000nA -0.103710uA - 1.10 -84.495000nA -86.692000nA -95.808000nA - 1.18 -76.063000nA -77.885000nA -87.731000nA - 1.26 -67.624000nA -69.077000nA -79.564000nA - 1.34 -59.178000nA -60.269000nA -71.346000nA - 1.42 -50.727000nA -51.460000nA -63.100000nA - 1.50 -42.271000nA -42.651000nA -54.834000nA - 1.58 -33.812000nA -33.840000nA -46.556000nA - 1.66 -25.349000nA -25.028000nA -38.268000nA - 1.74 -16.884000nA -16.215000nA -29.974000nA - 1.82 -8.415500nA -7.400800nA -21.675000nA - 1.90 55.195000pA 1.415400nA -13.371000nA - 1.98 8.528300nA 10.233000nA -5.064900nA - 2.06 17.004000nA 19.054000nA 3.244100nA - 2.14 25.482000nA 27.876000nA 11.555000nA - 2.22 33.962000nA 36.702000nA 19.868000nA - 2.30 42.445000nA 45.532000nA 28.183000nA - 2.38 50.931000nA 54.365000nA 36.499000nA - 2.46 59.420000nA 63.204000nA 44.816000nA - 2.54 67.912000nA 72.050000nA 53.135000nA - 2.62 76.408000nA 80.904000nA 61.455000nA - 2.70 84.908000nA 89.768000nA 69.776000nA - 2.78 93.413000nA 98.647000nA 78.099000nA - 2.86 0.101920uA 0.107550uA 86.423000nA - 2.94 0.110440uA 0.116470uA 94.749000nA - 3.02 0.118970uA 0.125470uA 0.103080uA - 3.10 0.127510uA 0.135560uA 0.111410uA - 3.18 0.136060uA 0.207650uA 0.119740uA - 3.26 0.144710uA 0.665780uA 0.128080uA - 3.30 0.152020uA 1.620700uA 0.132250uA -| -[POWER_clamp] -|Voltage I(typ) I(min) I(max) -| - -3.30 1.922000uA 1.691900uA 2.178700uA - -3.26 1.903700uA 1.676200uA 2.158100uA - -3.22 1.885700uA 1.660600uA 2.137700uA - -3.18 1.867800uA 1.645300uA 2.117600uA - -3.14 1.850200uA 1.630100uA 2.097600uA - -3.10 1.832700uA 1.615000uA 2.077900uA - -3.06 1.815500uA 1.600200uA 2.058300uA - -3.02 1.798400uA 1.585500uA 2.039000uA - -2.98 1.781600uA 1.570900uA 2.019900uA - -2.94 1.764900uA 1.556500uA 2.001000uA - -2.90 1.748500uA 1.542300uA 1.982300uA - -2.86 1.732200uA 1.528200uA 1.963900uA - -2.82 1.716100uA 1.514300uA 1.945600uA - -2.78 1.700200uA 1.500500uA 1.927500uA - -2.74 1.684500uA 1.486900uA 1.909700uA - -2.70 1.668900uA 1.473400uA 1.892000uA - -2.66 1.653600uA 1.460100uA 1.874600uA - -2.62 1.638400uA 1.446900uA 1.857300uA - -2.58 1.623400uA 1.433900uA 1.840300uA - -2.54 1.608600uA 1.421000uA 1.823400uA - -2.50 1.594000uA 1.408300uA 1.806800uA - -2.46 1.579600uA 1.395600uA 1.790400uA - -2.42 1.565300uA 1.383200uA 1.774100uA - -2.38 1.551200uA 1.370800uA 1.758100uA - -2.34 1.537200uA 1.358700uA 1.742200uA - -2.30 1.523500uA 1.346600uA 1.726600uA - -2.26 1.509900uA 1.334700uA 1.711100uA - -2.22 1.496500uA 1.322900uA 1.695800uA - -2.18 1.483200uA 1.311200uA 1.680700uA - -2.14 1.470100uA 1.299600uA 1.665900uA - -2.10 1.457200uA 1.288200uA 1.651200uA - -2.06 1.444400uA 1.276900uA 1.636600uA - -2.02 1.431800uA 1.265700uA 1.622300uA - -1.98 1.419300uA 1.254700uA 1.608200uA - -1.94 1.407000uA 1.243700uA 1.594200uA - -1.90 1.394800uA 1.232900uA 1.580400uA - -1.86 1.382800uA 1.222200uA 1.566800uA - -1.82 1.370900uA 1.211600uA 1.553400uA - -1.78 1.359200uA 1.201100uA 1.540100uA - -1.74 1.347600uA 1.190700uA 1.527000uA - -1.70 1.336200uA 1.180500uA 1.514100uA - -1.66 1.324900uA 1.170300uA 1.501400uA - -1.62 1.313700uA 1.160200uA 1.488800uA - -1.58 1.302700uA 1.150200uA 1.476400uA - -1.54 1.291800uA 1.140400uA 1.464100uA - -1.50 1.281000uA 1.130600uA 1.452000uA - -1.46 1.270400uA 1.120900uA 1.440100uA - -1.42 1.259800uA 1.111300uA 1.428300uA - -1.38 1.249400uA 1.101800uA 1.416700uA - -1.34 1.239200uA 1.092400uA 1.405200uA - -1.30 1.229000uA 1.083000uA 1.393900uA - -1.26 1.218900uA 1.073800uA 1.382700uA - -1.22 1.209000uA 1.064600uA 1.371700uA - -1.18 1.199200uA 1.055500uA 1.360800uA - -1.14 1.189500uA 1.046500uA 1.350100uA - -1.10 1.179800uA 1.037600uA 1.339400uA - -1.06 1.170300uA 1.028700uA 1.329000uA - -1.02 1.160900uA 1.019900uA 1.318600uA - -0.98 1.151600uA 1.011200uA 1.308400uA - -0.94 1.142400uA 1.002500uA 1.298300uA - -0.90 1.133300uA 0.993900uA 1.288300uA - -0.86 1.124200uA 0.985360uA 1.278400uA - -0.82 1.115300uA 0.976890uA 1.268700uA - -0.78 1.106400uA 0.968470uA 1.259000uA - -0.74 1.097600uA 0.960110uA 1.249500uA - -0.70 1.088900uA 0.951810uA 1.240100uA - -0.66 1.080300uA 0.943560uA 1.230800uA - -0.62 1.071700uA 0.935380uA 1.221600uA - -0.58 1.063200uA 0.927260uA 1.212500uA - -0.54 1.054800uA 0.919220uA 1.203400uA - -0.50 1.046400uA 0.911290uA 1.194500uA - -0.46 1.038100uA 0.903530uA 1.185600uA - -0.42 1.029800uA 0.896100uA 1.176600uA - -0.38 1.021500uA 0.889460uA 1.167600uA - -0.34 1.017292uA 0.887043uA 1.162691uA - -0.30 1.017269uA 0.887023uA 1.162665uA - -0.26 1.017176uA 0.886942uA 1.162558uA - -0.22 1.016803uA 0.886617uA 1.162132uA - -0.18 1.015313uA 0.885317uA 1.160429uA - -0.14 1.009352uA 0.880120uA 1.153616uA - -0.10 0.985509uA 0.859330uA 1.126366uA - -0.06 0.890137uA 0.776169uA 1.017362uA - -0.02 1.500000pA 1.200000pA 1.800000pA - 0.00 0.0A 0.0A 0.0A -| -[Ramp] -| variable typ min max -dV/dt_r 1.322279/1.397370n 1.285979/1.830494n 1.312139/1.075717n -dV/dt_f 0.909660/0.907875n 0.826020/1.758264n 1.011840/0.527820n -R_load = 50.000000 -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 1.726300V 1.546200V 1.899700V -0.2020ns 1.726800V 1.546200V 1.904800V -0.4040ns 1.737400V 1.550000V 2.017500V -0.6061ns 1.942100V 1.551600V 2.912500V -0.8081ns 2.634400V 1.596800V 3.407200V -1.0101ns 3.187200V 1.875300V 3.460800V -1.2121ns 3.279100V 2.359700V 3.465800V -1.4141ns 3.292700V 2.847800V 3.467100V -1.6162ns 3.295600V 3.089900V 3.467600V -1.8182ns 3.296700V 3.123600V 3.467900V -2.0202ns 3.297300V 3.130900V 3.468200V -2.2222ns 3.297500V 3.134300V 3.468700V -2.4242ns 3.297700V 3.135700V 3.468900V -2.6263ns 3.297900V 3.136600V 3.470800V -2.8283ns 3.298100V 3.137000V 3.470300V -3.0303ns 3.298400V 3.137300V 3.470100V -3.2323ns 3.299000V 3.137500V 3.470000V -3.4343ns 3.300800V 3.137600V 3.470000V -3.6364ns 3.300800V 3.137800V 3.470000V -3.8384ns 3.300300V 3.137900V 3.469900V -4.0404ns 3.300200V 3.138000V 3.469900V -4.2424ns 3.300000V 3.138200V 3.469900V -4.4444ns 3.300000V 3.138400V 3.469900V -4.6465ns 3.300000V 3.138600V 3.469900V -4.8485ns 3.300000V 3.138900V 3.469900V -5.0505ns 3.300000V 3.139200V 3.469900V -5.2525ns 3.300000V 3.140400V 3.469900V -5.4545ns 3.299900V 3.140300V 3.469900V -5.6566ns 3.299900V 3.140100V 3.469900V -5.8586ns 3.299900V 3.140100V 3.470000V -6.0606ns 3.299900V 3.140000V 3.470000V -6.2626ns 3.299900V 3.140000V 3.470000V -6.4646ns 3.299900V 3.140000V 3.470000V -6.6667ns 3.299900V 3.140000V 3.470000V -6.8687ns 3.299900V 3.140000V 3.470000V -7.0707ns 3.299900V 3.140000V 3.470000V -7.2727ns 3.299900V 3.140000V 3.470000V -7.4747ns 3.299900V 3.140000V 3.470000V -7.6768ns 3.299900V 3.140000V 3.470000V -7.8788ns 3.300000V 3.140000V 3.470000V -8.0808ns 3.300000V 3.140000V 3.470000V -8.2828ns 3.300000V 3.140000V 3.470000V -8.4848ns 3.300000V 3.140000V 3.470000V -8.6869ns 3.300000V 3.139900V 3.470000V -8.8889ns 3.300000V 3.139900V 3.470000V -9.0909ns 3.300000V 3.139900V 3.470000V -9.2929ns 3.300000V 3.139900V 3.470000V -9.4949ns 3.300000V 3.139900V 3.470000V -9.6970ns 3.300000V 3.139900V 3.470000V -9.8990ns 3.300000V 3.139900V 3.470000V -10.1010ns 3.300000V 3.139900V 3.470000V -10.3030ns 3.300000V 3.139900V 3.470000V -10.5051ns 3.300000V 3.139900V 3.470000V -10.7071ns 3.300000V 3.139900V 3.470000V -10.9091ns 3.300000V 3.139900V 3.470000V -11.1111ns 3.300000V 3.139900V 3.470000V -11.3131ns 3.300000V 3.139900V 3.470000V -11.5152ns 3.300000V 3.140000V 3.470000V -11.7172ns 3.300000V 3.140000V 3.470000V -11.9192ns 3.300000V 3.140000V 3.470000V -12.1212ns 3.300000V 3.140000V 3.470000V -12.3232ns 3.300000V 3.140000V 3.470000V -12.5253ns 3.300000V 3.140000V 3.470000V -12.7273ns 3.300000V 3.140000V 3.470000V -12.9293ns 3.300000V 3.140000V 3.470000V -13.1313ns 3.300000V 3.140000V 3.470000V -13.3333ns 3.300000V 3.140000V 3.470000V -13.5354ns 3.300000V 3.140000V 3.470000V -13.7374ns 3.300000V 3.140000V 3.470000V -13.9394ns 3.300000V 3.140000V 3.470000V -14.1414ns 3.300000V 3.140000V 3.470000V -14.3434ns 3.300000V 3.140000V 3.470000V -14.5455ns 3.300000V 3.140000V 3.470000V -14.7475ns 3.300000V 3.140000V 3.470000V -14.9495ns 3.300000V 3.140000V 3.470000V -15.1515ns 3.300000V 3.140000V 3.470000V -15.3535ns 3.300000V 3.140000V 3.470000V -15.5556ns 3.300000V 3.140000V 3.470000V -15.7576ns 3.300000V 3.140000V 3.470000V -15.9596ns 3.300000V 3.140000V 3.470000V -16.1616ns 3.300000V 3.140000V 3.470000V -16.3636ns 3.300000V 3.140000V 3.470000V -16.5657ns 3.300000V 3.140000V 3.470000V -16.7677ns 3.300000V 3.140000V 3.470000V -16.9697ns 3.300000V 3.140000V 3.470000V -17.1717ns 3.300000V 3.140000V 3.470000V -17.3737ns 3.300000V 3.140000V 3.470000V -17.5758ns 3.300000V 3.140000V 3.470000V -17.7778ns 3.300000V 3.140000V 3.470000V -17.9798ns 3.300000V 3.140000V 3.470000V -18.1818ns 3.300000V 3.140000V 3.470000V -18.3838ns 3.300000V 3.140000V 3.470000V -18.5859ns 3.300000V 3.140000V 3.470000V -18.7879ns 3.300000V 3.140000V 3.470000V -18.9899ns 3.300000V 3.140000V 3.470000V -19.1919ns 3.300000V 3.140000V 3.470000V -19.3939ns 3.300000V 3.140000V 3.470000V -19.5960ns 3.300000V 3.140000V 3.470000V -19.7980ns 3.300000V 3.140000V 3.470000V -20.0000ns 3.300000V 3.140000V 3.470000V -| -[Rising Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 1.860000uV 2.247100uV 1.679700uV -0.2020ns -0.129790mV 4.669400uV -0.320790mV -0.4040ns -1.716600mV 0.272540uV -4.681500mV -0.6061ns 1.221000mV -0.447820mV 0.186680V -0.8081ns 0.107030V -5.196400mV 0.507800V -1.0101ns 0.361420V 7.872900mV 0.782610V -1.2121ns 0.574160V 63.086000mV 1.032400V -1.4141ns 0.778920V 0.229510V 1.269500V -1.6162ns 0.975680V 0.410340V 1.497800V -1.8182ns 1.166800V 0.562960V 1.717900V -2.0202ns 1.353800V 0.714380V 1.916400V -2.2222ns 1.533600V 0.865340V 2.085800V -2.4242ns 1.705400V 1.012700V 2.201900V -2.6263ns 1.865600V 1.157800V 2.206500V -2.8283ns 2.002800V 1.297100V 2.148000V -3.0303ns 2.119800V 1.433900V 2.116300V -3.2323ns 2.194200V 1.564200V 2.100900V -3.4343ns 2.242600V 1.684200V 2.095200V -3.6364ns 2.206600V 1.795900V 2.092100V -3.8384ns 2.175600V 1.885300V 2.093400V -4.0404ns 2.158100V 1.961700V 2.097900V -4.2424ns 2.149800V 2.017100V 2.104000V -4.4444ns 2.145000V 2.058100V 2.111400V -4.6465ns 2.142500V 2.090000V 2.119600V -4.8485ns 2.141700V 2.113000V 2.127800V -5.0505ns 2.141900V 2.137500V 2.135200V -5.2525ns 2.142800V 2.134100V 2.141000V -5.4545ns 2.144700V 2.126700V 2.146000V -5.6566ns 2.148900V 2.121500V 2.150700V -5.8586ns 2.153600V 2.118100V 2.154700V -6.0606ns 2.158200V 2.116400V 2.158400V -6.2626ns 2.162900V 2.115100V 2.161600V -6.4646ns 2.167200V 2.114600V 2.164500V -6.6667ns 2.171000V 2.114400V 2.167000V -6.8687ns 2.174500V 2.114500V 2.169300V -7.0707ns 2.177500V 2.114600V 2.171300V -7.2727ns 2.180300V 2.114800V 2.173100V -7.4747ns 2.182800V 2.115200V 2.174700V -7.6768ns 2.185100V 2.115600V 2.176100V -7.8788ns 2.187100V 2.116000V 2.177400V -8.0808ns 2.188900V 2.116500V 2.178500V -8.2828ns 2.190500V 2.117100V 2.179500V -8.4848ns 2.191900V 2.117700V 2.180300V -8.6869ns 2.193200V 2.118500V 2.181100V -8.8889ns 2.194300V 2.119600V 2.181800V -9.0909ns 2.195300V 2.121000V 2.182400V -9.2929ns 2.196300V 2.122600V 2.182900V -9.4949ns 2.197100V 2.124200V 2.183400V -9.6970ns 2.197800V 2.125900V 2.183800V -9.8990ns 2.198500V 2.127400V 2.184200V -10.1010ns 2.199350V 2.129450V 2.184650V -10.3030ns 2.200000V 2.131300V 2.185000V -10.5051ns 2.200500V 2.132300V 2.185200V -10.7071ns 2.200800V 2.133300V 2.185400V -10.9091ns 2.201200V 2.134200V 2.185600V -11.1111ns 2.201500V 2.135100V 2.185800V -11.3131ns 2.201700V 2.135800V 2.185900V -11.5152ns 2.202000V 2.136500V 2.186000V -11.7172ns 2.202200V 2.137100V 2.186100V -11.9192ns 2.202400V 2.137700V 2.186200V -12.1212ns 2.202500V 2.138200V 2.186300V -12.3232ns 2.202700V 2.138700V 2.186400V -12.5253ns 2.202800V 2.139100V 2.186400V -12.7273ns 2.202900V 2.139500V 2.186500V -12.9293ns 2.203000V 2.139900V 2.186500V -13.1313ns 2.203100V 2.140200V 2.186600V -13.3333ns 2.203200V 2.140500V 2.186600V -13.5354ns 2.203300V 2.140700V 2.186600V -13.7374ns 2.203300V 2.141000V 2.186700V -13.9394ns 2.203400V 2.141200V 2.186700V -14.1414ns 2.203400V 2.141400V 2.186700V -14.3434ns 2.203500V 2.141600V 2.186700V -14.5455ns 2.203500V 2.141800V 2.186700V -14.7475ns 2.203600V 2.141900V 2.186800V -14.9495ns 2.203600V 2.142000V 2.186800V -15.1515ns 2.203600V 2.142200V 2.186800V -15.3535ns 2.203600V 2.142300V 2.186800V -15.5556ns 2.203700V 2.142400V 2.186800V -15.7576ns 2.203700V 2.142500V 2.186800V -15.9596ns 2.203700V 2.142600V 2.186800V -16.1616ns 2.203700V 2.142600V 2.186800V -16.3636ns 2.203700V 2.142700V 2.186800V -16.5657ns 2.203700V 2.142800V 2.186900V -16.7677ns 2.203700V 2.142800V 2.186900V -16.9697ns 2.203800V 2.142900V 2.186900V -17.1717ns 2.203800V 2.142900V 2.186900V -17.3737ns 2.203800V 2.143000V 2.186900V -17.5758ns 2.203800V 2.143000V 2.186900V -17.7778ns 2.203800V 2.143000V 2.186900V -17.9798ns 2.203800V 2.143100V 2.186900V -18.1818ns 2.203800V 2.143100V 2.186900V -18.3838ns 2.203800V 2.143100V 2.186900V -18.5859ns 2.203800V 2.143100V 2.186900V -18.7879ns 2.203800V 2.143200V 2.186900V -18.9899ns 2.203800V 2.143200V 2.186900V -19.1919ns 2.203800V 2.143200V 2.186900V -19.3939ns 2.203800V 2.143200V 2.186900V -19.5960ns 2.203800V 2.143200V 2.186900V -19.7980ns 2.203800V 2.143200V 2.186900V -20.0000ns 2.203800V 2.143300V 2.186900V -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 0.0 -V_fixture_min= 0.0 -V_fixture_max= 0.0 -|time V(typ) V(min) V(max) -| -0.0S 2.203900V 2.143400V 2.187000V -0.2020ns 2.204000V 2.143400V 2.193500V -0.4040ns 2.222800V 2.147700V 2.032600V -0.6061ns 2.041300V 2.152800V 1.329800V -0.8081ns 1.561500V 2.146100V 0.689440V -1.0101ns 1.011100V 2.097000V 0.210050V -1.2121ns 0.595520V 1.931200V 16.668000mV -1.4141ns 0.291310V 1.573700V 3.287100mV -1.6162ns 80.606000mV 1.160800V 1.540100mV -1.8182ns 13.976000mV 0.816650V 0.795800mV -2.0202ns 3.438200mV 0.556260V 0.249100mV -2.2222ns 2.674800mV 0.354310V 0.141130mV -2.4242ns 1.686600mV 0.200190V -0.655480mV -2.6263ns 0.612530mV 87.872000mV -2.068600uV -2.8283ns 0.572400mV 33.061000mV -22.091000uV -3.0303ns 0.375060mV 11.834000mV -24.867000uV -3.2323ns 0.241800mV 4.814600mV -26.956000uV -3.4343ns -0.105830mV 3.354200mV -15.925000uV -3.6364ns -75.323000uV 2.452700mV -21.116000uV -3.8384ns 4.162200uV 1.747000mV -21.198000uV -4.0404ns -9.814400uV 1.397500mV -20.735000uV -4.2424ns -8.341900uV 1.108100mV -20.330000uV -4.4444ns -6.866100uV 0.872660mV -19.920000uV -4.6465ns -5.387100uV 0.692450mV -19.527000uV -4.8485ns -8.072400uV 0.289700mV -19.137000uV -5.0505ns -7.958300uV 0.244360mV -18.776000uV -5.2525ns -7.769600uV -77.493000uV -18.423000uV -5.4545ns -7.625700uV -0.105340mV -18.079000uV -5.6566ns -7.474800uV -54.805000uV -17.737000uV -5.8586ns -7.290100uV 10.015000uV -17.420000uV -6.0606ns -7.095100uV 31.098000uV -17.110000uV -6.2626ns -6.941900uV 27.849000uV -16.798000uV -6.4646ns -6.801300uV 26.843000uV -16.485000uV -6.6667ns -6.644700uV 25.837000uV -16.193000uV -6.8687ns -6.483200uV 24.821000uV -15.906000uV -7.0707ns -6.356800uV 23.930000uV -15.617000uV -7.2727ns -6.241000uV 23.931000uV -15.328000uV -7.4747ns -6.109700uV 23.867000uV -15.057000uV -7.6768ns -5.973800uV 23.333000uV -14.790000uV -7.8788ns -5.859500uV 22.861000uV -14.523000uV -8.0808ns -5.751700uV 22.831000uV -14.256000uV -8.2828ns -5.632300uV 22.765000uV -14.004000uV -8.4848ns -5.509400uV 22.433000uV -13.756000uV -8.6869ns -5.401200uV 22.127000uV -13.508000uV -8.8889ns -5.297500uV 22.000000uV -13.261000uV -9.0909ns -5.186800uV 21.856000uV -13.026000uV -9.2929ns -5.073900uV 21.583000uV -12.795000uV -9.4949ns -4.971400uV 21.321000uV -12.566000uV -9.6970ns -4.872100uV 21.138000uV -12.337000uV -9.8990ns -4.768700uV 20.948000uV -12.119000uV -10.1010ns -4.615700uV 20.580000uV -11.796500uV -10.3030ns -4.472500uV 20.255000uV -11.478000uV -10.5051ns -4.375700uV 20.048000uV -11.275000uV -10.7071ns -4.278400uV 19.819000uV -11.074000uV -10.9091ns -4.186900uV 19.593000uV -10.876000uV -11.1111ns -4.097100uV 19.385000uV -10.679000uV -11.3131ns -4.006500uV 19.177000uV -10.490000uV -11.5152ns -3.915700uV 18.963000uV -10.303000uV -11.7172ns -3.829500uV 18.751000uV -10.119000uV -11.9192ns -3.744700uV 18.550000uV -9.935200uV -12.1212ns -3.659800uV 18.348000uV -9.758900uV -12.3232ns -3.575000uV 18.147000uV -9.584400uV -12.5253ns -3.493900uV 17.946000uV -9.412900uV -12.7273ns -3.413900uV 17.750000uV -9.242200uV -12.9293ns -3.334400uV 17.555000uV -9.077700uV -13.1313ns -3.255000uV 17.367000uV -8.914800uV -13.3333ns -3.178700uV 17.180000uV -8.754900uV -13.5354ns -3.103400uV 16.992000uV -8.595700uV -13.7374ns -3.028800uV 16.805000uV -8.442200uV -13.9394ns -2.954500uV 16.625000uV -8.290100uV -14.1414ns -2.882800uV 16.446000uV -8.140800uV -14.3434ns -2.811900uV 16.271000uV -7.992300uV -14.5455ns -2.741900uV 16.096000uV -7.848800uV -14.7475ns -2.672100uV 15.921000uV -7.706700uV -14.9495ns -2.604700uV 15.747000uV -7.567200uV -15.1515ns -2.538000uV 15.582000uV -7.428400uV -15.3535ns -2.472300uV 15.417000uV -7.294300uV -15.5556ns -2.406900uV 15.254000uV -7.161400uV -15.7576ns -2.343500uV 15.091000uV -7.031000uV -15.9596ns -2.280700uV 14.928000uV -6.901100uV -16.1616ns -2.219000uV 14.767000uV -6.775700uV -16.3636ns -2.157500uV 14.614000uV -6.651300uV -16.5657ns -2.097900uV 14.461000uV -6.529200uV -16.7677ns -2.038900uV 14.310000uV -6.407700uV -16.9697ns -1.980900uV 14.158000uV -6.290200uV -17.1717ns -1.923100uV 14.007000uV -6.173700uV -17.3737ns -1.867100uV 13.856000uV -6.059300uV -17.5758ns -1.811500uV 13.715000uV -5.945500uV -17.7778ns -1.756900uV 13.574000uV -5.835400uV -17.9798ns -1.702700uV 13.433000uV -5.726200uV -18.1818ns -1.649900uV 13.292000uV -5.619000uV -18.3838ns -1.597600uV 13.151000uV -5.512200uV -18.5859ns -1.546300uV 13.011000uV -5.409000uV -18.7879ns -1.495300uV 12.881000uV -5.306700uV -18.9899ns -1.445600uV 12.750000uV -5.206100uV -19.1919ns -1.396400uV 12.619000uV -5.105900uV -19.3939ns -1.348100uV 12.488000uV -5.009100uV -19.5960ns -1.300200uV 12.357000uV -4.913100uV -19.7980ns -1.253400uV 12.227000uV -4.818400uV -20.0000ns -1.206900uV 12.109000uV -4.724200uV -| -[Falling Waveform] -R_fixture= 50.000000 -V_fixture= 3.300000 -V_fixture_min= 3.140000 -V_fixture_max= 3.470000 -|time V(typ) V(min) V(max) -| -0.0S 3.300000V 3.140000V 3.470000V -0.2020ns 3.299700V 3.140000V 3.468500V -0.4040ns 3.300800V 3.139500V 3.480800V -0.6061ns 3.307700V 3.140100V 3.421400V -0.8081ns 3.288700V 3.143500V 3.119600V -1.0101ns 3.205000V 3.143800V 2.661400V -1.2121ns 3.025100V 3.145800V 2.287000V -1.4141ns 2.763000V 3.126600V 2.008100V -1.6162ns 2.525800V 3.091800V 1.804300V -1.8182ns 2.335100V 3.031500V 1.669500V -2.0202ns 2.176400V 2.950000V 1.556300V -2.2222ns 2.038500V 2.833800V 1.492000V -2.4242ns 1.931900V 2.695300V 1.454000V -2.6263ns 1.842100V 2.569900V 1.511700V -2.8283ns 1.775200V 2.465400V 1.518000V -3.0303ns 1.725800V 2.375800V 1.523200V -3.2323ns 1.686600V 2.288200V 1.528200V -3.4343ns 1.685200V 2.209700V 1.533400V -3.6364ns 1.704000V 2.138800V 1.538300V -3.8384ns 1.711300V 2.070500V 1.543000V -4.0404ns 1.712500V 2.009900V 1.547600V -4.2424ns 1.714100V 1.956200V 1.552200V -4.4444ns 1.715500V 1.910000V 1.556700V -4.6465ns 1.717000V 1.869400V 1.561200V -4.8485ns 1.718600V 1.839700V 1.565600V -5.0505ns 1.719900V 1.823800V 1.569900V -5.2525ns 1.721200V 1.826000V 1.574200V -5.4545ns 1.722500V 1.835200V 1.578400V -5.6566ns 1.723800V 1.841500V 1.582600V -5.8586ns 1.725000V 1.842800V 1.586700V -6.0606ns 1.726200V 1.841300V 1.590800V -6.2626ns 1.727400V 1.839800V 1.594800V -6.4646ns 1.728600V 1.838400V 1.598800V -6.6667ns 1.729800V 1.837000V 1.602700V -6.8687ns 1.730900V 1.835500V 1.606600V -7.0707ns 1.732000V 1.834000V 1.610400V -7.2727ns 1.733200V 1.832700V 1.614200V -7.4747ns 1.734300V 1.831300V 1.618000V -7.6768ns 1.735400V 1.829900V 1.621600V -7.8788ns 1.736400V 1.828500V 1.625300V -8.0808ns 1.737500V 1.827100V 1.628900V -8.2828ns 1.738600V 1.825800V 1.632500V -8.4848ns 1.739600V 1.824400V 1.636000V -8.6869ns 1.740600V 1.823100V 1.639400V -8.8889ns 1.741700V 1.821800V 1.642900V -9.0909ns 1.742700V 1.820400V 1.646300V -9.2929ns 1.743700V 1.819100V 1.649600V -9.4949ns 1.744700V 1.817800V 1.652900V -9.6970ns 1.745600V 1.816500V 1.656200V -9.8990ns 1.746600V 1.815200V 1.659400V -10.1010ns 1.748050V 1.813350V 1.664200V -10.3030ns 1.749400V 1.811400V 1.668900V -10.5051ns 1.750400V 1.810200V 1.672000V -10.7071ns 1.751300V 1.809000V 1.675000V -10.9091ns 1.752200V 1.807800V 1.678000V -11.1111ns 1.753100V 1.806500V 1.681000V -11.3131ns 1.753900V 1.805400V 1.684000V -11.5152ns 1.754800V 1.804200V 1.686900V -11.7172ns 1.755700V 1.803000V 1.689700V -11.9192ns 1.756500V 1.801800V 1.692600V -12.1212ns 1.757400V 1.800700V 1.695400V -12.3232ns 1.758200V 1.799500V 1.698200V -12.5253ns 1.759000V 1.798400V 1.700900V -12.7273ns 1.759800V 1.797300V 1.703600V -12.9293ns 1.760600V 1.796200V 1.706300V -13.1313ns 1.761400V 1.795100V 1.709000V -13.3333ns 1.762200V 1.794000V 1.711600V -13.5354ns 1.763000V 1.792900V 1.714200V -13.7374ns 1.763800V 1.791800V 1.716700V -13.9394ns 1.764500V 1.790800V 1.719300V -14.1414ns 1.765300V 1.789700V 1.721800V -14.3434ns 1.766000V 1.788700V 1.724200V -14.5455ns 1.766800V 1.787700V 1.726700V -14.7475ns 1.767500V 1.786600V 1.729100V -14.9495ns 1.768200V 1.785600V 1.731500V -15.1515ns 1.768900V 1.784600V 1.733900V -15.3535ns 1.769600V 1.783600V 1.736200V -15.5556ns 1.770300V 1.782700V 1.738500V -15.7576ns 1.771000V 1.781700V 1.740800V -15.9596ns 1.771700V 1.780700V 1.743100V -16.1616ns 1.772400V 1.779800V 1.745300V -16.3636ns 1.773000V 1.778800V 1.747500V -16.5657ns 1.773700V 1.777900V 1.749700V -16.7677ns 1.774300V 1.777000V 1.751900V -16.9697ns 1.775000V 1.776000V 1.754000V -17.1717ns 1.775600V 1.775100V 1.756200V -17.3737ns 1.776300V 1.774200V 1.758300V -17.5758ns 1.776900V 1.773300V 1.760300V -17.7778ns 1.777500V 1.772400V 1.762400V -17.9798ns 1.778100V 1.771600V 1.764400V -18.1818ns 1.778700V 1.770700V 1.766400V -18.3838ns 1.779300V 1.769800V 1.768400V -18.5859ns 1.779900V 1.769000V 1.770400V -18.7879ns 1.780500V 1.768100V 1.772300V -18.9899ns 1.781100V 1.767300V 1.774200V -19.1919ns 1.781600V 1.766500V 1.776200V -19.3939ns 1.782200V 1.765700V 1.778000V -19.5960ns 1.782800V 1.764900V 1.779900V -19.7980ns 1.783300V 1.764000V 1.781700V -|20.0000ns 1.783900V 1.763300V 1.783600V -40.0000ns 1.783900V 1.550000V 1.783600V -| -| End [Model] lvc330s140aaaaaaaaio -|************************************************************************ -| End [Component] -[End] +|************************************************************************ +| IBIS Models Generator: Lattice Diamond (64-bit) 3.12.1.454 +| Generate date: Sun Aug 20 05:55:46 2023 +|************************************************************************ +| IBIS File machxo.ibs +| LibisGen v2.0.1.0, 02/25/2008, Lattice Semiconductor Corporation +| Modified by LibisMaker v2.0.1.0, 02/25/2008, Lattice Semiconductor +| North Carolina State University, ERL, 2006 +|************************************************************************ +[IBIS ver] 3.2 +[File Name] RAM2GS_LCMXO256C_im~.ibs +[File Rev] 2.2 +[Date] Mon Sep 28 10:44:10 EDT 2009 +[Source] Lattice Semiconductor EE12 Process +[Notes] "Preliminary Version" + Lattice Semiconductor has worked hard to ensure the + models below are accurate and complete. However, the + data below was generated using simulation of the + input/output model files for the silicon. Therefore, + the data below is for reference and initial design + purposes only. +| + The data below is correlated to Spice models. + For questions regarding this data please contact + us at www.latticesemi.com. +| + Lattice Semiconductor grants permission to use this + data for use in printed circuit design using this + Lattice programmable logic device. Other use of this + code, including the selling or duplication of any + portion is strictly prohibited. +| +| NAMING CONVENTION +| + The IBIS [Model] header is limited by the specification to a + total of characters. With such a set of characters available + for naming models it becomes important to attempt to + meaningfully encode the IO standards so they fit within the + twenty character limit. It would seem that twenty characters + would provide room enough for describing IO's. However, the + PLD IO structure continues to grow more and more complex. The + complexity is making the twenty characters insuffiently + descriptive. In order to overcome this issue the naming + convention described below is implemented to resolve the issue. +| +The twenty character space is managed as follows: + bbbvvvsdddprugtcoixx +| + b = standard + v = voltage (x.xx V) + s = slew code + d = drive (xx.x ma) + p = pullup code + r = series resistance code + u = terminate to vcc code + g = terminate to gnd code + t = terminate to vtt code + c = common mode termination mode + o = diff resistor code + i = diff resistor current code + x = reserved +| +| + standard +| + LVCMOS lvc + lvcmosd lvd + LVDSE lve + LVTTL lvt + lvttld ltd + PCI pci + pcix pcx + AGP1x ag1 + agp2x ag2 + sstl_I ss1 + sstl_II ss2 + sstld_I s1d + sstld_II s2d + CTT ctt + hstl_i hs1 + hstl_ii hs2 + hstl_iii hs3 + hstl_iv hs4 + hstld_i h1d + hstld_ii h2d + gtl gtl + gtlplus gtp + lvds lvs + blvds blv + mlvds mlv + lvpecl lvp + cml cml + hypt hyp + rsds rsd + vref1 vr1 + vref2 vr2 + ref_res rer +| +| + slew + na a + fast f + slow s +| + pullmode + off a + pullup b + pulldown c + bushold d + pciclamp e + up_pciclamp f + down_pciclamp g + keeper_pciclamp h + schmitt i + up_schmitt j + down_schmitt k + keeper_schmitt l + up_pciclamp_schmitt m + down_pciclamp_schmitt n + keeper_pciclamp_schmitt o + pciclamp_schmitt p +| + impedence + off a + 25 b + 33 c + 50 d + 100 e +| + termVCC + off a + 50 b + 100 c + 120 d +| + termGND + off a + 50 b + 100 c + 120 d +| + termVTT + off a + 60 b + 75 c + 120 d + 150 e + 210 f +| + VCMT + off a + VCMT b + VTT c + DDR-2 d +| + differential resistor + off a + 120 b + 150 c + 220 d + 420 e +| + differential current + NA a + 2 b + 3.5 c + 4 d + 6 e +| + Reserved IO type + in input only + ou output + io I/O + od Open drain + on Inverting differential I/O + (signal name only) + op Non-Inverting differential I/O + (signal name only) +| + All the IO models are generated with pull mode set to UP. +| + Lattice Semiconductor Corporation + 5555 NE Moore Court + Hillsboro, OR 97214 + U.S.A +| + TEL: 1-800-Lattice (USA and Canada) + 408-826-6000 (other locations) +| + web: http://www.latticesemi.com/ + email: techsupport@latticesemi.com +| +| +| +[Disclaimer] This IBIS source code is intended as a design reference + which illustrates how the Lattice Semiconductor device operates. + It is the user's responsibility to verify their design for + consistency and functionality through the use of formal + verification methods. Lattice Semiconductor provides no warranty + regarding the use or functionality of this data. +| +[Copyright] Copyright 2009 by Lattice Semiconductor Corporation +| +| +|************************************************************************ +| Component XO +|************************************************************************ +| +[Component] MXO256_MXO640_MXO1K_MXO2K +[Manufacturer] Lattice Semiconductor Corp. +[Package] +|TQFP100 +| variable typ min max +R_pkg 70.5m 54.0m 87.0m +L_pkg 4.57nH 4.27nH 4.87nH +C_pkg .52pF .47pF .57pF +| +[Pin] signal_name model_name R_pin L_pin C_pin +32 CROW[0] lvc330fxxxaaaaaaaain +34 CROW[1] lvc330fxxxaaaaaaaain +21 Din[0] lvc330fxxxaaaaaaaain +15 Din[1] lvc330fxxxaaaaaaaain +14 Din[2] lvc330fxxxaaaaaaaain +16 Din[3] lvc330fxxxaaaaaaaain +18 Din[4] lvc330fxxxaaaaaaaain +17 Din[5] lvc330fxxxaaaaaaaain +20 Din[6] lvc330fxxxaaaaaaaain +19 Din[7] lvc330fxxxaaaaaaaain +1 Dout[0] lvc330f040aaaaaaaaio +7 Dout[1] lvc330f040aaaaaaaaio +8 Dout[2] lvc330f040aaaaaaaaio +6 Dout[3] lvc330f040aaaaaaaaio +4 Dout[4] lvc330f040aaaaaaaaio +5 Dout[5] lvc330f040aaaaaaaaio +2 Dout[6] lvc330f040aaaaaaaaio +3 Dout[7] lvc330f040aaaaaaaaio +57 LED lvc330s140aaaaaaaaio +23 MAin[0] lvc330fxxxaaaaaaaain +38 MAin[1] lvc330fxxxaaaaaaaain +37 MAin[2] lvc330fxxxaaaaaaaain +47 MAin[3] lvc330fxxxaaaaaaaain +46 MAin[4] lvc330fxxxaaaaaaaain +45 MAin[5] lvc330fxxxaaaaaaaain +49 MAin[6] lvc330fxxxaaaaaaaain +44 MAin[7] lvc330fxxxaaaaaaaain +50 MAin[8] lvc330fxxxaaaaaaaain +51 MAin[9] lvc330fxxxaaaaaaaain +39 PHI2 lvc330fxxxcaaaaaaain +98 RA[0] lvc330s040aaaaaaaaio +87 RA[10] lvc330s040aaaaaaaaio +79 RA[11] lvc330s040aaaaaaaaio +89 RA[1] lvc330s040aaaaaaaaio +94 RA[2] lvc330s040aaaaaaaaio +97 RA[3] lvc330s040aaaaaaaaio +99 RA[4] lvc330s040aaaaaaaaio +95 RA[5] lvc330s040aaaaaaaaio +91 RA[6] lvc330s040aaaaaaaaio +100 RA[7] lvc330s040aaaaaaaaio +96 RA[8] lvc330s040aaaaaaaaio +85 RA[9] lvc330s040aaaaaaaaio +63 RBA[0] lvc330s040aaaaaaaaio +83 RBA[1] lvc330s040aaaaaaaaio +82 RCKE lvc330s040aaaaaaaaio +86 RCLK lvc330fxxxaaaaaaaain +76 RDQMH lvc330s040aaaaaaaaio +61 RDQML lvc330s040aaaaaaaaio +64 RD[0] lvc330s040aaaaaaaaio +65 RD[1] lvc330s040aaaaaaaaio +66 RD[2] lvc330s040aaaaaaaaio +67 RD[3] lvc330s040aaaaaaaaio +68 RD[4] lvc330s040aaaaaaaaio +69 RD[5] lvc330s040aaaaaaaaio +70 RD[6] lvc330s040aaaaaaaaio +71 RD[7] lvc330s040aaaaaaaaio +58 UFMCLK lvc330s040aaaaaaaaio +56 UFMSDI lvc330s040aaaaaaaaio +55 UFMSDO lvc330fxxxaaaaaaaain +27 nCCAS lvc330fxxxbaaaaaaain +43 nCRAS lvc330fxxxbaaaaaaain +22 nFWE lvc330fxxxaaaaaaaain +78 nRCAS lvc330s040aaaaaaaaio +77 nRCS lvc330s040aaaaaaaaio +73 nRRAS lvc330s040aaaaaaaaio +72 nRWE lvc330s040aaaaaaaaio +53 nUFMCS lvc330s040aaaaaaaaio +|************************************************************************ +[Model] lvc330f040aaaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +Vmeas = 1.650000V +Cref = 0.0F +Rref = 1.000000M +Vref = 0.0V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -16.264620mA -12.195876mA -17.211942mA + -3.20 -16.206900mA -12.152073mA -17.150026mA + -3.10 -16.149180mA -12.108270mA -17.088110mA + -3.00 -16.091460mA -12.064467mA -17.026194mA + -2.90 -16.033740mA -12.020664mA -16.964278mA + -2.80 -15.976020mA -11.976862mA -16.902362mA + -2.70 -15.918300mA -11.933059mA -16.840446mA + -2.60 -15.860580mA -11.889256mA -16.778530mA + -2.50 -15.802860mA -11.845453mA -16.716614mA + -2.40 -15.745140mA -11.801650mA -16.654698mA + -2.30 -15.687420mA -11.757848mA -16.592782mA + -2.20 -15.629700mA -11.714045mA -16.530866mA + -2.10 -15.571980mA -11.670242mA -16.468950mA + -2.00 -15.514260mA -11.626439mA -16.407034mA + -1.90 -15.456540mA -11.582636mA -16.345118mA + -1.80 -15.398820mA -11.538834mA -16.283202mA + -1.70 -15.341100mA -11.495031mA -16.221286mA + -1.60 -15.283380mA -11.451228mA -16.159370mA + -1.50 -15.225660mA -11.407425mA -16.097454mA + -1.40 -15.167940mA -11.363622mA -16.035538mA + -1.30 -15.110220mA -11.319820mA -15.973622mA + -1.20 -15.052500mA -11.276017mA -15.911706mA + -1.10 -14.994780mA -11.232214mA -15.849790mA + -1.00 -14.937060mA -11.188411mA -15.787874mA + -0.90 -14.879340mA -11.144608mA -15.725958mA + -0.80 -14.821620mA -11.100806mA -15.634000mA + -0.70 -14.763900mA -11.057003mA -15.389000mA + -0.60 -14.121200mA -11.013200mA -15.085900mA + -0.50 -12.312470mA -10.252860mA -13.892750mA + -0.40 -9.922051mA -8.353886mA -11.397898mA + -0.30 -7.415846mA -6.279285mA -8.571802mA + -0.20 -4.904405mA -4.183585mA -5.687248mA + -0.10 -2.422592mA -2.084866mA -2.809391mA + 0.00 9.270000nA 8.640000nA 10.950000nA + 0.10 2.215985mA 1.960397mA 2.507890mA + 0.20 4.086375mA 3.683686mA 4.498680mA + 0.30 5.594166mA 5.150675mA 5.952471mA + 0.40 6.738256mA 6.352364mA 6.929962mA + 0.50 7.557146mA 7.289853mA 7.572152mA + 0.60 8.124436mA 7.983242mA 8.013343mA + 0.70 8.511126mA 8.476831mA 8.337834mA + 0.80 8.778316mA 8.826620mA 8.591424mA + 0.90 8.972606mA 9.080609mA 8.798515mA + 1.00 9.121395mA 9.272098mA 8.969206mA + 1.10 9.240584mA 9.422087mA 9.101296mA + 1.20 9.339574mA 9.543476mA 9.202186mA + 1.30 9.424063mA 9.644765mA 9.285275mA + 1.40 9.498053mA 9.731354mA 9.357665mA + 1.50 9.564242mA 9.806743mA 9.423455mA + 1.60 9.625232mA 9.873832mA 9.485944mA + 1.70 9.684621mA 9.934821mA 9.548134mA + 1.80 9.747011mA 9.992810mA 9.610224mA + 1.90 9.814800mA 10.052999mA 9.670813mA + 2.00 9.885689mA 10.122988mA 9.728603mA + 2.10 9.955379mA 10.203977mA 9.783293mA + 2.20 10.021968mA 10.292966mA 9.835282mA + 2.30 10.083958mA 10.380954mA 9.884972mA + 2.40 10.141947mA 10.464943mA 9.932861mA + 2.50 10.196936mA 10.542932mA 9.979551mA + 2.60 10.249926mA 10.614921mA 10.025941mA + 2.70 10.300915mA 10.681910mA 10.071930mA + 2.80 10.350904mA 10.744899mA 10.118920mA + 2.90 10.400894mA 10.805888mA 10.167909mA + 3.00 10.451883mA 10.863877mA 10.218899mA + 3.10 10.504872mA 10.921864mA 10.273889mA + 3.20 10.559862mA 10.978747mA 10.332878mA + 3.30 10.618848mA 11.037379mA 10.397868mA + 3.40 10.682725mA 11.085335mA 10.469857mA + 3.50 10.751986mA 11.124616mA 10.550843mA + 3.60 10.804292mA 11.163898mA 10.640599mA + 3.70 10.840604mA 11.203179mA 10.738212mA + 3.80 10.876916mA 11.242461mA 10.773505mA + 3.90 10.913228mA 11.281743mA 10.808797mA + 4.00 10.949540mA 11.321024mA 10.844090mA + 4.10 10.985852mA 11.360306mA 10.879382mA + 4.20 11.022164mA 11.399587mA 10.914675mA + 4.30 11.058476mA 11.438869mA 10.949967mA + 4.40 11.094788mA 11.478151mA 10.985259mA + 4.50 11.131100mA 11.517432mA 11.020552mA + 4.60 11.167412mA 11.556714mA 11.055844mA + 4.70 11.203724mA 11.595995mA 11.091137mA + 4.80 11.240036mA 11.635277mA 11.126429mA + 4.90 11.276348mA 11.674559mA 11.161721mA + 5.00 11.312660mA 11.713840mA 11.197014mA + 5.10 11.348972mA 11.753122mA 11.232306mA + 5.20 11.385284mA 11.792403mA 11.267599mA + 5.30 11.421596mA 11.831685mA 11.302891mA + 5.40 11.457908mA 11.870967mA 11.338183mA + 5.50 11.494220mA 11.910248mA 11.373476mA + 5.60 11.530532mA 11.949530mA 11.408768mA + 5.70 11.566844mA 11.988811mA 11.444061mA + 5.80 11.603156mA 12.028093mA 11.479353mA + 5.90 11.639468mA 12.067375mA 11.514645mA + 6.00 11.675780mA 12.106656mA 11.549938mA + 6.10 11.712092mA 12.145938mA 11.585230mA + 6.20 11.748404mA 12.185219mA 11.620523mA + 6.30 11.784716mA 12.224501mA 11.655815mA + 6.40 11.821028mA 12.263783mA 11.691107mA + 6.50 11.857340mA 12.303064mA 11.726400mA + 6.60 11.893652mA 12.342346mA 11.761692mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 6.260163mA 5.384933mA 7.315403mA + -3.20 6.239699mA 5.366401mA 7.291487mA + -3.10 6.219236mA 5.347870mA 7.267570mA + -3.00 6.198773mA 5.329339mA 7.243653mA + -2.90 6.178310mA 5.310808mA 7.219736mA + -2.80 6.157847mA 5.292277mA 7.195819mA + -2.70 6.137383mA 5.273745mA 7.171903mA + -2.60 6.116920mA 5.255214mA 7.147986mA + -2.50 6.096457mA 5.236683mA 7.124069mA + -2.40 6.075994mA 5.218152mA 7.100152mA + -2.30 6.055531mA 5.199621mA 7.076235mA + -2.20 6.035067mA 5.181089mA 7.052319mA + -2.10 6.014604mA 5.162558mA 7.028402mA + -2.00 5.994141mA 5.144027mA 7.004485mA + -1.90 5.973678mA 5.125496mA 6.980568mA + -1.80 5.953215mA 5.106965mA 6.956651mA + -1.70 5.932751mA 5.088433mA 6.932735mA + -1.60 5.912288mA 5.069902mA 6.908818mA + -1.50 5.891825mA 5.051371mA 6.884901mA + -1.40 5.871362mA 5.032840mA 6.860984mA + -1.30 5.850899mA 5.014309mA 6.837067mA + -1.20 5.830435mA 4.995777mA 6.813151mA + -1.10 5.809972mA 4.977246mA 6.789234mA + -1.00 5.789509mA 4.958715mA 6.765317mA + -0.90 5.769046mA 4.940184mA 6.741400mA + -0.80 5.748583mA 4.921653mA 6.717483mA + -0.70 5.728119mA 4.903121mA 6.693567mA + -0.60 5.707656mA 4.884590mA 6.669650mA + -0.50 5.687193mA 4.866059mA 6.645733mA + -0.40 5.666730mA 4.847528mA 6.621816mA + -0.30 5.646267mA 4.828997mA 6.597899mA + -0.20 4.435786mA 3.802115mA 5.174820mA + -0.10 2.131925mA 1.838548mA 2.475669mA + 0.00 -6.170000nA -5.460000nA -7.060000nA + 0.10 -1.893038mA -1.673728mA -2.145840mA + 0.20 -3.512428mA -3.164516mA -3.900829mA + 0.30 -4.854717mA -4.471005mA -5.257719mA + 0.40 -5.916606mA -5.591894mA -6.209108mA + 0.50 -6.694696mA -6.525883mA -6.765898mA + 0.60 -7.186085mA -7.271372mA -7.127487mA + 0.70 -7.501974mA -7.827161mA -7.398777mA + 0.80 -7.747264mA -8.192150mA -7.614967mA + 0.90 -7.946053mA -8.442739mA -7.794856mA + 1.00 -8.112642mA -8.647928mA -7.949846mA + 1.10 -8.255932mA -8.820317mA -8.086935mA + 1.20 -8.381921mA -8.968206mA -8.210725mA + 1.30 -8.494611mA -9.097295mA -8.324315mA + 1.40 -8.596900mA -9.211784mA -8.430004mA + 1.50 -8.691089mA -9.314673mA -8.529494mA + 1.60 -8.778479mA -9.407962mA -8.623884mA + 1.70 -8.860368mA -9.493551mA -8.714073mA + 1.80 -8.937858mA -9.572640mA -8.800963mA + 1.90 -9.011447mA -9.646329mA -8.884952mA + 2.00 -9.081837mA -9.715418mA -8.966642mA + 2.10 -9.149526mA -9.780507mA -9.046332mA + 2.20 -9.214816mA -9.842296mA -9.124421mA + 2.30 -9.278305mA -9.901185mA -9.201211mA + 2.40 -9.340094mA -9.957574mA -9.277001mA + 2.50 -9.400784mA -10.011863mA -9.352391mA + 2.60 -9.460574mA -10.063852mA -9.427582mA + 2.70 -9.519964mA -10.115841mA -9.503173mA + 2.80 -9.579454mA -10.165830mA -9.579563mA + 2.90 -9.639644mA -10.215819mA -9.657654mA + 3.00 -9.701034mA -10.264808mA -9.737845mA + 3.10 -9.764525mA -10.315796mA -9.821135mA + 3.20 -9.830715mA -10.367780mA -9.908326mA + 3.30 -9.900606mA -10.421706mA -10.000817mA + 3.40 -9.975092mA -10.478956mA -10.098808mA + 3.50 -10.055705mA -10.535873mA -10.202798mA + 3.60 -10.141346mA -10.578599mA -10.316786mA + 3.70 -10.228551mA -10.620789mA -10.438679mA + 3.80 -10.281620mA -10.662980mA -10.570555mA + 3.90 -10.322662mA -10.705170mA -10.682977mA + 4.00 -10.363704mA -10.747360mA -10.725640mA + 4.10 -10.404746mA -10.789550mA -10.768303mA + 4.20 -10.445787mA -10.831741mA -10.810966mA + 4.30 -10.486829mA -10.873931mA -10.853629mA + 4.40 -10.527871mA -10.916121mA -10.896292mA + 4.50 -10.568913mA -10.958311mA -10.938955mA + 4.60 -10.609955mA -11.000502mA -10.981618mA + 4.70 -10.650997mA -11.042692mA -11.024281mA + 4.80 -10.692039mA -11.084882mA -11.066944mA + 4.90 -10.733081mA -11.127072mA -11.109607mA + 5.00 -10.774122mA -11.169262mA -11.152270mA + 5.10 -10.815164mA -11.211453mA -11.194933mA + 5.20 -10.856206mA -11.253643mA -11.237597mA + 5.30 -10.897248mA -11.295833mA -11.280260mA + 5.40 -10.938290mA -11.338023mA -11.322923mA + 5.50 -10.979332mA -11.380214mA -11.365586mA + 5.60 -11.020374mA -11.422404mA -11.408249mA + 5.70 -11.061416mA -11.464594mA -11.450912mA + 5.80 -11.102458mA -11.506784mA -11.493575mA + 5.90 -11.143499mA -11.548975mA -11.536238mA + 6.00 -11.184541mA -11.591165mA -11.578901mA + 6.10 -11.225583mA -11.633355mA -11.621564mA + 6.20 -11.266625mA -11.675545mA -11.664227mA + 6.30 -11.307667mA -11.717736mA -11.706890mA + 6.40 -11.348709mA -11.759926mA -11.749553mA + 6.50 -11.389751mA -11.802116mA -11.792216mA + 6.55 -11.410272mA -11.823211mA -11.813548mA +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.204000pA 1.415400nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.065000nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270300uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +[Ramp] +| variable typ min max +dV/dt_r 0.287529/0.242724n 0.301503/0.328867n 0.291718/0.195168n +dV/dt_f 0.313320/0.253363n 0.309840/0.389332n 0.311820/0.168025n +R_load = 50.000000 +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 2.782900V 2.609000V 2.960100V +0.2020ns 2.783000V 2.608900V 2.962600V +0.4040ns 2.787900V 2.610900V 3.090500V +0.6061ns 3.029800V 2.611800V 3.431300V +0.8081ns 3.255100V 2.678900V 3.466400V +1.0101ns 3.294700V 2.982700V 3.469200V +1.2121ns 3.298300V 3.109600V 3.469600V +1.4141ns 3.299300V 3.123400V 3.469800V +1.6162ns 3.299600V 3.137700V 3.469900V +1.8182ns 3.299700V 3.138900V 3.469900V +2.0202ns 3.299800V 3.139300V 3.469900V +2.2222ns 3.299900V 3.139600V 3.469900V +2.4242ns 3.299900V 3.139700V 3.469200V +2.6263ns 3.299900V 3.139700V 3.471700V +2.8283ns 3.299900V 3.139800V 3.470600V +3.0303ns 3.299900V 3.139800V 3.470200V +3.2323ns 3.299900V 3.139900V 3.470100V +3.4343ns 3.302400V 3.139900V 3.470000V +3.6364ns 3.301400V 3.139900V 3.470000V +3.8384ns 3.300600V 3.139900V 3.470000V +4.0404ns 3.300200V 3.139900V 3.470000V +4.2424ns 3.300000V 3.139900V 3.470000V +4.4444ns 3.300000V 3.139900V 3.470000V +4.6465ns 3.300000V 3.139900V 3.469900V +4.8485ns 3.300000V 3.140000V 3.469900V +5.0505ns 3.300000V 3.141300V 3.469900V +5.2525ns 3.300000V 3.142100V 3.469900V +5.4545ns 3.299900V 3.140900V 3.469900V +5.6566ns 3.299900V 3.140500V 3.469900V +5.8586ns 3.299900V 3.140200V 3.469900V +6.0606ns 3.299900V 3.140100V 3.469900V +6.2626ns 3.299900V 3.140000V 3.469900V +6.4646ns 3.299900V 3.140000V 3.469900V +6.6667ns 3.299900V 3.140000V 3.470000V +6.8687ns 3.299900V 3.140000V 3.470000V +7.0707ns 3.299900V 3.140000V 3.470000V +7.2727ns 3.299900V 3.139900V 3.470000V +7.4747ns 3.299900V 3.139900V 3.470000V +7.6768ns 3.299900V 3.139900V 3.470000V +7.8788ns 3.299900V 3.139900V 3.470000V +8.0808ns 3.299900V 3.139900V 3.470000V +8.2828ns 3.299900V 3.139900V 3.470000V +8.4848ns 3.299900V 3.139800V 3.470000V +8.6869ns 3.299900V 3.139800V 3.470000V +8.8889ns 3.299900V 3.139900V 3.470000V +9.0909ns 3.299900V 3.139900V 3.470000V +9.2929ns 3.299900V 3.139900V 3.470000V +9.4949ns 3.300000V 3.139900V 3.470000V +9.6970ns 3.300000V 3.139900V 3.470000V +9.8990ns 3.300000V 3.139900V 3.470000V +10.1010ns 3.300000V 3.139900V 3.470000V +10.3030ns 3.300000V 3.139900V 3.470000V +10.5051ns 3.300000V 3.139900V 3.470000V +10.7071ns 3.300000V 3.139900V 3.470000V +10.9091ns 3.300000V 3.139900V 3.470000V +11.1111ns 3.300000V 3.139900V 3.470000V +11.3131ns 3.300000V 3.139900V 3.470000V +11.5152ns 3.300000V 3.139900V 3.470000V +11.7172ns 3.300000V 3.139900V 3.470000V +11.9192ns 3.300000V 3.139900V 3.470000V +12.1212ns 3.300000V 3.139900V 3.470000V +12.3232ns 3.300000V 3.139900V 3.470000V +12.5253ns 3.300000V 3.139900V 3.470000V +12.7273ns 3.300000V 3.139900V 3.470000V +12.9293ns 3.300000V 3.139900V 3.470000V +13.1313ns 3.300000V 3.140000V 3.470000V +13.3333ns 3.300000V 3.140000V 3.470000V +13.5354ns 3.300000V 3.140000V 3.470000V +13.7374ns 3.300000V 3.140000V 3.470000V +13.9394ns 3.300000V 3.140000V 3.470000V +14.1414ns 3.300000V 3.140000V 3.470000V +14.3434ns 3.300000V 3.140000V 3.470000V +14.5455ns 3.300000V 3.140000V 3.470000V +14.7475ns 3.300000V 3.140000V 3.470000V +14.9495ns 3.300000V 3.140000V 3.470000V +15.1515ns 3.300000V 3.140000V 3.470000V +15.3535ns 3.300000V 3.140000V 3.470000V +15.5556ns 3.300000V 3.140000V 3.470000V +15.7576ns 3.300000V 3.140000V 3.470000V +15.9596ns 3.300000V 3.140000V 3.470000V +16.1616ns 3.300000V 3.140000V 3.470000V +16.3636ns 3.300000V 3.140000V 3.470000V +16.5657ns 3.300000V 3.140000V 3.470000V +16.7677ns 3.300000V 3.140000V 3.470000V +16.9697ns 3.300000V 3.140000V 3.470000V +17.1717ns 3.300000V 3.140000V 3.470000V +17.3737ns 3.300000V 3.140000V 3.470000V +17.5758ns 3.300000V 3.140000V 3.470000V +17.7778ns 3.300000V 3.140000V 3.470000V +17.9798ns 3.300000V 3.140000V 3.470000V +18.1818ns 3.300000V 3.140000V 3.470000V +18.3838ns 3.300000V 3.140000V 3.470000V +18.5859ns 3.300000V 3.140000V 3.470000V +18.7879ns 3.300000V 3.140000V 3.470000V +18.9899ns 3.300000V 3.140000V 3.470000V +19.1919ns 3.300000V 3.140000V 3.470000V +19.3939ns 3.300000V 3.140000V 3.470000V +19.5960ns 3.300000V 3.140000V 3.470000V +19.7980ns 3.300000V 3.140000V 3.470000V +20.0000ns 3.300000V 3.140000V 3.470000V +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 4.225900uV 4.920300uV 3.956100uV +0.2020ns -0.116150mV 2.502300uV -0.231550mV +0.4040ns -1.969300mV 5.640900uV 0.966840mV +0.6061ns 23.188000mV -0.508470mV 0.314560V +0.8081ns 0.256150V -5.285700mV 0.577600V +1.0101ns 0.498250V 54.786000mV 0.667290V +1.2121ns 0.599860V 0.232770V 0.689990V +1.4141ns 0.636760V 0.420560V 0.696020V +1.6162ns 0.647730V 0.550470V 0.696970V +1.8182ns 0.651730V 0.605400V 0.696980V +2.0202ns 0.652900V 0.628190V 0.696540V +2.2222ns 0.653040V 0.636320V 0.696120V +2.4242ns 0.653000V 0.639440V 0.698020V +2.6263ns 0.652920V 0.640980V 0.608850V +2.8283ns 0.652830V 0.641740V 0.523850V +3.0303ns 0.652750V 0.642070V 0.484440V +3.2323ns 0.652670V 0.642220V 0.464640V +3.4343ns 0.646540V 0.642370V 0.456500V +3.6364ns 0.546150V 0.642430V 0.451090V +3.8384ns 0.483220V 0.642470V 0.449010V +4.0404ns 0.451320V 0.642490V 0.447190V +4.2424ns 0.434720V 0.642510V 0.447190V +4.4444ns 0.427460V 0.642520V 0.447460V +4.6465ns 0.422730V 0.642530V 0.449720V +4.8485ns 0.420080V 0.642410V 0.452230V +5.0505ns 0.418790V 0.647910V 0.454820V +5.2525ns 0.418520V 0.569370V 0.457130V +5.4545ns 0.419000V 0.507240V 0.459260V +5.6566ns 0.420340V 0.472210V 0.461230V +5.8586ns 0.422900V 0.450470V 0.463090V +6.0606ns 0.425610V 0.440570V 0.464890V +6.2626ns 0.428790V 0.434240V 0.466650V +6.4646ns 0.432030V 0.430580V 0.468260V +6.6667ns 0.435070V 0.428580V 0.469780V +6.8687ns 0.437890V 0.427410V 0.471150V +7.0707ns 0.440590V 0.426660V 0.472420V +7.2727ns 0.443180V 0.426510V 0.473570V +7.4747ns 0.445620V 0.426790V 0.474650V +7.6768ns 0.447910V 0.427810V 0.475620V +7.8788ns 0.450050V 0.429350V 0.476520V +8.0808ns 0.452040V 0.431730V 0.477340V +8.2828ns 0.453900V 0.435000V 0.478100V +8.4848ns 0.455630V 0.438710V 0.478780V +8.6869ns 0.457250V 0.442390V 0.479420V +8.8889ns 0.458760V 0.446040V 0.479990V +9.0909ns 0.460180V 0.449510V 0.480530V +9.2929ns 0.461490V 0.452860V 0.481010V +9.4949ns 0.462720V 0.455990V 0.481460V +9.6970ns 0.463870V 0.458960V 0.481860V +9.8990ns 0.464940V 0.461730V 0.482240V +10.1010ns 0.466405V 0.465580V 0.482735V +10.3030ns 0.467740V 0.469110V 0.483180V +10.5051ns 0.468550V 0.471260V 0.483440V +10.7071ns 0.469310V 0.473300V 0.483680V +10.9091ns 0.470010V 0.475190V 0.483900V +11.1111ns 0.470670V 0.476990V 0.484100V +11.3131ns 0.471280V 0.478660V 0.484280V +11.5152ns 0.471860V 0.480240V 0.484450V +11.7172ns 0.472390V 0.481710V 0.484610V +11.9192ns 0.472890V 0.483100V 0.484740V +12.1212ns 0.473350V 0.484400V 0.484870V +12.3232ns 0.473780V 0.485630V 0.484990V +12.5253ns 0.474180V 0.486770V 0.485100V +12.7273ns 0.474560V 0.487850V 0.485200V +12.9293ns 0.474910V 0.488850V 0.485290V +13.1313ns 0.475230V 0.489800V 0.485370V +13.3333ns 0.475530V 0.490690V 0.485440V +13.5354ns 0.475810V 0.491530V 0.485510V +13.7374ns 0.476080V 0.492300V 0.485570V +13.9394ns 0.476320V 0.493040V 0.485630V +14.1414ns 0.476550V 0.493730V 0.485680V +14.3434ns 0.476760V 0.494380V 0.485730V +14.5455ns 0.476960V 0.494980V 0.485780V +14.7475ns 0.477140V 0.495550V 0.485810V +14.9495ns 0.477310V 0.496080V 0.485850V +15.1515ns 0.477470V 0.496580V 0.485880V +15.3535ns 0.477620V 0.497050V 0.485920V +15.5556ns 0.477760V 0.497490V 0.485940V +15.7576ns 0.477880V 0.497900V 0.485970V +15.9596ns 0.478000V 0.498290V 0.485990V +16.1616ns 0.478110V 0.498650V 0.486010V +16.3636ns 0.478220V 0.499000V 0.486030V +16.5657ns 0.478310V 0.499300V 0.486050V +16.7677ns 0.478400V 0.499590V 0.486070V +16.9697ns 0.478480V 0.499870V 0.486080V +17.1717ns 0.478560V 0.500150V 0.486100V +17.3737ns 0.478630V 0.500410V 0.486110V +17.5758ns 0.478700V 0.500640V 0.486120V +17.7778ns 0.478760V 0.500850V 0.486130V +17.9798ns 0.478820V 0.501040V 0.486140V +18.1818ns 0.478870V 0.501230V 0.486150V +18.3838ns 0.478920V 0.501420V 0.486160V +18.5859ns 0.478970V 0.501600V 0.486160V +18.7879ns 0.479010V 0.501750V 0.486170V +18.9899ns 0.479050V 0.501890V 0.486170V +19.1919ns 0.479090V 0.502030V 0.486180V +19.3939ns 0.479130V 0.502160V 0.486190V +19.5960ns 0.479160V 0.502290V 0.486190V +19.7980ns 0.479190V 0.502400V 0.486190V +20.0000ns 0.479220V 0.502510V 0.486200V +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 0.479590V 0.504150V 0.486240V +0.2020ns 0.479620V 0.504110V 0.490470V +0.4040ns 0.474700V 0.515850V 0.339650V +0.6061ns 0.247410V 0.518820V 26.921000mV +0.8081ns 33.630000mV 0.443630V 3.148700mV +1.0101ns 5.280400mV 0.238780V 1.060300mV +1.2121ns 1.954600mV 78.283000mV 0.294910mV +1.4141ns 1.002900mV 15.120000mV 0.121950mV +1.6162ns 0.281790mV 5.205600mV 54.285000uV +1.8182ns 0.158200mV 2.668100mV 18.736000uV +2.0202ns 86.848000uV 1.413600mV -3.438700uV +2.2222ns 51.525000uV 0.962940mV -2.338900uV +2.4242ns 18.844000uV 0.395150mV -0.402350mV +2.6263ns 5.905300uV 0.211990mV -8.792700uV +2.8283ns 1.900600uV 0.117500mV -65.770000uV +3.0303ns -0.928100uV 94.558000uV -55.523000uV +3.2323ns 1.519900uV 57.044000uV -52.135000uV +3.4343ns 91.150000uV 30.103000uV -44.758000uV +3.6364ns -33.181000uV 19.965000uV -45.346000uV +3.8384ns -61.875000uV 10.378000uV -43.013000uV +4.0404ns -55.678000uV 5.470400uV -40.659000uV +4.2424ns -56.185000uV 2.225700uV -38.424000uV +4.4444ns -54.079000uV 0.339030uV -36.424000uV +4.6465ns -49.722000uV 42.294000nV -34.475000uV +4.8485ns -47.356000uV -67.623000uV -32.629000uV +5.0505ns -45.017000uV 0.334260mV -30.892000uV +5.2525ns -42.772000uV 24.321000uV -29.369000uV +5.4545ns -40.550000uV -57.294000uV -27.879000uV +5.6566ns -38.605000uV -81.026000uV -26.455000uV +5.8586ns -36.728000uV -83.374000uV -25.106000uV +6.0606ns -34.884000uV -73.915000uV -23.906000uV +6.2626ns -33.048000uV -70.059000uV -22.718000uV +6.4646ns -31.513000uV -66.837000uV -21.555000uV +6.6667ns -30.051000uV -63.741000uV -20.455000uV +6.8687ns -28.580000uV -60.682000uV -19.480000uV +7.0707ns -27.108000uV -57.943000uV -18.510000uV +7.2727ns -25.888000uV -55.297000uV -17.548000uV +7.4747ns -24.730000uV -52.722000uV -16.641000uV +7.6768ns -23.520000uV -50.167000uV -15.845000uV +7.8788ns -22.298000uV -47.891000uV -15.046000uV +8.0808ns -21.294000uV -45.695000uV -14.242000uV +8.2828ns -20.344000uV -43.550000uV -13.487000uV +8.4848ns -19.327000uV -41.420000uV -12.832000uV +8.6869ns -18.294000uV -39.563000uV -12.169000uV +8.8889ns -17.459000uV -37.784000uV -11.491000uV +9.0909ns -16.672000uV -36.017000uV -10.860000uV +9.2929ns -15.813000uV -34.253000uV -10.318000uV +9.4949ns -14.935000uV -32.736000uV -9.766400uV +9.6970ns -14.237000uV -31.289000uV -9.192700uV +9.8990ns -13.584000uV -29.817000uV -8.661200uV +10.1010ns -12.478000uV -27.709000uV -7.982350uV +10.3030ns -11.518000uV -25.885000uV -7.262900uV +10.5051ns -10.975000uV -24.642000uV -6.813500uV +10.7071ns -10.351000uV -23.387000uV -6.441800uV +10.9091ns -9.707800uV -22.333000uV -6.054500uV +11.1111ns -9.217800uV -21.337000uV -5.636200uV +11.3131ns -8.765200uV -20.281000uV -5.254700uV +11.5152ns -8.231600uV -19.208000uV -4.946000uV +11.7172ns -7.678200uV -18.321000uV -4.620100uV +11.9192ns -7.266900uV -17.488000uV -4.260300uV +12.1212ns -6.890500uV -16.587000uV -3.935200uV +12.3232ns -6.432500uV -15.666000uV -3.678600uV +12.5253ns -5.954600uV -14.919000uV -3.403800uV +12.7273ns -5.609300uV -14.221000uV -3.092900uV +12.9293ns -5.296400uV -13.450000uV -2.814900uV +13.1313ns -4.902200uV -12.657000uV -2.601600uV +13.3333ns -4.488100uV -12.026000uV -2.369400uV +13.5354ns -4.198200uV -11.442000uV -2.099800uV +13.7374ns -3.938700uV -10.780000uV -1.861200uV +13.9394ns -3.598400uV -10.096000uV -1.684200uV +14.1414ns -3.238300uV -9.563600uV -1.487800uV +14.3434ns -2.995000uV -9.074900uV -1.252900uV +14.5455ns -2.780300uV -8.505800uV -1.047700uV +14.7475ns -2.485800uV -7.913400uV -0.901200uV +14.9495ns -2.171700uV -7.464100uV -0.734910uV +15.1515ns -1.967700uV -7.055800uV -0.529500uV +15.3535ns -1.790700uV -6.565500uV -0.352370uV +15.5556ns -1.535100uV -6.051500uV -0.231220uV +15.7576ns -1.260300uV -5.672300uV -90.901000nV +15.9596ns -1.089700uV -5.331900uV 87.337000nV +16.1616ns -0.944660uV -4.908600uV 0.238960uV +16.3636ns -0.722200uV -4.461500uV 0.337930uV +16.5657ns -0.480790uV -4.141700uV 0.456510uV +16.7677ns -0.338220uV -3.858700uV 0.613870uV +16.9697ns -0.219860uV -3.492600uV 0.746520uV +17.1717ns -26.846000nV -3.102500uV 0.830300uV +17.3737ns 0.184450uV -2.833200uV 0.932440uV +17.5758ns 0.301760uV -2.598700uV 1.070900uV +17.7778ns 0.396050uV -2.281300uV 1.185800uV +17.9798ns 0.563350uV -1.940200uV 1.253900uV +18.1818ns 0.748530uV -1.713800uV 1.340400uV +18.3838ns 0.849240uV -1.520500uV 1.463300uV +18.5859ns 0.929260uV -1.244900uV 1.563400uV +18.7879ns 1.076500uV -0.945630uV 1.618300uV +18.9899ns 1.240200uV -0.755480uV 1.685500uV +19.1919ns 1.323300uV -0.596720uV 1.777100uV +19.3939ns 1.386600uV -0.356900uV 1.868700uV +19.5960ns 1.516000uV -93.762000nV 1.960300uV +19.7980ns 1.661600uV 58.234000nV 2.029300uV +20.0000ns 1.679900uV 0.178250uV 2.053600uV +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 3.300000V 3.140000V 3.470000V +0.2020ns 3.299700V 3.140000V 3.468600V +0.4040ns 3.300900V 3.139100V 3.481500V +0.6061ns 3.273500V 3.140100V 3.087100V +0.8081ns 2.996200V 3.146300V 2.839700V +1.0101ns 2.788200V 3.080900V 2.749500V +1.2121ns 2.688900V 2.938500V 2.718000V +1.4141ns 2.644300V 2.755500V 2.708000V +1.6162ns 2.624600V 2.644100V 2.704400V +1.8182ns 2.616600V 2.580800V 2.704300V +2.0202ns 2.613600V 2.541800V 2.704600V +2.2222ns 2.612200V 2.522600V 2.705800V +2.4242ns 2.612400V 2.511700V 2.715900V +2.6263ns 2.613100V 2.506400V 2.750300V +2.8283ns 2.613800V 2.503800V 2.759900V +3.0303ns 2.614700V 2.502700V 2.769100V +3.2323ns 2.615500V 2.502100V 2.777600V +3.4343ns 2.621600V 2.502400V 2.785300V +3.6364ns 2.628100V 2.502800V 2.792600V +3.8384ns 2.632500V 2.503300V 2.799400V +4.0404ns 2.639100V 2.503900V 2.806100V +4.2424ns 2.645800V 2.504500V 2.812200V +4.4444ns 2.652000V 2.505100V 2.818200V +4.6465ns 2.658100V 2.505700V 2.823700V +4.8485ns 2.663800V 2.508100V 2.829100V +5.0505ns 2.669000V 2.489000V 2.834000V +5.2525ns 2.674300V 2.476800V 2.838800V +5.4545ns 2.679100V 2.477300V 2.843300V +5.6566ns 2.683900V 2.482300V 2.847700V +5.8586ns 2.688200V 2.488300V 2.851700V +6.0606ns 2.692500V 2.494500V 2.855700V +6.2626ns 2.696400V 2.500200V 2.859400V +6.4646ns 2.700300V 2.505800V 2.863000V +6.6667ns 2.703900V 2.511100V 2.866300V +6.8687ns 2.707400V 2.516200V 2.869600V +7.0707ns 2.710700V 2.521000V 2.872700V +7.2727ns 2.713900V 2.525700V 2.875700V +7.4747ns 2.716900V 2.530100V 2.878500V +7.6768ns 2.719800V 2.534400V 2.881200V +7.8788ns 2.722500V 2.538400V 2.883800V +8.0808ns 2.725200V 2.542300V 2.886300V +8.2828ns 2.727700V 2.545900V 2.888700V +8.4848ns 2.730200V 2.549500V 2.891000V +8.6869ns 2.732400V 2.552800V 2.893100V +8.8889ns 2.734700V 2.556100V 2.895300V +9.0909ns 2.736800V 2.559100V 2.897300V +9.2929ns 2.738800V 2.562100V 2.899200V +9.4949ns 2.740700V 2.564900V 2.901100V +9.6970ns 2.742600V 2.567700V 2.903000V +9.8990ns 2.744300V 2.570200V 2.904700V +10.1010ns 2.746850V 2.573900V 2.907350V +10.3030ns 2.749200V 2.577400V 2.909900V +10.5051ns 2.750700V 2.579600V 2.911600V +10.7071ns 2.752100V 2.581700V 2.913200V +10.9091ns 2.753400V 2.583700V 2.914800V +11.1111ns 2.754700V 2.585700V 2.916300V +11.3131ns 2.756000V 2.587500V 2.917800V +11.5152ns 2.757200V 2.589300V 2.919300V +11.7172ns 2.758300V 2.591000V 2.920700V +11.9192ns 2.759400V 2.592600V 2.922000V +12.1212ns 2.760400V 2.594200V 2.923300V +12.3232ns 2.761400V 2.595700V 2.924600V +12.5253ns 2.762300V 2.597100V 2.925800V +12.7273ns 2.763200V 2.598500V 2.927000V +12.9293ns 2.764000V 2.599800V 2.928100V +13.1313ns 2.764900V 2.601100V 2.929200V +13.3333ns 2.765600V 2.602300V 2.930200V +13.5354ns 2.766400V 2.603500V 2.931300V +13.7374ns 2.767100V 2.604600V 2.932200V +13.9394ns 2.767800V 2.605700V 2.933200V +14.1414ns 2.768400V 2.606800V 2.934100V +14.3434ns 2.769000V 2.607800V 2.935000V +14.5455ns 2.769600V 2.608700V 2.935800V +14.7475ns 2.770200V 2.609600V 2.936600V +14.9495ns 2.770700V 2.610500V 2.937400V +15.1515ns 2.771200V 2.611300V 2.938200V +15.3535ns 2.771700V 2.612100V 2.938900V +15.5556ns 2.772200V 2.612900V 2.939600V +15.7576ns 2.772600V 2.613600V 2.940300V +15.9596ns 2.773000V 2.614400V 2.941000V +16.1616ns 2.773400V 2.615000V 2.941600V +16.3636ns 2.773800V 2.615700V 2.942200V +16.5657ns 2.774100V 2.616300V 2.942800V +16.7677ns 2.774400V 2.616900V 2.943400V +16.9697ns 2.774700V 2.617500V 2.943900V +17.1717ns 2.775000V 2.618000V 2.944500V +17.3737ns 2.775300V 2.618600V 2.945000V +17.5758ns 2.775600V 2.619100V 2.945500V +17.7778ns 2.775800V 2.619500V 2.945900V +17.9798ns 2.776100V 2.620000V 2.946400V +18.1818ns 2.776300V 2.620400V 2.946900V +18.3838ns 2.776500V 2.620900V 2.947300V +18.5859ns 2.776700V 2.621300V 2.947700V +18.7879ns 2.776900V 2.621700V 2.948100V +18.9899ns 2.777100V 2.622000V 2.948500V +19.1919ns 2.777200V 2.622400V 2.948900V +19.3939ns 2.777400V 2.622700V 2.949300V +19.5960ns 2.777500V 2.623000V 2.949600V +19.7980ns 2.777700V 2.623300V 2.950000V +20.0000ns 2.777800V 2.623600V 2.950300V +| +| End [Model] lvc330f040aaaaaaaaio +|************************************************************************ +[Model] lvc330fxxxaaaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.201000pA 1.415500nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.065000nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270400uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +| End [Model] lvc330fxxxaaaaaaaain +|************************************************************************ +[Model] lvc330fxxxbaaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201050A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133030A + -1.38 -0.116640A -0.121710A -0.116640A + -1.30 -0.101410A -0.107420A -0.100700A + -1.22 -86.417000mA -93.409000mA -84.978000mA + -1.14 -71.666000mA -79.637000mA -69.556000mA + -1.06 -57.221000mA -66.146000mA -54.661000mA + -0.98 -43.217000mA -53.024000mA -40.890000mA + -0.90 -29.927000mA -40.408000mA -29.654000mA + -0.82 -17.982000mA -28.511000mA -21.115000mA + -0.74 -8.854400mA -17.682000mA -13.653000mA + -0.66 -3.663100mA -8.577600mA -7.237700mA + -0.58 -1.172200mA -2.564300mA -2.648300mA + -0.50 -0.318120mA -0.464400mA -0.594790mA + -0.42 -0.137880mA -0.131860mA -0.170510mA + -0.34 -0.109480mA -92.671000uA -0.122000mA + -0.26 -0.105780mA -87.760000uA -0.117970mA + -0.18 -0.105360mA -87.079000uA -0.117690mA + -0.10 -0.105300mA -86.972000uA -0.117660mA + -0.02 -0.105290mA -86.946000uA -0.117640mA + 0.06 -0.105270mA -86.931000uA -0.117630mA + 0.14 -0.105260mA -86.918000uA -0.117610mA + 0.22 -0.105240mA -86.905000uA -0.117600mA + 0.30 -0.105230mA -86.892000uA -0.117580mA + 0.38 -0.105220mA -86.878000uA -0.117560mA + 0.46 -0.105200mA -86.864000uA -0.117540mA + 0.54 -0.105180mA -86.849000uA -0.117530mA + 0.62 -0.105170mA -86.834000uA -0.117500mA + 0.70 -0.105150mA -86.818000uA -0.117480mA + 0.78 -0.105130mA -86.801000uA -0.117460mA + 0.86 -0.105110mA -86.783000uA -0.117420mA + 0.94 -0.105060mA -86.761000uA -0.117350mA + 1.02 -0.105000mA -86.718000uA -0.117250mA + 1.10 -0.104900mA -86.652000uA -0.117140mA + 1.18 -0.104790mA -86.563000uA -0.117010mA + 1.26 -0.104660mA -86.454000uA -0.116870mA + 1.34 -0.104520mA -86.328000uA -0.116710mA + 1.42 -0.104360mA -86.186000uA -0.116550mA + 1.50 -0.104190mA -86.027000uA -0.116380mA + 1.58 -0.104010mA -85.852000uA -0.116200mA + 1.66 -0.103810mA -85.660000uA -0.116010mA + 1.74 -0.103600mA -85.448000uA -0.115810mA + 1.82 -0.103380mA -85.214000uA -0.115600mA + 1.90 -0.103130mA -84.953000uA -0.115380mA + 1.98 -0.102860mA -84.659000uA -0.115140mA + 2.06 -0.102560mA -84.336000uA -0.114880mA + 2.14 -0.102230mA -83.988000uA -0.114600mA + 2.22 -0.101860mA -83.605000uA -0.114300mA + 2.30 -0.101430mA -83.172000uA -0.113960mA + 2.38 -0.100960mA -82.673000uA -0.113590mA + 2.46 -0.100430mA -82.088000uA -0.113170mA + 2.54 -99.809000uA -81.393000uA -0.112690mA + 2.62 -99.072000uA -80.257000uA -0.112130mA + 2.70 -98.172000uA -76.079000uA -0.111480mA + 2.78 -97.041000uA -68.566000uA -0.110710mA + 2.86 -94.411000uA -58.013000uA -0.109770mA + 2.94 -86.817000uA -44.639000uA -0.108560mA + 3.02 -74.531000uA -28.610000uA -0.106940mA + 3.10 -57.975000uA -10.054000uA -0.102590mA + 3.18 -37.471000uA 11.025000uA -91.172000uA + 3.26 -13.273000uA 34.949000uA -73.303000uA + 3.30 0.149480uA 48.450000uA -62.148000uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.925400uA 1.695300uA 2.182200uA + -3.26 1.907100uA 1.679500uA 2.161600uA + -3.22 1.889100uA 1.664000uA 2.141300uA + -3.18 1.871200uA 1.648600uA 2.121100uA + -3.14 1.853600uA 1.633400uA 2.101200uA + -3.10 1.836100uA 1.618400uA 2.081400uA + -3.06 1.818900uA 1.603500uA 2.061900uA + -3.02 1.801800uA 1.588800uA 2.042600uA + -2.98 1.785000uA 1.574200uA 2.023500uA + -2.94 1.768300uA 1.559800uA 2.004600uA + -2.90 1.751800uA 1.545600uA 1.985900uA + -2.86 1.735600uA 1.531500uA 1.967400uA + -2.82 1.719500uA 1.517600uA 1.949100uA + -2.78 1.703600uA 1.503800uA 1.931100uA + -2.74 1.687800uA 1.490200uA 1.913200uA + -2.70 1.672300uA 1.476700uA 1.895500uA + -2.66 1.657000uA 1.463400uA 1.878100uA + -2.62 1.641800uA 1.450200uA 1.860800uA + -2.58 1.626800uA 1.437200uA 1.843800uA + -2.54 1.612000uA 1.424300uA 1.827000uA + -2.50 1.597400uA 1.411500uA 1.810300uA + -2.46 1.582900uA 1.398900uA 1.793900uA + -2.42 1.568600uA 1.386500uA 1.777600uA + -2.38 1.554500uA 1.374100uA 1.761600uA + -2.34 1.540600uA 1.361900uA 1.745700uA + -2.30 1.526800uA 1.349900uA 1.730100uA + -2.26 1.513300uA 1.337900uA 1.714600uA + -2.22 1.499800uA 1.326100uA 1.699300uA + -2.18 1.486600uA 1.314500uA 1.684300uA + -2.14 1.473500uA 1.302900uA 1.669400uA + -2.10 1.460500uA 1.291500uA 1.654700uA + -2.06 1.447700uA 1.280200uA 1.640100uA + -2.02 1.435100uA 1.269000uA 1.625800uA + -1.98 1.422600uA 1.257900uA 1.611700uA + -1.94 1.410300uA 1.247000uA 1.597700uA + -1.90 1.398200uA 1.236200uA 1.583900uA + -1.86 1.386100uA 1.225500uA 1.570300uA + -1.82 1.374300uA 1.214800uA 1.556900uA + -1.78 1.362500uA 1.204400uA 1.543600uA + -1.74 1.351000uA 1.194000uA 1.530500uA + -1.70 1.339500uA 1.183700uA 1.517600uA + -1.66 1.328200uA 1.173500uA 1.504900uA + -1.62 1.317000uA 1.163400uA 1.492300uA + -1.58 1.306000uA 1.153500uA 1.479900uA + -1.54 1.295100uA 1.143600uA 1.467600uA + -1.50 1.284300uA 1.133800uA 1.455500uA + -1.46 1.273700uA 1.124100uA 1.443600uA + -1.42 1.263200uA 1.114500uA 1.431800uA + -1.38 1.252800uA 1.105000uA 1.420200uA + -1.34 1.242500uA 1.095600uA 1.408700uA + -1.30 1.232300uA 1.086200uA 1.397400uA + -1.26 1.222300uA 1.077000uA 1.386200uA + -1.22 1.212300uA 1.067800uA 1.375200uA + -1.18 1.202500uA 1.058700uA 1.364300uA + -1.14 1.192800uA 1.049700uA 1.353500uA + -1.10 1.183200uA 1.040800uA 1.342900uA + -1.06 1.173700uA 1.031900uA 1.332400uA + -1.02 1.164300uA 1.023100uA 1.322100uA + -0.98 1.154900uA 1.014400uA 1.311900uA + -0.94 1.145700uA 1.005700uA 1.301800uA + -0.90 1.136600uA 0.997110uA 1.291800uA + -0.86 1.127600uA 0.988570uA 1.281900uA + -0.82 1.118600uA 0.980090uA 1.272200uA + -0.78 1.109700uA 0.971680uA 1.262500uA + -0.74 1.100900uA 0.963320uA 1.253000uA + -0.70 1.092200uA 0.955010uA 1.243600uA + -0.66 1.083600uA 0.946770uA 1.234300uA + -0.62 1.075000uA 0.938590uA 1.225100uA + -0.58 1.066500uA 0.930470uA 1.215900uA + -0.54 1.058100uA 0.922430uA 1.206900uA + -0.50 1.049700uA 0.914500uA 1.198000uA + -0.46 1.041400uA 0.906750uA 1.189000uA + -0.42 1.033100uA 0.899340uA 1.180100uA + -0.38 1.024800uA 0.892740uA 1.171100uA + -0.34 1.020592uA 0.890363uA 1.166191uA + -0.30 1.020569uA 0.890343uA 1.166164uA + -0.26 1.020475uA 0.890261uA 1.166058uA + -0.22 1.020102uA 0.889935uA 1.165631uA + -0.18 1.018607uA 0.888631uA 1.163922uA + -0.14 1.012627uA 0.883414uA 1.157089uA + -0.10 0.988706uA 0.862546uA 1.129756uA + -0.06 0.893025uA 0.779074uA 1.020425uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +| End [Model] lvc330fxxxbaaaaaaain +|************************************************************************ +[Model] lvc330fxxxcaaaaaaain +Model_type Input +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447790A -0.471180A + -2.18 -0.421140A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201050A -0.209560A + -1.62 -0.174190A -0.174390A -0.177660A + -1.54 -0.150480A -0.153310A -0.151880A + -1.46 -0.132440A -0.136600A -0.133040A + -1.38 -0.116650A -0.121720A -0.116660A + -1.30 -0.101420A -0.107430A -0.100730A + -1.22 -86.431000mA -93.414000mA -85.016000mA + -1.14 -71.684000mA -79.643000mA -69.612000mA + -1.06 -57.245000mA -66.154000mA -54.753000mA + -0.98 -43.252000mA -53.034000mA -41.074000mA + -0.90 -29.984000mA -40.420000mA -30.037000mA + -0.82 -18.095000mA -28.529000mA -21.592000mA + -0.74 -9.103200mA -17.711000mA -14.139000mA + -0.66 -4.031300mA -8.632500mA -7.727000mA + -0.58 -1.542300mA -2.680900mA -3.137100mA + -0.50 -0.637910mA -0.641580mA -1.050200mA + -0.42 -0.382200mA -0.283040mA -0.537030mA + -0.34 -0.274320mA -0.191220mA -0.380580mA + -0.26 -0.195030mA -0.134430mA -0.271430mA + -0.18 -0.125260mA -86.198000uA -0.174070mA + -0.10 -63.603000uA -43.916000uA -87.706000uA + -0.02 -11.477000uA -8.053000uA -15.489000uA + 0.06 29.171000uA 20.579000uA 38.171000uA + 0.14 58.135000uA 42.109000uA 72.311000uA + 0.22 76.454000uA 57.027000uA 90.391000uA + 0.30 86.646000uA 66.282000uA 99.147000uA + 0.38 91.915000uA 71.334000uA 0.103720mA + 0.46 94.550000uA 73.863000uA 0.106370mA + 0.54 95.817000uA 75.185000uA 0.107930mA + 0.62 96.442000uA 75.976000uA 0.108770mA + 0.70 96.793000uA 76.516000uA 0.109190mA + 0.78 97.021000uA 76.923000uA 0.109410mA + 0.86 97.187000uA 77.250000uA 0.109550mA + 0.94 97.320000uA 77.526000uA 0.109650mA + 1.02 97.431000uA 77.766000uA 0.109720mA + 1.10 97.528000uA 77.982000uA 0.109790mA + 1.18 97.616000uA 78.178000uA 0.109850mA + 1.26 97.697000uA 78.360000uA 0.109900mA + 1.34 97.773000uA 78.530000uA 0.109950mA + 1.42 97.844000uA 78.691000uA 0.110000mA + 1.50 97.912000uA 78.844000uA 0.110050mA + 1.58 97.978000uA 78.991000uA 0.110090mA + 1.66 98.042000uA 79.132000uA 0.110130mA + 1.74 98.104000uA 79.268000uA 0.110170mA + 1.82 98.164000uA 79.399000uA 0.110220mA + 1.90 98.223000uA 79.526000uA 0.110260mA + 1.98 98.280000uA 79.648000uA 0.110300mA + 2.06 98.337000uA 79.768000uA 0.110330mA + 2.14 98.393000uA 79.890000uA 0.110370mA + 2.22 98.448000uA 80.015000uA 0.110410mA + 2.30 98.503000uA 80.140000uA 0.110450mA + 2.38 98.559000uA 80.265000uA 0.110490mA + 2.46 98.617000uA 80.391000uA 0.110530mA + 2.54 98.679000uA 80.518000uA 0.110570mA + 2.62 98.744000uA 80.648000uA 0.110620mA + 2.70 98.813000uA 80.782000uA 0.110670mA + 2.78 98.889000uA 80.922000uA 0.110720mA + 2.86 98.972000uA 81.070000uA 0.110780mA + 2.94 99.065000uA 81.227000uA 0.110850mA + 3.02 99.170000uA 81.396000uA 0.110930mA + 3.10 99.290000uA 81.580000uA 0.111020mA + 3.18 99.427000uA 81.843000uA 0.111120mA + 3.26 99.584000uA 82.507000uA 0.111250mA + 3.30 99.674000uA 83.566000uA 0.111320mA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 0.153710mA 0.132100mA 0.170160mA + -3.26 0.152730mA 0.131080mA 0.169210mA + -3.22 0.151750mA 0.130060mA 0.168250mA + -3.18 0.150760mA 0.129030mA 0.167280mA + -3.14 0.149760mA 0.128000mA 0.166290mA + -3.10 0.148750mA 0.126970mA 0.165290mA + -3.06 0.147740mA 0.125930mA 0.164280mA + -3.02 0.146720mA 0.124900mA 0.163270mA + -2.98 0.145700mA 0.123870mA 0.162240mA + -2.94 0.144670mA 0.122850mA 0.161210mA + -2.90 0.143640mA 0.121820mA 0.160170mA + -2.86 0.142610mA 0.120800mA 0.159120mA + -2.82 0.141580mA 0.119780mA 0.158070mA + -2.78 0.140550mA 0.118770mA 0.157010mA + -2.74 0.139520mA 0.117770mA 0.155950mA + -2.70 0.138490mA 0.116770mA 0.154890mA + -2.66 0.137460mA 0.115780mA 0.153830mA + -2.62 0.136440mA 0.114800mA 0.152760mA + -2.58 0.135420mA 0.113820mA 0.151700mA + -2.54 0.134410mA 0.112860mA 0.150630mA + -2.50 0.133400mA 0.111900mA 0.149570mA + -2.46 0.132400mA 0.110960mA 0.148510mA + -2.42 0.131410mA 0.110030mA 0.147460mA + -2.38 0.130420mA 0.109110mA 0.146410mA + -2.34 0.129450mA 0.108200mA 0.145370mA + -2.30 0.128490mA 0.107310mA 0.144330mA + -2.26 0.127530mA 0.106430mA 0.143310mA + -2.22 0.126590mA 0.105570mA 0.142290mA + -2.18 0.125660mA 0.104720mA 0.141280mA + -2.14 0.124750mA 0.103880mA 0.140280mA + -2.10 0.123850mA 0.103060mA 0.139300mA + -2.06 0.122960mA 0.102260mA 0.138330mA + -2.02 0.122090mA 0.101480mA 0.137370mA + -1.98 0.121230mA 0.100710mA 0.136420mA + -1.94 0.120390mA 99.955000uA 0.135490mA + -1.90 0.119560mA 99.221000uA 0.134580mA + -1.86 0.118760mA 98.504000uA 0.133680mA + -1.82 0.117970mA 97.804000uA 0.132800mA + -1.78 0.117200mA 97.123000uA 0.131940mA + -1.74 0.116440mA 96.459000uA 0.131090mA + -1.70 0.115710mA 95.814000uA 0.130260mA + -1.66 0.114990mA 95.186000uA 0.129460mA + -1.62 0.114300mA 94.577000uA 0.128670mA + -1.58 0.113620mA 93.985000uA 0.127900mA + -1.54 0.112960mA 93.412000uA 0.127150mA + -1.50 0.112320mA 92.857000uA 0.126420mA + -1.46 0.111700mA 92.319000uA 0.125710mA + -1.42 0.111100mA 91.799000uA 0.125030mA + -1.38 0.110520mA 91.297000uA 0.124360mA + -1.34 0.109960mA 90.812000uA 0.123710mA + -1.30 0.109420mA 90.344000uA 0.123090mA + -1.26 0.108900mA 89.893000uA 0.122490mA + -1.22 0.108400mA 89.459000uA 0.121900mA + -1.18 0.107910mA 89.041000uA 0.121340mA + -1.14 0.107450mA 88.639000uA 0.120800mA + -1.10 0.107000mA 88.253000uA 0.120280mA + -1.06 0.106570mA 87.883000uA 0.119780mA + -1.02 0.106160mA 87.527000uA 0.119300mA + -0.98 0.105760mA 87.187000uA 0.118840mA + -0.94 0.105390mA 86.861000uA 0.118400mA + -0.90 0.105030mA 86.548000uA 0.117980mA + -0.86 0.104690mA 86.250000uA 0.117580mA + -0.82 0.104360mA 85.965000uA 0.117190mA + -0.78 0.104050mA 85.693000uA 0.116830mA + -0.74 0.103750mA 85.433000uA 0.116480mA + -0.70 0.103470mA 85.185000uA 0.116150mA + -0.66 0.103200mA 84.949000uA 0.115830mA + -0.62 0.102950mA 84.724000uA 0.115540mA + -0.58 0.102710mA 84.509000uA 0.115260mA + -0.54 0.102490mA 84.306000uA 0.114990mA + -0.50 0.102270mA 84.112000uA 0.114740mA + -0.46 0.102070mA 83.927000uA 0.114500mA + -0.42 0.101880mA 83.752000uA 0.114280mA + -0.38 0.101700mA 83.587000uA 0.114070mA + -0.34 0.101620mA 83.508000uA 0.113960mA + -0.30 0.101620mA 83.508000uA 0.113960mA + -0.26 0.101620mA 83.508000uA 0.113960mA + -0.22 0.101620mA 83.508000uA 0.113960mA + -0.18 0.101620mA 83.508000uA 0.113750mA + -0.14 0.100460mA 82.918000uA 0.112450mA + -0.10 0.100030mA 82.241000uA 0.112040mA + -0.06 99.844000uA 81.938000uA 0.111870mA + -0.02 99.724000uA 81.761000uA 0.111750mA + 0.00 99.674000uA 81.693000uA 0.111690mA +| +| End [Model] lvc330fxxxcaaaaaaain +|************************************************************************ +[Model] lvc330s040aaaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +Vmeas = 1.650000V +Cref = 0.0F +Rref = 1.000000M +Vref = 0.0V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -16.264620mA -12.195876mA -17.211942mA + -3.20 -16.206900mA -12.152073mA -17.150026mA + -3.10 -16.149180mA -12.108270mA -17.088110mA + -3.00 -16.091460mA -12.064467mA -17.026194mA + -2.90 -16.033740mA -12.020664mA -16.964278mA + -2.80 -15.976020mA -11.976862mA -16.902362mA + -2.70 -15.918300mA -11.933059mA -16.840446mA + -2.60 -15.860580mA -11.889256mA -16.778530mA + -2.50 -15.802860mA -11.845453mA -16.716614mA + -2.40 -15.745140mA -11.801650mA -16.654698mA + -2.30 -15.687420mA -11.757848mA -16.592782mA + -2.20 -15.629700mA -11.714045mA -16.530866mA + -2.10 -15.571980mA -11.670242mA -16.468950mA + -2.00 -15.514260mA -11.626439mA -16.407034mA + -1.90 -15.456540mA -11.582636mA -16.345118mA + -1.80 -15.398820mA -11.538834mA -16.283202mA + -1.70 -15.341100mA -11.495031mA -16.221286mA + -1.60 -15.283380mA -11.451228mA -16.159370mA + -1.50 -15.225660mA -11.407425mA -16.097454mA + -1.40 -15.167940mA -11.363622mA -16.035538mA + -1.30 -15.110220mA -11.319820mA -15.973622mA + -1.20 -15.052500mA -11.276017mA -15.911706mA + -1.10 -14.994780mA -11.232214mA -15.849790mA + -1.00 -14.937060mA -11.188411mA -15.787874mA + -0.90 -14.879340mA -11.144608mA -15.725958mA + -0.80 -14.821620mA -11.100806mA -15.634000mA + -0.70 -14.763900mA -11.057003mA -15.389000mA + -0.60 -14.121200mA -11.013200mA -15.085900mA + -0.50 -12.312470mA -10.252860mA -13.892750mA + -0.40 -9.922051mA -8.353886mA -11.397898mA + -0.30 -7.415846mA -6.279285mA -8.571802mA + -0.20 -4.904405mA -4.183585mA -5.687248mA + -0.10 -2.422592mA -2.084866mA -2.809391mA + 0.00 9.270000nA 8.640000nA 10.950000nA + 0.10 2.215985mA 1.960397mA 2.507890mA + 0.20 4.086375mA 3.683686mA 4.498680mA + 0.30 5.594166mA 5.150675mA 5.952471mA + 0.40 6.738256mA 6.352364mA 6.929962mA + 0.50 7.557146mA 7.289853mA 7.572152mA + 0.60 8.124436mA 7.983242mA 8.013343mA + 0.70 8.511126mA 8.476831mA 8.337834mA + 0.80 8.778316mA 8.826620mA 8.591424mA + 0.90 8.972606mA 9.080609mA 8.798515mA + 1.00 9.121395mA 9.272098mA 8.969206mA + 1.10 9.240584mA 9.422087mA 9.101296mA + 1.20 9.339574mA 9.543476mA 9.202186mA + 1.30 9.424063mA 9.644765mA 9.285275mA + 1.40 9.498053mA 9.731354mA 9.357665mA + 1.50 9.564242mA 9.806743mA 9.423455mA + 1.60 9.625232mA 9.873832mA 9.485944mA + 1.70 9.684621mA 9.934821mA 9.548134mA + 1.80 9.747011mA 9.992810mA 9.610224mA + 1.90 9.814800mA 10.052999mA 9.670813mA + 2.00 9.885689mA 10.122988mA 9.728603mA + 2.10 9.955379mA 10.203977mA 9.783293mA + 2.20 10.021968mA 10.292966mA 9.835282mA + 2.30 10.083958mA 10.380954mA 9.884972mA + 2.40 10.141947mA 10.464943mA 9.932861mA + 2.50 10.196936mA 10.542932mA 9.979551mA + 2.60 10.249926mA 10.614921mA 10.025941mA + 2.70 10.300915mA 10.681910mA 10.071930mA + 2.80 10.350904mA 10.744899mA 10.118920mA + 2.90 10.400894mA 10.805888mA 10.167909mA + 3.00 10.451883mA 10.863877mA 10.218899mA + 3.10 10.504872mA 10.921864mA 10.273889mA + 3.20 10.559862mA 10.978747mA 10.332878mA + 3.30 10.618848mA 11.037379mA 10.397868mA + 3.40 10.682725mA 11.085335mA 10.469857mA + 3.50 10.751986mA 11.124616mA 10.550843mA + 3.60 10.804292mA 11.163898mA 10.640599mA + 3.70 10.840604mA 11.203179mA 10.738212mA + 3.80 10.876916mA 11.242461mA 10.773505mA + 3.90 10.913228mA 11.281743mA 10.808797mA + 4.00 10.949540mA 11.321024mA 10.844090mA + 4.10 10.985852mA 11.360306mA 10.879382mA + 4.20 11.022164mA 11.399587mA 10.914675mA + 4.30 11.058476mA 11.438869mA 10.949967mA + 4.40 11.094788mA 11.478151mA 10.985259mA + 4.50 11.131100mA 11.517432mA 11.020552mA + 4.60 11.167412mA 11.556714mA 11.055844mA + 4.70 11.203724mA 11.595995mA 11.091137mA + 4.80 11.240036mA 11.635277mA 11.126429mA + 4.90 11.276348mA 11.674559mA 11.161721mA + 5.00 11.312660mA 11.713840mA 11.197014mA + 5.10 11.348972mA 11.753122mA 11.232306mA + 5.20 11.385284mA 11.792403mA 11.267599mA + 5.30 11.421596mA 11.831685mA 11.302891mA + 5.40 11.457908mA 11.870967mA 11.338183mA + 5.50 11.494220mA 11.910248mA 11.373476mA + 5.60 11.530532mA 11.949530mA 11.408768mA + 5.70 11.566844mA 11.988811mA 11.444061mA + 5.80 11.603156mA 12.028093mA 11.479353mA + 5.90 11.639468mA 12.067375mA 11.514645mA + 6.00 11.675780mA 12.106656mA 11.549938mA + 6.10 11.712092mA 12.145938mA 11.585230mA + 6.20 11.748404mA 12.185219mA 11.620523mA + 6.30 11.784716mA 12.224501mA 11.655815mA + 6.40 11.821028mA 12.263783mA 11.691107mA + 6.50 11.857340mA 12.303064mA 11.726400mA + 6.60 11.893652mA 12.342346mA 11.761692mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 6.260163mA 5.384933mA 7.315403mA + -3.20 6.239699mA 5.366401mA 7.291487mA + -3.10 6.219236mA 5.347870mA 7.267570mA + -3.00 6.198773mA 5.329339mA 7.243653mA + -2.90 6.178310mA 5.310808mA 7.219736mA + -2.80 6.157847mA 5.292277mA 7.195819mA + -2.70 6.137383mA 5.273745mA 7.171903mA + -2.60 6.116920mA 5.255214mA 7.147986mA + -2.50 6.096457mA 5.236683mA 7.124069mA + -2.40 6.075994mA 5.218152mA 7.100152mA + -2.30 6.055531mA 5.199621mA 7.076235mA + -2.20 6.035067mA 5.181089mA 7.052319mA + -2.10 6.014604mA 5.162558mA 7.028402mA + -2.00 5.994141mA 5.144027mA 7.004485mA + -1.90 5.973678mA 5.125496mA 6.980568mA + -1.80 5.953215mA 5.106965mA 6.956651mA + -1.70 5.932751mA 5.088433mA 6.932735mA + -1.60 5.912288mA 5.069902mA 6.908818mA + -1.50 5.891825mA 5.051371mA 6.884901mA + -1.40 5.871362mA 5.032840mA 6.860984mA + -1.30 5.850899mA 5.014309mA 6.837067mA + -1.20 5.830435mA 4.995777mA 6.813151mA + -1.10 5.809972mA 4.977246mA 6.789234mA + -1.00 5.789509mA 4.958715mA 6.765317mA + -0.90 5.769046mA 4.940184mA 6.741400mA + -0.80 5.748583mA 4.921653mA 6.717483mA + -0.70 5.728119mA 4.903121mA 6.693567mA + -0.60 5.707656mA 4.884590mA 6.669650mA + -0.50 5.687193mA 4.866059mA 6.645733mA + -0.40 5.666730mA 4.847528mA 6.621816mA + -0.30 5.646267mA 4.828997mA 6.597899mA + -0.20 4.435786mA 3.802115mA 5.174820mA + -0.10 2.131925mA 1.838548mA 2.475669mA + 0.00 -6.170000nA -5.460000nA -7.060000nA + 0.10 -1.893038mA -1.673728mA -2.145840mA + 0.20 -3.512428mA -3.164516mA -3.900829mA + 0.30 -4.854717mA -4.471005mA -5.257719mA + 0.40 -5.916606mA -5.591894mA -6.209108mA + 0.50 -6.694696mA -6.525883mA -6.765898mA + 0.60 -7.186085mA -7.271372mA -7.127487mA + 0.70 -7.501974mA -7.827161mA -7.398777mA + 0.80 -7.747264mA -8.192150mA -7.614967mA + 0.90 -7.946053mA -8.442739mA -7.794856mA + 1.00 -8.112642mA -8.647928mA -7.949846mA + 1.10 -8.255932mA -8.820317mA -8.086935mA + 1.20 -8.381921mA -8.968206mA -8.210725mA + 1.30 -8.494611mA -9.097295mA -8.324315mA + 1.40 -8.596900mA -9.211784mA -8.430004mA + 1.50 -8.691089mA -9.314673mA -8.529494mA + 1.60 -8.778479mA -9.407962mA -8.623884mA + 1.70 -8.860368mA -9.493551mA -8.714073mA + 1.80 -8.937858mA -9.572640mA -8.800963mA + 1.90 -9.011447mA -9.646329mA -8.884952mA + 2.00 -9.081837mA -9.715418mA -8.966642mA + 2.10 -9.149526mA -9.780507mA -9.046332mA + 2.20 -9.214816mA -9.842296mA -9.124421mA + 2.30 -9.278305mA -9.901185mA -9.201211mA + 2.40 -9.340094mA -9.957574mA -9.277001mA + 2.50 -9.400784mA -10.011863mA -9.352391mA + 2.60 -9.460574mA -10.063852mA -9.427582mA + 2.70 -9.519964mA -10.115841mA -9.503173mA + 2.80 -9.579454mA -10.165830mA -9.579563mA + 2.90 -9.639644mA -10.215819mA -9.657654mA + 3.00 -9.701034mA -10.264808mA -9.737845mA + 3.10 -9.764525mA -10.315796mA -9.821135mA + 3.20 -9.830715mA -10.367780mA -9.908326mA + 3.30 -9.900606mA -10.421706mA -10.000817mA + 3.40 -9.975092mA -10.478956mA -10.098808mA + 3.50 -10.055705mA -10.535873mA -10.202798mA + 3.60 -10.141346mA -10.578599mA -10.316786mA + 3.70 -10.228551mA -10.620789mA -10.438679mA + 3.80 -10.281620mA -10.662980mA -10.570555mA + 3.90 -10.322662mA -10.705170mA -10.682977mA + 4.00 -10.363704mA -10.747360mA -10.725640mA + 4.10 -10.404746mA -10.789550mA -10.768303mA + 4.20 -10.445787mA -10.831741mA -10.810966mA + 4.30 -10.486829mA -10.873931mA -10.853629mA + 4.40 -10.527871mA -10.916121mA -10.896292mA + 4.50 -10.568913mA -10.958311mA -10.938955mA + 4.60 -10.609955mA -11.000502mA -10.981618mA + 4.70 -10.650997mA -11.042692mA -11.024281mA + 4.80 -10.692039mA -11.084882mA -11.066944mA + 4.90 -10.733081mA -11.127072mA -11.109607mA + 5.00 -10.774122mA -11.169262mA -11.152270mA + 5.10 -10.815164mA -11.211453mA -11.194933mA + 5.20 -10.856206mA -11.253643mA -11.237597mA + 5.30 -10.897248mA -11.295833mA -11.280260mA + 5.40 -10.938290mA -11.338023mA -11.322923mA + 5.50 -10.979332mA -11.380214mA -11.365586mA + 5.60 -11.020374mA -11.422404mA -11.408249mA + 5.70 -11.061416mA -11.464594mA -11.450912mA + 5.80 -11.102458mA -11.506784mA -11.493575mA + 5.90 -11.143499mA -11.548975mA -11.536238mA + 6.00 -11.184541mA -11.591165mA -11.578901mA + 6.10 -11.225583mA -11.633355mA -11.621564mA + 6.20 -11.266625mA -11.675545mA -11.664227mA + 6.30 -11.307667mA -11.717736mA -11.706890mA + 6.40 -11.348709mA -11.759926mA -11.749553mA + 6.50 -11.389751mA -11.802116mA -11.792216mA + 6.55 -11.410272mA -11.823211mA -11.813548mA +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.201000pA 1.415400nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.065000nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270400uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +[Ramp] +| variable typ min max +dV/dt_r 0.287457/0.467122n 0.301305/0.700268n 0.291706/0.349090n +dV/dt_f 0.309900/0.449885n 0.304680/0.837003n 0.308100/0.266290n +R_load = 50.000000 +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 2.782900V 2.609000V 2.960100V +0.2020ns 2.783000V 2.608900V 2.962600V +0.4040ns 2.788300V 2.610900V 3.086900V +0.6061ns 3.016200V 2.611900V 3.417200V +0.8081ns 3.244000V 2.678900V 3.463300V +1.0101ns 3.291900V 2.961800V 3.467200V +1.2121ns 3.295700V 3.102900V 3.468900V +1.4141ns 3.297500V 3.120100V 3.469600V +1.6162ns 3.298700V 3.136000V 3.469800V +1.8182ns 3.299500V 3.136600V 3.469900V +2.0202ns 3.299700V 3.137000V 3.469900V +2.2222ns 3.299800V 3.138000V 3.469900V +2.4242ns 3.299900V 3.138900V 3.469200V +2.6263ns 3.299900V 3.139400V 3.471100V +2.8283ns 3.299900V 3.139700V 3.470500V +3.0303ns 3.299900V 3.139800V 3.470100V +3.2323ns 3.299900V 3.139800V 3.470000V +3.4343ns 3.300600V 3.139900V 3.470000V +3.6364ns 3.301100V 3.139900V 3.470000V +3.8384ns 3.300500V 3.139900V 3.470000V +4.0404ns 3.300200V 3.139900V 3.470000V +4.2424ns 3.300000V 3.139900V 3.470000V +4.4444ns 3.300000V 3.139900V 3.470000V +4.6465ns 3.300000V 3.139900V 3.470000V +4.8485ns 3.300000V 3.140000V 3.469900V +5.0505ns 3.300000V 3.140800V 3.469900V +5.2525ns 3.300000V 3.141300V 3.469900V +5.4545ns 3.299900V 3.140700V 3.469900V +5.6566ns 3.299900V 3.140400V 3.469900V +5.8586ns 3.299900V 3.140200V 3.469900V +6.0606ns 3.299900V 3.140000V 3.469900V +6.2626ns 3.299900V 3.140000V 3.469900V +6.4646ns 3.299900V 3.140000V 3.469900V +6.6667ns 3.299900V 3.140000V 3.469900V +6.8687ns 3.299900V 3.140000V 3.469900V +7.0707ns 3.299900V 3.139900V 3.469900V +7.2727ns 3.299900V 3.139900V 3.470000V +7.4747ns 3.299900V 3.139900V 3.470000V +7.6768ns 3.299900V 3.139900V 3.470000V +7.8788ns 3.299900V 3.139900V 3.470000V +8.0808ns 3.299900V 3.139900V 3.470000V +8.2828ns 3.299900V 3.139900V 3.470000V +8.4848ns 3.299900V 3.139900V 3.470000V +8.6869ns 3.299900V 3.139900V 3.470000V +8.8889ns 3.299900V 3.139800V 3.470000V +9.0909ns 3.299900V 3.139800V 3.470000V +9.2929ns 3.299900V 3.139900V 3.470000V +9.4949ns 3.299900V 3.139900V 3.470000V +9.6970ns 3.299900V 3.139900V 3.470000V +9.8990ns 3.300000V 3.139900V 3.470000V +10.1010ns 3.300000V 3.139900V 3.470000V +10.3030ns 3.300000V 3.139900V 3.470000V +10.5051ns 3.300000V 3.139900V 3.470000V +10.7071ns 3.300000V 3.139900V 3.470000V +10.9091ns 3.300000V 3.139900V 3.470000V +11.1111ns 3.300000V 3.139900V 3.470000V +11.3131ns 3.300000V 3.139900V 3.470000V +11.5152ns 3.300000V 3.139900V 3.470000V +11.7172ns 3.300000V 3.139900V 3.470000V +11.9192ns 3.300000V 3.139900V 3.470000V +12.1212ns 3.300000V 3.139900V 3.470000V +12.3232ns 3.300000V 3.139900V 3.470000V +12.5253ns 3.300000V 3.139900V 3.470000V +12.7273ns 3.300000V 3.139900V 3.470000V +12.9293ns 3.300000V 3.139900V 3.470000V +13.1313ns 3.300000V 3.139900V 3.470000V +13.3333ns 3.300000V 3.139900V 3.470000V +13.5354ns 3.300000V 3.140000V 3.470000V +13.7374ns 3.300000V 3.140000V 3.470000V +13.9394ns 3.300000V 3.140000V 3.470000V +14.1414ns 3.300000V 3.140000V 3.470000V +14.3434ns 3.300000V 3.140000V 3.470000V +14.5455ns 3.300000V 3.140000V 3.470000V +14.7475ns 3.300000V 3.140000V 3.470000V +14.9495ns 3.300000V 3.140000V 3.470000V +15.1515ns 3.300000V 3.140000V 3.470000V +15.3535ns 3.300000V 3.140000V 3.470000V +15.5556ns 3.300000V 3.140000V 3.470000V +15.7576ns 3.300000V 3.140000V 3.470000V +15.9596ns 3.300000V 3.140000V 3.470000V +16.1616ns 3.300000V 3.140000V 3.470000V +16.3636ns 3.300000V 3.140000V 3.470000V +16.5657ns 3.300000V 3.140000V 3.470000V +16.7677ns 3.300000V 3.140000V 3.470000V +16.9697ns 3.300000V 3.140000V 3.470000V +17.1717ns 3.300000V 3.140000V 3.470000V +17.3737ns 3.300000V 3.140000V 3.470000V +17.5758ns 3.300000V 3.140000V 3.470000V +17.7778ns 3.300000V 3.140000V 3.470000V +17.9798ns 3.300000V 3.140000V 3.470000V +18.1818ns 3.300000V 3.140000V 3.470000V +18.3838ns 3.300000V 3.140000V 3.470000V +18.5859ns 3.300000V 3.140000V 3.470000V +18.7879ns 3.300000V 3.140000V 3.470000V +18.9899ns 3.300000V 3.140000V 3.470000V +19.1919ns 3.300000V 3.140000V 3.470000V +19.3939ns 3.300000V 3.140000V 3.470000V +19.5960ns 3.300000V 3.140000V 3.470000V +19.7980ns 3.300000V 3.140000V 3.470000V +20.0000ns 3.300000V 3.140000V 3.470000V +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 4.225900uV 4.920300uV 3.956100uV +0.2020ns -0.116230mV 2.501000uV -0.231630mV +0.4040ns -1.733400mV 5.664000uV -6.571900mV +0.6061ns 1.816900mV -0.405040mV 0.151930V +0.8081ns 0.105890V -6.434700mV 0.334290V +1.0101ns 0.246820V 13.033000mV 0.470790V +1.2121ns 0.360950V 89.173000mV 0.542490V +1.4141ns 0.454430V 0.176030V 0.572640V +1.6162ns 0.508590V 0.271450V 0.582550V +1.8182ns 0.534420V 0.353570V 0.588040V +2.0202ns 0.543170V 0.429910V 0.588930V +2.2222ns 0.549780V 0.484400V 0.588840V +2.4242ns 0.550820V 0.517300V 0.590870V +2.6263ns 0.551300V 0.536250V 0.553540V +2.8283ns 0.551520V 0.543010V 0.497470V +3.0303ns 0.551620V 0.548720V 0.468060V +3.2323ns 0.551660V 0.549820V 0.453000V +3.4343ns 0.558640V 0.550520V 0.446500V +3.6364ns 0.508640V 0.550950V 0.442330V +3.8384ns 0.463860V 0.551240V 0.440380V +4.0404ns 0.438900V 0.551370V 0.438930V +4.2424ns 0.425590V 0.551450V 0.438730V +4.4444ns 0.417880V 0.551520V 0.438850V +4.6465ns 0.413990V 0.551560V 0.439830V +4.8485ns 0.411950V 0.551690V 0.441070V +5.0505ns 0.411060V 0.558950V 0.443300V +5.2525ns 0.410360V 0.519020V 0.446000V +5.4545ns 0.410640V 0.480460V 0.448850V +5.6566ns 0.411100V 0.455460V 0.451660V +5.8586ns 0.412570V 0.440580V 0.454380V +6.0606ns 0.414210V 0.430510V 0.456880V +6.2626ns 0.416980V 0.426080V 0.459280V +6.4646ns 0.420210V 0.423650V 0.461440V +6.6667ns 0.423660V 0.422350V 0.463510V +6.8687ns 0.426990V 0.421790V 0.465350V +7.0707ns 0.430100V 0.421350V 0.467110V +7.2727ns 0.433090V 0.421520V 0.468670V +7.4747ns 0.435900V 0.421800V 0.470160V +7.6768ns 0.438640V 0.422560V 0.471470V +7.8788ns 0.441270V 0.423400V 0.472730V +8.0808ns 0.443800V 0.425080V 0.473840V +8.2828ns 0.446130V 0.426920V 0.474900V +8.4848ns 0.448370V 0.429830V 0.475830V +8.6869ns 0.450420V 0.433230V 0.476730V +8.8889ns 0.452380V 0.436930V 0.477510V +9.0909ns 0.454180V 0.440610V 0.478270V +9.2929ns 0.455900V 0.444280V 0.478930V +9.4949ns 0.457470V 0.447610V 0.479560V +9.6970ns 0.458970V 0.450880V 0.480120V +9.8990ns 0.460340V 0.453950V 0.480650V +10.1010ns 0.462260V 0.458380V 0.481335V +10.3030ns 0.464000V 0.462500V 0.481950V +10.5051ns 0.465050V 0.464970V 0.482320V +10.7071ns 0.466050V 0.467390V 0.482650V +10.9091ns 0.466960V 0.469580V 0.482960V +11.1111ns 0.467830V 0.471720V 0.483240V +11.3131ns 0.468630V 0.473660V 0.483500V +11.5152ns 0.469380V 0.475550V 0.483730V +11.7172ns 0.470080V 0.477260V 0.483950V +11.9192ns 0.470740V 0.478940V 0.484140V +12.1212ns 0.471340V 0.480450V 0.484330V +12.3232ns 0.471910V 0.481930V 0.484490V +12.5253ns 0.472440V 0.483270V 0.484640V +12.7273ns 0.472930V 0.484580V 0.484780V +12.9293ns 0.473390V 0.485750V 0.484900V +13.1313ns 0.473820V 0.486910V 0.485020V +13.3333ns 0.474220V 0.487950V 0.485120V +13.5354ns 0.474590V 0.488970V 0.485220V +13.7374ns 0.474940V 0.489880V 0.485310V +13.9394ns 0.475260V 0.490780V 0.485390V +14.1414ns 0.475560V 0.491590V 0.485460V +14.3434ns 0.475840V 0.492380V 0.485530V +14.5455ns 0.476100V 0.493090V 0.485590V +14.7475ns 0.476340V 0.493790V 0.485640V +14.9495ns 0.476570V 0.494420V 0.485700V +15.1515ns 0.476780V 0.495030V 0.485740V +15.3535ns 0.476970V 0.495580V 0.485790V +15.5556ns 0.477160V 0.496120V 0.485820V +15.7576ns 0.477330V 0.496610V 0.485860V +15.9596ns 0.477490V 0.497090V 0.485890V +16.1616ns 0.477630V 0.497510V 0.485920V +16.3636ns 0.477770V 0.497930V 0.485950V +16.5657ns 0.477890V 0.498290V 0.485980V +16.7677ns 0.478010V 0.498640V 0.486000V +16.9697ns 0.478120V 0.498990V 0.486020V +17.1717ns 0.478230V 0.499340V 0.486040V +17.3737ns 0.478320V 0.499630V 0.486060V +17.5758ns 0.478410V 0.499920V 0.486070V +17.7778ns 0.478490V 0.500160V 0.486090V +17.9798ns 0.478570V 0.500400V 0.486100V +18.1818ns 0.478640V 0.500630V 0.486110V +18.3838ns 0.478710V 0.500870V 0.486120V +18.5859ns 0.478770V 0.501070V 0.486130V +18.7879ns 0.478830V 0.501260V 0.486140V +18.9899ns 0.478880V 0.501430V 0.486150V +19.1919ns 0.478930V 0.501590V 0.486160V +19.3939ns 0.478980V 0.501750V 0.486170V +19.5960ns 0.479020V 0.501910V 0.486170V +19.7980ns 0.479060V 0.502040V 0.486180V +20.0000ns 0.479100V 0.502180V 0.486180V +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 0.479590V 0.504150V 0.486240V +0.2020ns 0.479620V 0.504110V 0.490470V +0.4040ns 0.474660V 0.515850V 0.338690V +0.6061ns 0.260970V 0.518810V 49.227000mV +0.8081ns 57.693000mV 0.442430V 5.358900mV +1.0101ns 10.006000mV 0.270560V 1.610600mV +1.2121ns 3.219300mV 0.116620V 0.420340mV +1.4141ns 1.539600mV 28.455000mV 0.168590mV +1.6162ns 0.544500mV 9.235500mV 63.243000uV +1.8182ns 0.242750mV 4.555900mV 28.107000uV +2.0202ns 0.152510mV 2.530000mV 3.232400uV +2.2222ns 71.354000uV 1.674500mV 0.754660uV +2.4242ns 30.528000uV 0.925740mV -0.544570mV +2.6263ns 17.219000uV 0.496800mV -0.223670mV +2.8283ns 7.642900uV 0.286310mV -18.013000uV +3.0303ns 2.754100uV 0.206810mV -16.664000uV +3.2323ns 3.719000uV 0.129010mV -14.948000uV +3.4343ns -0.126320mV 73.076000uV -9.356000uV +3.6364ns -0.242850mV 44.601000uV -11.098000uV +3.8384ns -32.574000uV 27.309000uV -9.946200uV +4.0404ns 3.566200uV 14.959000uV -9.483100uV +4.2424ns -5.306100uV 8.251900uV -8.932600uV +4.4444ns -13.750000uV 4.915800uV -8.381600uV +4.6465ns 10.940000uV 2.652800uV -7.820100uV +4.8485ns 18.035000uV -0.108180mV -7.265300uV +5.0505ns 2.807200uV 0.153640mV -6.819000uV +5.2525ns 2.502100uV -0.230170mV -6.373400uV +5.4545ns 3.131600uV -97.756000uV -5.936700uV +5.6566ns 2.983900uV -12.193000uV -5.505100uV +5.8586ns 2.947300uV 25.147000uV -5.155800uV +6.0606ns 3.185500uV 13.918000uV -4.806500uV +6.2626ns 3.361600uV 13.732000uV -4.457800uV +6.4646ns 3.383800uV 15.275000uV -4.112200uV +6.6667ns 3.430500uV 14.174000uV -3.816000uV +6.8687ns 3.538200uV 13.495000uV -3.520100uV +7.0707ns 3.619900uV 13.582000uV -3.230000uV +7.2727ns 3.637500uV 13.501000uV -2.942000uV +7.4747ns 3.665100uV 13.116000uV -2.688300uV +7.6768ns 3.717300uV 12.820000uV -2.435300uV +7.8788ns 3.759700uV 12.684000uV -2.191800uV +8.0808ns 3.777800uV 12.528000uV -1.949700uV +8.2828ns 3.800700uV 12.338000uV -1.731900uV +8.4848ns 3.835100uV 12.144000uV -1.514700uV +8.6869ns 3.864700uV 11.942000uV -1.308300uV +8.8889ns 3.882800uV 11.757000uV -1.103000uV +9.0909ns 3.903100uV 11.601000uV -0.916190uV +9.2929ns 3.928900uV 11.419000uV -0.730020uV +9.4949ns 3.951900uV 11.189000uV -0.554530uV +9.6970ns 3.968200uV 10.989000uV -0.379920uV +9.8990ns 3.985700uV 10.842000uV -0.219880uV +10.1010ns 4.015950uV 10.553500uV 12.615000nV +10.3030ns 4.039500uV 10.248000uV 0.231740uV +10.5051ns 4.054400uV 10.116000uV 0.368100uV +10.7071ns 4.071500uV 9.956800uV 0.504010uV +10.9091ns 4.087100uV 9.748000uV 0.632480uV +11.1111ns 4.098800uV 9.573200uV 0.760290uV +11.3131ns 4.111100uV 9.460300uV 0.877400uV +11.5152ns 4.125100uV 9.320800uV 0.994070uV +11.7172ns 4.137800uV 9.133200uV 1.103600uV +11.9192ns 4.147200uV 8.978700uV 1.212600uV +12.1212ns 4.157100uV 8.884300uV 1.313000uV +12.3232ns 4.168500uV 8.764100uV 1.413100uV +12.5253ns 4.178700uV 8.597200uV 1.506700uV +12.7273ns 4.186000uV 8.456400uV 1.599900uV +12.9293ns 4.193900uV 8.362900uV 1.686000uV +13.1313ns 4.203100uV 8.269500uV 1.771700uV +13.3333ns 4.211200uV 8.176000uV 1.851800uV +13.5354ns 4.216800uV 8.065600uV 1.931600uV +13.7374ns 4.222900uV 7.924500uV 2.005300uV +13.9394ns 4.230300uV 7.808100uV 2.078800uV +14.1414ns 4.236700uV 7.736300uV 2.147500uV +14.3434ns 4.240800uV 7.664500uV 2.215800uV +14.5455ns 4.245400uV 7.592700uV 2.279000uV +14.7475ns 4.251200uV 7.503700uV 2.342000uV +14.9495ns 4.256200uV 7.383500uV 2.400800uV +15.1515ns 4.259000uV 7.286500uV 2.459400uV +15.3535ns 4.262400uV 7.231700uV 2.513600uV +15.5556ns 4.267000uV 7.176900uV 2.567700uV +15.7576ns 4.270800uV 7.122100uV 2.618100uV +15.9596ns 4.272600uV 7.049900uV 2.668300uV +16.1616ns 4.274900uV 6.946400uV 2.714800uV +16.3636ns 4.278400uV 6.865000uV 2.761200uV +16.5657ns 4.281200uV 6.823600uV 2.804400uV +16.7677ns 4.282300uV 6.782200uV 2.847500uV +16.9697ns 4.283800uV 6.740700uV 2.887400uV +17.1717ns 4.286400uV 6.682100uV 2.927100uV +17.3737ns 4.288400uV 6.592100uV 2.964200uV +17.5758ns 4.288700uV 6.523200uV 3.001200uV +17.7778ns 4.289500uV 6.492500uV 3.035400uV +17.9798ns 4.291500uV 6.461700uV 3.069500uV +18.1818ns 4.292800uV 6.430900uV 3.101400uV +18.3838ns 4.292600uV 6.383000uV 3.133100uV +18.5859ns 4.292900uV 6.304200uV 3.162500uV +18.7879ns 4.294300uV 6.245400uV 3.191700uV +18.9899ns 4.295100uV 6.223200uV 3.219100uV +19.1919ns 4.294400uV 6.200900uV 3.246200uV +19.3939ns 4.294300uV 6.178600uV 3.270600uV +19.5960ns 4.295200uV 6.139500uV 3.294900uV +19.7980ns 4.295400uV 6.069700uV 3.319200uV +20.0000ns 4.294000uV 6.076600uV 3.343600uV +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 3.300000V 3.140000V 3.470000V +0.2020ns 3.299700V 3.140000V 3.468600V +0.4040ns 3.300900V 3.139100V 3.483300V +0.6061ns 3.304400V 3.140100V 3.272000V +0.8081ns 3.179500V 3.145900V 3.030300V +1.0101ns 3.015400V 3.136300V 2.907000V +1.2121ns 2.895000V 3.095000V 2.856700V +1.4141ns 2.821600V 2.995500V 2.837500V +1.6162ns 2.781500V 2.910100V 2.829200V +1.8182ns 2.760300V 2.834600V 2.826700V +2.0202ns 2.751400V 2.769700V 2.825700V +2.2222ns 2.745500V 2.722000V 2.826100V +2.4242ns 2.743500V 2.688600V 2.830900V +2.6263ns 2.743000V 2.667400V 2.878100V +2.8283ns 2.742800V 2.654200V 2.895900V +3.0303ns 2.742900V 2.645000V 2.900000V +3.2323ns 2.743200V 2.639400V 2.902500V +3.4343ns 2.756300V 2.636600V 2.904500V +3.6364ns 2.776700V 2.635200V 2.906500V +3.8384ns 2.790100V 2.634000V 2.908200V +4.0404ns 2.792600V 2.633800V 2.909800V +4.2424ns 2.793100V 2.633700V 2.911300V +4.4444ns 2.793600V 2.633900V 2.912900V +4.6465ns 2.793500V 2.634100V 2.914200V +4.8485ns 2.793500V 2.636300V 2.915600V +5.0505ns 2.793500V 2.635700V 2.916900V +5.2525ns 2.793500V 2.642300V 2.918100V +5.4545ns 2.793500V 2.652700V 2.919300V +5.6566ns 2.793400V 2.656300V 2.920400V +5.8586ns 2.793400V 2.655900V 2.921400V +6.0606ns 2.793300V 2.655100V 2.922500V +6.2626ns 2.793200V 2.654600V 2.923500V +6.4646ns 2.793100V 2.654000V 2.924400V +6.6667ns 2.793000V 2.653400V 2.925300V +6.8687ns 2.792900V 2.652800V 2.926200V +7.0707ns 2.792800V 2.652200V 2.927100V +7.2727ns 2.792700V 2.651700V 2.928000V +7.4747ns 2.792600V 2.651100V 2.928900V +7.6768ns 2.792500V 2.650500V 2.929700V +7.8788ns 2.792300V 2.650000V 2.930600V +8.0808ns 2.792200V 2.649500V 2.931500V +8.2828ns 2.792100V 2.648900V 2.932300V +8.4848ns 2.791900V 2.648400V 2.933200V +8.6869ns 2.791800V 2.647900V 2.934100V +8.8889ns 2.791600V 2.647400V 2.935000V +9.0909ns 2.791500V 2.647000V 2.935800V +9.2929ns 2.791300V 2.646500V 2.936600V +9.4949ns 2.791200V 2.646000V 2.937400V +9.6970ns 2.791000V 2.645600V 2.938200V +9.8990ns 2.790900V 2.645100V 2.939000V +10.1010ns 2.790650V 2.644500V 2.940050V +10.3030ns 2.790400V 2.643900V 2.941100V +10.5051ns 2.790200V 2.643500V 2.941700V +10.7071ns 2.790100V 2.643100V 2.942400V +10.9091ns 2.789900V 2.642700V 2.943000V +11.1111ns 2.789700V 2.642400V 2.943600V +11.3131ns 2.789600V 2.642000V 2.944100V +11.5152ns 2.789400V 2.641600V 2.944700V +11.7172ns 2.789200V 2.641300V 2.945200V +11.9192ns 2.789100V 2.641000V 2.945700V +12.1212ns 2.788900V 2.640600V 2.946200V +12.3232ns 2.788700V 2.640300V 2.946700V +12.5253ns 2.788600V 2.640000V 2.947100V +12.7273ns 2.788400V 2.639700V 2.947600V +12.9293ns 2.788200V 2.639400V 2.948000V +13.1313ns 2.788000V 2.639100V 2.948400V +13.3333ns 2.787900V 2.638900V 2.948800V +13.5354ns 2.787700V 2.638600V 2.949200V +13.7374ns 2.787500V 2.638300V 2.949600V +13.9394ns 2.787400V 2.638000V 2.949900V +14.1414ns 2.787200V 2.637800V 2.950300V +14.3434ns 2.787000V 2.637500V 2.950600V +14.5455ns 2.786900V 2.637300V 2.950900V +14.7475ns 2.786700V 2.637100V 2.951200V +14.9495ns 2.786500V 2.636800V 2.951500V +15.1515ns 2.786400V 2.636600V 2.951800V +15.3535ns 2.786200V 2.636400V 2.952100V +15.5556ns 2.786100V 2.636100V 2.952400V +15.7576ns 2.785900V 2.635900V 2.952600V +15.9596ns 2.785800V 2.635700V 2.952900V +16.1616ns 2.785600V 2.635500V 2.953100V +16.3636ns 2.785500V 2.635300V 2.953400V +16.5657ns 2.785300V 2.635100V 2.953600V +16.7677ns 2.785200V 2.634900V 2.953800V +16.9697ns 2.785000V 2.634700V 2.954000V +17.1717ns 2.784900V 2.634500V 2.954200V +17.3737ns 2.784800V 2.634300V 2.954400V +17.5758ns 2.784600V 2.634200V 2.954600V +17.7778ns 2.784500V 2.634000V 2.954800V +17.9798ns 2.784400V 2.633800V 2.955000V +18.1818ns 2.784300V 2.633600V 2.955100V +18.3838ns 2.784200V 2.633500V 2.955300V +18.5859ns 2.784100V 2.633300V 2.955500V +18.7879ns 2.784000V 2.633100V 2.955600V +18.9899ns 2.783900V 2.633000V 2.955800V +19.1919ns 2.783800V 2.632800V 2.955900V +19.3939ns 2.783700V 2.632700V 2.956100V +19.5960ns 2.783600V 2.632500V 2.956200V +19.7980ns 2.783600V 2.632400V 2.956300V +20.0000ns 2.783500V 2.632200V 2.956500V +| +| End [Model] lvc330s040aaaaaaaaio +|************************************************************************ +[Model] lvc330s140aaaaaaaaio +Model_type I/O +Polarity Non-Inverting +Enable Active-Low +Vinl = 0.800000V +Vinh = 2.000000V +Vmeas = 1.650000V +Cref = 0.0F +Rref = 1.000000M +Vref = 0.0V +C_comp 2.68pF 2.54pF 2.92pF +| +| +[Temperature Range] 25.000000 0.105000k -40.000000 +[Voltage Range] 3.300000V 3.140000V 3.470000V +[Pulldown] +|Voltage I(typ) I(min) I(max) +| + -3.30 -50.584550mA -43.999960mA -54.623576mA + -3.20 -50.404450mA -43.837800mA -54.427552mA + -3.10 -50.224350mA -43.675640mA -54.231528mA + -3.00 -50.044250mA -43.513480mA -54.035504mA + -2.90 -49.864150mA -43.351320mA -53.839480mA + -2.80 -49.684050mA -43.189160mA -53.643456mA + -2.70 -49.503950mA -43.027000mA -53.447432mA + -2.60 -49.323850mA -42.864840mA -53.251408mA + -2.50 -49.143750mA -42.702680mA -53.055384mA + -2.40 -48.963650mA -42.540520mA -52.859360mA + -2.30 -48.783550mA -42.378360mA -52.663336mA + -2.20 -48.603450mA -42.216200mA -52.467312mA + -2.10 -48.423350mA -42.054040mA -52.271288mA + -2.00 -48.243250mA -41.891880mA -52.075264mA + -1.90 -48.063150mA -41.729720mA -51.879240mA + -1.80 -47.883050mA -41.567560mA -51.683216mA + -1.70 -47.702950mA -41.405400mA -51.487192mA + -1.60 -47.522850mA -41.243240mA -51.291168mA + -1.50 -47.342750mA -41.081080mA -51.095144mA + -1.40 -47.162650mA -40.960000mA -50.899120mA + -1.30 -46.982550mA -40.310000mA -50.703096mA + -1.20 -46.802450mA -39.409000mA -50.507072mA + -1.10 -46.622350mA -38.410000mA -50.311048mA + -1.00 -46.442250mA -37.323000mA -50.115024mA + -0.90 -46.262150mA -36.180000mA -49.919000mA + -0.80 -46.082050mA -35.076000mA -49.327000mA + -0.70 -45.748900mA -34.427000mA -47.994000mA + -0.60 -42.249200mA -34.203200mA -45.776900mA + -0.50 -36.169470mA -30.752860mA -40.603750mA + -0.40 -29.014551mA -24.879886mA -32.919898mA + -0.30 -21.670346mA -18.677585mA -24.687602mA + -0.20 -14.338705mA -12.435585mA -16.367748mA + -0.10 -7.093292mA -6.195266mA -8.095791mA + 0.00 27.190000nA 25.680000nA 31.680000nA + 0.10 6.587285mA 5.878497mA 7.387890mA + 0.20 12.314175mA 11.156186mA 13.529180mA + 0.30 17.106166mA 15.766175mA 18.285171mA + 0.40 20.907156mA 19.661164mA 21.673162mA + 0.50 23.747146mA 22.813153mA 23.968152mA + 0.60 25.783136mA 25.234142mA 25.549143mA + 0.70 27.212126mA 27.008131mA 26.699134mA + 0.80 28.206116mA 28.280120mA 27.588124mA + 0.90 28.917106mA 29.203109mA 28.308115mA + 1.00 29.453095mA 29.892098mA 28.908106mA + 1.10 29.875084mA 30.426087mA 29.398096mA + 1.20 30.221074mA 30.854076mA 29.770086mA + 1.30 30.513063mA 31.208065mA 30.064075mA + 1.40 30.767053mA 31.507054mA 30.315065mA + 1.50 30.993042mA 31.766043mA 30.542055mA + 1.60 31.203032mA 31.995032mA 30.762044mA + 1.70 31.414021mA 32.204021mA 30.983034mA + 1.80 31.648011mA 32.407010mA 31.201024mA + 1.90 31.903000mA 32.633999mA 31.408013mA + 2.00 32.157989mA 32.912988mA 31.601003mA + 2.10 32.398979mA 33.235977mA 31.780993mA + 2.20 32.620968mA 33.562966mA 31.951982mA + 2.30 32.826958mA 33.870954mA 32.113972mA + 2.40 33.017947mA 34.153943mA 32.268961mA + 2.50 33.197936mA 34.411932mA 32.419951mA + 2.60 33.368926mA 34.647921mA 32.567941mA + 2.70 33.532915mA 34.866910mA 32.714930mA + 2.80 33.693904mA 35.070899mA 32.864920mA + 2.90 33.851894mA 35.264888mA 33.017909mA + 3.00 34.012883mA 35.450877mA 33.177899mA + 3.10 34.176872mA 35.632864mA 33.347889mA + 3.20 34.349862mA 35.813747mA 33.531878mA + 3.30 34.531848mA 35.996379mA 33.730868mA + 3.40 34.729725mA 36.157497mA 33.951857mA + 3.50 34.942986mA 36.297102mA 34.196843mA + 3.60 35.117958mA 36.436708mA 34.470599mA + 3.70 35.251602mA 36.576313mA 34.772212mA + 3.80 35.385246mA 36.715919mA 34.904053mA + 3.90 35.518890mA 36.855525mA 35.035893mA + 4.00 35.652534mA 36.995130mA 35.167734mA + 4.10 35.786178mA 37.134736mA 35.299574mA + 4.20 35.919822mA 37.274341mA 35.431414mA + 4.30 36.053466mA 37.413947mA 35.563255mA + 4.40 36.187110mA 37.553553mA 35.695095mA + 4.50 36.320754mA 37.693158mA 35.826936mA + 4.60 36.454398mA 37.832764mA 35.958776mA + 4.70 36.588042mA 37.972369mA 36.090616mA + 4.80 36.721686mA 38.111975mA 36.222457mA + 4.90 36.855330mA 38.251581mA 36.354297mA + 5.00 36.988974mA 38.391186mA 36.486138mA + 5.10 37.122618mA 38.530792mA 36.617978mA + 5.20 37.256262mA 38.670397mA 36.749818mA + 5.30 37.389906mA 38.810003mA 36.881659mA + 5.40 37.523550mA 38.949609mA 37.013499mA + 5.50 37.657194mA 39.089214mA 37.145340mA + 5.60 37.790838mA 39.228820mA 37.277180mA + 5.70 37.924482mA 39.368425mA 37.409020mA + 5.80 38.058126mA 39.508031mA 37.540861mA + 5.90 38.191770mA 39.647637mA 37.672701mA + 6.00 38.325414mA 39.787242mA 37.804542mA + 6.10 38.459058mA 39.926848mA 37.936382mA + 6.20 38.592702mA 40.066453mA 38.068222mA + 6.30 38.726346mA 40.206059mA 38.200063mA + 6.40 38.859990mA 40.345665mA 38.331903mA + 6.50 38.993634mA 40.485270mA 38.463744mA + 6.60 39.127278mA 40.624876mA 38.595584mA +| +[Pullup] +|Voltage I(typ) I(min) I(max) +| + -3.30 66.669757mA 87.094613mA 92.797733mA + -3.20 66.440741mA 86.767866mA 92.515330mA + -3.10 66.211726mA 86.441119mA 92.232928mA + -3.00 65.982711mA 86.114372mA 91.950525mA + -2.90 65.753695mA 85.787625mA 91.668122mA + -2.80 65.524680mA 85.460878mA 91.385720mA + -2.70 65.295664mA 85.134131mA 91.103317mA + -2.60 65.066649mA 84.807384mA 90.820915mA + -2.50 64.837633mA 84.480636mA 90.538512mA + -2.40 64.608618mA 84.153889mA 90.256109mA + -2.30 64.379602mA 83.827142mA 89.973707mA + -2.20 64.150587mA 83.500395mA 89.691304mA + -2.10 63.921571mA 83.173648mA 89.408901mA + -2.00 63.692556mA 82.846901mA 89.126499mA + -1.90 63.463540mA 82.520154mA 88.844096mA + -1.80 63.234525mA 82.323794mA 88.561693mA + -1.70 63.005509mA 81.008819mA 88.279291mA + -1.60 62.776494mA 78.640845mA 87.996888mA + -1.50 62.547479mA 75.568869mA 87.714485mA + -1.40 62.318463mA 71.978893mA 87.432083mA + -1.30 62.089448mA 67.983917mA 87.149680mA + -1.20 61.860432mA 63.658940mA 86.867278mA + -1.10 61.631417mA 59.058962mA 86.584875mA + -1.00 61.402401mA 54.225984mA 80.067686mA + -0.90 61.173386mA 49.192006mA 71.275712mA + -0.80 54.621889mA 45.212027mA 61.996736mA + -0.70 47.050911mA 41.794048mA 52.900760mA + -0.60 39.442932mA 35.550069mA 44.185783mA + -0.50 32.215954mA 29.164089mA 36.006805mA + -0.40 25.419974mA 23.007107mA 28.393828mA + -0.30 17.101700mA 15.824500mA 19.002300mA + -0.20 12.464986mA 11.277815mA 13.918820mA + -0.10 6.164125mA 5.580948mA 6.877969mA + 0.00 -18.490000nA -17.070000nA -20.440000nA + 0.10 -5.904938mA -5.394928mA -6.530140mA + 0.20 -11.454128mA -10.553116mA -12.558129mA + 0.30 -16.640117mA -15.473105mA -18.069119mA + 0.40 -21.457106mA -20.150094mA -23.046108mA + 0.50 -25.896096mA -24.583083mA -27.475098mA + 0.60 -29.949085mA -28.768072mA -31.336087mA + 0.70 -33.609074mA -32.702061mA -34.612077mA + 0.80 -36.868064mA -36.383050mA -37.284067mA + 0.90 -39.717053mA -39.806039mA -39.346056mA + 1.00 -42.147042mA -42.970028mA -40.889046mA + 1.10 -44.149032mA -45.870017mA -42.089035mA + 1.20 -45.748021mA -48.504006mA -43.060025mA + 1.30 -47.028011mA -50.866995mA -43.869015mA + 1.40 -48.080000mA -52.957984mA -44.561004mA + 1.50 -48.964989mA -54.770973mA -45.164994mA + 1.60 -49.722979mA -56.304962mA -45.700984mA + 1.70 -50.383968mA -57.595951mA -46.184973mA + 1.80 -50.967958mA -58.692940mA -46.625963mA + 1.90 -51.489947mA -59.638929mA -47.033952mA + 2.00 -51.962937mA -60.463918mA -47.412942mA + 2.10 -52.394926mA -61.192907mA -47.768932mA + 2.20 -52.791916mA -61.842896mA -48.104921mA + 2.30 -53.159905mA -62.426885mA -48.424911mA + 2.40 -53.504894mA -62.956874mA -48.730901mA + 2.50 -53.827884mA -63.439863mA -49.025891mA + 2.60 -54.132874mA -63.884852mA -49.310882mA + 2.70 -54.422864mA -64.295841mA -49.587873mA + 2.80 -54.700854mA -64.676830mA -49.859863mA + 2.90 -54.966844mA -65.033819mA -50.128854mA + 3.00 -55.224834mA -65.367808mA -50.397845mA + 3.10 -55.477825mA -65.682796mA -50.669835mA + 3.20 -55.727815mA -65.980780mA -50.947826mA + 3.30 -55.978806mA -66.265706mA -51.235817mA + 3.40 -56.233792mA -66.536956mA -51.539808mA + 3.50 -56.497705mA -66.792873mA -51.862798mA + 3.60 -56.774346mA -66.928560mA -52.210786mA + 3.70 -57.054551mA -67.195337mA -52.589679mA + 3.80 -57.194470mA -67.462113mA -53.001555mA + 3.90 -57.422477mA -67.728890mA -53.392977mA + 4.00 -57.650484mA -67.995667mA -53.537857mA + 4.10 -57.878491mA -68.262444mA -53.750052mA + 4.20 -58.106498mA -68.529220mA -53.962246mA + 4.30 -58.334506mA -68.795997mA -54.174441mA + 4.40 -58.562513mA -69.062774mA -54.386636mA + 4.50 -58.790520mA -69.329550mA -54.598830mA + 4.60 -59.018527mA -69.596327mA -54.811025mA + 4.70 -59.246534mA -69.863104mA -55.023219mA + 4.80 -59.474541mA -70.129881mA -55.235414mA + 4.90 -59.702548mA -70.396657mA -55.447608mA + 5.00 -59.930555mA -70.663434mA -55.659803mA + 5.10 -60.158563mA -70.930211mA -55.871997mA + 5.20 -60.386570mA -71.196988mA -56.084192mA + 5.30 -60.614577mA -71.463764mA -56.296387mA + 5.40 -60.842584mA -71.730541mA -56.508581mA + 5.50 -61.070591mA -71.997318mA -56.720776mA + 5.60 -61.298598mA -72.264094mA -56.932970mA + 5.70 -61.526605mA -72.530871mA -57.145165mA + 5.80 -61.754612mA -72.797648mA -57.357359mA + 5.90 -61.982620mA -73.064425mA -57.569554mA + 6.00 -62.210627mA -73.331201mA -57.781748mA + 6.10 -62.438634mA -73.597978mA -57.993943mA + 6.20 -62.666641mA -73.864755mA -58.206138mA + 6.30 -62.894648mA -74.131531mA -58.418332mA + 6.40 -63.122655mA -74.398308mA -58.630527mA + 6.50 -63.350662mA -74.665085mA -58.842721mA + 6.55 -63.464666mA -74.798473mA -58.948819mA +| +[GND_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 -0.966230A -0.950520A -0.981210A + -3.22 -0.926890A -0.911380A -0.941720A + -3.14 -0.887580A -0.872280A -0.902250A + -3.06 -0.848310A -0.833240A -0.862810A + -2.98 -0.809090A -0.794250A -0.823400A + -2.90 -0.769910A -0.755320A -0.784030A + -2.82 -0.730780A -0.716470A -0.744690A + -2.74 -0.691720A -0.677700A -0.705410A + -2.66 -0.652720A -0.639020A -0.666170A + -2.58 -0.613810A -0.600460A -0.627000A + -2.50 -0.574990A -0.562020A -0.587900A + -2.42 -0.536290A -0.523740A -0.548880A + -2.34 -0.497720A -0.485650A -0.509970A + -2.26 -0.459320A -0.447780A -0.471180A + -2.18 -0.421130A -0.410210A -0.432540A + -2.10 -0.383220A -0.373010A -0.394110A + -2.02 -0.345660A -0.336310A -0.355940A + -1.94 -0.308600A -0.300310A -0.318140A + -1.86 -0.272270A -0.265320A -0.280870A + -1.78 -0.237080A -0.231900A -0.244460A + -1.70 -0.203840A -0.201040A -0.209550A + -1.62 -0.174180A -0.174390A -0.177650A + -1.54 -0.150480A -0.153310A -0.151870A + -1.46 -0.132430A -0.136590A -0.133020A + -1.38 -0.116630A -0.121710A -0.116640A + -1.30 -0.101400A -0.107420A -0.100700A + -1.22 -86.415000mA -93.408000mA -84.973000mA + -1.14 -71.663000mA -79.635000mA -69.550000mA + -1.06 -57.217000mA -66.144000mA -54.650000mA + -0.98 -43.212000mA -53.022000mA -40.867000mA + -0.90 -29.917000mA -40.404000mA -29.601000mA + -0.82 -17.964000mA -28.506000mA -21.040000mA + -0.74 -8.811200mA -17.674000mA -13.572000mA + -0.66 -3.584800mA -8.562700mA -7.150700mA + -0.58 -1.078100mA -2.529400mA -2.551200mA + -0.50 -0.216530mA -0.395140mA -0.485250mA + -0.42 -33.488000uA -47.466000uA -54.573000uA + -0.34 -4.479600uA -6.180600uA -4.703900uA + -0.26 -0.684160uA -1.044200uA -0.515460uA + -0.18 -0.256300uA -0.340620uA -0.232000uA + -0.10 -0.207580uA -0.233950uA -0.209060uA + -0.02 -0.196470uA -0.211740uA -0.200850uA + 0.06 -0.188630uA -0.201350uA -0.193360uA + 0.14 -0.180980uA -0.192340uA -0.185900uA + 0.22 -0.173340uA -0.183540uA -0.178450uA + 0.30 -0.165690uA -0.174750uA -0.171010uA + 0.38 -0.158000uA -0.165960uA -0.163570uA + 0.46 -0.150270uA -0.157150uA -0.156120uA + 0.54 -0.142440uA -0.148340uA -0.148680uA + 0.62 -0.134460uA -0.139540uA -0.141240uA + 0.70 -0.126310uA -0.130730uA -0.133790uA + 0.78 -0.118040uA -0.121920uA -0.126340uA + 0.86 -0.109700uA -0.113110uA -0.118880uA + 0.94 -0.101320uA -0.104310uA -0.111370uA + 1.02 -92.914000nA -95.498000nA -0.103710uA + 1.10 -84.495000nA -86.692000nA -95.808000nA + 1.18 -76.063000nA -77.885000nA -87.731000nA + 1.26 -67.624000nA -69.077000nA -79.564000nA + 1.34 -59.178000nA -60.269000nA -71.346000nA + 1.42 -50.727000nA -51.460000nA -63.100000nA + 1.50 -42.271000nA -42.651000nA -54.834000nA + 1.58 -33.812000nA -33.840000nA -46.556000nA + 1.66 -25.349000nA -25.028000nA -38.268000nA + 1.74 -16.884000nA -16.215000nA -29.974000nA + 1.82 -8.415500nA -7.400800nA -21.675000nA + 1.90 55.195000pA 1.415400nA -13.371000nA + 1.98 8.528300nA 10.233000nA -5.064900nA + 2.06 17.004000nA 19.054000nA 3.244100nA + 2.14 25.482000nA 27.876000nA 11.555000nA + 2.22 33.962000nA 36.702000nA 19.868000nA + 2.30 42.445000nA 45.532000nA 28.183000nA + 2.38 50.931000nA 54.365000nA 36.499000nA + 2.46 59.420000nA 63.204000nA 44.816000nA + 2.54 67.912000nA 72.050000nA 53.135000nA + 2.62 76.408000nA 80.904000nA 61.455000nA + 2.70 84.908000nA 89.768000nA 69.776000nA + 2.78 93.413000nA 98.647000nA 78.099000nA + 2.86 0.101920uA 0.107550uA 86.423000nA + 2.94 0.110440uA 0.116470uA 94.749000nA + 3.02 0.118970uA 0.125470uA 0.103080uA + 3.10 0.127510uA 0.135560uA 0.111410uA + 3.18 0.136060uA 0.207650uA 0.119740uA + 3.26 0.144710uA 0.665780uA 0.128080uA + 3.30 0.152020uA 1.620700uA 0.132250uA +| +[POWER_clamp] +|Voltage I(typ) I(min) I(max) +| + -3.30 1.922000uA 1.691900uA 2.178700uA + -3.26 1.903700uA 1.676200uA 2.158100uA + -3.22 1.885700uA 1.660600uA 2.137700uA + -3.18 1.867800uA 1.645300uA 2.117600uA + -3.14 1.850200uA 1.630100uA 2.097600uA + -3.10 1.832700uA 1.615000uA 2.077900uA + -3.06 1.815500uA 1.600200uA 2.058300uA + -3.02 1.798400uA 1.585500uA 2.039000uA + -2.98 1.781600uA 1.570900uA 2.019900uA + -2.94 1.764900uA 1.556500uA 2.001000uA + -2.90 1.748500uA 1.542300uA 1.982300uA + -2.86 1.732200uA 1.528200uA 1.963900uA + -2.82 1.716100uA 1.514300uA 1.945600uA + -2.78 1.700200uA 1.500500uA 1.927500uA + -2.74 1.684500uA 1.486900uA 1.909700uA + -2.70 1.668900uA 1.473400uA 1.892000uA + -2.66 1.653600uA 1.460100uA 1.874600uA + -2.62 1.638400uA 1.446900uA 1.857300uA + -2.58 1.623400uA 1.433900uA 1.840300uA + -2.54 1.608600uA 1.421000uA 1.823400uA + -2.50 1.594000uA 1.408300uA 1.806800uA + -2.46 1.579600uA 1.395600uA 1.790400uA + -2.42 1.565300uA 1.383200uA 1.774100uA + -2.38 1.551200uA 1.370800uA 1.758100uA + -2.34 1.537200uA 1.358700uA 1.742200uA + -2.30 1.523500uA 1.346600uA 1.726600uA + -2.26 1.509900uA 1.334700uA 1.711100uA + -2.22 1.496500uA 1.322900uA 1.695800uA + -2.18 1.483200uA 1.311200uA 1.680700uA + -2.14 1.470100uA 1.299600uA 1.665900uA + -2.10 1.457200uA 1.288200uA 1.651200uA + -2.06 1.444400uA 1.276900uA 1.636600uA + -2.02 1.431800uA 1.265700uA 1.622300uA + -1.98 1.419300uA 1.254700uA 1.608200uA + -1.94 1.407000uA 1.243700uA 1.594200uA + -1.90 1.394800uA 1.232900uA 1.580400uA + -1.86 1.382800uA 1.222200uA 1.566800uA + -1.82 1.370900uA 1.211600uA 1.553400uA + -1.78 1.359200uA 1.201100uA 1.540100uA + -1.74 1.347600uA 1.190700uA 1.527000uA + -1.70 1.336200uA 1.180500uA 1.514100uA + -1.66 1.324900uA 1.170300uA 1.501400uA + -1.62 1.313700uA 1.160200uA 1.488800uA + -1.58 1.302700uA 1.150200uA 1.476400uA + -1.54 1.291800uA 1.140400uA 1.464100uA + -1.50 1.281000uA 1.130600uA 1.452000uA + -1.46 1.270400uA 1.120900uA 1.440100uA + -1.42 1.259800uA 1.111300uA 1.428300uA + -1.38 1.249400uA 1.101800uA 1.416700uA + -1.34 1.239200uA 1.092400uA 1.405200uA + -1.30 1.229000uA 1.083000uA 1.393900uA + -1.26 1.218900uA 1.073800uA 1.382700uA + -1.22 1.209000uA 1.064600uA 1.371700uA + -1.18 1.199200uA 1.055500uA 1.360800uA + -1.14 1.189500uA 1.046500uA 1.350100uA + -1.10 1.179800uA 1.037600uA 1.339400uA + -1.06 1.170300uA 1.028700uA 1.329000uA + -1.02 1.160900uA 1.019900uA 1.318600uA + -0.98 1.151600uA 1.011200uA 1.308400uA + -0.94 1.142400uA 1.002500uA 1.298300uA + -0.90 1.133300uA 0.993900uA 1.288300uA + -0.86 1.124200uA 0.985360uA 1.278400uA + -0.82 1.115300uA 0.976890uA 1.268700uA + -0.78 1.106400uA 0.968470uA 1.259000uA + -0.74 1.097600uA 0.960110uA 1.249500uA + -0.70 1.088900uA 0.951810uA 1.240100uA + -0.66 1.080300uA 0.943560uA 1.230800uA + -0.62 1.071700uA 0.935380uA 1.221600uA + -0.58 1.063200uA 0.927260uA 1.212500uA + -0.54 1.054800uA 0.919220uA 1.203400uA + -0.50 1.046400uA 0.911290uA 1.194500uA + -0.46 1.038100uA 0.903530uA 1.185600uA + -0.42 1.029800uA 0.896100uA 1.176600uA + -0.38 1.021500uA 0.889460uA 1.167600uA + -0.34 1.017292uA 0.887043uA 1.162691uA + -0.30 1.017269uA 0.887023uA 1.162665uA + -0.26 1.017176uA 0.886942uA 1.162558uA + -0.22 1.016803uA 0.886617uA 1.162132uA + -0.18 1.015313uA 0.885317uA 1.160429uA + -0.14 1.009352uA 0.880120uA 1.153616uA + -0.10 0.985509uA 0.859330uA 1.126366uA + -0.06 0.890137uA 0.776169uA 1.017362uA + -0.02 1.500000pA 1.200000pA 1.800000pA + 0.00 0.0A 0.0A 0.0A +| +[Ramp] +| variable typ min max +dV/dt_r 1.322279/1.397370n 1.285979/1.830494n 1.312139/1.075717n +dV/dt_f 0.909660/0.907875n 0.826020/1.758264n 1.011840/0.527820n +R_load = 50.000000 +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 1.726300V 1.546200V 1.899700V +0.2020ns 1.726800V 1.546200V 1.904800V +0.4040ns 1.737400V 1.550000V 2.017500V +0.6061ns 1.942100V 1.551600V 2.912500V +0.8081ns 2.634400V 1.596800V 3.407200V +1.0101ns 3.187200V 1.875300V 3.460800V +1.2121ns 3.279100V 2.359700V 3.465800V +1.4141ns 3.292700V 2.847800V 3.467100V +1.6162ns 3.295600V 3.089900V 3.467600V +1.8182ns 3.296700V 3.123600V 3.467900V +2.0202ns 3.297300V 3.130900V 3.468200V +2.2222ns 3.297500V 3.134300V 3.468700V +2.4242ns 3.297700V 3.135700V 3.468900V +2.6263ns 3.297900V 3.136600V 3.470800V +2.8283ns 3.298100V 3.137000V 3.470300V +3.0303ns 3.298400V 3.137300V 3.470100V +3.2323ns 3.299000V 3.137500V 3.470000V +3.4343ns 3.300800V 3.137600V 3.470000V +3.6364ns 3.300800V 3.137800V 3.470000V +3.8384ns 3.300300V 3.137900V 3.469900V +4.0404ns 3.300200V 3.138000V 3.469900V +4.2424ns 3.300000V 3.138200V 3.469900V +4.4444ns 3.300000V 3.138400V 3.469900V +4.6465ns 3.300000V 3.138600V 3.469900V +4.8485ns 3.300000V 3.138900V 3.469900V +5.0505ns 3.300000V 3.139200V 3.469900V +5.2525ns 3.300000V 3.140400V 3.469900V +5.4545ns 3.299900V 3.140300V 3.469900V +5.6566ns 3.299900V 3.140100V 3.469900V +5.8586ns 3.299900V 3.140100V 3.470000V +6.0606ns 3.299900V 3.140000V 3.470000V +6.2626ns 3.299900V 3.140000V 3.470000V +6.4646ns 3.299900V 3.140000V 3.470000V +6.6667ns 3.299900V 3.140000V 3.470000V +6.8687ns 3.299900V 3.140000V 3.470000V +7.0707ns 3.299900V 3.140000V 3.470000V +7.2727ns 3.299900V 3.140000V 3.470000V +7.4747ns 3.299900V 3.140000V 3.470000V +7.6768ns 3.299900V 3.140000V 3.470000V +7.8788ns 3.300000V 3.140000V 3.470000V +8.0808ns 3.300000V 3.140000V 3.470000V +8.2828ns 3.300000V 3.140000V 3.470000V +8.4848ns 3.300000V 3.140000V 3.470000V +8.6869ns 3.300000V 3.139900V 3.470000V +8.8889ns 3.300000V 3.139900V 3.470000V +9.0909ns 3.300000V 3.139900V 3.470000V +9.2929ns 3.300000V 3.139900V 3.470000V +9.4949ns 3.300000V 3.139900V 3.470000V +9.6970ns 3.300000V 3.139900V 3.470000V +9.8990ns 3.300000V 3.139900V 3.470000V +10.1010ns 3.300000V 3.139900V 3.470000V +10.3030ns 3.300000V 3.139900V 3.470000V +10.5051ns 3.300000V 3.139900V 3.470000V +10.7071ns 3.300000V 3.139900V 3.470000V +10.9091ns 3.300000V 3.139900V 3.470000V +11.1111ns 3.300000V 3.139900V 3.470000V +11.3131ns 3.300000V 3.139900V 3.470000V +11.5152ns 3.300000V 3.140000V 3.470000V +11.7172ns 3.300000V 3.140000V 3.470000V +11.9192ns 3.300000V 3.140000V 3.470000V +12.1212ns 3.300000V 3.140000V 3.470000V +12.3232ns 3.300000V 3.140000V 3.470000V +12.5253ns 3.300000V 3.140000V 3.470000V +12.7273ns 3.300000V 3.140000V 3.470000V +12.9293ns 3.300000V 3.140000V 3.470000V +13.1313ns 3.300000V 3.140000V 3.470000V +13.3333ns 3.300000V 3.140000V 3.470000V +13.5354ns 3.300000V 3.140000V 3.470000V +13.7374ns 3.300000V 3.140000V 3.470000V +13.9394ns 3.300000V 3.140000V 3.470000V +14.1414ns 3.300000V 3.140000V 3.470000V +14.3434ns 3.300000V 3.140000V 3.470000V +14.5455ns 3.300000V 3.140000V 3.470000V +14.7475ns 3.300000V 3.140000V 3.470000V +14.9495ns 3.300000V 3.140000V 3.470000V +15.1515ns 3.300000V 3.140000V 3.470000V +15.3535ns 3.300000V 3.140000V 3.470000V +15.5556ns 3.300000V 3.140000V 3.470000V +15.7576ns 3.300000V 3.140000V 3.470000V +15.9596ns 3.300000V 3.140000V 3.470000V +16.1616ns 3.300000V 3.140000V 3.470000V +16.3636ns 3.300000V 3.140000V 3.470000V +16.5657ns 3.300000V 3.140000V 3.470000V +16.7677ns 3.300000V 3.140000V 3.470000V +16.9697ns 3.300000V 3.140000V 3.470000V +17.1717ns 3.300000V 3.140000V 3.470000V +17.3737ns 3.300000V 3.140000V 3.470000V +17.5758ns 3.300000V 3.140000V 3.470000V +17.7778ns 3.300000V 3.140000V 3.470000V +17.9798ns 3.300000V 3.140000V 3.470000V +18.1818ns 3.300000V 3.140000V 3.470000V +18.3838ns 3.300000V 3.140000V 3.470000V +18.5859ns 3.300000V 3.140000V 3.470000V +18.7879ns 3.300000V 3.140000V 3.470000V +18.9899ns 3.300000V 3.140000V 3.470000V +19.1919ns 3.300000V 3.140000V 3.470000V +19.3939ns 3.300000V 3.140000V 3.470000V +19.5960ns 3.300000V 3.140000V 3.470000V +19.7980ns 3.300000V 3.140000V 3.470000V +20.0000ns 3.300000V 3.140000V 3.470000V +| +[Rising Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 1.860000uV 2.247100uV 1.679700uV +0.2020ns -0.129790mV 4.669400uV -0.320790mV +0.4040ns -1.716600mV 0.272540uV -4.681500mV +0.6061ns 1.221000mV -0.447820mV 0.186680V +0.8081ns 0.107030V -5.196400mV 0.507800V +1.0101ns 0.361420V 7.872900mV 0.782610V +1.2121ns 0.574160V 63.086000mV 1.032400V +1.4141ns 0.778920V 0.229510V 1.269500V +1.6162ns 0.975680V 0.410340V 1.497800V +1.8182ns 1.166800V 0.562960V 1.717900V +2.0202ns 1.353800V 0.714380V 1.916400V +2.2222ns 1.533600V 0.865340V 2.085800V +2.4242ns 1.705400V 1.012700V 2.201900V +2.6263ns 1.865600V 1.157800V 2.206500V +2.8283ns 2.002800V 1.297100V 2.148000V +3.0303ns 2.119800V 1.433900V 2.116300V +3.2323ns 2.194200V 1.564200V 2.100900V +3.4343ns 2.242600V 1.684200V 2.095200V +3.6364ns 2.206600V 1.795900V 2.092100V +3.8384ns 2.175600V 1.885300V 2.093400V +4.0404ns 2.158100V 1.961700V 2.097900V +4.2424ns 2.149800V 2.017100V 2.104000V +4.4444ns 2.145000V 2.058100V 2.111400V +4.6465ns 2.142500V 2.090000V 2.119600V +4.8485ns 2.141700V 2.113000V 2.127800V +5.0505ns 2.141900V 2.137500V 2.135200V +5.2525ns 2.142800V 2.134100V 2.141000V +5.4545ns 2.144700V 2.126700V 2.146000V +5.6566ns 2.148900V 2.121500V 2.150700V +5.8586ns 2.153600V 2.118100V 2.154700V +6.0606ns 2.158200V 2.116400V 2.158400V +6.2626ns 2.162900V 2.115100V 2.161600V +6.4646ns 2.167200V 2.114600V 2.164500V +6.6667ns 2.171000V 2.114400V 2.167000V +6.8687ns 2.174500V 2.114500V 2.169300V +7.0707ns 2.177500V 2.114600V 2.171300V +7.2727ns 2.180300V 2.114800V 2.173100V +7.4747ns 2.182800V 2.115200V 2.174700V +7.6768ns 2.185100V 2.115600V 2.176100V +7.8788ns 2.187100V 2.116000V 2.177400V +8.0808ns 2.188900V 2.116500V 2.178500V +8.2828ns 2.190500V 2.117100V 2.179500V +8.4848ns 2.191900V 2.117700V 2.180300V +8.6869ns 2.193200V 2.118500V 2.181100V +8.8889ns 2.194300V 2.119600V 2.181800V +9.0909ns 2.195300V 2.121000V 2.182400V +9.2929ns 2.196300V 2.122600V 2.182900V +9.4949ns 2.197100V 2.124200V 2.183400V +9.6970ns 2.197800V 2.125900V 2.183800V +9.8990ns 2.198500V 2.127400V 2.184200V +10.1010ns 2.199350V 2.129450V 2.184650V +10.3030ns 2.200000V 2.131300V 2.185000V +10.5051ns 2.200500V 2.132300V 2.185200V +10.7071ns 2.200800V 2.133300V 2.185400V +10.9091ns 2.201200V 2.134200V 2.185600V +11.1111ns 2.201500V 2.135100V 2.185800V +11.3131ns 2.201700V 2.135800V 2.185900V +11.5152ns 2.202000V 2.136500V 2.186000V +11.7172ns 2.202200V 2.137100V 2.186100V +11.9192ns 2.202400V 2.137700V 2.186200V +12.1212ns 2.202500V 2.138200V 2.186300V +12.3232ns 2.202700V 2.138700V 2.186400V +12.5253ns 2.202800V 2.139100V 2.186400V +12.7273ns 2.202900V 2.139500V 2.186500V +12.9293ns 2.203000V 2.139900V 2.186500V +13.1313ns 2.203100V 2.140200V 2.186600V +13.3333ns 2.203200V 2.140500V 2.186600V +13.5354ns 2.203300V 2.140700V 2.186600V +13.7374ns 2.203300V 2.141000V 2.186700V +13.9394ns 2.203400V 2.141200V 2.186700V +14.1414ns 2.203400V 2.141400V 2.186700V +14.3434ns 2.203500V 2.141600V 2.186700V +14.5455ns 2.203500V 2.141800V 2.186700V +14.7475ns 2.203600V 2.141900V 2.186800V +14.9495ns 2.203600V 2.142000V 2.186800V +15.1515ns 2.203600V 2.142200V 2.186800V +15.3535ns 2.203600V 2.142300V 2.186800V +15.5556ns 2.203700V 2.142400V 2.186800V +15.7576ns 2.203700V 2.142500V 2.186800V +15.9596ns 2.203700V 2.142600V 2.186800V +16.1616ns 2.203700V 2.142600V 2.186800V +16.3636ns 2.203700V 2.142700V 2.186800V +16.5657ns 2.203700V 2.142800V 2.186900V +16.7677ns 2.203700V 2.142800V 2.186900V +16.9697ns 2.203800V 2.142900V 2.186900V +17.1717ns 2.203800V 2.142900V 2.186900V +17.3737ns 2.203800V 2.143000V 2.186900V +17.5758ns 2.203800V 2.143000V 2.186900V +17.7778ns 2.203800V 2.143000V 2.186900V +17.9798ns 2.203800V 2.143100V 2.186900V +18.1818ns 2.203800V 2.143100V 2.186900V +18.3838ns 2.203800V 2.143100V 2.186900V +18.5859ns 2.203800V 2.143100V 2.186900V +18.7879ns 2.203800V 2.143200V 2.186900V +18.9899ns 2.203800V 2.143200V 2.186900V +19.1919ns 2.203800V 2.143200V 2.186900V +19.3939ns 2.203800V 2.143200V 2.186900V +19.5960ns 2.203800V 2.143200V 2.186900V +19.7980ns 2.203800V 2.143200V 2.186900V +20.0000ns 2.203800V 2.143300V 2.186900V +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 0.0 +V_fixture_min= 0.0 +V_fixture_max= 0.0 +|time V(typ) V(min) V(max) +| +0.0S 2.203900V 2.143400V 2.187000V +0.2020ns 2.204000V 2.143400V 2.193500V +0.4040ns 2.222800V 2.147700V 2.032600V +0.6061ns 2.041300V 2.152800V 1.329800V +0.8081ns 1.561500V 2.146100V 0.689440V +1.0101ns 1.011100V 2.097000V 0.210050V +1.2121ns 0.595520V 1.931200V 16.668000mV +1.4141ns 0.291310V 1.573700V 3.287100mV +1.6162ns 80.606000mV 1.160800V 1.540100mV +1.8182ns 13.976000mV 0.816650V 0.795800mV +2.0202ns 3.438200mV 0.556260V 0.249100mV +2.2222ns 2.674800mV 0.354310V 0.141130mV +2.4242ns 1.686600mV 0.200190V -0.655480mV +2.6263ns 0.612530mV 87.872000mV -2.068600uV +2.8283ns 0.572400mV 33.061000mV -22.091000uV +3.0303ns 0.375060mV 11.834000mV -24.867000uV +3.2323ns 0.241800mV 4.814600mV -26.956000uV +3.4343ns -0.105830mV 3.354200mV -15.925000uV +3.6364ns -75.323000uV 2.452700mV -21.116000uV +3.8384ns 4.162200uV 1.747000mV -21.198000uV +4.0404ns -9.814400uV 1.397500mV -20.735000uV +4.2424ns -8.341900uV 1.108100mV -20.330000uV +4.4444ns -6.866100uV 0.872660mV -19.920000uV +4.6465ns -5.387100uV 0.692450mV -19.527000uV +4.8485ns -8.072400uV 0.289700mV -19.137000uV +5.0505ns -7.958300uV 0.244360mV -18.776000uV +5.2525ns -7.769600uV -77.493000uV -18.423000uV +5.4545ns -7.625700uV -0.105340mV -18.079000uV +5.6566ns -7.474800uV -54.805000uV -17.737000uV +5.8586ns -7.290100uV 10.015000uV -17.420000uV +6.0606ns -7.095100uV 31.098000uV -17.110000uV +6.2626ns -6.941900uV 27.849000uV -16.798000uV +6.4646ns -6.801300uV 26.843000uV -16.485000uV +6.6667ns -6.644700uV 25.837000uV -16.193000uV +6.8687ns -6.483200uV 24.821000uV -15.906000uV +7.0707ns -6.356800uV 23.930000uV -15.617000uV +7.2727ns -6.241000uV 23.931000uV -15.328000uV +7.4747ns -6.109700uV 23.867000uV -15.057000uV +7.6768ns -5.973800uV 23.333000uV -14.790000uV +7.8788ns -5.859500uV 22.861000uV -14.523000uV +8.0808ns -5.751700uV 22.831000uV -14.256000uV +8.2828ns -5.632300uV 22.765000uV -14.004000uV +8.4848ns -5.509400uV 22.433000uV -13.756000uV +8.6869ns -5.401200uV 22.127000uV -13.508000uV +8.8889ns -5.297500uV 22.000000uV -13.261000uV +9.0909ns -5.186800uV 21.856000uV -13.026000uV +9.2929ns -5.073900uV 21.583000uV -12.795000uV +9.4949ns -4.971400uV 21.321000uV -12.566000uV +9.6970ns -4.872100uV 21.138000uV -12.337000uV +9.8990ns -4.768700uV 20.948000uV -12.119000uV +10.1010ns -4.615700uV 20.580000uV -11.796500uV +10.3030ns -4.472500uV 20.255000uV -11.478000uV +10.5051ns -4.375700uV 20.048000uV -11.275000uV +10.7071ns -4.278400uV 19.819000uV -11.074000uV +10.9091ns -4.186900uV 19.593000uV -10.876000uV +11.1111ns -4.097100uV 19.385000uV -10.679000uV +11.3131ns -4.006500uV 19.177000uV -10.490000uV +11.5152ns -3.915700uV 18.963000uV -10.303000uV +11.7172ns -3.829500uV 18.751000uV -10.119000uV +11.9192ns -3.744700uV 18.550000uV -9.935200uV +12.1212ns -3.659800uV 18.348000uV -9.758900uV +12.3232ns -3.575000uV 18.147000uV -9.584400uV +12.5253ns -3.493900uV 17.946000uV -9.412900uV +12.7273ns -3.413900uV 17.750000uV -9.242200uV +12.9293ns -3.334400uV 17.555000uV -9.077700uV +13.1313ns -3.255000uV 17.367000uV -8.914800uV +13.3333ns -3.178700uV 17.180000uV -8.754900uV +13.5354ns -3.103400uV 16.992000uV -8.595700uV +13.7374ns -3.028800uV 16.805000uV -8.442200uV +13.9394ns -2.954500uV 16.625000uV -8.290100uV +14.1414ns -2.882800uV 16.446000uV -8.140800uV +14.3434ns -2.811900uV 16.271000uV -7.992300uV +14.5455ns -2.741900uV 16.096000uV -7.848800uV +14.7475ns -2.672100uV 15.921000uV -7.706700uV +14.9495ns -2.604700uV 15.747000uV -7.567200uV +15.1515ns -2.538000uV 15.582000uV -7.428400uV +15.3535ns -2.472300uV 15.417000uV -7.294300uV +15.5556ns -2.406900uV 15.254000uV -7.161400uV +15.7576ns -2.343500uV 15.091000uV -7.031000uV +15.9596ns -2.280700uV 14.928000uV -6.901100uV +16.1616ns -2.219000uV 14.767000uV -6.775700uV +16.3636ns -2.157500uV 14.614000uV -6.651300uV +16.5657ns -2.097900uV 14.461000uV -6.529200uV +16.7677ns -2.038900uV 14.310000uV -6.407700uV +16.9697ns -1.980900uV 14.158000uV -6.290200uV +17.1717ns -1.923100uV 14.007000uV -6.173700uV +17.3737ns -1.867100uV 13.856000uV -6.059300uV +17.5758ns -1.811500uV 13.715000uV -5.945500uV +17.7778ns -1.756900uV 13.574000uV -5.835400uV +17.9798ns -1.702700uV 13.433000uV -5.726200uV +18.1818ns -1.649900uV 13.292000uV -5.619000uV +18.3838ns -1.597600uV 13.151000uV -5.512200uV +18.5859ns -1.546300uV 13.011000uV -5.409000uV +18.7879ns -1.495300uV 12.881000uV -5.306700uV +18.9899ns -1.445600uV 12.750000uV -5.206100uV +19.1919ns -1.396400uV 12.619000uV -5.105900uV +19.3939ns -1.348100uV 12.488000uV -5.009100uV +19.5960ns -1.300200uV 12.357000uV -4.913100uV +19.7980ns -1.253400uV 12.227000uV -4.818400uV +20.0000ns -1.206900uV 12.109000uV -4.724200uV +| +[Falling Waveform] +R_fixture= 50.000000 +V_fixture= 3.300000 +V_fixture_min= 3.140000 +V_fixture_max= 3.470000 +|time V(typ) V(min) V(max) +| +0.0S 3.300000V 3.140000V 3.470000V +0.2020ns 3.299700V 3.140000V 3.468500V +0.4040ns 3.300800V 3.139500V 3.480800V +0.6061ns 3.307700V 3.140100V 3.421400V +0.8081ns 3.288700V 3.143500V 3.119600V +1.0101ns 3.205000V 3.143800V 2.661400V +1.2121ns 3.025100V 3.145800V 2.287000V +1.4141ns 2.763000V 3.126600V 2.008100V +1.6162ns 2.525800V 3.091800V 1.804300V +1.8182ns 2.335100V 3.031500V 1.669500V +2.0202ns 2.176400V 2.950000V 1.556300V +2.2222ns 2.038500V 2.833800V 1.492000V +2.4242ns 1.931900V 2.695300V 1.454000V +2.6263ns 1.842100V 2.569900V 1.511700V +2.8283ns 1.775200V 2.465400V 1.518000V +3.0303ns 1.725800V 2.375800V 1.523200V +3.2323ns 1.686600V 2.288200V 1.528200V +3.4343ns 1.685200V 2.209700V 1.533400V +3.6364ns 1.704000V 2.138800V 1.538300V +3.8384ns 1.711300V 2.070500V 1.543000V +4.0404ns 1.712500V 2.009900V 1.547600V +4.2424ns 1.714100V 1.956200V 1.552200V +4.4444ns 1.715500V 1.910000V 1.556700V +4.6465ns 1.717000V 1.869400V 1.561200V +4.8485ns 1.718600V 1.839700V 1.565600V +5.0505ns 1.719900V 1.823800V 1.569900V +5.2525ns 1.721200V 1.826000V 1.574200V +5.4545ns 1.722500V 1.835200V 1.578400V +5.6566ns 1.723800V 1.841500V 1.582600V +5.8586ns 1.725000V 1.842800V 1.586700V +6.0606ns 1.726200V 1.841300V 1.590800V +6.2626ns 1.727400V 1.839800V 1.594800V +6.4646ns 1.728600V 1.838400V 1.598800V +6.6667ns 1.729800V 1.837000V 1.602700V +6.8687ns 1.730900V 1.835500V 1.606600V +7.0707ns 1.732000V 1.834000V 1.610400V +7.2727ns 1.733200V 1.832700V 1.614200V +7.4747ns 1.734300V 1.831300V 1.618000V +7.6768ns 1.735400V 1.829900V 1.621600V +7.8788ns 1.736400V 1.828500V 1.625300V +8.0808ns 1.737500V 1.827100V 1.628900V +8.2828ns 1.738600V 1.825800V 1.632500V +8.4848ns 1.739600V 1.824400V 1.636000V +8.6869ns 1.740600V 1.823100V 1.639400V +8.8889ns 1.741700V 1.821800V 1.642900V +9.0909ns 1.742700V 1.820400V 1.646300V +9.2929ns 1.743700V 1.819100V 1.649600V +9.4949ns 1.744700V 1.817800V 1.652900V +9.6970ns 1.745600V 1.816500V 1.656200V +9.8990ns 1.746600V 1.815200V 1.659400V +10.1010ns 1.748050V 1.813350V 1.664200V +10.3030ns 1.749400V 1.811400V 1.668900V +10.5051ns 1.750400V 1.810200V 1.672000V +10.7071ns 1.751300V 1.809000V 1.675000V +10.9091ns 1.752200V 1.807800V 1.678000V +11.1111ns 1.753100V 1.806500V 1.681000V +11.3131ns 1.753900V 1.805400V 1.684000V +11.5152ns 1.754800V 1.804200V 1.686900V +11.7172ns 1.755700V 1.803000V 1.689700V +11.9192ns 1.756500V 1.801800V 1.692600V +12.1212ns 1.757400V 1.800700V 1.695400V +12.3232ns 1.758200V 1.799500V 1.698200V +12.5253ns 1.759000V 1.798400V 1.700900V +12.7273ns 1.759800V 1.797300V 1.703600V +12.9293ns 1.760600V 1.796200V 1.706300V +13.1313ns 1.761400V 1.795100V 1.709000V +13.3333ns 1.762200V 1.794000V 1.711600V +13.5354ns 1.763000V 1.792900V 1.714200V +13.7374ns 1.763800V 1.791800V 1.716700V +13.9394ns 1.764500V 1.790800V 1.719300V +14.1414ns 1.765300V 1.789700V 1.721800V +14.3434ns 1.766000V 1.788700V 1.724200V +14.5455ns 1.766800V 1.787700V 1.726700V +14.7475ns 1.767500V 1.786600V 1.729100V +14.9495ns 1.768200V 1.785600V 1.731500V +15.1515ns 1.768900V 1.784600V 1.733900V +15.3535ns 1.769600V 1.783600V 1.736200V +15.5556ns 1.770300V 1.782700V 1.738500V +15.7576ns 1.771000V 1.781700V 1.740800V +15.9596ns 1.771700V 1.780700V 1.743100V +16.1616ns 1.772400V 1.779800V 1.745300V +16.3636ns 1.773000V 1.778800V 1.747500V +16.5657ns 1.773700V 1.777900V 1.749700V +16.7677ns 1.774300V 1.777000V 1.751900V +16.9697ns 1.775000V 1.776000V 1.754000V +17.1717ns 1.775600V 1.775100V 1.756200V +17.3737ns 1.776300V 1.774200V 1.758300V +17.5758ns 1.776900V 1.773300V 1.760300V +17.7778ns 1.777500V 1.772400V 1.762400V +17.9798ns 1.778100V 1.771600V 1.764400V +18.1818ns 1.778700V 1.770700V 1.766400V +18.3838ns 1.779300V 1.769800V 1.768400V +18.5859ns 1.779900V 1.769000V 1.770400V +18.7879ns 1.780500V 1.768100V 1.772300V +18.9899ns 1.781100V 1.767300V 1.774200V +19.1919ns 1.781600V 1.766500V 1.776200V +19.3939ns 1.782200V 1.765700V 1.778000V +19.5960ns 1.782800V 1.764900V 1.779900V +19.7980ns 1.783300V 1.764000V 1.781700V +|20.0000ns 1.783900V 1.763300V 1.783600V +40.0000ns 1.783900V 1.550000V 1.783600V +| +| End [Model] lvc330s140aaaaaaaaio +|************************************************************************ +| End [Component] +[End] diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.alt b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.alt index 411370a..ba33f77 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.alt +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.alt @@ -1,75 +1,75 @@ -NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * -NOTE All Rights Reserved * -NOTE DATE CREATED: Wed Aug 16 04:29:49 2023 * -NOTE DESIGN NAME: RAM2GS * -NOTE DEVICE NAME: LCMXO256C-3TQFP100 * -NOTE PIN ASSIGNMENTS * -NOTE PINS RD[0] : 64 : inout * -NOTE PINS Dout[0] : 1 : out * -NOTE PINS PHI2 : 39 : in * -NOTE PINS UFMSDO : 55 : in * -NOTE PINS UFMSDI : 56 : out * -NOTE PINS UFMCLK : 58 : out * -NOTE PINS nUFMCS : 53 : out * -NOTE PINS RDQML : 61 : out * -NOTE PINS RDQMH : 76 : out * -NOTE PINS nRCAS : 78 : out * -NOTE PINS nRRAS : 73 : out * -NOTE PINS nRWE : 72 : out * -NOTE PINS RCKE : 82 : out * -NOTE PINS RCLK : 86 : in * -NOTE PINS nRCS : 77 : out * -NOTE PINS RD[7] : 71 : inout * -NOTE PINS RD[6] : 70 : inout * -NOTE PINS RD[5] : 69 : inout * -NOTE PINS RD[4] : 68 : inout * -NOTE PINS RD[3] : 67 : inout * -NOTE PINS RD[2] : 66 : inout * -NOTE PINS RD[1] : 65 : inout * -NOTE PINS RA[11] : 79 : out * -NOTE PINS RA[10] : 87 : out * -NOTE PINS RA[9] : 85 : out * -NOTE PINS RA[8] : 96 : out * -NOTE PINS RA[7] : 100 : out * -NOTE PINS RA[6] : 91 : out * -NOTE PINS RA[5] : 95 : out * -NOTE PINS RA[4] : 99 : out * -NOTE PINS RA[3] : 97 : out * -NOTE PINS RA[2] : 94 : out * -NOTE PINS RA[1] : 89 : out * -NOTE PINS RA[0] : 98 : out * -NOTE PINS RBA[1] : 83 : out * -NOTE PINS RBA[0] : 63 : out * -NOTE PINS LED : 57 : out * -NOTE PINS nFWE : 22 : in * -NOTE PINS nCRAS : 43 : in * -NOTE PINS nCCAS : 27 : in * -NOTE PINS Dout[7] : 3 : out * -NOTE PINS Dout[6] : 2 : out * -NOTE PINS Dout[5] : 5 : out * -NOTE PINS Dout[4] : 4 : out * -NOTE PINS Dout[3] : 6 : out * -NOTE PINS Dout[2] : 8 : out * -NOTE PINS Dout[1] : 7 : out * -NOTE PINS Din[7] : 19 : in * -NOTE PINS Din[6] : 20 : in * -NOTE PINS Din[5] : 17 : in * -NOTE PINS Din[4] : 18 : in * -NOTE PINS Din[3] : 16 : in * -NOTE PINS Din[2] : 14 : in * -NOTE PINS Din[1] : 15 : in * -NOTE PINS Din[0] : 21 : in * -NOTE PINS CROW[1] : 34 : in * -NOTE PINS CROW[0] : 32 : in * -NOTE PINS MAin[9] : 51 : in * -NOTE PINS MAin[8] : 50 : in * -NOTE PINS MAin[7] : 44 : in * -NOTE PINS MAin[6] : 49 : in * -NOTE PINS MAin[5] : 45 : in * -NOTE PINS MAin[4] : 46 : in * -NOTE PINS MAin[3] : 47 : in * -NOTE PINS MAin[2] : 37 : in * -NOTE PINS MAin[1] : 38 : in * -NOTE PINS MAin[0] : 23 : in * -NOTE CONFIGURATION MODE: NONE * -NOTE COMPRESSION: off * +NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * +NOTE All Rights Reserved * +NOTE DATE CREATED: Sat Aug 19 20:53:35 2023 * +NOTE DESIGN NAME: RAM2GS * +NOTE DEVICE NAME: LCMXO256C-3TQFP100 * +NOTE PIN ASSIGNMENTS * +NOTE PINS RD[0] : 64 : inout * +NOTE PINS Dout[0] : 1 : out * +NOTE PINS PHI2 : 39 : in * +NOTE PINS UFMSDO : 55 : in * +NOTE PINS UFMSDI : 56 : out * +NOTE PINS UFMCLK : 58 : out * +NOTE PINS nUFMCS : 53 : out * +NOTE PINS RDQML : 61 : out * +NOTE PINS RDQMH : 76 : out * +NOTE PINS nRCAS : 78 : out * +NOTE PINS nRRAS : 73 : out * +NOTE PINS nRWE : 72 : out * +NOTE PINS RCKE : 82 : out * +NOTE PINS RCLK : 86 : in * +NOTE PINS nRCS : 77 : out * +NOTE PINS RD[7] : 71 : inout * +NOTE PINS RD[6] : 70 : inout * +NOTE PINS RD[5] : 69 : inout * +NOTE PINS RD[4] : 68 : inout * +NOTE PINS RD[3] : 67 : inout * +NOTE PINS RD[2] : 66 : inout * +NOTE PINS RD[1] : 65 : inout * +NOTE PINS RA[11] : 79 : out * +NOTE PINS RA[10] : 87 : out * +NOTE PINS RA[9] : 85 : out * +NOTE PINS RA[8] : 96 : out * +NOTE PINS RA[7] : 100 : out * +NOTE PINS RA[6] : 91 : out * +NOTE PINS RA[5] : 95 : out * +NOTE PINS RA[4] : 99 : out * +NOTE PINS RA[3] : 97 : out * +NOTE PINS RA[2] : 94 : out * +NOTE PINS RA[1] : 89 : out * +NOTE PINS RA[0] : 98 : out * +NOTE PINS RBA[1] : 83 : out * +NOTE PINS RBA[0] : 63 : out * +NOTE PINS LED : 57 : out * +NOTE PINS nFWE : 22 : in * +NOTE PINS nCRAS : 43 : in * +NOTE PINS nCCAS : 27 : in * +NOTE PINS Dout[7] : 3 : out * +NOTE PINS Dout[6] : 2 : out * +NOTE PINS Dout[5] : 5 : out * +NOTE PINS Dout[4] : 4 : out * +NOTE PINS Dout[3] : 6 : out * +NOTE PINS Dout[2] : 8 : out * +NOTE PINS Dout[1] : 7 : out * +NOTE PINS Din[7] : 19 : in * +NOTE PINS Din[6] : 20 : in * +NOTE PINS Din[5] : 17 : in * +NOTE PINS Din[4] : 18 : in * +NOTE PINS Din[3] : 16 : in * +NOTE PINS Din[2] : 14 : in * +NOTE PINS Din[1] : 15 : in * +NOTE PINS Din[0] : 21 : in * +NOTE PINS CROW[1] : 34 : in * +NOTE PINS CROW[0] : 32 : in * +NOTE PINS MAin[9] : 51 : in * +NOTE PINS MAin[8] : 50 : in * +NOTE PINS MAin[7] : 44 : in * +NOTE PINS MAin[6] : 49 : in * +NOTE PINS MAin[5] : 45 : in * +NOTE PINS MAin[4] : 46 : in * +NOTE PINS MAin[3] : 47 : in * +NOTE PINS MAin[2] : 37 : in * +NOTE PINS MAin[1] : 38 : in * +NOTE PINS MAin[0] : 23 : in * +NOTE CONFIGURATION MODE: NONE * +NOTE COMPRESSION: off * diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.areasrr b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.areasrr index b029ec5..2a05ec7 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.areasrr +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.areasrr @@ -1,26 +1,26 @@ ----------------------------------------------------------------------- -Report for cell RAM2GS.verilog - -Register bits: 92 of 256 (36%) -PIC Latch: 0 -I/O cells: 67 - Cell usage: - cell count Res Usage(%) - BB 8 100.0 - CCU2 9 100.0 - FD1P3AX 11 100.0 - FD1S3AX 59 100.0 - FD1S3AY 5 100.0 - FD1S3IX 14 100.0 - FD1S3JX 3 100.0 - GSR 1 100.0 - IB 26 100.0 - INV 8 100.0 - OB 33 100.0 - ORCALUT4 119 100.0 - PFUMX 2 100.0 - PUR 1 100.0 - VHI 1 100.0 - VLO 1 100.0 - - TOTAL 301 +---------------------------------------------------------------------- +Report for cell RAM2GS.verilog + +Register bits: 92 of 256 (36%) +PIC Latch: 0 +I/O cells: 67 + Cell usage: + cell count Res Usage(%) + BB 8 100.0 + CCU2 9 100.0 + FD1P3AX 11 100.0 + FD1S3AX 59 100.0 + FD1S3AY 5 100.0 + FD1S3IX 14 100.0 + FD1S3JX 3 100.0 + GSR 1 100.0 + IB 26 100.0 + INV 8 100.0 + OB 33 100.0 + ORCALUT4 119 100.0 + PFUMX 2 100.0 + PUR 1 100.0 + VHI 1 100.0 + VLO 1 100.0 + + TOTAL 301 diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.bgn b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.bgn index b8a5f22..ead4687 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.bgn +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.bgn @@ -1,45 +1,45 @@ -BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 +BITGEN: Bitstream Generator Diamond (64-bit) 3.12.1.454 Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:29:49 2023 +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:53:34 2023 + - -Command: bitgen -w -g ES:No -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf - -Loading design for application Bitgen from file RAM2GS_LCMXO256C_impl1.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application Bitgen from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. - -Running DRC. -DRC detected 0 errors and 0 warnings. -Reading Preference File from RAM2GS_LCMXO256C_impl1.prf. - -Preference Summary: -+---------------------------------+---------------------------------+ -| Preference | Current Setting | -+---------------------------------+---------------------------------+ -| CONFIG_SECURE | OFF** | -+---------------------------------+---------------------------------+ -| INBUF | ON** | -+---------------------------------+---------------------------------+ -| ES | No** | -+---------------------------------+---------------------------------+ - * Default setting. - ** The specified setting matches the default setting. - - -Creating bit map... -Saving bit stream in "RAM2GS_LCMXO256C_impl1.bit". -Total CPU Time: 0 secs -Total REAL Time: 0 secs -Peak Memory Usage: 44 MB +Command: bitgen -w -g ES:No -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml RAM2GS_LCMXO256C_impl1.ncd RAM2GS_LCMXO256C_impl1.prf + +Loading design for application Bitgen from file RAM2GS_LCMXO256C_impl1.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO256C +Package: TQFP100 +Performance: 3 +Loading device for application Bitgen from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.19. +Performance Hardware Data Status: Version 1.124. + +Running DRC. +DRC detected 0 errors and 0 warnings. +Reading Preference File from RAM2GS_LCMXO256C_impl1.prf. + +Preference Summary: ++---------------------------------+---------------------------------+ +| Preference | Current Setting | ++---------------------------------+---------------------------------+ +| CONFIG_SECURE | OFF** | ++---------------------------------+---------------------------------+ +| INBUF | ON** | ++---------------------------------+---------------------------------+ +| ES | No** | ++---------------------------------+---------------------------------+ + * Default setting. + ** The specified setting matches the default setting. + + +Creating bit map... +Saving bit stream in "RAM2GS_LCMXO256C_impl1.bit". +Total CPU Time: 0 secs +Total REAL Time: 0 secs +Peak Memory Usage: 65 MB diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.bit b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.bit index da1601a71ed94f6eb5aa8a6d8e483f4379bb4911..b957591132c812e8a898ba36a2e7ff1fbd3d9ead 100644 GIT binary patch delta 31 mcmeD5==7MdT_iZMM8Q#^G+n{aQo+c;%GB7(*mUD*J7oZ+GzqW( delta 31 mcmeD5==7MdT_ij;MZr;_G+n{aOu@j!%E;2n#B$?lJ7oZ*sR^$D diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.ncd b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.ncd index f58180a12831f24a2a0570336c37a2c7aa55e3eb..786ae1eee91ce499981789fd2474b219fb536f6b 100644 GIT binary patch delta 40 wcmdnj#JR7DbAkx-!{q-P#UDwq)%Z;?*4LlRDCy8_FWGJ{$++EKlIg!X06oAC4*&oF delta 40 wcmdnj#JR7DbAkx-o!B@uCG6tQPQE=Ub5X@l5xAeB-4L&09UyWQ2+n{ diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.pad b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.pad index 15579af..18517f3 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.pad +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.pad @@ -1,271 +1,271 @@ -PAD Specification File -*************************** - -PART TYPE: LCMXO256C -Performance Grade: 3 -PACKAGE: TQFP100 -Package Status: Final Version 1.19 - -Wed Aug 16 04:50:47 2023 - -Pinout by Port Name: -+-----------+----------+---------------+------+----------------------------------+ -| Port Name | Pin/Bank | Buffer Type | Site | Properties | -+-----------+----------+---------------+------+----------------------------------+ -| CROW[0] | 32/1 | LVCMOS33_IN | PB2C | SLEW:FAST PULL:KEEPER | -| CROW[1] | 34/1 | LVCMOS33_IN | PB2D | SLEW:FAST PULL:KEEPER | -| Din[0] | 21/1 | LVCMOS33_IN | PL8A | SLEW:FAST PULL:KEEPER | -| Din[1] | 15/1 | LVCMOS33_IN | PL6A | SLEW:FAST PULL:KEEPER | -| Din[2] | 14/1 | LVCMOS33_IN | PL5D | SLEW:FAST PULL:KEEPER | -| Din[3] | 16/1 | LVCMOS33_IN | PL6B | SLEW:FAST PULL:KEEPER | -| Din[4] | 18/1 | LVCMOS33_IN | PL7B | SLEW:FAST PULL:KEEPER | -| Din[5] | 17/1 | LVCMOS33_IN | PL7A | SLEW:FAST PULL:KEEPER | -| Din[6] | 20/1 | LVCMOS33_IN | PL7D | SLEW:FAST PULL:KEEPER | -| Din[7] | 19/1 | LVCMOS33_IN | PL7C | SLEW:FAST PULL:KEEPER | -| Dout[0] | 1/1 | LVCMOS33_OUT | PL2A | DRIVE:4mA SLEW:FAST | -| Dout[1] | 7/1 | LVCMOS33_OUT | PL4A | DRIVE:4mA SLEW:FAST | -| Dout[2] | 8/1 | LVCMOS33_OUT | PL4B | DRIVE:4mA SLEW:FAST | -| Dout[3] | 6/1 | LVCMOS33_OUT | PL3D | DRIVE:4mA SLEW:FAST | -| Dout[4] | 4/1 | LVCMOS33_OUT | PL3B | DRIVE:4mA SLEW:FAST | -| Dout[5] | 5/1 | LVCMOS33_OUT | PL3C | DRIVE:4mA SLEW:FAST | -| Dout[6] | 2/1 | LVCMOS33_OUT | PL2B | DRIVE:4mA SLEW:FAST | -| Dout[7] | 3/1 | LVCMOS33_OUT | PL3A | DRIVE:4mA SLEW:FAST | -| LED | 57/0 | LVCMOS33_OUT | PR7B | DRIVE:14mA SLEW:SLOW | -| MAin[0] | 23/1 | LVCMOS33_IN | PL9A | SLEW:FAST PULL:KEEPER | -| MAin[1] | 38/1 | LVCMOS33_IN | PB3C | SLEW:FAST PULL:KEEPER | -| MAin[2] | 37/1 | LVCMOS33_IN | PB3B | SLEW:FAST PULL:KEEPER | -| MAin[3] | 47/1 | LVCMOS33_IN | PB5A | SLEW:FAST PULL:KEEPER | -| MAin[4] | 46/1 | LVCMOS33_IN | PB4D | SLEW:FAST PULL:KEEPER | -| MAin[5] | 45/1 | LVCMOS33_IN | PB4C | SLEW:FAST PULL:KEEPER | -| MAin[6] | 49/1 | LVCMOS33_IN | PB5C | SLEW:FAST PULL:KEEPER | -| MAin[7] | 44/1 | LVCMOS33_IN | PB4B | SLEW:FAST PULL:KEEPER | -| MAin[8] | 50/1 | LVCMOS33_IN | PB5D | SLEW:FAST PULL:KEEPER | -| MAin[9] | 51/0 | LVCMOS33_IN | PR9B | SLEW:FAST PULL:KEEPER | -| PHI2 | 39/1 | LVCMOS33_IN | PB3D | SLEW:FAST PULL:DOWN | -| RA[0] | 98/0 | LVCMOS33_OUT | PT2C | DRIVE:4mA SLEW:SLOW | -| RA[10] | 87/0 | LVCMOS33_OUT | PT3D | DRIVE:4mA SLEW:SLOW | -| RA[11] | 79/0 | LVCMOS33_OUT | PT5A | DRIVE:4mA SLEW:SLOW | -| RA[1] | 89/0 | LVCMOS33_OUT | PT3C | DRIVE:4mA SLEW:SLOW | -| RA[2] | 94/0 | LVCMOS33_OUT | PT3A | DRIVE:4mA SLEW:SLOW | -| RA[3] | 97/0 | LVCMOS33_OUT | PT2D | DRIVE:4mA SLEW:SLOW | -| RA[4] | 99/0 | LVCMOS33_OUT | PT2B | DRIVE:4mA SLEW:SLOW | -| RA[5] | 95/0 | LVCMOS33_OUT | PT2F | DRIVE:4mA SLEW:SLOW | -| RA[6] | 91/0 | LVCMOS33_OUT | PT3B | DRIVE:4mA SLEW:SLOW | -| RA[7] | 100/0 | LVCMOS33_OUT | PT2A | DRIVE:4mA SLEW:SLOW | -| RA[8] | 96/0 | LVCMOS33_OUT | PT2E | DRIVE:4mA SLEW:SLOW | -| RA[9] | 85/0 | LVCMOS33_OUT | PT4B | DRIVE:4mA SLEW:SLOW | -| RBA[0] | 63/0 | LVCMOS33_OUT | PR5D | DRIVE:4mA SLEW:SLOW | -| RBA[1] | 83/0 | LVCMOS33_OUT | PT4C | DRIVE:4mA SLEW:SLOW | -| RCKE | 82/0 | LVCMOS33_OUT | PT4D | DRIVE:4mA SLEW:SLOW | -| RCLK | 86/0 | LVCMOS33_IN | PT4A | SLEW:FAST PULL:KEEPER | -| RDQMH | 76/0 | LVCMOS33_OUT | PR2A | DRIVE:4mA SLEW:SLOW | -| RDQML | 61/0 | LVCMOS33_OUT | PR6A | DRIVE:4mA SLEW:SLOW | -| RD[0] | 64/0 | LVCMOS33_BIDI | PR5C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[1] | 65/0 | LVCMOS33_BIDI | PR5B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[2] | 66/0 | LVCMOS33_BIDI | PR5A | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[3] | 67/0 | LVCMOS33_BIDI | PR4B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[4] | 68/0 | LVCMOS33_BIDI | PR4A | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[5] | 69/0 | LVCMOS33_BIDI | PR3D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[6] | 70/0 | LVCMOS33_BIDI | PR3C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| RD[7] | 71/0 | LVCMOS33_BIDI | PR3B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | -| UFMCLK | 58/0 | LVCMOS33_OUT | PR7A | DRIVE:4mA SLEW:SLOW | -| UFMSDI | 56/0 | LVCMOS33_OUT | PR7C | DRIVE:4mA SLEW:SLOW | -| UFMSDO | 55/0 | LVCMOS33_IN | PR7D | SLEW:FAST PULL:KEEPER | -| nCCAS | 27/1 | LVCMOS33_IN | PL9B | SLEW:FAST PULL:UP | -| nCRAS | 43/1 | LVCMOS33_IN | PB4A | SLEW:FAST PULL:UP | -| nFWE | 22/1 | LVCMOS33_IN | PL8B | SLEW:FAST PULL:KEEPER | -| nRCAS | 78/0 | LVCMOS33_OUT | PT5B | DRIVE:4mA SLEW:SLOW | -| nRCS | 77/0 | LVCMOS33_OUT | PT5C | DRIVE:4mA SLEW:SLOW | -| nRRAS | 73/0 | LVCMOS33_OUT | PR2B | DRIVE:4mA SLEW:SLOW | -| nRWE | 72/0 | LVCMOS33_OUT | PR3A | DRIVE:4mA SLEW:SLOW | -| nUFMCS | 53/0 | LVCMOS33_OUT | PR8B | DRIVE:4mA SLEW:SLOW | -+-----------+----------+---------------+------+----------------------------------+ - -Vccio by Bank: -+------+-------+ -| Bank | Vccio | -+------+-------+ -| 0 | 3.3V | -| 1 | 3.3V | -+------+-------+ - -Vref by Bank: -+------+-----+-----------------+---------+ -| Vref | Pin | Bank # / Vref # | Load(s) | -+------+-----+-----------------+---------+ -+------+-----+-----------------+---------+ - -Pinout by Pin Number: -+----------+---------------------+------------+---------------+------+---------------+ -| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | -+----------+---------------------+------------+---------------+------+---------------+ -| 1/1 | Dout[0] | LOCATED | LVCMOS33_OUT | PL2A | | -| 2/1 | Dout[6] | LOCATED | LVCMOS33_OUT | PL2B | | -| 3/1 | Dout[7] | LOCATED | LVCMOS33_OUT | PL3A | | -| 4/1 | Dout[4] | LOCATED | LVCMOS33_OUT | PL3B | | -| 5/1 | Dout[5] | LOCATED | LVCMOS33_OUT | PL3C | | -| 6/1 | Dout[3] | LOCATED | LVCMOS33_OUT | PL3D | | -| 7/1 | Dout[1] | LOCATED | LVCMOS33_OUT | PL4A | | -| 8/1 | Dout[2] | LOCATED | LVCMOS33_OUT | PL4B | | -| 9/1 | unused, PULL:UP | | | PL5A | | -| 11/1 | unused, PULL:UP | | | PL5B | | -| 13/1 | unused, PULL:UP | | | PL5C | | -| 14/1 | Din[2] | LOCATED | LVCMOS33_IN | PL5D | GSR_PADN | -| 15/1 | Din[1] | LOCATED | LVCMOS33_IN | PL6A | | -| 16/1 | Din[3] | LOCATED | LVCMOS33_IN | PL6B | TSALLPAD | -| 17/1 | Din[5] | LOCATED | LVCMOS33_IN | PL7A | | -| 18/1 | Din[4] | LOCATED | LVCMOS33_IN | PL7B | | -| 19/1 | Din[7] | LOCATED | LVCMOS33_IN | PL7C | | -| 20/1 | Din[6] | LOCATED | LVCMOS33_IN | PL7D | | -| 21/1 | Din[0] | LOCATED | LVCMOS33_IN | PL8A | | -| 22/1 | nFWE | LOCATED | LVCMOS33_IN | PL8B | | -| 23/1 | MAin[0] | LOCATED | LVCMOS33_IN | PL9A | | -| 27/1 | nCCAS | LOCATED | LVCMOS33_IN | PL9B | | -| 29/1 | unused, PULL:UP | | | PB2A | | -| 30/1 | unused, PULL:UP | | | PB2B | | -| 32/1 | CROW[0] | LOCATED | LVCMOS33_IN | PB2C | | -| 34/1 | CROW[1] | LOCATED | LVCMOS33_IN | PB2D | | -| 36/1 | unused, PULL:UP | | | PB3A | PCLKT1_1 | -| 37/1 | MAin[2] | LOCATED | LVCMOS33_IN | PB3B | | -| 38/1 | MAin[1] | LOCATED | LVCMOS33_IN | PB3C | PCLKT1_0 | -| 39/1 | PHI2 | LOCATED | LVCMOS33_IN | PB3D | | -| 43/1 | nCRAS | LOCATED | LVCMOS33_IN | PB4A | | -| 44/1 | MAin[7] | LOCATED | LVCMOS33_IN | PB4B | | -| 45/1 | MAin[5] | LOCATED | LVCMOS33_IN | PB4C | | -| 46/1 | MAin[4] | LOCATED | LVCMOS33_IN | PB4D | | -| 47/1 | MAin[3] | LOCATED | LVCMOS33_IN | PB5A | | -| 49/1 | MAin[6] | LOCATED | LVCMOS33_IN | PB5C | | -| 50/1 | MAin[8] | LOCATED | LVCMOS33_IN | PB5D | | -| 51/0 | MAin[9] | LOCATED | LVCMOS33_IN | PR9B | | -| 52/0 | unused, PULL:UP | | | PR9A | | -| 53/0 | nUFMCS | LOCATED | LVCMOS33_OUT | PR8B | | -| 54/0 | unused, PULL:UP | | | PR8A | | -| 55/0 | UFMSDO | LOCATED | LVCMOS33_IN | PR7D | | -| 56/0 | UFMSDI | LOCATED | LVCMOS33_OUT | PR7C | | -| 57/0 | LED | LOCATED | LVCMOS33_OUT | PR7B | | -| 58/0 | UFMCLK | LOCATED | LVCMOS33_OUT | PR7A | | -| 59/0 | unused, PULL:UP | | | PR6B | | -| 61/0 | RDQML | LOCATED | LVCMOS33_OUT | PR6A | | -| 63/0 | RBA[0] | LOCATED | LVCMOS33_OUT | PR5D | | -| 64/0 | RD[0] | LOCATED | LVCMOS33_BIDI | PR5C | | -| 65/0 | RD[1] | LOCATED | LVCMOS33_BIDI | PR5B | | -| 66/0 | RD[2] | LOCATED | LVCMOS33_BIDI | PR5A | | -| 67/0 | RD[3] | LOCATED | LVCMOS33_BIDI | PR4B | | -| 68/0 | RD[4] | LOCATED | LVCMOS33_BIDI | PR4A | | -| 69/0 | RD[5] | LOCATED | LVCMOS33_BIDI | PR3D | | -| 70/0 | RD[6] | LOCATED | LVCMOS33_BIDI | PR3C | | -| 71/0 | RD[7] | LOCATED | LVCMOS33_BIDI | PR3B | | -| 72/0 | nRWE | LOCATED | LVCMOS33_OUT | PR3A | | -| 73/0 | nRRAS | LOCATED | LVCMOS33_OUT | PR2B | | -| 76/0 | RDQMH | LOCATED | LVCMOS33_OUT | PR2A | | -| 77/0 | nRCS | LOCATED | LVCMOS33_OUT | PT5C | | -| 78/0 | nRCAS | LOCATED | LVCMOS33_OUT | PT5B | | -| 79/0 | RA[11] | LOCATED | LVCMOS33_OUT | PT5A | | -| 80/0 | unused, PULL:UP | | | PT4F | | -| 81/0 | unused, PULL:UP | | | PT4E | | -| 82/0 | RCKE | LOCATED | LVCMOS33_OUT | PT4D | | -| 83/0 | RBA[1] | LOCATED | LVCMOS33_OUT | PT4C | | -| 85/0 | RA[9] | LOCATED | LVCMOS33_OUT | PT4B | PCLKT0_1 | -| 86/0 | RCLK | LOCATED | LVCMOS33_IN | PT4A | PCLKT0_0 | -| 87/0 | RA[10] | LOCATED | LVCMOS33_OUT | PT3D | | -| 89/0 | RA[1] | LOCATED | LVCMOS33_OUT | PT3C | | -| 91/0 | RA[6] | LOCATED | LVCMOS33_OUT | PT3B | | -| 94/0 | RA[2] | LOCATED | LVCMOS33_OUT | PT3A | | -| 95/0 | RA[5] | LOCATED | LVCMOS33_OUT | PT2F | | -| 96/0 | RA[8] | LOCATED | LVCMOS33_OUT | PT2E | | -| 97/0 | RA[3] | LOCATED | LVCMOS33_OUT | PT2D | | -| 98/0 | RA[0] | LOCATED | LVCMOS33_OUT | PT2C | | -| 99/0 | RA[4] | LOCATED | LVCMOS33_OUT | PT2B | | -| 100/0 | RA[7] | LOCATED | LVCMOS33_OUT | PT2A | | -| PB5B/0 | unused, PULL:UP | | | PB5B | | -| PT5D/0 | unused, PULL:UP | | | PT5D | | -| TCK/1 | | | | TCK | TCK | -| TDI/1 | | | | TDI | TDI | -| TDO/1 | | | | TDO | TDO | -| TMS/1 | | | | TMS | TMS | -+----------+---------------------+------------+---------------+------+---------------+ - - -List of All Pins' Locate Preferences Based on Final Placement After PAR -to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): - -LOCATE COMP "CROW[0]" SITE "32"; -LOCATE COMP "CROW[1]" SITE "34"; -LOCATE COMP "Din[0]" SITE "21"; -LOCATE COMP "Din[1]" SITE "15"; -LOCATE COMP "Din[2]" SITE "14"; -LOCATE COMP "Din[3]" SITE "16"; -LOCATE COMP "Din[4]" SITE "18"; -LOCATE COMP "Din[5]" SITE "17"; -LOCATE COMP "Din[6]" SITE "20"; -LOCATE COMP "Din[7]" SITE "19"; -LOCATE COMP "Dout[0]" SITE "1"; -LOCATE COMP "Dout[1]" SITE "7"; -LOCATE COMP "Dout[2]" SITE "8"; -LOCATE COMP "Dout[3]" SITE "6"; -LOCATE COMP "Dout[4]" SITE "4"; -LOCATE COMP "Dout[5]" SITE "5"; -LOCATE COMP "Dout[6]" SITE "2"; -LOCATE COMP "Dout[7]" SITE "3"; -LOCATE COMP "LED" SITE "57"; -LOCATE COMP "MAin[0]" SITE "23"; -LOCATE COMP "MAin[1]" SITE "38"; -LOCATE COMP "MAin[2]" SITE "37"; -LOCATE COMP "MAin[3]" SITE "47"; -LOCATE COMP "MAin[4]" SITE "46"; -LOCATE COMP "MAin[5]" SITE "45"; -LOCATE COMP "MAin[6]" SITE "49"; -LOCATE COMP "MAin[7]" SITE "44"; -LOCATE COMP "MAin[8]" SITE "50"; -LOCATE COMP "MAin[9]" SITE "51"; -LOCATE COMP "PHI2" SITE "39"; -LOCATE COMP "RA[0]" SITE "98"; -LOCATE COMP "RA[10]" SITE "87"; -LOCATE COMP "RA[11]" SITE "79"; -LOCATE COMP "RA[1]" SITE "89"; -LOCATE COMP "RA[2]" SITE "94"; -LOCATE COMP "RA[3]" SITE "97"; -LOCATE COMP "RA[4]" SITE "99"; -LOCATE COMP "RA[5]" SITE "95"; -LOCATE COMP "RA[6]" SITE "91"; -LOCATE COMP "RA[7]" SITE "100"; -LOCATE COMP "RA[8]" SITE "96"; -LOCATE COMP "RA[9]" SITE "85"; -LOCATE COMP "RBA[0]" SITE "63"; -LOCATE COMP "RBA[1]" SITE "83"; -LOCATE COMP "RCKE" SITE "82"; -LOCATE COMP "RCLK" SITE "86"; -LOCATE COMP "RDQMH" SITE "76"; -LOCATE COMP "RDQML" SITE "61"; -LOCATE COMP "RD[0]" SITE "64"; -LOCATE COMP "RD[1]" SITE "65"; -LOCATE COMP "RD[2]" SITE "66"; -LOCATE COMP "RD[3]" SITE "67"; -LOCATE COMP "RD[4]" SITE "68"; -LOCATE COMP "RD[5]" SITE "69"; -LOCATE COMP "RD[6]" SITE "70"; -LOCATE COMP "RD[7]" SITE "71"; -LOCATE COMP "UFMCLK" SITE "58"; -LOCATE COMP "UFMSDI" SITE "56"; -LOCATE COMP "UFMSDO" SITE "55"; -LOCATE COMP "nCCAS" SITE "27"; -LOCATE COMP "nCRAS" SITE "43"; -LOCATE COMP "nFWE" SITE "22"; -LOCATE COMP "nRCAS" SITE "78"; -LOCATE COMP "nRCS" SITE "77"; -LOCATE COMP "nRRAS" SITE "73"; -LOCATE COMP "nRWE" SITE "72"; -LOCATE COMP "nUFMCS" SITE "53"; - - - - - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:47 2023 - +PAD Specification File +*************************** + +PART TYPE: LCMXO256C +Performance Grade: 3 +PACKAGE: TQFP100 +Package Status: Final Version 1.19 + +Sat Aug 19 20:53:29 2023 + +Pinout by Port Name: ++-----------+----------+---------------+------+----------------------------------+ +| Port Name | Pin/Bank | Buffer Type | Site | Properties | ++-----------+----------+---------------+------+----------------------------------+ +| CROW[0] | 32/1 | LVCMOS33_IN | PB2C | SLEW:FAST PULL:KEEPER | +| CROW[1] | 34/1 | LVCMOS33_IN | PB2D | SLEW:FAST PULL:KEEPER | +| Din[0] | 21/1 | LVCMOS33_IN | PL8A | SLEW:FAST PULL:KEEPER | +| Din[1] | 15/1 | LVCMOS33_IN | PL6A | SLEW:FAST PULL:KEEPER | +| Din[2] | 14/1 | LVCMOS33_IN | PL5D | SLEW:FAST PULL:KEEPER | +| Din[3] | 16/1 | LVCMOS33_IN | PL6B | SLEW:FAST PULL:KEEPER | +| Din[4] | 18/1 | LVCMOS33_IN | PL7B | SLEW:FAST PULL:KEEPER | +| Din[5] | 17/1 | LVCMOS33_IN | PL7A | SLEW:FAST PULL:KEEPER | +| Din[6] | 20/1 | LVCMOS33_IN | PL7D | SLEW:FAST PULL:KEEPER | +| Din[7] | 19/1 | LVCMOS33_IN | PL7C | SLEW:FAST PULL:KEEPER | +| Dout[0] | 1/1 | LVCMOS33_OUT | PL2A | DRIVE:4mA SLEW:FAST | +| Dout[1] | 7/1 | LVCMOS33_OUT | PL4A | DRIVE:4mA SLEW:FAST | +| Dout[2] | 8/1 | LVCMOS33_OUT | PL4B | DRIVE:4mA SLEW:FAST | +| Dout[3] | 6/1 | LVCMOS33_OUT | PL3D | DRIVE:4mA SLEW:FAST | +| Dout[4] | 4/1 | LVCMOS33_OUT | PL3B | DRIVE:4mA SLEW:FAST | +| Dout[5] | 5/1 | LVCMOS33_OUT | PL3C | DRIVE:4mA SLEW:FAST | +| Dout[6] | 2/1 | LVCMOS33_OUT | PL2B | DRIVE:4mA SLEW:FAST | +| Dout[7] | 3/1 | LVCMOS33_OUT | PL3A | DRIVE:4mA SLEW:FAST | +| LED | 57/0 | LVCMOS33_OUT | PR7B | DRIVE:14mA SLEW:SLOW | +| MAin[0] | 23/1 | LVCMOS33_IN | PL9A | SLEW:FAST PULL:KEEPER | +| MAin[1] | 38/1 | LVCMOS33_IN | PB3C | SLEW:FAST PULL:KEEPER | +| MAin[2] | 37/1 | LVCMOS33_IN | PB3B | SLEW:FAST PULL:KEEPER | +| MAin[3] | 47/1 | LVCMOS33_IN | PB5A | SLEW:FAST PULL:KEEPER | +| MAin[4] | 46/1 | LVCMOS33_IN | PB4D | SLEW:FAST PULL:KEEPER | +| MAin[5] | 45/1 | LVCMOS33_IN | PB4C | SLEW:FAST PULL:KEEPER | +| MAin[6] | 49/1 | LVCMOS33_IN | PB5C | SLEW:FAST PULL:KEEPER | +| MAin[7] | 44/1 | LVCMOS33_IN | PB4B | SLEW:FAST PULL:KEEPER | +| MAin[8] | 50/1 | LVCMOS33_IN | PB5D | SLEW:FAST PULL:KEEPER | +| MAin[9] | 51/0 | LVCMOS33_IN | PR9B | SLEW:FAST PULL:KEEPER | +| PHI2 | 39/1 | LVCMOS33_IN | PB3D | SLEW:FAST PULL:DOWN | +| RA[0] | 98/0 | LVCMOS33_OUT | PT2C | DRIVE:4mA SLEW:SLOW | +| RA[10] | 87/0 | LVCMOS33_OUT | PT3D | DRIVE:4mA SLEW:SLOW | +| RA[11] | 79/0 | LVCMOS33_OUT | PT5A | DRIVE:4mA SLEW:SLOW | +| RA[1] | 89/0 | LVCMOS33_OUT | PT3C | DRIVE:4mA SLEW:SLOW | +| RA[2] | 94/0 | LVCMOS33_OUT | PT3A | DRIVE:4mA SLEW:SLOW | +| RA[3] | 97/0 | LVCMOS33_OUT | PT2D | DRIVE:4mA SLEW:SLOW | +| RA[4] | 99/0 | LVCMOS33_OUT | PT2B | DRIVE:4mA SLEW:SLOW | +| RA[5] | 95/0 | LVCMOS33_OUT | PT2F | DRIVE:4mA SLEW:SLOW | +| RA[6] | 91/0 | LVCMOS33_OUT | PT3B | DRIVE:4mA SLEW:SLOW | +| RA[7] | 100/0 | LVCMOS33_OUT | PT2A | DRIVE:4mA SLEW:SLOW | +| RA[8] | 96/0 | LVCMOS33_OUT | PT2E | DRIVE:4mA SLEW:SLOW | +| RA[9] | 85/0 | LVCMOS33_OUT | PT4B | DRIVE:4mA SLEW:SLOW | +| RBA[0] | 63/0 | LVCMOS33_OUT | PR5D | DRIVE:4mA SLEW:SLOW | +| RBA[1] | 83/0 | LVCMOS33_OUT | PT4C | DRIVE:4mA SLEW:SLOW | +| RCKE | 82/0 | LVCMOS33_OUT | PT4D | DRIVE:4mA SLEW:SLOW | +| RCLK | 86/0 | LVCMOS33_IN | PT4A | SLEW:FAST PULL:KEEPER | +| RDQMH | 76/0 | LVCMOS33_OUT | PR2A | DRIVE:4mA SLEW:SLOW | +| RDQML | 61/0 | LVCMOS33_OUT | PR6A | DRIVE:4mA SLEW:SLOW | +| RD[0] | 64/0 | LVCMOS33_BIDI | PR5C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[1] | 65/0 | LVCMOS33_BIDI | PR5B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[2] | 66/0 | LVCMOS33_BIDI | PR5A | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[3] | 67/0 | LVCMOS33_BIDI | PR4B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[4] | 68/0 | LVCMOS33_BIDI | PR4A | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[5] | 69/0 | LVCMOS33_BIDI | PR3D | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[6] | 70/0 | LVCMOS33_BIDI | PR3C | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| RD[7] | 71/0 | LVCMOS33_BIDI | PR3B | DRIVE:4mA SLEW:SLOW PULL:KEEPER | +| UFMCLK | 58/0 | LVCMOS33_OUT | PR7A | DRIVE:4mA SLEW:SLOW | +| UFMSDI | 56/0 | LVCMOS33_OUT | PR7C | DRIVE:4mA SLEW:SLOW | +| UFMSDO | 55/0 | LVCMOS33_IN | PR7D | SLEW:FAST PULL:KEEPER | +| nCCAS | 27/1 | LVCMOS33_IN | PL9B | SLEW:FAST PULL:UP | +| nCRAS | 43/1 | LVCMOS33_IN | PB4A | SLEW:FAST PULL:UP | +| nFWE | 22/1 | LVCMOS33_IN | PL8B | SLEW:FAST PULL:KEEPER | +| nRCAS | 78/0 | LVCMOS33_OUT | PT5B | DRIVE:4mA SLEW:SLOW | +| nRCS | 77/0 | LVCMOS33_OUT | PT5C | DRIVE:4mA SLEW:SLOW | +| nRRAS | 73/0 | LVCMOS33_OUT | PR2B | DRIVE:4mA SLEW:SLOW | +| nRWE | 72/0 | LVCMOS33_OUT | PR3A | DRIVE:4mA SLEW:SLOW | +| nUFMCS | 53/0 | LVCMOS33_OUT | PR8B | DRIVE:4mA SLEW:SLOW | ++-----------+----------+---------------+------+----------------------------------+ + +Vccio by Bank: ++------+-------+ +| Bank | Vccio | ++------+-------+ +| 0 | 3.3V | +| 1 | 3.3V | ++------+-------+ + +Vref by Bank: ++------+-----+-----------------+---------+ +| Vref | Pin | Bank # / Vref # | Load(s) | ++------+-----+-----------------+---------+ ++------+-----+-----------------+---------+ + +Pinout by Pin Number: ++----------+---------------------+------------+---------------+------+---------------+ +| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | ++----------+---------------------+------------+---------------+------+---------------+ +| 1/1 | Dout[0] | LOCATED | LVCMOS33_OUT | PL2A | | +| 2/1 | Dout[6] | LOCATED | LVCMOS33_OUT | PL2B | | +| 3/1 | Dout[7] | LOCATED | LVCMOS33_OUT | PL3A | | +| 4/1 | Dout[4] | LOCATED | LVCMOS33_OUT | PL3B | | +| 5/1 | Dout[5] | LOCATED | LVCMOS33_OUT | PL3C | | +| 6/1 | Dout[3] | LOCATED | LVCMOS33_OUT | PL3D | | +| 7/1 | Dout[1] | LOCATED | LVCMOS33_OUT | PL4A | | +| 8/1 | Dout[2] | LOCATED | LVCMOS33_OUT | PL4B | | +| 9/1 | unused, PULL:UP | | | PL5A | | +| 11/1 | unused, PULL:UP | | | PL5B | | +| 13/1 | unused, PULL:UP | | | PL5C | | +| 14/1 | Din[2] | LOCATED | LVCMOS33_IN | PL5D | GSR_PADN | +| 15/1 | Din[1] | LOCATED | LVCMOS33_IN | PL6A | | +| 16/1 | Din[3] | LOCATED | LVCMOS33_IN | PL6B | TSALLPAD | +| 17/1 | Din[5] | LOCATED | LVCMOS33_IN | PL7A | | +| 18/1 | Din[4] | LOCATED | LVCMOS33_IN | PL7B | | +| 19/1 | Din[7] | LOCATED | LVCMOS33_IN | PL7C | | +| 20/1 | Din[6] | LOCATED | LVCMOS33_IN | PL7D | | +| 21/1 | Din[0] | LOCATED | LVCMOS33_IN | PL8A | | +| 22/1 | nFWE | LOCATED | LVCMOS33_IN | PL8B | | +| 23/1 | MAin[0] | LOCATED | LVCMOS33_IN | PL9A | | +| 27/1 | nCCAS | LOCATED | LVCMOS33_IN | PL9B | | +| 29/1 | unused, PULL:UP | | | PB2A | | +| 30/1 | unused, PULL:UP | | | PB2B | | +| 32/1 | CROW[0] | LOCATED | LVCMOS33_IN | PB2C | | +| 34/1 | CROW[1] | LOCATED | LVCMOS33_IN | PB2D | | +| 36/1 | unused, PULL:UP | | | PB3A | PCLKT1_1 | +| 37/1 | MAin[2] | LOCATED | LVCMOS33_IN | PB3B | | +| 38/1 | MAin[1] | LOCATED | LVCMOS33_IN | PB3C | PCLKT1_0 | +| 39/1 | PHI2 | LOCATED | LVCMOS33_IN | PB3D | | +| 43/1 | nCRAS | LOCATED | LVCMOS33_IN | PB4A | | +| 44/1 | MAin[7] | LOCATED | LVCMOS33_IN | PB4B | | +| 45/1 | MAin[5] | LOCATED | LVCMOS33_IN | PB4C | | +| 46/1 | MAin[4] | LOCATED | LVCMOS33_IN | PB4D | | +| 47/1 | MAin[3] | LOCATED | LVCMOS33_IN | PB5A | | +| 49/1 | MAin[6] | LOCATED | LVCMOS33_IN | PB5C | | +| 50/1 | MAin[8] | LOCATED | LVCMOS33_IN | PB5D | | +| 51/0 | MAin[9] | LOCATED | LVCMOS33_IN | PR9B | | +| 52/0 | unused, PULL:UP | | | PR9A | | +| 53/0 | nUFMCS | LOCATED | LVCMOS33_OUT | PR8B | | +| 54/0 | unused, PULL:UP | | | PR8A | | +| 55/0 | UFMSDO | LOCATED | LVCMOS33_IN | PR7D | | +| 56/0 | UFMSDI | LOCATED | LVCMOS33_OUT | PR7C | | +| 57/0 | LED | LOCATED | LVCMOS33_OUT | PR7B | | +| 58/0 | UFMCLK | LOCATED | LVCMOS33_OUT | PR7A | | +| 59/0 | unused, PULL:UP | | | PR6B | | +| 61/0 | RDQML | LOCATED | LVCMOS33_OUT | PR6A | | +| 63/0 | RBA[0] | LOCATED | LVCMOS33_OUT | PR5D | | +| 64/0 | RD[0] | LOCATED | LVCMOS33_BIDI | PR5C | | +| 65/0 | RD[1] | LOCATED | LVCMOS33_BIDI | PR5B | | +| 66/0 | RD[2] | LOCATED | LVCMOS33_BIDI | PR5A | | +| 67/0 | RD[3] | LOCATED | LVCMOS33_BIDI | PR4B | | +| 68/0 | RD[4] | LOCATED | LVCMOS33_BIDI | PR4A | | +| 69/0 | RD[5] | LOCATED | LVCMOS33_BIDI | PR3D | | +| 70/0 | RD[6] | LOCATED | LVCMOS33_BIDI | PR3C | | +| 71/0 | RD[7] | LOCATED | LVCMOS33_BIDI | PR3B | | +| 72/0 | nRWE | LOCATED | LVCMOS33_OUT | PR3A | | +| 73/0 | nRRAS | LOCATED | LVCMOS33_OUT | PR2B | | +| 76/0 | RDQMH | LOCATED | LVCMOS33_OUT | PR2A | | +| 77/0 | nRCS | LOCATED | LVCMOS33_OUT | PT5C | | +| 78/0 | nRCAS | LOCATED | LVCMOS33_OUT | PT5B | | +| 79/0 | RA[11] | LOCATED | LVCMOS33_OUT | PT5A | | +| 80/0 | unused, PULL:UP | | | PT4F | | +| 81/0 | unused, PULL:UP | | | PT4E | | +| 82/0 | RCKE | LOCATED | LVCMOS33_OUT | PT4D | | +| 83/0 | RBA[1] | LOCATED | LVCMOS33_OUT | PT4C | | +| 85/0 | RA[9] | LOCATED | LVCMOS33_OUT | PT4B | PCLKT0_1 | +| 86/0 | RCLK | LOCATED | LVCMOS33_IN | PT4A | PCLKT0_0 | +| 87/0 | RA[10] | LOCATED | LVCMOS33_OUT | PT3D | | +| 89/0 | RA[1] | LOCATED | LVCMOS33_OUT | PT3C | | +| 91/0 | RA[6] | LOCATED | LVCMOS33_OUT | PT3B | | +| 94/0 | RA[2] | LOCATED | LVCMOS33_OUT | PT3A | | +| 95/0 | RA[5] | LOCATED | LVCMOS33_OUT | PT2F | | +| 96/0 | RA[8] | LOCATED | LVCMOS33_OUT | PT2E | | +| 97/0 | RA[3] | LOCATED | LVCMOS33_OUT | PT2D | | +| 98/0 | RA[0] | LOCATED | LVCMOS33_OUT | PT2C | | +| 99/0 | RA[4] | LOCATED | LVCMOS33_OUT | PT2B | | +| 100/0 | RA[7] | LOCATED | LVCMOS33_OUT | PT2A | | +| PB5B/0 | unused, PULL:UP | | | PB5B | | +| PT5D/0 | unused, PULL:UP | | | PT5D | | +| TCK/1 | | | | TCK | TCK | +| TDI/1 | | | | TDI | TDI | +| TDO/1 | | | | TDO | TDO | +| TMS/1 | | | | TMS | TMS | ++----------+---------------------+------------+---------------+------+---------------+ + + +List of All Pins' Locate Preferences Based on Final Placement After PAR +to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): + +LOCATE COMP "CROW[0]" SITE "32"; +LOCATE COMP "CROW[1]" SITE "34"; +LOCATE COMP "Din[0]" SITE "21"; +LOCATE COMP "Din[1]" SITE "15"; +LOCATE COMP "Din[2]" SITE "14"; +LOCATE COMP "Din[3]" SITE "16"; +LOCATE COMP "Din[4]" SITE "18"; +LOCATE COMP "Din[5]" SITE "17"; +LOCATE COMP "Din[6]" SITE "20"; +LOCATE COMP "Din[7]" SITE "19"; +LOCATE COMP "Dout[0]" SITE "1"; +LOCATE COMP "Dout[1]" SITE "7"; +LOCATE COMP "Dout[2]" SITE "8"; +LOCATE COMP "Dout[3]" SITE "6"; +LOCATE COMP "Dout[4]" SITE "4"; +LOCATE COMP "Dout[5]" SITE "5"; +LOCATE COMP "Dout[6]" SITE "2"; +LOCATE COMP "Dout[7]" SITE "3"; +LOCATE COMP "LED" SITE "57"; +LOCATE COMP "MAin[0]" SITE "23"; +LOCATE COMP "MAin[1]" SITE "38"; +LOCATE COMP "MAin[2]" SITE "37"; +LOCATE COMP "MAin[3]" SITE "47"; +LOCATE COMP "MAin[4]" SITE "46"; +LOCATE COMP "MAin[5]" SITE "45"; +LOCATE COMP "MAin[6]" SITE "49"; +LOCATE COMP "MAin[7]" SITE "44"; +LOCATE COMP "MAin[8]" SITE "50"; +LOCATE COMP "MAin[9]" SITE "51"; +LOCATE COMP "PHI2" SITE "39"; +LOCATE COMP "RA[0]" SITE "98"; +LOCATE COMP "RA[10]" SITE "87"; +LOCATE COMP "RA[11]" SITE "79"; +LOCATE COMP "RA[1]" SITE "89"; +LOCATE COMP "RA[2]" SITE "94"; +LOCATE COMP "RA[3]" SITE "97"; +LOCATE COMP "RA[4]" SITE "99"; +LOCATE COMP "RA[5]" SITE "95"; +LOCATE COMP "RA[6]" SITE "91"; +LOCATE COMP "RA[7]" SITE "100"; +LOCATE COMP "RA[8]" SITE "96"; +LOCATE COMP "RA[9]" SITE "85"; +LOCATE COMP "RBA[0]" SITE "63"; +LOCATE COMP "RBA[1]" SITE "83"; +LOCATE COMP "RCKE" SITE "82"; +LOCATE COMP "RCLK" SITE "86"; +LOCATE COMP "RDQMH" SITE "76"; +LOCATE COMP "RDQML" SITE "61"; +LOCATE COMP "RD[0]" SITE "64"; +LOCATE COMP "RD[1]" SITE "65"; +LOCATE COMP "RD[2]" SITE "66"; +LOCATE COMP "RD[3]" SITE "67"; +LOCATE COMP "RD[4]" SITE "68"; +LOCATE COMP "RD[5]" SITE "69"; +LOCATE COMP "RD[6]" SITE "70"; +LOCATE COMP "RD[7]" SITE "71"; +LOCATE COMP "UFMCLK" SITE "58"; +LOCATE COMP "UFMSDI" SITE "56"; +LOCATE COMP "UFMSDO" SITE "55"; +LOCATE COMP "nCCAS" SITE "27"; +LOCATE COMP "nCRAS" SITE "43"; +LOCATE COMP "nFWE" SITE "22"; +LOCATE COMP "nRCAS" SITE "78"; +LOCATE COMP "nRCS" SITE "77"; +LOCATE COMP "nRRAS" SITE "73"; +LOCATE COMP "nRWE" SITE "72"; +LOCATE COMP "nUFMCS" SITE "53"; + + + + + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:53:29 2023 + diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.par b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.par index 9b06891..2c09156 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.par +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1.par @@ -1,208 +1,208 @@ - -Lattice Place and Route Report for Design "RAM2GS_LCMXO256C_impl1_map.ncd" -Wed Aug 16 04:50:41 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir/5_1.ncd RAM2GS_LCMXO256C_impl1.prf -Preference file: RAM2GS_LCMXO256C_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file RAM2GS_LCMXO256C_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO256C -Package: TQFP100 -Performance: 3 -Loading device for application par from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.19. -Performance Hardware Data Status: Version 1.124. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 67/79 84% used - 67/78 85% bonded - SLICE 69/128 53% used - - - -Number of Signals: 251 -Number of Connections: 633 - -Pin Constraint Summary: - 67 out of 67 pins locked (100% locked). - -The following 2 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 32) - PHI2_c (driver: PHI2, clk load #: 14) - -The following 1 signal is selected to use the secondary clock routing resources: - nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) - -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -........ -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -................. -Placer score = 582801. -Finished Placer Phase 1. REAL time: 6 secs - -Starting Placer Phase 2. -. -Placer score = 582334 -Finished Placer Phase 2. REAL time: 6 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 1 out of 4 (25%) - General PIO: 1 out of 80 (1%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT4A)", clk load = 32 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB3D)", clk load = 14 - SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB4A)", clk load = 8, ce load = 0, sr load = 0 - - PRIMARY : 2 out of 4 (50%) - SECONDARY: 1 out of 4 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 67 out of 79 (84.8%) PIO sites used. - 67 out of 78 (85.9%) bonded PIO sites used. - Number of PIO comps: 67; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+------------+------------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | -+----------+----------------+------------+------------+------------+ -| 0 | 36 / 41 ( 87%) | 3.3V | - | - | -| 1 | 31 / 37 ( 83%) | 3.3V | - | - | -+----------+----------------+------------+------------+------------+ - -Total placer CPU time: 5 secs - -Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. - -0 connections routed; 633 unrouted. -Starting router resource preassignment -WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. -WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Completed router resource preassignment. Real time: 6 secs - -Start NBR router at 04:50:47 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 04:50:47 08/16/23 - -Start NBR section for initial routing at 04:50:47 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 545(86.10%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 6 secs -Level 2, iteration 1 -0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 6 secs -Level 3, iteration 1 -0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.405ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -10(0.08%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 04:50:47 08/16/23 -Level 4, iteration 1 -5(0.04%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs -Level 4, iteration 2 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 04:50:47 08/16/23 - -Start NBR section for re-routing at 04:50:47 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 6 secs - -Start NBR section for post-routing at 04:50:47 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 8.213ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=nCCAS_c loads=8 clock_loads=4 - -Total CPU time 5 secs -Total REAL time: 6 secs -Completely routed. -End of route. 633 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. - - -All signals are completely routed. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 8.213 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.273 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 5 secs -Total REAL time to completion: 6 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Lattice Place and Route Report for Design "RAM2GS_LCMXO256C_impl1_map.ncd" +Sat Aug 19 20:53:22 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir/5_1.ncd RAM2GS_LCMXO256C_impl1.prf +Preference file: RAM2GS_LCMXO256C_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file RAM2GS_LCMXO256C_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO256C +Package: TQFP100 +Performance: 3 +Loading device for application par from file 'mj5g10x6.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.19. +Performance Hardware Data Status: Version 1.124. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 67/79 84% used + 67/78 85% bonded + SLICE 69/128 53% used + + + +Number of Signals: 251 +Number of Connections: 633 + +Pin Constraint Summary: + 67 out of 67 pins locked (100% locked). + +The following 2 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 32) + PHI2_c (driver: PHI2, clk load #: 14) + +The following 1 signal is selected to use the secondary clock routing resources: + nCRAS_c (driver: nCRAS, clk load #: 8, sr load #: 0, ce load #: 0) + +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +........ +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +................. +Placer score = 582801. +Finished Placer Phase 1. REAL time: 7 secs + +Starting Placer Phase 2. +. +Placer score = 582334 +Finished Placer Phase 2. REAL time: 7 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 1 out of 4 (25%) + General PIO: 1 out of 80 (1%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on CLK_PIN site "86 (PT4A)", clk load = 32 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "39 (PB3D)", clk load = 14 + SECONDARY "nCRAS_c" from comp "nCRAS" on PIO site "43 (PB4A)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 2 out of 4 (50%) + SECONDARY: 1 out of 4 (25%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 67 out of 79 (84.8%) PIO sites used. + 67 out of 78 (85.9%) bonded PIO sites used. + Number of PIO comps: 67; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+------------+------------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref1 | Bank Vref2 | ++----------+----------------+------------+------------+------------+ +| 0 | 36 / 41 ( 87%) | 3.3V | - | - | +| 1 | 31 / 37 ( 83%) | 3.3V | - | - | ++----------+----------------+------------+------------+------------+ + +Total placer CPU time: 7 secs + +Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. + +0 connections routed; 633 unrouted. +Starting router resource preassignment +WARNING - par: The driver of primary clock net PHI2_c is not placed on one of the PIO sites dedicated for primary clocks. This primary clock will be routed to a H-spine through general routing resource and may suffer from excessive delay or skew. +WARNING - par: The driver of secondary clock net nCRAS_c is not placed on one of the PIO sites dedicated for secondary clocks. This secondary clock will be routed through general routing resource and may suffer from excessive delay or skew. + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Completed router resource preassignment. Real time: 8 secs + +Start NBR router at 20:53:30 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 20:53:30 08/19/23 + +Start NBR section for initial routing at 20:53:30 08/19/23 +Level 1, iteration 1 +0(0.00%) conflict; 545(86.10%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 8 secs +Level 2, iteration 1 +0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.344ns/0.000ns; real time: 8 secs +Level 3, iteration 1 +0(0.00%) conflict; 543(85.78%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.405ns/0.000ns; real time: 8 secs +Level 4, iteration 1 +10(0.08%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 20:53:30 08/19/23 +Level 4, iteration 1 +5(0.04%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs +Level 4, iteration 2 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 20:53:30 08/19/23 + +Start NBR section for re-routing at 20:53:30 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 8.213ns/0.000ns; real time: 8 secs + +Start NBR section for post-routing at 20:53:30 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 8.213ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. + Signal=nCCAS_c loads=8 clock_loads=4 + +Total CPU time 8 secs +Total REAL time: 8 secs +Completely routed. +End of route. 633 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file RAM2GS_LCMXO256C_impl1.dir/5_1.ncd. + + +All signals are completely routed. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 8.213 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.273 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 8 secs +Total REAL time to completion: 8 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1_par.asd b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1_par.asd index c03664b..a84ae8f 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1_par.asd +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/5_1_par.asd @@ -1,30 +1,30 @@ -[ActiveSupport PAR] -; Global primary clocks -GLOBAL_PRIMARY_USED = 2; -; Global primary clock #0 -GLOBAL_PRIMARY_0_SIGNALNAME = RCLK_c; -GLOBAL_PRIMARY_0_DRIVERTYPE = CLK_PIN; -GLOBAL_PRIMARY_0_LOADNUM = 32; -; Global primary clock #1 -GLOBAL_PRIMARY_1_SIGNALNAME = PHI2_c; -GLOBAL_PRIMARY_1_DRIVERTYPE = PIO; -GLOBAL_PRIMARY_1_LOADNUM = 14; -; # of global secondary clocks -GLOBAL_SECONDARY_USED = 1; -; Global secondary clock #0 -GLOBAL_SECONDARY_0_SIGNALNAME = nCRAS_c; -GLOBAL_SECONDARY_0_DRIVERTYPE = PIO; -GLOBAL_SECONDARY_0_LOADNUM = 10; -GLOBAL_SECONDARY_0_SIGTYPE = CLK; -; I/O Bank 0 Usage -BANK_0_USED = 36; -BANK_0_AVAIL = 41; -BANK_0_VCCIO = 3.3V; -BANK_0_VREF1 = NA; -BANK_0_VREF2 = NA; -; I/O Bank 1 Usage -BANK_1_USED = 31; -BANK_1_AVAIL = 37; -BANK_1_VCCIO = 3.3V; -BANK_1_VREF1 = NA; -BANK_1_VREF2 = NA; +[ActiveSupport PAR] +; Global primary clocks +GLOBAL_PRIMARY_USED = 2; +; Global primary clock #0 +GLOBAL_PRIMARY_0_SIGNALNAME = RCLK_c; +GLOBAL_PRIMARY_0_DRIVERTYPE = CLK_PIN; +GLOBAL_PRIMARY_0_LOADNUM = 32; +; Global primary clock #1 +GLOBAL_PRIMARY_1_SIGNALNAME = PHI2_c; +GLOBAL_PRIMARY_1_DRIVERTYPE = PIO; +GLOBAL_PRIMARY_1_LOADNUM = 14; +; # of global secondary clocks +GLOBAL_SECONDARY_USED = 1; +; Global secondary clock #0 +GLOBAL_SECONDARY_0_SIGNALNAME = nCRAS_c; +GLOBAL_SECONDARY_0_DRIVERTYPE = PIO; +GLOBAL_SECONDARY_0_LOADNUM = 10; +GLOBAL_SECONDARY_0_SIGTYPE = CLK; +; I/O Bank 0 Usage +BANK_0_USED = 36; +BANK_0_AVAIL = 41; +BANK_0_VCCIO = 3.3V; +BANK_0_VREF1 = NA; +BANK_0_VREF2 = NA; +; I/O Bank 1 Usage +BANK_1_USED = 31; +BANK_1_AVAIL = 37; +BANK_1_VCCIO = 3.3V; +BANK_1_VREF1 = NA; +BANK_1_VREF2 = NA; diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/RAM2GS_LCMXO256C_impl1.par b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/RAM2GS_LCMXO256C_impl1.par index cd7783e..416ddf8 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/RAM2GS_LCMXO256C_impl1.par +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.dir/RAM2GS_LCMXO256C_impl1.par @@ -1,28 +1,28 @@ -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 04:50:41 2023 - -C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO256C_impl1.p2t -RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir -RAM2GS_LCMXO256C_impl1.prf -gui -msgset -D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml - - -Preference file: RAM2GS_LCMXO256C_impl1.prf. - -Level/ Number Worst Timing Worst Timing Run NCD -Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ----------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 8.213 0 0.273 0 06 Completed - -* : Design saved. - -Total (real) run time for 1-seed: 6 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 20:53:22 2023 + +C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f RAM2GS_LCMXO256C_impl1.p2t +RAM2GS_LCMXO256C_impl1_map.ncd RAM2GS_LCMXO256C_impl1.dir +RAM2GS_LCMXO256C_impl1.prf -gui -msgset +Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml + + +Preference file: RAM2GS_LCMXO256C_impl1.prf. + +Level/ Number Worst Timing Worst Timing Run NCD +Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status +---------- -------- ----- ------ ----------- ----------- ---- ------ +5_1 * 0 8.213 0 0.273 0 08 Completed + +* : Design saved. + +Total (real) run time for 1-seed: 8 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.drc b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.drc index ec074a2..8417bb5 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.drc +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.drc @@ -1 +1 @@ -DRC detected 0 errors and 0 warnings. +DRC detected 0 errors and 0 warnings. diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi index 5a41e69..a9272ba 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.edi @@ -1,2786 +1,2786 @@ -(edif RAM2GS - (edifVersion 2 0 0) - (edifLevel 0) - (keywordMap (keywordLevel 0)) - (status - (written - (timeStamp 2023 8 16 4 50 37) - (author "Synopsys, Inc.") - (program "Synplify Pro" (version "R-2021.03L-SP1, mapper map202103lat, Build 070R")) - ) - ) - (library LUCENT - (edifLevel 0) - (technology (numberDefinition )) - (cell CCU2 (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A0 (direction INPUT)) - (port B0 (direction INPUT)) - (port C0 (direction INPUT)) - (port D0 (direction INPUT)) - (port A1 (direction INPUT)) - (port B1 (direction INPUT)) - (port C1 (direction INPUT)) - (port D1 (direction INPUT)) - (port CIN (direction INPUT)) - (port COUT0 (direction OUTPUT)) - (port COUT1 (direction OUTPUT)) - (port S0 (direction OUTPUT)) - (port S1 (direction OUTPUT)) - ) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0000")) - (property INIT0 (string "0000")) - ) - ) - (cell BB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port B (direction INOUT)) - (port I (direction INPUT)) - (port T (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell OB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port I (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell IB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port I (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell FD1S3JX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port PD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3IX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port CD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3AY (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3AX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1P3AX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell ORCALUT4 (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A (direction INPUT)) - (port B (direction INPUT)) - (port C (direction INPUT)) - (port D (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell PFUMX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port ALUT (direction INPUT)) - (port BLUT (direction INPUT)) - (port C0 (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell GSR (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port GSR (direction INPUT)) - ) - ) - ) - (cell INV (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell VHI (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port Z (direction OUTPUT)) - ) - ) - ) - (cell VLO (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port Z (direction OUTPUT)) - ) - ) - ) - ) - (library work - (edifLevel 0) - (technology (numberDefinition )) - (cell RAM2GS (cellType GENERIC) - (view verilog (viewType NETLIST) - (interface - (port PHI2 (direction INPUT)) - (port (array (rename main "MAin[9:0]") 10) (direction INPUT)) - (port (array (rename crow "CROW[1:0]") 2) (direction INPUT)) - (port (array (rename din "Din[7:0]") 8) (direction INPUT)) - (port (array (rename dout "Dout[7:0]") 8) (direction OUTPUT)) - (port nCCAS (direction INPUT)) - (port nCRAS (direction INPUT)) - (port nFWE (direction INPUT)) - (port LED (direction OUTPUT)) - (port (array (rename rba "RBA[1:0]") 2) (direction OUTPUT)) - (port (array (rename ra "RA[11:0]") 12) (direction OUTPUT)) - (port (array (rename rd "RD[7:0]") 8) (direction INOUT)) - (port nRCS (direction OUTPUT)) - (port RCLK (direction INPUT)) - (port RCKE (direction OUTPUT)) - (port nRWE (direction OUTPUT)) - (port nRRAS (direction OUTPUT)) - (port nRCAS (direction OUTPUT)) - (port RDQMH (direction OUTPUT)) - (port RDQML (direction OUTPUT)) - (port nUFMCS (direction OUTPUT)) - (port UFMCLK (direction OUTPUT)) - (port UFMSDI (direction OUTPUT)) - (port UFMSDO (direction INPUT)) - ) - (contents - (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) - (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) - (instance GSR_INST (viewRef PRIM (cellRef GSR (libraryRef LUCENT))) - ) - (instance RASr2_RNIAFR1 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename IS_i_0 "IS_i[0]") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance Ready_fast_RNI29NA (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nCCAS_pad_RNISUR8 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance RASr_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nFWE_pad_RNI420B (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nRCS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B+A)+D (!C (!B A+B !A)+C (B+A)))")) - ) - (instance C1Submitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B+A)+D (!C (B+A)+C A))")) - ) - (instance nRowColSel_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A))")) - ) - (instance RCKEEN_8_u_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C (!B+!A))+D (C !A))")) - ) - (instance (rename IS_RNO_3 "IS_RNO[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (!B A+B !A)))")) - ) - (instance Ready_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C (B+A)+C A))")) - ) - (instance CmdEnable_s (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) - (instance CmdEnable_s_bm (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdEnable_s_am (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (B A))+D (!C B+C A))")) - ) - (instance nRWE_RNO_1 (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) - (instance nRWE_RNO_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B !A)))")) - ) - (instance nRWE_RNO_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B !A)))")) - ) - (instance Ready_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance InitReady_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdSubmitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance nCRAS_pad_RNIBPVB (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename XOR8MEG_CN "XOR8MEG.CN") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nUFMCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRowColSel (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance nRWE (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRRAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance nRCAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) - ) - (instance n8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance XOR8MEG (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_0 "WRD[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_1 "WRD[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_2 "WRD[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_3 "WRD[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_4 "WRD[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_5 "WRD[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_6 "WRD[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename WRD_7 "WRD[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance UFMSDI (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance UFMCLK (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename S_0 "S[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename S_1 "S[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_0 "RowA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_1 "RowA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_2 "RowA[2]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_3 "RowA[3]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_4 "RowA[4]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_5 "RowA[5]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) - ) - (instance (rename RowA_6 "RowA[6]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_7 "RowA[7]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_8 "RowA[8]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_9 "RowA[9]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) - ) - (instance Ready_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Ready (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RCKEEN (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RCKE (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RBA_0 "RBA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RBA_1 "RBA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance RASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RA11 (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance RA10 (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) - ) - (instance PHI2r3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance PHI2r2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance PHI2r (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance LEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance InitReady (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename IS_0 "IS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename IS_1 "IS[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename IS_2 "IS[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename IS_3 "IS[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance FWEr_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance FWEr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_0 "FS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_1 "FS[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_2 "FS[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_3 "FS[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_4 "FS[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_5 "FS[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_6 "FS[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_7 "FS[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_8 "FS[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_9 "FS[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_10 "FS[10]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_11 "FS[11]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_12 "FS[12]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_13 "FS[13]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_14 "FS[14]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_15 "FS[15]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_16 "FS[16]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_17 "FS[17]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Cmdn8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMSDI (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMCS (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMCLK (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CmdLEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdEnable (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CBR_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CBR (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance C1Submitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_0 "Bank[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_1 "Bank[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_2 "Bank[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_3 "Bank[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_4 "Bank[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_5 "Bank[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_6 "Bank[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename Bank_7 "Bank[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance ADSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance UFMSDO_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance UFMSDI_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance UFMCLK_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nUFMCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RDQML_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RDQMH_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRCAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRRAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRWE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RCKE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RCLK_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nRCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RD_pad_7 "RD_pad[7]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_6 "RD_pad[6]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_5 "RD_pad[5]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_4 "RD_pad[4]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_3 "RD_pad[3]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_2 "RD_pad[2]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_1 "RD_pad[1]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_0 "RD_pad[0]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RA_pad_11 "RA_pad[11]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_10 "RA_pad[10]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_9 "RA_pad[9]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_8 "RA_pad[8]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_7 "RA_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_6 "RA_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_5 "RA_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_4 "RA_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_3 "RA_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_2 "RA_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_1 "RA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_0 "RA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RBA_pad_1 "RBA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RBA_pad_0 "RBA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance LED_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nFWE_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nCRAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nCCAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_7 "Dout_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_6 "Dout_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_5 "Dout_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_4 "Dout_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_3 "Dout_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_2 "Dout_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_1 "Dout_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_0 "Dout_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Din_pad_7 "Din_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_6 "Din_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_5 "Din_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_4 "Din_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_3 "Din_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_2 "Din_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_1 "Din_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Din_pad_0 "Din_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename CROW_pad_1 "CROW_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename CROW_pad_0 "CROW_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_9 "MAin_pad[9]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_8 "MAin_pad[8]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_7 "MAin_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_6 "MAin_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_5 "MAin_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_4 "MAin_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_3 "MAin_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_2 "MAin_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_1 "MAin_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_0 "MAin_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance PHI2_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance CmdEnable17_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance XOR8MEG18_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance un1_FS_14_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (B+A)))")) - ) - (instance un1_FS_13_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (B+A)))")) - ) - (instance C1WR_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance CmdEnable16_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B A))")) - ) - (instance Cmdn8MEGEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A)+C !A)")) - ) - (instance CmdLEDEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !B)+D (!C (!B A)))")) - ) - (instance RA10_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C+(B+A)))")) - ) - (instance C1WR_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance XOR8MEG_3_u_0_a3_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D C+D (C+(!B+!A)))")) - ) - (instance UFMSDI_ens2_i_a0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !A+D (!C !A+C (B !A)))")) - ) - (instance un1_FS_13_i_a2_8 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRRAS_5_u_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C (!B A)+C !B))")) - ) - (instance un1_nRCAS_6_sqmuxa_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B+A))+D (!C (!B+A)))")) - ) - (instance UFMSDI_en_ss0_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A))")) - ) - (instance nUFMCS15_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance Cmdn8MEGEN_4_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B+A)+C A)+D !B)")) - ) - (instance C1WR_0_a2_0_10 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance UFMCLK_r_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C B)+D A)")) - ) - (instance PHI2r3_RNITCN41 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !B+D (!C (!B+A)+C !B))")) - ) - (instance IS_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance nRCAS_0_sqmuxa_1_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRowColSel_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (B+A))+D (!C B+C (B+!A)))")) - ) - (instance Ready_0_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance XOR8MEG_3_u_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance nRRAS_5_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)+C !A))")) - ) - (instance (rename IS_RNO_2 "IS_RNO[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C (!B+!A))")) - ) - (instance un1_FS_14_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance UFMSDI_ens2_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C (!B A))")) - ) - (instance XOR8MEG_3_u_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance ADSubmitted_r (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B A)))")) - ) - (instance LED_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(!B+A))")) - ) - (instance InitReady3_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance UFMSDI_ens2_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance Cmdn8MEGEN_4_u_i_a2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B !A))")) - ) - (instance CmdLEDEN_4_u_i_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A))")) - ) - (instance UFMCLK_r_i_a2_2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRowColSel_0_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B !A)))")) - ) - (instance CmdEnable16_0_a2_4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)))")) - ) - (instance CmdEnable16_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance CmdEnable17_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B A)))")) - ) - (instance RCKE_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C !B)+D (C+(B+A)))")) - ) - (instance (rename S_RNO_0 "S_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+!A)")) - ) - (instance Ready_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C+(!B+!A))")) - ) - (instance un1_nRCAS_6_sqmuxa_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance Cmdn8MEGEN_4_u_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+!A))")) - ) - (instance RA11_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A+B !A)+C B)")) - ) - (instance nCCAS_pad_RNI01SJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance InitReady3_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance un1_FS_13_i_a2_6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B !A)))")) - ) - (instance un1_Din_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance UFMSDI_ens2_i_o2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(B+A)))")) - ) - (instance C1WR_0_a2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A))")) - ) - (instance C1WR_0_a2_0_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance C1WR_0_a2_0_11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B !A)))")) - ) - (instance Ready_0_sqmuxa_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance UFMSDI_ens2_i_a2_4_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance un1_FS_13_i_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B !A)))")) - ) - (instance un1_FS_14_i_a2_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance n8MEGEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B+A)+C (B A))")) - ) - (instance LEDEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B+A)+C (B A))")) - ) - (instance (rename un9_RA_8 "un9_RA[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_0 "un9_RA[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_1 "un9_RA[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_2 "un9_RA[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_3 "un9_RA[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_4 "un9_RA[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_5 "un9_RA[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_6 "un9_RA[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_7 "un9_RA[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_9 "un9_RA[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance InitReady3_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename S_0_i_o2_1 "S_0_i_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance IS_n1_0_x2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A+B !A)")) - ) - (instance CmdEnable16_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance CmdEnable16_0_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B !A)")) - ) - (instance CmdEnable17_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance RDQMH (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+A)")) - ) - (instance RDQML (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance RCKEEN_8_u_0_a2_1_s (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance RCKEEN_8_u_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C+B)+D (C (!B+!A)))")) - ) - (instance RCKEEN_8_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) - ) - (instance nRCS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !B+D (!C (!B A)+C !B))")) - ) - (instance nRWE_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B+!A))+D (C+(B !A)))")) - ) - (instance nRWE_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B !A)))")) - ) - (instance nRWE_RNO_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance nRWE_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B A))")) - ) - (instance nRCAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C !B)+D (!B A))")) - ) - (instance nRCAS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A))+D (!C (!B !A)+C (B !A)))")) - ) - (instance nRCAS_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance UFMSDI_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A)+C !B)")) - ) - (instance UFMSDI_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B !A))+D (!C (!B A)+C !B))")) - ) - (instance UFMCLK_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C !B)+D (C (!B !A)))")) - ) - (instance nUFMCS_s_0_N_5_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(B+A))+D (!C B+C (B+!A)))")) - ) - (instance nUFMCS_s_0_N_5_i_N_2L1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B+A))")) - ) - (instance IS_0_sqmuxa_0_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(!B+!A)))")) - ) - (instance CmdEnable17_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (B !A)))")) - ) - (instance CmdSubmitted_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!B A)+D (!C (!B A)))")) - ) - (instance CmdLEDEN_4_u_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!B A)+D (!C (!B A)+C !B))")) - ) - (instance CmdUFMCLK_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B A)))")) - ) - (instance nRRAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)+C !A)+D (C !A))")) - ) - (instance IS_0_sqmuxa_0_o2_0_RNIS63D (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B !A)")) - ) - (instance (rename IS_RNO_0 "IS_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A+B A)+C A)")) - ) - (instance un1_CMDWR (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C A)")) - ) - (instance UFMCLK_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B+!A))+D (C+(!B A)))")) - ) - (instance (rename FS_cry_0_16 "FS_cry_0[16]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x5002")) - ) - (instance (rename FS_cry_0_14 "FS_cry_0[14]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_12 "FS_cry_0[12]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_10 "FS_cry_0[10]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_8 "FS_cry_0[8]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_6 "FS_cry_0[6]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_4 "FS_cry_0[4]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_2 "FS_cry_0[2]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (instance (rename FS_cry_0_0 "FS_cry_0[0]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) - (property INIT0 (string "0x300a")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300a")) - ) - (net C1WR_0_a2 (joined - (portRef Z (instanceRef C1WR_0_a2)) - (portRef B (instanceRef ADSubmitted_r)) - )) - (net CBR (joined - (portRef Q (instanceRef CBR)) - (portRef A (instanceRef nRWE_RNO_0)) - (portRef A (instanceRef nRCS_RNO)) - (portRef A (instanceRef RCKEEN_8_u)) - (portRef B (instanceRef nRowColSel_0_0_a3_0)) - (portRef A (instanceRef LED_pad_RNO)) - )) - (net C1Submitted (joined - (portRef Q (instanceRef C1Submitted)) - (portRef D (instanceRef CmdEnable_s_am)) - (portRef B (instanceRef C1Submitted_RNO)) - )) - (net (rename Bank_2 "Bank[2]") (joined - (portRef Q (instanceRef Bank_2)) - (portRef A (instanceRef C1WR_0_a2_0_11)) - )) - (net Ready (joined - (portRef Q (instanceRef Ready)) - (portRef B (instanceRef IS_RNO_0)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef C (instanceRef nRWE_RNO_2)) - (portRef D (instanceRef RCKEEN_8_u)) - (portRef A (instanceRef RCKEEN_8_u_0_a2_1_s)) - (portRef D (instanceRef nRowColSel_0_0_a3_0)) - (portRef D (instanceRef nRRAS_5_u_i_0)) - (portRef C (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef C (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2)) - (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef C0 (instanceRef nRWE_RNO_1)) - (portRef A (instanceRef Ready_RNO)) - (portRef A (instanceRef RCKEEN_8_u_RNO)) - (portRef A (instanceRef nRowColSel_RNO)) - )) - (net n8MEGEN (joined - (portRef Q (instanceRef n8MEGEN)) - (portRef C (instanceRef RA11_2)) - (portRef C (instanceRef Cmdn8MEGEN_RNO)) - )) - (net CO0 (joined - (portRef Q (instanceRef S_0)) - (portRef D (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef B (instanceRef nRCAS_RNO_0)) - (portRef B (instanceRef nRWE_RNO_0)) - (portRef B (instanceRef RCKEEN_8_u_1_0)) - (portRef A (instanceRef S_0_i_o2_1)) - (portRef A (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef A (instanceRef S_RNO_0)) - (portRef A (instanceRef nRowColSel_0_0)) - (portRef B (instanceRef nRWE_RNO_4)) - (portRef B (instanceRef nRWE_RNO_3)) - (portRef C (instanceRef nRowColSel_RNO)) - (portRef B (instanceRef nRCS_RNO_0)) - )) - (net (rename S_1 "S[1]") (joined - (portRef Q (instanceRef S_1)) - (portRef C (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef nRCAS_RNO)) - (portRef C (instanceRef nRWE_RNO_0)) - (portRef D (instanceRef RCKEEN_8_u_1_0)) - (portRef B (instanceRef RCKEEN_8_u_0_a2_1_s)) - (portRef B (instanceRef S_0_i_o2_1)) - (portRef D (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef B (instanceRef S_RNO_0)) - (portRef D (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef A (instanceRef nRWE_RNO_4)) - (portRef A (instanceRef nRWE_RNO_3)) - (portRef B (instanceRef nRowColSel_RNO)) - )) - (net RASr2 (joined - (portRef Q (instanceRef RASr2)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef D (instanceRef nRWE_RNO_5)) - (portRef C (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef B (instanceRef RCKE_2_0)) - (portRef B (instanceRef nRRAS_5_u_i_0)) - (portRef C (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef D (instanceRef RASr3)) - (portRef D (instanceRef nRWE_RNO_3)) - (portRef B (instanceRef RCKEEN_8_u_RNO)) - (portRef A (instanceRef RASr2_RNIAFR1)) - )) - (net InitReady (joined - (portRef Q (instanceRef InitReady)) - (portRef A (instanceRef UFMCLK_RNO_0)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef B (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - (portRef B (instanceRef LEDEN_5_i_m2)) - (portRef B (instanceRef n8MEGEN_5_i_m2)) - (portRef B (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef B (instanceRef un1_FS_14_i_a2)) - (portRef A (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef PHI2r3_RNITCN41)) - (portRef C (instanceRef nUFMCS15_0_a2)) - (portRef B (instanceRef UFMSDI_en_ss0_0_a2_0)) - (portRef A (instanceRef UFMSDI_ens2_i_a0)) - (portRef B (instanceRef InitReady_RNO)) - (portRef D (instanceRef nRWE_RNO_4)) - (portRef D (instanceRef Ready_RNO)) - (portRef C (instanceRef RCKEEN_8_u_RNO)) - )) - (net FWEr (joined - (portRef Q (instanceRef FWEr)) - (portRef C (instanceRef nRCAS_RNO_0)) - (portRef A (instanceRef nRWE_RNO)) - (portRef C (instanceRef nRowColSel_0_0_a3_0)) - )) - (net CASr3 (joined - (portRef Q (instanceRef CASr3)) - (portRef B (instanceRef nRCAS_RNO_1)) - (portRef B (instanceRef nRWE_RNO_2)) - (portRef A (instanceRef nRowColSel_0_0_a3_0)) - (portRef C (instanceRef nRCS_RNO_0)) - )) - (net (rename IS_0 "IS[0]") (joined - (portRef Q (instanceRef IS_0)) - (portRef A (instanceRef IS_RNO_0)) - (portRef D (instanceRef nRRAS_RNO)) - (portRef A (instanceRef nRWE_RNO_5)) - (portRef A (instanceRef IS_n1_0_x2)) - (portRef A (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef A (instanceRef IS_RNO_2)) - (portRef A (instanceRef nRRAS_5_u_i)) - (portRef D (instanceRef IS_RNO_3)) - (portRef A (instanceRef IS_i_0)) - )) - (net (rename IS_3 "IS[3]") (joined - (portRef Q (instanceRef IS_3)) - (portRef B (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef RA10_RNO)) - (portRef A (instanceRef IS_RNO_3)) - )) - (net (rename IS_1 "IS[1]") (joined - (portRef Q (instanceRef IS_1)) - (portRef B (instanceRef nRWE_RNO_5)) - (portRef B (instanceRef IS_n1_0_x2)) - (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef B (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef B (instanceRef IS_RNO_2)) - (portRef A (instanceRef RA10_RNO)) - (portRef C (instanceRef IS_RNO_3)) - )) - (net (rename IS_2 "IS[2]") (joined - (portRef Q (instanceRef IS_2)) - (portRef C (instanceRef nRWE_RNO_5)) - (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef C (instanceRef IS_RNO_2)) - (portRef B (instanceRef RA10_RNO)) - (portRef B (instanceRef IS_RNO_3)) - )) - (net (rename FS_5 "FS[5]") (joined - (portRef Q (instanceRef FS_5)) - (portRef A1 (instanceRef FS_cry_0_4)) - (portRef D (instanceRef un1_FS_14_i_a2_0_1)) - (portRef D (instanceRef un1_FS_13_i_a2_1)) - (portRef A (instanceRef UFMSDI_ens2_i_o2)) - )) - (net (rename FS_6 "FS[6]") (joined - (portRef Q (instanceRef FS_6)) - (portRef A0 (instanceRef FS_cry_0_6)) - (portRef A (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef B (instanceRef un1_FS_13_i_a2_6)) - )) - (net (rename FS_7 "FS[7]") (joined - (portRef Q (instanceRef FS_7)) - (portRef A1 (instanceRef FS_cry_0_6)) - (portRef C (instanceRef un1_FS_13_i_a2_6)) - (portRef B (instanceRef UFMSDI_ens2_i_o2)) - )) - (net (rename FS_8 "FS[8]") (joined - (portRef Q (instanceRef FS_8)) - (portRef A0 (instanceRef FS_cry_0_8)) - (portRef B (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef A (instanceRef UFMSDI_en_ss0_0_a2_0)) - )) - (net (rename FS_9 "FS[9]") (joined - (portRef Q (instanceRef FS_9)) - (portRef A1 (instanceRef FS_cry_0_8)) - (portRef C (instanceRef UFMSDI_ens2_i_o2)) - (portRef B (instanceRef un1_FS_13_i_a2_8)) - )) - (net (rename FS_0 "FS[0]") (joined - (portRef Q (instanceRef FS_0)) - (portRef A0 (instanceRef FS_cry_0_0)) - (portRef A (instanceRef un1_FS_14_i_a2_0_1)) - (portRef A (instanceRef un1_FS_13_i_a2_1)) - )) - (net (rename FS_1 "FS[1]") (joined - (portRef Q (instanceRef FS_1)) - (portRef A1 (instanceRef FS_cry_0_0)) - (portRef A (instanceRef un1_FS_13_i_a2_6)) - (portRef A (instanceRef UFMCLK_r_i_m2)) - )) - (net (rename FS_2 "FS[2]") (joined - (portRef Q (instanceRef FS_2)) - (portRef A0 (instanceRef FS_cry_0_2)) - (portRef B (instanceRef un1_FS_14_i_a2_0_1)) - (portRef B (instanceRef un1_FS_13_i_a2_1)) - )) - (net (rename FS_3 "FS[3]") (joined - (portRef Q (instanceRef FS_3)) - (portRef A1 (instanceRef FS_cry_0_2)) - (portRef C (instanceRef un1_FS_14_i_a2_0_1)) - (portRef C (instanceRef un1_FS_13_i_a2_1)) - )) - (net (rename FS_10 "FS[10]") (joined - (portRef Q (instanceRef FS_10)) - (portRef A0 (instanceRef FS_cry_0_10)) - (portRef C (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef D (instanceRef un1_FS_13_i_a2_6)) - (portRef A (instanceRef InitReady3_0_a2)) - (portRef A (instanceRef nUFMCS15_0_a2)) - )) - (net (rename FS_11 "FS[11]") (joined - (portRef Q (instanceRef FS_11)) - (portRef A1 (instanceRef FS_cry_0_10)) - (portRef A (instanceRef InitReady3_0_a2_3)) - (portRef D (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef C (instanceRef UFMCLK_r_i_m2)) - (portRef B (instanceRef nUFMCS15_0_a2)) - (portRef C (instanceRef un1_FS_13_i_a2_8)) - )) - (net (rename FS_12 "FS[12]") (joined - (portRef Q (instanceRef FS_12)) - (portRef A0 (instanceRef FS_cry_0_12)) - (portRef A (instanceRef InitReady3_0_a2_5)) - (portRef A (instanceRef UFMSDI_ens2_i_o2_0)) - )) - (net (rename FS_13 "FS[13]") (joined - (portRef Q (instanceRef FS_13)) - (portRef A1 (instanceRef FS_cry_0_12)) - (portRef A (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef B (instanceRef InitReady3_0_a2_5)) - )) - (net (rename FS_14 "FS[14]") (joined - (portRef Q (instanceRef FS_14)) - (portRef A0 (instanceRef FS_cry_0_14)) - (portRef B (instanceRef InitReady3_0_a2_3)) - (portRef B (instanceRef UFMSDI_ens2_i_o2_0_3)) - )) - (net (rename FS_15 "FS[15]") (joined - (portRef Q (instanceRef FS_15)) - (portRef A1 (instanceRef FS_cry_0_14)) - (portRef C (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef C (instanceRef InitReady3_0_a2_5)) - )) - (net (rename FS_16 "FS[16]") (joined - (portRef Q (instanceRef FS_16)) - (portRef A0 (instanceRef FS_cry_0_16)) - (portRef A (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef B (instanceRef UFMSDI_ens2_i_o2_0)) - (portRef B (instanceRef InitReady3_0_a2)) - )) - (net (rename FS_17 "FS[17]") (joined - (portRef Q (instanceRef FS_17)) - (portRef A1 (instanceRef FS_cry_0_16)) - (portRef D (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef D (instanceRef InitReady3_0_a2_5)) - )) - (net PHI2r2 (joined - (portRef Q (instanceRef PHI2r2)) - (portRef C (instanceRef un1_FS_14_i_a2)) - (portRef C (instanceRef PHI2r3_RNITCN41)) - (portRef D (instanceRef PHI2r3)) - )) - (net CmdUFMCS (joined - (portRef Q (instanceRef CmdUFMCS)) - (portRef A (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - )) - (net CASr2 (joined - (portRef Q (instanceRef CASr2)) - (portRef A (instanceRef nRCAS_RNO_1)) - (portRef A (instanceRef nRWE_RNO_2)) - (portRef A (instanceRef RCKEEN_8_u_1_0)) - (portRef D (instanceRef CASr3)) - (portRef D (instanceRef nRCS_RNO_0)) - )) - (net CASr (joined - (portRef Q (instanceRef CASr)) - (portRef D (instanceRef CASr2)) - )) - (net PHI2r (joined - (portRef Q (instanceRef PHI2r)) - (portRef D (instanceRef PHI2r2)) - )) - (net RASr (joined - (portRef Q (instanceRef RASr)) - (portRef A (instanceRef RCKE_2_0)) - (portRef D (instanceRef RASr2)) - )) - (net (rename Bank_0 "Bank[0]") (joined - (portRef Q (instanceRef Bank_0)) - (portRef A (instanceRef C1WR_0_a2_0)) - )) - (net (rename Bank_1 "Bank[1]") (joined - (portRef Q (instanceRef Bank_1)) - (portRef B (instanceRef C1WR_0_a2_0)) - )) - (net (rename Bank_3 "Bank[3]") (joined - (portRef Q (instanceRef Bank_3)) - (portRef A (instanceRef C1WR_0_a2_0_10)) - )) - (net (rename Bank_4 "Bank[4]") (joined - (portRef Q (instanceRef Bank_4)) - (portRef B (instanceRef C1WR_0_a2_0_10)) - )) - (net (rename Bank_5 "Bank[5]") (joined - (portRef Q (instanceRef Bank_5)) - (portRef B (instanceRef C1WR_0_a2_0_11)) - )) - (net (rename Bank_6 "Bank[6]") (joined - (portRef Q (instanceRef Bank_6)) - (portRef C (instanceRef C1WR_0_a2_0_11)) - )) - (net (rename Bank_7 "Bank[7]") (joined - (portRef Q (instanceRef Bank_7)) - (portRef D (instanceRef C1WR_0_a2_0_11)) - )) - (net (rename RowA_0 "RowA[0]") (joined - (portRef Q (instanceRef RowA_0)) - (portRef B (instanceRef un9_RA_0)) - )) - (net (rename RowA_1 "RowA[1]") (joined - (portRef Q (instanceRef RowA_1)) - (portRef B (instanceRef un9_RA_1)) - )) - (net (rename RowA_2 "RowA[2]") (joined - (portRef Q (instanceRef RowA_2)) - (portRef B (instanceRef un9_RA_2)) - )) - (net (rename RowA_3 "RowA[3]") (joined - (portRef Q (instanceRef RowA_3)) - (portRef B (instanceRef un9_RA_3)) - )) - (net (rename RowA_4 "RowA[4]") (joined - (portRef Q (instanceRef RowA_4)) - (portRef B (instanceRef un9_RA_4)) - )) - (net (rename RowA_5 "RowA[5]") (joined - (portRef Q (instanceRef RowA_5)) - (portRef B (instanceRef un9_RA_5)) - )) - (net (rename RowA_6 "RowA[6]") (joined - (portRef Q (instanceRef RowA_6)) - (portRef B (instanceRef un9_RA_6)) - )) - (net (rename RowA_7 "RowA[7]") (joined - (portRef Q (instanceRef RowA_7)) - (portRef B (instanceRef un9_RA_7)) - )) - (net (rename RowA_8 "RowA[8]") (joined - (portRef Q (instanceRef RowA_8)) - (portRef B (instanceRef un9_RA_8)) - )) - (net (rename RowA_9 "RowA[9]") (joined - (portRef Q (instanceRef RowA_9)) - (portRef B (instanceRef un9_RA_9)) - )) - (net (rename WRD_0 "WRD[0]") (joined - (portRef Q (instanceRef WRD_0)) - (portRef I (instanceRef RD_pad_0)) - )) - (net (rename WRD_1 "WRD[1]") (joined - (portRef Q (instanceRef WRD_1)) - (portRef I (instanceRef RD_pad_1)) - )) - (net (rename WRD_2 "WRD[2]") (joined - (portRef Q (instanceRef WRD_2)) - (portRef I (instanceRef RD_pad_2)) - )) - (net (rename WRD_3 "WRD[3]") (joined - (portRef Q (instanceRef WRD_3)) - (portRef I (instanceRef RD_pad_3)) - )) - (net (rename WRD_4 "WRD[4]") (joined - (portRef Q (instanceRef WRD_4)) - (portRef I (instanceRef RD_pad_4)) - )) - (net (rename WRD_5 "WRD[5]") (joined - (portRef Q (instanceRef WRD_5)) - (portRef I (instanceRef RD_pad_5)) - )) - (net (rename WRD_6 "WRD[6]") (joined - (portRef Q (instanceRef WRD_6)) - (portRef I (instanceRef RD_pad_6)) - )) - (net (rename WRD_7 "WRD[7]") (joined - (portRef Q (instanceRef WRD_7)) - (portRef I (instanceRef RD_pad_7)) - )) - (net nRowColSel (joined - (portRef Q (instanceRef nRowColSel)) - (portRef B (instanceRef RDQML)) - (portRef B (instanceRef RDQMH)) - (portRef C (instanceRef un9_RA_9)) - (portRef C (instanceRef un9_RA_7)) - (portRef C (instanceRef un9_RA_6)) - (portRef C (instanceRef un9_RA_5)) - (portRef C (instanceRef un9_RA_4)) - (portRef C (instanceRef un9_RA_3)) - (portRef C (instanceRef un9_RA_2)) - (portRef C (instanceRef un9_RA_1)) - (portRef C (instanceRef un9_RA_0)) - (portRef C (instanceRef un9_RA_8)) - )) - (net RASr3 (joined - (portRef Q (instanceRef RASr3)) - (portRef C (instanceRef RCKE_2_0)) - )) - (net LEDEN (joined - (portRef Q (instanceRef LEDEN)) - (portRef B (instanceRef LED_pad_RNO)) - (portRef B (instanceRef XOR8MEG_3_u_0_a3_3)) - (portRef A (instanceRef CmdLEDEN_RNO)) - )) - (net CmdLEDEN (joined - (portRef Q (instanceRef CmdLEDEN)) - (portRef B (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef A (instanceRef LEDEN_5_i_m2)) - )) - (net Cmdn8MEGEN (joined - (portRef Q (instanceRef Cmdn8MEGEN)) - (portRef A (instanceRef n8MEGEN_5_i_m2)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net PHI2r3 (joined - (portRef Q (instanceRef PHI2r3)) - (portRef D (instanceRef un1_FS_14_i_a2)) - (portRef D (instanceRef PHI2r3_RNITCN41)) - )) - (net CmdSubmitted (joined - (portRef Q (instanceRef CmdSubmitted)) - (portRef A (instanceRef un1_FS_14_i_a2)) - (portRef A (instanceRef PHI2r3_RNITCN41)) - (portRef B (instanceRef CmdSubmitted_RNO)) - )) - (net (rename FS_4 "FS[4]") (joined - (portRef Q (instanceRef FS_4)) - (portRef A0 (instanceRef FS_cry_0_4)) - (portRef B (instanceRef UFMCLK_r_i_m2)) - (portRef A (instanceRef un1_FS_13_i_a2_8)) - )) - (net InitReady3 (joined - (portRef Z (instanceRef InitReady3_0_a2)) - (portRef A (instanceRef InitReady_RNO)) - )) - (net RCKEEN (joined - (portRef Q (instanceRef RCKEEN)) - (portRef D (instanceRef RCKE_2_0)) - )) - (net RA11_2 (joined - (portRef Z (instanceRef RA11_2)) - (portRef D (instanceRef RA11)) - )) - (net XOR8MEG (joined - (portRef Q (instanceRef XOR8MEG)) - (portRef B (instanceRef RA11_2)) - (portRef A (instanceRef XOR8MEG_3_u_0_a3_0)) - )) - (net nRRAS_0_sqmuxa (joined - (portRef Z (instanceRef nRowColSel_RNO)) - (portRef CD (instanceRef nRowColSel)) - )) - (net nUFMCS15 (joined - (portRef Z (instanceRef nUFMCS15_0_a2)) - (portRef B (instanceRef nUFMCS_s_0_N_5_i)) - (portRef B (instanceRef UFMCLK_RNO)) - (portRef B (instanceRef UFMSDI_RNO)) - )) - (net Ready_0_sqmuxa (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef A (instanceRef Ready_fast_RNO)) - )) - (net RCKE_2 (joined - (portRef Z (instanceRef RCKE_2_0)) - (portRef D (instanceRef RCKE)) - )) - (net nRCAS_0_sqmuxa_1 (joined - (portRef Z (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef B (instanceRef nRCAS_RNO)) - (portRef C (instanceRef nRWE_RNO)) - )) - (net XOR8MEG18 (joined - (portRef Z (instanceRef XOR8MEG18_0_a2)) - (portRef A (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef SP (instanceRef CmdLEDEN)) - (portRef SP (instanceRef Cmdn8MEGEN)) - (portRef SP (instanceRef XOR8MEG)) - )) - (net CmdEnable (joined - (portRef Q (instanceRef CmdEnable)) - (portRef A (instanceRef XOR8MEG18_0_a2)) - (portRef B (instanceRef CmdEnable_s_am)) - (portRef A (instanceRef CmdEnable_s_bm)) - )) - (net CmdEnable16 (joined - (portRef Z (instanceRef CmdEnable16_0_a2)) - (portRef D (instanceRef ADSubmitted_r)) - (portRef C0 (instanceRef CmdEnable_s)) - (portRef A (instanceRef C1Submitted_RNO)) - )) - (net CmdEnable17 (joined - (portRef Z (instanceRef CmdEnable17_0_a2)) - (portRef C (instanceRef ADSubmitted_r)) - (portRef A (instanceRef CmdEnable_s_am)) - )) - (net CmdSubmitted_1_sqmuxa (joined - (portRef Z (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdSubmitted_RNO)) - )) - (net CmdUFMCLK_1_sqmuxa (joined - (portRef Z (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef SP (instanceRef CmdUFMCLK)) - (portRef SP (instanceRef CmdUFMCS)) - (portRef SP (instanceRef CmdUFMSDI)) - )) - (net CmdUFMCLK (joined - (portRef Q (instanceRef CmdUFMCLK)) - (portRef B (instanceRef UFMCLK_RNO_0)) - )) - (net CmdUFMSDI (joined - (portRef Q (instanceRef CmdUFMSDI)) - (portRef A (instanceRef UFMSDI_RNO_0)) - )) - (net ADSubmitted (joined - (portRef Q (instanceRef ADSubmitted)) - (portRef A (instanceRef ADSubmitted_r)) - (portRef B (instanceRef CmdEnable_s_bm)) - )) - (net C1Submitted_RNO (joined - (portRef Z (instanceRef C1Submitted_RNO)) - (portRef D (instanceRef C1Submitted)) - )) - (net ADSubmitted_r (joined - (portRef Z (instanceRef ADSubmitted_r)) - (portRef D (instanceRef ADSubmitted)) - )) - (net UFMSDI_RNO (joined - (portRef Z (instanceRef UFMSDI_RNO)) - (portRef D (instanceRef UFMSDI)) - )) - (net CmdEnable_s (joined - (portRef Z (instanceRef CmdEnable_s)) - (portRef D (instanceRef CmdEnable)) - )) - (net nRowColSel_0_0 (joined - (portRef Z (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef nRowColSel)) - )) - (net RCKEEN_8 (joined - (portRef Z (instanceRef RCKEEN_8_u)) - (portRef D (instanceRef RCKEEN)) - )) - (net N_31 (joined - (portRef Z (instanceRef un1_FS_14_i_0)) - (portRef SP (instanceRef n8MEGEN)) - )) - (net N_33 (joined - (portRef Z (instanceRef un1_FS_13_i_0)) - (portRef SP (instanceRef LEDEN)) - )) - (net N_24 (joined - (portRef Z (instanceRef nRRAS_5_u_i)) - (portRef B (instanceRef nRCS_RNO)) - )) - (net N_41 (joined - (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef A (instanceRef nRCAS_RNO)) - )) - (net (rename S_0_i_o2_1 "S_0_i_o2[1]") (joined - (portRef Z (instanceRef S_0_i_o2_1)) - (portRef A (instanceRef nRRAS_5_u_i_0)) - (portRef B (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef D (instanceRef S_1)) - (portRef D (instanceRef RCKEEN_8_u_RNO)) - )) - (net N_159 (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2)) - (portRef D (instanceRef RA10_RNO)) - )) - (net N_165 (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef B (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef C (instanceRef Ready_RNO)) - )) - (net N_95_5 (joined - (portRef Z (instanceRef InitReady3_0_a2_5)) - (portRef D (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef D (instanceRef InitReady3_0_a2)) - )) - (net N_95_3 (joined - (portRef Z (instanceRef InitReady3_0_a2_3)) - (portRef C (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef C (instanceRef InitReady3_0_a2)) - )) - (net N_51 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_o2_0)) - (portRef D (instanceRef UFMCLK_r_i_m2)) - (portRef D (instanceRef nUFMCS15_0_a2)) - (portRef C (instanceRef UFMSDI_en_ss0_0_a2_0)) - (portRef B (instanceRef UFMSDI_ens2_i_a0)) - )) - (net N_126 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_o2)) - (portRef C (instanceRef UFMSDI_ens2_i_a0)) - )) - (net N_151 (joined - (portRef Z (instanceRef UFMSDI_en_ss0_0_a2_0)) - (portRef C (instanceRef UFMSDI_RNO_0)) - (portRef D (instanceRef un1_FS_13_i_a2_8)) - )) - (net N_137_8 (joined - (portRef Z (instanceRef un1_FS_13_i_a2_8)) - (portRef C (instanceRef un1_FS_13_i_0)) - (portRef C (instanceRef un1_FS_14_i_0)) - )) - (net N_129 (joined - (portRef Z (instanceRef UFMCLK_r_i_m2)) - (portRef D (instanceRef UFMCLK_RNO_0)) - )) - (net N_155 (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef IS_RNO_0)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef C (instanceRef nRRAS_RNO)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2)) - (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef B (instanceRef nRRAS_5_u_i)) - )) - (net N_56_i (joined - (portRef Z (instanceRef IS_n1_0_x2)) - (portRef D (instanceRef IS_1)) - )) - (net N_160 (joined - (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef B (instanceRef nRRAS_RNO)) - (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef C (instanceRef nRRAS_5_u_i)) - )) - (net N_136 (joined - (portRef Z (instanceRef un1_FS_14_i_a2)) - (portRef A (instanceRef un1_FS_13_i_0)) - (portRef A (instanceRef un1_FS_14_i_0)) - )) - (net N_69 (joined - (portRef Z (instanceRef n8MEGEN_5_i_m2)) - (portRef D (instanceRef n8MEGEN)) - )) - (net N_70 (joined - (portRef Z (instanceRef LEDEN_5_i_m2)) - (portRef D (instanceRef LEDEN)) - )) - (net N_137_6 (joined - (portRef Z (instanceRef un1_FS_13_i_a2_6)) - (portRef B (instanceRef un1_FS_13_i_0)) - (portRef B (instanceRef un1_FS_14_i_0)) - )) - (net XOR8MEG_3 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a3_3)) - (portRef D (instanceRef XOR8MEG)) - )) - (net CmdEnable16_1 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_1)) - (portRef A (instanceRef CmdEnable16_0_a2_5)) - )) - (net N_43 (joined - (portRef Z (instanceRef CmdEnable17_0_o2)) - (portRef D (instanceRef CmdEnable17_0_a2_4)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net N_147 (joined - (portRef Z (instanceRef C1WR_0_a2_0)) - (portRef A (instanceRef un1_CMDWR)) - (portRef C (instanceRef CmdEnable16_0_a2)) - (portRef B (instanceRef C1WR_0_a2)) - (portRef D (instanceRef XOR8MEG18_0_a2)) - (portRef D (instanceRef CmdEnable17_0_a2)) - (portRef C (instanceRef C1Submitted_RNO)) - )) - (net CmdEnable16_4 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_4)) - (portRef A (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net un1_Din_4 (joined - (portRef Z (instanceRef un1_Din_4)) - (portRef B (instanceRef XOR8MEG_3_u_0_a3_0)) - (portRef D (instanceRef XOR8MEG_3_u_0_a3_2)) - )) - (net N_171 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a3_0)) - (portRef C (instanceRef XOR8MEG_3_u_0_a3_3)) - )) - (net N_128 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef B (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef B (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef C (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef D (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net N_152 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef D (instanceRef CmdLEDEN_RNO)) - (portRef B (instanceRef Cmdn8MEGEN_RNO)) - )) - (net N_132 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef B (instanceRef CmdLEDEN_RNO)) - )) - (net N_133 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef C (instanceRef CmdLEDEN_RNO)) - )) - (net un1_CMDWR (joined - (portRef Z (instanceRef un1_CMDWR)) - (portRef C (instanceRef CmdEnable_s_am)) - )) - (net N_179 (joined - (portRef Z (instanceRef nRowColSel_0_0_a3_0)) - (portRef B (instanceRef nRowColSel_0_0)) - )) - (net XOR8MEG_3_u_0_a3_2 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef XOR8MEG_3_u_0_a3_3)) - )) - (net UFMCLK_r_i_a2_2_2 (joined - (portRef Z (instanceRef UFMCLK_r_i_a2_2_2)) - (portRef C (instanceRef UFMCLK_RNO_0)) - (portRef C (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - )) - (net UFMCLK_RNO (joined - (portRef Z (instanceRef UFMCLK_RNO)) - (portRef D (instanceRef UFMCLK)) - )) - (net UFMSDI_ens2_i_a0 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_a0)) - (portRef B (instanceRef UFMSDI_RNO_0)) - )) - (net RCKEEN_8_u_0_0 (joined - (portRef Z (instanceRef RCKEEN_8_u_RNO)) - (portRef B (instanceRef RCKEEN_8_u)) - )) - (net RCKEEN_8_u_0_a2_1_out (joined - (portRef Z (instanceRef RCKEEN_8_u_0_a2_1_s)) - (portRef D (instanceRef nRCS_RNO)) - )) - (net nCRAS_c_i (joined - (portRef Z (instanceRef nCRAS_pad_RNIBPVB)) - (portRef CK (instanceRef CBR)) - (portRef CK (instanceRef CBR_fast)) - (portRef CK (instanceRef FWEr)) - (portRef CK (instanceRef FWEr_fast)) - (portRef CK (instanceRef RBA_1)) - (portRef CK (instanceRef RBA_0)) - (portRef CK (instanceRef RowA_9)) - (portRef CK (instanceRef RowA_8)) - (portRef CK (instanceRef RowA_7)) - (portRef CK (instanceRef RowA_6)) - (portRef CK (instanceRef RowA_5)) - (portRef CK (instanceRef RowA_4)) - (portRef CK (instanceRef RowA_3)) - (portRef CK (instanceRef RowA_2)) - (portRef CK (instanceRef RowA_1)) - (portRef CK (instanceRef RowA_0)) - )) - (net N_159_i (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef SP (instanceRef IS_3)) - (portRef SP (instanceRef IS_2)) - (portRef SP (instanceRef IS_1)) - )) - (net RD_1_i (joined - (portRef Z (instanceRef nCCAS_pad_RNI01SJ)) - (portRef T (instanceRef RD_pad_0)) - (portRef T (instanceRef RD_pad_1)) - (portRef T (instanceRef RD_pad_2)) - (portRef T (instanceRef RD_pad_3)) - (portRef T (instanceRef RD_pad_4)) - (portRef T (instanceRef RD_pad_5)) - (portRef T (instanceRef RD_pad_6)) - (portRef T (instanceRef RD_pad_7)) - )) - (net N_28_i (joined - (portRef Z (instanceRef nRCS_RNO)) - (portRef D (instanceRef nRCS)) - )) - (net N_37_i (joined - (portRef Z (instanceRef nRCAS_RNO)) - (portRef D (instanceRef nRCAS)) - )) - (net N_24_i (joined - (portRef Z (instanceRef nRRAS_RNO)) - (portRef D (instanceRef nRRAS)) - )) - (net nUFMCS_s_0_N_5_i (joined - (portRef Z (instanceRef nUFMCS_s_0_N_5_i)) - (portRef D (instanceRef nUFMCS)) - )) - (net N_39_i (joined - (portRef Z (instanceRef nRWE_RNO)) - (portRef D (instanceRef nRWE)) - )) - (net N_64_i_i (joined - (portRef Z (instanceRef IS_RNO_0)) - (portRef D (instanceRef IS_0)) - )) - (net N_61_i_i (joined - (portRef Z (instanceRef IS_RNO_3)) - (portRef D (instanceRef IS_3)) - )) - (net N_60_i_i (joined - (portRef Z (instanceRef IS_RNO_2)) - (portRef D (instanceRef IS_2)) - )) - (net N_177_i (joined - (portRef Z (instanceRef S_RNO_0)) - (portRef D (instanceRef S_0)) - )) - (net N_21_i (joined - (portRef Z (instanceRef CmdLEDEN_RNO)) - (portRef D (instanceRef CmdLEDEN)) - )) - (net N_19_i (joined - (portRef Z (instanceRef Cmdn8MEGEN_RNO)) - (portRef D (instanceRef Cmdn8MEGEN)) - )) - (net N_139_i (joined - (portRef Z (instanceRef PHI2r3_RNITCN41)) - (portRef A (instanceRef nUFMCS_s_0_N_5_i)) - (portRef A (instanceRef UFMCLK_RNO)) - (portRef A (instanceRef UFMSDI_RNO)) - )) - (net (rename FS_cry_0 "FS_cry[0]") (joined - (portRef COUT0 (instanceRef FS_cry_0_0)) - )) - (net (rename FS_s_0 "FS_s[0]") (joined - (portRef S0 (instanceRef FS_cry_0_0)) - (portRef D (instanceRef FS_0)) - )) - (net (rename FS_cry_1 "FS_cry[1]") (joined - (portRef COUT1 (instanceRef FS_cry_0_0)) - (portRef CIN (instanceRef FS_cry_0_2)) - )) - (net (rename FS_s_1 "FS_s[1]") (joined - (portRef S1 (instanceRef FS_cry_0_0)) - (portRef D (instanceRef FS_1)) - )) - (net (rename FS_cry_2 "FS_cry[2]") (joined - (portRef COUT0 (instanceRef FS_cry_0_2)) - )) - (net (rename FS_s_2 "FS_s[2]") (joined - (portRef S0 (instanceRef FS_cry_0_2)) - (portRef D (instanceRef FS_2)) - )) - (net (rename FS_cry_3 "FS_cry[3]") (joined - (portRef COUT1 (instanceRef FS_cry_0_2)) - (portRef CIN (instanceRef FS_cry_0_4)) - )) - (net (rename FS_s_3 "FS_s[3]") (joined - (portRef S1 (instanceRef FS_cry_0_2)) - (portRef D (instanceRef FS_3)) - )) - (net (rename FS_cry_4 "FS_cry[4]") (joined - (portRef COUT0 (instanceRef FS_cry_0_4)) - )) - (net (rename FS_s_4 "FS_s[4]") (joined - (portRef S0 (instanceRef FS_cry_0_4)) - (portRef D (instanceRef FS_4)) - )) - (net (rename FS_cry_5 "FS_cry[5]") (joined - (portRef COUT1 (instanceRef FS_cry_0_4)) - (portRef CIN (instanceRef FS_cry_0_6)) - )) - (net (rename FS_s_5 "FS_s[5]") (joined - (portRef S1 (instanceRef FS_cry_0_4)) - (portRef D (instanceRef FS_5)) - )) - (net (rename FS_cry_6 "FS_cry[6]") (joined - (portRef COUT0 (instanceRef FS_cry_0_6)) - )) - (net (rename FS_s_6 "FS_s[6]") (joined - (portRef S0 (instanceRef FS_cry_0_6)) - (portRef D (instanceRef FS_6)) - )) - (net (rename FS_cry_7 "FS_cry[7]") (joined - (portRef COUT1 (instanceRef FS_cry_0_6)) - (portRef CIN (instanceRef FS_cry_0_8)) - )) - (net (rename FS_s_7 "FS_s[7]") (joined - (portRef S1 (instanceRef FS_cry_0_6)) - (portRef D (instanceRef FS_7)) - )) - (net (rename FS_cry_8 "FS_cry[8]") (joined - (portRef COUT0 (instanceRef FS_cry_0_8)) - )) - (net (rename FS_s_8 "FS_s[8]") (joined - (portRef S0 (instanceRef FS_cry_0_8)) - (portRef D (instanceRef FS_8)) - )) - (net (rename FS_cry_9 "FS_cry[9]") (joined - (portRef COUT1 (instanceRef FS_cry_0_8)) - (portRef CIN (instanceRef FS_cry_0_10)) - )) - (net (rename FS_s_9 "FS_s[9]") (joined - (portRef S1 (instanceRef FS_cry_0_8)) - (portRef D (instanceRef FS_9)) - )) - (net (rename FS_cry_10 "FS_cry[10]") (joined - (portRef COUT0 (instanceRef FS_cry_0_10)) - )) - (net (rename FS_s_10 "FS_s[10]") (joined - (portRef S0 (instanceRef FS_cry_0_10)) - (portRef D (instanceRef FS_10)) - )) - (net (rename FS_cry_11 "FS_cry[11]") (joined - (portRef COUT1 (instanceRef FS_cry_0_10)) - (portRef CIN (instanceRef FS_cry_0_12)) - )) - (net (rename FS_s_11 "FS_s[11]") (joined - (portRef S1 (instanceRef FS_cry_0_10)) - (portRef D (instanceRef FS_11)) - )) - (net (rename FS_cry_12 "FS_cry[12]") (joined - (portRef COUT0 (instanceRef FS_cry_0_12)) - )) - (net (rename FS_s_12 "FS_s[12]") (joined - (portRef S0 (instanceRef FS_cry_0_12)) - (portRef D (instanceRef FS_12)) - )) - (net (rename FS_cry_13 "FS_cry[13]") (joined - (portRef COUT1 (instanceRef FS_cry_0_12)) - (portRef CIN (instanceRef FS_cry_0_14)) - )) - (net (rename FS_s_13 "FS_s[13]") (joined - (portRef S1 (instanceRef FS_cry_0_12)) - (portRef D (instanceRef FS_13)) - )) - (net (rename FS_cry_14 "FS_cry[14]") (joined - (portRef COUT0 (instanceRef FS_cry_0_14)) - )) - (net (rename FS_s_14 "FS_s[14]") (joined - (portRef S0 (instanceRef FS_cry_0_14)) - (portRef D (instanceRef FS_14)) - )) - (net (rename FS_cry_15 "FS_cry[15]") (joined - (portRef COUT1 (instanceRef FS_cry_0_14)) - (portRef CIN (instanceRef FS_cry_0_16)) - )) - (net (rename FS_s_15 "FS_s[15]") (joined - (portRef S1 (instanceRef FS_cry_0_14)) - (portRef D (instanceRef FS_15)) - )) - (net (rename FS_cry_16 "FS_cry[16]") (joined - (portRef COUT0 (instanceRef FS_cry_0_16)) - )) - (net (rename FS_s_16 "FS_s[16]") (joined - (portRef S0 (instanceRef FS_cry_0_16)) - (portRef D (instanceRef FS_16)) - )) - (net (rename FS_s_17 "FS_s[17]") (joined - (portRef S1 (instanceRef FS_cry_0_16)) - (portRef D (instanceRef FS_17)) - )) - (net RA10s_i (joined - (portRef Z (instanceRef RA10_RNO)) - (portRef PD (instanceRef RA10)) - )) - (net Cmdn8MEGEN_4_u_i_0 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_0)) - (portRef A (instanceRef Cmdn8MEGEN_RNO)) - )) - (net UFMSDI_ens2_i_o2_0_3 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_o2_0_3)) - (portRef C (instanceRef UFMSDI_ens2_i_o2_0)) - )) - (net C1WR_0_a2_0_3 (joined - (portRef Z (instanceRef C1WR_0_a2_0_3)) - (portRef C (instanceRef C1WR_0_a2_0_10)) - )) - (net C1WR_0_a2_0_4 (joined - (portRef Z (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef C1WR_0_a2_0_10)) - )) - (net C1WR_0_a2_0_10 (joined - (portRef Z (instanceRef C1WR_0_a2_0_10)) - (portRef C (instanceRef C1WR_0_a2_0)) - )) - (net C1WR_0_a2_0_11 (joined - (portRef Z (instanceRef C1WR_0_a2_0_11)) - (portRef D (instanceRef C1WR_0_a2_0)) - )) - (net Ready_0_sqmuxa_0_a3_2 (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef D (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef Ready_RNO)) - )) - (net UFMSDI_ens2_i_a2_4_2 (joined - (portRef Z (instanceRef UFMSDI_ens2_i_a2_4_2)) - (portRef D (instanceRef UFMSDI_ens2_i_a0)) - )) - (net CmdEnable16_0_a2_4 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef CmdEnable16_0_a2)) - )) - (net CmdEnable16_0_a2_5 (joined - (portRef Z (instanceRef CmdEnable16_0_a2_5)) - (portRef B (instanceRef CmdEnable16_0_a2)) - )) - (net nRRAS_5_u_i_0 (joined - (portRef Z (instanceRef nRRAS_5_u_i_0)) - (portRef A (instanceRef nRRAS_RNO)) - (portRef D (instanceRef nRRAS_5_u_i)) - )) - (net CmdEnable17_0_a2_3 (joined - (portRef Z (instanceRef CmdEnable17_0_a2_3)) - (portRef A (instanceRef CmdEnable17_0_a2)) - )) - (net CmdEnable17_0_a2_4 (joined - (portRef Z (instanceRef CmdEnable17_0_a2_4)) - (portRef B (instanceRef CmdEnable17_0_a2)) - )) - (net un1_FS_13_i_a2_1 (joined - (portRef Z (instanceRef un1_FS_13_i_a2_1)) - (portRef D (instanceRef un1_FS_13_i_0)) - )) - (net un1_FS_14_i_a2_0_1 (joined - (portRef Z (instanceRef un1_FS_14_i_a2_0_1)) - (portRef D (instanceRef un1_FS_14_i_0)) - )) - (net (rename FS_cry_0_COUT1_16 "FS_cry_0_COUT1[16]") (joined - (portRef COUT1 (instanceRef FS_cry_0_16)) - )) - (net RCKEEN_8_u_1 (joined - (portRef Z (instanceRef RCKEEN_8_u_1_0)) - (portRef C (instanceRef RCKEEN_8_u)) - )) - (net N_28_i_1 (joined - (portRef Z (instanceRef nRCS_RNO_0)) - (portRef C (instanceRef nRCS_RNO)) - )) - (net m18_0_a3_3 (joined - (portRef Z (instanceRef nRWE_RNO_5)) - (portRef C (instanceRef nRWE_RNO_4)) - )) - (net m18_0_a2_1 (joined - (portRef Z (instanceRef nRWE_RNO_1)) - (portRef D (instanceRef nRWE_RNO)) - )) - (net m6_0_a2_2 (joined - (portRef Z (instanceRef nRWE_RNO_2)) - (portRef D (instanceRef nRWE_RNO_0)) - )) - (net G_17_1 (joined - (portRef Z (instanceRef nRWE_RNO_0)) - (portRef B (instanceRef nRWE_RNO)) - )) - (net g0_1 (joined - (portRef Z (instanceRef nRCAS_RNO_0)) - (portRef D (instanceRef nRCAS_RNO)) - )) - (net g4_0_0_0 (joined - (portRef Z (instanceRef nRCAS_RNO_1)) - (portRef D (instanceRef nRCAS_RNO_0)) - )) - (net CBR_fast (joined - (portRef Q (instanceRef CBR_fast)) - (portRef A (instanceRef nRCAS_RNO_0)) - (portRef A (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - )) - (net FWEr_fast (joined - (portRef Q (instanceRef FWEr_fast)) - (portRef C (instanceRef RCKEEN_8_u_1_0)) - (portRef A (instanceRef nRCS_RNO_0)) - )) - (net Ready_fast (joined - (portRef Q (instanceRef Ready_fast)) - (portRef B (instanceRef Ready_fast_RNO)) - (portRef A (instanceRef Ready_fast_RNI29NA)) - )) - (net UFMSDI_r_xx_mm_1 (joined - (portRef Z (instanceRef UFMSDI_RNO_0)) - (portRef D (instanceRef UFMSDI_RNO)) - )) - (net UFMCLK_r_i_m4_xx_mm_1 (joined - (portRef Z (instanceRef UFMCLK_RNO_0)) - (portRef D (instanceRef UFMCLK_RNO)) - )) - (net nUFMCS_s_0_N_5_i_N_2L1 (joined - (portRef Z (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) - (portRef D (instanceRef nUFMCS_s_0_N_5_i)) - )) - (net (rename XOR8MEG_CN "XOR8MEG.CN") (joined - (portRef Z (instanceRef XOR8MEG_CN)) - (portRef CK (instanceRef ADSubmitted)) - (portRef CK (instanceRef C1Submitted)) - (portRef CK (instanceRef CmdEnable)) - (portRef CK (instanceRef CmdLEDEN)) - (portRef CK (instanceRef CmdSubmitted)) - (portRef CK (instanceRef CmdUFMCLK)) - (portRef CK (instanceRef CmdUFMCS)) - (portRef CK (instanceRef CmdUFMSDI)) - (portRef CK (instanceRef Cmdn8MEGEN)) - (portRef CK (instanceRef XOR8MEG)) - )) - (net VCC (joined - (portRef Z (instanceRef VCC)) - (portRef CIN (instanceRef FS_cry_0_0)) - (portRef GSR (instanceRef GSR_INST)) - )) - (net GND (joined - (portRef Z (instanceRef GND)) - (portRef D1 (instanceRef FS_cry_0_0)) - (portRef C1 (instanceRef FS_cry_0_0)) - (portRef B1 (instanceRef FS_cry_0_0)) - (portRef D0 (instanceRef FS_cry_0_0)) - (portRef C0 (instanceRef FS_cry_0_0)) - (portRef B0 (instanceRef FS_cry_0_0)) - (portRef D1 (instanceRef FS_cry_0_2)) - (portRef C1 (instanceRef FS_cry_0_2)) - (portRef B1 (instanceRef FS_cry_0_2)) - (portRef D0 (instanceRef FS_cry_0_2)) - (portRef C0 (instanceRef FS_cry_0_2)) - (portRef B0 (instanceRef FS_cry_0_2)) - (portRef D1 (instanceRef FS_cry_0_4)) - (portRef C1 (instanceRef FS_cry_0_4)) - (portRef B1 (instanceRef FS_cry_0_4)) - (portRef D0 (instanceRef FS_cry_0_4)) - (portRef C0 (instanceRef FS_cry_0_4)) - (portRef B0 (instanceRef FS_cry_0_4)) - (portRef D1 (instanceRef FS_cry_0_6)) - (portRef C1 (instanceRef FS_cry_0_6)) - (portRef B1 (instanceRef FS_cry_0_6)) - (portRef D0 (instanceRef FS_cry_0_6)) - (portRef C0 (instanceRef FS_cry_0_6)) - (portRef B0 (instanceRef FS_cry_0_6)) - (portRef D1 (instanceRef FS_cry_0_8)) - (portRef C1 (instanceRef FS_cry_0_8)) - (portRef B1 (instanceRef FS_cry_0_8)) - (portRef D0 (instanceRef FS_cry_0_8)) - (portRef C0 (instanceRef FS_cry_0_8)) - (portRef B0 (instanceRef FS_cry_0_8)) - (portRef D1 (instanceRef FS_cry_0_10)) - (portRef C1 (instanceRef FS_cry_0_10)) - (portRef B1 (instanceRef FS_cry_0_10)) - (portRef D0 (instanceRef FS_cry_0_10)) - (portRef C0 (instanceRef FS_cry_0_10)) - (portRef B0 (instanceRef FS_cry_0_10)) - (portRef D1 (instanceRef FS_cry_0_12)) - (portRef C1 (instanceRef FS_cry_0_12)) - (portRef B1 (instanceRef FS_cry_0_12)) - (portRef D0 (instanceRef FS_cry_0_12)) - (portRef C0 (instanceRef FS_cry_0_12)) - (portRef B0 (instanceRef FS_cry_0_12)) - (portRef D1 (instanceRef FS_cry_0_14)) - (portRef C1 (instanceRef FS_cry_0_14)) - (portRef B1 (instanceRef FS_cry_0_14)) - (portRef D0 (instanceRef FS_cry_0_14)) - (portRef C0 (instanceRef FS_cry_0_14)) - (portRef B0 (instanceRef FS_cry_0_14)) - (portRef D1 (instanceRef FS_cry_0_16)) - (portRef C1 (instanceRef FS_cry_0_16)) - (portRef B1 (instanceRef FS_cry_0_16)) - (portRef D0 (instanceRef FS_cry_0_16)) - (portRef C0 (instanceRef FS_cry_0_16)) - (portRef B0 (instanceRef FS_cry_0_16)) - )) - (net PHI2_c (joined - (portRef O (instanceRef PHI2_pad)) - (portRef CK (instanceRef Bank_7)) - (portRef CK (instanceRef Bank_6)) - (portRef CK (instanceRef Bank_5)) - (portRef CK (instanceRef Bank_4)) - (portRef CK (instanceRef Bank_3)) - (portRef CK (instanceRef Bank_2)) - (portRef CK (instanceRef Bank_1)) - (portRef CK (instanceRef Bank_0)) - (portRef D (instanceRef PHI2r)) - (portRef CK (instanceRef RA11)) - (portRef A (instanceRef XOR8MEG_CN)) - )) - (net PHI2 (joined - (portRef PHI2) - (portRef I (instanceRef PHI2_pad)) - )) - (net (rename MAin_c_0 "MAin_c[0]") (joined - (portRef O (instanceRef MAin_pad_0)) - (portRef B (instanceRef un1_CMDWR)) - (portRef A (instanceRef un9_RA_0)) - (portRef D (instanceRef CmdEnable16_0_a2_4_0)) - (portRef B (instanceRef XOR8MEG18_0_a2)) - (portRef C (instanceRef CmdEnable17_0_a2)) - (portRef D (instanceRef RowA_0)) - )) - (net (rename MAin_0 "MAin[0]") (joined - (portRef (member main 9)) - (portRef I (instanceRef MAin_pad_0)) - )) - (net (rename MAin_c_1 "MAin_c[1]") (joined - (portRef O (instanceRef MAin_pad_1)) - (portRef C (instanceRef un1_CMDWR)) - (portRef A (instanceRef un9_RA_1)) - (portRef C (instanceRef CmdEnable17_0_a2_4)) - (portRef D (instanceRef CmdEnable16_0_a2_5)) - (portRef A (instanceRef C1WR_0_a2)) - (portRef C (instanceRef XOR8MEG18_0_a2)) - (portRef D (instanceRef RowA_1)) - (portRef D (instanceRef C1Submitted_RNO)) - )) - (net (rename MAin_1 "MAin[1]") (joined - (portRef (member main 8)) - (portRef I (instanceRef MAin_pad_1)) - )) - (net (rename MAin_c_2 "MAin_c[2]") (joined - (portRef O (instanceRef MAin_pad_2)) - (portRef A (instanceRef un9_RA_2)) - (portRef A (instanceRef C1WR_0_a2_0_3)) - (portRef D (instanceRef RowA_2)) - )) - (net (rename MAin_2 "MAin[2]") (joined - (portRef (member main 7)) - (portRef I (instanceRef MAin_pad_2)) - )) - (net (rename MAin_c_3 "MAin_c[3]") (joined - (portRef O (instanceRef MAin_pad_3)) - (portRef A (instanceRef un9_RA_3)) - (portRef B (instanceRef C1WR_0_a2_0_3)) - (portRef D (instanceRef RowA_3)) - )) - (net (rename MAin_3 "MAin[3]") (joined - (portRef (member main 6)) - (portRef I (instanceRef MAin_pad_3)) - )) - (net (rename MAin_c_4 "MAin_c[4]") (joined - (portRef O (instanceRef MAin_pad_4)) - (portRef A (instanceRef un9_RA_4)) - (portRef A (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_4)) - )) - (net (rename MAin_4 "MAin[4]") (joined - (portRef (member main 5)) - (portRef I (instanceRef MAin_pad_4)) - )) - (net (rename MAin_c_5 "MAin_c[5]") (joined - (portRef O (instanceRef MAin_pad_5)) - (portRef A (instanceRef un9_RA_5)) - (portRef B (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_5)) - )) - (net (rename MAin_5 "MAin[5]") (joined - (portRef (member main 4)) - (portRef I (instanceRef MAin_pad_5)) - )) - (net (rename MAin_c_6 "MAin_c[6]") (joined - (portRef O (instanceRef MAin_pad_6)) - (portRef A (instanceRef un9_RA_6)) - (portRef C (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_6)) - )) - (net (rename MAin_6 "MAin[6]") (joined - (portRef (member main 3)) - (portRef I (instanceRef MAin_pad_6)) - )) - (net (rename MAin_c_7 "MAin_c[7]") (joined - (portRef O (instanceRef MAin_pad_7)) - (portRef A (instanceRef un9_RA_7)) - (portRef D (instanceRef C1WR_0_a2_0_4)) - (portRef D (instanceRef RowA_7)) - )) - (net (rename MAin_7 "MAin[7]") (joined - (portRef (member main 2)) - (portRef I (instanceRef MAin_pad_7)) - )) - (net (rename MAin_c_8 "MAin_c[8]") (joined - (portRef O (instanceRef MAin_pad_8)) - (portRef A (instanceRef un9_RA_8)) - (portRef D (instanceRef RowA_8)) - )) - (net (rename MAin_8 "MAin[8]") (joined - (portRef (member main 1)) - (portRef I (instanceRef MAin_pad_8)) - )) - (net (rename MAin_c_9 "MAin_c[9]") (joined - (portRef O (instanceRef MAin_pad_9)) - (portRef A (instanceRef RDQML)) - (portRef A (instanceRef RDQMH)) - (portRef A (instanceRef un9_RA_9)) - (portRef D (instanceRef RowA_9)) - )) - (net (rename MAin_9 "MAin[9]") (joined - (portRef (member main 0)) - (portRef I (instanceRef MAin_pad_9)) - )) - (net (rename CROW_c_0 "CROW_c[0]") (joined - (portRef O (instanceRef CROW_pad_0)) - (portRef D (instanceRef RBA_0)) - )) - (net (rename CROW_0 "CROW[0]") (joined - (portRef (member crow 1)) - (portRef I (instanceRef CROW_pad_0)) - )) - (net (rename CROW_c_1 "CROW_c[1]") (joined - (portRef O (instanceRef CROW_pad_1)) - (portRef D (instanceRef RBA_1)) - )) - (net (rename CROW_1 "CROW[1]") (joined - (portRef (member crow 0)) - (portRef I (instanceRef CROW_pad_1)) - )) - (net (rename Din_c_0 "Din_c[0]") (joined - (portRef O (instanceRef Din_pad_0)) - (portRef B (instanceRef CmdEnable17_0_a2_3)) - (portRef A (instanceRef CmdEnable16_0_a2_4)) - (portRef A (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef Bank_0)) - (portRef D (instanceRef CmdUFMSDI)) - (portRef D (instanceRef WRD_0)) - )) - (net (rename Din_0 "Din[0]") (joined - (portRef (member din 7)) - (portRef I (instanceRef Din_pad_0)) - )) - (net (rename Din_c_1 "Din_c[1]") (joined - (portRef O (instanceRef Din_pad_1)) - (portRef A (instanceRef CmdEnable17_0_a2_3)) - (portRef B (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef A (instanceRef XOR8MEG_3_u_0_a3_3)) - (portRef D (instanceRef Bank_1)) - (portRef D (instanceRef CmdUFMCLK)) - (portRef D (instanceRef WRD_1)) - )) - (net (rename Din_1 "Din[1]") (joined - (portRef (member din 6)) - (portRef I (instanceRef Din_pad_1)) - )) - (net (rename Din_c_2 "Din_c[2]") (joined - (portRef O (instanceRef Din_pad_2)) - (portRef A (instanceRef CmdEnable17_0_a2_4)) - (portRef B (instanceRef CmdEnable16_0_a2_5)) - (portRef B (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef Bank_2)) - (portRef D (instanceRef CmdUFMCS)) - (portRef D (instanceRef WRD_2)) - )) - (net (rename Din_2 "Din[2]") (joined - (portRef (member din 5)) - (portRef I (instanceRef Din_pad_2)) - )) - (net (rename Din_c_3 "Din_c[3]") (joined - (portRef O (instanceRef Din_pad_3)) - (portRef D (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef D (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef D (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef A (instanceRef CmdEnable17_0_o2)) - (portRef C (instanceRef CmdEnable16_0_a2_4_0)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef C (instanceRef XOR8MEG_3_u_0_a3_2)) - (portRef D (instanceRef Bank_3)) - (portRef D (instanceRef WRD_3)) - )) - (net (rename Din_3 "Din[3]") (joined - (portRef (member din 4)) - (portRef I (instanceRef Din_pad_3)) - )) - (net (rename Din_c_4 "Din_c[4]") (joined - (portRef O (instanceRef Din_pad_4)) - (portRef D (instanceRef CmdEnable17_0_a2_3)) - (portRef A (instanceRef CmdEnable16_0_a2_1)) - (portRef A (instanceRef un1_Din_4)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef D (instanceRef Bank_4)) - (portRef D (instanceRef WRD_4)) - )) - (net (rename Din_4 "Din[4]") (joined - (portRef (member din 3)) - (portRef I (instanceRef Din_pad_4)) - )) - (net (rename Din_c_5 "Din_c[5]") (joined - (portRef O (instanceRef Din_pad_5)) - (portRef C (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) - (portRef C (instanceRef CmdLEDEN_4_u_i_a2)) - (portRef C (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) - (portRef B (instanceRef CmdEnable17_0_o2)) - (portRef B (instanceRef CmdEnable16_0_a2_4)) - (portRef B (instanceRef un1_Din_4)) - (portRef B (instanceRef CmdLEDEN_4_u_i_a2_0)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) - (portRef D (instanceRef Bank_5)) - (portRef D (instanceRef WRD_5)) - )) - (net (rename Din_5 "Din[5]") (joined - (portRef (member din 2)) - (portRef I (instanceRef Din_pad_5)) - )) - (net (rename Din_c_6 "Din_c[6]") (joined - (portRef O (instanceRef Din_pad_6)) - (portRef C (instanceRef un1_Din_4)) - (portRef A (instanceRef RA11_2)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef B (instanceRef CmdEnable17_0_a2_4)) - (portRef C (instanceRef CmdEnable16_0_a2_5)) - (portRef D (instanceRef Bank_6)) - (portRef D (instanceRef WRD_6)) - )) - (net (rename Din_6 "Din[6]") (joined - (portRef (member din 1)) - (portRef I (instanceRef Din_pad_6)) - )) - (net (rename Din_c_7 "Din_c[7]") (joined - (portRef O (instanceRef Din_pad_7)) - (portRef C (instanceRef CmdEnable17_0_a2_3)) - (portRef B (instanceRef CmdEnable16_0_a2_1)) - (portRef D (instanceRef un1_Din_4)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) - (portRef D (instanceRef Bank_7)) - (portRef D (instanceRef WRD_7)) - )) - (net (rename Din_7 "Din[7]") (joined - (portRef (member din 0)) - (portRef I (instanceRef Din_pad_7)) - )) - (net (rename Dout_0 "Dout[0]") (joined - (portRef O (instanceRef Dout_pad_0)) - (portRef (member dout 7)) - )) - (net (rename Dout_1 "Dout[1]") (joined - (portRef O (instanceRef Dout_pad_1)) - (portRef (member dout 6)) - )) - (net (rename Dout_2 "Dout[2]") (joined - (portRef O (instanceRef Dout_pad_2)) - (portRef (member dout 5)) - )) - (net (rename Dout_3 "Dout[3]") (joined - (portRef O (instanceRef Dout_pad_3)) - (portRef (member dout 4)) - )) - (net (rename Dout_4 "Dout[4]") (joined - (portRef O (instanceRef Dout_pad_4)) - (portRef (member dout 3)) - )) - (net (rename Dout_5 "Dout[5]") (joined - (portRef O (instanceRef Dout_pad_5)) - (portRef (member dout 2)) - )) - (net (rename Dout_6 "Dout[6]") (joined - (portRef O (instanceRef Dout_pad_6)) - (portRef (member dout 1)) - )) - (net (rename Dout_7 "Dout[7]") (joined - (portRef O (instanceRef Dout_pad_7)) - (portRef (member dout 0)) - )) - (net nCCAS_c (joined - (portRef O (instanceRef nCCAS_pad)) - (portRef A (instanceRef nCCAS_pad_RNI01SJ)) - (portRef A (instanceRef nCCAS_pad_RNISUR8)) - )) - (net nCCAS (joined - (portRef nCCAS) - (portRef I (instanceRef nCCAS_pad)) - )) - (net nCRAS_c (joined - (portRef O (instanceRef nCRAS_pad)) - (portRef C (instanceRef LED_pad_RNO)) - (portRef A (instanceRef nCRAS_pad_RNIBPVB)) - (portRef A (instanceRef RASr_RNO)) - )) - (net nCRAS (joined - (portRef nCRAS) - (portRef I (instanceRef nCRAS_pad)) - )) - (net nFWE_c (joined - (portRef O (instanceRef nFWE_pad)) - (portRef C (instanceRef C1WR_0_a2_0_3)) - (portRef B (instanceRef nCCAS_pad_RNI01SJ)) - (portRef A (instanceRef nFWE_pad_RNI420B)) - )) - (net nFWE (joined - (portRef nFWE) - (portRef I (instanceRef nFWE_pad)) - )) - (net LED_c (joined - (portRef Z (instanceRef LED_pad_RNO)) - (portRef I (instanceRef LED_pad)) - )) - (net LED (joined - (portRef O (instanceRef LED_pad)) - (portRef LED) - )) - (net (rename RBA_c_0 "RBA_c[0]") (joined - (portRef Q (instanceRef RBA_0)) - (portRef I (instanceRef RBA_pad_0)) - )) - (net (rename RBA_0 "RBA[0]") (joined - (portRef O (instanceRef RBA_pad_0)) - (portRef (member rba 1)) - )) - (net (rename RBA_c_1 "RBA_c[1]") (joined - (portRef Q (instanceRef RBA_1)) - (portRef I (instanceRef RBA_pad_1)) - )) - (net (rename RBA_1 "RBA[1]") (joined - (portRef O (instanceRef RBA_pad_1)) - (portRef (member rba 0)) - )) - (net (rename RA_c_0 "RA_c[0]") (joined - (portRef Z (instanceRef un9_RA_0)) - (portRef I (instanceRef RA_pad_0)) - )) - (net (rename RA_0 "RA[0]") (joined - (portRef O (instanceRef RA_pad_0)) - (portRef (member ra 11)) - )) - (net (rename RA_c_1 "RA_c[1]") (joined - (portRef Z (instanceRef un9_RA_1)) - (portRef I (instanceRef RA_pad_1)) - )) - (net (rename RA_1 "RA[1]") (joined - (portRef O (instanceRef RA_pad_1)) - (portRef (member ra 10)) - )) - (net (rename RA_c_2 "RA_c[2]") (joined - (portRef Z (instanceRef un9_RA_2)) - (portRef I (instanceRef RA_pad_2)) - )) - (net (rename RA_2 "RA[2]") (joined - (portRef O (instanceRef RA_pad_2)) - (portRef (member ra 9)) - )) - (net (rename RA_c_3 "RA_c[3]") (joined - (portRef Z (instanceRef un9_RA_3)) - (portRef I (instanceRef RA_pad_3)) - )) - (net (rename RA_3 "RA[3]") (joined - (portRef O (instanceRef RA_pad_3)) - (portRef (member ra 8)) - )) - (net (rename RA_c_4 "RA_c[4]") (joined - (portRef Z (instanceRef un9_RA_4)) - (portRef I (instanceRef RA_pad_4)) - )) - (net (rename RA_4 "RA[4]") (joined - (portRef O (instanceRef RA_pad_4)) - (portRef (member ra 7)) - )) - (net (rename RA_c_5 "RA_c[5]") (joined - (portRef Z (instanceRef un9_RA_5)) - (portRef I (instanceRef RA_pad_5)) - )) - (net (rename RA_5 "RA[5]") (joined - (portRef O (instanceRef RA_pad_5)) - (portRef (member ra 6)) - )) - (net (rename RA_c_6 "RA_c[6]") (joined - (portRef Z (instanceRef un9_RA_6)) - (portRef I (instanceRef RA_pad_6)) - )) - (net (rename RA_6 "RA[6]") (joined - (portRef O (instanceRef RA_pad_6)) - (portRef (member ra 5)) - )) - (net (rename RA_c_7 "RA_c[7]") (joined - (portRef Z (instanceRef un9_RA_7)) - (portRef I (instanceRef RA_pad_7)) - )) - (net (rename RA_7 "RA[7]") (joined - (portRef O (instanceRef RA_pad_7)) - (portRef (member ra 4)) - )) - (net (rename RA_c_8 "RA_c[8]") (joined - (portRef Z (instanceRef un9_RA_8)) - (portRef I (instanceRef RA_pad_8)) - )) - (net (rename RA_8 "RA[8]") (joined - (portRef O (instanceRef RA_pad_8)) - (portRef (member ra 3)) - )) - (net (rename RA_c_9 "RA_c[9]") (joined - (portRef Z (instanceRef un9_RA_9)) - (portRef I (instanceRef RA_pad_9)) - )) - (net (rename RA_9 "RA[9]") (joined - (portRef O (instanceRef RA_pad_9)) - (portRef (member ra 2)) - )) - (net (rename RA_c_10 "RA_c[10]") (joined - (portRef Q (instanceRef RA10)) - (portRef I (instanceRef RA_pad_10)) - )) - (net (rename RA_10 "RA[10]") (joined - (portRef O (instanceRef RA_pad_10)) - (portRef (member ra 1)) - )) - (net (rename RA_c_11 "RA_c[11]") (joined - (portRef Q (instanceRef RA11)) - (portRef I (instanceRef RA_pad_11)) - )) - (net (rename RA_11 "RA[11]") (joined - (portRef O (instanceRef RA_pad_11)) - (portRef (member ra 0)) - )) - (net (rename RD_in_0 "RD_in[0]") (joined - (portRef O (instanceRef RD_pad_0)) - (portRef I (instanceRef Dout_pad_0)) - )) - (net (rename RD_0 "RD[0]") (joined - (portRef B (instanceRef RD_pad_0)) - (portRef (member rd 7)) - )) - (net (rename RD_in_1 "RD_in[1]") (joined - (portRef O (instanceRef RD_pad_1)) - (portRef I (instanceRef Dout_pad_1)) - )) - (net (rename RD_1 "RD[1]") (joined - (portRef B (instanceRef RD_pad_1)) - (portRef (member rd 6)) - )) - (net (rename RD_in_2 "RD_in[2]") (joined - (portRef O (instanceRef RD_pad_2)) - (portRef I (instanceRef Dout_pad_2)) - )) - (net (rename RD_2 "RD[2]") (joined - (portRef B (instanceRef RD_pad_2)) - (portRef (member rd 5)) - )) - (net (rename RD_in_3 "RD_in[3]") (joined - (portRef O (instanceRef RD_pad_3)) - (portRef I (instanceRef Dout_pad_3)) - )) - (net (rename RD_3 "RD[3]") (joined - (portRef B (instanceRef RD_pad_3)) - (portRef (member rd 4)) - )) - (net (rename RD_in_4 "RD_in[4]") (joined - (portRef O (instanceRef RD_pad_4)) - (portRef I (instanceRef Dout_pad_4)) - )) - (net (rename RD_4 "RD[4]") (joined - (portRef B (instanceRef RD_pad_4)) - (portRef (member rd 3)) - )) - (net (rename RD_in_5 "RD_in[5]") (joined - (portRef O (instanceRef RD_pad_5)) - (portRef I (instanceRef Dout_pad_5)) - )) - (net (rename RD_5 "RD[5]") (joined - (portRef B (instanceRef RD_pad_5)) - (portRef (member rd 2)) - )) - (net (rename RD_in_6 "RD_in[6]") (joined - (portRef O (instanceRef RD_pad_6)) - (portRef I (instanceRef Dout_pad_6)) - )) - (net (rename RD_6 "RD[6]") (joined - (portRef B (instanceRef RD_pad_6)) - (portRef (member rd 1)) - )) - (net (rename RD_in_7 "RD_in[7]") (joined - (portRef O (instanceRef RD_pad_7)) - (portRef I (instanceRef Dout_pad_7)) - )) - (net (rename RD_7 "RD[7]") (joined - (portRef B (instanceRef RD_pad_7)) - (portRef (member rd 0)) - )) - (net nRCS_c (joined - (portRef Q (instanceRef nRCS)) - (portRef I (instanceRef nRCS_pad)) - )) - (net nRCS (joined - (portRef O (instanceRef nRCS_pad)) - (portRef nRCS) - )) - (net RCLK_c (joined - (portRef O (instanceRef RCLK_pad)) - (portRef CK (instanceRef CASr)) - (portRef CK (instanceRef CASr2)) - (portRef CK (instanceRef CASr3)) - (portRef CK (instanceRef FS_17)) - (portRef CK (instanceRef FS_16)) - (portRef CK (instanceRef FS_15)) - (portRef CK (instanceRef FS_14)) - (portRef CK (instanceRef FS_13)) - (portRef CK (instanceRef FS_12)) - (portRef CK (instanceRef FS_11)) - (portRef CK (instanceRef FS_10)) - (portRef CK (instanceRef FS_9)) - (portRef CK (instanceRef FS_8)) - (portRef CK (instanceRef FS_7)) - (portRef CK (instanceRef FS_6)) - (portRef CK (instanceRef FS_5)) - (portRef CK (instanceRef FS_4)) - (portRef CK (instanceRef FS_3)) - (portRef CK (instanceRef FS_2)) - (portRef CK (instanceRef FS_1)) - (portRef CK (instanceRef FS_0)) - (portRef CK (instanceRef IS_3)) - (portRef CK (instanceRef IS_2)) - (portRef CK (instanceRef IS_1)) - (portRef CK (instanceRef IS_0)) - (portRef CK (instanceRef InitReady)) - (portRef CK (instanceRef LEDEN)) - (portRef CK (instanceRef PHI2r)) - (portRef CK (instanceRef PHI2r2)) - (portRef CK (instanceRef PHI2r3)) - (portRef CK (instanceRef RA10)) - (portRef CK (instanceRef RASr)) - (portRef CK (instanceRef RASr2)) - (portRef CK (instanceRef RASr3)) - (portRef CK (instanceRef RCKE)) - (portRef CK (instanceRef RCKEEN)) - (portRef CK (instanceRef Ready)) - (portRef CK (instanceRef Ready_fast)) - (portRef CK (instanceRef S_1)) - (portRef CK (instanceRef S_0)) - (portRef CK (instanceRef UFMCLK)) - (portRef CK (instanceRef UFMSDI)) - (portRef CK (instanceRef n8MEGEN)) - (portRef CK (instanceRef nRCAS)) - (portRef CK (instanceRef nRCS)) - (portRef CK (instanceRef nRRAS)) - (portRef CK (instanceRef nRWE)) - (portRef CK (instanceRef nRowColSel)) - (portRef CK (instanceRef nUFMCS)) - )) - (net RCLK (joined - (portRef RCLK) - (portRef I (instanceRef RCLK_pad)) - )) - (net RCKE_c (joined - (portRef Q (instanceRef RCKE)) - (portRef C (instanceRef nRRAS_5_u_i_0)) - (portRef I (instanceRef RCKE_pad)) - (portRef C (instanceRef nRWE_RNO_3)) - )) - (net RCKE (joined - (portRef O (instanceRef RCKE_pad)) - (portRef RCKE) - )) - (net nRWE_c (joined - (portRef Q (instanceRef nRWE)) - (portRef I (instanceRef nRWE_pad)) - )) - (net nRWE (joined - (portRef O (instanceRef nRWE_pad)) - (portRef nRWE) - )) - (net nRRAS_c (joined - (portRef Q (instanceRef nRRAS)) - (portRef I (instanceRef nRRAS_pad)) - )) - (net nRRAS (joined - (portRef O (instanceRef nRRAS_pad)) - (portRef nRRAS) - )) - (net nRCAS_c (joined - (portRef Q (instanceRef nRCAS)) - (portRef I (instanceRef nRCAS_pad)) - )) - (net nRCAS (joined - (portRef O (instanceRef nRCAS_pad)) - (portRef nRCAS) - )) - (net RDQMH_c (joined - (portRef Z (instanceRef RDQMH)) - (portRef I (instanceRef RDQMH_pad)) - )) - (net RDQMH (joined - (portRef O (instanceRef RDQMH_pad)) - (portRef RDQMH) - )) - (net RDQML_c (joined - (portRef Z (instanceRef RDQML)) - (portRef I (instanceRef RDQML_pad)) - )) - (net RDQML (joined - (portRef O (instanceRef RDQML_pad)) - (portRef RDQML) - )) - (net nUFMCS_c (joined - (portRef Q (instanceRef nUFMCS)) - (portRef C (instanceRef nUFMCS_s_0_N_5_i)) - (portRef I (instanceRef nUFMCS_pad)) - )) - (net nUFMCS (joined - (portRef O (instanceRef nUFMCS_pad)) - (portRef nUFMCS) - )) - (net UFMCLK_c (joined - (portRef Q (instanceRef UFMCLK)) - (portRef C (instanceRef UFMCLK_RNO)) - (portRef I (instanceRef UFMCLK_pad)) - )) - (net UFMCLK (joined - (portRef O (instanceRef UFMCLK_pad)) - (portRef UFMCLK) - )) - (net UFMSDI_c (joined - (portRef Q (instanceRef UFMSDI)) - (portRef C (instanceRef UFMSDI_RNO)) - (portRef I (instanceRef UFMSDI_pad)) - )) - (net UFMSDI (joined - (portRef O (instanceRef UFMSDI_pad)) - (portRef UFMSDI) - )) - (net UFMSDO_c (joined - (portRef O (instanceRef UFMSDO_pad)) - (portRef C (instanceRef LEDEN_5_i_m2)) - (portRef C (instanceRef n8MEGEN_5_i_m2)) - )) - (net UFMSDO (joined - (portRef UFMSDO) - (portRef I (instanceRef UFMSDO_pad)) - )) - (net N_460_0 (joined - (portRef Z (instanceRef CmdSubmitted_RNO)) - (portRef D (instanceRef CmdSubmitted)) - )) - (net N_461_0 (joined - (portRef Z (instanceRef InitReady_RNO)) - (portRef D (instanceRef InitReady)) - )) - (net N_462_0 (joined - (portRef Z (instanceRef Ready_RNO)) - (portRef D (instanceRef Ready)) - )) - (net N_463_0 (joined - (portRef Z (instanceRef Ready_fast_RNO)) - (portRef D (instanceRef Ready_fast)) - )) - (net nFWE_c_i (joined - (portRef Z (instanceRef nFWE_pad_RNI420B)) - (portRef D (instanceRef FWEr)) - (portRef D (instanceRef FWEr_fast)) - )) - (net nCRAS_c_i_0 (joined - (portRef Z (instanceRef RASr_RNO)) - (portRef D (instanceRef RASr)) - )) - (net nCCAS_c_i (joined - (portRef Z (instanceRef nCCAS_pad_RNISUR8)) - (portRef D (instanceRef CASr)) - (portRef D (instanceRef CBR)) - (portRef D (instanceRef CBR_fast)) - (portRef CK (instanceRef WRD_7)) - (portRef CK (instanceRef WRD_6)) - (portRef CK (instanceRef WRD_5)) - (portRef CK (instanceRef WRD_4)) - (portRef CK (instanceRef WRD_3)) - (portRef CK (instanceRef WRD_2)) - (portRef CK (instanceRef WRD_1)) - (portRef CK (instanceRef WRD_0)) - )) - (net Ready_fast_i (joined - (portRef Z (instanceRef Ready_fast_RNI29NA)) - (portRef CD (instanceRef RA11)) - (portRef CD (instanceRef RBA_1)) - (portRef CD (instanceRef RBA_0)) - (portRef PD (instanceRef RowA_9)) - (portRef CD (instanceRef RowA_8)) - (portRef CD (instanceRef RowA_7)) - (portRef CD (instanceRef RowA_6)) - (portRef PD (instanceRef RowA_5)) - (portRef CD (instanceRef RowA_4)) - (portRef CD (instanceRef RowA_3)) - (portRef CD (instanceRef RowA_2)) - (portRef CD (instanceRef RowA_1)) - (portRef CD (instanceRef RowA_0)) - )) - (net (rename IS_i_0 "IS_i[0]") (joined - (portRef Z (instanceRef IS_i_0)) - (portRef D (instanceRef RA10)) - )) - (net RASr2_i (joined - (portRef Z (instanceRef RASr2_RNIAFR1)) - (portRef CD (instanceRef S_1)) - (portRef CD (instanceRef S_0)) - )) - (net nRWE_RNO_4 (joined - (portRef Z (instanceRef nRWE_RNO_4)) - (portRef BLUT (instanceRef nRWE_RNO_1)) - )) - (net nRWE_RNO_3 (joined - (portRef Z (instanceRef nRWE_RNO_3)) - (portRef ALUT (instanceRef nRWE_RNO_1)) - )) - (net CmdEnable_s_am (joined - (portRef Z (instanceRef CmdEnable_s_am)) - (portRef BLUT (instanceRef CmdEnable_s)) - )) - (net CmdEnable_s_bm (joined - (portRef Z (instanceRef CmdEnable_s_bm)) - (portRef ALUT (instanceRef CmdEnable_s)) - )) - ) - (property orig_inst_of (string "RAM2GS")) - ) - ) - ) - (design RAM2GS (cellRef RAM2GS (libraryRef work)) - (property PART (string "lcmxo256c-3") )) -) +(edif RAM2GS + (edifVersion 2 0 0) + (edifLevel 0) + (keywordMap (keywordLevel 0)) + (status + (written + (timeStamp 2023 8 19 20 53 17) + (author "Synopsys, Inc.") + (program "Synplify Pro" (version "R-2021.03L-SP1, mapper map202103lat, Build 070R")) + ) + ) + (library LUCENT + (edifLevel 0) + (technology (numberDefinition )) + (cell CCU2 (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A0 (direction INPUT)) + (port B0 (direction INPUT)) + (port C0 (direction INPUT)) + (port D0 (direction INPUT)) + (port A1 (direction INPUT)) + (port B1 (direction INPUT)) + (port C1 (direction INPUT)) + (port D1 (direction INPUT)) + (port CIN (direction INPUT)) + (port COUT0 (direction OUTPUT)) + (port COUT1 (direction OUTPUT)) + (port S0 (direction OUTPUT)) + (port S1 (direction OUTPUT)) + ) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0000")) + (property INIT0 (string "0000")) + ) + ) + (cell BB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port B (direction INOUT)) + (port I (direction INPUT)) + (port T (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell OB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port I (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell IB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port I (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell FD1S3JX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port PD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3IX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port CD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3AY (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3AX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1P3AX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell ORCALUT4 (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A (direction INPUT)) + (port B (direction INPUT)) + (port C (direction INPUT)) + (port D (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell PFUMX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port ALUT (direction INPUT)) + (port BLUT (direction INPUT)) + (port C0 (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell GSR (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port GSR (direction INPUT)) + ) + ) + ) + (cell INV (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell VHI (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port Z (direction OUTPUT)) + ) + ) + ) + (cell VLO (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port Z (direction OUTPUT)) + ) + ) + ) + ) + (library work + (edifLevel 0) + (technology (numberDefinition )) + (cell RAM2GS (cellType GENERIC) + (view verilog (viewType NETLIST) + (interface + (port PHI2 (direction INPUT)) + (port (array (rename main "MAin[9:0]") 10) (direction INPUT)) + (port (array (rename crow "CROW[1:0]") 2) (direction INPUT)) + (port (array (rename din "Din[7:0]") 8) (direction INPUT)) + (port (array (rename dout "Dout[7:0]") 8) (direction OUTPUT)) + (port nCCAS (direction INPUT)) + (port nCRAS (direction INPUT)) + (port nFWE (direction INPUT)) + (port LED (direction OUTPUT)) + (port (array (rename rba "RBA[1:0]") 2) (direction OUTPUT)) + (port (array (rename ra "RA[11:0]") 12) (direction OUTPUT)) + (port (array (rename rd "RD[7:0]") 8) (direction INOUT)) + (port nRCS (direction OUTPUT)) + (port RCLK (direction INPUT)) + (port RCKE (direction OUTPUT)) + (port nRWE (direction OUTPUT)) + (port nRRAS (direction OUTPUT)) + (port nRCAS (direction OUTPUT)) + (port RDQMH (direction OUTPUT)) + (port RDQML (direction OUTPUT)) + (port nUFMCS (direction OUTPUT)) + (port UFMCLK (direction OUTPUT)) + (port UFMSDI (direction OUTPUT)) + (port UFMSDO (direction INPUT)) + ) + (contents + (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) + (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) + (instance GSR_INST (viewRef PRIM (cellRef GSR (libraryRef LUCENT))) + ) + (instance RASr2_RNIAFR1 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance (rename IS_i_0 "IS_i[0]") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance Ready_fast_RNI29NA (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nCCAS_pad_RNISUR8 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance RASr_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nFWE_pad_RNI420B (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nRCS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (B+A)+D (!C (!B A+B !A)+C (B+A)))")) + ) + (instance C1Submitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (B+A)+D (!C (B+A)+C A))")) + ) + (instance nRowColSel_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A))")) + ) + (instance RCKEEN_8_u_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C (!B+!A))+D (C !A))")) + ) + (instance (rename IS_RNO_3 "IS_RNO[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (!B A+B !A)))")) + ) + (instance Ready_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C (B+A)+C A))")) + ) + (instance CmdEnable_s (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance CmdEnable_s_bm (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance CmdEnable_s_am (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C B+C (B A))+D (!C B+C A))")) + ) + (instance nRWE_RNO_1 (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance nRWE_RNO_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B !A)))")) + ) + (instance nRWE_RNO_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance Ready_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance InitReady_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance CmdSubmitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance nCRAS_pad_RNIBPVB (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance (rename XOR8MEG_CN "XOR8MEG.CN") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nUFMCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRowColSel (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance nRWE (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRRAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRCS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance nRCAS (viewRef PRIM (cellRef FD1S3AY (libraryRef LUCENT))) + ) + (instance n8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance XOR8MEG (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_0 "WRD[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_1 "WRD[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_2 "WRD[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_3 "WRD[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_4 "WRD[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_5 "WRD[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_6 "WRD[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename WRD_7 "WRD[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance UFMSDI (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance UFMCLK (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename S_0 "S[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename S_1 "S[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_0 "RowA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_1 "RowA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_2 "RowA[2]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_3 "RowA[3]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_4 "RowA[4]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_5 "RowA[5]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) + ) + (instance (rename RowA_6 "RowA[6]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_7 "RowA[7]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_8 "RowA[8]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_9 "RowA[9]") (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) + ) + (instance Ready_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Ready (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RCKEEN (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RCKE (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RBA_0 "RBA[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RBA_1 "RBA[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance RASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RA11 (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance RA10 (viewRef PRIM (cellRef FD1S3JX (libraryRef LUCENT))) + ) + (instance PHI2r3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance PHI2r2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance PHI2r (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance LEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance InitReady (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename IS_0 "IS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename IS_1 "IS[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename IS_2 "IS[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename IS_3 "IS[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance FWEr_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance FWEr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_0 "FS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_1 "FS[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_2 "FS[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_3 "FS[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_4 "FS[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_5 "FS[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_6 "FS[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_7 "FS[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_8 "FS[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_9 "FS[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_10 "FS[10]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_11 "FS[11]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_12 "FS[12]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_13 "FS[13]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_14 "FS[14]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_15 "FS[15]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_16 "FS[16]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_17 "FS[17]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Cmdn8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMSDI (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMCS (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMCLK (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CmdLEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdEnable (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CBR_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CBR (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance C1Submitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_0 "Bank[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_1 "Bank[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_2 "Bank[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_3 "Bank[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_4 "Bank[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_5 "Bank[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_6 "Bank[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename Bank_7 "Bank[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance ADSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance UFMSDO_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance UFMSDI_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance UFMCLK_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nUFMCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RDQML_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RDQMH_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRCAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRRAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRWE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RCKE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RCLK_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nRCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RD_pad_7 "RD_pad[7]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_6 "RD_pad[6]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_5 "RD_pad[5]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_4 "RD_pad[4]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_3 "RD_pad[3]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_2 "RD_pad[2]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_1 "RD_pad[1]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_0 "RD_pad[0]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RA_pad_11 "RA_pad[11]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_10 "RA_pad[10]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_9 "RA_pad[9]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_8 "RA_pad[8]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_7 "RA_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_6 "RA_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_5 "RA_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_4 "RA_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_3 "RA_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_2 "RA_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_1 "RA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_0 "RA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RBA_pad_1 "RBA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RBA_pad_0 "RBA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance LED_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nFWE_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nCRAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nCCAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_7 "Dout_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_6 "Dout_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_5 "Dout_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_4 "Dout_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_3 "Dout_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_2 "Dout_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_1 "Dout_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_0 "Dout_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Din_pad_7 "Din_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_6 "Din_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_5 "Din_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_4 "Din_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_3 "Din_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_2 "Din_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_1 "Din_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Din_pad_0 "Din_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename CROW_pad_1 "CROW_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename CROW_pad_0 "CROW_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_9 "MAin_pad[9]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_8 "MAin_pad[8]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_7 "MAin_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_6 "MAin_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_5 "MAin_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_4 "MAin_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_3 "MAin_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_2 "MAin_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_1 "MAin_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_0 "MAin_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance PHI2_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance CmdEnable17_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance XOR8MEG18_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance un1_FS_14_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (B+A)))")) + ) + (instance un1_FS_13_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (B+A)))")) + ) + (instance C1WR_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance CmdEnable16_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance Cmdn8MEGEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A)+C !A)")) + ) + (instance CmdLEDEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C !B)+D (!C (!B A)))")) + ) + (instance RA10_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C+(B+A)))")) + ) + (instance C1WR_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance XOR8MEG_3_u_0_a3_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D C+D (C+(!B+!A)))")) + ) + (instance UFMSDI_ens2_i_a0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !A+D (!C !A+C (B !A)))")) + ) + (instance un1_FS_13_i_a2_8 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRRAS_5_u_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C (!B A)+C !B))")) + ) + (instance un1_nRCAS_6_sqmuxa_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+A))+D (!C (!B+A)))")) + ) + (instance UFMSDI_en_ss0_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A))")) + ) + (instance nUFMCS15_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance Cmdn8MEGEN_4_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B+A)+C A)+D !B)")) + ) + (instance C1WR_0_a2_0_10 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance UFMCLK_r_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C B)+D A)")) + ) + (instance PHI2r3_RNITCN41 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !B+D (!C (!B+A)+C !B))")) + ) + (instance IS_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance nRCAS_0_sqmuxa_1_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRowColSel_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C B+C (B+A))+D (!C B+C (B+!A)))")) + ) + (instance Ready_0_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance XOR8MEG_3_u_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance nRRAS_5_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B !A)+C !A))")) + ) + (instance (rename IS_RNO_2 "IS_RNO[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (!B+!A))")) + ) + (instance un1_FS_14_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance UFMSDI_ens2_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C (!B A))")) + ) + (instance XOR8MEG_3_u_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance ADSubmitted_r (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B A)))")) + ) + (instance LED_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(!B+A))")) + ) + (instance InitReady3_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance UFMSDI_ens2_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+A))")) + ) + (instance Cmdn8MEGEN_4_u_i_a2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B !A))")) + ) + (instance CmdLEDEN_4_u_i_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A))")) + ) + (instance UFMCLK_r_i_a2_2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRowColSel_0_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance CmdEnable16_0_a2_4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)))")) + ) + (instance CmdEnable16_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance CmdEnable17_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A)))")) + ) + (instance RCKE_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C !B)+D (C+(B+A)))")) + ) + (instance (rename S_RNO_0 "S_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+!A)")) + ) + (instance Ready_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C+(!B+!A))")) + ) + (instance un1_nRCAS_6_sqmuxa_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+A))")) + ) + (instance Cmdn8MEGEN_4_u_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+!A))")) + ) + (instance RA11_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A+B !A)+C B)")) + ) + (instance nCCAS_pad_RNI01SJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance InitReady3_0_a2_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance un1_FS_13_i_a2_6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance un1_Din_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance UFMSDI_ens2_i_o2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(C+(B+A)))")) + ) + (instance C1WR_0_a2_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A))")) + ) + (instance C1WR_0_a2_0_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance C1WR_0_a2_0_11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance Ready_0_sqmuxa_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance UFMSDI_ens2_i_a2_4_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance un1_FS_13_i_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance un1_FS_14_i_a2_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance n8MEGEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B+A)+C (B A))")) + ) + (instance LEDEN_5_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B+A)+C (B A))")) + ) + (instance (rename un9_RA_8 "un9_RA[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_0 "un9_RA[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_1 "un9_RA[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_2 "un9_RA[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_3 "un9_RA[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_4 "un9_RA[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_5 "un9_RA[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_6 "un9_RA[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_7 "un9_RA[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_9 "un9_RA[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance InitReady3_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename S_0_i_o2_1 "S_0_i_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance IS_n1_0_x2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A+B !A)")) + ) + (instance CmdEnable16_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance CmdEnable16_0_a2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance CmdEnable17_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance RDQMH (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+A)")) + ) + (instance RDQML (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance RCKEEN_8_u_0_a2_1_s (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance RCKEEN_8_u_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C+B)+D (C (!B+!A)))")) + ) + (instance RCKEEN_8_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) + ) + (instance nRCS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !B+D (!C (!B A)+C !B))")) + ) + (instance nRWE_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+!A))+D (C+(B !A)))")) + ) + (instance nRWE_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance nRWE_RNO_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance nRWE_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (!B A))")) + ) + (instance nRCAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C !B)+D (!B A))")) + ) + (instance nRCAS_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A))+D (!C (!B !A)+C (B !A)))")) + ) + (instance nRCAS_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance UFMSDI_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A)+C !B)")) + ) + (instance UFMSDI_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B !A))+D (!C (!B A)+C !B))")) + ) + (instance UFMCLK_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C !B)+D (C (!B !A)))")) + ) + (instance nUFMCS_s_0_N_5_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(B+A))+D (!C B+C (B+!A)))")) + ) + (instance nUFMCS_s_0_N_5_i_N_2L1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B+A))")) + ) + (instance IS_0_sqmuxa_0_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(C+(!B+!A)))")) + ) + (instance CmdEnable17_0_a2_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (B !A)))")) + ) + (instance CmdSubmitted_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!B A)+D (!C (!B A)))")) + ) + (instance CmdLEDEN_4_u_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!B A)+D (!C (!B A)+C !B))")) + ) + (instance CmdUFMCLK_1_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A)))")) + ) + (instance nRRAS_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)+C !A)+D (C !A))")) + ) + (instance IS_0_sqmuxa_0_o2_0_RNIS63D (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B !A)")) + ) + (instance (rename IS_RNO_0 "IS_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A+B A)+C A)")) + ) + (instance un1_CMDWR (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C A)")) + ) + (instance UFMCLK_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+!A))+D (C+(!B A)))")) + ) + (instance (rename FS_cry_0_16 "FS_cry_0[16]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x5002")) + ) + (instance (rename FS_cry_0_14 "FS_cry_0[14]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_12 "FS_cry_0[12]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_10 "FS_cry_0[10]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_8 "FS_cry_0[8]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_6 "FS_cry_0[6]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_4 "FS_cry_0[4]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_2 "FS_cry_0[2]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (instance (rename FS_cry_0_0 "FS_cry_0[0]") (viewRef PRIM (cellRef CCU2 (libraryRef LUCENT))) + (property INIT0 (string "0x300a")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300a")) + ) + (net C1WR_0_a2 (joined + (portRef Z (instanceRef C1WR_0_a2)) + (portRef B (instanceRef ADSubmitted_r)) + )) + (net CBR (joined + (portRef Q (instanceRef CBR)) + (portRef A (instanceRef nRWE_RNO_0)) + (portRef A (instanceRef nRCS_RNO)) + (portRef A (instanceRef RCKEEN_8_u)) + (portRef B (instanceRef nRowColSel_0_0_a3_0)) + (portRef A (instanceRef LED_pad_RNO)) + )) + (net C1Submitted (joined + (portRef Q (instanceRef C1Submitted)) + (portRef D (instanceRef CmdEnable_s_am)) + (portRef B (instanceRef C1Submitted_RNO)) + )) + (net (rename Bank_2 "Bank[2]") (joined + (portRef Q (instanceRef Bank_2)) + (portRef A (instanceRef C1WR_0_a2_0_11)) + )) + (net Ready (joined + (portRef Q (instanceRef Ready)) + (portRef B (instanceRef IS_RNO_0)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef C (instanceRef nRWE_RNO_2)) + (portRef D (instanceRef RCKEEN_8_u)) + (portRef A (instanceRef RCKEEN_8_u_0_a2_1_s)) + (portRef D (instanceRef nRowColSel_0_0_a3_0)) + (portRef D (instanceRef nRRAS_5_u_i_0)) + (portRef C (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef C (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2)) + (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef C0 (instanceRef nRWE_RNO_1)) + (portRef A (instanceRef Ready_RNO)) + (portRef A (instanceRef RCKEEN_8_u_RNO)) + (portRef A (instanceRef nRowColSel_RNO)) + )) + (net n8MEGEN (joined + (portRef Q (instanceRef n8MEGEN)) + (portRef C (instanceRef RA11_2)) + (portRef C (instanceRef Cmdn8MEGEN_RNO)) + )) + (net CO0 (joined + (portRef Q (instanceRef S_0)) + (portRef D (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef B (instanceRef nRCAS_RNO_0)) + (portRef B (instanceRef nRWE_RNO_0)) + (portRef B (instanceRef RCKEEN_8_u_1_0)) + (portRef A (instanceRef S_0_i_o2_1)) + (portRef A (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef A (instanceRef S_RNO_0)) + (portRef A (instanceRef nRowColSel_0_0)) + (portRef B (instanceRef nRWE_RNO_4)) + (portRef B (instanceRef nRWE_RNO_3)) + (portRef C (instanceRef nRowColSel_RNO)) + (portRef B (instanceRef nRCS_RNO_0)) + )) + (net (rename S_1 "S[1]") (joined + (portRef Q (instanceRef S_1)) + (portRef C (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef nRCAS_RNO)) + (portRef C (instanceRef nRWE_RNO_0)) + (portRef D (instanceRef RCKEEN_8_u_1_0)) + (portRef B (instanceRef RCKEEN_8_u_0_a2_1_s)) + (portRef B (instanceRef S_0_i_o2_1)) + (portRef D (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef S_RNO_0)) + (portRef D (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef A (instanceRef nRWE_RNO_4)) + (portRef A (instanceRef nRWE_RNO_3)) + (portRef B (instanceRef nRowColSel_RNO)) + )) + (net RASr2 (joined + (portRef Q (instanceRef RASr2)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef D (instanceRef nRWE_RNO_5)) + (portRef C (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef RCKE_2_0)) + (portRef B (instanceRef nRRAS_5_u_i_0)) + (portRef C (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef D (instanceRef RASr3)) + (portRef D (instanceRef nRWE_RNO_3)) + (portRef B (instanceRef RCKEEN_8_u_RNO)) + (portRef A (instanceRef RASr2_RNIAFR1)) + )) + (net InitReady (joined + (portRef Q (instanceRef InitReady)) + (portRef A (instanceRef UFMCLK_RNO_0)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef B (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + (portRef B (instanceRef LEDEN_5_i_m2)) + (portRef B (instanceRef n8MEGEN_5_i_m2)) + (portRef B (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef B (instanceRef un1_FS_14_i_a2)) + (portRef A (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef B (instanceRef PHI2r3_RNITCN41)) + (portRef C (instanceRef nUFMCS15_0_a2)) + (portRef B (instanceRef UFMSDI_en_ss0_0_a2_0)) + (portRef A (instanceRef UFMSDI_ens2_i_a0)) + (portRef B (instanceRef InitReady_RNO)) + (portRef D (instanceRef nRWE_RNO_4)) + (portRef D (instanceRef Ready_RNO)) + (portRef C (instanceRef RCKEEN_8_u_RNO)) + )) + (net FWEr (joined + (portRef Q (instanceRef FWEr)) + (portRef C (instanceRef nRCAS_RNO_0)) + (portRef A (instanceRef nRWE_RNO)) + (portRef C (instanceRef nRowColSel_0_0_a3_0)) + )) + (net CASr3 (joined + (portRef Q (instanceRef CASr3)) + (portRef B (instanceRef nRCAS_RNO_1)) + (portRef B (instanceRef nRWE_RNO_2)) + (portRef A (instanceRef nRowColSel_0_0_a3_0)) + (portRef C (instanceRef nRCS_RNO_0)) + )) + (net (rename IS_0 "IS[0]") (joined + (portRef Q (instanceRef IS_0)) + (portRef A (instanceRef IS_RNO_0)) + (portRef D (instanceRef nRRAS_RNO)) + (portRef A (instanceRef nRWE_RNO_5)) + (portRef A (instanceRef IS_n1_0_x2)) + (portRef A (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef A (instanceRef IS_RNO_2)) + (portRef A (instanceRef nRRAS_5_u_i)) + (portRef D (instanceRef IS_RNO_3)) + (portRef A (instanceRef IS_i_0)) + )) + (net (rename IS_3 "IS[3]") (joined + (portRef Q (instanceRef IS_3)) + (portRef B (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef C (instanceRef RA10_RNO)) + (portRef A (instanceRef IS_RNO_3)) + )) + (net (rename IS_1 "IS[1]") (joined + (portRef Q (instanceRef IS_1)) + (portRef B (instanceRef nRWE_RNO_5)) + (portRef B (instanceRef IS_n1_0_x2)) + (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef B (instanceRef IS_RNO_2)) + (portRef A (instanceRef RA10_RNO)) + (portRef C (instanceRef IS_RNO_3)) + )) + (net (rename IS_2 "IS[2]") (joined + (portRef Q (instanceRef IS_2)) + (portRef C (instanceRef nRWE_RNO_5)) + (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef C (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef C (instanceRef IS_RNO_2)) + (portRef B (instanceRef RA10_RNO)) + (portRef B (instanceRef IS_RNO_3)) + )) + (net (rename FS_5 "FS[5]") (joined + (portRef Q (instanceRef FS_5)) + (portRef A1 (instanceRef FS_cry_0_4)) + (portRef D (instanceRef un1_FS_14_i_a2_0_1)) + (portRef D (instanceRef un1_FS_13_i_a2_1)) + (portRef A (instanceRef UFMSDI_ens2_i_o2)) + )) + (net (rename FS_6 "FS[6]") (joined + (portRef Q (instanceRef FS_6)) + (portRef A0 (instanceRef FS_cry_0_6)) + (portRef A (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef B (instanceRef un1_FS_13_i_a2_6)) + )) + (net (rename FS_7 "FS[7]") (joined + (portRef Q (instanceRef FS_7)) + (portRef A1 (instanceRef FS_cry_0_6)) + (portRef C (instanceRef un1_FS_13_i_a2_6)) + (portRef B (instanceRef UFMSDI_ens2_i_o2)) + )) + (net (rename FS_8 "FS[8]") (joined + (portRef Q (instanceRef FS_8)) + (portRef A0 (instanceRef FS_cry_0_8)) + (portRef B (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef A (instanceRef UFMSDI_en_ss0_0_a2_0)) + )) + (net (rename FS_9 "FS[9]") (joined + (portRef Q (instanceRef FS_9)) + (portRef A1 (instanceRef FS_cry_0_8)) + (portRef C (instanceRef UFMSDI_ens2_i_o2)) + (portRef B (instanceRef un1_FS_13_i_a2_8)) + )) + (net (rename FS_0 "FS[0]") (joined + (portRef Q (instanceRef FS_0)) + (portRef A0 (instanceRef FS_cry_0_0)) + (portRef A (instanceRef un1_FS_14_i_a2_0_1)) + (portRef A (instanceRef un1_FS_13_i_a2_1)) + )) + (net (rename FS_1 "FS[1]") (joined + (portRef Q (instanceRef FS_1)) + (portRef A1 (instanceRef FS_cry_0_0)) + (portRef A (instanceRef un1_FS_13_i_a2_6)) + (portRef A (instanceRef UFMCLK_r_i_m2)) + )) + (net (rename FS_2 "FS[2]") (joined + (portRef Q (instanceRef FS_2)) + (portRef A0 (instanceRef FS_cry_0_2)) + (portRef B (instanceRef un1_FS_14_i_a2_0_1)) + (portRef B (instanceRef un1_FS_13_i_a2_1)) + )) + (net (rename FS_3 "FS[3]") (joined + (portRef Q (instanceRef FS_3)) + (portRef A1 (instanceRef FS_cry_0_2)) + (portRef C (instanceRef un1_FS_14_i_a2_0_1)) + (portRef C (instanceRef un1_FS_13_i_a2_1)) + )) + (net (rename FS_10 "FS[10]") (joined + (portRef Q (instanceRef FS_10)) + (portRef A0 (instanceRef FS_cry_0_10)) + (portRef C (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef D (instanceRef un1_FS_13_i_a2_6)) + (portRef A (instanceRef InitReady3_0_a2)) + (portRef A (instanceRef nUFMCS15_0_a2)) + )) + (net (rename FS_11 "FS[11]") (joined + (portRef Q (instanceRef FS_11)) + (portRef A1 (instanceRef FS_cry_0_10)) + (portRef A (instanceRef InitReady3_0_a2_3)) + (portRef D (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef C (instanceRef UFMCLK_r_i_m2)) + (portRef B (instanceRef nUFMCS15_0_a2)) + (portRef C (instanceRef un1_FS_13_i_a2_8)) + )) + (net (rename FS_12 "FS[12]") (joined + (portRef Q (instanceRef FS_12)) + (portRef A0 (instanceRef FS_cry_0_12)) + (portRef A (instanceRef InitReady3_0_a2_5)) + (portRef A (instanceRef UFMSDI_ens2_i_o2_0)) + )) + (net (rename FS_13 "FS[13]") (joined + (portRef Q (instanceRef FS_13)) + (portRef A1 (instanceRef FS_cry_0_12)) + (portRef A (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef B (instanceRef InitReady3_0_a2_5)) + )) + (net (rename FS_14 "FS[14]") (joined + (portRef Q (instanceRef FS_14)) + (portRef A0 (instanceRef FS_cry_0_14)) + (portRef B (instanceRef InitReady3_0_a2_3)) + (portRef B (instanceRef UFMSDI_ens2_i_o2_0_3)) + )) + (net (rename FS_15 "FS[15]") (joined + (portRef Q (instanceRef FS_15)) + (portRef A1 (instanceRef FS_cry_0_14)) + (portRef C (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef C (instanceRef InitReady3_0_a2_5)) + )) + (net (rename FS_16 "FS[16]") (joined + (portRef Q (instanceRef FS_16)) + (portRef A0 (instanceRef FS_cry_0_16)) + (portRef A (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef B (instanceRef UFMSDI_ens2_i_o2_0)) + (portRef B (instanceRef InitReady3_0_a2)) + )) + (net (rename FS_17 "FS[17]") (joined + (portRef Q (instanceRef FS_17)) + (portRef A1 (instanceRef FS_cry_0_16)) + (portRef D (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef D (instanceRef InitReady3_0_a2_5)) + )) + (net PHI2r2 (joined + (portRef Q (instanceRef PHI2r2)) + (portRef C (instanceRef un1_FS_14_i_a2)) + (portRef C (instanceRef PHI2r3_RNITCN41)) + (portRef D (instanceRef PHI2r3)) + )) + (net CmdUFMCS (joined + (portRef Q (instanceRef CmdUFMCS)) + (portRef A (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + )) + (net CASr2 (joined + (portRef Q (instanceRef CASr2)) + (portRef A (instanceRef nRCAS_RNO_1)) + (portRef A (instanceRef nRWE_RNO_2)) + (portRef A (instanceRef RCKEEN_8_u_1_0)) + (portRef D (instanceRef CASr3)) + (portRef D (instanceRef nRCS_RNO_0)) + )) + (net CASr (joined + (portRef Q (instanceRef CASr)) + (portRef D (instanceRef CASr2)) + )) + (net PHI2r (joined + (portRef Q (instanceRef PHI2r)) + (portRef D (instanceRef PHI2r2)) + )) + (net RASr (joined + (portRef Q (instanceRef RASr)) + (portRef A (instanceRef RCKE_2_0)) + (portRef D (instanceRef RASr2)) + )) + (net (rename Bank_0 "Bank[0]") (joined + (portRef Q (instanceRef Bank_0)) + (portRef A (instanceRef C1WR_0_a2_0)) + )) + (net (rename Bank_1 "Bank[1]") (joined + (portRef Q (instanceRef Bank_1)) + (portRef B (instanceRef C1WR_0_a2_0)) + )) + (net (rename Bank_3 "Bank[3]") (joined + (portRef Q (instanceRef Bank_3)) + (portRef A (instanceRef C1WR_0_a2_0_10)) + )) + (net (rename Bank_4 "Bank[4]") (joined + (portRef Q (instanceRef Bank_4)) + (portRef B (instanceRef C1WR_0_a2_0_10)) + )) + (net (rename Bank_5 "Bank[5]") (joined + (portRef Q (instanceRef Bank_5)) + (portRef B (instanceRef C1WR_0_a2_0_11)) + )) + (net (rename Bank_6 "Bank[6]") (joined + (portRef Q (instanceRef Bank_6)) + (portRef C (instanceRef C1WR_0_a2_0_11)) + )) + (net (rename Bank_7 "Bank[7]") (joined + (portRef Q (instanceRef Bank_7)) + (portRef D (instanceRef C1WR_0_a2_0_11)) + )) + (net (rename RowA_0 "RowA[0]") (joined + (portRef Q (instanceRef RowA_0)) + (portRef B (instanceRef un9_RA_0)) + )) + (net (rename RowA_1 "RowA[1]") (joined + (portRef Q (instanceRef RowA_1)) + (portRef B (instanceRef un9_RA_1)) + )) + (net (rename RowA_2 "RowA[2]") (joined + (portRef Q (instanceRef RowA_2)) + (portRef B (instanceRef un9_RA_2)) + )) + (net (rename RowA_3 "RowA[3]") (joined + (portRef Q (instanceRef RowA_3)) + (portRef B (instanceRef un9_RA_3)) + )) + (net (rename RowA_4 "RowA[4]") (joined + (portRef Q (instanceRef RowA_4)) + (portRef B (instanceRef un9_RA_4)) + )) + (net (rename RowA_5 "RowA[5]") (joined + (portRef Q (instanceRef RowA_5)) + (portRef B (instanceRef un9_RA_5)) + )) + (net (rename RowA_6 "RowA[6]") (joined + (portRef Q (instanceRef RowA_6)) + (portRef B (instanceRef un9_RA_6)) + )) + (net (rename RowA_7 "RowA[7]") (joined + (portRef Q (instanceRef RowA_7)) + (portRef B (instanceRef un9_RA_7)) + )) + (net (rename RowA_8 "RowA[8]") (joined + (portRef Q (instanceRef RowA_8)) + (portRef B (instanceRef un9_RA_8)) + )) + (net (rename RowA_9 "RowA[9]") (joined + (portRef Q (instanceRef RowA_9)) + (portRef B (instanceRef un9_RA_9)) + )) + (net (rename WRD_0 "WRD[0]") (joined + (portRef Q (instanceRef WRD_0)) + (portRef I (instanceRef RD_pad_0)) + )) + (net (rename WRD_1 "WRD[1]") (joined + (portRef Q (instanceRef WRD_1)) + (portRef I (instanceRef RD_pad_1)) + )) + (net (rename WRD_2 "WRD[2]") (joined + (portRef Q (instanceRef WRD_2)) + (portRef I (instanceRef RD_pad_2)) + )) + (net (rename WRD_3 "WRD[3]") (joined + (portRef Q (instanceRef WRD_3)) + (portRef I (instanceRef RD_pad_3)) + )) + (net (rename WRD_4 "WRD[4]") (joined + (portRef Q (instanceRef WRD_4)) + (portRef I (instanceRef RD_pad_4)) + )) + (net (rename WRD_5 "WRD[5]") (joined + (portRef Q (instanceRef WRD_5)) + (portRef I (instanceRef RD_pad_5)) + )) + (net (rename WRD_6 "WRD[6]") (joined + (portRef Q (instanceRef WRD_6)) + (portRef I (instanceRef RD_pad_6)) + )) + (net (rename WRD_7 "WRD[7]") (joined + (portRef Q (instanceRef WRD_7)) + (portRef I (instanceRef RD_pad_7)) + )) + (net nRowColSel (joined + (portRef Q (instanceRef nRowColSel)) + (portRef B (instanceRef RDQML)) + (portRef B (instanceRef RDQMH)) + (portRef C (instanceRef un9_RA_9)) + (portRef C (instanceRef un9_RA_7)) + (portRef C (instanceRef un9_RA_6)) + (portRef C (instanceRef un9_RA_5)) + (portRef C (instanceRef un9_RA_4)) + (portRef C (instanceRef un9_RA_3)) + (portRef C (instanceRef un9_RA_2)) + (portRef C (instanceRef un9_RA_1)) + (portRef C (instanceRef un9_RA_0)) + (portRef C (instanceRef un9_RA_8)) + )) + (net RASr3 (joined + (portRef Q (instanceRef RASr3)) + (portRef C (instanceRef RCKE_2_0)) + )) + (net LEDEN (joined + (portRef Q (instanceRef LEDEN)) + (portRef B (instanceRef LED_pad_RNO)) + (portRef B (instanceRef XOR8MEG_3_u_0_a3_3)) + (portRef A (instanceRef CmdLEDEN_RNO)) + )) + (net CmdLEDEN (joined + (portRef Q (instanceRef CmdLEDEN)) + (portRef B (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef A (instanceRef LEDEN_5_i_m2)) + )) + (net Cmdn8MEGEN (joined + (portRef Q (instanceRef Cmdn8MEGEN)) + (portRef A (instanceRef n8MEGEN_5_i_m2)) + (portRef B (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net PHI2r3 (joined + (portRef Q (instanceRef PHI2r3)) + (portRef D (instanceRef un1_FS_14_i_a2)) + (portRef D (instanceRef PHI2r3_RNITCN41)) + )) + (net CmdSubmitted (joined + (portRef Q (instanceRef CmdSubmitted)) + (portRef A (instanceRef un1_FS_14_i_a2)) + (portRef A (instanceRef PHI2r3_RNITCN41)) + (portRef B (instanceRef CmdSubmitted_RNO)) + )) + (net (rename FS_4 "FS[4]") (joined + (portRef Q (instanceRef FS_4)) + (portRef A0 (instanceRef FS_cry_0_4)) + (portRef B (instanceRef UFMCLK_r_i_m2)) + (portRef A (instanceRef un1_FS_13_i_a2_8)) + )) + (net InitReady3 (joined + (portRef Z (instanceRef InitReady3_0_a2)) + (portRef A (instanceRef InitReady_RNO)) + )) + (net RCKEEN (joined + (portRef Q (instanceRef RCKEEN)) + (portRef D (instanceRef RCKE_2_0)) + )) + (net RA11_2 (joined + (portRef Z (instanceRef RA11_2)) + (portRef D (instanceRef RA11)) + )) + (net XOR8MEG (joined + (portRef Q (instanceRef XOR8MEG)) + (portRef B (instanceRef RA11_2)) + (portRef A (instanceRef XOR8MEG_3_u_0_a3_0)) + )) + (net nRRAS_0_sqmuxa (joined + (portRef Z (instanceRef nRowColSel_RNO)) + (portRef CD (instanceRef nRowColSel)) + )) + (net nUFMCS15 (joined + (portRef Z (instanceRef nUFMCS15_0_a2)) + (portRef B (instanceRef nUFMCS_s_0_N_5_i)) + (portRef B (instanceRef UFMCLK_RNO)) + (portRef B (instanceRef UFMSDI_RNO)) + )) + (net Ready_0_sqmuxa (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef A (instanceRef Ready_fast_RNO)) + )) + (net RCKE_2 (joined + (portRef Z (instanceRef RCKE_2_0)) + (portRef D (instanceRef RCKE)) + )) + (net nRCAS_0_sqmuxa_1 (joined + (portRef Z (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef B (instanceRef nRCAS_RNO)) + (portRef C (instanceRef nRWE_RNO)) + )) + (net XOR8MEG18 (joined + (portRef Z (instanceRef XOR8MEG18_0_a2)) + (portRef A (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef SP (instanceRef CmdLEDEN)) + (portRef SP (instanceRef Cmdn8MEGEN)) + (portRef SP (instanceRef XOR8MEG)) + )) + (net CmdEnable (joined + (portRef Q (instanceRef CmdEnable)) + (portRef A (instanceRef XOR8MEG18_0_a2)) + (portRef B (instanceRef CmdEnable_s_am)) + (portRef A (instanceRef CmdEnable_s_bm)) + )) + (net CmdEnable16 (joined + (portRef Z (instanceRef CmdEnable16_0_a2)) + (portRef D (instanceRef ADSubmitted_r)) + (portRef C0 (instanceRef CmdEnable_s)) + (portRef A (instanceRef C1Submitted_RNO)) + )) + (net CmdEnable17 (joined + (portRef Z (instanceRef CmdEnable17_0_a2)) + (portRef C (instanceRef ADSubmitted_r)) + (portRef A (instanceRef CmdEnable_s_am)) + )) + (net CmdSubmitted_1_sqmuxa (joined + (portRef Z (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdSubmitted_RNO)) + )) + (net CmdUFMCLK_1_sqmuxa (joined + (portRef Z (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef SP (instanceRef CmdUFMCLK)) + (portRef SP (instanceRef CmdUFMCS)) + (portRef SP (instanceRef CmdUFMSDI)) + )) + (net CmdUFMCLK (joined + (portRef Q (instanceRef CmdUFMCLK)) + (portRef B (instanceRef UFMCLK_RNO_0)) + )) + (net CmdUFMSDI (joined + (portRef Q (instanceRef CmdUFMSDI)) + (portRef A (instanceRef UFMSDI_RNO_0)) + )) + (net ADSubmitted (joined + (portRef Q (instanceRef ADSubmitted)) + (portRef A (instanceRef ADSubmitted_r)) + (portRef B (instanceRef CmdEnable_s_bm)) + )) + (net C1Submitted_RNO (joined + (portRef Z (instanceRef C1Submitted_RNO)) + (portRef D (instanceRef C1Submitted)) + )) + (net ADSubmitted_r (joined + (portRef Z (instanceRef ADSubmitted_r)) + (portRef D (instanceRef ADSubmitted)) + )) + (net UFMSDI_RNO (joined + (portRef Z (instanceRef UFMSDI_RNO)) + (portRef D (instanceRef UFMSDI)) + )) + (net CmdEnable_s (joined + (portRef Z (instanceRef CmdEnable_s)) + (portRef D (instanceRef CmdEnable)) + )) + (net nRowColSel_0_0 (joined + (portRef Z (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef nRowColSel)) + )) + (net RCKEEN_8 (joined + (portRef Z (instanceRef RCKEEN_8_u)) + (portRef D (instanceRef RCKEEN)) + )) + (net N_31 (joined + (portRef Z (instanceRef un1_FS_14_i_0)) + (portRef SP (instanceRef n8MEGEN)) + )) + (net N_33 (joined + (portRef Z (instanceRef un1_FS_13_i_0)) + (portRef SP (instanceRef LEDEN)) + )) + (net N_24 (joined + (portRef Z (instanceRef nRRAS_5_u_i)) + (portRef B (instanceRef nRCS_RNO)) + )) + (net N_41 (joined + (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef A (instanceRef nRCAS_RNO)) + )) + (net (rename S_0_i_o2_1 "S_0_i_o2[1]") (joined + (portRef Z (instanceRef S_0_i_o2_1)) + (portRef A (instanceRef nRRAS_5_u_i_0)) + (portRef B (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef D (instanceRef S_1)) + (portRef D (instanceRef RCKEEN_8_u_RNO)) + )) + (net N_159 (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2)) + (portRef D (instanceRef RA10_RNO)) + )) + (net N_165 (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef C (instanceRef Ready_RNO)) + )) + (net N_95_5 (joined + (portRef Z (instanceRef InitReady3_0_a2_5)) + (portRef D (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef D (instanceRef InitReady3_0_a2)) + )) + (net N_95_3 (joined + (portRef Z (instanceRef InitReady3_0_a2_3)) + (portRef C (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef C (instanceRef InitReady3_0_a2)) + )) + (net N_51 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_o2_0)) + (portRef D (instanceRef UFMCLK_r_i_m2)) + (portRef D (instanceRef nUFMCS15_0_a2)) + (portRef C (instanceRef UFMSDI_en_ss0_0_a2_0)) + (portRef B (instanceRef UFMSDI_ens2_i_a0)) + )) + (net N_126 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_o2)) + (portRef C (instanceRef UFMSDI_ens2_i_a0)) + )) + (net N_151 (joined + (portRef Z (instanceRef UFMSDI_en_ss0_0_a2_0)) + (portRef C (instanceRef UFMSDI_RNO_0)) + (portRef D (instanceRef un1_FS_13_i_a2_8)) + )) + (net N_137_8 (joined + (portRef Z (instanceRef un1_FS_13_i_a2_8)) + (portRef C (instanceRef un1_FS_13_i_0)) + (portRef C (instanceRef un1_FS_14_i_0)) + )) + (net N_129 (joined + (portRef Z (instanceRef UFMCLK_r_i_m2)) + (portRef D (instanceRef UFMCLK_RNO_0)) + )) + (net N_155 (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef IS_RNO_0)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef C (instanceRef nRRAS_RNO)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2)) + (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef B (instanceRef nRRAS_5_u_i)) + )) + (net N_56_i (joined + (portRef Z (instanceRef IS_n1_0_x2)) + (portRef D (instanceRef IS_1)) + )) + (net N_160 (joined + (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef nRRAS_RNO)) + (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef C (instanceRef nRRAS_5_u_i)) + )) + (net N_136 (joined + (portRef Z (instanceRef un1_FS_14_i_a2)) + (portRef A (instanceRef un1_FS_13_i_0)) + (portRef A (instanceRef un1_FS_14_i_0)) + )) + (net N_69 (joined + (portRef Z (instanceRef n8MEGEN_5_i_m2)) + (portRef D (instanceRef n8MEGEN)) + )) + (net N_70 (joined + (portRef Z (instanceRef LEDEN_5_i_m2)) + (portRef D (instanceRef LEDEN)) + )) + (net N_137_6 (joined + (portRef Z (instanceRef un1_FS_13_i_a2_6)) + (portRef B (instanceRef un1_FS_13_i_0)) + (portRef B (instanceRef un1_FS_14_i_0)) + )) + (net XOR8MEG_3 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_a3_3)) + (portRef D (instanceRef XOR8MEG)) + )) + (net CmdEnable16_1 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_1)) + (portRef A (instanceRef CmdEnable16_0_a2_5)) + )) + (net N_43 (joined + (portRef Z (instanceRef CmdEnable17_0_o2)) + (portRef D (instanceRef CmdEnable17_0_a2_4)) + (portRef C (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net N_147 (joined + (portRef Z (instanceRef C1WR_0_a2_0)) + (portRef A (instanceRef un1_CMDWR)) + (portRef C (instanceRef CmdEnable16_0_a2)) + (portRef B (instanceRef C1WR_0_a2)) + (portRef D (instanceRef XOR8MEG18_0_a2)) + (portRef D (instanceRef CmdEnable17_0_a2)) + (portRef C (instanceRef C1Submitted_RNO)) + )) + (net CmdEnable16_4 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_4)) + (portRef A (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net un1_Din_4 (joined + (portRef Z (instanceRef un1_Din_4)) + (portRef B (instanceRef XOR8MEG_3_u_0_a3_0)) + (portRef D (instanceRef XOR8MEG_3_u_0_a3_2)) + )) + (net N_171 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_a3_0)) + (portRef C (instanceRef XOR8MEG_3_u_0_a3_3)) + )) + (net N_128 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef B (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef B (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef C (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef C (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef D (instanceRef Cmdn8MEGEN_4_u_i_0)) + )) + (net N_152 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef D (instanceRef CmdLEDEN_RNO)) + (portRef B (instanceRef Cmdn8MEGEN_RNO)) + )) + (net N_132 (joined + (portRef Z (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef B (instanceRef CmdLEDEN_RNO)) + )) + (net N_133 (joined + (portRef Z (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef C (instanceRef CmdLEDEN_RNO)) + )) + (net un1_CMDWR (joined + (portRef Z (instanceRef un1_CMDWR)) + (portRef C (instanceRef CmdEnable_s_am)) + )) + (net N_179 (joined + (portRef Z (instanceRef nRowColSel_0_0_a3_0)) + (portRef B (instanceRef nRowColSel_0_0)) + )) + (net XOR8MEG_3_u_0_a3_2 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef XOR8MEG_3_u_0_a3_3)) + )) + (net UFMCLK_r_i_a2_2_2 (joined + (portRef Z (instanceRef UFMCLK_r_i_a2_2_2)) + (portRef C (instanceRef UFMCLK_RNO_0)) + (portRef C (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + )) + (net UFMCLK_RNO (joined + (portRef Z (instanceRef UFMCLK_RNO)) + (portRef D (instanceRef UFMCLK)) + )) + (net UFMSDI_ens2_i_a0 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_a0)) + (portRef B (instanceRef UFMSDI_RNO_0)) + )) + (net RCKEEN_8_u_0_0 (joined + (portRef Z (instanceRef RCKEEN_8_u_RNO)) + (portRef B (instanceRef RCKEEN_8_u)) + )) + (net RCKEEN_8_u_0_a2_1_out (joined + (portRef Z (instanceRef RCKEEN_8_u_0_a2_1_s)) + (portRef D (instanceRef nRCS_RNO)) + )) + (net nCRAS_c_i (joined + (portRef Z (instanceRef nCRAS_pad_RNIBPVB)) + (portRef CK (instanceRef CBR)) + (portRef CK (instanceRef CBR_fast)) + (portRef CK (instanceRef FWEr)) + (portRef CK (instanceRef FWEr_fast)) + (portRef CK (instanceRef RBA_1)) + (portRef CK (instanceRef RBA_0)) + (portRef CK (instanceRef RowA_9)) + (portRef CK (instanceRef RowA_8)) + (portRef CK (instanceRef RowA_7)) + (portRef CK (instanceRef RowA_6)) + (portRef CK (instanceRef RowA_5)) + (portRef CK (instanceRef RowA_4)) + (portRef CK (instanceRef RowA_3)) + (portRef CK (instanceRef RowA_2)) + (portRef CK (instanceRef RowA_1)) + (portRef CK (instanceRef RowA_0)) + )) + (net N_159_i (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef SP (instanceRef IS_3)) + (portRef SP (instanceRef IS_2)) + (portRef SP (instanceRef IS_1)) + )) + (net RD_1_i (joined + (portRef Z (instanceRef nCCAS_pad_RNI01SJ)) + (portRef T (instanceRef RD_pad_0)) + (portRef T (instanceRef RD_pad_1)) + (portRef T (instanceRef RD_pad_2)) + (portRef T (instanceRef RD_pad_3)) + (portRef T (instanceRef RD_pad_4)) + (portRef T (instanceRef RD_pad_5)) + (portRef T (instanceRef RD_pad_6)) + (portRef T (instanceRef RD_pad_7)) + )) + (net N_28_i (joined + (portRef Z (instanceRef nRCS_RNO)) + (portRef D (instanceRef nRCS)) + )) + (net N_37_i (joined + (portRef Z (instanceRef nRCAS_RNO)) + (portRef D (instanceRef nRCAS)) + )) + (net N_24_i (joined + (portRef Z (instanceRef nRRAS_RNO)) + (portRef D (instanceRef nRRAS)) + )) + (net nUFMCS_s_0_N_5_i (joined + (portRef Z (instanceRef nUFMCS_s_0_N_5_i)) + (portRef D (instanceRef nUFMCS)) + )) + (net N_39_i (joined + (portRef Z (instanceRef nRWE_RNO)) + (portRef D (instanceRef nRWE)) + )) + (net N_64_i_i (joined + (portRef Z (instanceRef IS_RNO_0)) + (portRef D (instanceRef IS_0)) + )) + (net N_61_i_i (joined + (portRef Z (instanceRef IS_RNO_3)) + (portRef D (instanceRef IS_3)) + )) + (net N_60_i_i (joined + (portRef Z (instanceRef IS_RNO_2)) + (portRef D (instanceRef IS_2)) + )) + (net N_177_i (joined + (portRef Z (instanceRef S_RNO_0)) + (portRef D (instanceRef S_0)) + )) + (net N_21_i (joined + (portRef Z (instanceRef CmdLEDEN_RNO)) + (portRef D (instanceRef CmdLEDEN)) + )) + (net N_19_i (joined + (portRef Z (instanceRef Cmdn8MEGEN_RNO)) + (portRef D (instanceRef Cmdn8MEGEN)) + )) + (net N_139_i (joined + (portRef Z (instanceRef PHI2r3_RNITCN41)) + (portRef A (instanceRef nUFMCS_s_0_N_5_i)) + (portRef A (instanceRef UFMCLK_RNO)) + (portRef A (instanceRef UFMSDI_RNO)) + )) + (net (rename FS_cry_0 "FS_cry[0]") (joined + (portRef COUT0 (instanceRef FS_cry_0_0)) + )) + (net (rename FS_s_0 "FS_s[0]") (joined + (portRef S0 (instanceRef FS_cry_0_0)) + (portRef D (instanceRef FS_0)) + )) + (net (rename FS_cry_1 "FS_cry[1]") (joined + (portRef COUT1 (instanceRef FS_cry_0_0)) + (portRef CIN (instanceRef FS_cry_0_2)) + )) + (net (rename FS_s_1 "FS_s[1]") (joined + (portRef S1 (instanceRef FS_cry_0_0)) + (portRef D (instanceRef FS_1)) + )) + (net (rename FS_cry_2 "FS_cry[2]") (joined + (portRef COUT0 (instanceRef FS_cry_0_2)) + )) + (net (rename FS_s_2 "FS_s[2]") (joined + (portRef S0 (instanceRef FS_cry_0_2)) + (portRef D (instanceRef FS_2)) + )) + (net (rename FS_cry_3 "FS_cry[3]") (joined + (portRef COUT1 (instanceRef FS_cry_0_2)) + (portRef CIN (instanceRef FS_cry_0_4)) + )) + (net (rename FS_s_3 "FS_s[3]") (joined + (portRef S1 (instanceRef FS_cry_0_2)) + (portRef D (instanceRef FS_3)) + )) + (net (rename FS_cry_4 "FS_cry[4]") (joined + (portRef COUT0 (instanceRef FS_cry_0_4)) + )) + (net (rename FS_s_4 "FS_s[4]") (joined + (portRef S0 (instanceRef FS_cry_0_4)) + (portRef D (instanceRef FS_4)) + )) + (net (rename FS_cry_5 "FS_cry[5]") (joined + (portRef COUT1 (instanceRef FS_cry_0_4)) + (portRef CIN (instanceRef FS_cry_0_6)) + )) + (net (rename FS_s_5 "FS_s[5]") (joined + (portRef S1 (instanceRef FS_cry_0_4)) + (portRef D (instanceRef FS_5)) + )) + (net (rename FS_cry_6 "FS_cry[6]") (joined + (portRef COUT0 (instanceRef FS_cry_0_6)) + )) + (net (rename FS_s_6 "FS_s[6]") (joined + (portRef S0 (instanceRef FS_cry_0_6)) + (portRef D (instanceRef FS_6)) + )) + (net (rename FS_cry_7 "FS_cry[7]") (joined + (portRef COUT1 (instanceRef FS_cry_0_6)) + (portRef CIN (instanceRef FS_cry_0_8)) + )) + (net (rename FS_s_7 "FS_s[7]") (joined + (portRef S1 (instanceRef FS_cry_0_6)) + (portRef D (instanceRef FS_7)) + )) + (net (rename FS_cry_8 "FS_cry[8]") (joined + (portRef COUT0 (instanceRef FS_cry_0_8)) + )) + (net (rename FS_s_8 "FS_s[8]") (joined + (portRef S0 (instanceRef FS_cry_0_8)) + (portRef D (instanceRef FS_8)) + )) + (net (rename FS_cry_9 "FS_cry[9]") (joined + (portRef COUT1 (instanceRef FS_cry_0_8)) + (portRef CIN (instanceRef FS_cry_0_10)) + )) + (net (rename FS_s_9 "FS_s[9]") (joined + (portRef S1 (instanceRef FS_cry_0_8)) + (portRef D (instanceRef FS_9)) + )) + (net (rename FS_cry_10 "FS_cry[10]") (joined + (portRef COUT0 (instanceRef FS_cry_0_10)) + )) + (net (rename FS_s_10 "FS_s[10]") (joined + (portRef S0 (instanceRef FS_cry_0_10)) + (portRef D (instanceRef FS_10)) + )) + (net (rename FS_cry_11 "FS_cry[11]") (joined + (portRef COUT1 (instanceRef FS_cry_0_10)) + (portRef CIN (instanceRef FS_cry_0_12)) + )) + (net (rename FS_s_11 "FS_s[11]") (joined + (portRef S1 (instanceRef FS_cry_0_10)) + (portRef D (instanceRef FS_11)) + )) + (net (rename FS_cry_12 "FS_cry[12]") (joined + (portRef COUT0 (instanceRef FS_cry_0_12)) + )) + (net (rename FS_s_12 "FS_s[12]") (joined + (portRef S0 (instanceRef FS_cry_0_12)) + (portRef D (instanceRef FS_12)) + )) + (net (rename FS_cry_13 "FS_cry[13]") (joined + (portRef COUT1 (instanceRef FS_cry_0_12)) + (portRef CIN (instanceRef FS_cry_0_14)) + )) + (net (rename FS_s_13 "FS_s[13]") (joined + (portRef S1 (instanceRef FS_cry_0_12)) + (portRef D (instanceRef FS_13)) + )) + (net (rename FS_cry_14 "FS_cry[14]") (joined + (portRef COUT0 (instanceRef FS_cry_0_14)) + )) + (net (rename FS_s_14 "FS_s[14]") (joined + (portRef S0 (instanceRef FS_cry_0_14)) + (portRef D (instanceRef FS_14)) + )) + (net (rename FS_cry_15 "FS_cry[15]") (joined + (portRef COUT1 (instanceRef FS_cry_0_14)) + (portRef CIN (instanceRef FS_cry_0_16)) + )) + (net (rename FS_s_15 "FS_s[15]") (joined + (portRef S1 (instanceRef FS_cry_0_14)) + (portRef D (instanceRef FS_15)) + )) + (net (rename FS_cry_16 "FS_cry[16]") (joined + (portRef COUT0 (instanceRef FS_cry_0_16)) + )) + (net (rename FS_s_16 "FS_s[16]") (joined + (portRef S0 (instanceRef FS_cry_0_16)) + (portRef D (instanceRef FS_16)) + )) + (net (rename FS_s_17 "FS_s[17]") (joined + (portRef S1 (instanceRef FS_cry_0_16)) + (portRef D (instanceRef FS_17)) + )) + (net RA10s_i (joined + (portRef Z (instanceRef RA10_RNO)) + (portRef PD (instanceRef RA10)) + )) + (net Cmdn8MEGEN_4_u_i_0 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_0)) + (portRef A (instanceRef Cmdn8MEGEN_RNO)) + )) + (net UFMSDI_ens2_i_o2_0_3 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_o2_0_3)) + (portRef C (instanceRef UFMSDI_ens2_i_o2_0)) + )) + (net C1WR_0_a2_0_3 (joined + (portRef Z (instanceRef C1WR_0_a2_0_3)) + (portRef C (instanceRef C1WR_0_a2_0_10)) + )) + (net C1WR_0_a2_0_4 (joined + (portRef Z (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef C1WR_0_a2_0_10)) + )) + (net C1WR_0_a2_0_10 (joined + (portRef Z (instanceRef C1WR_0_a2_0_10)) + (portRef C (instanceRef C1WR_0_a2_0)) + )) + (net C1WR_0_a2_0_11 (joined + (portRef Z (instanceRef C1WR_0_a2_0_11)) + (portRef D (instanceRef C1WR_0_a2_0)) + )) + (net Ready_0_sqmuxa_0_a3_2 (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef D (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef B (instanceRef Ready_RNO)) + )) + (net UFMSDI_ens2_i_a2_4_2 (joined + (portRef Z (instanceRef UFMSDI_ens2_i_a2_4_2)) + (portRef D (instanceRef UFMSDI_ens2_i_a0)) + )) + (net CmdEnable16_0_a2_4 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef CmdEnable16_0_a2)) + )) + (net CmdEnable16_0_a2_5 (joined + (portRef Z (instanceRef CmdEnable16_0_a2_5)) + (portRef B (instanceRef CmdEnable16_0_a2)) + )) + (net nRRAS_5_u_i_0 (joined + (portRef Z (instanceRef nRRAS_5_u_i_0)) + (portRef A (instanceRef nRRAS_RNO)) + (portRef D (instanceRef nRRAS_5_u_i)) + )) + (net CmdEnable17_0_a2_3 (joined + (portRef Z (instanceRef CmdEnable17_0_a2_3)) + (portRef A (instanceRef CmdEnable17_0_a2)) + )) + (net CmdEnable17_0_a2_4 (joined + (portRef Z (instanceRef CmdEnable17_0_a2_4)) + (portRef B (instanceRef CmdEnable17_0_a2)) + )) + (net un1_FS_13_i_a2_1 (joined + (portRef Z (instanceRef un1_FS_13_i_a2_1)) + (portRef D (instanceRef un1_FS_13_i_0)) + )) + (net un1_FS_14_i_a2_0_1 (joined + (portRef Z (instanceRef un1_FS_14_i_a2_0_1)) + (portRef D (instanceRef un1_FS_14_i_0)) + )) + (net (rename FS_cry_0_COUT1_16 "FS_cry_0_COUT1[16]") (joined + (portRef COUT1 (instanceRef FS_cry_0_16)) + )) + (net RCKEEN_8_u_1 (joined + (portRef Z (instanceRef RCKEEN_8_u_1_0)) + (portRef C (instanceRef RCKEEN_8_u)) + )) + (net N_28_i_1 (joined + (portRef Z (instanceRef nRCS_RNO_0)) + (portRef C (instanceRef nRCS_RNO)) + )) + (net m18_0_a3_3 (joined + (portRef Z (instanceRef nRWE_RNO_5)) + (portRef C (instanceRef nRWE_RNO_4)) + )) + (net m18_0_a2_1 (joined + (portRef Z (instanceRef nRWE_RNO_1)) + (portRef D (instanceRef nRWE_RNO)) + )) + (net m6_0_a2_2 (joined + (portRef Z (instanceRef nRWE_RNO_2)) + (portRef D (instanceRef nRWE_RNO_0)) + )) + (net G_17_1 (joined + (portRef Z (instanceRef nRWE_RNO_0)) + (portRef B (instanceRef nRWE_RNO)) + )) + (net g0_1 (joined + (portRef Z (instanceRef nRCAS_RNO_0)) + (portRef D (instanceRef nRCAS_RNO)) + )) + (net g4_0_0_0 (joined + (portRef Z (instanceRef nRCAS_RNO_1)) + (portRef D (instanceRef nRCAS_RNO_0)) + )) + (net CBR_fast (joined + (portRef Q (instanceRef CBR_fast)) + (portRef A (instanceRef nRCAS_RNO_0)) + (portRef A (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + )) + (net FWEr_fast (joined + (portRef Q (instanceRef FWEr_fast)) + (portRef C (instanceRef RCKEEN_8_u_1_0)) + (portRef A (instanceRef nRCS_RNO_0)) + )) + (net Ready_fast (joined + (portRef Q (instanceRef Ready_fast)) + (portRef B (instanceRef Ready_fast_RNO)) + (portRef A (instanceRef Ready_fast_RNI29NA)) + )) + (net UFMSDI_r_xx_mm_1 (joined + (portRef Z (instanceRef UFMSDI_RNO_0)) + (portRef D (instanceRef UFMSDI_RNO)) + )) + (net UFMCLK_r_i_m4_xx_mm_1 (joined + (portRef Z (instanceRef UFMCLK_RNO_0)) + (portRef D (instanceRef UFMCLK_RNO)) + )) + (net nUFMCS_s_0_N_5_i_N_2L1 (joined + (portRef Z (instanceRef nUFMCS_s_0_N_5_i_N_2L1)) + (portRef D (instanceRef nUFMCS_s_0_N_5_i)) + )) + (net (rename XOR8MEG_CN "XOR8MEG.CN") (joined + (portRef Z (instanceRef XOR8MEG_CN)) + (portRef CK (instanceRef ADSubmitted)) + (portRef CK (instanceRef C1Submitted)) + (portRef CK (instanceRef CmdEnable)) + (portRef CK (instanceRef CmdLEDEN)) + (portRef CK (instanceRef CmdSubmitted)) + (portRef CK (instanceRef CmdUFMCLK)) + (portRef CK (instanceRef CmdUFMCS)) + (portRef CK (instanceRef CmdUFMSDI)) + (portRef CK (instanceRef Cmdn8MEGEN)) + (portRef CK (instanceRef XOR8MEG)) + )) + (net VCC (joined + (portRef Z (instanceRef VCC)) + (portRef CIN (instanceRef FS_cry_0_0)) + (portRef GSR (instanceRef GSR_INST)) + )) + (net GND (joined + (portRef Z (instanceRef GND)) + (portRef D1 (instanceRef FS_cry_0_0)) + (portRef C1 (instanceRef FS_cry_0_0)) + (portRef B1 (instanceRef FS_cry_0_0)) + (portRef D0 (instanceRef FS_cry_0_0)) + (portRef C0 (instanceRef FS_cry_0_0)) + (portRef B0 (instanceRef FS_cry_0_0)) + (portRef D1 (instanceRef FS_cry_0_2)) + (portRef C1 (instanceRef FS_cry_0_2)) + (portRef B1 (instanceRef FS_cry_0_2)) + (portRef D0 (instanceRef FS_cry_0_2)) + (portRef C0 (instanceRef FS_cry_0_2)) + (portRef B0 (instanceRef FS_cry_0_2)) + (portRef D1 (instanceRef FS_cry_0_4)) + (portRef C1 (instanceRef FS_cry_0_4)) + (portRef B1 (instanceRef FS_cry_0_4)) + (portRef D0 (instanceRef FS_cry_0_4)) + (portRef C0 (instanceRef FS_cry_0_4)) + (portRef B0 (instanceRef FS_cry_0_4)) + (portRef D1 (instanceRef FS_cry_0_6)) + (portRef C1 (instanceRef FS_cry_0_6)) + (portRef B1 (instanceRef FS_cry_0_6)) + (portRef D0 (instanceRef FS_cry_0_6)) + (portRef C0 (instanceRef FS_cry_0_6)) + (portRef B0 (instanceRef FS_cry_0_6)) + (portRef D1 (instanceRef FS_cry_0_8)) + (portRef C1 (instanceRef FS_cry_0_8)) + (portRef B1 (instanceRef FS_cry_0_8)) + (portRef D0 (instanceRef FS_cry_0_8)) + (portRef C0 (instanceRef FS_cry_0_8)) + (portRef B0 (instanceRef FS_cry_0_8)) + (portRef D1 (instanceRef FS_cry_0_10)) + (portRef C1 (instanceRef FS_cry_0_10)) + (portRef B1 (instanceRef FS_cry_0_10)) + (portRef D0 (instanceRef FS_cry_0_10)) + (portRef C0 (instanceRef FS_cry_0_10)) + (portRef B0 (instanceRef FS_cry_0_10)) + (portRef D1 (instanceRef FS_cry_0_12)) + (portRef C1 (instanceRef FS_cry_0_12)) + (portRef B1 (instanceRef FS_cry_0_12)) + (portRef D0 (instanceRef FS_cry_0_12)) + (portRef C0 (instanceRef FS_cry_0_12)) + (portRef B0 (instanceRef FS_cry_0_12)) + (portRef D1 (instanceRef FS_cry_0_14)) + (portRef C1 (instanceRef FS_cry_0_14)) + (portRef B1 (instanceRef FS_cry_0_14)) + (portRef D0 (instanceRef FS_cry_0_14)) + (portRef C0 (instanceRef FS_cry_0_14)) + (portRef B0 (instanceRef FS_cry_0_14)) + (portRef D1 (instanceRef FS_cry_0_16)) + (portRef C1 (instanceRef FS_cry_0_16)) + (portRef B1 (instanceRef FS_cry_0_16)) + (portRef D0 (instanceRef FS_cry_0_16)) + (portRef C0 (instanceRef FS_cry_0_16)) + (portRef B0 (instanceRef FS_cry_0_16)) + )) + (net PHI2_c (joined + (portRef O (instanceRef PHI2_pad)) + (portRef CK (instanceRef Bank_7)) + (portRef CK (instanceRef Bank_6)) + (portRef CK (instanceRef Bank_5)) + (portRef CK (instanceRef Bank_4)) + (portRef CK (instanceRef Bank_3)) + (portRef CK (instanceRef Bank_2)) + (portRef CK (instanceRef Bank_1)) + (portRef CK (instanceRef Bank_0)) + (portRef D (instanceRef PHI2r)) + (portRef CK (instanceRef RA11)) + (portRef A (instanceRef XOR8MEG_CN)) + )) + (net PHI2 (joined + (portRef PHI2) + (portRef I (instanceRef PHI2_pad)) + )) + (net (rename MAin_c_0 "MAin_c[0]") (joined + (portRef O (instanceRef MAin_pad_0)) + (portRef B (instanceRef un1_CMDWR)) + (portRef A (instanceRef un9_RA_0)) + (portRef D (instanceRef CmdEnable16_0_a2_4_0)) + (portRef B (instanceRef XOR8MEG18_0_a2)) + (portRef C (instanceRef CmdEnable17_0_a2)) + (portRef D (instanceRef RowA_0)) + )) + (net (rename MAin_0 "MAin[0]") (joined + (portRef (member main 9)) + (portRef I (instanceRef MAin_pad_0)) + )) + (net (rename MAin_c_1 "MAin_c[1]") (joined + (portRef O (instanceRef MAin_pad_1)) + (portRef C (instanceRef un1_CMDWR)) + (portRef A (instanceRef un9_RA_1)) + (portRef C (instanceRef CmdEnable17_0_a2_4)) + (portRef D (instanceRef CmdEnable16_0_a2_5)) + (portRef A (instanceRef C1WR_0_a2)) + (portRef C (instanceRef XOR8MEG18_0_a2)) + (portRef D (instanceRef RowA_1)) + (portRef D (instanceRef C1Submitted_RNO)) + )) + (net (rename MAin_1 "MAin[1]") (joined + (portRef (member main 8)) + (portRef I (instanceRef MAin_pad_1)) + )) + (net (rename MAin_c_2 "MAin_c[2]") (joined + (portRef O (instanceRef MAin_pad_2)) + (portRef A (instanceRef un9_RA_2)) + (portRef A (instanceRef C1WR_0_a2_0_3)) + (portRef D (instanceRef RowA_2)) + )) + (net (rename MAin_2 "MAin[2]") (joined + (portRef (member main 7)) + (portRef I (instanceRef MAin_pad_2)) + )) + (net (rename MAin_c_3 "MAin_c[3]") (joined + (portRef O (instanceRef MAin_pad_3)) + (portRef A (instanceRef un9_RA_3)) + (portRef B (instanceRef C1WR_0_a2_0_3)) + (portRef D (instanceRef RowA_3)) + )) + (net (rename MAin_3 "MAin[3]") (joined + (portRef (member main 6)) + (portRef I (instanceRef MAin_pad_3)) + )) + (net (rename MAin_c_4 "MAin_c[4]") (joined + (portRef O (instanceRef MAin_pad_4)) + (portRef A (instanceRef un9_RA_4)) + (portRef A (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_4)) + )) + (net (rename MAin_4 "MAin[4]") (joined + (portRef (member main 5)) + (portRef I (instanceRef MAin_pad_4)) + )) + (net (rename MAin_c_5 "MAin_c[5]") (joined + (portRef O (instanceRef MAin_pad_5)) + (portRef A (instanceRef un9_RA_5)) + (portRef B (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_5)) + )) + (net (rename MAin_5 "MAin[5]") (joined + (portRef (member main 4)) + (portRef I (instanceRef MAin_pad_5)) + )) + (net (rename MAin_c_6 "MAin_c[6]") (joined + (portRef O (instanceRef MAin_pad_6)) + (portRef A (instanceRef un9_RA_6)) + (portRef C (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_6)) + )) + (net (rename MAin_6 "MAin[6]") (joined + (portRef (member main 3)) + (portRef I (instanceRef MAin_pad_6)) + )) + (net (rename MAin_c_7 "MAin_c[7]") (joined + (portRef O (instanceRef MAin_pad_7)) + (portRef A (instanceRef un9_RA_7)) + (portRef D (instanceRef C1WR_0_a2_0_4)) + (portRef D (instanceRef RowA_7)) + )) + (net (rename MAin_7 "MAin[7]") (joined + (portRef (member main 2)) + (portRef I (instanceRef MAin_pad_7)) + )) + (net (rename MAin_c_8 "MAin_c[8]") (joined + (portRef O (instanceRef MAin_pad_8)) + (portRef A (instanceRef un9_RA_8)) + (portRef D (instanceRef RowA_8)) + )) + (net (rename MAin_8 "MAin[8]") (joined + (portRef (member main 1)) + (portRef I (instanceRef MAin_pad_8)) + )) + (net (rename MAin_c_9 "MAin_c[9]") (joined + (portRef O (instanceRef MAin_pad_9)) + (portRef A (instanceRef RDQML)) + (portRef A (instanceRef RDQMH)) + (portRef A (instanceRef un9_RA_9)) + (portRef D (instanceRef RowA_9)) + )) + (net (rename MAin_9 "MAin[9]") (joined + (portRef (member main 0)) + (portRef I (instanceRef MAin_pad_9)) + )) + (net (rename CROW_c_0 "CROW_c[0]") (joined + (portRef O (instanceRef CROW_pad_0)) + (portRef D (instanceRef RBA_0)) + )) + (net (rename CROW_0 "CROW[0]") (joined + (portRef (member crow 1)) + (portRef I (instanceRef CROW_pad_0)) + )) + (net (rename CROW_c_1 "CROW_c[1]") (joined + (portRef O (instanceRef CROW_pad_1)) + (portRef D (instanceRef RBA_1)) + )) + (net (rename CROW_1 "CROW[1]") (joined + (portRef (member crow 0)) + (portRef I (instanceRef CROW_pad_1)) + )) + (net (rename Din_c_0 "Din_c[0]") (joined + (portRef O (instanceRef Din_pad_0)) + (portRef B (instanceRef CmdEnable17_0_a2_3)) + (portRef A (instanceRef CmdEnable16_0_a2_4)) + (portRef A (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef Bank_0)) + (portRef D (instanceRef CmdUFMSDI)) + (portRef D (instanceRef WRD_0)) + )) + (net (rename Din_0 "Din[0]") (joined + (portRef (member din 7)) + (portRef I (instanceRef Din_pad_0)) + )) + (net (rename Din_c_1 "Din_c[1]") (joined + (portRef O (instanceRef Din_pad_1)) + (portRef A (instanceRef CmdEnable17_0_a2_3)) + (portRef B (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef A (instanceRef XOR8MEG_3_u_0_a3_3)) + (portRef D (instanceRef Bank_1)) + (portRef D (instanceRef CmdUFMCLK)) + (portRef D (instanceRef WRD_1)) + )) + (net (rename Din_1 "Din[1]") (joined + (portRef (member din 6)) + (portRef I (instanceRef Din_pad_1)) + )) + (net (rename Din_c_2 "Din_c[2]") (joined + (portRef O (instanceRef Din_pad_2)) + (portRef A (instanceRef CmdEnable17_0_a2_4)) + (portRef B (instanceRef CmdEnable16_0_a2_5)) + (portRef B (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef Bank_2)) + (portRef D (instanceRef CmdUFMCS)) + (portRef D (instanceRef WRD_2)) + )) + (net (rename Din_2 "Din[2]") (joined + (portRef (member din 5)) + (portRef I (instanceRef Din_pad_2)) + )) + (net (rename Din_c_3 "Din_c[3]") (joined + (portRef O (instanceRef Din_pad_3)) + (portRef D (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef D (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef D (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef A (instanceRef CmdEnable17_0_o2)) + (portRef C (instanceRef CmdEnable16_0_a2_4_0)) + (portRef A (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef C (instanceRef XOR8MEG_3_u_0_a3_2)) + (portRef D (instanceRef Bank_3)) + (portRef D (instanceRef WRD_3)) + )) + (net (rename Din_3 "Din[3]") (joined + (portRef (member din 4)) + (portRef I (instanceRef Din_pad_3)) + )) + (net (rename Din_c_4 "Din_c[4]") (joined + (portRef O (instanceRef Din_pad_4)) + (portRef D (instanceRef CmdEnable17_0_a2_3)) + (portRef A (instanceRef CmdEnable16_0_a2_1)) + (portRef A (instanceRef un1_Din_4)) + (portRef A (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef D (instanceRef Bank_4)) + (portRef D (instanceRef WRD_4)) + )) + (net (rename Din_4 "Din[4]") (joined + (portRef (member din 3)) + (portRef I (instanceRef Din_pad_4)) + )) + (net (rename Din_c_5 "Din_c[5]") (joined + (portRef O (instanceRef Din_pad_5)) + (portRef C (instanceRef CmdUFMCLK_1_sqmuxa_0_a2)) + (portRef C (instanceRef CmdLEDEN_4_u_i_a2)) + (portRef C (instanceRef CmdSubmitted_1_sqmuxa_0_a2)) + (portRef B (instanceRef CmdEnable17_0_o2)) + (portRef B (instanceRef CmdEnable16_0_a2_4)) + (portRef B (instanceRef un1_Din_4)) + (portRef B (instanceRef CmdLEDEN_4_u_i_a2_0)) + (portRef B (instanceRef Cmdn8MEGEN_4_u_i_a2_2)) + (portRef D (instanceRef Bank_5)) + (portRef D (instanceRef WRD_5)) + )) + (net (rename Din_5 "Din[5]") (joined + (portRef (member din 2)) + (portRef I (instanceRef Din_pad_5)) + )) + (net (rename Din_c_6 "Din_c[6]") (joined + (portRef O (instanceRef Din_pad_6)) + (portRef C (instanceRef un1_Din_4)) + (portRef A (instanceRef RA11_2)) + (portRef B (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef B (instanceRef CmdEnable17_0_a2_4)) + (portRef C (instanceRef CmdEnable16_0_a2_5)) + (portRef D (instanceRef Bank_6)) + (portRef D (instanceRef WRD_6)) + )) + (net (rename Din_6 "Din[6]") (joined + (portRef (member din 1)) + (portRef I (instanceRef Din_pad_6)) + )) + (net (rename Din_c_7 "Din_c[7]") (joined + (portRef O (instanceRef Din_pad_7)) + (portRef C (instanceRef CmdEnable17_0_a2_3)) + (portRef B (instanceRef CmdEnable16_0_a2_1)) + (portRef D (instanceRef un1_Din_4)) + (portRef C (instanceRef Cmdn8MEGEN_4_u_i_o2_0)) + (portRef D (instanceRef Bank_7)) + (portRef D (instanceRef WRD_7)) + )) + (net (rename Din_7 "Din[7]") (joined + (portRef (member din 0)) + (portRef I (instanceRef Din_pad_7)) + )) + (net (rename Dout_0 "Dout[0]") (joined + (portRef O (instanceRef Dout_pad_0)) + (portRef (member dout 7)) + )) + (net (rename Dout_1 "Dout[1]") (joined + (portRef O (instanceRef Dout_pad_1)) + (portRef (member dout 6)) + )) + (net (rename Dout_2 "Dout[2]") (joined + (portRef O (instanceRef Dout_pad_2)) + (portRef (member dout 5)) + )) + (net (rename Dout_3 "Dout[3]") (joined + (portRef O (instanceRef Dout_pad_3)) + (portRef (member dout 4)) + )) + (net (rename Dout_4 "Dout[4]") (joined + (portRef O (instanceRef Dout_pad_4)) + (portRef (member dout 3)) + )) + (net (rename Dout_5 "Dout[5]") (joined + (portRef O (instanceRef Dout_pad_5)) + (portRef (member dout 2)) + )) + (net (rename Dout_6 "Dout[6]") (joined + (portRef O (instanceRef Dout_pad_6)) + (portRef (member dout 1)) + )) + (net (rename Dout_7 "Dout[7]") (joined + (portRef O (instanceRef Dout_pad_7)) + (portRef (member dout 0)) + )) + (net nCCAS_c (joined + (portRef O (instanceRef nCCAS_pad)) + (portRef A (instanceRef nCCAS_pad_RNI01SJ)) + (portRef A (instanceRef nCCAS_pad_RNISUR8)) + )) + (net nCCAS (joined + (portRef nCCAS) + (portRef I (instanceRef nCCAS_pad)) + )) + (net nCRAS_c (joined + (portRef O (instanceRef nCRAS_pad)) + (portRef C (instanceRef LED_pad_RNO)) + (portRef A (instanceRef nCRAS_pad_RNIBPVB)) + (portRef A (instanceRef RASr_RNO)) + )) + (net nCRAS (joined + (portRef nCRAS) + (portRef I (instanceRef nCRAS_pad)) + )) + (net nFWE_c (joined + (portRef O (instanceRef nFWE_pad)) + (portRef C (instanceRef C1WR_0_a2_0_3)) + (portRef B (instanceRef nCCAS_pad_RNI01SJ)) + (portRef A (instanceRef nFWE_pad_RNI420B)) + )) + (net nFWE (joined + (portRef nFWE) + (portRef I (instanceRef nFWE_pad)) + )) + (net LED_c (joined + (portRef Z (instanceRef LED_pad_RNO)) + (portRef I (instanceRef LED_pad)) + )) + (net LED (joined + (portRef O (instanceRef LED_pad)) + (portRef LED) + )) + (net (rename RBA_c_0 "RBA_c[0]") (joined + (portRef Q (instanceRef RBA_0)) + (portRef I (instanceRef RBA_pad_0)) + )) + (net (rename RBA_0 "RBA[0]") (joined + (portRef O (instanceRef RBA_pad_0)) + (portRef (member rba 1)) + )) + (net (rename RBA_c_1 "RBA_c[1]") (joined + (portRef Q (instanceRef RBA_1)) + (portRef I (instanceRef RBA_pad_1)) + )) + (net (rename RBA_1 "RBA[1]") (joined + (portRef O (instanceRef RBA_pad_1)) + (portRef (member rba 0)) + )) + (net (rename RA_c_0 "RA_c[0]") (joined + (portRef Z (instanceRef un9_RA_0)) + (portRef I (instanceRef RA_pad_0)) + )) + (net (rename RA_0 "RA[0]") (joined + (portRef O (instanceRef RA_pad_0)) + (portRef (member ra 11)) + )) + (net (rename RA_c_1 "RA_c[1]") (joined + (portRef Z (instanceRef un9_RA_1)) + (portRef I (instanceRef RA_pad_1)) + )) + (net (rename RA_1 "RA[1]") (joined + (portRef O (instanceRef RA_pad_1)) + (portRef (member ra 10)) + )) + (net (rename RA_c_2 "RA_c[2]") (joined + (portRef Z (instanceRef un9_RA_2)) + (portRef I (instanceRef RA_pad_2)) + )) + (net (rename RA_2 "RA[2]") (joined + (portRef O (instanceRef RA_pad_2)) + (portRef (member ra 9)) + )) + (net (rename RA_c_3 "RA_c[3]") (joined + (portRef Z (instanceRef un9_RA_3)) + (portRef I (instanceRef RA_pad_3)) + )) + (net (rename RA_3 "RA[3]") (joined + (portRef O (instanceRef RA_pad_3)) + (portRef (member ra 8)) + )) + (net (rename RA_c_4 "RA_c[4]") (joined + (portRef Z (instanceRef un9_RA_4)) + (portRef I (instanceRef RA_pad_4)) + )) + (net (rename RA_4 "RA[4]") (joined + (portRef O (instanceRef RA_pad_4)) + (portRef (member ra 7)) + )) + (net (rename RA_c_5 "RA_c[5]") (joined + (portRef Z (instanceRef un9_RA_5)) + (portRef I (instanceRef RA_pad_5)) + )) + (net (rename RA_5 "RA[5]") (joined + (portRef O (instanceRef RA_pad_5)) + (portRef (member ra 6)) + )) + (net (rename RA_c_6 "RA_c[6]") (joined + (portRef Z (instanceRef un9_RA_6)) + (portRef I (instanceRef RA_pad_6)) + )) + (net (rename RA_6 "RA[6]") (joined + (portRef O (instanceRef RA_pad_6)) + (portRef (member ra 5)) + )) + (net (rename RA_c_7 "RA_c[7]") (joined + (portRef Z (instanceRef un9_RA_7)) + (portRef I (instanceRef RA_pad_7)) + )) + (net (rename RA_7 "RA[7]") (joined + (portRef O (instanceRef RA_pad_7)) + (portRef (member ra 4)) + )) + (net (rename RA_c_8 "RA_c[8]") (joined + (portRef Z (instanceRef un9_RA_8)) + (portRef I (instanceRef RA_pad_8)) + )) + (net (rename RA_8 "RA[8]") (joined + (portRef O (instanceRef RA_pad_8)) + (portRef (member ra 3)) + )) + (net (rename RA_c_9 "RA_c[9]") (joined + (portRef Z (instanceRef un9_RA_9)) + (portRef I (instanceRef RA_pad_9)) + )) + (net (rename RA_9 "RA[9]") (joined + (portRef O (instanceRef RA_pad_9)) + (portRef (member ra 2)) + )) + (net (rename RA_c_10 "RA_c[10]") (joined + (portRef Q (instanceRef RA10)) + (portRef I (instanceRef RA_pad_10)) + )) + (net (rename RA_10 "RA[10]") (joined + (portRef O (instanceRef RA_pad_10)) + (portRef (member ra 1)) + )) + (net (rename RA_c_11 "RA_c[11]") (joined + (portRef Q (instanceRef RA11)) + (portRef I (instanceRef RA_pad_11)) + )) + (net (rename RA_11 "RA[11]") (joined + (portRef O (instanceRef RA_pad_11)) + (portRef (member ra 0)) + )) + (net (rename RD_in_0 "RD_in[0]") (joined + (portRef O (instanceRef RD_pad_0)) + (portRef I (instanceRef Dout_pad_0)) + )) + (net (rename RD_0 "RD[0]") (joined + (portRef B (instanceRef RD_pad_0)) + (portRef (member rd 7)) + )) + (net (rename RD_in_1 "RD_in[1]") (joined + (portRef O (instanceRef RD_pad_1)) + (portRef I (instanceRef Dout_pad_1)) + )) + (net (rename RD_1 "RD[1]") (joined + (portRef B (instanceRef RD_pad_1)) + (portRef (member rd 6)) + )) + (net (rename RD_in_2 "RD_in[2]") (joined + (portRef O (instanceRef RD_pad_2)) + (portRef I (instanceRef Dout_pad_2)) + )) + (net (rename RD_2 "RD[2]") (joined + (portRef B (instanceRef RD_pad_2)) + (portRef (member rd 5)) + )) + (net (rename RD_in_3 "RD_in[3]") (joined + (portRef O (instanceRef RD_pad_3)) + (portRef I (instanceRef Dout_pad_3)) + )) + (net (rename RD_3 "RD[3]") (joined + (portRef B (instanceRef RD_pad_3)) + (portRef (member rd 4)) + )) + (net (rename RD_in_4 "RD_in[4]") (joined + (portRef O (instanceRef RD_pad_4)) + (portRef I (instanceRef Dout_pad_4)) + )) + (net (rename RD_4 "RD[4]") (joined + (portRef B (instanceRef RD_pad_4)) + (portRef (member rd 3)) + )) + (net (rename RD_in_5 "RD_in[5]") (joined + (portRef O (instanceRef RD_pad_5)) + (portRef I (instanceRef Dout_pad_5)) + )) + (net (rename RD_5 "RD[5]") (joined + (portRef B (instanceRef RD_pad_5)) + (portRef (member rd 2)) + )) + (net (rename RD_in_6 "RD_in[6]") (joined + (portRef O (instanceRef RD_pad_6)) + (portRef I (instanceRef Dout_pad_6)) + )) + (net (rename RD_6 "RD[6]") (joined + (portRef B (instanceRef RD_pad_6)) + (portRef (member rd 1)) + )) + (net (rename RD_in_7 "RD_in[7]") (joined + (portRef O (instanceRef RD_pad_7)) + (portRef I (instanceRef Dout_pad_7)) + )) + (net (rename RD_7 "RD[7]") (joined + (portRef B (instanceRef RD_pad_7)) + (portRef (member rd 0)) + )) + (net nRCS_c (joined + (portRef Q (instanceRef nRCS)) + (portRef I (instanceRef nRCS_pad)) + )) + (net nRCS (joined + (portRef O (instanceRef nRCS_pad)) + (portRef nRCS) + )) + (net RCLK_c (joined + (portRef O (instanceRef RCLK_pad)) + (portRef CK (instanceRef CASr)) + (portRef CK (instanceRef CASr2)) + (portRef CK (instanceRef CASr3)) + (portRef CK (instanceRef FS_17)) + (portRef CK (instanceRef FS_16)) + (portRef CK (instanceRef FS_15)) + (portRef CK (instanceRef FS_14)) + (portRef CK (instanceRef FS_13)) + (portRef CK (instanceRef FS_12)) + (portRef CK (instanceRef FS_11)) + (portRef CK (instanceRef FS_10)) + (portRef CK (instanceRef FS_9)) + (portRef CK (instanceRef FS_8)) + (portRef CK (instanceRef FS_7)) + (portRef CK (instanceRef FS_6)) + (portRef CK (instanceRef FS_5)) + (portRef CK (instanceRef FS_4)) + (portRef CK (instanceRef FS_3)) + (portRef CK (instanceRef FS_2)) + (portRef CK (instanceRef FS_1)) + (portRef CK (instanceRef FS_0)) + (portRef CK (instanceRef IS_3)) + (portRef CK (instanceRef IS_2)) + (portRef CK (instanceRef IS_1)) + (portRef CK (instanceRef IS_0)) + (portRef CK (instanceRef InitReady)) + (portRef CK (instanceRef LEDEN)) + (portRef CK (instanceRef PHI2r)) + (portRef CK (instanceRef PHI2r2)) + (portRef CK (instanceRef PHI2r3)) + (portRef CK (instanceRef RA10)) + (portRef CK (instanceRef RASr)) + (portRef CK (instanceRef RASr2)) + (portRef CK (instanceRef RASr3)) + (portRef CK (instanceRef RCKE)) + (portRef CK (instanceRef RCKEEN)) + (portRef CK (instanceRef Ready)) + (portRef CK (instanceRef Ready_fast)) + (portRef CK (instanceRef S_1)) + (portRef CK (instanceRef S_0)) + (portRef CK (instanceRef UFMCLK)) + (portRef CK (instanceRef UFMSDI)) + (portRef CK (instanceRef n8MEGEN)) + (portRef CK (instanceRef nRCAS)) + (portRef CK (instanceRef nRCS)) + (portRef CK (instanceRef nRRAS)) + (portRef CK (instanceRef nRWE)) + (portRef CK (instanceRef nRowColSel)) + (portRef CK (instanceRef nUFMCS)) + )) + (net RCLK (joined + (portRef RCLK) + (portRef I (instanceRef RCLK_pad)) + )) + (net RCKE_c (joined + (portRef Q (instanceRef RCKE)) + (portRef C (instanceRef nRRAS_5_u_i_0)) + (portRef I (instanceRef RCKE_pad)) + (portRef C (instanceRef nRWE_RNO_3)) + )) + (net RCKE (joined + (portRef O (instanceRef RCKE_pad)) + (portRef RCKE) + )) + (net nRWE_c (joined + (portRef Q (instanceRef nRWE)) + (portRef I (instanceRef nRWE_pad)) + )) + (net nRWE (joined + (portRef O (instanceRef nRWE_pad)) + (portRef nRWE) + )) + (net nRRAS_c (joined + (portRef Q (instanceRef nRRAS)) + (portRef I (instanceRef nRRAS_pad)) + )) + (net nRRAS (joined + (portRef O (instanceRef nRRAS_pad)) + (portRef nRRAS) + )) + (net nRCAS_c (joined + (portRef Q (instanceRef nRCAS)) + (portRef I (instanceRef nRCAS_pad)) + )) + (net nRCAS (joined + (portRef O (instanceRef nRCAS_pad)) + (portRef nRCAS) + )) + (net RDQMH_c (joined + (portRef Z (instanceRef RDQMH)) + (portRef I (instanceRef RDQMH_pad)) + )) + (net RDQMH (joined + (portRef O (instanceRef RDQMH_pad)) + (portRef RDQMH) + )) + (net RDQML_c (joined + (portRef Z (instanceRef RDQML)) + (portRef I (instanceRef RDQML_pad)) + )) + (net RDQML (joined + (portRef O (instanceRef RDQML_pad)) + (portRef RDQML) + )) + (net nUFMCS_c (joined + (portRef Q (instanceRef nUFMCS)) + (portRef C (instanceRef nUFMCS_s_0_N_5_i)) + (portRef I (instanceRef nUFMCS_pad)) + )) + (net nUFMCS (joined + (portRef O (instanceRef nUFMCS_pad)) + (portRef nUFMCS) + )) + (net UFMCLK_c (joined + (portRef Q (instanceRef UFMCLK)) + (portRef C (instanceRef UFMCLK_RNO)) + (portRef I (instanceRef UFMCLK_pad)) + )) + (net UFMCLK (joined + (portRef O (instanceRef UFMCLK_pad)) + (portRef UFMCLK) + )) + (net UFMSDI_c (joined + (portRef Q (instanceRef UFMSDI)) + (portRef C (instanceRef UFMSDI_RNO)) + (portRef I (instanceRef UFMSDI_pad)) + )) + (net UFMSDI (joined + (portRef O (instanceRef UFMSDI_pad)) + (portRef UFMSDI) + )) + (net UFMSDO_c (joined + (portRef O (instanceRef UFMSDO_pad)) + (portRef C (instanceRef LEDEN_5_i_m2)) + (portRef C (instanceRef n8MEGEN_5_i_m2)) + )) + (net UFMSDO (joined + (portRef UFMSDO) + (portRef I (instanceRef UFMSDO_pad)) + )) + (net N_460_0 (joined + (portRef Z (instanceRef CmdSubmitted_RNO)) + (portRef D (instanceRef CmdSubmitted)) + )) + (net N_461_0 (joined + (portRef Z (instanceRef InitReady_RNO)) + (portRef D (instanceRef InitReady)) + )) + (net N_462_0 (joined + (portRef Z (instanceRef Ready_RNO)) + (portRef D (instanceRef Ready)) + )) + (net N_463_0 (joined + (portRef Z (instanceRef Ready_fast_RNO)) + (portRef D (instanceRef Ready_fast)) + )) + (net nFWE_c_i (joined + (portRef Z (instanceRef nFWE_pad_RNI420B)) + (portRef D (instanceRef FWEr)) + (portRef D (instanceRef FWEr_fast)) + )) + (net nCRAS_c_i_0 (joined + (portRef Z (instanceRef RASr_RNO)) + (portRef D (instanceRef RASr)) + )) + (net nCCAS_c_i (joined + (portRef Z (instanceRef nCCAS_pad_RNISUR8)) + (portRef D (instanceRef CASr)) + (portRef D (instanceRef CBR)) + (portRef D (instanceRef CBR_fast)) + (portRef CK (instanceRef WRD_7)) + (portRef CK (instanceRef WRD_6)) + (portRef CK (instanceRef WRD_5)) + (portRef CK (instanceRef WRD_4)) + (portRef CK (instanceRef WRD_3)) + (portRef CK (instanceRef WRD_2)) + (portRef CK (instanceRef WRD_1)) + (portRef CK (instanceRef WRD_0)) + )) + (net Ready_fast_i (joined + (portRef Z (instanceRef Ready_fast_RNI29NA)) + (portRef CD (instanceRef RA11)) + (portRef CD (instanceRef RBA_1)) + (portRef CD (instanceRef RBA_0)) + (portRef PD (instanceRef RowA_9)) + (portRef CD (instanceRef RowA_8)) + (portRef CD (instanceRef RowA_7)) + (portRef CD (instanceRef RowA_6)) + (portRef PD (instanceRef RowA_5)) + (portRef CD (instanceRef RowA_4)) + (portRef CD (instanceRef RowA_3)) + (portRef CD (instanceRef RowA_2)) + (portRef CD (instanceRef RowA_1)) + (portRef CD (instanceRef RowA_0)) + )) + (net (rename IS_i_0 "IS_i[0]") (joined + (portRef Z (instanceRef IS_i_0)) + (portRef D (instanceRef RA10)) + )) + (net RASr2_i (joined + (portRef Z (instanceRef RASr2_RNIAFR1)) + (portRef CD (instanceRef S_1)) + (portRef CD (instanceRef S_0)) + )) + (net nRWE_RNO_4 (joined + (portRef Z (instanceRef nRWE_RNO_4)) + (portRef BLUT (instanceRef nRWE_RNO_1)) + )) + (net nRWE_RNO_3 (joined + (portRef Z (instanceRef nRWE_RNO_3)) + (portRef ALUT (instanceRef nRWE_RNO_1)) + )) + (net CmdEnable_s_am (joined + (portRef Z (instanceRef CmdEnable_s_am)) + (portRef BLUT (instanceRef CmdEnable_s)) + )) + (net CmdEnable_s_bm (joined + (portRef Z (instanceRef CmdEnable_s_bm)) + (portRef ALUT (instanceRef CmdEnable_s)) + )) + ) + (property orig_inst_of (string "RAM2GS")) + ) + ) + ) + (design RAM2GS (cellRef RAM2GS (libraryRef work)) + (property PART (string "lcmxo256c-3") )) +) diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.htm b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.htm index cd24fde..4dc3d8f 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.htm +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.htm @@ -1,9 +1,9 @@ - - - syntmp/RAM2GS_LCMXO256C_impl1_srr.htm log file - - - - - - + + + syntmp/RAM2GS_LCMXO256C_impl1_srr.htm log file + + + + + + diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.jed b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.jed index 072d4cf..8d97239 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.jed +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.jed @@ -1,977 +1,977 @@ - -* -NOTE JEDEC CREATED BY: Lattice Semiconductor Diamond Deployment Tool 3.12* -NOTE Version: Diamond (64-bit) 3.12.1.454* -NOTE Readback: Off* -NOTE Security: Off* -NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * -NOTE All Rights Reserved * -NOTE DATE CREATED: Wed Aug 16 04:29:49 2023 * -NOTE DESIGN NAME: RAM2GS * -NOTE DEVICE NAME: LCMXO256C-3TQFP100 * -NOTE PIN ASSIGNMENTS * -NOTE PINS RD[0] : 64 : inout * -NOTE PINS Dout[0] : 1 : out * -NOTE PINS PHI2 : 39 : in * -NOTE PINS UFMSDO : 55 : in * -NOTE PINS UFMSDI : 56 : out * -NOTE PINS UFMCLK : 58 : out * -NOTE PINS nUFMCS : 53 : out * -NOTE PINS RDQML : 61 : out * -NOTE PINS RDQMH : 76 : out * -NOTE PINS nRCAS : 78 : out * -NOTE PINS nRRAS : 73 : out * -NOTE PINS nRWE : 72 : out * -NOTE PINS RCKE : 82 : out * -NOTE PINS RCLK : 86 : in * -NOTE PINS nRCS : 77 : out * -NOTE PINS RD[7] : 71 : inout * -NOTE PINS RD[6] : 70 : inout * -NOTE PINS RD[5] : 69 : inout * -NOTE PINS RD[4] : 68 : inout * -NOTE PINS RD[3] : 67 : inout * -NOTE PINS RD[2] : 66 : inout * -NOTE PINS RD[1] : 65 : inout * -NOTE PINS RA[11] : 79 : out * -NOTE PINS RA[10] : 87 : out * -NOTE PINS RA[9] : 85 : out * -NOTE PINS RA[8] : 96 : out * -NOTE PINS RA[7] : 100 : out * -NOTE PINS RA[6] : 91 : out * -NOTE PINS RA[5] : 95 : out * -NOTE PINS RA[4] : 99 : out * -NOTE PINS RA[3] : 97 : out * -NOTE PINS RA[2] : 94 : out * -NOTE PINS RA[1] : 89 : out * -NOTE PINS RA[0] : 98 : out * -NOTE PINS RBA[1] : 83 : out * -NOTE PINS RBA[0] : 63 : out * -NOTE PINS LED : 57 : out * -NOTE PINS nFWE : 22 : in * -NOTE PINS nCRAS : 43 : in * -NOTE PINS nCCAS : 27 : in * -NOTE PINS Dout[7] : 3 : out * -NOTE PINS Dout[6] : 2 : out * -NOTE PINS Dout[5] : 5 : out * -NOTE PINS Dout[4] : 4 : out * -NOTE PINS Dout[3] : 6 : out * -NOTE PINS Dout[2] : 8 : out * -NOTE PINS Dout[1] : 7 : out * -NOTE PINS Din[7] : 19 : in * -NOTE PINS Din[6] : 20 : in * -NOTE PINS Din[5] : 17 : in * -NOTE PINS Din[4] : 18 : in * -NOTE PINS Din[3] : 16 : in * -NOTE PINS Din[2] : 14 : in * -NOTE PINS Din[1] : 15 : in * -NOTE PINS Din[0] : 21 : in * -NOTE PINS CROW[1] : 34 : in * -NOTE PINS CROW[0] : 32 : in * -NOTE PINS MAin[9] : 51 : in * -NOTE PINS MAin[8] : 50 : in * -NOTE PINS MAin[7] : 44 : in * -NOTE PINS MAin[6] : 49 : in * -NOTE PINS MAin[5] : 45 : in * -NOTE PINS MAin[4] : 46 : in * -NOTE PINS MAin[3] : 47 : in * -NOTE PINS MAin[2] : 37 : in * -NOTE PINS MAin[1] : 38 : in * -NOTE PINS MAin[0] : 23 : in * -NOTE CONFIGURATION MODE: NONE * -NOTE COMPRESSION: off * - - -QF56640* -G0* -F0* -L00000 -11111111001101111111011110111100110111111101111011110011011111110111101111001101 -11111101111011111111111111111111101111001010010011010111011100101001001101011110 -11001010010011010111101111111111 -11111111001111111111011110111100110111111101111011110011011111110111101111001101 -11111101111011111111111111111111101111001010010011010111011100101001001101011101 -11001010010011010111011111111111 -11111111111111111111111111111111111111111111111111110011011111110111101111111111 -11111111111111111111111111111111101111111111111111111111111100101001001101011101 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111110011011111110111101111111111 -11111111111111110011011111110111101111111111111111111111111100101001001101011101 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111101111111111111111111011111111111111111111 -11111111111111111111111111111011111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111101111111111111111111101111111111111111101 -11111111011111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111100111111011111111111111111111111111111111011111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11111111011111111111101111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11110111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111101111111111111 -11111111111111111111111011111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111110111111111111111101111111111111111111 -11011111111111111011111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111011111111111111111111111111111111111111111111111111111111011111111101111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111011111111101111111111111111111110111 -11111111111111111101111111111111 -11111111111111111111111111101101111111111111111111111111111111111101111111111111 -11111111011110111111111111111111111111111111111111111111111111111111111111110111 -11111111111111111111111111111111 -11111111111111111111111111111100011111111111111111111111111110111111111111111111 -11111111111111111111111101111111111111111111101111111111111111111111111111111111 -11111111111111111110111111111111 -11111111111111111111111111101111111111111111111111111111111111111101111111111111 -11111111111110111111111111111111111111111111111111111111111111111110111111111011 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111101111111111111 -11111111111111111111111101111111111111111110111111111011111111111111111111101111 -11111111111111111011111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111101111 -11111111111111111111111111111111 -11111111111111111111111111111111111111110111111111111111111111111111111111111111 -11111111111111111111111111110111111111111011111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111100111111101111111111111110011011111111101111110111 -01111111111011111111011111111111111101111111111111111111111111111111111111111111 -11111111111111111111111111111001 -11011111111111111111111111111110001000011111111111110110111101111111111110011100 -11011111111111110111101111111111111101111111111111111111111111111111111111111111 -11111111111111111111111111111001 -11111111111111111111111111111111111111100101111111110100101101111111111101111110 -10011111111111110111111101111111101011111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111110100111101111111110111101111 -11011111111101111100110111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111010 -11111111111111111111111111111111111111111001101111110100111011111111111101111101 -11111111100111110110111010010111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110111111111101110111111010001101111111011111101111 -10011111110111111000101100100111011101111111111111111111111111111111111111111111 -11111111111111111111111111011011 -11111111111111111111111111111111011111111111110111111110100101111111111111111111 -11011111110111111100011111010111101111111111111111011111111111111111111111111111 -11111111111111111111111111111001 -11111111111111111111111111111111011111111011110111111100111101111111011011101101 -11011111101111111100110101111111011111111111111111011111111111111111111111111111 -11111111111111111111111101111111 -11111111111111111111111111111110011111111111111111111011110111110111111111101111 -11011101110010111001111011100111111111111111111111111111111111111111111111111111 -11111111111111111111111111111001 -11011111111111111111111111111110011111111111111111111011101101101111111111101111 -11011111111111111011111101100111111101111111111111111111111111111111111111111111 -11111100100111111111111110111001 -11111111111111111111111111111111111111111111111111111111101111111111111111111101 -11011011111111011111011111111111101111111111111111111111111111111111111111111111 -11111101010111111111111101111111 -11111111111111111111111111111111111111111111111111111111111001111111111111101111 -10011111110101111011111101111101011111111111111111111111111111111111111111111111 -11111111110111111111111110011010 -11110001111111111111111111111111111111110101110111111111111101110111111011111111 -11011101111001111111111110111111101011111111000001011111111111111111111111111111 -11111111101011111111111111111111 -11111011111111111111111111111111111111111001110111111111101101110111111111110110 -11011011110101111111111111111111011111111110110110011111111111111111111111111111 -11111111110001111111111111111011 -11111111111111111111111111111110001111111111110111110111100101101111111101011111 -00011111110111010111111111011111011101111111110001011111111111111111111101111111 -11111111111111011111111111111001 -11111111111111111111111111111110111111111111101111111101111000111111111111111101 -11011111011111111111111111111010110111111101110111111111111111111111111101111111 -11111110110111111111111111111111 -01111111111111111111111111111111111111111011111111011111111001110111111111111110 -11111111111111101111111001111111101111111111111111111001111111111111111111111111 -11111011111111111001111111111001 -01011111111111111111111111111110001000011101111111000111101101101111111111011110 -11011111111111011111100101111111111111011111111111011101111111111111111111111111 -11011111111111111101111111111001 -11111111111111111111111111111111111111111111111110111100100101111111111111011110 -11011111111111111111111101111111110101111011111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111100111101111111111111010111 -00011111111111111111011101111111111101111011111011111011111111111111111111111111 -11111011111111111011111111111011 -00111111111111111111111111111111111111111101111111011111111011110111011101010011 -00111101011111111111111110110111111101110011110111111111111111111111101111111111 -11111010001111011111111111111111 -11111111111111111111111111111110111111111101111110001110000101111110011111101110 -11011111110111111111111111010111111111110010010111111111111111111111101111111111 -11110010110111111111111111111011 -11111111111111111111111111111111011111111111111111111000101101101111111011111101 -11111110110111111111111111101111111011101010110111111111111111111111110101111111 -11100010110111111111111101111001 -11111111111111111111111111111111011111101011111111111100111101111011111111110011 -11011011111111111111111110111111111111111011100111111111111111111111111111111111 -11111011110110111111111111111101 -01111111111111111111111111111110011111111111111001011111111111111111111111100111 -10111110111111111111111111111101011111110011111111111111111111111111111111111111 -11111011111111111111111111111001 -01011111111111111111111111111110011111111111111111001111100101111111111111100100 -01011110110111111111111001111011101101110011111111111111111111111111111111111111 -11111011111111111111111111111001 -11111111111111111111111111111111111111111111111110011111101111111111111111110001 -11011110010111111111011111111011011111110011111111111111111111111111111111111111 -11111011111111111111111111111110 -11111111111111111111111111111111111111111111111111101111111001111111111111110011 -11011110101111111111111101111011111111111111111111111111111111111111111111111111 -11111011111111111111111111111011 -00111111111111111111101111111111111111111001111111011111101111110111111100110110 -11111111111111111111111110110111111100111111111111111111111111111111111101111111 -11111011111111111111111111111111 -11111111111111111111111111111111111111111101111011011111101101101111111001111111 -11011111111111111111101100111111111101111111111111111111111111111111111001111111 -11111011110111111111111111111011 -11111111111111111111110101111110001111111111111111110111101101111111111111011010 -11011111111111111111100111010111111111010011111111111111111111111111111111111111 -11011111101111111111111111111001 -11111111111111111111111101111110111111111011111110111101110001111111111111110011 -10011111111111111111111001101111111011111111111111111111111111111111101111111111 -11111101110111111111111111111111 -11111111111111111111111111111111111111111111110111111111101011111111111111111111 -11111001011111011111111111110111111111111111111111111111111111111111111111111111 -11111110111111111111111111111001 -11111111111111111111111111111110001000011111101111110111111101111111111111011100 -11011001110011010111111111101111111111111111110111111111111111111111111111111111 -11010111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111011101111111111111111101 -10011111111111111100111111111111111111111110111111111111111111111111111111111111 -11110111110111111111111111111111 -11111111111111111111111111111111111111111111111111111101111101111111111111101111 -01011111111110111011111111111111111111111111100111111111111111111111111111111111 -11111111111111111111111111111010 -11111111111111111111111111111111111111111101111111111111111111010111111111111111 -11111101111111111111110111111101111101111111111111111111111111111111111101111111 -11111011111111111111110111111111 -11111111111111111111111111111110111111111011111111111111100101110111111111101100 -11001101111111011011001101111010011100111111111111111111111111111111111001111111 -11110011111111111111110110111011 -11111111111111111111111111111111011111111111111111111011011011101111111111111010 -00011001111111111100111101111011101001111111111111011111111111111111111101111111 -11100011111111111110101111111001 -11111111111111111111111111111111011111111111111111111111111101111111111111111111 -11001111111111011111011001111010011111111111111111011111111111111111101101111111 -11111011111111111111111110111111 -11111111111111111111111111111110011111111111110111111111101111100111111101101111 -10011101111110011011111111111101011111111111111111111111111111111111111111111111 -11111010011110011111111101111001 -11111111111111111111111111111110011111111111101111111111101111100111111101101011 -11011111111010011010111111111111011111111111111111111111111111111111111111111111 -11110010111111011111111111111001 -11111111111111111111111111111111111111111111111111111111011101111111111111111110 -11011011111111011111101111111111111111111111111111111111111111111111111111111111 -11111111110110111111111111111111 -11111111111111111111111111111111111111111111111111111110110101111111111001101111 -11011111111111111011111101111110111111111111111111111111111111111111111111111111 -11111011111111111111111111111011 -11111111111111111111011111111111111111111001111111111111111101111111111111111111 -11111111011001011111111100100111111101111111111011111111111111111111111111111111 -11111011111011101111111111111111 -11111111111111111110111111111111111111111101111111111111101101111111111111111110 -11011111110101011111101101010111101001111111111111111111111111111111111111111111 -11110011111011111111111111111011 -11111111111111111111111111111110001111111111111111110111010101111111111111011111 -01111111111111010111110000110111111111111111111101111111111111111111111111111111 -11011111111101011111111111111001 -11111111111111111111111111111110111111111011111111111111111001111111111111111110 -10011111111110011111011101101111111111111111111111111111111111111111111111111111 -11111011111111110111111111111101 -11111111111111111111111111111111111111110101111111111111111011111111111111111110 -10111011111111111111111111111111111111111111111111111111111111111111111001111111 -11111101111111111111111111111111 -11111111111111111111111111111110001000011001111111110111011101111111111111010011 -11011101111111110100000001110111111111111111111111111111111111111111111001111111 -11111110111111111111111111111111 -11111111111111111111111111111111111111111111111111111100011101111111111111010001 -11011111111111111100111101111111111111111111111111111111111111111111111111111111 -11111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111100111101111111111111110011 -11011111111111111000111110111111111111111111111111111111111111111111111111111111 -11111111010111111111111111111111 -11111111111111111111111111111111111111111001111111111111110110111111111111011111 -11001111100111111111111110100111111111111111111011111111111111111111111101111111 -11111110101111111111111111111111 -11111111111111111111111111111110111111111101111111111110101101111111111111100010 -11100110110111111100111111110101100111111100111111111111111111111111111111111111 -11111110110111111111111111111111 -11111111111111111111111111111111011111111111111111111000101111110111111111110011 -11011100010111111100111111011011110111111111010101111111111111111111111011111111 -11111110110111111111111111111111 -11111111111111111111111111111111011111111011111111111100111001010111111111100110 -01011110111111111000111111101111101111111111111111111111111111111111111111111111 -11111111010111111111111111111111 -11111111111111111111111111111110011111111111111111111111111011111111111111101010 -10111111110111111011111111110111111111111111111110011111111111111111111111101111 -11111111111111111111111111111111 -11111111111111111111111111111110011111111111111111111111000101111111111111101110 -01011111111111111111111001110111111111111111111110011111111111111111111111110111 -11111111111111111111111101111111 -11111111111111111111111111111111111111111111111111111111101101111111111111111111 -11011111111111111110011111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111101111111111111111111 -11111111101111111010111100101111111111111111111111111111111111111111111111111111 -11111111111111111111111100111111 -11111111111111111111111111111111111111111001010111111111111111010110111111111101 -10111001111111111111010111010111111111111111111101011101111111111111111101010111 -11111111111101011111111111111111 -11111111111111111111111111111111111111111101110111111111101001110111011111111111 -11011101111010111111101111100111111111111111111110011111111111111111111101110111 -11111111111110011111111111111111 -11111111111111111111111111111110001111111111101111110111011111101111111111011111 -11011111111101010111111101111111111111111111111111111111111111111111111011101111 -11111111111111111111111111111111 -11111111111111111111111111111110111111111011111111111110110101111111111111111111 -11111011111111111111101101111111111111111111111111111011111111111111101111111111 -11111111111111111111111111011111 -11111111111111111111111111111111111111111111111111111110100111111111101011111101 -11101111111111011111111110111111101111111111111110011111111111111111111111111111 -11111011111011111111111111111001 -11011111111111111111111111111110001000011111111111110100101111111010011111011110 -11111111111111010111100111011111101100111111111110011111111111111111111111111111 -11011011111111111111111111111001 -11111111111111111111111111111111111111111111111111110100111101111111111101111111 -01000101111010111111111110110111110101111111111111111111111111111111111111111111 -11111111111101111111111111111111 -11111111111111111111111111111111111111111111111111111110011101111000110111101111 -11111111111111111011101101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111011 -11111111111111111111011111111111111111111101101111110110111111100010111111111111 -01000101011111001111011010110101011111111111111111011111111111111111111101111111 -11111010111111111111111111111111 -11111111111111111110011111111110111111111101110111111000111111110111011110101110 -10011001110110011111111101100111011111111111111110111111111111111111111101111111 -11111010110111111111111111111011 -11111111111111111111111111111111011111111111110111111100111111111111011101111101 -11011101110111111101101101011111011111111111111111111111111111111111111011111111 -11100010100111111111111111111001 -11111111111111111011111111111111011111101011110111111110101101101111011111111011 -11010101111111111011111100111111011111111111111111111111111111111111101111111111 -11110011010111111111111111111101 -01111111111111111111111111111110011111111111111111111000110111100101111111101111 -11001101110111011011101111110110101111111111111011111111111111111111111111111111 -11111111111011111111111111111001 -01011111111111111111111111111110011111111111111111111011001111110111111111101110 -11011111111011011111111111100111111110111111111011111111111111111111111111111111 -11110011111111111111111111111001 -11111111111111111111111111111111111111111101111111111111111101101111111111111111 -10010011111110111111111101111111111101111111111111011111111111111111111111111111 -11110011111001011111111111111111 -11111111111111111111111111111111111111111101111111111101111111111111111111101101 -01011111101111110011111110111111010111111111111101111111111111111111111111111111 -11110011111111111111111111111011 -00111111111111111111011111111111111111111111110111111100111111110111011111111111 -11110101110111001111111111111111111111111111111011111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111011111111111111111111111110111111111100001110111111111110010 -01111001110111001111100001111111011111111111111001111111111111111111111111111111 -11110011111111111111111111111011 -11100111111111111111111111111110001111111111110111110111011111101111011111010010 -11111111110111010110101111111111011111111111111111011111111111111111111111111111 -11011111111111111111111111111001 -11111111111111111010111111111110111111111111101111111100111100111111111111111111 -11011111010110111111111101111101111111111111111111111111111111111111111111111111 -11111111111111111111111111111101 -01111111111111111111111111111111111111111011111111011111111011100111011111110011 -01111011111111111111101110111110111111111111111011111111111111111111101001111111 -11111111111010011111111111111001 -01011111111111111111111111111110001000011101111111000111100101110110111100011100 -11011101111111110111101100010111011111111111111101011111111111111111110101111111 -11111111100101011111111111111001 -11111100111111111111111111111111111111111111111110111100111111111111111111011101 -11011111111111110101110001110111111111111111111111111111111111111111111011111111 -11111111111110111111111111111110 -11111111111111111111111111111111111111111111111111111011111111101111111111111111 -10011111111111111101111110111111111111111111111011111111111111111111111111111111 -11111101110111111111111111111011 -00111111111111111111111111111111111111111101111111011110101111100111111111010010 -11111101111111110101110110010111011101111111111101011111111111111111110101111111 -11111111111111101111111111111111 -11111111111111111111111111111110111111111011111010011110101111110111111111100010 -11111111111111111011101101010111111111111111111011011111111111111111111101111111 -11111111111111101111111111111011 -11111110111111111111111111111111011111111111111111111100111101111111111111111111 -11011111111111111101101111100110111111111111111110011111111111111111111011111111 -11111111111111110101111111111001 -11111111111111111111111111111111011111111111111111111011010101101111111111101101 -01011011111111111001111001110111111011111111111111111111111111111111111111111111 -11111111111111111111111111111111 -01111110111111111111111111111110011111111111111111111000101111110111111111100101 -11101101000111011011101111100111111111111111111010011111111111111111101111111111 -11111111111111111111111111111001 -01011111111111111111111111111110011111111111111011011100101001110111111111100110 -11010100110110001010111101110111111100111111111100011111111111111111110111111111 -11111111111111111111111101111001 -11111111111111111111111111111111111111111111111111111100110101101111111111110111 -00001000110111111111111101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111000111110111111111111110101 -11001110111111111111111011101111111111111111111111111111111111111111111111111111 -11111111111111111111111110111010 -00111111111111111111111111111111111111111111111001111100111111101111111111111111 -11111001110011111111111010010111011101111111111101011111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111100101101110111111111110010 -11111101101111111111101101110111111111111111111111011111111111111111111111111111 -11111111111111111111111101011011 -11111111111111111111111111111110001111111111111111000100111111111111111111010011 -01111111111101000111110111001110111111111111111110111111111111111111101101111111 -11111111111111111111111111111001 -11111111111111111111111111111110111111111111111111111111110011111111111111110111 -11111011111111111111011101111111111011111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111011111111111100100111010111111111011111 -11111101111111011110101110111111101111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110001000011101111111110100101001100111111101011100 -11111101111111010110100101011111111110111111111111111111111111111111111111111111 -11111111111111111110110111111111 -11111111111111111111111111111111111111111111111111110110111101111111101111111111 -01011011111111110100101001110111111101111111111111111111111111111111111111111111 -11111111111111111111111101111111 -11111111111111111111111111111111111111111111111111111110011101111111111111101110 -11001111111110011100111101110111110111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111101111111110111111111110111111011111111 -11101100111111110110111111110111111011111111111111111111111111111111111101111111 -11111110111111011111111110111111 -11111111111111111111111111111110111111111101111111111011000111100111111111100110 -01110111010111111011001001110110111111111111111011111111111111111111111001111111 -11111110111110011111111111111111 -11111111111111111111111111111111011111111111111111111110011101111111111101111111 -11111100101111111100011101101111111101111111111111011111111111111111111111111111 -11111111110111111111111101011111 -11111111111111111111111111111111011111101011111111111110111100111111111111101111 -11111000111111111000110100111011111111111111111111111111111111111111101111111111 -11111111011011111111111111111111 -11111111111111111111111111111110011111111011111111111011111110111111100111100111 -01011011111111011011110110111111101100111111111111011101111111111111111111111111 -11111111111011111111111111111111 -11111111111111111111111111111110011111111101111111111011000101011111110111100110 -11011101111111011000001111010111111100111111111110111101111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111000110111111101110111 -10011111111111111111011101110111111101111111111111111111111111111111111111111111 -11111111111001011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111100110 -11011111111110011111111100110111110011111111111111101011111111111111111111111111 -11111111111111111111111111111111 -11111111111111111110011111111111111111111111111111111111111111110111111111110011 -11111001111111111111101111110111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111100111111111110011111111111111111111111111111111111011111100111111111110010 -11111001111111111111101111110111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110001111111111111111110111111101111111111111010011 -01111111111111110111110101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110111111111111111111111100111110111111111111010011 -11111111111111111111111110101111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111011111111111111111111 -01101101111111111111101111100111111110111111111110011111111111111111111001111111 -11111111111111111111111111111111 -11111111111111111111111111111110001000011111111111110111111101110111101110011110 -11110011111111110100101101110111111101111111111110011111111111111111111001111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111101111110111110111111111 -11111101111111111011100001101111101011111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111100110111101111100111 -11111101111111111111111101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111001111111111111101111100111111111111111 -10111001011111110111111010110110011111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110111111111101111111111110101111110111111111101111 -11011100101111111000101101110001011111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111011111111111111111111011110101111111111111111111 -11111110111111111100110111101001111111111111111111111111111111111111111111111111 -11111111111111111111111101111111 -11111111111111111111111111111111011111111011111111111111111111101111111111111111 -11111010110111111010101100011011111111111111111111111111111111111111111111111111 -11111111111111111111111101111111 -11111111111111111111111111111110011111111111110111111111101011111111111111100110 -11111101111111111010111110111111011111111111111010011111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110011111111111101111111111111101110111111111100110 -10011101111101111000100111011110111111111111111110011111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111101111111111111110110 -11011011111111011100111111110111111111111111111101011111111111111111111111111111 -11111111111011011111111111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111100111 -01001111111111111110111111110111111111111111111111011111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111110011111111111111111111111111111111110111111110111111101111111 -01011001110111111110010111111111111111111111111111111111111111111111111111111111 -11111110111111011111111111111111 -11111111111111111110011111111111111111111111111111111100111101100111111111111110 -11111101111111111100101101111111111111111111111011111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111110001111111111111111110100111011111111111111011111 -11011111101111110100111101111111111111111111111111011111111111111111111111111111 -11111110110110101101111111111111 -11111111111111111111111111111110111111111111111111111110111110111111111101111111 -11111011111111111110111011111111111111111111111111111111111111111111111111111111 -11111111110111111111111111111111 -01111111111111111111111111111111111111111111111111110111111111111110001101111110 -00101001000011111111110110111111111011110011111110111110011111111111111111111111 -11111111111111111111111111011011 -01011111111111111111111111111110001111111111111111110111111111111111010110010010 -11010100110111101111001001011111111111011110010111011111111111111111111111111111 -11011111111111111111111111111010 -11111111111111111111111111111111111111111111111111111111111111111111111101010010 -11011110111101011111101101110111111101111101101111111111010111111111111111111111 -11110011111111111111111101111111 -11111111111111111111111111111111111111111111111111111011111111111011111011110011 -11011010110111111111111101110111111111101111110111111111111111111111111111111111 -11110011111111111111111111111111 -10111111111111111111111111111111111111111101111111111111101111100101001100011111 -11111111101111101111111111100110111111111111110001011001110111111111110101111111 -11111111111111111111111110111001 -11111111111111111111111111111110111111111101110111111011101101110111011101100011 -11011111110111011111111111110111111111111110100110011101110111111111111001111111 -11110000110111111111111111111111 -11111111111111111111111111111111011111111111111111111110101101101111011011110011 -11111101110111111111111111111111011111111101110111011101110111111111111111111111 -11100001000011011111111101111111 -11111111111111111111111111111111011111101011110111111011110001111111010111100011 -10111101111111111111111111101111111111101011010101011100100111111111111111111111 -11111111110111111111111111111111 -01111111111111111111111111111110001111111111111111111000110011111110111111101011 -10111101110010111111111110110111111111100111111010011010101111111111111111111111 -11110001011111111111111111111001 -01011111111111111111111111111110111111111111111111111000001101111111111111101110 -01011001111111111111111110100111111111110111111111011111111111111111111111111111 -11111110111111111111111111111001 -11111111111111111111111111111111111111111111111111111100011101111111111111111110 -11111111111111011111111111110111111111110111111100011111110111111111111111111111 -11111111110111111111111111111111 -11111111111111111111111111111111111111111111111111111000111101111110111111111111 -11001111110101111111111110011111111111000111111111011111011111111111111111111111 -11110011111111111111111111111010 -00110011111111111111111111111111111111110101111111111100111111111111011111111111 -11111111111111111111111111111111111011111110111111111111111111111111111111011111 -11110011111111111111111111111111 -11111111111111111111111111111111111111111101111111111100100111111111111111111110 -01111111110111101111001101111111011111111110110111111101111011111111111111111111 -11110011111111111111111111111011 -11111111111111111111111111111110011111111011111111110100111111111111011111011111 -11111111110111011111011101111111111101011110110111111111110111111111111111111111 -11010011111111111111111111111001 -11111111111111111111111111111110111111111111111111110110111111111111011111111111 -11111111101111111111110001111110111111111111000111111011111111111111111110111111 -11110011111111111111111111111111 -01111111111111111111111111111111111111111101010111111111100010010101011101010111 -11101101111111111111111110111111011111110010111111011111111111111111111101110111 -11111101111111111111111111111001 -01011111111111111111111111111111111000011001110111110111101101100111011000010110 -01001011111111110100111111111111011111011110111111011111111111111111111101110111 -11111110110111111111111111111001 -11101111111111111111111101111111111111111111101111111111111101010110111111111101 -10110101111111110100111111011110111111010011010110111111111111111111111111111111 -11111111110111111111111111111111 -11101111111111111111111101111111111111101111111111111011111111110111111111101111 -11011111111111111100111111111011111111110011111011111111111111111111101010101111 -11111110000111111111111111111010 -00111111111111111110011111111111111111111101111111111111111111110111100101111110 -10101101111111110111111010111111111001010011111111111111100011111111111111111111 -11111111111111111110111111111111 -11111111111111111111011111111111111111111011111111111011100111111111101101101110 -01011101111111111100111101111111111100111111110111111111110111111111111111111111 -11111111111111111111011111111011 -11111111111111111110111111111111111111111111111111111110111111111111111100111110 -11011101111111111100111110110111111111110011111111111111111111111111101101111111 -11111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111011111111101111111011111111 -11000001111111111100011101011111111111110010100111111111111111111111111111111111 -11111111111111111111111111111111 -01111111111111111111111111111111111111111111111111111011111111110111111101100011 -11111101111111111011111101111111111111101111111111011111111111111111111101111111 -11111111111111111111111111111001 -01011111111111111111111111111111111111111111111111111010111111100100011101100010 -11111111111111111111101101111111111111111111110110011111111111111111111101111111 -11111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111110111111111011101011110010 -11111011111111001101111101111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111010111111100011 -01011111111111111101010001111111111111111111101011111111111111111111101011111111 -11111111111111111111111111111010 -00111111111111111111111111111111111111111111111111111111111111110111001111110011 -11111111111000011111111111111111111101111111111011011101111111111111111111111111 -01111111101111111111111111111111 -11111111111111111111111111111111111111111111111111111110100101101110111111111010 -11111111111011011111111111111111111100111011111100011101111111111111111111111111 -01111111110111111111111111111011 -11111111111111111111111111111111111111111111111111110110111011111111111101011011 -01111111111111010111111111111111111011011111111011011111111111111111101100110010 -11111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111111111111111111110101110011 -11111111111111011111111111111111111111111111111011101011111111111111111111111111 -11111110110111111111111111111111 -11111111111111111111111111111111111111101111111111111111011010111110011111110111 -10101111111011111111111111110111111111111111101011111111111111111111111101111111 -11111111111110011111111111111111 -11111111111111111111111111111111111111110111111111110111100101111111011111010111 -11010111111111101111100111101111111111111110010111111111111111111111111101111111 -11010011111110011111111111011110 -11111111111111111111111111111111111111111101111111111111101100010110111111010110 -11111111111111011111111111111111111111111101111101011111111111111111111111111111 -11110011111111111111111111111111 -11111111111111111111111111111111111111111101111111111011111101111111111111111111 -11011111111101111111111111111111111111111111110111011111111111111111101011111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111101111111111111100011100111111111011111 -10101001111111111111111111111111111111111111111010010111111111111111101111111111 -11111011111111111111111100111111 -11111111111111111111111111111111111111111011111111111111101101110111111111101111 -11010101110111111111111111111111111111111110010001001111111111111111100111111111 -11111011111111111111111100111111 -11111111111111111111111111111111111111111111111111111101101101101111111111111111 -11111101111111111111111111111111111111111111111111001101111111111111111101111111 -11101011111111111111111111111111 -11111111111111111111111111111111111111111111111111111011111101111111111111101101 -11011001101111111111111111111111111111111110100110111111111111111111111111111111 -11111011111111111111111101111111 -11111111111111111111111111111111111111111111111111111011110110111111111110101111 -11111101010011111111111110110110011111111111111101011001111111111111111001111111 -11110011111110011101111111111111 -11111111111111111111111111111111111111111111111111111111101101111111111101101110 -11011101110111011111111111110111011111111111111111011101111111111111111101111111 -11110000110111011101111111111110 -11111111111111111111111111111111111111111111111111111100011011011111111111111111 -00111011111001011111111110110110111111111111111111011011111111111111111011111111 -11111101000110111111111111111111 -11111111111111111111111111111111111111111111111111111000111101111111111111111111 -11101111101011111111111110001111111111111111111110011111111111111111111111111111 -11111111110111101011111111111111 -11111110111111111111111111111111111111111101111111111111111111100101011111111010 -11111101111111111111111111111111111111111111111011111111111111111111111111111111 -11110011111111111111111111111111 -11111110111111111111111111111111111111111011111111111111111111100111011111111110 -10011101111111111111101101111111011111111110100001111111110011111111111111111111 -11110011111111111111111111111111 -11111111111111111111111111111111111111111111111111110101111111111110111111011111 -01011111111111111111100110110111111111111101011111011110110111111111111111111111 -11010011111111111111111111111111 -11111111111111111111111111111111111111111111111111111101111111111111111111111011 -11101011111111111111111001111011111111111111110111111111111111111111111111111111 -11110011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111100110111111111111111101 -11101111111111111111111110110111110111111111111110011111111111111111101101111111 -11111101011111011111111111111111 -11111111111111111111111111111111111111111111111111111111101111011111111111011111 -11000111111111110110111110101111100111010011111111011111111011111111111001111111 -11111110111111111111111111111111 -11111011111111111111111111111111111111111111111111111111111101111111111111111110 -10011101111111110100111111110111111111010011111110111110111111111111110101111111 -11111111110111111111111111111111 -11111101111111111111111111111111111111111111111111111111111111111111111111101111 -11011111111111111100111111011111101111110011111111111110110111111111101101111111 -11111111111110111111111111111111 -11111111111111111111111111111111111111111001111111111111101111100111011011110111 -10111001111111110110111010111111111111011111101110011011111111111111111001111111 -11111111111111011111111111111111 -11111111111111111111111111111111111111111101111111111111101101110111111101100100 -11011001111111111111111101111111101111100011110111011101111111111111111001111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111001111011011111111110 -01011111111111111100011110110111111111110011111111101101111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111011111111111111100101101011111111110111 -11011111111111111100111101011111110111110011111110111111111111111111111111111111 -11111111111110111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111101011111100111 -01101111110111111011111010010111011111101111111111011111111111111111111001111111 -11111111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111110011111001111100100 -11111111111111111011001101100111011111101111111111011111111111111111111001111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111110111111101110111 -11010111101111111111111101010111111111111111111111111111111111111111111111111111 -11111111111101011111111111111111 -11111111111111111111111111111111111111111111111111111111111111111110100111111110 -11011111111111111110100101110010111111101101110010111111111111111111111111111111 -11111111111111011111111111111111 -11111111111111111111111111111111111111111001111111111111100111100111111111110101 -11100111111011011111111110101111111111111011011110011111111111111111111111111111 -11111101011011111111111111111111 -11111111111111111111111111111111111111111101111111111111101001110111111111110111 -10011101111111011111111111010111111111111110111111011111111111111111111111111111 -11111110111111111111111111111111 -11111111111111111111111111111111111111111111111111111111101101101111111111011110 -11011111111111110111111111111111111111011111111011011111111111111111111111111111 -11111111110111111111111111111111 -11111111111111111111111111111111111111111011111111111111111101111111111111111111 -11010111111110111111111111111111111111011111111110111111111111111111111111111111 -11111111111101111111111111111111 -01111111111111111111111111111111111111111111111111111100111111111111101111110011 -11111111011111011111110010111111111111111011101011111111110111011111101111111001 -11111110111111111111111111111001 -01011111111111111111111111111111111111111111111111110100111111111011111110010011 -11111110111111010111101100111110111111011001110011101101110101111001111111111111 -11010010110111111111111111111001 -11111111111111111111111111111111111111111111111111110100111111111111111101110111 -11111111111010111111011111110111111111111110110111000110111101011111110111111101 -01010010110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111101110111100011 -11111111111111111011111101011011111111101111110101111001101101011011011111111111 -11111111000111111111111111111011 -00111111111111111111111111111111111111111111111111110111111111100110111111110011 -11111101100111111111111110110110011111111001111011000101110101111111111001101111 -11010001011111111011111111111111 -11111111111111111111111111111111111111111111111111111011000111100111011111110011 -11111101110111111011001001101111011101101010111100111101111110111011011101110111 -01111110110111111101111111111011 -11111111111111111111111111111111111111111111111111111100111101111111011111110111 -11111011110111111111101100010010001111110111110111111101111111011111111011110011 -11110010110011011101111111111001 -11111111111111111111111111111111111111111111111111111111011101111111011111100011 -11101111110111111010110101111111111111100110010111110011101111011000011111110111 -11111111100111111111111111111101 -11111111111111111111111111111111111111111111111111111000111111111111111111100011 -11101111101011111011110011111111100111101011111111111101111110111111101111111111 -11101111111111111101111111111001 -11011111111111111111111111111111111111111111111111111000111111111111111111110011 -11111111111111101011001101111111111111101110000111111111111110111111111111111111 -11111111111111111111111111111001 -11111111111111111111111111111111111111111111111111111100111111111111111111110011 -11111111111111011111011101111111110101111110111111111111111111111011101101111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111100111111111111111111101011 -11110111111101111011111101111111111111101111110111111111111111111111010111111111 -11111111111111111111111111111010 -11111101111111111111111111111111111111111111111111111111111011110111111111110011 -11111001111111111111101110110111111101111111111111011100011111101111101101110111 -11111111111111111110011111111111 -11111011111111111111111111111111111111111111111111111100100101111111111110110010 -01011001111111111110101111101111001001111111111110111101111111101001011101110111 -11110010010111111101011111111011 -11111111111111111111111111111111111111111111111111110100111111111111111101010010 -11111111111111110110110100110111111111011111111111111101110101101111101001110111 -11010011111111111111110111111001 -11111111111111111111111111111111111111111111111111111100011101101111111111111011 -10011111111111111111111111011101111111111111111111111011011111111010000111101111 -11111110100111111011111111111111 -01111111111111111111111111111111111111111111111111111110101010111011111111111111 -11111111010010010111011111111101011000111111101111111100100111001011111111111111 -11110110001011111110111111111001 -01011111111111111111111111111111111111111111111111110111100101011111111111010100 -11011111110011010111100111111111011101010111110111111011111101011010011101111111 -11010110110101011111111111111001 -11111111111111111111111111111111111111111111111111110111011101111101111111011101 -11011111101101011100111101111111111111110111111111111111010101001011011111111111 -11010110110111011111010011111111 -11111111111111111111111111111111111111111111111111111111111101111111111111111111 -00011111111011110011011101111110111111101110110111111111111001001101001111111111 -11010111110011011111111111111011 -00111111111111111111111111111111111111111001111111110110011011111011111111010111 -00101001111111111111111111010111111111111010111101111111111101110111101111101111 -11011110111111111111111111111111 -11111111111111111111111111111111111111111001111111111011101101111101111111100110 -11010101111111111111111111110111111111100010111111011111111110011010011101110111 -11100110111111111111111111111011 -11111111111111111111111111111111111111111111111111111111010101111111111111111111 -11111001111111111100111111111111111111110011010111111111111111001011011101111111 -11110110010111111111111111111001 -11111111111111111111111111111111111111111111111111111100111101111111111111110110 -11011101111111111111111111101111111111101011111111111111111111001101000101111111 -11110111110111111111111111111101 -01111111111111111111111111111111111111111111111111111001111111111111111111101111 -11101111111001111001111110100110101111101110111011111110111110111011111111111111 -11100110111111111111111111111111 -01011111111111111111111111111111111111111111111111111001111111111111111100100011 -11111111111111111011111111010111011111101110111101101110110110111111111101111111 -00100010110111111111111111111110 -11111111111111111111111111111111111111111111111111111101111111111111111111110011 -11110111111111001111011111110111110101111111110111100101010011101011011111111111 -11110011110111111111111111111111 -11111111111111111111111111111111111111111111111111111001111111111111111111100111 -11111111111111111101111101100111111110101110010111111111111111111111001111111111 -11110010000111111111111111111111 -00111111111111111111111111111111111111110111111111111101111111100111111111111011 -11101001111001111101111110110111100101111101111011011100111111111111101101111111 -11110011111111111111111111111111 -11111111111111111111111111111111111111111101111111111100111111100111111111110011 -11111101111111111111011111110111111100111111110110011001111111111111111011111111 -11110011111111111111111111111111 -11111111111111111111111111111111111111111111111111110101111111111111111111010011 -11100001111111010111011100010111111111011110100111011111010001111111111101111111 -11011111111011011111111111111111 -11111111111111111111111111111111111111111111111111111101111111111111111111110011 -11111111111111101101111100101111111011111111110001001111111111111111110101111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111101111111011111111111111 -01111111111111111111110011111111111111111001111011110110011111111011111111110011 -11111101111111111111111111111111 -11111111111111111111111111111111111111111111111111111111101001110011111111111110 -10011111111111110111001101111111111111011010011101111101111101001010011110101111 -10111110010111111111111111111111 -11111111111111111111111111111111111111111111111111111111110101111101011111111110 -11101101111111111111011101111111111111010011110111011111110101001111011101110111 -01111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111111101100111111111111111111 -11011111111111111111111101111111111111111011111111011111011111111001011101111101 -11111111100111111111111111011111 -11111111111111111111111111111111111111111001111111111111111111100111111111111110 -10111101111111111111111110110111111111011011000011010111111101001111101111111101 -11111111111011111110111111111111 -11111111111111111111111111111111111111111101111111111111111111100111111111111110 -11011101111111111101100101111100011111101010110111000111110110111001110111111111 -11111111111111111111011011111111 -11111111111111111111111111111111111111111011111111111111111111111111111111111111 -01011111111111111011101111110011111111111011110110001111111111111111111111111111 -01111111111111011111110111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111101 -11001011111111111111111001000010111111111010110001011111110111001011011111111111 -11111111111101011111111101111111 -11111111111111111111111111111111111111111111111111111111111110111011111111111111 -11111111111111111111011011111111010111101101101111111110011110101100111111010111 -00111111111011111110111111111111 -11111111111111111111111111111111111111111111111111111111111110011111111111111111 -11111111111111111111101101111111111111100110110111111111111110010011011111110111 -01111111111111111111111011111111 -11111111111111111111111111111111111111111111111111111111111111110011011111111111 -11111111111111111111110101111110111101111011010111011111010111010111011111111111 -11111111111011011111110111111111 -11111111111111111111111111111111111111111111111111111111111111111101111111111111 -11111111111111111111011101111111111111100010110111011111111111101111011111101110 -11111111111101111111011111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101001111011111111111110110111111001111101111111011111111001111111101101111011 -11111111111111111111101011111111 -11111100111111111111111111111111111111111111111111111111111111111111111111111111 -11111001111111101111101101011111101101110011110111011111110001000011011011111111 -10111111111111101111110111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11101101111111010101100011111111011001011001110011011111110101001111011111111101 -01111111111111111101110111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11110111111101111111111101101111011111110011100010111111111111111000010111111111 -11111110110111111111111111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111011111111100011111111111111111110101011111111111111111111111111111111 -11110111111011111111110111111111 -11111111111111111111111111111111111111111111111111111111111110111111111111111111 -11111111111111010100101101111111101111011111110101111111111101001000011111111111 -11011111111011111111111111111111 -11111111111111111111111111111111111111111111111111111111111111010111111111111111 -11111111111011111100111101111111111111010011110111011111111101001111111111111111 -11011111111111011110111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111110111000011101111111110111110001110111011111111111111111111111111111 -11110111111101111111111111111111 -11111111111111111111111111111111111111111001111111111111110111100111111111111110 -11101001111111111111111110100100111111011111011011011001111101111011101001111111 -11011001101111111111111111111111 -11111111111111111111111111111111111111111101111111111111101101110111111111111110 -10010000100111111000111111100011011111100110111110111101111110001011110001111111 -11100011110011111111111111111111 -11111111111111111111111111111111111111111011111111111111011111101111111111111110 -11011101111111111100111110010011111111110011111101001101111111011111011111111111 -11110011110111011111111111111111 -11111111111111111111111111111111111111111111111111111111111001111111111111111111 -01011100001111111000101101111111011111110011111111001111111111101001011111111111 -11111011111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111101101111111 -11111111110111111000111011110111011111100101001101001111111110001011111111111111 -11100001111011111001111111111111 -11111111111111111111111111111111111111111111110111111111111111111111111101111111 -11111111101111111000111101111110011111100110110110011111111110001111111111111111 -11100011110111111101111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111011111111 -11111111111111111100101111101111111111110111110111111111111111001011011111111111 -11110010110101011111111111111111 -11111111111111111111111111111111111111111110111111111111111111111111111111111111 -11111111111111111001111101111011111111100010110111110111111111001111011111111111 -11110011100111011011111111111111 -11111111111111111111111111111111111111111111111111111111111111100111111111111111 -11111101111111111100101111110011111111111110111111011011111111001111101100111100 -01110010111111111111111111111111 -11111111111111111111111111111111111111111111111111111111001101110111111111111100 -11011111111111111100101111110011100111111110100111011101111111001010010111111010 -01111110111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111101101111111111111101 -11011111111111110100110101101111010101011111110111111111111101101011111111011111 -01011111110111111111111111111111 -11111111111111111111111111111111111111111111111111111111110011111111111111111111 -00011011111111111100111110111101111111111010010010111111111111001101011011111111 -01111011011111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111101111111101111 -11111111111111111111111111111111 -11111111111111111011111111111111111111111111111111111111111111111111111111111111 -11111111111111111111110011111111111111111111111111111111111101111110110111101111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111011111111111011111111101111111111111111111110111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111101111111111111111111111111111111111111111110011111111001111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111110111111111111 -11111111111111110011111111101111111111101111111110111111111111111111111001111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111110111111111 -11111111111111110111111111111111111111111111111111111111111101111111110111111111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111101111111111111111111110 -11111111111111111111101011010111111111010111111101011011111111111111110111101111 -11111110111111111011111111111111 -11111111111111111111111111111111111111111111111111111111111111111111110111111111 -11111111111111111111101111111111111111111111111111111111111111111111111111101011 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111100111111111110111111111111111111111 -00111111111111111111110111111111111111111111111111111100111111111111111111100111 -11111111001111111001111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111100011111111111111111111111111111111111111111111111111110111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111101011111111111111111110 -11111111111111111111101111111111111111111111111111111011111111111111111111111111 -11111110111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111110111111111111111111111011111111111111111111001101111 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111101111111111111111111110111111111111111111111111111011 -11111111111111111110111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111111111111111111111111111111111111111111111111111 -11111111111111111111111111111111 -11111111111111111111111110111111111111111111111011110010100100111101110111001010 -01001111011101110011000100111101101011001100010011110010011100101001001111001111 -11001010010011110111011111111111 -11111111001101111111011110111100101001001111011101110010110011011100111111111111 -11111111111011110011000100111100100111001100010011110110011100110001001111011001 -11001010010011110111011111111111 -11111111111111111111111111111111111111111111111111110010100100111100111111111111 -11111111111111110011000100111101100111111111111111111111111100110001001111001001 -11111111111111111111111111111111 -11111111111111111111111111111111111111111111111111110011011111110111101111111111 -11111111111111110010100100111100111111111111111111111111111100110001001111011001 -11111111111111111111111111111111 -* -CDA53* -N User Electronic Signature Data* -U00000000000000000000000000000000* -2381 + +* +NOTE JEDEC CREATED BY: Lattice Semiconductor Diamond Deployment Tool 3.12* +NOTE Version: Diamond (64-bit) 3.12.1.454* +NOTE Readback: Off* +NOTE Security: Off* +NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation * +NOTE All Rights Reserved * +NOTE DATE CREATED: Sat Aug 19 20:53:35 2023 * +NOTE DESIGN NAME: RAM2GS * +NOTE DEVICE NAME: LCMXO256C-3TQFP100 * +NOTE PIN ASSIGNMENTS * +NOTE PINS RD[0] : 64 : inout * +NOTE PINS Dout[0] : 1 : out * +NOTE PINS PHI2 : 39 : in * +NOTE PINS UFMSDO : 55 : in * +NOTE PINS UFMSDI : 56 : out * +NOTE PINS UFMCLK : 58 : out * +NOTE PINS nUFMCS : 53 : out * +NOTE PINS RDQML : 61 : out * +NOTE PINS RDQMH : 76 : out * +NOTE PINS nRCAS : 78 : out * +NOTE PINS nRRAS : 73 : out * +NOTE PINS nRWE : 72 : out * +NOTE PINS RCKE : 82 : out * +NOTE PINS RCLK : 86 : in * +NOTE PINS nRCS : 77 : out * +NOTE PINS RD[7] : 71 : inout * +NOTE PINS RD[6] : 70 : inout * +NOTE PINS RD[5] : 69 : inout * +NOTE PINS RD[4] : 68 : inout * +NOTE PINS RD[3] : 67 : inout * +NOTE PINS RD[2] : 66 : inout * +NOTE PINS RD[1] : 65 : inout * +NOTE PINS RA[11] : 79 : out * +NOTE PINS RA[10] : 87 : out * +NOTE PINS RA[9] : 85 : out * +NOTE PINS RA[8] : 96 : out * +NOTE PINS RA[7] : 100 : out * +NOTE PINS RA[6] : 91 : out * +NOTE PINS RA[5] : 95 : out * +NOTE PINS RA[4] : 99 : out * +NOTE PINS RA[3] : 97 : out * +NOTE PINS RA[2] : 94 : out * +NOTE PINS RA[1] : 89 : out * +NOTE PINS RA[0] : 98 : out * +NOTE PINS RBA[1] : 83 : out * +NOTE PINS RBA[0] : 63 : out * +NOTE PINS LED : 57 : out * +NOTE PINS nFWE : 22 : in * +NOTE PINS nCRAS : 43 : in * +NOTE PINS nCCAS : 27 : in * +NOTE PINS Dout[7] : 3 : out * +NOTE PINS Dout[6] : 2 : out * +NOTE PINS Dout[5] : 5 : out * +NOTE PINS Dout[4] : 4 : out * +NOTE PINS Dout[3] : 6 : out * +NOTE PINS Dout[2] : 8 : out * +NOTE PINS Dout[1] : 7 : out * +NOTE PINS Din[7] : 19 : in * +NOTE PINS Din[6] : 20 : in * +NOTE PINS Din[5] : 17 : in * +NOTE PINS Din[4] : 18 : in * +NOTE PINS Din[3] : 16 : in * +NOTE PINS Din[2] : 14 : in * +NOTE PINS Din[1] : 15 : in * +NOTE PINS Din[0] : 21 : in * +NOTE PINS CROW[1] : 34 : in * +NOTE PINS CROW[0] : 32 : in * +NOTE PINS MAin[9] : 51 : in * +NOTE PINS MAin[8] : 50 : in * +NOTE PINS MAin[7] : 44 : in * +NOTE PINS MAin[6] : 49 : in * +NOTE PINS MAin[5] : 45 : in * +NOTE PINS MAin[4] : 46 : in * +NOTE PINS MAin[3] : 47 : in * +NOTE PINS MAin[2] : 37 : in * +NOTE PINS MAin[1] : 38 : in * +NOTE PINS MAin[0] : 23 : in * +NOTE CONFIGURATION MODE: NONE * +NOTE COMPRESSION: off * + + +QF56640* +G0* +F0* +L00000 +11111111001101111111011110111100110111111101111011110011011111110111101111001101 +11111101111011111111111111111111101111001010010011010111011100101001001101011110 +11001010010011010111101111111111 +11111111001111111111011110111100110111111101111011110011011111110111101111001101 +11111101111011111111111111111111101111001010010011010111011100101001001101011101 +11001010010011010111011111111111 +11111111111111111111111111111111111111111111111111110011011111110111101111111111 +11111111111111111111111111111111101111111111111111111111111100101001001101011101 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111110011011111110111101111111111 +11111111111111110011011111110111101111111111111111111111111100101001001101011101 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111101111111111111111111011111111111111111111 +11111111111111111111111111111011111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111101111111111111111111101111111111111111101 +11111111011111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111100111111011111111111111111111111111111111011111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11111111011111111111101111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11110111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111101111111111111 +11111111111111111111111011111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111110111111111111111101111111111111111111 +11011111111111111011111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111011111111111111111111111111111111111111111111111111111111011111111101111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111011111111101111111111111111111110111 +11111111111111111101111111111111 +11111111111111111111111111101101111111111111111111111111111111111101111111111111 +11111111011110111111111111111111111111111111111111111111111111111111111111110111 +11111111111111111111111111111111 +11111111111111111111111111111100011111111111111111111111111110111111111111111111 +11111111111111111111111101111111111111111111101111111111111111111111111111111111 +11111111111111111110111111111111 +11111111111111111111111111101111111111111111111111111111111111111101111111111111 +11111111111110111111111111111111111111111111111111111111111111111110111111111011 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111101111111111111 +11111111111111111111111101111111111111111110111111111011111111111111111111101111 +11111111111111111011111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111101111 +11111111111111111111111111111111 +11111111111111111111111111111111111111110111111111111111111111111111111111111111 +11111111111111111111111111110111111111111011111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111100111111101111111111111110011011111111101111110111 +01111111111011111111011111111111111101111111111111111111111111111111111111111111 +11111111111111111111111111111001 +11011111111111111111111111111110001000011111111111110110111101111111111110011100 +11011111111111110111101111111111111101111111111111111111111111111111111111111111 +11111111111111111111111111111001 +11111111111111111111111111111111111111100101111111110100101101111111111101111110 +10011111111111110111111101111111101011111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111110100111101111111110111101111 +11011111111101111100110111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111010 +11111111111111111111111111111111111111111001101111110100111011111111111101111101 +11111111100111110110111010010111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110111111111101110111111010001101111111011111101111 +10011111110111111000101100100111011101111111111111111111111111111111111111111111 +11111111111111111111111111011011 +11111111111111111111111111111111011111111111110111111110100101111111111111111111 +11011111110111111100011111010111101111111111111111011111111111111111111111111111 +11111111111111111111111111111001 +11111111111111111111111111111111011111111011110111111100111101111111011011101101 +11011111101111111100110101111111011111111111111111011111111111111111111111111111 +11111111111111111111111101111111 +11111111111111111111111111111110011111111111111111111011110111110111111111101111 +11011101110010111001111011100111111111111111111111111111111111111111111111111111 +11111111111111111111111111111001 +11011111111111111111111111111110011111111111111111111011101101101111111111101111 +11011111111111111011111101100111111101111111111111111111111111111111111111111111 +11111100100111111111111110111001 +11111111111111111111111111111111111111111111111111111111101111111111111111111101 +11011011111111011111011111111111101111111111111111111111111111111111111111111111 +11111101010111111111111101111111 +11111111111111111111111111111111111111111111111111111111111001111111111111101111 +10011111110101111011111101111101011111111111111111111111111111111111111111111111 +11111111110111111111111110011010 +11110001111111111111111111111111111111110101110111111111111101110111111011111111 +11011101111001111111111110111111101011111111000001011111111111111111111111111111 +11111111101011111111111111111111 +11111011111111111111111111111111111111111001110111111111101101110111111111110110 +11011011110101111111111111111111011111111110110110011111111111111111111111111111 +11111111110001111111111111111011 +11111111111111111111111111111110001111111111110111110111100101101111111101011111 +00011111110111010111111111011111011101111111110001011111111111111111111101111111 +11111111111111011111111111111001 +11111111111111111111111111111110111111111111101111111101111000111111111111111101 +11011111011111111111111111111010110111111101110111111111111111111111111101111111 +11111110110111111111111111111111 +01111111111111111111111111111111111111111011111111011111111001110111111111111110 +11111111111111101111111001111111101111111111111111111001111111111111111111111111 +11111011111111111001111111111001 +01011111111111111111111111111110001000011101111111000111101101101111111111011110 +11011111111111011111100101111111111111011111111111011101111111111111111111111111 +11011111111111111101111111111001 +11111111111111111111111111111111111111111111111110111100100101111111111111011110 +11011111111111111111111101111111110101111011111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111100111101111111111111010111 +00011111111111111111011101111111111101111011111011111011111111111111111111111111 +11111011111111111011111111111011 +00111111111111111111111111111111111111111101111111011111111011110111011101010011 +00111101011111111111111110110111111101110011110111111111111111111111101111111111 +11111010001111011111111111111111 +11111111111111111111111111111110111111111101111110001110000101111110011111101110 +11011111110111111111111111010111111111110010010111111111111111111111101111111111 +11110010110111111111111111111011 +11111111111111111111111111111111011111111111111111111000101101101111111011111101 +11111110110111111111111111101111111011101010110111111111111111111111110101111111 +11100010110111111111111101111001 +11111111111111111111111111111111011111101011111111111100111101111011111111110011 +11011011111111111111111110111111111111111011100111111111111111111111111111111111 +11111011110110111111111111111101 +01111111111111111111111111111110011111111111111001011111111111111111111111100111 +10111110111111111111111111111101011111110011111111111111111111111111111111111111 +11111011111111111111111111111001 +01011111111111111111111111111110011111111111111111001111100101111111111111100100 +01011110110111111111111001111011101101110011111111111111111111111111111111111111 +11111011111111111111111111111001 +11111111111111111111111111111111111111111111111110011111101111111111111111110001 +11011110010111111111011111111011011111110011111111111111111111111111111111111111 +11111011111111111111111111111110 +11111111111111111111111111111111111111111111111111101111111001111111111111110011 +11011110101111111111111101111011111111111111111111111111111111111111111111111111 +11111011111111111111111111111011 +00111111111111111111101111111111111111111001111111011111101111110111111100110110 +11111111111111111111111110110111111100111111111111111111111111111111111101111111 +11111011111111111111111111111111 +11111111111111111111111111111111111111111101111011011111101101101111111001111111 +11011111111111111111101100111111111101111111111111111111111111111111111001111111 +11111011110111111111111111111011 +11111111111111111111110101111110001111111111111111110111101101111111111111011010 +11011111111111111111100111010111111111010011111111111111111111111111111111111111 +11011111101111111111111111111001 +11111111111111111111111101111110111111111011111110111101110001111111111111110011 +10011111111111111111111001101111111011111111111111111111111111111111101111111111 +11111101110111111111111111111111 +11111111111111111111111111111111111111111111110111111111101011111111111111111111 +11111001011111011111111111110111111111111111111111111111111111111111111111111111 +11111110111111111111111111111001 +11111111111111111111111111111110001000011111101111110111111101111111111111011100 +11011001110011010111111111101111111111111111110111111111111111111111111111111111 +11010111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111011101111111111111111101 +10011111111111111100111111111111111111111110111111111111111111111111111111111111 +11110111110111111111111111111111 +11111111111111111111111111111111111111111111111111111101111101111111111111101111 +01011111111110111011111111111111111111111111100111111111111111111111111111111111 +11111111111111111111111111111010 +11111111111111111111111111111111111111111101111111111111111111010111111111111111 +11111101111111111111110111111101111101111111111111111111111111111111111101111111 +11111011111111111111110111111111 +11111111111111111111111111111110111111111011111111111111100101110111111111101100 +11001101111111011011001101111010011100111111111111111111111111111111111001111111 +11110011111111111111110110111011 +11111111111111111111111111111111011111111111111111111011011011101111111111111010 +00011001111111111100111101111011101001111111111111011111111111111111111101111111 +11100011111111111110101111111001 +11111111111111111111111111111111011111111111111111111111111101111111111111111111 +11001111111111011111011001111010011111111111111111011111111111111111101101111111 +11111011111111111111111110111111 +11111111111111111111111111111110011111111111110111111111101111100111111101101111 +10011101111110011011111111111101011111111111111111111111111111111111111111111111 +11111010011110011111111101111001 +11111111111111111111111111111110011111111111101111111111101111100111111101101011 +11011111111010011010111111111111011111111111111111111111111111111111111111111111 +11110010111111011111111111111001 +11111111111111111111111111111111111111111111111111111111011101111111111111111110 +11011011111111011111101111111111111111111111111111111111111111111111111111111111 +11111111110110111111111111111111 +11111111111111111111111111111111111111111111111111111110110101111111111001101111 +11011111111111111011111101111110111111111111111111111111111111111111111111111111 +11111011111111111111111111111011 +11111111111111111111011111111111111111111001111111111111111101111111111111111111 +11111111011001011111111100100111111101111111111011111111111111111111111111111111 +11111011111011101111111111111111 +11111111111111111110111111111111111111111101111111111111101101111111111111111110 +11011111110101011111101101010111101001111111111111111111111111111111111111111111 +11110011111011111111111111111011 +11111111111111111111111111111110001111111111111111110111010101111111111111011111 +01111111111111010111110000110111111111111111111101111111111111111111111111111111 +11011111111101011111111111111001 +11111111111111111111111111111110111111111011111111111111111001111111111111111110 +10011111111110011111011101101111111111111111111111111111111111111111111111111111 +11111011111111110111111111111101 +11111111111111111111111111111111111111110101111111111111111011111111111111111110 +10111011111111111111111111111111111111111111111111111111111111111111111001111111 +11111101111111111111111111111111 +11111111111111111111111111111110001000011001111111110111011101111111111111010011 +11011101111111110100000001110111111111111111111111111111111111111111111001111111 +11111110111111111111111111111111 +11111111111111111111111111111111111111111111111111111100011101111111111111010001 +11011111111111111100111101111111111111111111111111111111111111111111111111111111 +11111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111100111101111111111111110011 +11011111111111111000111110111111111111111111111111111111111111111111111111111111 +11111111010111111111111111111111 +11111111111111111111111111111111111111111001111111111111110110111111111111011111 +11001111100111111111111110100111111111111111111011111111111111111111111101111111 +11111110101111111111111111111111 +11111111111111111111111111111110111111111101111111111110101101111111111111100010 +11100110110111111100111111110101100111111100111111111111111111111111111111111111 +11111110110111111111111111111111 +11111111111111111111111111111111011111111111111111111000101111110111111111110011 +11011100010111111100111111011011110111111111010101111111111111111111111011111111 +11111110110111111111111111111111 +11111111111111111111111111111111011111111011111111111100111001010111111111100110 +01011110111111111000111111101111101111111111111111111111111111111111111111111111 +11111111010111111111111111111111 +11111111111111111111111111111110011111111111111111111111111011111111111111101010 +10111111110111111011111111110111111111111111111110011111111111111111111111101111 +11111111111111111111111111111111 +11111111111111111111111111111110011111111111111111111111000101111111111111101110 +01011111111111111111111001110111111111111111111110011111111111111111111111110111 +11111111111111111111111101111111 +11111111111111111111111111111111111111111111111111111111101101111111111111111111 +11011111111111111110011111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111101111111111111111111 +11111111101111111010111100101111111111111111111111111111111111111111111111111111 +11111111111111111111111100111111 +11111111111111111111111111111111111111111001010111111111111111010110111111111101 +10111001111111111111010111010111111111111111111101011101111111111111111101010111 +11111111111101011111111111111111 +11111111111111111111111111111111111111111101110111111111101001110111011111111111 +11011101111010111111101111100111111111111111111110011111111111111111111101110111 +11111111111110011111111111111111 +11111111111111111111111111111110001111111111101111110111011111101111111111011111 +11011111111101010111111101111111111111111111111111111111111111111111111011101111 +11111111111111111111111111111111 +11111111111111111111111111111110111111111011111111111110110101111111111111111111 +11111011111111111111101101111111111111111111111111111011111111111111101111111111 +11111111111111111111111111011111 +11111111111111111111111111111111111111111111111111111110100111111111101011111101 +11101111111111011111111110111111101111111111111110011111111111111111111111111111 +11111011111011111111111111111001 +11011111111111111111111111111110001000011111111111110100101111111010011111011110 +11111111111111010111100111011111101100111111111110011111111111111111111111111111 +11011011111111111111111111111001 +11111111111111111111111111111111111111111111111111110100111101111111111101111111 +01000101111010111111111110110111110101111111111111111111111111111111111111111111 +11111111111101111111111111111111 +11111111111111111111111111111111111111111111111111111110011101111000110111101111 +11111111111111111011101101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111011 +11111111111111111111011111111111111111111101101111110110111111100010111111111111 +01000101011111001111011010110101011111111111111111011111111111111111111101111111 +11111010111111111111111111111111 +11111111111111111110011111111110111111111101110111111000111111110111011110101110 +10011001110110011111111101100111011111111111111110111111111111111111111101111111 +11111010110111111111111111111011 +11111111111111111111111111111111011111111111110111111100111111111111011101111101 +11011101110111111101101101011111011111111111111111111111111111111111111011111111 +11100010100111111111111111111001 +11111111111111111011111111111111011111101011110111111110101101101111011111111011 +11010101111111111011111100111111011111111111111111111111111111111111101111111111 +11110011010111111111111111111101 +01111111111111111111111111111110011111111111111111111000110111100101111111101111 +11001101110111011011101111110110101111111111111011111111111111111111111111111111 +11111111111011111111111111111001 +01011111111111111111111111111110011111111111111111111011001111110111111111101110 +11011111111011011111111111100111111110111111111011111111111111111111111111111111 +11110011111111111111111111111001 +11111111111111111111111111111111111111111101111111111111111101101111111111111111 +10010011111110111111111101111111111101111111111111011111111111111111111111111111 +11110011111001011111111111111111 +11111111111111111111111111111111111111111101111111111101111111111111111111101101 +01011111101111110011111110111111010111111111111101111111111111111111111111111111 +11110011111111111111111111111011 +00111111111111111111011111111111111111111111110111111100111111110111011111111111 +11110101110111001111111111111111111111111111111011111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111011111111111111111111111110111111111100001110111111111110010 +01111001110111001111100001111111011111111111111001111111111111111111111111111111 +11110011111111111111111111111011 +11100111111111111111111111111110001111111111110111110111011111101111011111010010 +11111111110111010110101111111111011111111111111111011111111111111111111111111111 +11011111111111111111111111111001 +11111111111111111010111111111110111111111111101111111100111100111111111111111111 +11011111010110111111111101111101111111111111111111111111111111111111111111111111 +11111111111111111111111111111101 +01111111111111111111111111111111111111111011111111011111111011100111011111110011 +01111011111111111111101110111110111111111111111011111111111111111111101001111111 +11111111111010011111111111111001 +01011111111111111111111111111110001000011101111111000111100101110110111100011100 +11011101111111110111101100010111011111111111111101011111111111111111110101111111 +11111111100101011111111111111001 +11111100111111111111111111111111111111111111111110111100111111111111111111011101 +11011111111111110101110001110111111111111111111111111111111111111111111011111111 +11111111111110111111111111111110 +11111111111111111111111111111111111111111111111111111011111111101111111111111111 +10011111111111111101111110111111111111111111111011111111111111111111111111111111 +11111101110111111111111111111011 +00111111111111111111111111111111111111111101111111011110101111100111111111010010 +11111101111111110101110110010111011101111111111101011111111111111111110101111111 +11111111111111101111111111111111 +11111111111111111111111111111110111111111011111010011110101111110111111111100010 +11111111111111111011101101010111111111111111111011011111111111111111111101111111 +11111111111111101111111111111011 +11111110111111111111111111111111011111111111111111111100111101111111111111111111 +11011111111111111101101111100110111111111111111110011111111111111111111011111111 +11111111111111110101111111111001 +11111111111111111111111111111111011111111111111111111011010101101111111111101101 +01011011111111111001111001110111111011111111111111111111111111111111111111111111 +11111111111111111111111111111111 +01111110111111111111111111111110011111111111111111111000101111110111111111100101 +11101101000111011011101111100111111111111111111010011111111111111111101111111111 +11111111111111111111111111111001 +01011111111111111111111111111110011111111111111011011100101001110111111111100110 +11010100110110001010111101110111111100111111111100011111111111111111110111111111 +11111111111111111111111101111001 +11111111111111111111111111111111111111111111111111111100110101101111111111110111 +00001000110111111111111101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111000111110111111111111110101 +11001110111111111111111011101111111111111111111111111111111111111111111111111111 +11111111111111111111111110111010 +00111111111111111111111111111111111111111111111001111100111111101111111111111111 +11111001110011111111111010010111011101111111111101011111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111100101101110111111111110010 +11111101101111111111101101110111111111111111111111011111111111111111111111111111 +11111111111111111111111101011011 +11111111111111111111111111111110001111111111111111000100111111111111111111010011 +01111111111101000111110111001110111111111111111110111111111111111111101101111111 +11111111111111111111111111111001 +11111111111111111111111111111110111111111111111111111111110011111111111111110111 +11111011111111111111011101111111111011111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111011111111111100100111010111111111011111 +11111101111111011110101110111111101111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110001000011101111111110100101001100111111101011100 +11111101111111010110100101011111111110111111111111111111111111111111111111111111 +11111111111111111110110111111111 +11111111111111111111111111111111111111111111111111110110111101111111101111111111 +01011011111111110100101001110111111101111111111111111111111111111111111111111111 +11111111111111111111111101111111 +11111111111111111111111111111111111111111111111111111110011101111111111111101110 +11001111111110011100111101110111110111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111101111111110111111111110111111011111111 +11101100111111110110111111110111111011111111111111111111111111111111111101111111 +11111110111111011111111110111111 +11111111111111111111111111111110111111111101111111111011000111100111111111100110 +01110111010111111011001001110110111111111111111011111111111111111111111001111111 +11111110111110011111111111111111 +11111111111111111111111111111111011111111111111111111110011101111111111101111111 +11111100101111111100011101101111111101111111111111011111111111111111111111111111 +11111111110111111111111101011111 +11111111111111111111111111111111011111101011111111111110111100111111111111101111 +11111000111111111000110100111011111111111111111111111111111111111111101111111111 +11111111011011111111111111111111 +11111111111111111111111111111110011111111011111111111011111110111111100111100111 +01011011111111011011110110111111101100111111111111011101111111111111111111111111 +11111111111011111111111111111111 +11111111111111111111111111111110011111111101111111111011000101011111110111100110 +11011101111111011000001111010111111100111111111110111101111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111000110111111101110111 +10011111111111111111011101110111111101111111111111111111111111111111111111111111 +11111111111001011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111100110 +11011111111110011111111100110111110011111111111111101011111111111111111111111111 +11111111111111111111111111111111 +11111111111111111110011111111111111111111111111111111111111111110111111111110011 +11111001111111111111101111110111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111100111111111110011111111111111111111111111111111111011111100111111111110010 +11111001111111111111101111110111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110001111111111111111110111111101111111111111010011 +01111111111111110111110101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110111111111111111111111100111110111111111111010011 +11111111111111111111111110101111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111011111111111111111111 +01101101111111111111101111100111111110111111111110011111111111111111111001111111 +11111111111111111111111111111111 +11111111111111111111111111111110001000011111111111110111111101110111101110011110 +11110011111111110100101101110111111101111111111110011111111111111111111001111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111101111110111110111111111 +11111101111111111011100001101111101011111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111100110111101111100111 +11111101111111111111111101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111001111111111111101111100111111111111111 +10111001011111110111111010110110011111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110111111111101111111111110101111110111111111101111 +11011100101111111000101101110001011111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111011111111111111111111011110101111111111111111111 +11111110111111111100110111101001111111111111111111111111111111111111111111111111 +11111111111111111111111101111111 +11111111111111111111111111111111011111111011111111111111111111101111111111111111 +11111010110111111010101100011011111111111111111111111111111111111111111111111111 +11111111111111111111111101111111 +11111111111111111111111111111110011111111111110111111111101011111111111111100110 +11111101111111111010111110111111011111111111111010011111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110011111111111101111111111111101110111111111100110 +10011101111101111000100111011110111111111111111110011111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111101111111111111110110 +11011011111111011100111111110111111111111111111101011111111111111111111111111111 +11111111111011011111111111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111100111 +01001111111111111110111111110111111111111111111111011111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111110011111111111111111111111111111111110111111110111111101111111 +01011001110111111110010111111111111111111111111111111111111111111111111111111111 +11111110111111011111111111111111 +11111111111111111110011111111111111111111111111111111100111101100111111111111110 +11111101111111111100101101111111111111111111111011111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111110001111111111111111110100111011111111111111011111 +11011111101111110100111101111111111111111111111111011111111111111111111111111111 +11111110110110101101111111111111 +11111111111111111111111111111110111111111111111111111110111110111111111101111111 +11111011111111111110111011111111111111111111111111111111111111111111111111111111 +11111111110111111111111111111111 +01111111111111111111111111111111111111111111111111110111111111111110001101111110 +00101001000011111111110110111111111011110011111110111110011111111111111111111111 +11111111111111111111111111011011 +01011111111111111111111111111110001111111111111111110111111111111111010110010010 +11010100110111101111001001011111111111011110010111011111111111111111111111111111 +11011111111111111111111111111010 +11111111111111111111111111111111111111111111111111111111111111111111111101010010 +11011110111101011111101101110111111101111101101111111111010111111111111111111111 +11110011111111111111111101111111 +11111111111111111111111111111111111111111111111111111011111111111011111011110011 +11011010110111111111111101110111111111101111110111111111111111111111111111111111 +11110011111111111111111111111111 +10111111111111111111111111111111111111111101111111111111101111100101001100011111 +11111111101111101111111111100110111111111111110001011001110111111111110101111111 +11111111111111111111111110111001 +11111111111111111111111111111110111111111101110111111011101101110111011101100011 +11011111110111011111111111110111111111111110100110011101110111111111111001111111 +11110000110111111111111111111111 +11111111111111111111111111111111011111111111111111111110101101101111011011110011 +11111101110111111111111111111111011111111101110111011101110111111111111111111111 +11100001000011011111111101111111 +11111111111111111111111111111111011111101011110111111011110001111111010111100011 +10111101111111111111111111101111111111101011010101011100100111111111111111111111 +11111111110111111111111111111111 +01111111111111111111111111111110001111111111111111111000110011111110111111101011 +10111101110010111111111110110111111111100111111010011010101111111111111111111111 +11110001011111111111111111111001 +01011111111111111111111111111110111111111111111111111000001101111111111111101110 +01011001111111111111111110100111111111110111111111011111111111111111111111111111 +11111110111111111111111111111001 +11111111111111111111111111111111111111111111111111111100011101111111111111111110 +11111111111111011111111111110111111111110111111100011111110111111111111111111111 +11111111110111111111111111111111 +11111111111111111111111111111111111111111111111111111000111101111110111111111111 +11001111110101111111111110011111111111000111111111011111011111111111111111111111 +11110011111111111111111111111010 +00110011111111111111111111111111111111110101111111111100111111111111011111111111 +11111111111111111111111111111111111011111110111111111111111111111111111111011111 +11110011111111111111111111111111 +11111111111111111111111111111111111111111101111111111100100111111111111111111110 +01111111110111101111001101111111011111111110110111111101111011111111111111111111 +11110011111111111111111111111011 +11111111111111111111111111111110011111111011111111110100111111111111011111011111 +11111111110111011111011101111111111101011110110111111111110111111111111111111111 +11010011111111111111111111111001 +11111111111111111111111111111110111111111111111111110110111111111111011111111111 +11111111101111111111110001111110111111111111000111111011111111111111111110111111 +11110011111111111111111111111111 +01111111111111111111111111111111111111111101010111111111100010010101011101010111 +11101101111111111111111110111111011111110010111111011111111111111111111101110111 +11111101111111111111111111111001 +01011111111111111111111111111111111000011001110111110111101101100111011000010110 +01001011111111110100111111111111011111011110111111011111111111111111111101110111 +11111110110111111111111111111001 +11101111111111111111111101111111111111111111101111111111111101010110111111111101 +10110101111111110100111111011110111111010011010110111111111111111111111111111111 +11111111110111111111111111111111 +11101111111111111111111101111111111111101111111111111011111111110111111111101111 +11011111111111111100111111111011111111110011111011111111111111111111101010101111 +11111110000111111111111111111010 +00111111111111111110011111111111111111111101111111111111111111110111100101111110 +10101101111111110111111010111111111001010011111111111111100011111111111111111111 +11111111111111111110111111111111 +11111111111111111111011111111111111111111011111111111011100111111111101101101110 +01011101111111111100111101111111111100111111110111111111110111111111111111111111 +11111111111111111111011111111011 +11111111111111111110111111111111111111111111111111111110111111111111111100111110 +11011101111111111100111110110111111111110011111111111111111111111111101101111111 +11111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111011111111101111111011111111 +11000001111111111100011101011111111111110010100111111111111111111111111111111111 +11111111111111111111111111111111 +01111111111111111111111111111111111111111111111111111011111111110111111101100011 +11111101111111111011111101111111111111101111111111011111111111111111111101111111 +11111111111111111111111111111001 +01011111111111111111111111111111111111111111111111111010111111100100011101100010 +11111111111111111111101101111111111111111111110110011111111111111111111101111111 +11111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111110111111111011101011110010 +11111011111111001101111101111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111010111111100011 +01011111111111111101010001111111111111111111101011111111111111111111101011111111 +11111111111111111111111111111010 +00111111111111111111111111111111111111111111111111111111111111110111001111110011 +11111111111000011111111111111111111101111111111011011101111111111111111111111111 +01111111101111111111111111111111 +11111111111111111111111111111111111111111111111111111110100101101110111111111010 +11111111111011011111111111111111111100111011111100011101111111111111111111111111 +01111111110111111111111111111011 +11111111111111111111111111111111111111111111111111110110111011111111111101011011 +01111111111111010111111111111111111011011111111011011111111111111111101100110010 +11111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111111111111111111110101110011 +11111111111111011111111111111111111111111111111011101011111111111111111111111111 +11111110110111111111111111111111 +11111111111111111111111111111111111111101111111111111111011010111110011111110111 +10101111111011111111111111110111111111111111101011111111111111111111111101111111 +11111111111110011111111111111111 +11111111111111111111111111111111111111110111111111110111100101111111011111010111 +11010111111111101111100111101111111111111110010111111111111111111111111101111111 +11010011111110011111111111011110 +11111111111111111111111111111111111111111101111111111111101100010110111111010110 +11111111111111011111111111111111111111111101111101011111111111111111111111111111 +11110011111111111111111111111111 +11111111111111111111111111111111111111111101111111111011111101111111111111111111 +11011111111101111111111111111111111111111111110111011111111111111111101011111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111101111111111111100011100111111111011111 +10101001111111111111111111111111111111111111111010010111111111111111101111111111 +11111011111111111111111100111111 +11111111111111111111111111111111111111111011111111111111101101110111111111101111 +11010101110111111111111111111111111111111110010001001111111111111111100111111111 +11111011111111111111111100111111 +11111111111111111111111111111111111111111111111111111101101101101111111111111111 +11111101111111111111111111111111111111111111111111001101111111111111111101111111 +11101011111111111111111111111111 +11111111111111111111111111111111111111111111111111111011111101111111111111101101 +11011001101111111111111111111111111111111110100110111111111111111111111111111111 +11111011111111111111111101111111 +11111111111111111111111111111111111111111111111111111011110110111111111110101111 +11111101010011111111111110110110011111111111111101011001111111111111111001111111 +11110011111110011101111111111111 +11111111111111111111111111111111111111111111111111111111101101111111111101101110 +11011101110111011111111111110111011111111111111111011101111111111111111101111111 +11110000110111011101111111111110 +11111111111111111111111111111111111111111111111111111100011011011111111111111111 +00111011111001011111111110110110111111111111111111011011111111111111111011111111 +11111101000110111111111111111111 +11111111111111111111111111111111111111111111111111111000111101111111111111111111 +11101111101011111111111110001111111111111111111110011111111111111111111111111111 +11111111110111101011111111111111 +11111110111111111111111111111111111111111101111111111111111111100101011111111010 +11111101111111111111111111111111111111111111111011111111111111111111111111111111 +11110011111111111111111111111111 +11111110111111111111111111111111111111111011111111111111111111100111011111111110 +10011101111111111111101101111111011111111110100001111111110011111111111111111111 +11110011111111111111111111111111 +11111111111111111111111111111111111111111111111111110101111111111110111111011111 +01011111111111111111100110110111111111111101011111011110110111111111111111111111 +11010011111111111111111111111111 +11111111111111111111111111111111111111111111111111111101111111111111111111111011 +11101011111111111111111001111011111111111111110111111111111111111111111111111111 +11110011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111100110111111111111111101 +11101111111111111111111110110111110111111111111110011111111111111111101101111111 +11111101011111011111111111111111 +11111111111111111111111111111111111111111111111111111111101111011111111111011111 +11000111111111110110111110101111100111010011111111011111111011111111111001111111 +11111110111111111111111111111111 +11111011111111111111111111111111111111111111111111111111111101111111111111111110 +10011101111111110100111111110111111111010011111110111110111111111111110101111111 +11111111110111111111111111111111 +11111101111111111111111111111111111111111111111111111111111111111111111111101111 +11011111111111111100111111011111101111110011111111111110110111111111101101111111 +11111111111110111111111111111111 +11111111111111111111111111111111111111111001111111111111101111100111011011110111 +10111001111111110110111010111111111111011111101110011011111111111111111001111111 +11111111111111011111111111111111 +11111111111111111111111111111111111111111101111111111111101101110111111101100100 +11011001111111111111111101111111101111100011110111011101111111111111111001111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111001111011011111111110 +01011111111111111100011110110111111111110011111111101101111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111011111111111111100101101011111111110111 +11011111111111111100111101011111110111110011111110111111111111111111111111111111 +11111111111110111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111101011111100111 +01101111110111111011111010010111011111101111111111011111111111111111111001111111 +11111111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111110011111001111100100 +11111111111111111011001101100111011111101111111111011111111111111111111001111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111110111111101110111 +11010111101111111111111101010111111111111111111111111111111111111111111111111111 +11111111111101011111111111111111 +11111111111111111111111111111111111111111111111111111111111111111110100111111110 +11011111111111111110100101110010111111101101110010111111111111111111111111111111 +11111111111111011111111111111111 +11111111111111111111111111111111111111111001111111111111100111100111111111110101 +11100111111011011111111110101111111111111011011110011111111111111111111111111111 +11111101011011111111111111111111 +11111111111111111111111111111111111111111101111111111111101001110111111111110111 +10011101111111011111111111010111111111111110111111011111111111111111111111111111 +11111110111111111111111111111111 +11111111111111111111111111111111111111111111111111111111101101101111111111011110 +11011111111111110111111111111111111111011111111011011111111111111111111111111111 +11111111110111111111111111111111 +11111111111111111111111111111111111111111011111111111111111101111111111111111111 +11010111111110111111111111111111111111011111111110111111111111111111111111111111 +11111111111101111111111111111111 +01111111111111111111111111111111111111111111111111111100111111111111101111110011 +11111111011111011111110010111111111111111011101011111111110111011111101111111001 +11111110111111111111111111111001 +01011111111111111111111111111111111111111111111111110100111111111011111110010011 +11111110111111010111101100111110111111011001110011101101110101111001111111111111 +11010010110111111111111111111001 +11111111111111111111111111111111111111111111111111110100111111111111111101110111 +11111111111010111111011111110111111111111110110111000110111101011111110111111101 +01010010110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111101110111100011 +11111111111111111011111101011011111111101111110101111001101101011011011111111111 +11111111000111111111111111111011 +00111111111111111111111111111111111111111111111111110111111111100110111111110011 +11111101100111111111111110110110011111111001111011000101110101111111111001101111 +11010001011111111011111111111111 +11111111111111111111111111111111111111111111111111111011000111100111011111110011 +11111101110111111011001001101111011101101010111100111101111110111011011101110111 +01111110110111111101111111111011 +11111111111111111111111111111111111111111111111111111100111101111111011111110111 +11111011110111111111101100010010001111110111110111111101111111011111111011110011 +11110010110011011101111111111001 +11111111111111111111111111111111111111111111111111111111011101111111011111100011 +11101111110111111010110101111111111111100110010111110011101111011000011111110111 +11111111100111111111111111111101 +11111111111111111111111111111111111111111111111111111000111111111111111111100011 +11101111101011111011110011111111100111101011111111111101111110111111101111111111 +11101111111111111101111111111001 +11011111111111111111111111111111111111111111111111111000111111111111111111110011 +11111111111111101011001101111111111111101110000111111111111110111111111111111111 +11111111111111111111111111111001 +11111111111111111111111111111111111111111111111111111100111111111111111111110011 +11111111111111011111011101111111110101111110111111111111111111111011101101111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111100111111111111111111101011 +11110111111101111011111101111111111111101111110111111111111111111111010111111111 +11111111111111111111111111111010 +11111101111111111111111111111111111111111111111111111111111011110111111111110011 +11111001111111111111101110110111111101111111111111011100011111101111101101110111 +11111111111111111110011111111111 +11111011111111111111111111111111111111111111111111111100100101111111111110110010 +01011001111111111110101111101111001001111111111110111101111111101001011101110111 +11110010010111111101011111111011 +11111111111111111111111111111111111111111111111111110100111111111111111101010010 +11111111111111110110110100110111111111011111111111111101110101101111101001110111 +11010011111111111111110111111001 +11111111111111111111111111111111111111111111111111111100011101101111111111111011 +10011111111111111111111111011101111111111111111111111011011111111010000111101111 +11111110100111111011111111111111 +01111111111111111111111111111111111111111111111111111110101010111011111111111111 +11111111010010010111011111111101011000111111101111111100100111001011111111111111 +11110110001011111110111111111001 +01011111111111111111111111111111111111111111111111110111100101011111111111010100 +11011111110011010111100111111111011101010111110111111011111101011010011101111111 +11010110110101011111111111111001 +11111111111111111111111111111111111111111111111111110111011101111101111111011101 +11011111101101011100111101111111111111110111111111111111010101001011011111111111 +11010110110111011111010011111111 +11111111111111111111111111111111111111111111111111111111111101111111111111111111 +00011111111011110011011101111110111111101110110111111111111001001101001111111111 +11010111110011011111111111111011 +00111111111111111111111111111111111111111001111111110110011011111011111111010111 +00101001111111111111111111010111111111111010111101111111111101110111101111101111 +11011110111111111111111111111111 +11111111111111111111111111111111111111111001111111111011101101111101111111100110 +11010101111111111111111111110111111111100010111111011111111110011010011101110111 +11100110111111111111111111111011 +11111111111111111111111111111111111111111111111111111111010101111111111111111111 +11111001111111111100111111111111111111110011010111111111111111001011011101111111 +11110110010111111111111111111001 +11111111111111111111111111111111111111111111111111111100111101111111111111110110 +11011101111111111111111111101111111111101011111111111111111111001101000101111111 +11110111110111111111111111111101 +01111111111111111111111111111111111111111111111111111001111111111111111111101111 +11101111111001111001111110100110101111101110111011111110111110111011111111111111 +11100110111111111111111111111111 +01011111111111111111111111111111111111111111111111111001111111111111111100100011 +11111111111111111011111111010111011111101110111101101110110110111111111101111111 +00100010110111111111111111111110 +11111111111111111111111111111111111111111111111111111101111111111111111111110011 +11110111111111001111011111110111110101111111110111100101010011101011011111111111 +11110011110111111111111111111111 +11111111111111111111111111111111111111111111111111111001111111111111111111100111 +11111111111111111101111101100111111110101110010111111111111111111111001111111111 +11110010000111111111111111111111 +00111111111111111111111111111111111111110111111111111101111111100111111111111011 +11101001111001111101111110110111100101111101111011011100111111111111101101111111 +11110011111111111111111111111111 +11111111111111111111111111111111111111111101111111111100111111100111111111110011 +11111101111111111111011111110111111100111111110110011001111111111111111011111111 +11110011111111111111111111111111 +11111111111111111111111111111111111111111111111111110101111111111111111111010011 +11100001111111010111011100010111111111011110100111011111010001111111111101111111 +11011111111011011111111111111111 +11111111111111111111111111111111111111111111111111111101111111111111111111110011 +11111111111111101101111100101111111011111111110001001111111111111111110101111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111101111111011111111111111 +01111111111111111111110011111111111111111001111011110110011111111011111111110011 +11111101111111111111111111111111 +11111111111111111111111111111111111111111111111111111111101001110011111111111110 +10011111111111110111001101111111111111011010011101111101111101001010011110101111 +10111110010111111111111111111111 +11111111111111111111111111111111111111111111111111111111110101111101011111111110 +11101101111111111111011101111111111111010011110111011111110101001111011101110111 +01111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111111101100111111111111111111 +11011111111111111111111101111111111111111011111111011111011111111001011101111101 +11111111100111111111111111011111 +11111111111111111111111111111111111111111001111111111111111111100111111111111110 +10111101111111111111111110110111111111011011000011010111111101001111101111111101 +11111111111011111110111111111111 +11111111111111111111111111111111111111111101111111111111111111100111111111111110 +11011101111111111101100101111100011111101010110111000111110110111001110111111111 +11111111111111111111011011111111 +11111111111111111111111111111111111111111011111111111111111111111111111111111111 +01011111111111111011101111110011111111111011110110001111111111111111111111111111 +01111111111111011111110111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111101 +11001011111111111111111001000010111111111010110001011111110111001011011111111111 +11111111111101011111111101111111 +11111111111111111111111111111111111111111111111111111111111110111011111111111111 +11111111111111111111011011111111010111101101101111111110011110101100111111010111 +00111111111011111110111111111111 +11111111111111111111111111111111111111111111111111111111111110011111111111111111 +11111111111111111111101101111111111111100110110111111111111110010011011111110111 +01111111111111111111111011111111 +11111111111111111111111111111111111111111111111111111111111111110011011111111111 +11111111111111111111110101111110111101111011010111011111010111010111011111111111 +11111111111011011111110111111111 +11111111111111111111111111111111111111111111111111111111111111111101111111111111 +11111111111111111111011101111111111111100010110111011111111111101111011111101110 +11111111111101111111011111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101001111011111111111110110111111001111101111111011111111001111111101101111011 +11111111111111111111101011111111 +11111100111111111111111111111111111111111111111111111111111111111111111111111111 +11111001111111101111101101011111101101110011110111011111110001000011011011111111 +10111111111111101111110111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11101101111111010101100011111111011001011001110011011111110101001111011111111101 +01111111111111111101110111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11110111111101111111111101101111011111110011100010111111111111111000010111111111 +11111110110111111111111111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111011111111100011111111111111111110101011111111111111111111111111111111 +11110111111011111111110111111111 +11111111111111111111111111111111111111111111111111111111111110111111111111111111 +11111111111111010100101101111111101111011111110101111111111101001000011111111111 +11011111111011111111111111111111 +11111111111111111111111111111111111111111111111111111111111111010111111111111111 +11111111111011111100111101111111111111010011110111011111111101001111111111111111 +11011111111111011110111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111110111000011101111111110111110001110111011111111111111111111111111111 +11110111111101111111111111111111 +11111111111111111111111111111111111111111001111111111111110111100111111111111110 +11101001111111111111111110100100111111011111011011011001111101111011101001111111 +11011001101111111111111111111111 +11111111111111111111111111111111111111111101111111111111101101110111111111111110 +10010000100111111000111111100011011111100110111110111101111110001011110001111111 +11100011110011111111111111111111 +11111111111111111111111111111111111111111011111111111111011111101111111111111110 +11011101111111111100111110010011111111110011111101001101111111011111011111111111 +11110011110111011111111111111111 +11111111111111111111111111111111111111111111111111111111111001111111111111111111 +01011100001111111000101101111111011111110011111111001111111111101001011111111111 +11111011111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111101101111111 +11111111110111111000111011110111011111100101001101001111111110001011111111111111 +11100001111011111001111111111111 +11111111111111111111111111111111111111111111110111111111111111111111111101111111 +11111111101111111000111101111110011111100110110110011111111110001111111111111111 +11100011110111111101111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111011111111 +11111111111111111100101111101111111111110111110111111111111111001011011111111111 +11110010110101011111111111111111 +11111111111111111111111111111111111111111110111111111111111111111111111111111111 +11111111111111111001111101111011111111100010110111110111111111001111011111111111 +11110011100111011011111111111111 +11111111111111111111111111111111111111111111111111111111111111100111111111111111 +11111101111111111100101111110011111111111110111111011011111111001111101100111100 +01110010111111111111111111111111 +11111111111111111111111111111111111111111111111111111111001101110111111111111100 +11011111111111111100101111110011100111111110100111011101111111001010010111111010 +01111110111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111101101111111111111101 +11011111111111110100110101101111010101011111110111111111111101101011111111011111 +01011111110111111111111111111111 +11111111111111111111111111111111111111111111111111111111110011111111111111111111 +00011011111111111100111110111101111111111010010010111111111111001101011011111111 +01111011011111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111101111111101111 +11111111111111111111111111111111 +11111111111111111011111111111111111111111111111111111111111111111111111111111111 +11111111111111111111110011111111111111111111111111111111111101111110110111101111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111011111111111011111111101111111111111111111110111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111101111111111111111111111111111111111111111110011111111001111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111110111111111111 +11111111111111110011111111101111111111101111111110111111111111111111111001111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111110111111111 +11111111111111110111111111111111111111111111111111111111111101111111110111111111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111101111111111111111111110 +11111111111111111111101011010111111111010111111101011011111111111111110111101111 +11111110111111111011111111111111 +11111111111111111111111111111111111111111111111111111111111111111111110111111111 +11111111111111111111101111111111111111111111111111111111111111111111111111101011 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111100111111111110111111111111111111111 +00111111111111111111110111111111111111111111111111111100111111111111111111100111 +11111111001111111001111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111100011111111111111111111111111111111111111111111111111110111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111101011111111111111111110 +11111111111111111111101111111111111111111111111111111011111111111111111111111111 +11111110111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111110111111111111111111111011111111111111111111001101111 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111101111111111111111111110111111111111111111111111111011 +11111111111111111110111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111111111111111111111111111111111111111111111111111 +11111111111111111111111111111111 +11111111111111111111111110111111111111111111111011110010100100111101110111001010 +01001111011101110011000100111101101011001100010011110010011100101001001111001111 +11001010010011110111011111111111 +11111111001101111111011110111100101001001111011101110010110011011100111111111111 +11111111111011110011000100111100100111001100010011110110011100110001001111011001 +11001010010011110111011111111111 +11111111111111111111111111111111111111111111111111110010100100111100111111111111 +11111111111111110011000100111101100111111111111111111111111100110001001111001001 +11111111111111111111111111111111 +11111111111111111111111111111111111111111111111111110011011111110111101111111111 +11111111111111110010100100111100111111111111111111111111111100110001001111011001 +11111111111111111111111111111111 +* +CDA53* +N User Electronic Signature Data* +U00000000000000000000000000000000* +2382 diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.log b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.log index d0353b8..9ce5b3b 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.log +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.log @@ -1,4 +1,4 @@ ----- MParTrce Tool Log File ---- - -==== Par Standard Out ==== -==== End of Par Standard Out ==== +---- MParTrce Tool Log File ---- + +==== Par Standard Out ==== +==== End of Par Standard Out ==== diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.mrp b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.mrp index 64b2698..fff24e6 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.mrp +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.mrp @@ -1,336 +1,336 @@ - - Lattice Mapping Report File for Design Module 'RAM2GS' - - -Design Information ------------------- - -Command line: map -a MachXO -p LCMXO256C -t TQFP100 -s 3 -oc Commercial -ioreg - b RAM2GS_LCMXO256C_impl1.ngd -o RAM2GS_LCMXO256C_impl1_map.ncd -pr - RAM2GS_LCMXO256C_impl1.prf -mp RAM2GS_LCMXO256C_impl1.mrp -lpf D:/OneDrive/ - Documents/GitHub/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplif - y.lpf -lpf - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/RAM2GS_LCMXO256C.lpf -c - 0 -gui -msgset - D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO256C/promote.xml -Target Vendor: LATTICE -Target Device: LCMXO256CTQFP100 -Target Performance: 3 -Mapper: mj5g00, version: Diamond (64-bit) 3.12.1.454 -Mapped on: 08/16/23 04:50:39 - -Design Summary --------------- - - Number of PFU registers: 92 out of 256 (36%) - Number of SLICEs: 69 out of 128 (54%) - SLICEs as Logic/ROM: 69 out of 128 (54%) - SLICEs as RAM: 0 out of 64 (0%) - SLICEs as Carry: 9 out of 128 (7%) - Number of LUT4s: 137 out of 256 (54%) - Number used as logic LUTs: 119 - Number used as distributed RAM: 0 - Number used as ripple logic: 18 - Number used as shift registers: 0 - Number of external PIOs: 67 out of 78 (86%) - Number of GSRs: 0 out of 1 (0%) - JTAG used : No - Readback used : No - Oscillator used : No - Startup used : No - Number of TSALL: 0 out of 1 (0%) - Notes:- - 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of - distributed RAMs) + 2*(Number of ripple logic) - 2. Number of logic LUT4s does not include count of distributed RAM and - ripple logic. - Number of clocks: 4 - Net PHI2_c: 14 loads, 5 rising, 9 falling (Driver: PIO PHI2 ) - Net RCLK_c: 32 loads, 32 rising, 0 falling (Driver: PIO RCLK ) - Net nCRAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 5 - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_31: 1 loads, 1 LSLICEs - Net N_33: 1 loads, 1 LSLICEs - Net N_159_i: 2 loads, 2 LSLICEs - Net CmdUFMCLK_1_sqmuxa: 2 loads, 2 LSLICEs - Number of LSRs: 4 - Net RA10s_i: 1 loads, 1 LSLICEs - Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs - Net RASr2: 2 loads, 2 LSLICEs - Net Ready_fast: 7 loads, 7 LSLICEs - - Page 1 - - - - -Design: RAM2GS Date: 08/16/23 04:50:39 - -Design Summary (cont) ---------------------- - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 16 loads - Net Ready: 16 loads - Net S[1]: 13 loads - Net CO0: 12 loads - Net nRowColSel: 12 loads - Net RASr2: 11 loads - Net Din_c[5]: 10 loads - Net Din_c[3]: 9 loads - Net IS[0]: 9 loads - Net MAin_c[1]: 8 loads - - - - - Number of warnings: 0 - Number of errors: 0 - - -Design Errors/Warnings ----------------------- - - No errors or warnings present. - -IO (PIO) Attributes -------------------- - -+---------------------+-----------+-----------+------------+------------+ -| IO Name | Direction | Levelmode | IO | FIXEDDELAY | -| | | IO_TYPE | Register | | -+---------------------+-----------+-----------+------------+------------+ -| RD[0] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[0] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| PHI2 | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| UFMSDO | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| UFMSDI | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| UFMCLK | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nUFMCS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RDQML | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RDQMH | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRCAS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRRAS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRWE | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ - - Page 2 - - - - -Design: RAM2GS Date: 08/16/23 04:50:39 - -IO (PIO) Attributes (cont) --------------------------- -| RCKE | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RCLK | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nRCS | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[7] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[6] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[5] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[4] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[3] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[2] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RD[1] | BIDIR | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[11] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[10] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[9] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[8] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[7] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[6] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[5] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[4] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[3] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[2] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[1] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RA[0] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RBA[1] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| RBA[0] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| LED | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nFWE | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nCRAS | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| nCCAS | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ - - Page 3 - - - - -Design: RAM2GS Date: 08/16/23 04:50:39 - -IO (PIO) Attributes (cont) --------------------------- -| Dout[7] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[6] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[5] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[4] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[3] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[2] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Dout[1] | OUTPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[7] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[6] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[5] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[4] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[3] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[2] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[1] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| Din[0] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| CROW[1] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| CROW[0] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[9] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[8] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[7] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[6] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[5] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[4] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[3] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[2] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[1] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ -| MAin[0] | INPUT | LVCMOS33 | | | -+---------------------+-----------+-----------+------------+------------+ - - - - Page 4 - - - - -Design: RAM2GS Date: 08/16/23 04:50:39 - -Removed logic -------------- - -Block GSR_INST undriven or does not drive anything - clipped. -Signal nCRAS_c_i was merged into signal nCRAS_c -Signal nFWE_c_i was merged into signal nFWE_c -Signal nCRAS_c_i_0 was merged into signal nCRAS_c -Signal nCCAS_c_i was merged into signal nCCAS_c -Signal Ready_fast_i was merged into signal Ready_fast -Signal IS_i[0] was merged into signal IS[0] -Signal RASr2_i was merged into signal RASr2 -Signal XOR8MEG.CN was merged into signal PHI2_c -Signal GND undriven or does not drive anything - clipped. -Signal VCC undriven or does not drive anything - clipped. -Signal FS_cry[2] undriven or does not drive anything - clipped. -Signal FS_cry[4] undriven or does not drive anything - clipped. -Signal FS_cry[6] undriven or does not drive anything - clipped. -Signal FS_cry[8] undriven or does not drive anything - clipped. -Signal FS_cry[10] undriven or does not drive anything - clipped. -Signal FS_cry[12] undriven or does not drive anything - clipped. -Signal FS_cry[14] undriven or does not drive anything - clipped. -Signal FS_cry_0_COUT1[16] undriven or does not drive anything - clipped. -Signal FS_cry[16] undriven or does not drive anything - clipped. -Signal FS_cry[0] undriven or does not drive anything - clipped. -Block nCRAS_pad_RNIBPVB was optimized away. -Block nFWE_pad_RNI420B was optimized away. -Block RASr_RNO was optimized away. -Block nCCAS_pad_RNISUR8 was optimized away. -Block Ready_fast_RNI29NA was optimized away. -Block IS_i[0] was optimized away. -Block RASr2_RNIAFR1 was optimized away. -Block XOR8MEG.CN was optimized away. -Block GND was optimized away. -Block VCC was optimized away. - -Run Time and Memory Usage -------------------------- - - Total CPU Time: 0 secs - Total REAL Time: 0 secs - Peak Memory Usage: 29 MB - - - - - - - - - - - - - - - - - - - Page 5 - - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. - Copyright (c) 1995 AT&T Corp. All rights reserved. - Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. - Copyright (c) 2001 Agere Systems All rights reserved. - Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights - reserved. + + Lattice Mapping Report File for Design Module 'RAM2GS' + + +Design Information +------------------ + +Command line: map -a MachXO -p LCMXO256C -t TQFP100 -s 3 -oc Commercial -ioreg + b RAM2GS_LCMXO256C_impl1.ngd -o RAM2GS_LCMXO256C_impl1_map.ncd -pr + RAM2GS_LCMXO256C_impl1.prf -mp RAM2GS_LCMXO256C_impl1.mrp -lpf + Y:/Repos/RAM2GS/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1_synplify.lpf + -lpf Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO.lpf -c 0 -gui -msgset + Y:/Repos/RAM2GS/CPLD/LCMXO256C/promote.xml +Target Vendor: LATTICE +Target Device: LCMXO256CTQFP100 +Target Performance: 3 +Mapper: mj5g00, version: Diamond (64-bit) 3.12.1.454 +Mapped on: 08/19/23 20:53:19 + +Design Summary +-------------- + + Number of PFU registers: 92 out of 256 (36%) + Number of SLICEs: 69 out of 128 (54%) + SLICEs as Logic/ROM: 69 out of 128 (54%) + SLICEs as RAM: 0 out of 64 (0%) + SLICEs as Carry: 9 out of 128 (7%) + Number of LUT4s: 137 out of 256 (54%) + Number used as logic LUTs: 119 + Number used as distributed RAM: 0 + Number used as ripple logic: 18 + Number used as shift registers: 0 + Number of external PIOs: 67 out of 78 (86%) + Number of GSRs: 0 out of 1 (0%) + JTAG used : No + Readback used : No + Oscillator used : No + Startup used : No + Number of TSALL: 0 out of 1 (0%) + Notes:- + 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of + distributed RAMs) + 2*(Number of ripple logic) + 2. Number of logic LUT4s does not include count of distributed RAM and + ripple logic. + Number of clocks: 4 + Net PHI2_c: 14 loads, 5 rising, 9 falling (Driver: PIO PHI2 ) + Net RCLK_c: 32 loads, 32 rising, 0 falling (Driver: PIO RCLK ) + Net nCRAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCRAS ) + Net nCCAS_c: 4 loads, 0 rising, 4 falling (Driver: PIO nCCAS ) + Number of Clock Enables: 5 + Net XOR8MEG18: 3 loads, 3 LSLICEs + Net N_31: 1 loads, 1 LSLICEs + Net N_33: 1 loads, 1 LSLICEs + Net N_159_i: 2 loads, 2 LSLICEs + Net CmdUFMCLK_1_sqmuxa: 2 loads, 2 LSLICEs + Number of LSRs: 4 + Net RA10s_i: 1 loads, 1 LSLICEs + Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs + Net RASr2: 2 loads, 2 LSLICEs + Net Ready_fast: 7 loads, 7 LSLICEs + Number of nets driven by tri-state buffers: 0 + Top 10 highest fanout non-clock nets: + + Page 1 + + + + +Design: RAM2GS Date: 08/19/23 20:53:19 + +Design Summary (cont) +--------------------- + Net InitReady: 16 loads + Net Ready: 16 loads + Net S[1]: 13 loads + Net CO0: 12 loads + Net nRowColSel: 12 loads + Net RASr2: 11 loads + Net Din_c[5]: 10 loads + Net Din_c[3]: 9 loads + Net IS[0]: 9 loads + Net MAin_c[1]: 8 loads + + + + + Number of warnings: 0 + Number of errors: 0 + + +Design Errors/Warnings +---------------------- + + No errors or warnings present. + +IO (PIO) Attributes +------------------- + ++---------------------+-----------+-----------+------------+------------+ +| IO Name | Direction | Levelmode | IO | FIXEDDELAY | +| | | IO_TYPE | Register | | ++---------------------+-----------+-----------+------------+------------+ +| RD[0] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[0] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| PHI2 | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| UFMSDO | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| UFMSDI | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| UFMCLK | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nUFMCS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RDQML | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RDQMH | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRCAS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRRAS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRWE | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RCKE | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ + + Page 2 + + + + +Design: RAM2GS Date: 08/19/23 20:53:19 + +IO (PIO) Attributes (cont) +-------------------------- +| RCLK | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nRCS | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[7] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[6] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[5] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[4] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[3] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[2] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RD[1] | BIDIR | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[11] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[10] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[9] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[8] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[7] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[6] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[5] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[4] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[3] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[2] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[1] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RA[0] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RBA[1] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| RBA[0] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| LED | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nFWE | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nCRAS | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| nCCAS | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[7] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ + + Page 3 + + + + +Design: RAM2GS Date: 08/19/23 20:53:19 + +IO (PIO) Attributes (cont) +-------------------------- +| Dout[6] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[5] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[4] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[3] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[2] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Dout[1] | OUTPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[7] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[6] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[5] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[4] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[3] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[2] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[1] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| Din[0] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| CROW[1] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| CROW[0] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[9] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[8] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[7] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[6] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[5] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[4] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[3] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[2] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[1] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ +| MAin[0] | INPUT | LVCMOS33 | | | ++---------------------+-----------+-----------+------------+------------+ + + + + + + Page 4 + + + + +Design: RAM2GS Date: 08/19/23 20:53:19 + +Removed logic +------------- + +Block GSR_INST undriven or does not drive anything - clipped. +Signal nCRAS_c_i was merged into signal nCRAS_c +Signal nFWE_c_i was merged into signal nFWE_c +Signal nCRAS_c_i_0 was merged into signal nCRAS_c +Signal nCCAS_c_i was merged into signal nCCAS_c +Signal Ready_fast_i was merged into signal Ready_fast +Signal IS_i[0] was merged into signal IS[0] +Signal RASr2_i was merged into signal RASr2 +Signal XOR8MEG.CN was merged into signal PHI2_c +Signal GND undriven or does not drive anything - clipped. +Signal VCC undriven or does not drive anything - clipped. +Signal FS_cry[2] undriven or does not drive anything - clipped. +Signal FS_cry[4] undriven or does not drive anything - clipped. +Signal FS_cry[6] undriven or does not drive anything - clipped. +Signal FS_cry[8] undriven or does not drive anything - clipped. +Signal FS_cry[10] undriven or does not drive anything - clipped. +Signal FS_cry[12] undriven or does not drive anything - clipped. +Signal FS_cry[14] undriven or does not drive anything - clipped. +Signal FS_cry_0_COUT1[16] undriven or does not drive anything - clipped. +Signal FS_cry[16] undriven or does not drive anything - clipped. +Signal FS_cry[0] undriven or does not drive anything - clipped. +Block nCRAS_pad_RNIBPVB was optimized away. +Block nFWE_pad_RNI420B was optimized away. +Block RASr_RNO was optimized away. +Block nCCAS_pad_RNISUR8 was optimized away. +Block Ready_fast_RNI29NA was optimized away. +Block IS_i[0] was optimized away. +Block RASr2_RNIAFR1 was optimized away. +Block XOR8MEG.CN was optimized away. +Block GND was optimized away. +Block VCC was optimized away. + +Run Time and Memory Usage +------------------------- + + Total CPU Time: 0 secs + Total REAL Time: 0 secs + Peak Memory Usage: 50 MB + + + + + + + + + + + + + + + + + + + Page 5 + + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. + Copyright (c) 1995 AT&T Corp. All rights reserved. + Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. + Copyright (c) 2001 Agere Systems All rights reserved. + Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights + reserved. diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.n2e b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.n2e index dc1115c..fb895f8 100644 --- a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.n2e +++ b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.n2e @@ -1,551 +1,551 @@ - -comp 0: SLICE_0 (FSLICE) - -comp 1: SLICE_1 (FSLICE) - -comp 2: SLICE_2 (FSLICE) - -comp 3: SLICE_3 (FSLICE) - -comp 4: SLICE_4 (FSLICE) - -comp 5: SLICE_5 (FSLICE) - -comp 6: SLICE_6 (FSLICE) - -comp 7: SLICE_7 (FSLICE) - -comp 8: SLICE_8 (FSLICE) - -comp 9: SLICE_9 (FSLICE) -ADSubmitted_r = (~CmdEnable16*((~C1WR_0_a2*ADSubmitted)+CmdEnable17)) -ADSubmitted.D = ADSubmitted_r -ADSubmitted.CLK = ~PHI2_c -ADSubmitted.SP = VCC -ADSubmitted.LSR = GND -CmdEnable17 = (N_147*(MAin_c[0]*(CmdEnable17_0_a2_4*CmdEnable17_0_a2_3))) - -comp 10: SLICE_14 (FSLICE) -C1Submitted_RNO = (~MAin_c[1]*(CmdEnable16+C1Submitted)+MAin_c[1]*(~N_147*(CmdEnable16+C1Submitted)+N_147*CmdEnable16)) -C1Submitted.D = C1Submitted_RNO -C1Submitted.CLK = ~PHI2_c -C1Submitted.SP = VCC -C1Submitted.LSR = GND -CmdEnable16 = (N_147*(CmdEnable16_0_a2_5*CmdEnable16_0_a2_4)) - -comp 11: SLICE_19 (FSLICE) -N_177_i = (~CO0+S[1]) -CO0.D = N_177_i -CO0.CLK = RCLK_c -CO0.SP = VCC -CO0.LSR = ~RASr2 -Ready_0_sqmuxa_0_a3_2 = (S[1]*(~RASr2*(IS[3]*CO0))) - -comp 12: SLICE_20 (FSLICE) -CmdEnable_s = ((CmdEnable+ADSubmitted)*CmdEnable16)+(((C1Submitted*un1_CMDWR*CmdEnable17)+(CmdEnable*CmdEnable17)+(~un1_CMDWR*CmdEnable))*~CmdEnable16) -CmdEnable.D = CmdEnable_s -CmdEnable.CLK = ~PHI2_c -CmdEnable.SP = VCC -CmdEnable.LSR = GND - -comp 13: SLICE_21 (FSLICE) -N_21_i = (~N_152*(~N_133*~N_132)+N_152*(~N_133*(~N_132*LEDEN))) -CmdLEDEN.D = N_21_i -CmdLEDEN.CLK = ~PHI2_c -CmdLEDEN.SP = XOR8MEG18 -CmdLEDEN.LSR = GND -N_152 = (~N_128*(Din_c[5]*~Din_c[3])) - -comp 14: SLICE_22 (FSLICE) -N_460_0 = (CmdSubmitted_1_sqmuxa+CmdSubmitted) -CmdSubmitted.D = N_460_0 -CmdSubmitted.CLK = ~PHI2_c -CmdSubmitted.SP = VCC -CmdSubmitted.LSR = GND -N_136 = (PHI2r3*(~PHI2r2*(InitReady*CmdSubmitted))) - -comp 15: SLICE_26 (FSLICE) -N_19_i = (~n8MEGEN*(~N_152*~Cmdn8MEGEN_4_u_i_0)+n8MEGEN*~Cmdn8MEGEN_4_u_i_0) -Cmdn8MEGEN.D = N_19_i -Cmdn8MEGEN.CLK = ~PHI2_c -Cmdn8MEGEN.SP = XOR8MEG18 -Cmdn8MEGEN.LSR = GND -Cmdn8MEGEN_4_u_i_0 = (~N_128*(~N_43*(~Cmdn8MEGEN+CmdEnable16_4)+N_43*CmdEnable16_4)+N_128*~Cmdn8MEGEN) - -comp 16: SLICE_29 (FSLICE) -N_64_i_i = (~N_155*(Ready@~IS[0])+N_155*IS[0]) -IS[0].D = N_64_i_i -IS[0].CLK = RCLK_c -IS[0].SP = VCC -IS[0].LSR = GND -N_24 = ((~N_160*(~N_155*IS[0])+N_160*~N_155)+nRRAS_5_u_i_0) - -comp 17: SLICE_30 (FSLICE) -N_56_i = (IS[1]@IS[0]) -IS[1].D = N_56_i -IS[1].CLK = RCLK_c -IS[1].SP = N_159_i -IS[1].LSR = GND -N_60_i_i = (IS[2]@(IS[1]*IS[0])) -IS[2].D = N_60_i_i -IS[2].CLK = RCLK_c -IS[2].SP = N_159_i -IS[2].LSR = GND - -comp 18: SLICE_31 (FSLICE) -N_61_i_i = (~IS[0]*IS[3]+IS[0]*(~IS[1]*IS[3]+IS[1]*(IS[2]@IS[3]))) -IS[3].D = N_61_i_i -IS[3].CLK = RCLK_c -IS[3].SP = N_159_i -IS[3].LSR = GND -RA10s_i = ((~IS[3]+(IS[1]+IS[2]))+N_159) - -comp 19: SLICE_32 (FSLICE) -N_461_0 = (InitReady3+InitReady) -InitReady.D = N_461_0 -InitReady.CLK = RCLK_c -InitReady.SP = VCC -InitReady.LSR = GND -UFMSDI_ens2_i_a0 = (~UFMSDI_ens2_i_a2_4_2*~InitReady+UFMSDI_ens2_i_a2_4_2*(~N_126*~InitReady+N_126*(N_51*~InitReady))) - -comp 20: SLICE_33 (FSLICE) -N_70 = (~UFMSDO_c*(~InitReady+CmdLEDEN)+UFMSDO_c*(InitReady*CmdLEDEN)) -LEDEN.D = N_70 -LEDEN.CLK = RCLK_c -LEDEN.SP = N_33 -LEDEN.LSR = GND -LED_c = ((~LEDEN+CBR)+nCRAS_c) - -comp 21: SLICE_39 (FSLICE) -RA11_2 = (~n8MEGEN*(XOR8MEG@Din_c[6])+n8MEGEN*XOR8MEG) -RA_c[11].D = RA11_2 -RA_c[11].CLK = PHI2_c -RA_c[11].SP = VCC -RA_c[11].LSR = ~Ready_fast -N_171 = (~un1_Din_4*XOR8MEG) - -comp 22: SLICE_41 (FSLICE) -RCKEEN_8 = (~Ready*RCKEEN_8_u_0_0+Ready*(~RCKEEN_8_u_1*RCKEEN_8_u_0_0+RCKEEN_8_u_1*(~CBR+RCKEEN_8_u_0_0))) -RCKEEN.D = RCKEEN_8 -RCKEEN.CLK = RCLK_c -RCKEEN.SP = VCC -RCKEEN.LSR = GND -RCKEEN_8_u_1 = (~S[1]*(~FWEr_fast+CO0)+S[1]*(FWEr_fast*(~CO0+~CASr2))) -PHI2r2.D = PHI2r -PHI2r2.CLK = RCLK_c -PHI2r2.SP = VCC -PHI2r2.LSR = GND - -comp 23: SLICE_42 (FSLICE) -RCKE_2 = (~RCKEEN*(RASr3*~RASr2)+RCKEEN*((RASr+RASr2)+RASr3)) -RCKE_c.D = RCKE_2 -RCKE_c.CLK = RCLK_c -RCKE_c.SP = VCC -RCKE_c.LSR = GND -m18_0_a3_3 = (RASr2*(~IS[2]*(~IS[1]*IS[0]))) -PHI2r.D = PHI2_c -PHI2r.CLK = RCLK_c -PHI2r.SP = VCC -PHI2r.LSR = GND - -comp 24: SLICE_43 (FSLICE) -N_462_0 = (~InitReady*Ready+InitReady*(~N_165*(Ready+Ready_0_sqmuxa_0_a3_2)+N_165*Ready)) -Ready.D = N_462_0 -Ready.CLK = RCLK_c -Ready.SP = VCC -Ready.LSR = GND -RCKEEN_8_u_0_0 = (~S_0_i_o2[1]*(~InitReady*(~RASr2*Ready)+InitReady*(~RASr2+~Ready))+S_0_i_o2[1]*(InitReady*~Ready)) -PHI2r3.D = PHI2r2 -PHI2r3.CLK = RCLK_c -PHI2r3.SP = VCC -PHI2r3.LSR = GND - -comp 25: SLICE_44 (FSLICE) -N_463_0 = (Ready_0_sqmuxa+Ready_fast) -Ready_fast.D = N_463_0 -Ready_fast.CLK = RCLK_c -Ready_fast.SP = VCC -Ready_fast.LSR = GND -Ready_0_sqmuxa = (Ready_0_sqmuxa_0_a3_2*(~Ready*(~N_165*InitReady))) -RASr.D = ~nCRAS_c -RASr.CLK = RCLK_c -RASr.SP = VCC -RASr.LSR = GND - -comp 26: SLICE_50 (FSLICE) -S_0_i_o2[1] = (CO0+S[1]) -S[1].D = S_0_i_o2[1] -S[1].CLK = RCLK_c -S[1].SP = VCC -S[1].LSR = ~RASr2 -nRRAS_0_sqmuxa = (~CO0*(~S[1]*Ready)) - -comp 27: SLICE_51 (FSLICE) -UFMCLK_RNO = (~UFMCLK_r_i_m4_xx_mm_1*(~UFMCLK_c*(~nUFMCS15*N_139_i)+UFMCLK_c*~nUFMCS15)+UFMCLK_r_i_m4_xx_mm_1*(UFMCLK_c*(~nUFMCS15*~N_139_i))) -UFMCLK_c.D = UFMCLK_RNO -UFMCLK_c.CLK = RCLK_c -UFMCLK_c.SP = VCC -UFMCLK_c.LSR = GND -UFMCLK_r_i_m4_xx_mm_1 = (~N_129*((~CmdUFMCLK+~InitReady)+UFMCLK_r_i_a2_2_2)+N_129*((~CmdUFMCLK*InitReady)+UFMCLK_r_i_a2_2_2)) -RASr2.D = RASr -RASr2.CLK = RCLK_c -RASr2.SP = VCC -RASr2.LSR = GND - -comp 28: SLICE_52 (FSLICE) -UFMSDI_RNO = (~UFMSDI_r_xx_mm_1*(UFMSDI_c*(~nUFMCS15*~N_139_i))+UFMSDI_r_xx_mm_1*(~UFMSDI_c*(~nUFMCS15*N_139_i)+UFMSDI_c*~nUFMCS15)) -UFMSDI_c.D = UFMSDI_RNO -UFMSDI_c.CLK = RCLK_c -UFMSDI_c.SP = VCC -UFMSDI_c.LSR = GND -N_139_i = (~PHI2r3*~InitReady+PHI2r3*(~PHI2r2*(~InitReady+CmdSubmitted)+PHI2r2*~InitReady)) -RASr3.D = RASr2 -RASr3.CLK = RCLK_c -RASr3.SP = VCC -RASr3.LSR = GND - -comp 29: SLICE_55 (FSLICE) -RA_c[4] = (~nRowColSel*RowA[4]+nRowColSel*MAin_c[4]) -WRD[4].D = Din_c[4] -WRD[4].CLK = ~nCCAS_c -WRD[4].SP = VCC -WRD[4].LSR = GND -WRD[5].D = Din_c[5] -WRD[5].CLK = ~nCCAS_c -WRD[5].SP = VCC -WRD[5].LSR = GND - -comp 30: SLICE_56 (FSLICE) -N_126 = (~FS[9]*FS[7]+FS[9]*(~FS[7]*FS[5])) -WRD[6].D = Din_c[6] -WRD[6].CLK = ~nCCAS_c -WRD[6].SP = VCC -WRD[6].LSR = GND -C1WR_0_a2_0_11 = (Bank[7]*(Bank[6]*(Bank[5]*~Bank[2]))) -WRD[7].D = Din_c[7] -WRD[7].CLK = ~nCCAS_c -WRD[7].SP = VCC -WRD[7].LSR = GND - -comp 31: SLICE_57 (FSLICE) -XOR8MEG_3 = (~XOR8MEG_3_u_0_a3_2*N_171+XOR8MEG_3_u_0_a3_2*((~LEDEN+~Din_c[1])+N_171)) -XOR8MEG.D = XOR8MEG_3 -XOR8MEG.CLK = ~PHI2_c -XOR8MEG.SP = XOR8MEG18 -XOR8MEG.LSR = GND -XOR8MEG_3_u_0_a3_2 = (un1_Din_4*(~Din_c[3]*(Din_c[2]*Din_c[0]))) - -comp 32: SLICE_58 (FSLICE) -N_69 = (~UFMSDO_c*(~InitReady+Cmdn8MEGEN)+UFMSDO_c*(InitReady*Cmdn8MEGEN)) -n8MEGEN.D = N_69 -n8MEGEN.CLK = RCLK_c -n8MEGEN.SP = N_31 -n8MEGEN.LSR = GND -N_151 = (~N_51*(~InitReady*~FS[8])) - -comp 33: SLICE_59 (FSLICE) -N_37_i = (~g0_1*(~S[1]*(~nRCAS_0_sqmuxa_1*N_41)+S[1]*~nRCAS_0_sqmuxa_1)+g0_1*(~nRCAS_0_sqmuxa_1*N_41)) -nRCAS_c.D = N_37_i -nRCAS_c.CLK = RCLK_c -nRCAS_c.SP = VCC -nRCAS_c.LSR = GND -N_41 = (~S[1]*((~N_160+N_155)+Ready)+S[1]*(~Ready*(~N_160+N_155))) - -comp 34: SLICE_60 (FSLICE) -N_28_i = (~RCKEEN_8_u_0_a2_1_out*~N_24+RCKEEN_8_u_0_a2_1_out*(~N_28_i_1*(~N_24*CBR)+N_28_i_1*~N_24)) -nRCS_c.D = N_28_i -nRCS_c.CLK = RCLK_c -nRCS_c.SP = VCC -nRCS_c.LSR = GND -N_28_i_1 = (~CASr2*(FWEr_fast+CO0)+CASr2*(~CASr3*(CO0@FWEr_fast)+CASr3*(FWEr_fast+CO0))) - -comp 35: SLICE_61 (FSLICE) -N_24_i = (~IS[0]*(~N_155*(~N_160*~nRRAS_5_u_i_0)+N_155*~nRRAS_5_u_i_0)+IS[0]*(N_155*~nRRAS_5_u_i_0)) -nRRAS_c.D = N_24_i -nRRAS_c.CLK = RCLK_c -nRRAS_c.SP = VCC -nRRAS_c.LSR = GND -nRRAS_5_u_i_0 = (Ready*(~RCKE_c*(RASr2*~S_0_i_o2[1])+RCKE_c*~S_0_i_o2[1])) - -comp 36: SLICE_62 (FSLICE) -N_39_i = (~m18_0_a2_1*((~G_17_1+~FWEr)+nRCAS_0_sqmuxa_1)+m18_0_a2_1*((G_17_1*~FWEr)+nRCAS_0_sqmuxa_1)) -nRWE_c.D = N_39_i -nRWE_c.CLK = RCLK_c -nRWE_c.SP = VCC -nRWE_c.LSR = GND -nRCAS_0_sqmuxa_1 = (Ready*(RASr2*(~S_0_i_o2[1]*CBR_fast))) - -comp 37: SLICE_63 (FSLICE) -nRowColSel_0_0 = (~S[1]*(~Ready*N_179+Ready*(CO0+N_179))+S[1]*(~Ready*N_179+Ready*(~CO0+N_179))) -nRowColSel.D = nRowColSel_0_0 -nRowColSel.CLK = RCLK_c -nRowColSel.SP = VCC -nRowColSel.LSR = nRRAS_0_sqmuxa -N_179 = (Ready*(FWEr*(~CBR*~CASr3))) - -comp 38: SLICE_64 (FSLICE) -nUFMCS_s_0_N_5_i = (~nUFMCS_s_0_N_5_i_N_2L1*((N_139_i+nUFMCS15)+nUFMCS_c)+nUFMCS_s_0_N_5_i_N_2L1*(~nUFMCS_c*nUFMCS15+nUFMCS_c*(~N_139_i+nUFMCS15))) -nUFMCS_c.D = nUFMCS_s_0_N_5_i -nUFMCS_c.CLK = RCLK_c -nUFMCS_c.SP = VCC -nUFMCS_c.LSR = GND -nUFMCS15 = (~N_51*(~InitReady*(~FS[11]*~FS[10]))) - -comp 39: nRWE_RNO_1/SLICE_65 (FSLICE) -m18_0_a2_1 = ((~RASr2*RCKE_c*~CO0*~S[1])*Ready)+((InitReady*m18_0_a3_3*~CO0*~S[1])*~Ready) - -comp 40: SLICE_66 (FSLICE) -UFMCLK_r_i_a2_2_2 = (N_95_5*(N_95_3*(~InitReady*FS[16]))) -RowA[0].D = MAin_c[0] -RowA[0].CLK = ~nCRAS_c -RowA[0].SP = VCC -RowA[0].LSR = ~Ready_fast -nUFMCS_s_0_N_5_i_N_2L1 = (~UFMCLK_r_i_a2_2_2*(~InitReady+CmdUFMCS)) -RowA[1].D = MAin_c[1] -RowA[1].CLK = ~nCRAS_c -RowA[1].SP = VCC -RowA[1].LSR = ~Ready_fast - -comp 41: SLICE_67 (FSLICE) -XOR8MEG18 = (N_147*(~MAin_c[1]*(MAin_c[0]*CmdEnable))) -RowA[4].D = MAin_c[4] -RowA[4].CLK = ~nCRAS_c -RowA[4].SP = VCC -RowA[4].LSR = ~Ready_fast -CmdUFMCLK_1_sqmuxa = (~Din_c[3]*(Din_c[5]*(~N_128*XOR8MEG18))) -RowA[5].D = MAin_c[5] -RowA[5].CLK = ~nCRAS_c -RowA[5].SP = VCC -RowA[5].LSR = ~Ready_fast - -comp 42: SLICE_68 (FSLICE) -N_31 = (~un1_FS_14_i_a2_0_1*N_136+un1_FS_14_i_a2_0_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) -un1_FS_14_i_a2_0_1 = (~FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) - -comp 43: SLICE_69 (FSLICE) -N_33 = (~un1_FS_13_i_a2_1*N_136+un1_FS_13_i_a2_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) -un1_FS_13_i_a2_1 = (FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) - -comp 44: SLICE_70 (FSLICE) -C1WR_0_a2 = (N_147*MAin_c[1]) -Bank[0].D = Din_c[0] -Bank[0].CLK = PHI2_c -Bank[0].SP = VCC -Bank[0].LSR = GND -N_147 = (C1WR_0_a2_0_11*(C1WR_0_a2_0_10*(Bank[1]*Bank[0]))) -Bank[1].D = Din_c[1] -Bank[1].CLK = PHI2_c -Bank[1].SP = VCC -Bank[1].LSR = GND - -comp 45: SLICE_71 (FSLICE) -C1WR_0_a2_0_10 = (C1WR_0_a2_0_4*(C1WR_0_a2_0_3*(Bank[4]*Bank[3]))) -Bank[2].D = Din_c[2] -Bank[2].CLK = PHI2_c -Bank[2].SP = VCC -Bank[2].LSR = GND -C1WR_0_a2_0_4 = (MAin_c[7]*(MAin_c[6]*(MAin_c[5]*MAin_c[4]))) -Bank[3].D = Din_c[3] -Bank[3].CLK = PHI2_c -Bank[3].SP = VCC -Bank[3].LSR = GND - -comp 46: SLICE_72 (FSLICE) -N_129 = (~N_51*(FS[11]*FS[4])+N_51*FS[1]) -RowA[2].D = MAin_c[2] -RowA[2].CLK = ~nCRAS_c -RowA[2].SP = VCC -RowA[2].LSR = ~Ready_fast -N_51 = ((FS[12]+FS[16])+UFMSDI_ens2_i_o2_0_3) -RowA[3].D = MAin_c[3] -RowA[3].CLK = ~nCRAS_c -RowA[3].SP = VCC -RowA[3].LSR = ~Ready_fast - -comp 47: SLICE_73 (FSLICE) -N_159 = (N_155+Ready) -CmdUFMCLK.D = Din_c[1] -CmdUFMCLK.CLK = ~PHI2_c -CmdUFMCLK.SP = CmdUFMCLK_1_sqmuxa -CmdUFMCLK.LSR = GND -N_155 = (((~InitReady+~RASr2)+S[1])+CO0) -CmdUFMCS.D = Din_c[2] -CmdUFMCS.CLK = ~PHI2_c -CmdUFMCS.SP = CmdUFMCLK_1_sqmuxa -CmdUFMCS.LSR = GND - -comp 48: SLICE_74 (FSLICE) -InitReady3 = (N_95_5*(N_95_3*(FS[16]*FS[10]))) -CmdUFMSDI.D = Din_c[0] -CmdUFMSDI.CLK = ~PHI2_c -CmdUFMSDI.SP = CmdUFMCLK_1_sqmuxa -CmdUFMSDI.LSR = GND -N_95_3 = (FS[14]*FS[11]) - -comp 49: SLICE_75 (FSLICE) -N_133 = (~N_128*(~Din_c[5]*~Din_c[1])) -CASr.D = ~nCCAS_c -CASr.CLK = RCLK_c -CASr.SP = VCC -CASr.LSR = GND -N_128 = ((~Din_c[4]+Din_c[6])+Din_c[7]) -CASr2.D = CASr -CASr2.CLK = RCLK_c -CASr2.SP = VCC -CASr2.LSR = GND - -comp 50: SLICE_76 (FSLICE) -CmdEnable16_0_a2_4 = (~MAin_c[0]*(~Din_c[3]*(~Din_c[1]*CmdEnable16_4))) -Bank[4].D = Din_c[4] -Bank[4].CLK = PHI2_c -Bank[4].SP = VCC -Bank[4].LSR = GND -CmdEnable16_4 = (~Din_c[5]*Din_c[0]) -Bank[5].D = Din_c[5] -Bank[5].CLK = PHI2_c -Bank[5].SP = VCC -Bank[5].LSR = GND - -comp 51: SLICE_77 (FSLICE) -CmdEnable16_0_a2_5 = (MAin_c[1]*(Din_c[6]*(~Din_c[2]*CmdEnable16_1))) -Bank[6].D = Din_c[6] -Bank[6].CLK = PHI2_c -Bank[6].SP = VCC -Bank[6].LSR = GND -CmdEnable16_1 = (Din_c[7]*~Din_c[4]) -Bank[7].D = Din_c[7] -Bank[7].CLK = PHI2_c -Bank[7].SP = VCC -Bank[7].LSR = GND - -comp 52: SLICE_78 (FSLICE) -CmdEnable17_0_a2_4 = (~N_43*(MAin_c[1]*(~Din_c[6]*Din_c[2]))) -CBR.D = ~nCCAS_c -CBR.CLK = ~nCRAS_c -CBR.SP = VCC -CBR.LSR = GND -N_43 = (~Din_c[5]+~Din_c[3]) -CBR_fast.D = ~nCCAS_c -CBR_fast.CLK = ~nCRAS_c -CBR_fast.SP = VCC -CBR_fast.LSR = GND - -comp 53: SLICE_79 (FSLICE) -G_17_1 = (m6_0_a2_2*(S[1]*(CO0*~CBR))) -WRD[0].D = Din_c[0] -WRD[0].CLK = ~nCCAS_c -WRD[0].SP = VCC -WRD[0].LSR = GND -m6_0_a2_2 = (Ready*(~CASr3*CASr2)) -WRD[1].D = Din_c[1] -WRD[1].CLK = ~nCCAS_c -WRD[1].SP = VCC -WRD[1].LSR = GND - -comp 54: SLICE_80 (FSLICE) -g0_1 = (~g4_0_0_0*(~FWEr*(~CO0*~CBR_fast))+g4_0_0_0*(~FWEr*(~CO0*~CBR_fast)+FWEr*(CO0*~CBR_fast))) -RowA[8].D = MAin_c[8] -RowA[8].CLK = ~nCRAS_c -RowA[8].SP = VCC -RowA[8].LSR = ~Ready_fast -g4_0_0_0 = (~CASr3*CASr2) -RowA[9].D = MAin_c[9] -RowA[9].CLK = ~nCRAS_c -RowA[9].SP = VCC -RowA[9].LSR = ~Ready_fast - -comp 55: SLICE_81 (FSLICE) -N_95_5 = (FS[17]*(FS[15]*(FS[13]*FS[12]))) -FWEr.D = ~nFWE_c -FWEr.CLK = ~nCRAS_c -FWEr.SP = VCC -FWEr.LSR = GND -UFMSDI_ens2_i_o2_0_3 = (((FS[13]+FS[14])+FS[15])+FS[17]) -FWEr_fast.D = ~nFWE_c -FWEr_fast.CLK = ~nCRAS_c -FWEr_fast.SP = VCC -FWEr_fast.LSR = GND - -comp 56: SLICE_82 (FSLICE) -CmdSubmitted_1_sqmuxa = (~Din_c[3]*(~N_128*XOR8MEG18)+Din_c[3]*(~Din_c[5]*(~N_128*XOR8MEG18))) -CASr3.D = CASr2 -CASr3.CLK = RCLK_c -CASr3.SP = VCC -CASr3.LSR = GND -N_132 = (~Din_c[3]*(~CmdLEDEN*N_128)+Din_c[3]*(~Din_c[5]*(~CmdLEDEN*N_128)+Din_c[5]*~CmdLEDEN)) - -comp 57: SLICE_83 (FSLICE) -N_165 = (~IS[2]+(~IS[1]+~IS[0])) -RBA_c[0].D = CROW_c[0] -RBA_c[0].CLK = ~nCRAS_c -RBA_c[0].SP = VCC -RBA_c[0].LSR = ~Ready_fast -N_160 = ((IS[1]+IS[2])+IS[3]) -RBA_c[1].D = CROW_c[1] -RBA_c[1].CLK = ~nCRAS_c -RBA_c[1].SP = VCC -RBA_c[1].LSR = ~Ready_fast - -comp 58: SLICE_84 (FSLICE) -N_137_6 = (FS[10]*(~FS[7]*(~FS[6]*~FS[1]))) -UFMSDI_ens2_i_a2_4_2 = (FS[11]*(~FS[10]*(~FS[8]*FS[6]))) - -comp 59: SLICE_85 (FSLICE) -un1_Din_4 = (~Din_c[7]*(~Din_c[6]*(~Din_c[5]*~Din_c[4]))) -WRD[2].D = Din_c[2] -WRD[2].CLK = ~nCCAS_c -WRD[2].SP = VCC -WRD[2].LSR = GND -CmdEnable17_0_a2_3 = (~Din_c[4]*(Din_c[7]*(Din_c[0]*~Din_c[1]))) -WRD[3].D = Din_c[3] -WRD[3].CLK = ~nCCAS_c -WRD[3].SP = VCC -WRD[3].LSR = GND - -comp 60: SLICE_86 (FSLICE) -RA_c[9] = (~nRowColSel*RowA[9]+nRowColSel*MAin_c[9]) -RDQML_c = (~nRowColSel+~MAin_c[9]) - -comp 61: SLICE_87 (FSLICE) -N_137_8 = (N_151*(FS[11]*(~FS[9]*FS[4]))) -UFMSDI_r_xx_mm_1 = (~N_151*(~UFMSDI_ens2_i_a0*CmdUFMSDI)+N_151*~UFMSDI_ens2_i_a0) - -comp 62: SLICE_88 (FSLICE) -RD_1_i = (nCCAS_c+nFWE_c) -RowA[6].D = MAin_c[6] -RowA[6].CLK = ~nCRAS_c -RowA[6].SP = VCC -RowA[6].LSR = ~Ready_fast -C1WR_0_a2_0_3 = (~nFWE_c*(MAin_c[3]*MAin_c[2])) -RowA[7].D = MAin_c[7] -RowA[7].CLK = ~nCRAS_c -RowA[7].SP = VCC -RowA[7].LSR = ~Ready_fast - -comp 63: SLICE_89 (FSLICE) -RA_c[8] = (~nRowColSel*RowA[8]+nRowColSel*MAin_c[8]) -RDQMH_c = (~nRowColSel+MAin_c[9]) - -comp 64: SLICE_90 (FSLICE) -RA_c[0] = (~nRowColSel*RowA[0]+nRowColSel*MAin_c[0]) -un1_CMDWR = (~MAin_c[1]*(MAin_c[0]*N_147)+MAin_c[1]*N_147) - -comp 65: SLICE_91 (FSLICE) -RA_c[1] = (~nRowColSel*RowA[1]+nRowColSel*MAin_c[1]) -RA_c[7] = (~nRowColSel*RowA[7]+nRowColSel*MAin_c[7]) - -comp 66: SLICE_92 (FSLICE) -RA_c[2] = (~nRowColSel*RowA[2]+nRowColSel*MAin_c[2]) -RA_c[6] = (~nRowColSel*RowA[6]+nRowColSel*MAin_c[6]) - -comp 67: SLICE_93 (FSLICE) -RA_c[3] = (~nRowColSel*RowA[3]+nRowColSel*MAin_c[3]) -RA_c[5] = (~nRowColSel*RowA[5]+nRowColSel*MAin_c[5]) - -comp 68: SLICE_94 (FSLICE) -RCKEEN_8_u_0_a2_1_out = (S[1]*Ready) -RA_c[10].D = ~IS[0] -RA_c[10].CLK = RCLK_c -RA_c[10].SP = VCC -RA_c[10].LSR = RA10s_i -N_159_i = (~N_155*~Ready) + +comp 0: SLICE_0 (FSLICE) + +comp 1: SLICE_1 (FSLICE) + +comp 2: SLICE_2 (FSLICE) + +comp 3: SLICE_3 (FSLICE) + +comp 4: SLICE_4 (FSLICE) + +comp 5: SLICE_5 (FSLICE) + +comp 6: SLICE_6 (FSLICE) + +comp 7: SLICE_7 (FSLICE) + +comp 8: SLICE_8 (FSLICE) + +comp 9: SLICE_9 (FSLICE) +ADSubmitted_r = (~CmdEnable16*((~C1WR_0_a2*ADSubmitted)+CmdEnable17)) +ADSubmitted.D = ADSubmitted_r +ADSubmitted.CLK = ~PHI2_c +ADSubmitted.SP = VCC +ADSubmitted.LSR = GND +CmdEnable17 = (N_147*(MAin_c[0]*(CmdEnable17_0_a2_4*CmdEnable17_0_a2_3))) + +comp 10: SLICE_14 (FSLICE) +C1Submitted_RNO = (~MAin_c[1]*(CmdEnable16+C1Submitted)+MAin_c[1]*(~N_147*(CmdEnable16+C1Submitted)+N_147*CmdEnable16)) +C1Submitted.D = C1Submitted_RNO +C1Submitted.CLK = ~PHI2_c +C1Submitted.SP = VCC +C1Submitted.LSR = GND +CmdEnable16 = (N_147*(CmdEnable16_0_a2_5*CmdEnable16_0_a2_4)) + +comp 11: SLICE_19 (FSLICE) +N_177_i = (~CO0+S[1]) +CO0.D = N_177_i +CO0.CLK = RCLK_c +CO0.SP = VCC +CO0.LSR = ~RASr2 +Ready_0_sqmuxa_0_a3_2 = (S[1]*(~RASr2*(IS[3]*CO0))) + +comp 12: SLICE_20 (FSLICE) +CmdEnable_s = ((CmdEnable+ADSubmitted)*CmdEnable16)+(((C1Submitted*un1_CMDWR*CmdEnable17)+(CmdEnable*CmdEnable17)+(~un1_CMDWR*CmdEnable))*~CmdEnable16) +CmdEnable.D = CmdEnable_s +CmdEnable.CLK = ~PHI2_c +CmdEnable.SP = VCC +CmdEnable.LSR = GND + +comp 13: SLICE_21 (FSLICE) +N_21_i = (~N_152*(~N_133*~N_132)+N_152*(~N_133*(~N_132*LEDEN))) +CmdLEDEN.D = N_21_i +CmdLEDEN.CLK = ~PHI2_c +CmdLEDEN.SP = XOR8MEG18 +CmdLEDEN.LSR = GND +N_152 = (~N_128*(Din_c[5]*~Din_c[3])) + +comp 14: SLICE_22 (FSLICE) +N_460_0 = (CmdSubmitted_1_sqmuxa+CmdSubmitted) +CmdSubmitted.D = N_460_0 +CmdSubmitted.CLK = ~PHI2_c +CmdSubmitted.SP = VCC +CmdSubmitted.LSR = GND +N_136 = (PHI2r3*(~PHI2r2*(InitReady*CmdSubmitted))) + +comp 15: SLICE_26 (FSLICE) +N_19_i = (~n8MEGEN*(~N_152*~Cmdn8MEGEN_4_u_i_0)+n8MEGEN*~Cmdn8MEGEN_4_u_i_0) +Cmdn8MEGEN.D = N_19_i +Cmdn8MEGEN.CLK = ~PHI2_c +Cmdn8MEGEN.SP = XOR8MEG18 +Cmdn8MEGEN.LSR = GND +Cmdn8MEGEN_4_u_i_0 = (~N_128*(~N_43*(~Cmdn8MEGEN+CmdEnable16_4)+N_43*CmdEnable16_4)+N_128*~Cmdn8MEGEN) + +comp 16: SLICE_29 (FSLICE) +N_64_i_i = (~N_155*(Ready@~IS[0])+N_155*IS[0]) +IS[0].D = N_64_i_i +IS[0].CLK = RCLK_c +IS[0].SP = VCC +IS[0].LSR = GND +N_24 = ((~N_160*(~N_155*IS[0])+N_160*~N_155)+nRRAS_5_u_i_0) + +comp 17: SLICE_30 (FSLICE) +N_56_i = (IS[1]@IS[0]) +IS[1].D = N_56_i +IS[1].CLK = RCLK_c +IS[1].SP = N_159_i +IS[1].LSR = GND +N_60_i_i = (IS[2]@(IS[1]*IS[0])) +IS[2].D = N_60_i_i +IS[2].CLK = RCLK_c +IS[2].SP = N_159_i +IS[2].LSR = GND + +comp 18: SLICE_31 (FSLICE) +N_61_i_i = (~IS[0]*IS[3]+IS[0]*(~IS[1]*IS[3]+IS[1]*(IS[2]@IS[3]))) +IS[3].D = N_61_i_i +IS[3].CLK = RCLK_c +IS[3].SP = N_159_i +IS[3].LSR = GND +RA10s_i = ((~IS[3]+(IS[1]+IS[2]))+N_159) + +comp 19: SLICE_32 (FSLICE) +N_461_0 = (InitReady3+InitReady) +InitReady.D = N_461_0 +InitReady.CLK = RCLK_c +InitReady.SP = VCC +InitReady.LSR = GND +UFMSDI_ens2_i_a0 = (~UFMSDI_ens2_i_a2_4_2*~InitReady+UFMSDI_ens2_i_a2_4_2*(~N_126*~InitReady+N_126*(N_51*~InitReady))) + +comp 20: SLICE_33 (FSLICE) +N_70 = (~UFMSDO_c*(~InitReady+CmdLEDEN)+UFMSDO_c*(InitReady*CmdLEDEN)) +LEDEN.D = N_70 +LEDEN.CLK = RCLK_c +LEDEN.SP = N_33 +LEDEN.LSR = GND +LED_c = ((~LEDEN+CBR)+nCRAS_c) + +comp 21: SLICE_39 (FSLICE) +RA11_2 = (~n8MEGEN*(XOR8MEG@Din_c[6])+n8MEGEN*XOR8MEG) +RA_c[11].D = RA11_2 +RA_c[11].CLK = PHI2_c +RA_c[11].SP = VCC +RA_c[11].LSR = ~Ready_fast +N_171 = (~un1_Din_4*XOR8MEG) + +comp 22: SLICE_41 (FSLICE) +RCKEEN_8 = (~Ready*RCKEEN_8_u_0_0+Ready*(~RCKEEN_8_u_1*RCKEEN_8_u_0_0+RCKEEN_8_u_1*(~CBR+RCKEEN_8_u_0_0))) +RCKEEN.D = RCKEEN_8 +RCKEEN.CLK = RCLK_c +RCKEEN.SP = VCC +RCKEEN.LSR = GND +RCKEEN_8_u_1 = (~S[1]*(~FWEr_fast+CO0)+S[1]*(FWEr_fast*(~CO0+~CASr2))) +PHI2r2.D = PHI2r +PHI2r2.CLK = RCLK_c +PHI2r2.SP = VCC +PHI2r2.LSR = GND + +comp 23: SLICE_42 (FSLICE) +RCKE_2 = (~RCKEEN*(RASr3*~RASr2)+RCKEEN*((RASr+RASr2)+RASr3)) +RCKE_c.D = RCKE_2 +RCKE_c.CLK = RCLK_c +RCKE_c.SP = VCC +RCKE_c.LSR = GND +m18_0_a3_3 = (RASr2*(~IS[2]*(~IS[1]*IS[0]))) +PHI2r.D = PHI2_c +PHI2r.CLK = RCLK_c +PHI2r.SP = VCC +PHI2r.LSR = GND + +comp 24: SLICE_43 (FSLICE) +N_462_0 = (~InitReady*Ready+InitReady*(~N_165*(Ready+Ready_0_sqmuxa_0_a3_2)+N_165*Ready)) +Ready.D = N_462_0 +Ready.CLK = RCLK_c +Ready.SP = VCC +Ready.LSR = GND +RCKEEN_8_u_0_0 = (~S_0_i_o2[1]*(~InitReady*(~RASr2*Ready)+InitReady*(~RASr2+~Ready))+S_0_i_o2[1]*(InitReady*~Ready)) +PHI2r3.D = PHI2r2 +PHI2r3.CLK = RCLK_c +PHI2r3.SP = VCC +PHI2r3.LSR = GND + +comp 25: SLICE_44 (FSLICE) +N_463_0 = (Ready_0_sqmuxa+Ready_fast) +Ready_fast.D = N_463_0 +Ready_fast.CLK = RCLK_c +Ready_fast.SP = VCC +Ready_fast.LSR = GND +Ready_0_sqmuxa = (Ready_0_sqmuxa_0_a3_2*(~Ready*(~N_165*InitReady))) +RASr.D = ~nCRAS_c +RASr.CLK = RCLK_c +RASr.SP = VCC +RASr.LSR = GND + +comp 26: SLICE_50 (FSLICE) +S_0_i_o2[1] = (CO0+S[1]) +S[1].D = S_0_i_o2[1] +S[1].CLK = RCLK_c +S[1].SP = VCC +S[1].LSR = ~RASr2 +nRRAS_0_sqmuxa = (~CO0*(~S[1]*Ready)) + +comp 27: SLICE_51 (FSLICE) +UFMCLK_RNO = (~UFMCLK_r_i_m4_xx_mm_1*(~UFMCLK_c*(~nUFMCS15*N_139_i)+UFMCLK_c*~nUFMCS15)+UFMCLK_r_i_m4_xx_mm_1*(UFMCLK_c*(~nUFMCS15*~N_139_i))) +UFMCLK_c.D = UFMCLK_RNO +UFMCLK_c.CLK = RCLK_c +UFMCLK_c.SP = VCC +UFMCLK_c.LSR = GND +UFMCLK_r_i_m4_xx_mm_1 = (~N_129*((~CmdUFMCLK+~InitReady)+UFMCLK_r_i_a2_2_2)+N_129*((~CmdUFMCLK*InitReady)+UFMCLK_r_i_a2_2_2)) +RASr2.D = RASr +RASr2.CLK = RCLK_c +RASr2.SP = VCC +RASr2.LSR = GND + +comp 28: SLICE_52 (FSLICE) +UFMSDI_RNO = (~UFMSDI_r_xx_mm_1*(UFMSDI_c*(~nUFMCS15*~N_139_i))+UFMSDI_r_xx_mm_1*(~UFMSDI_c*(~nUFMCS15*N_139_i)+UFMSDI_c*~nUFMCS15)) +UFMSDI_c.D = UFMSDI_RNO +UFMSDI_c.CLK = RCLK_c +UFMSDI_c.SP = VCC +UFMSDI_c.LSR = GND +N_139_i = (~PHI2r3*~InitReady+PHI2r3*(~PHI2r2*(~InitReady+CmdSubmitted)+PHI2r2*~InitReady)) +RASr3.D = RASr2 +RASr3.CLK = RCLK_c +RASr3.SP = VCC +RASr3.LSR = GND + +comp 29: SLICE_55 (FSLICE) +RA_c[4] = (~nRowColSel*RowA[4]+nRowColSel*MAin_c[4]) +WRD[4].D = Din_c[4] +WRD[4].CLK = ~nCCAS_c +WRD[4].SP = VCC +WRD[4].LSR = GND +WRD[5].D = Din_c[5] +WRD[5].CLK = ~nCCAS_c +WRD[5].SP = VCC +WRD[5].LSR = GND + +comp 30: SLICE_56 (FSLICE) +N_126 = (~FS[9]*FS[7]+FS[9]*(~FS[7]*FS[5])) +WRD[6].D = Din_c[6] +WRD[6].CLK = ~nCCAS_c +WRD[6].SP = VCC +WRD[6].LSR = GND +C1WR_0_a2_0_11 = (Bank[7]*(Bank[6]*(Bank[5]*~Bank[2]))) +WRD[7].D = Din_c[7] +WRD[7].CLK = ~nCCAS_c +WRD[7].SP = VCC +WRD[7].LSR = GND + +comp 31: SLICE_57 (FSLICE) +XOR8MEG_3 = (~XOR8MEG_3_u_0_a3_2*N_171+XOR8MEG_3_u_0_a3_2*((~LEDEN+~Din_c[1])+N_171)) +XOR8MEG.D = XOR8MEG_3 +XOR8MEG.CLK = ~PHI2_c +XOR8MEG.SP = XOR8MEG18 +XOR8MEG.LSR = GND +XOR8MEG_3_u_0_a3_2 = (un1_Din_4*(~Din_c[3]*(Din_c[2]*Din_c[0]))) + +comp 32: SLICE_58 (FSLICE) +N_69 = (~UFMSDO_c*(~InitReady+Cmdn8MEGEN)+UFMSDO_c*(InitReady*Cmdn8MEGEN)) +n8MEGEN.D = N_69 +n8MEGEN.CLK = RCLK_c +n8MEGEN.SP = N_31 +n8MEGEN.LSR = GND +N_151 = (~N_51*(~InitReady*~FS[8])) + +comp 33: SLICE_59 (FSLICE) +N_37_i = (~g0_1*(~S[1]*(~nRCAS_0_sqmuxa_1*N_41)+S[1]*~nRCAS_0_sqmuxa_1)+g0_1*(~nRCAS_0_sqmuxa_1*N_41)) +nRCAS_c.D = N_37_i +nRCAS_c.CLK = RCLK_c +nRCAS_c.SP = VCC +nRCAS_c.LSR = GND +N_41 = (~S[1]*((~N_160+N_155)+Ready)+S[1]*(~Ready*(~N_160+N_155))) + +comp 34: SLICE_60 (FSLICE) +N_28_i = (~RCKEEN_8_u_0_a2_1_out*~N_24+RCKEEN_8_u_0_a2_1_out*(~N_28_i_1*(~N_24*CBR)+N_28_i_1*~N_24)) +nRCS_c.D = N_28_i +nRCS_c.CLK = RCLK_c +nRCS_c.SP = VCC +nRCS_c.LSR = GND +N_28_i_1 = (~CASr2*(FWEr_fast+CO0)+CASr2*(~CASr3*(CO0@FWEr_fast)+CASr3*(FWEr_fast+CO0))) + +comp 35: SLICE_61 (FSLICE) +N_24_i = (~IS[0]*(~N_155*(~N_160*~nRRAS_5_u_i_0)+N_155*~nRRAS_5_u_i_0)+IS[0]*(N_155*~nRRAS_5_u_i_0)) +nRRAS_c.D = N_24_i +nRRAS_c.CLK = RCLK_c +nRRAS_c.SP = VCC +nRRAS_c.LSR = GND +nRRAS_5_u_i_0 = (Ready*(~RCKE_c*(RASr2*~S_0_i_o2[1])+RCKE_c*~S_0_i_o2[1])) + +comp 36: SLICE_62 (FSLICE) +N_39_i = (~m18_0_a2_1*((~G_17_1+~FWEr)+nRCAS_0_sqmuxa_1)+m18_0_a2_1*((G_17_1*~FWEr)+nRCAS_0_sqmuxa_1)) +nRWE_c.D = N_39_i +nRWE_c.CLK = RCLK_c +nRWE_c.SP = VCC +nRWE_c.LSR = GND +nRCAS_0_sqmuxa_1 = (Ready*(RASr2*(~S_0_i_o2[1]*CBR_fast))) + +comp 37: SLICE_63 (FSLICE) +nRowColSel_0_0 = (~S[1]*(~Ready*N_179+Ready*(CO0+N_179))+S[1]*(~Ready*N_179+Ready*(~CO0+N_179))) +nRowColSel.D = nRowColSel_0_0 +nRowColSel.CLK = RCLK_c +nRowColSel.SP = VCC +nRowColSel.LSR = nRRAS_0_sqmuxa +N_179 = (Ready*(FWEr*(~CBR*~CASr3))) + +comp 38: SLICE_64 (FSLICE) +nUFMCS_s_0_N_5_i = (~nUFMCS_s_0_N_5_i_N_2L1*((N_139_i+nUFMCS15)+nUFMCS_c)+nUFMCS_s_0_N_5_i_N_2L1*(~nUFMCS_c*nUFMCS15+nUFMCS_c*(~N_139_i+nUFMCS15))) +nUFMCS_c.D = nUFMCS_s_0_N_5_i +nUFMCS_c.CLK = RCLK_c +nUFMCS_c.SP = VCC +nUFMCS_c.LSR = GND +nUFMCS15 = (~N_51*(~InitReady*(~FS[11]*~FS[10]))) + +comp 39: nRWE_RNO_1/SLICE_65 (FSLICE) +m18_0_a2_1 = ((~RASr2*RCKE_c*~CO0*~S[1])*Ready)+((InitReady*m18_0_a3_3*~CO0*~S[1])*~Ready) + +comp 40: SLICE_66 (FSLICE) +UFMCLK_r_i_a2_2_2 = (N_95_5*(N_95_3*(~InitReady*FS[16]))) +RowA[0].D = MAin_c[0] +RowA[0].CLK = ~nCRAS_c +RowA[0].SP = VCC +RowA[0].LSR = ~Ready_fast +nUFMCS_s_0_N_5_i_N_2L1 = (~UFMCLK_r_i_a2_2_2*(~InitReady+CmdUFMCS)) +RowA[1].D = MAin_c[1] +RowA[1].CLK = ~nCRAS_c +RowA[1].SP = VCC +RowA[1].LSR = ~Ready_fast + +comp 41: SLICE_67 (FSLICE) +XOR8MEG18 = (N_147*(~MAin_c[1]*(MAin_c[0]*CmdEnable))) +RowA[4].D = MAin_c[4] +RowA[4].CLK = ~nCRAS_c +RowA[4].SP = VCC +RowA[4].LSR = ~Ready_fast +CmdUFMCLK_1_sqmuxa = (~Din_c[3]*(Din_c[5]*(~N_128*XOR8MEG18))) +RowA[5].D = MAin_c[5] +RowA[5].CLK = ~nCRAS_c +RowA[5].SP = VCC +RowA[5].LSR = ~Ready_fast + +comp 42: SLICE_68 (FSLICE) +N_31 = (~un1_FS_14_i_a2_0_1*N_136+un1_FS_14_i_a2_0_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) +un1_FS_14_i_a2_0_1 = (~FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) + +comp 43: SLICE_69 (FSLICE) +N_33 = (~un1_FS_13_i_a2_1*N_136+un1_FS_13_i_a2_1*(~N_137_8*N_136+N_137_8*(N_136+N_137_6))) +un1_FS_13_i_a2_1 = (FS[5]*(~FS[3]*(~FS[2]*~FS[0]))) + +comp 44: SLICE_70 (FSLICE) +C1WR_0_a2 = (N_147*MAin_c[1]) +Bank[0].D = Din_c[0] +Bank[0].CLK = PHI2_c +Bank[0].SP = VCC +Bank[0].LSR = GND +N_147 = (C1WR_0_a2_0_11*(C1WR_0_a2_0_10*(Bank[1]*Bank[0]))) +Bank[1].D = Din_c[1] +Bank[1].CLK = PHI2_c +Bank[1].SP = VCC +Bank[1].LSR = GND + +comp 45: SLICE_71 (FSLICE) +C1WR_0_a2_0_10 = (C1WR_0_a2_0_4*(C1WR_0_a2_0_3*(Bank[4]*Bank[3]))) +Bank[2].D = Din_c[2] +Bank[2].CLK = PHI2_c +Bank[2].SP = VCC +Bank[2].LSR = GND +C1WR_0_a2_0_4 = (MAin_c[7]*(MAin_c[6]*(MAin_c[5]*MAin_c[4]))) +Bank[3].D = Din_c[3] +Bank[3].CLK = PHI2_c +Bank[3].SP = VCC +Bank[3].LSR = GND + +comp 46: SLICE_72 (FSLICE) +N_129 = (~N_51*(FS[11]*FS[4])+N_51*FS[1]) +RowA[2].D = MAin_c[2] +RowA[2].CLK = ~nCRAS_c +RowA[2].SP = VCC +RowA[2].LSR = ~Ready_fast +N_51 = ((FS[12]+FS[16])+UFMSDI_ens2_i_o2_0_3) +RowA[3].D = MAin_c[3] +RowA[3].CLK = ~nCRAS_c +RowA[3].SP = VCC +RowA[3].LSR = ~Ready_fast + +comp 47: SLICE_73 (FSLICE) +N_159 = (N_155+Ready) +CmdUFMCLK.D = Din_c[1] +CmdUFMCLK.CLK = ~PHI2_c +CmdUFMCLK.SP = CmdUFMCLK_1_sqmuxa +CmdUFMCLK.LSR = GND +N_155 = (((~InitReady+~RASr2)+S[1])+CO0) +CmdUFMCS.D = Din_c[2] +CmdUFMCS.CLK = ~PHI2_c +CmdUFMCS.SP = CmdUFMCLK_1_sqmuxa +CmdUFMCS.LSR = GND + +comp 48: SLICE_74 (FSLICE) +InitReady3 = (N_95_5*(N_95_3*(FS[16]*FS[10]))) +CmdUFMSDI.D = Din_c[0] +CmdUFMSDI.CLK = ~PHI2_c +CmdUFMSDI.SP = CmdUFMCLK_1_sqmuxa +CmdUFMSDI.LSR = GND +N_95_3 = (FS[14]*FS[11]) + +comp 49: SLICE_75 (FSLICE) +N_133 = (~N_128*(~Din_c[5]*~Din_c[1])) +CASr.D = ~nCCAS_c +CASr.CLK = RCLK_c +CASr.SP = VCC +CASr.LSR = GND +N_128 = ((~Din_c[4]+Din_c[6])+Din_c[7]) +CASr2.D = CASr +CASr2.CLK = RCLK_c +CASr2.SP = VCC +CASr2.LSR = GND + +comp 50: SLICE_76 (FSLICE) +CmdEnable16_0_a2_4 = (~MAin_c[0]*(~Din_c[3]*(~Din_c[1]*CmdEnable16_4))) +Bank[4].D = Din_c[4] +Bank[4].CLK = PHI2_c +Bank[4].SP = VCC +Bank[4].LSR = GND +CmdEnable16_4 = (~Din_c[5]*Din_c[0]) +Bank[5].D = Din_c[5] +Bank[5].CLK = PHI2_c +Bank[5].SP = VCC +Bank[5].LSR = GND + +comp 51: SLICE_77 (FSLICE) +CmdEnable16_0_a2_5 = (MAin_c[1]*(Din_c[6]*(~Din_c[2]*CmdEnable16_1))) +Bank[6].D = Din_c[6] +Bank[6].CLK = PHI2_c +Bank[6].SP = VCC +Bank[6].LSR = GND +CmdEnable16_1 = (Din_c[7]*~Din_c[4]) +Bank[7].D = Din_c[7] +Bank[7].CLK = PHI2_c +Bank[7].SP = VCC +Bank[7].LSR = GND + +comp 52: SLICE_78 (FSLICE) +CmdEnable17_0_a2_4 = (~N_43*(MAin_c[1]*(~Din_c[6]*Din_c[2]))) +CBR.D = ~nCCAS_c +CBR.CLK = ~nCRAS_c +CBR.SP = VCC +CBR.LSR = GND +N_43 = (~Din_c[5]+~Din_c[3]) +CBR_fast.D = ~nCCAS_c +CBR_fast.CLK = ~nCRAS_c +CBR_fast.SP = VCC +CBR_fast.LSR = GND + +comp 53: SLICE_79 (FSLICE) +G_17_1 = (m6_0_a2_2*(S[1]*(CO0*~CBR))) +WRD[0].D = Din_c[0] +WRD[0].CLK = ~nCCAS_c +WRD[0].SP = VCC +WRD[0].LSR = GND +m6_0_a2_2 = (Ready*(~CASr3*CASr2)) +WRD[1].D = Din_c[1] +WRD[1].CLK = ~nCCAS_c +WRD[1].SP = VCC +WRD[1].LSR = GND + +comp 54: SLICE_80 (FSLICE) +g0_1 = (~g4_0_0_0*(~FWEr*(~CO0*~CBR_fast))+g4_0_0_0*(~FWEr*(~CO0*~CBR_fast)+FWEr*(CO0*~CBR_fast))) +RowA[8].D = MAin_c[8] +RowA[8].CLK = ~nCRAS_c +RowA[8].SP = VCC +RowA[8].LSR = ~Ready_fast +g4_0_0_0 = (~CASr3*CASr2) +RowA[9].D = MAin_c[9] +RowA[9].CLK = ~nCRAS_c +RowA[9].SP = VCC +RowA[9].LSR = ~Ready_fast + +comp 55: SLICE_81 (FSLICE) +N_95_5 = (FS[17]*(FS[15]*(FS[13]*FS[12]))) +FWEr.D = ~nFWE_c +FWEr.CLK = ~nCRAS_c +FWEr.SP = VCC +FWEr.LSR = GND +UFMSDI_ens2_i_o2_0_3 = (((FS[13]+FS[14])+FS[15])+FS[17]) +FWEr_fast.D = ~nFWE_c +FWEr_fast.CLK = ~nCRAS_c +FWEr_fast.SP = VCC +FWEr_fast.LSR = GND + +comp 56: SLICE_82 (FSLICE) +CmdSubmitted_1_sqmuxa = (~Din_c[3]*(~N_128*XOR8MEG18)+Din_c[3]*(~Din_c[5]*(~N_128*XOR8MEG18))) +CASr3.D = CASr2 +CASr3.CLK = RCLK_c +CASr3.SP = VCC +CASr3.LSR = GND +N_132 = (~Din_c[3]*(~CmdLEDEN*N_128)+Din_c[3]*(~Din_c[5]*(~CmdLEDEN*N_128)+Din_c[5]*~CmdLEDEN)) + +comp 57: SLICE_83 (FSLICE) +N_165 = (~IS[2]+(~IS[1]+~IS[0])) +RBA_c[0].D = CROW_c[0] +RBA_c[0].CLK = ~nCRAS_c +RBA_c[0].SP = VCC +RBA_c[0].LSR = ~Ready_fast +N_160 = ((IS[1]+IS[2])+IS[3]) +RBA_c[1].D = CROW_c[1] +RBA_c[1].CLK = ~nCRAS_c +RBA_c[1].SP = VCC +RBA_c[1].LSR = ~Ready_fast + +comp 58: SLICE_84 (FSLICE) +N_137_6 = (FS[10]*(~FS[7]*(~FS[6]*~FS[1]))) +UFMSDI_ens2_i_a2_4_2 = (FS[11]*(~FS[10]*(~FS[8]*FS[6]))) + +comp 59: SLICE_85 (FSLICE) +un1_Din_4 = (~Din_c[7]*(~Din_c[6]*(~Din_c[5]*~Din_c[4]))) +WRD[2].D = Din_c[2] +WRD[2].CLK = ~nCCAS_c +WRD[2].SP = VCC +WRD[2].LSR = GND +CmdEnable17_0_a2_3 = (~Din_c[4]*(Din_c[7]*(Din_c[0]*~Din_c[1]))) +WRD[3].D = Din_c[3] +WRD[3].CLK = ~nCCAS_c +WRD[3].SP = VCC +WRD[3].LSR = GND + +comp 60: SLICE_86 (FSLICE) +RA_c[9] = (~nRowColSel*RowA[9]+nRowColSel*MAin_c[9]) +RDQML_c = (~nRowColSel+~MAin_c[9]) + +comp 61: SLICE_87 (FSLICE) +N_137_8 = (N_151*(FS[11]*(~FS[9]*FS[4]))) +UFMSDI_r_xx_mm_1 = (~N_151*(~UFMSDI_ens2_i_a0*CmdUFMSDI)+N_151*~UFMSDI_ens2_i_a0) + +comp 62: SLICE_88 (FSLICE) +RD_1_i = (nCCAS_c+nFWE_c) +RowA[6].D = MAin_c[6] +RowA[6].CLK = ~nCRAS_c +RowA[6].SP = VCC +RowA[6].LSR = ~Ready_fast +C1WR_0_a2_0_3 = (~nFWE_c*(MAin_c[3]*MAin_c[2])) +RowA[7].D = MAin_c[7] +RowA[7].CLK = ~nCRAS_c +RowA[7].SP = VCC +RowA[7].LSR = ~Ready_fast + +comp 63: SLICE_89 (FSLICE) +RA_c[8] = (~nRowColSel*RowA[8]+nRowColSel*MAin_c[8]) +RDQMH_c = (~nRowColSel+MAin_c[9]) + +comp 64: SLICE_90 (FSLICE) +RA_c[0] = (~nRowColSel*RowA[0]+nRowColSel*MAin_c[0]) +un1_CMDWR = (~MAin_c[1]*(MAin_c[0]*N_147)+MAin_c[1]*N_147) + +comp 65: SLICE_91 (FSLICE) +RA_c[1] = (~nRowColSel*RowA[1]+nRowColSel*MAin_c[1]) +RA_c[7] = (~nRowColSel*RowA[7]+nRowColSel*MAin_c[7]) + +comp 66: SLICE_92 (FSLICE) +RA_c[2] = (~nRowColSel*RowA[2]+nRowColSel*MAin_c[2]) +RA_c[6] = (~nRowColSel*RowA[6]+nRowColSel*MAin_c[6]) + +comp 67: SLICE_93 (FSLICE) +RA_c[3] = (~nRowColSel*RowA[3]+nRowColSel*MAin_c[3]) +RA_c[5] = (~nRowColSel*RowA[5]+nRowColSel*MAin_c[5]) + +comp 68: SLICE_94 (FSLICE) +RCKEEN_8_u_0_a2_1_out = (S[1]*Ready) +RA_c[10].D = ~IS[0] +RA_c[10].CLK = RCLK_c +RA_c[10].SP = VCC +RA_c[10].LSR = RA10s_i +N_159_i = (~N_155*~Ready) diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.ncd b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.ncd index f58180a12831f24a2a0570336c37a2c7aa55e3eb..786ae1eee91ce499981789fd2474b219fb536f6b 100644 GIT binary patch delta 40 wcmdnj#JR7DbAkx-!{q-P#UDwq)%Z;?*4LlRDCy8_FWGJ{$++EKlIg!X06oAC4*&oF delta 40 wcmdnj#JR7DbAkx-o!B@uCG6tQPQE=Ub5X@l5xAeB-4L&09UyWQ2+n{ diff --git a/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.ngd b/CPLD/LCMXO256C/impl1/RAM2GS_LCMXO256C_impl1.ngd index 37f17ab29ad3c4b822fd750b2848b933cde194d3..b9c78fda601b9df2a004e2d6c8726d04b7024511 100644 GIT binary patch literal 144453 zcmb4scYGYh+5btFj14v{glfQ?!2uV*E4lYmaglAwYsp=4lAbQKX=2dLNrsfIJ=&m)} zcWl_YC0e~<<>swhnxjL;jJjdfhMhyBBX2A#zp?DbQKLsiSnGWr%!)T}9KFsoK|Vla zQGG>i`HTjT4;n z7KM``LFIy)In{;yc*tKkt-hgVZXL951XF2O)X$hUzoNcsCJ7Rq1y!}xBF?jlsQKpK zt^QXp>J5T|A9vdnbrA(1M5oH))H%JV5e}D}E<1bS*CLUUqoNy&o>bk~`Yd(8FPhf0x@iL#k2;*OV0vv;L)qvivuR~HxDQywWn0RcrZ+T| zjcVG!jqh~@cYITQMPvDL=-p>(oH4}tyd83ysQm{VjWL=u42?047?#EuPYm5;3^80y zV=Nf=>KY@#xX0Ess3Pvy83gHmBh+Xd&qMV>j=*PyjK*;spUxReocm2pXC&9LHO^?_ z-0N$cQN%e$R>gXMt}I7iQ~%r_D3>*DsjsSNXd2VBW7}r7XC?Z4E05dLoR#qq9F1f0 z25rIV!UrWirNlCuBFUz-BKF82$&Ux#Me2!*P$^B1yHHmc0s$d-s4ELf+oK*?Y~i)l zv;%nSnnuH4T~qlSvO8u=hZqfu>dC;Aoazl*nvlkiR;0k$y=BeT)hnAL?8_IqAd9wc z561Z;0l8sa(}pcOb~bHY3nveg+oGUVo6K5M4p?Ud0>NXZrn?%92Ys$tUyn?TZel^7 zJY)$jMooR)Tneo9agSTpZ{1zBbyLHdO+bgSGm_WQ-Q=W~hybdO*jzOjVv$`XpC&@a zjaCKC1dnufhjzez)P-j8mV#D@O$`)nsi#p4@)(ht7FdrNN<(zPqqbrY1R97Bxdkjr z$z#NVrvNC8tYc1r7M0{f9$39di{yn~sNNp2bQ1u6J0=+c+{efR08lpzq>uX{M@0OP z5poFSL!^OLt7uApJP=kj@E%CHp{^MWAZVq`kj=A6!4VH`&@>|ZYfNd#O!$HW&mxY; zLI(950X*g@9g2Qe$*)tA5qNpj3K#$=18OScB|`Q_D3v}RHw$@`j)yfb)CG??p^gad zaZMxWNE2 z1J%QZR1U8gIvoE$P!;^H8dfoMD9kzxZZ@uV+Kg#p;BThlx!VQ1cuN)aKYTk}iKw8v z9~N@72Js`p2fth)=vSg#8)OjklYW6Y1zl+^q@df$O%ZP98O85{012(2G90KH^)NNia=UH>Ia}dymHt9sG%xe zIK-P2E)PgW{NRqI(i1$=K&etz*8yH?Rl^Qc!qcwOZD>#i2T@Rh)Z9>b<4Wv>q#G(# zkxtccL^ND9w5xPOG!#o00%V}VKDs3ls>pan(Ff39*yuo`SVSu|1Rx9z4!Xq)eb7Kb za0T&lJZrKAO2dT???D;N3#X{5GZI401pYb&zcQoghtO3=Q1U1%ciPbF6(*XpCj02g ztmcD8xsXvGi;>TNkQcE&Ebu~;1N9SH1ZZS!f2vDwGXBsx>MSUSk9NRBM@>rHFMjZ@ z;dr<@T1a%!0@s$k&I=fdN8;VM4HOkro}R}Fw0Qtsl^iZ91&YE6@8(^lsjS}O89sO_ z9;Q^t6l2Iy&s0$FHW|8r%2;OacCWKUs|f0&p!sdlGxVs7gKCidy{qJ(30+TCE6PWC zYJ)-;WFR0vYLbv8`_Zi_T~$^O@6u$fOHtrQWf|$9%DFdDs2#@Z#~}#@;1I3D*+)0& zHu{x{I#0|>eC827#9nyOf+s!>sB_WjJ8Up`HdHl;!iVfDUMS<^PGkhr_rFxL;g|!0 zF&P+~P2)pMrDy?Fm;y6wfg%BSIH__-yj^g4oRo1$pDnaO>;X%8ELb?nDa;V_) zy%|y^mNA!>Mmup;_h8(z7upDH7?2!n2RmB@b1ypK_i*E>0 zvKNk+kWd8G7;dt#DF0NE?1dIGRAOy-Toerj`mnh(RlwISMCU>vqYLL)-pZF8X~c(@ zm={G6QV?+);*v0W$~U*OW$*}`GoifFf^u)w2}<`i&56VbC%Z}qMqv>4ni_MZ#c>D- zJIBY9%U)uFsimOix1IZ1Ys-82%nb^KP1)-#|HGNGadm zIAMa6!K~S`qZ~KkTd`Y$IG=J!lgCMS$4~fB9JQcfT76T+oEm;V@f0^+IETc?4RW+_ zW(|I~+hn=0stUh5EY-kVe)rh!Xbf7A?<&0loFIs~!3z9@r&u+?y~=U&Dns4gv}aG# z=FNN+{Uqs%Kx>*b3{8}UCk@R?2_ZP)pJ|1a`Y66u?{K;hQl~s=YwqYS@u@=pO*?k* zy$R8Ur_DgSYR+s9{ux(eY)4=7yR=h&XYMEs-cvTD5+1(;EKI^c>kz&k{@CB0ueD9z?T7Ce#a>Jx$)IS(u{Pw24sb z<}a~uKY99l9=u*Xe_DNQO+HvKVK<8H%LY=cKPlnsA=66iGAADO-_L?CFr?9pp->*n@p8r1^&HDNo7yypj&( zd?tC8=%V^HE1UN=tzC&NKe6fYbg0H>m}hz|WYWZ%rE;h}4H^@>R@Hl4mcpmbze{ z?1IfNY>+)`ag%BqO`>?8^Ft0@Cr`eBEuX;9hj_CiJ@FOcn)#^JdZ zOLklh2|K@5?esMrULQN%fK$dFf~2JacAa@Mb|41L@fw-~UK=~DP=mT?n;FssWxM8q z2FWf>PRMo}p+5D+Za<`Hoa}HEE%LYB3mLq}x4R*O_rz|E!85Q;WAL8YV}>TYWA@k~ zgZImJsX;N@ejp`)%nem}4{Ub=26fOjNf4GjlAw;*A?*nDy{52f96P~WKBSzMY&$)j zHHKK*{lGJ&VviLN)GJKcFUP|2*N|WkS2vDb9!&kLz}Z-GwxfVGidegq7m8vuvGy3! z6|qJVYnKI9AMy?s=xw&HVv@?v0;@7&F(=UCIoc^HBxqO3FEfE`jEEPUl+xx1c9r}r z7H~!dn37|u-QxPn3OC9C%Ay_Gy_LGc;*Kb&+;DO zq`DDRfhHm1-8fQ)^=d|G%Z@by4rb3?B|ncVDhT^k$uVUrws}H_BBDjfHuBJ`z8W-^ zS4B}J4O-akNI4#uwr&sFn^!wiSo>0cCdap{Q^Zducg2uqIfx|VHaJ0Trq6-tTagN44L zc+eZ~#H5Dkjbxc<3`IwiD3wrhw8?b@i)P8>C|!xFGdWu4@Odja)|F;_J(Dc=LYkX| zbg=%>7<8>pmf74wghGpiaG@f;RntM3}ou{s#p5o(qFy?;r)iqVZ0H zIXTiQ;L&JKjx)d$e)%Mj9A!%e`eawhucFdM)_roM%UL{HdTg2;>1zzEwUQ$}je)5( zIa)U{*dmd2oTjWaa{wKC4u89bw!6TUu6 zntrImANeOo>l~Wpl4X{rLsy>U7+r@hPRUWOrbE}B4=)MHBOnR22*G8 z#tfaq?Z!C)Yc(xrljAH!QniecE>`mdjSZD4J!3*;O3oNt+46pO6-k{u)>I@Vp*&PB zqy8KdYV*8~wUjy~Uk1O#PdvXoFhrbru} zjqz5X$8!;rR(vS_7ulc{oDk_Nal~}+jmoZMZ0uI0C|1_nj;2IILC5J2g92DkMOu=Q+Lz$yk)T^}K zOHTC)c(mY4PEjrK-luh2a;jUPH;#A{3-xF*mz-c1=+SB}IngQL(Q+<1zEF=(`LRNO zWt=(DD=;qO7lKKJ)|@xNk&3*gr??>dar|_xKpkX4dC+B3&49%fewkI2khebIfzwN# zTT4#xK^EiD_;vu8Otze$%8t3hwqbiYrihw~>Gf2`lZ=qN0rUh<+R)G#A4tp0U{;9* z;<7Tj>r75`g*6`@>T+&ceMLROd@xEZxly4tN(B@aw zjUsI0$rHEQP8~48P$a0SwxS5hR7?60tKsBiGDa&kHdCyHT1!MeZ+Wkw$d_~gaH9a85&>UB72^lUckOagSI(|ploaPGYs4>{j13ft~ z9ZlUcO%h|cZj~c+p(>24ZE4K+0h7}_N%J#H$(c%yQ!4ORCFSJ2$_AFot)pq{fPC>D=n!5swFjA1Yc4tw>qWe=|Jkm#%*miWO! zl(KSeX#}!zimt*1bpf3r`)FAdKX=znn~SQ2q}C_B+6ruKh}BVb$iQO13H@^V4f0i7 zyMRV;g`@Q8UVyI%stb91RWaSu^=OMJInym*QD4mP3s@BD46}emSY{XnEb6vtg<6Ea z!YR)H;F zL(~=W_;tC~Q+lhLsE2A@jX^~^JJe7&W3z2di8^tP&Y&)|bOt5Ea+L}7=NvOOl`7Gb0Tgs>deqcWMi(aad_X&(*5uv ztTQwn-sg3p6(OGEDh2AI8dH(0#lm@3sIXexInFke4t4#kkfhXDmXcBz&kac`$2wO@ zsT60KisTc7A<4$^v>4)xl3B`wVDeSYEI-tw%Ctg9xScKibxacnm#^7w$W!arIm%8r z=S!{Gnsd_RYppu3(3~%#>N;ui)z;illUIo46k75X)GWJ@$=7`~ZXuH|q2~IE$p_qA z1N7N6H}Q}OZB)|;(9UuckCxA+VjqxO$pv)j8yTgeme6y;*7(q?v6K!kvD%QPMRw_L zQ%WwE*`>cuD4tqq&k5t9#dYaxS*0Vl)JlH?mY8)h*foZFstS)tg4;cP>zvt`ZcmRe@;U^ z%4;cE6yXH;>g{`*@MZ=}E^xppuGz9-XYd3fX>px7)A*ixuz0Mo$&Pr~-b>CkC51T( zbgiVdqo2tdpB%%46v&)@^9`trXVxd_qb?D+$?`bZ$TxSrZg-)m;ye=jeMQ}lZ@Y-HX zM&y*{;Cd?{$lW5+B?-BjAE*hVMMROCPLQch>4HLBYnz>ElF>UKMOX$v;RyDtjLuerVJ~edepT#&qyq&Z>5Z|wX#&77?fSSr${QirJ z-z77IqXi@=p23I8d>_AyW;B(JX0ns zHLaPG`$d{L=`S*rIlmj7=Y%wgElG+c#UfkLd@Z_2sq=?~$@-Ayi@kbR>GP$;VoTBd zUcSLlbQxD@2p#a@wbWM%eB3v=iZ0_VG*}^nCWhsqgED^QY}6FEi{*Z3!7oQm8iS9Z zc*#-O5UbTkH~Hm++>ZkHLF29-{u zt1&3OD|8cHFKc{Ksm22d{zQS}i4(7QdV?4aD|9DjV;KjuOm}1o#RZnu8qTRxgH2um zuL}DSWsRbvSJ;|}7t;zy=TJ8-@pTSCT4L!OYGP@DA5w936{^~}Ze%v`D4IC@WuB&M z@}+a!DPU1@Ru}~=O3(5_mlWF4LPPGq(JQdz^GQ>oDFwK!lPU356sU>u6fbZm#?WG4 zZ$ex!mb(Q!(c#Mrjmvm3FDtYzqGbhIJgTMwmKaDb45_QB&XyYiK^4~I1OyHK)nrL(H1M0H zga-W@E09nZuXF=~7usqwplFyhOFbG_&9>B|X4e~%BJZnxNs;^2o}_5O(yTPeKRAQKNW*1MAA(lt&%@}6ER zEqPj-m8x)SNK3i`te2`Hxob=*ACIl0b-@SN$@W!A`w z#aJo)iRfk1v93z4HSn_(qK1(bONb`Xxty+nYI3Cyx)-Ns5xvF+JyGZry_V!^)}~>4 z`XvXfFHNhincg&KS_K;UGGATpo;GiRSTLVxwtQ zfitl;u(m*t5BZga-l%9+dAc`#FGm5)#T8$D?$)cC#dDxroeq+s$p^HrAABz58{M@iMr&^lA` z__%Tv$%kNQL6?$smXgw7T5TwjI%jpLOg*|zk(39#E0>kppo9Cib;^SP!8Z-IYKFAu zz~};ae4( zEMh}$FmEZ);>o_r z)V26vv2Kp9DF$unZ)1|B=8%I4$)YKw^fjdsY%K07{Y^${s0n0$ zLb5nk@vb9*=Se*flTw;JN`D&-$smq5vXZ6dj@Q5unAOyAI1W~ERoS9?Yz1NC&E$o< zi6^6Kb8`b*wRywNoonbNaeDfhh;jAJ&B6P~cw-^>azb(+JQe+gHbnNPpmaesRrt+O z{M=GaRk4@2Metc@D&F@<9)z$!D%#r{>%peZnN!678(NlJpau+2HLj znfp?Tp_Y;RqKdbgH_?&^8Di6UUq<8b>1SU|aj28`6Io0RHPX2r!jzHL2)A#FH4AP@rFa%}h^tht+;WrHt@)gy`FOe|2D(V|0Qbd@wT5DjM~QiD-=31%`~q?)AxW{0xkZV^2IOrS zCFfWFWLD99MRHq0(R^66#uZJY;OVmr(0y@;h+yDnnl*BK%C9Jo^@w0@E zED@0aQCv|SCWUJ0R#MTqq?sk&km~4=s_2kGmC-@st>WZiup^gOAmFFZrqKFUAc&{W zG5AjkqBVw}MdcH)1#2ysKY^dS7Nh@A6oRdIS1Or|L+A1e3h&k!ein_JP*X?R+A{8z zj1UBV^jo>ZfvBbq!U^gXjpX4Nnb6DH@>S!ZXyFj&mYG2l;nQW*Xo3vN!eHt2q6oH? zi^>BdeGJvWIe2!Fl2Yp!?4SF(} z0GCHQNDtSENjA8HDu>ICzYA=s&ND)<&PNCFH_?-yBcqZqTR{_T8L(v%!yMiTE?f;d zBe{1+r2yYbLFNkrI2z+Z!Q^jjC+{LwFKTv>sFI*v{!IfO4)GP@qbcqoQ0MUw1mUYK z3t_R!9D4RhlygGwvMY{)kNA171=hEwz&cC3InI(tqe3C*C#r%Y8Oh?|P~wQwi$@3Q za|tfz{Y}EGASpVKM}?I481EFsOg$uE2Vaj!I}qqdElv+<=X~ZSwyN%0<9429i4nBYvS`x2>A1Tg`ZP#dQmj3xW~Y5F_Y!=moJ;GNn)cTk6~u zRXTj|k`k}u0DoIb$uTSNoQMum*}o&BH1t-e4@8mi=w&e-i79Qs4GO6+c&)PTjO*HZ zzj82gyu?*+Vm~0GnEk+lG&0`AYQYRx-Xn2De>dDrQWTDcFPoP>6Q5<(BLStT)stsv- zXQl@Y^h^-NomrtKrdz@f?{_7n?I1by@q^d7?4dhTN<{;xx|H`-OsE9)z()`9?*=<^ zHh~s34c6!4QkBn>JaJ&(kx*=9eMbzu;&4V3VTri!$SQr2OLDFA0ySvS04kU>;fI&W z9VtynqTikAju;a^6_WUgP zBrmi+WzUxfGP*fJ3l2+H!j5jW*z?ssOAk(on=SVIRQS9u2Ao{ej6-JPeQ=L7%g}lh z{s1E)gFjqs5dgsy%U#wn!Xp@pmw_?ojZR74%~8o47n3{=|L{2m0h2rqjoZ$E1vM;g zc7(rKs@?r5>91Vr(d{4WFk=K5rrh?{40!F2MF}?Xis7#{MZ8B4^Hkn0cmjU=BXRb; z8HXC_iB4#L%%P4DJTP|{ky23~tvk%1K3XHa=p+@R<9-E2FfF_JN^-_p9yNm^C=q9$ z*z=<@>|{PFz6FC8kcQGIQX55V&yO%z`k@S}%Oa{W!_xPpD1xF0%(+V2*R!NX%o0Fq z@Su1&f>1|gh=*?DADLn8_a?}Bz!MJJzG;$E;uXV;9%coQl544espO}lz`KOhYt|4l z?8RD+#{x*j64HnS1uDZHX|wcF0HA233U7KuLNEixwnq*2{79R4Je;Xkq(nr4vtivt zam~U-P0%kv$7VW5F~ebL+C3MYHzCW?qaD$pjH2VS8TR~)fEg%ujES@7CuB*HM={=$ zQP8tm{`8eL6%d#h-z$Gu{b%TwvX-Z;FtxPl%5wh`W$DjnP-s!2JS6iTbm=5C$Z}r; zH5v281dFKuc3FB&41Ul@rHt>{vbMBEE(DW1K{l}mvi-5X-(zk6>5)e%R=t^Hp_k6mqHGp z{Z0csgLvHnz{a-(u&%2jyWxAgJ_q~0tmU+vPh^MYUW&2wHJ12P5X)tdfy)3u-BMdGCGjMXapGS@Y9=Q@@tLVe29|(xwGo_G2JbaGNa^K>-?jW{4 zXGMAi)8-^h5Xl;Y?&Q==VSjJJKj8Ch*79sBs4)!nLs1$k-%hZ$ms7!&cr4vNBCGL75thCvBR-qPa$muqs_;al(pgJeiW~}N;IjP?vgY}c#~rsj4mp=R zQM*UuEcYW~QHStvv$2k`E;U3vnl4%&azmIRlM3R9)Uq8=JBPKTop7dTg)K7RVm1K8 zTjE5$0_wpmW{M0^Ka8@rA4DanOopXRD}q0Mo#O^=-$P)pxPpn?XJOX%QkL9GUNQq- z%aH`R3wQy5i6)W_X)vYF7ng3jye*&$%g-GCS#$nvs)Eb*`pVHXxA$W$_sNNmoFFV* zK^AztW`68eynXF%T5fO=m-3xzQBdo@&CZbm`hO8(q?b(lqCRdzZye49KU!mwlL&qs zlAK$l&aINu3Z2$R@J|&yfcWV;jUP9>G58fUUY-dR8RKB@GuIv9#(Kz1n4U*C0gyZEZ+J7JKQIN2;p#*uSCtp zMT_@-3@Zfxk&iwM9jLUc5&}iw)ejN0sRI_>}sRpCAm2o%|TlA4(|Ep%lw)x_~9~ zfcXzhI!~*-w4QLT{p$Abv*bTw!0chvdeRCXi(C1{-j~D5V<+EE!AkWozA`s`;H2d& z`LW4Pz5}agePwmZp5#wKgt-K2Ac60SX(D%Ryl4tL+z(;=C5pKuba>LYk5|6K4);bF z@5J%lI!`%#&g)yhY7%-Qi;TgcYbenvW8KE#ceBH1Ba9DI_>Nxa@Hz9c=ci!O`_yG8 z|BTu3v?g-a4zBuNjM*qk5u%f!!zYX(>u2xfcTN08>_jL!Vb#A_@*%1;f+~&SR?1Uh z9C!Nuvi}y0bcjAiZ#)r-I{f9;8`r@K!RH-(?b1|MPrB>Av5leUU93}Jb=+5?lg`xX zC97HTpNQ}y0}ky_WL|!@(GML3T%XzyIibidoqrPw_Usf277-rf1^X^4r6?u7Sb&73 zP&Wzj!WT=vZ-eqNBqCJkSk_>{B#vyb)$nD}X;@6V)F*bV)*ddJnQJOZPFwC!g5ia~+nxJc56^z~q_$dk&ztlTTXM@zvqM zC{gD|VV4q*_u<86>5ENq_JFk?FN8Qi;O>#^VTvV% zkr~#YgA>CSUk70A521kp4qmx7$n0}bbXiP%7Xc7_mcB5HPlE6UZg;Wx zw8fVWSbGu;Tx5y&-q9^t0D`QFYd)M{>3#^M(k7qxq|ly$clf#NXq+!v`8)cE#b)U% z;ANUmnzv;T3)#6uB|M}d1Lz)6x1jaQ5zBP0nM4a$Kvr#$>|r16Ip_$kc?W#<&x#KQ zv-Z2QEZsMOs*aK7QTQ}KRk=hxg!aybmn!b_mw>XAsLwi>O%v7-67c>S(d&U zv7|WFmSO2ZQQ-4Pb{`_U7Ko->MBQzJLM&A_QTM~k)ix+@_dpa|j4m_{l0D!+mIY-J z^>~Ee;w39Rq8^3aH5t@|&t>pA2$A7bk6Z{W@n)D~4ZfjAdzi_^mJ-eL?dFvqV_z@M zw=k0{JSAFc&%S!zt9;9k_BxXdnw3*^>$o%=BC052Yz*6Kbcf8p`V9o-vh-&SSUJk! zJZswz$NqwKO!6U0;I$50iI!Rwf7o^<>zE4ApY`$1kgr7ZjEfSz9)SpLjfmj=pHQ^S z_{`vjw^_#&bii;};f+NJd4b=reL)6oC0Kfj1&5vz#m$j*yWfKqA}mK3^`X^5bAr|P z+pJ?UdSf!$S{jNPjf(BVr$gky3T-WNl*0wa_PSwLu#W2tmaew(){><}jn14e>;&W? za2TVuLMzL!d~?>o@FSjxZCdw6Z^4_!4U+X;ja%$T#J0;t^K`N$2fq^p(REcK86uqEp#V(fu-+fCbl5_4ln1L6dLtCAaK^3Q-k){c2#1rh?=Gl9{ z(L4rym|^Mb;}B_W`9-f?kKnJj&`~bh@|D#>|GbxP$RiAgrN?H_R%o@83271RNgQcg!$>BIrV?36= z(ZSj`Le%&O+Kxb$C2B$j&@9Nf=CCMBk2kQ;MGG+>lQ?hhvla^6 z26RtBk6Y0`E%#vSD1v&-iqB1=j~s-V!0hXhlfgE642`#QYN(6mGMM`3|?0np+a_VXXHX)9=pWBTEH8F;zqf45jeNZlLVlqTs4WDHxB-teD#sqw#g|x*r zL5(6io2ctE*f@gEQ$A5+VOIgLk9tH6b1-lcNRdi<>r;Noz?MJooiW-xY;EUGOoUPy z6K`Gf2Q&2KDLL6CC)m8jemfQwCQ+Y7b7La>3m|d?&os8)e$|aAmIzC)GI2HWRcBh} zig7g;vW{y_mR6sqZv_@#<&boj1Wq|FobiK{LuOi!;?F=|t z^B>rx0nYj?L}6RA%DRp`-n?nd6Rhpw3`^I+YObTK=Gd3MzIOm?djMh7p{==^L#r~jc_3>$PF4nR znaZlxt9|*VU97DGR;yA7BXl^+*f8LxQr7lFmZjr1AcqcT+hgCE+rirIfoNeIZTZUK z9Ct%DnqzH`0CH0lZG{eN-RqO~FIk&|wrWkZ6urRT=cRv5-c^NI=6x1oDI6dObv!{E1=!;@nU!^#I_ z2a`rhIo#sx+BNtG=#3QG%HnN^us1e4%N{J9fZBkl9$_4aDXR^}`LBO0>yaHm3erlnty_X0XByac%Ht zUtk0X? zZ4bH#-bPy)CE8%FJGc6;n6FLh)E{Wj7uAykG zUDmSfZq{}p28S;HNUF@)SmQFc>J)k(qQy~c&Y7yMNnXGBin*|IS-R20r%W9s8fy*S zcV!D}Yl|Y&8C+N_C5jp6AG-ika|)uy6xs@{%G_zMG;T!&M_76-+M41itEtAKOD{YE zhvSxvT=Hb*NV%ChtZv^6pmjdNzM8a@ksXyNfK zAW!j?)kJ$ya~!>KR{~);XvIUHj)+MCy~w*N?B{)NNIjuK5YC(T-d(ega?hKb&=m1wN9 z{0kTT4{LJ~VRIb45jq_2EIf7-!uTS>X!fuw2pyK&H(YD{6Sy+;2proSp=gS8!=G+` zjkSFt!P0lz{4=+*H^#UdJ}y0vwS5f^ABe(X7{++(<^fkk(Y-!PpNR19<_A`-X}|d! zLuNBNeLx2kT6dZ)- zT^3JuA$l^7uh^?FT6dY3MlQq^;u{uAKjy&7S5`aRhPNZ%LKrEQK8De}%~hh^M&tS- zjIYxPmcBm*hoNYjGiY#GinV3g8L%cHsNd1yXvi?748wlAT9qj5CAHNWkmhf`SC z@>%eCo29WW(E1R!`;r5nJ}85{JO%1F0(-P2{Y7}UcSQKw9L%8$rwqP~(sdlB)4 zd~|t&rQ2h`>X7WKaoEAp)?s&= z%f1HLgElCGWG^DJr{LvDo2aixSo*#=mhl!*Ct-(;l-3STWemjP;+DeYKC{roSewQv zH^b5$7$`GsZU--SM{r}pssAt`bD-&wER(>vLF*55>RTQ(v)FTXN%rj+WJH-neF5z~ z7{L~mPt?h*IPOuS3L-hry)n1sV}6o_AB34?kYYN64uq43ETUc_vy}LUkMX21E}jdw z&@EZpOEycVEUYK8M141bVvI%bR}`rdcNRp@-39%>2zX|@kzzbPo#0}9ihsOad=Izp zrG1v&Od7P-q(9P}Wp$z1=PD<*jWlR2D>Y~PU1*-wf1q)p(0n2*HRqUJX!gEt(}-b0 z^LR#T)_GlMmaevXKP@yL4mG=Ky=3g--ggMi$2{q?%ILypuR)Prn*zJF z`Jyz}#J!NztZ}>0ELy&6_78>TjlR^hoGvsYm%O}dvCzC$_2g-lsJ8MY`}=G;r3A!9w#9rHMfxM@JZEWbkcg^%j~Bc=UhjrBz|;8*J5| zL#7YDMrhvc(*KL0xye^PL(SgTyg7e>(CpwoNpq{yg=XpEZ#TUxG}{g7bDhzJX33oQ zZmtxX4>?kEV^=dTQK znsI8LD_ZZyf|=$-EYNJ-;VU$uW@OpFE*M7|w8jrKlM_QUQ(T$zb4FZI^_0*&&7-8& zV`1x|=GlYpU4EC){6a$d92d48YWCgQd*M8x`9+SGd`@*$oS|l)nxj+S6`IdyrOzo{ zwSLyDVP}h(2J2a=Io0dJXYW1RBOSu$*KMge!R|t{^rA6?IA&UpOU;R0wO+FJ+40v3 zpLZpcrqhMbUN_I*nG>2vvQo3GE6w8ASI_#b&}?(0=A^FTEMh-i!aqqu_d`;1d{>&0 zmbLMb!siJ$&}?O%jI(u@CG&pPrhXSaD>R?wt(Tx;cXp-O`_fI9X9CSA{hu^2r_Kh0k6!8+(0SXnw_%n)i0qdhv=`<+ljU zZ>FT?&aQkG&3wmNFEsx%E;YB=U9=wQ|5i&d(|kQEH6P;GXl#9f|3Y>1l`6?;wMu_9 z{+Z2xg7kJh2iX-iuMmqm?NA(Q1_bPkOWhr9WDQ(*KFK&7fbz z`&OL(PrSQ*`bE6wxEJD`R(dZwBqJWJFzJt0ne>0+(aMtkV4J1?7vX2?V}5ub(8B7g z#=!e2IJ4G@?V#5CymQ-c&O`MQ)^b7~O_fI#b1ztYi&~sz&;7{er^teHkKfIR17Q2& zXe9TIC_k;!N>>S-a>i0{dJ0|XoU9b(Gc;9VMb5*&p6(BB%)wi%SO@kcPVSZuBCXvL`IhTJ{HOsoAP+)Pg3H< z9gimWLPk7+7BGK`_3um%8$%rCD=|7wKoNv6=@bJT3Z{g45aItMC3)O&JMJvuT=KYk z+BVPqG#>CoBXnjV_ezX-1he%K?@X9?(0N0V%}DZ!UqSUU*75+l@|gsFX{!{&0I7Zi z6Wd>R1DsEic+Az@Wm-EQI5a#_=&3^?6-|@Q$W@) z9s7b2HLYfnb{y2o{nC>>%7y+%dXx+OPt7E}8{RfZ#-X%mxsVsUyTX}dN8Jqrp?Vc- zxksMHmXYOtjeHDD1oe^oSw;X8CHISjI2$BN?&l`IN(3-}o}xTb1Yyb12{t$sOgXX$ z`p+_wCra+~8FWWN@*3uc8aELl=y!KV$mDWE#MH1KE5qOA&-H=>&Q1wWweQF!?p$t&HSx zn6&kmdzDx`>jLJT9?SjN33vfa>@nruP}!tys52&zTe7M!Kl}E^5wIVGcN!v{Vg4ne z!_3BXn7@kg=lcQ7w-fpV@(yGtQz9x^8XV?dh{wa{J;z~YW0J>Vb_{h{?pKN@VA8eX z?L?p_vzcYNceozU=CfU7QyYJ^uZ+D6_E+NtqD<%U_XdqW%#0$Nzd(*g#bn0*V$*J+ zXjwv`&ql{r^EZ89|YTP&OGo zLfO_*Nf+tCcmu`ioRyzh;>4ARSmKPZAE94tqYmF{mQ5$=FQau{FmbG+fY2o#o`!%|LP*lFt^(JNr?C&Qh zAXxNPmUhZTi1L-N_BOQrYg@+M8l~*u-N;S-27Vykv3rwbJZIbs?YF}d@o*p0<$I8= z$20)q5?lBlWdHW!*|5J3??K9B$ar#pL6Dai62PxP5r8DrS?(>1A8ZcbypFULr653X zNDar|j%OQiA(-5WfOF->t$4bK#~ry}DM9Td#PP}dbJfsy_SEIzfx8hOQ4`VG)L^}ic4FHrn62R*j z9l+Z@JujoCwG1SEbZAO2H2~JDy`B^RUe8FO0Pq|#`?gQKZUMB18CciVC}~L6{x9r@ z1ArR$-lq=`8KcwjG2N9f_2=2}TPFyepC;VO2-#GyyT zoWNqddnA^#mv%{S#6Fa^!VyT`%!*@Nq7?tv)sg%uPA~sZ3_22wtT(fQsUc~8tm-!c z$^W`i$a6xk5as?9CtkNmj(hU^3$4eUo{;o6ZaM}>BUsC+Gjj4rLmVv=NdDyMNd6q9 zcaJM_(Lw<4E$wI+A>^7`<9WF=$ARTR`FqriNtbuthlQhG*6AA%#IsvJ9Sx*DaC` zQ|07IwAjAGD`JPahcs9saS>Mv})kp<{ufy539aNIo>^ z#WfMMobl-#VJ@E)ObyB4f%|bZ206*Smy$v;cl|TUavyRp-6DCy4w0BWsfI3W_dCnTc>OkD^^qgcnXY$qi7vt#1;q{xY{Bgyy0-1SL}V$iA!=Ph9* zm|9MjPAVTGkoY9iker=j@I<_Bk>Fv0T$gou8QJ>Y+EcI}%{mrDIswSNkAdD>uFLX$ z41FE&FTlBvHyr|?H|bzR@lbE8RE&6MK8_P(VF@2n$cu^&&E)uVn(hIdHhKoof54<~ z!YN+O*kW}C@b@@>IV%_yA0{*a`65sccB-ZJ!ye21JuYKZ09t15|E5^9e3+0z0RSh0 z;E8zMX5dsUgQ&ja3x*Dco5mKryw z{b1a5iFN0X`<)lxX)S;x{d^6F>BOBOt@ z`M#cbDNtbjJE)Ub{_%)%A9?gnxQJ3>rFS%PepWCwtn;_rd?kOy5FVvaU_F^dfh!*O zOmCaRJLz?c^|Yt3rhBa6y(L8};AjG_QJwReKPM_)4G~!TAd}~%-s)>l|h^_bW4_ja_w(Ikvlx%N=w^`p3W4M$-8IHqI$*wwJ+ zK5^(X1Qbz-mEPjXeH0f=Ew59ytT6@Fk7H68V*QxoQrC3)zyZ9IUbk4E(XhHb<@JK4 zQ+LDBWY#g)@08cvKQiLwA%WFLCc_&3S60KCkEH0k3KWrs^+^-cYDO?Mtmh^6eqCVo zRSrX}|H?`Op4Y?uFgHa~#OoGoI;`Q7et>l)Rv`EQV&T@=tY`cE6pp5_jz+T+)_gJY zI?v%@Mp(WiDzHvMFXN(JP{Sq2>pO9ZNW*%UkA;1})UZzcLj7?uUQ43FBKYzeol}Kh z$rD(6$Ix=mc|GN+8h*~}DX)uvSTYCRr(&&Ub;6qa6nU-lCDzi2me+h~R?lni41M`R zL@DQCdd~|k1XII0JTmWV0&6MBXcUXBN5Trfk|(hC0k3z4c-`jJH5ArUMo(D#e&M>w za1>)5P0>zR^F_XRy^Pmz{w!0+iZ!!#&3PACKTJ_XT3$QixHS5LsbP)py7WH<*0W40 zR5hGGhv!g@SNcdu?%fROb&K`6u!f&Ad%`;Qy>-*zsDgEDjCaDC`vg@>FU5)R`mUv8 zy%0H9*Vp`YQTjFsMWkW92POGQR4_HHRWtX0PmI@hEh!AKUYL60cjV zr!}ljPvdp}s+DDMRLMHK39Ro$S^l#g@w&yD{x^3dHyBd~!oCU% z`fLDEZfxbxP4Oe}0mSnReL?>jn;w5r)8QQnotcM`U}_0m-+tb1u^2qhkU|cCo`&T= zV-v4?0RQHWWaxp?-@zUqN^Fqxi~=w?Ax`v*9Q8*9-Xm9d`F?n4`GY7mtpUJkgZ$ux zU}^wHwA}nt0ib_I3ON8e?f_5p*ByZ5D8J`hs+;=FI|2J?tmCFc=L}q7icg>j0Oz5s zLI8to`lJjs9Ri?lrsS_M1yciXggyY`K|N;xC-i!}sh#Cc`#GHA z8w%DL06v3paXIE;0bpzIZaii8<`AcIu*7Fkd0wn!uSdZB(KQJzs8rG@zuAMEgUY(J`a2~%j zCV2wuqZnD|C5YE;UMHJ97v}nSOC0t!SZ-xHkF0ZX1Q`_3N7ng(Se$^RHnLjo zL;}xM`A`X*;O%@$6y_i@fQ8(Q{5Zw(=f{ZGEr1DL&j9wVTGR;pSy)%ddQ@}U)mHE| zwkTGJ`F^$zU@!*zcYSI)oEqr!ZTYJ$!PK%caNr)i)k#xBKU)gL+(w888^r4#z`vQ> zW=@D*4ExzwEcl%>a7~K8L={X8=VL&HbK6xh0w=O6ZfIAS3|#97q1rfT?9*{i>mOADYI15vO3)Am)g#jS;U~ z0JUKT)^)Yfxb4!JwXmPdI@V-^49Ix${j&V)UE)b_ejrMyMCIdRzW@%P7W))PIMLF_ zzu-bJ<&)sn6eiy@bJVYHC|=Vih!+Q51)E=IWF8X`429EGarTR0f?J`Gv)Jq_VMs*|?I6z`j4B?DRUjfTs<_M;SWYCSZ z!HgS?N+BQbbj~+_0XOItNqxAMS?mQ!x-7dHTlPN*@AY`p;B+p#YfS#JxuEO@pa`Qe zIf^dN=(w&l=$NyJQr>^J-0_#~(mcP;< zUbk51hijR7nYAvlUjF9nAHh)r>Q7E`vYhe*Z2q~m0P7W~#t`e32_5TXEU5pHrHHg4 z_5i{hU<;;>^@>!$3)gbz45`QG3<&F$2`LmR5*-=xDo$Qswpj7|V}O2&RtJv;tm;b;7H2h6=1V zMx~HrrE~82;R)h(i?zY*c{*A6b|VeK1*~J9(fOJ+GR|Mb4pt2@Uo1^|)A{QmGc(k5 zI0)Omg?L8B1yd``{oA*l6pPWAFNNF-y*~p_#OoHo;(s$Ao|7v573}fZvj#ckt99E* zPX{n6rUMx6W8G#@)13i$f~f)6_uRW8F{FDswx<#@k95?t9bPqH8;5|j3!qH;ZvFVJW8j5J6>cU%zoPWSTsAc&g#t+l zhQ~0T#BPzS^%Rok9;@rBw<}(O_oW! zT#%FE6-_}-CTE3(Tvoq_a-8TAuUjO|VRfyxdqPsRV*NTeT7hSu(auP2aK&dv1(F*b z9m%99eSe=~(2$HovE0A|D?oDay*|GdIk_>wE|GkgW%)@_^3pAm^|l%(%Z;9pTr_I$ zZ{Vm2J8Wkl8DWc0p9&;nF#f|?ctn=|xd4hmLoyCsJi-=Ct-7|ob8dfuWDLn*A(4Cp z=p(Yk>lR6~sgN}FI8OT7^Zo`$aXcIFI_IP;B|gU*AOWrrNx4t|x&i%ZNQT=iUzQR~ z4awQ<*Q^bYD44-G@iF3kGUyh`$`DDj*HccKubRv;-ebtDtw z^baJ6pw%oK#Q>ITFb&Cd=Pv(|KvEW11UaF9W+6WzPF}i4VyT?0?h(l~)7Q9gv zjLt~P6XLVAK~Azdk|C(BcWsJ6%gJa2R-O<{4at~+wNrweWTjAC8T&+V0ph%Fk*x9+ zlI9-ANo--Chv9uS>u5e>7M_GLJ}$*WLW|=K9m$9Yp85MCE|rrZ9tN-@gGC2mL}1-D z%-VClKr-HtLV=_N)ir`x-RERYSY2z}o~o$KIVWQ+@p)g7lS)@dg6qu5 zTnv_aPDW<1TCoIE%gNBh>WSIQbxjJ1=5&k7T8xamG@xkTlypA?f$`u`~;>V;yVl&PYZ_#iyACk}6Q)EW8Xk`Dcb= z(2!gc#Uec_m>QC@%+)swBvnc%#z`+!*Rli|bc>`p%*lGACnRTYUt0o4>)DAv$2%jb z@Whv-1rmH1K|?Yo@Mz8PcStkpSk$Tj|7sLN+^(=lVJJjDKh95$;}yc z*WTqO%mv5!bIc9w#Jhd~K+Ztkr-sKlyLHrk99NH!f zUe<;S`oqj6oY3na`DK2<3m3_2vpavpUk8C-DHLV*uFK$^c-=xgnCcng{5KEM(UOhq z#6M%5Ay#MkTOa|%x`g79^#byhIt-pjo{%hx3WUI=k$ zY9UUomfJ8O8TEQ-?T%CxuX;x5TAsd`aC$0^$-oFc1)vzQ^)SQQ~zA z@xZ@a;7VvS4x8VUuXXAv1&?g^$2acQ8a zL7ettm3VI{-RswZALk>2E%?cJMos$c`{j=p_gKLBoPdH zvj9|#UZ16=!^x!0&9MB^j9_X2E;+)mjHfc3Zc3pTY42wNAV$1y0UV5~k=7-EJ=^;q zg8deD;zK!^sQc+f==sZS31CJ-2Qb^FPYF=dA%J##f+4?%cW6P8ElSxx5ddZ+goV7; zo*QNP**5XI1#tVn$v}1da$0w6MF!+JQUKdR zG3KYg8?uCO6j8gNF2@{6MsPeBPS95y^HE~s@1od9sefC2Z?J%Cux z8MtED?uXFec4WZm3}8tX=hNd7z%oMzP;C=95vv41|FBzrNmekm3=C{<`J(`^EU*Yl zh$F7H$>9HycHMDKRoVZIVsEj#*4Vp7#R4im5EUCl1XM(gs9-^i<;FH*EDY+PMnptF zdBV(uZfw}`>AJR6H@j=sWn=HoQ*p+{lHd2-d(XXhk{L37e)&V0Z_d5v`#tB}@=D(8 zT0o5w+I7xRub};?5&W=cuIC5YW4~0q4H3-TG=4I<~}LsuH>uHFrcvSeF9Er_4Tie7K_B<<_fSIvyPf>|BbK zN(QBz->ulGH79X6db_?L)KFpi3nUC8OkKZ$(P_?A!M#baaJi zX-iisIX>b3e)R-o$SN6(S!{V_PG*7F@fviL?7e}9cOV^rF>!)Pn9d23IJmSzCD#Q; z$qg$UCs)0A+|%gkO6&~_l}e8FoZqjupU|PYh6MD!O5)(;WIB`_OBg^`N$k?EwURi0 zsm96bY0*9;Ags%r+!z`q*Oyk5lm0iZ(-R$CC0c&08Yf9q*Px=LRy=+$gyzwIU_M&)=4=NL-C& zq-yROjGW-mL!Wm!E9)x3Z;j{tCOJ4trWQ~v#H(XY&dr>6sZw%QmcLXvSp!KtGbF4_ zB{yV^k{f~*DcP~#era@6FIw=-fR0ZQXdeqD$O|ipTqP-tlV6B}o0Gc|0*w^trpMAJ>SM zKT28z-UEGNk(R+TQA&5Au==7L;0%(Q3gl3}Dq5Q0iJ4@kKyBC<#>kjHE1})^mZDjf zk1TY-!vFLrI!+yjQ1U=EEJh~e!{IfHvtsmcc$=WOqT{?CFI=&8v zY^h2XXQ$*V0CYw!O42I;Dp)*O6zylH6v(l7E+yJ8N)jenTpZPAanTNIVFC887cCzr zDp`!Cdh|IKXBX)u1b9dG`TV( zi&2T^XUU_@$fIC3#wQFc#{TsydmPf`d~wl|OE-mmgJ}6SSs9B_arG#^zDb(3&JF2h z8PvHmMjnOkQE>%wES@irF<~+mBFVAndhWbt_zCyIeu8L;{7M#MP!}`Jd~rdFj)Nks)ud+HQIBZo5%7toUmpf+AoX~hJqR| zJ8qhsrOq{`s*&E&f=&sOk}fxwB*xFh(l~xDJa;MS@ay}K*IQ6+rAkSoa_aTfO48Vp zBdP5T)ZU~dODYxU-7>_$l>}OEgaleitD+J|3VjTG9eMaG@kSl#(vBS$ZI< zB`LAVG2fxLM$z(JxjSUnT8GYLDmSyL0pq-y(@=heG2@3Q;_9N#97K z_kW{XW$0#Um9)mRq$MG4Elm=pB&AK^Elk&vwByo~w?)H=7>&gWN$q_x{#GusBy5)F zt`gT()qY+eUm~O!w7rfD&Mqoerts#W$j%E0w32>7mind$>zJiMx-pOFCn7woyF_+U z(j_)a3uCn;jb3uVOf-q&G&GWLQ&N)3^Fw;=5;1TJ@9_i< z7$X9WBzm_yx+Scmq|FH;OlN6+R-jYDq@>Ftlchy9v(%?Y|AWx*HmvAjg{1P#n0oEJ z982YS$b`vKxdoD@@$^u>)2H`O5d%lkvw?safkqNN*9qM!L#Oc2xyHEgk^-F)CM7L$ zvXrZprTwT@)_U9^0btCVzCnx3DZGbM0%ksmG4Ru)*(yiTw_|&0<@hKCyXRD>~F?W!~O*=smt~C@RJWIqhU_8EUR2o%2Q+N z?PPtE=(c=cfZzR)6R`Ryc1j}}P7*C; zo;=xCd0IieCr(A@-jH4mM_!!h6i{o^3JT=tJc5Yb8xkhz>|>L)U(IBVY}@@DG`v%^ z{G8PFXXxDJsh8a;IYCOH9#8+UOK(MQ2>keM@LM8FYBH zG;}7%)f@X1o%?-yNgug!=qyAeCdU=X(Rm^!%J=((soIGQoda^U==AC@UPi;aL`%C@ z8J#C7pvToqcLXXRG1cP;XOl1YW45Gc{6g zu~gAn5YUS&Ve3X`A`&w-QXofXB1(CIG?a7_Hd*`EteyRu&L4x`?!m!MP)X+w(7~aG zj?N_14j*Zn=-ls#@*Nd)8grsNDMb_|oqZA}SqIfj)>-qeY(m3n*y&eIgZCxW`$ScA zW~AvAqU6P?oyIt3;DiD>Isvd5X~Kxk_;k_G**{sUcFr1b!Xz}Dj++Z&mC>1r=$ve# zGmq$K&n7xEebi1xbXp3cJkQW+*gt0I^o-S_b8w$=YlF@V(eg>v$hxbf-t4Mt2eCS- zK%$-K+?&NTSW+NIrv(%jNZu-0md^e)leN{q)}>v+y`WPy4c>!lImxV9(|md(t@3Q5 zb89Hd_oO<~xjlx3!zWDA8I<5d)P^os&Wl>=zJUFGqUF2Cg%u~Eb`r8;eDMsANKc){KBd^C4hR|mZMqRouD@;Q|C@BnzG1<)NNT1wtRm^sjuSA%P z&gjU{8Ck4FN35F|iiRyBzc^M&2L$O|zq*vCgB)KwGXshaBj?7+wJqg)L2C8Z~h82}(LuW}6Gp+_XIx`Dc9?4Ec=NucI z(KYGx`{SA+XgEjYXQe8mGc`*GdmNpnB)!_5yg0Q(hi_A}3S>I>V6-(Q36s&ez((gn zT{~UR!AE^RtREWA75N2KBWreAy^&rmkIeyHyHcJ_bf)^Kle7Yv4z5|1n*+imor{Vl zSr_T(bWJA~8?_h>=V9Kdiq0K~4sOWP$y$WeouWM(I(K?l60+pl)($Rcl@}EWQ*;W3 z&XAlc<*w;m>+iG+8qOE_rl2xeEipVBDquQ)%hAQ>Oo1F7TxBi)Ek~G2 zR>II3TQfQX*A?HR;R2C=DqcxvaY4*IF=RTAm*_G!d2#66fn+T%D3Iyk@^$&~5@C|g zSX(>i)~uat{kk*Ia3Q9_u#(QpsFpL6Oy_x|j_*A($+|5N<(C6;ZId+%be_)=Ch44? zHqp7DP%By2EZg}lG+cyvrz%;Grcf;$2=h2h`IXbg}J(MI&(n;Is zT$rpyXZ=4`-vkXG5c$WdqVsf7%uN|O1=P+NvLqZjGvNB^Vn;etB2g|#Lq*5d&P6qo z)#I4M=AgHN$S=uOChL(H9wVCK=sfGutwPGPN!Hy(QGO&=K_@24&l04fbEUm&q28|* zol}oFatkzk5YeexLZ6Qi9gpd}2s%gmj;~QyAvLUz+apo7SIHW%zvi3Y`lf5q*>LPubc^xh zB0sxo-gz#8v1I5xn5GB8D$gc5_hA%0m*_}mHtOlYG+{D2{cLoOsF|!mrGw8v!zV=k ziF9Rjo{C{)l{i@smgpJ0%Cn_|#5@&KAV+6P7IaF4Njd{N2XD`&r3k3x-ot*;A)G}f+I>#0bog-?}Ip;^|;%Si&ss{R# z2^`84I9U&c^w94LIy<3Gp41@I+1xgqYMm&bB==^fH@z5MGLAHQ-e>NjeZ9}d(r$gfI~<-)9d?X7xWS@{K6Zk_e; zk-sUCoi*?3Q-=!FT{ibBiSjc(V>e~d6+N9Coiir8rzPc1kAwKCHYXN0^j(ce45obGf+5X5Hi?Hizl6 zSXI4BnSYDp_a+$oDw|IsW9#5AC38^WQ%6utwWj@kD=F=TyJ^@QVVwoZS>QPXvI>>w}RG=&Kkt}0Y=F=(0l+1X9ML5)$ zmN_2b2qi``8zuzR*}Oe8**xy$%N|4f=S2Pi9-H{_%?)uhEia6z!qnM}+`@dOfIF)z zq|lS_(MZ!#MIgu3QxRh%#r@FgNK)JnFeRnFKE&9SPNbBpv(-{2S}9|i#%zOro)`K1 zdD_LbUM1xbkl!!Gh51|{<{lPsVJ?Zg!rm;=J8p@O9dXUQPL4+iSoy31#zY}AuOJPm-!tP%_*-2sJ zIuVw$8S@8t-@x<*6kpYh`A(Le;>W^DAioi_DZduSBZUQ{{)Olne^bX^2a5{l+1gQke<_+lG(g>N|Zm4c2eebezikMVyn1DrLToTQ!!MY`ziF4@_9*>yUC_lC$|nQq1iY<81!DKx0#}GBVeIq}R1} zEt7t2Qhp;;hPvbC-ejj6>+YL(i^DFd?Q}M2>Hm9yFp@bQ*CDF1c}Lug#&d#A+F<&U z$Tue{W&RyydPa`3S&UQ(%b=J4TNHEGPqEC8J-oWP$TI(%qIUoi16#C>be`hxz5-b$ z6>>3ROcm{DV6PY*rCYz_G)?5dEUct%0LZ!^55j}Cr z$i&$E!DE@F0zC(XWfo(2IH{5OR+4r)iai%?!!l%PDN|L`b;IuwWCqGmcRXQr&@UAj zQ`wxJMb>qPoK4#Gyp<$7DKkiPl1@Q!C}awJ=?@MS8+L%lvmvzNA|* zD8G+(TLr|x%4{M@ALSItGD*_E7n=Ke-;^&GU>J5<$rTqEpvJd;gFb=nU7V= zygM}6TzB%NPoU4&u%HB5rrGJd>Cxk#IGb4mCSdGa-?cuxRQ^eRou838h%Y; zXF?cF9I8y^2z@JLOy!S8=(`<+(f9nZlMa>cCrQGkuzNchjT1{o*wwGDyDCgy7x_ZE zGJkKT=^08a>}?v27=KFG+X*F82Dtp5@5=nZ!?8t{7})&Lqm;^TrWL5Wlq2u$fH9Rn znw;KFFebZ~lhb>?##AgPtW&^BNsyG;knLop%-J&Caj$`sVfu#1&#x-e4g=3XAKtj4rV z+Bifd!er4dEL6+9%@*zGC%1nGrbT2ksw~>ybM#0|&gM^gK~Y8fRmojKmPc;Uepkd_ zAu+Hr>B*So-*XDoUCL$Ur-(7xu`J}TN{rc}UCwq&X47pcQU0z-b~2m2qH3A9`etk% zIH3L}nEn%2@nV%SfA;0OX=GQB;}GBN(VBxm#YI6dv1_dQ=H@fLTj$V@>$p~!yr ziB`ucXjzIeC3Cf$D1Swew39L$enK{Xk84cJoQX>KI!Tz6d2+g1=JkP*d0y}O!(jR^ zZ0|xX(;N_g@4HLL@|avSl$Y`^A#KlWs-HVR?)(lHz_yGD&eib~e2y zDd32{lZAP2vRaC>w>j>nzBJAJ8+XH0W$ecUJv@U8^ZSB&v!Tk^PZ0J}#2Nd%=*s*l zi{JA5#K0CNJwv1XV?u$t%ciNw#PQ|V)De@0`m4*2&egOWrkY#=u$5CXOXVc#b?xO#N?=Jd(cvv(vQ_g1n zZIJn`q-6@T>2_dW#^GKTp^{09{%=OQl1YpH7rwUBg*iDU%6|}~WX>s8XY+O|bCUtR zUxw*hkeREL`A6E_kpEG_NkdFJDw|(p3t;y)zhYw9C&A<)7hj$u5SXuq|B*NbvAFa)67}Rj@u5V@8FU}RneA{YBZ{y zY8m;X(Wqp88&f~Pli@CZo^r?L{~*(k5d$kzj>B?Nfm)^%lZWdqCEilE~UerYF>sbE{Aua(tmdtx%o``7Wglb?D@o zkk&Y36hQZ5C)v9ZiLcW1olInqu1=&=uUij4auQ766Zs$g%6k0)ySFIL_1a#tdvRPJ zLbB|#7^U51@yi^YUnT}tW&mPOyN9AdwX7?Y(SkCs~{VVZus&L5p9_$)?krLg;x)xxG&VLSh8)6-%4 zfylQdv@o;Yf0o7TUQy6$AV!`$r~DAo=^XOnd;wur8T%#ao`Cybf^IxkJ~Q6R1-e0- zd|F}jEG=}QK;4Nvcl=9|F*R8RIZT2H#=0!U#z}Eb+)w1AO4DAlcQ(MjJHmRiKRpgtV|sJQilrE zGAFDYP`8Y!{M}Tb&KZ;WYq~We7aCLfYgiVNBf?1L_?ASq%*K)_)6F(J`V*M`SLDAe zbj)AITctz~h{55f-9g_-f{@Ylvk^63f#xm8LEbcL-#5EYzSMVk*n0M=s> zE0{_eU{@#YWd5$~xg{XjNv3VMu@LKSJ(z|#vEZfDl3}& zug_(?O=8qmmg2llO3^t&TIs$+dc*W%k^hP_rkACRx1laRm9f$fb@_t zna#$j1?rqJC37d(ty$2RmboXe%?VO6vz=tKF=ev3+J}c81=G)w%~GYz&5^&sC{r~y zH%=&FDx2%#uK}1_mCUtr@|3BTxk*I#7ZC%SO&s)rmdPA-DWs&06UtC$6L&XcymbvG zW#YssLX^{XoXrxZpolOzHZxIm(cT_6G7s-L?lqWxA@Vr8TanGRu^Rp_$uifA?13Qa zrGUK+GOc9RW$6vKyti2!+1!E%I5P24OB85HfjXNw5XAVBRL$Dh@Ec@qR$x0Rv*G6i z*1@dCluW#S7X1;VWX?PyoutYA08^Tp?uMpy1Nu&;Zb7U% zb+?vG>e7#_aUe{;!Z9sRt7g6bOWYpQVp+sd&@v=TRp=&279Z1Qyp193FFyIS!f;HR z@%|E5piUN!X{jT|s4IbETGSf;MU7V^>}IsxI3PPIY)U6J>Fm%p9el+^n0}2NT3qMI z2wT5kZ&=89o2Kjy3t&tKduHpod5Nwal21n%iCDj&Ko&+KHcc@mh2a(j>W;ClGnR$j z<|VR|Q|FaIb;fSl^F)gvlc)O(SEkYS@Uz$Zi^y3Pn+5LdD0=2M)<>`!t}yVsoK7W6tULo->Bg&r!a^F>S1Jy4WH~zu{DzGTwIhYe>LT;MU0I zDsl4S>!R87uiyscAYFLQK!u3Cz7c-Q~O9uLFxdy#KV zYbj>kJ`h>4$36RF9JTp8UF_}At0Z`)-yJ#n(aiK)7isHB46MuvJ)(@q*T^_yKL;6a z|C}<^3tGePv5cqQUBWWOgtZ`P_pG+lvmzbxZCxZxX6&9$WKN8mF?RghJJPJ!D)Oab zrOX{-_HtOp+YysTWOiXY`Rcq8RZhm+)|1D(dc^HgqB}{^t1ELY(BC1ZK$iJqj=E(` z7ADRmWxSny#;AKCkASx&2p#g|e@hw#Tp~=$yf;yu&53sMANlzjufjAE`Hy(=H`&|{ z)5Vz~7v{c^drY)X;O@c>fUsnNi#8soGfc$5W>Zcq+l30$GUcJ)z7bzlyHkM<dXjZ0=a3A2hJcZG3mq*)~lVt`!em3ijvA&Zh4VzXzs2 ziTv-pFqksk15%EPSlE6k`W*`k+cil)vf)W*s~C=n%-q@&qWep7Hh+z?6B&=U)-3b( zDC6yyB1@CM#=BD)Z`UMas!W@KZ57j)&R;JtwBK*NPKD_*k^i4p zS*ANPH?6yxZCS^9XL*_w&#d0)MCo^R#-0Do&^+Unu~U;EWOi{ zi+1;zy!s*;puQ6Hg9F8ir=STdLDK$l1!|cSdSo%a3XCb4tE4avvy4fZ^6Jd)F^y@N z@rWD|CS^|RtZ41rI=Iil>%#OG%&kGC%-t}?tjyh!O)GOx-<7#X%9XhfWb&r8gUsCm zqGe`UDRXxn4?WXPAenpmY-eTekIL&bxI;g&7r#fXrjQJy{Ide*}5aOjN3 z>yIiA>WDvP32ACT?)!v zjdzwZ-mxVGYK0BuLdF}MW=syfh9CTl$9tj`q^|M7015+YD-}-3nX@jFs?NGN3b(py z-&VBw4d)DVl?wfs`Zby=&b~#wQKZNU`}wZIUJ*Tbikw@8@`R=zQy?q+1#0>h8M6xe z`HXd$!^W9t+e?N~DJ)ur=@sN~^|Q~w&uF~gMIJLq#S!o!Ir~GVjMp0qae-9l5QmIT z4zbUhJ3Le*dHBf_e~09lxg35C?M3Q{F{^M$z*yG`8{^1-iR@IB7L39vD^fV%+xQ1) z^M}ZPm#9?Oui)-cPfUtA-Arkrx>#ePYfCBTH(ZW#ycuYb}EOFQF!Nya(MYIE5jZWR=!-7 z!$Z^VcKq-hmW((n92j#I9_-V@0~JZGQn>*?G_63baKhRt>v&872W8Sl6x*(rs#N++#IVb3uq{1?1dLJq^qD)mu& zbl9X6_Q5#(&Qxjt4hoM5>G7C~q{$&29Qj!VvclC%Sga*WvmVOTqJN3)y3XNa$l(zo z*(rrdlfy}c6^z3n>#p`MC|nu)@2FDY!I)`qD5w=40fo!)m(HQ*=J2q9o<~Z~ogC7k z-oXV0vcfeJVA+YnL&=N=OV?-Y8y6O^ZU$s06;6p+g~=5t+$KB;TkpCaxK!^~D(r=^ zc6@>r_QGbnt-uQX$W@5DN#>rNBIl0692D|lqgL4PV;opk8LF;?%%LAK)^!dG$l-Az z*^$DAW0Tdp(Az^uor*o=UBw-?KJq)zSw-ZR$F(qXd1cRnJRs7kI~Kza=WFzF!%+~u zPFk_ya+HTSdsZZi&dD6B4V4sX#Ge%=OJ3bRDn_<4S&MQeSr4QuljWQPKI#1gf?vMi_P=mPF8k1K{IJ#>+1K#^(Flq2Lt zqN9DrXjr6#mLGu|+{d z+Mps`i6<{ME4Udq;|)qFP-jJ+BZVC>IH zp{wO5#HlSw8Gm`M6DfAAtn=gMdw|YbBL7LOQpyR)ik+izD}b|yPY3kw8uH>up;`Ha zj#-g2@L;n0^I2(pBAfBj0kxGBL7*kQp(Vn`l$hN z%6LONoMt==QZ~@6d928Leuf&_Qi`06`NqsYDW&O7410A54k=^*`gJEWSfeely{;d2 z8KkTWDJ3mMGs}3xLrlLhRrDF}0!+<+3l*D;H!>mS;#8x)^#Ugc8ecZ!XiNbojk6R? zo3VyJP<(t;$!iXsVZETJ3{}UXc`p>z$OL1wB@i+k!|*TaPz_emynQa?jghgWj5YL3 zRu|u`aWlJZd)#Gn(Rw}Hae@98X3>?Ac_B_ky?`!M#?lbBW|3uHm?J4H^E8Cu)i_TV z7bWpxZq43glkW7oFplo!c#_#{x-p4yVkFUYq3B>02?*2MWcc^7HHKOfBNwSlL zIjz`5O-JfiWpl7U&pXW9l?xQ$v*TPL2~MWzOg%n~k2y=AM(! zOhe}SV$S7N**rB+_v@)_4l9bey;Cgn3`kkaXPIL?lyH)>iR)Q&cS;chTeS5PLF?2& zfx2j$xAQaJup(npCVs4y@y>`dCS^7soXB`%39?1obXO5FbA+jE7OJ!9T+mr-r#

    x-4L^WYaPa^C2_ zh=(=cO(|_A@n~fqVh%3GXjpr1PBi!uTNrmF}hO;T$SJ4R60?! z(7aEgd5ei*!SpNWY`GRr{N*24_Whf?F~VYz@j%vwU&cHt2OIBDm)~wM-T4;YZrD?K zO^?0Z;}xgZlV<%ZcM{(K#@(r~0mzlK|9crdeLklvXSj zdY1_^ZG97Ud#QsJ?-+vbdSTWj$x^0r*rm6BQEBP$5WrziN z$`Z0dhFE~6ES4d5heDPGv-jG4cYH~_>r||^C!>arjWpI-5nkp4=idq-Y@6g zS6%8$t}URuO0?qz)lPOzO5yVG`&&zE8owAhj!u;>%pPk18-)>(-t(@YGw&@~2g|ty z7^SMQZ4!&tyKG^qgNIS|F52np4Tgpt;D8poA1=`tAr#(IZJ1dx_Z6>Y#Z=D%teEPA ziJ|ID4Q5B{s{3J7^&5LA)A&UjwY5{QTc_X}B}6#P`*X~Of4CY~H4TCB662>oAU@G5 z&+n$xn2)E_Sl@kv>eve9g||d~L8CnOOL#5Qs>9zWll;I!jVdqtAKoPTE$ayE9f`#V z%W}{*@>xFe^&(OV>{gb?zSNaApDTTd_=j_PPZe1c`Yv2aHAA>BmzH_NeOX1;?zrkr z6hqaP#%Q%owIY&Ogucuj0MV!(v$OW9osNT`-!D4=qV*1ySI&Hg>Ul(ip`WFy!x-PC z^2OGolP{w=^M%fGrCamWE6EiD>QNo4PkQdldILkm82y%YsBB^NL3tihi#~dg<+Xbt z9$MRX_vvAsuc+VX=j@59aBq(Kt^OqNae{iQ9?7*`xUm(e8WWQPInjD_sz*?!)g_(` z_&D`txQ+;zQe6>bWx#1ZrCWq-UbXYsH7&mr`hwcE23WY2#bxK(?GHz*Gv;n;^@TcS zgw@s`74uT;v9j+vic+`=7}xe#*O%0KQ7;DYsvRVYXqJc2|FM)gWB`U%T9(i{Oo5nXA;wRPNE^<} za)`M+o|&4-#6K6CO5Lw&mL)+K9s3n0RIOL*D0oASc~TfGaK&xh)!Lp$3lZwnUBhf3af06j^3rrEn%a^h3zS$1gg=2lrY$9R4EEMca} z=djwcN{iyNT+u@*Uto|cu$0d-u*WS6`554lPk|ojtdE%LMepkU)>GBHj9A^f$CcR6 zy<2^#(NOh$O80K{bxlLny4f9GEr{LWSCr>W?(pi>C!9~=UySI2Rc0I;Ik1_m@ZdAN7h)bnOxsSm{7b%G#wofj=idP)2iO2qf=rsDtwz`a_}0_ z^t%ozr!7oJ=j9WBx04;|_PR}hW!s3cO~l-`z|f|^vTc?>3@F<{K3-r!K3!x1ng#?J zi0R}93~2J%K{rv^)+TgRSaqa+Oizj*+}cT-fBHzo2uTd zK2Uz8ekI%cBGvAR&1|a@^`eunt4}l*~+(JFHA4H)-;#9S`gqMO{Pb8?xMWL#y*Z28w%#1>2asw@yln0nI4D5 zqwaUZZ_@nypuSv=yh*bTy)9jIu=&Se%70gRro(){Bg{10=4}k~5$oAXe4#fid}w9^ zdZx~y%fPHtV$fw^)+sRRjhOXk9dR4Ly0VVK zLKoapqhm{rgkhj*y%-7g`xZ9n^#&ipG%GyAWQh5EQN_yjvN`zWpVKJ@(_&3go)YEW z%G)KzYDhi|i-2Pw>bw&5`5ljH^krzjvhvjJnis9rgD*niibnro8yM5k6_ zLo(NClZ5HyitEEN`8|le_fuZcNL!bp3Tvrjaa9LaE}`Ykg~i)4H&|uDqUV03Uht`9 zLvtThQvod*sum}fAh3Ra z{7f{`Xk<&1FKCG)490^GlXb;vy}#6sReT)5t=8Fuu=?m5H+Ybm6~7mw`X#E0E0(@- z&Ld3eS^@Qi-$nHUD`RXtPR@z*f6F+fePNu|D`TvULU+{-9=5{jR8FFzPeotOS^j1uC-C+o>Uti2%le8 z{9966oXE@Jm2Cx$u3oQ(BjkFv{v15^_6XJ29~!E@{XSJ(^@H49)Iasd>?s$77k~A4WsTK4-UvZxifR;ocSa#yi3N=#EHKxRc~gaGJyP_M0Ob+pw_=UO{kES| zd7|M{Pb}YP5Dl@uOx=jD#(Y0s3wBa#dCcoaldkt-Y&!au5Ye(<-)Cn&J_a3iZ+pEy ze$rC!3*uuQ&cEvQf{ljHjw2Pv3sak18dPC$I8-mmI-A?t{Cz}BF?40R0f(u<7yKZ0X!p|wl`Xx z8NWY4az-Gg$70_{FA*UKOnPiLqKXYDF|ee^{sNQ#Wr-yn!B+TP@Ku<0#vu+D(MXSA zEcu8rU81r)1X(lq`(W{yXdN3|Kdo_ttLre_;A)FHA{%GMFD%JXzUg@I*vASX1cc_} zmk>1O=#nSWUaa^)hwu+3#>OE}G%oWxJsKB$^SfqD-!7ht4O^$!mfKg&O>SS?+?1`s z1Bka{5^-xnV$45Ld(1;6-D!=+sf(s`?YHN=sV7a-gSmZ+isvC3;QY3@*py?c>hTS^ z{u^9XJeiY{GB=x#P{qHXN=)PV@F|F3V?kp&LnHKi&Bw6BL1Ba_cRUGgd2A}}vr z-fejU_8K*a`_GubmLoRkJ+bU>5Sj(3+JKlOsE&r+?CQ*fn_Y#Hobb>@Re|46pxiwY z3mO=YR$S4F{S|ZSOBoT07N6r|m4jn3FJfmttjKh#><*QubYYIxR3FNVHfFt$VI}H} zo1SAHcR5m{k8gx(5&cE)MkI=dOxh8=NjhB}1+E28g{iYXGC>GFw|?Kp3amEvu!4$6 zt5V=d38?ar{8N;hA**OjO4@&LI-dL?f_(Cu$}1Wd>t7FFlv~oGvynGv9Z@#k*2fbc z^NCg+Rv;&lo=w~!=MIZ=esY&E(_1Z*kD5D#GDZJOoWoX$|Rht_zbC?sq ztHXF^v7|zWJGokz>2NK9Nrqz<#z%QOzN-4ifZO#~BcW4E&HBY}i&PDcP4jiw+scNW zp-0P;m|Qj2*LWMMxHiigtGCY$Rriu^E)P~e`!Q6#%!{K{2gBy-H#iJc%ea%%8&fepc@cj{aDba7*mnX>4a)*!5_wca`KAG#e5htZPW7lXR@K=GMA z2*btih_qmH#b;fPf51Ku^(IYOPYI5GV4&$^^6)@fkSWnigO>qz#hyn#VSfu*jj59YOA0)svR z3%xLU*g?_5sCNJI(Gr<@Fkd)$Wt*1%QIy(`9*yfv)SBK4RTF>t=X6RTY~G^dP6;Oy zq1&}Z0N4l@w0%`PIzFe8Dm>!^(lBSUdG|1s8^NdP+(Y@E_+k&`dvfHAtC%-tDNNZh zO9e)a=)Cl>wTnQk9mZK7p|n74@swE+t{}wsT0d&ST0d$Ur`nYc>|(SvusZzcno_-5 z^h?RI8Zz#ULf1uxDzL&oV~(!8|9UW^!@yPToR3hg%8Ww3h5s_J5{;e8(@K;eTG51$ zj+pNsBfxj0$`g(1&{`jhiOAt&~TP$KNt@S)}W@#zg0M*nF1l+933>K=$o>65r zzE;*4nUVZ26tX0-pn>hK$edOn8oz8oT88q#Z%y&?#Wa4=_r3!`bhG*DsiJY8+ zda$;NI-+b~>=f4ltY?%k@zMIW*LWORtj~I=qIv6K2#;q6P7vowZ-|0?c?Q`Nrj(956 zalIN(i^UWDuVW!Q?vj=pIo^iA>-Q+F`jCV-YQ9kp(H^W8H>;Pcu$rI}>Zd@TMCoTW zoA)2S?|%F4Pf7Uq8&rEB5^kF_PXLzrBrFYY+d%S9gvD;bHx$72enT0!zI*IAmz{Yd zkBe@__@%N53x$csO&y=Y!uK>`qH$BluTbXSgo$o8|1udfXFTXMjoUmR>+`pWPc+8t zFMS5UH1r6}I~)V`!ryPkP!DCC8#I2quoJUaVnO5V#*U>9(YQknj#B3gOe-jsUMv?z z%t7TvE77t=zr6&YZA;{{ z47Qwt^}?UYbcijQJsWR-9vP2rhOH}e<%F~jnBaDL?kRI8A(&jxKdZSjomTfN#aIo! zx=*+fR>H^Xlqd>pHkLV>53vA(`!QawmM z3CZ}6e_=n%U5+rPtC&`7%vOk^BL>0vNqWsg(3`WwXL`iZzSbXaH6^{~9QbW)^YKqK zE^PXopXQoY5BYvxr8k?;Jc`IPeZ6R?FIr=uKUVTZzV$zguYUei^_t$`1jwAL z8`JBZj0NP&*6>QLD^*t5QGu!X`!FM}(uEwqzuvCR0rYLJD#?sAeZ(p^j|wtP!iD0-ab ziN>oL%kUkx*rGKJi~1{OsN9nh4eVNY@rdwEqm>Z1?>?2MbXe*eh?}k#CR$dz>e*Jl zXa4H50IZL+%F`ti1$+JYX7eHFiZYAFjB+ISF*1pXRvkVQX;~{N2Nly3Ewk;*9d7f{6ns&+u~*@ZbP5b*2aNy=hfbG85NaA`0h8~(thHX2 z=kw-uy*|_KvPb?WOdf$K|4dK9quqzD6lQvdpFj^e3`|?M)C=qDyUpgnyux@nE++%G zO|s@NNSP(8_$+f^4<_~?%cIHbbI6w#lc$B;(PrG(@tyie8=59Besi#7nf#2yL3ZSg zp4@LnF!Ps-+DzV|NOcC?qoCR-^wd%f43C2Elv8V-A*vH5hN_FuJTR)|5DZ}YWrGLC z&miwFS_j5NHqXt#?=^!4#+O`9@U!|8%C z&Q@O096*S4Fz2v5(J~mHXK%rlw(`CFb@b2~>N5Pk9{Vt9C)^c478y@1qcn4S*L{K#j;XF3KD`oM#w5BnAo zIqhCyOA|{SP%aL%m~T=CF{r+igDTq=@^3E8ZBv^P%eJXaInbhQ9B45Z8kd!UMvJ?> zZAg6`=)-MjN47Hf%|T29E$&z8_=U<|3-C=^caOicCFY02qb};}HKE>!`Kt?0JgTZ! zT@P2r`YD}zSsq3z7Dy-$; z17wYz{E(R=QnwOaUPdIWb-Oj%#@^R}j&DPAM2g=Wl%6H)Mb9fr$!9ehJFM1L##e!k zYeTbS@tcDs$H@T_OG?3~X%LKjX5M_J@NXlX0P3wa_R`F`LpSmn4GSHl0_%Ix-Ec*5 zXg8xE4x3S!VD8+$eA-wv%o$5sM`@;qf7DSL(vo($xZ7*tqL1Yvyl)i2F*0Jquvr8@ zNK&l2uT1Ba;82vt^GDf8)A}m5_xJc!>~VjCkbA)X7-NIa^zcK`sQrjR$fPOcs{4eQ zrXqxe;CgT4n?>+nW5cJDF+mZ0r^ZkxnU@}RMKoBg!@tgGUc@XMN*BiZg`_?V5&=Sn@PyrI0~G$Yl^R1rnV?K3)m=cnTR< z2&pjSoFe4UP&_)MHUVq0It`olEY1|{0#y{6yddrQr^3RXe+qlXBaL^bvlb0|Mp*;) z95n11Yr~(l&>k4s=Qz+M$xgZw_KO?}_(1Ky+-Ol2-%G z_lTgAo=3{DokKK**N2_H*l2ubD@eU}{WNMM3w3t9$$_ToK>+sDu@S`G3uO|Y(>MAd zRPs?_rny0-FNtciiZnwXor@}Ee{e@ES}Xv>2uMiIzZNFnEt}|QFz9erqA2nPgWWY(=L~`I2(_X zP;AHRMRJM>oh2vSG zCcz29OrL!f@@|-W*$Oh4lzucm#A13 znLY{w^6duZY`YSDJxjfPDwxE@=o=$sw z`n#+TZ*}OEGX7&}DSSGP!=v|CeW^?cguV;t#_GA~YRqO<{K61c9g`RiA*{O5c@m3s zV39_QCz2rpF6*%;c&~(j<{Jyq19+BN&q`2Kyjn1P_U_EizxN25@Z$oZPsufL(*kWR zsB?<~A^46HoX-}>C;CSg2=N(T7O2a@%o6V?RAo&SG^Ucv`Z}wWwK?T&Hm|^xxz@=# z{XZt$m}v=VjC>oMt+WY0R$jg_Fab+_w$E72H*wR#H*r((8LRm^wo;_Udt%xDjeOE%;V)`gB_6jll=LNCP&ku?GHs%znEr=$gIvzO(n* zf8N~ryY5Zr(lNC`UohfiUb}VNQQ>beu8&%H%5hy&@*TL2>WznOVIf#7k6yj_7eY|# z=;`hLMXX4_7;EUOP!Adrug+kMDUUFvJB?T+gBf9B0f9ImnfsG6Yu1ppEl!MF!3z(8HKU(SxU!$wTX5 zO!oKabV%U{v;W3SmTqVdqv52KHpm{dS$KQ94C@ptW0~>hBgAW=aoZW~L0V zmjM|9gC5GKcF6SWA_M1U7!rvAV7;0eb)Lr4|V~DO0D@9;4Rb9LciLRh~a91c@?m<`)K^|(gb`h$cun0r+ zM2LW%xbm4nBA_QigzO2WrwHze)Pfw;21Nu|ILn=IX)#DbXwif}v>T*Yk&a>~oLRIm z;SbJ}9TDjgVZtAX6)ng=jc*s>x?+zO;jwmm3=ytFb$F6F;j~JG$5MpHQiMoP5dy<5 zz%)wHNSML-sTt>TVe@qB%=p4cyixugZpY03T zZu(>8LGheJBVBb5_~W#^a6=s%mgZZ8${kyTA>46@K(n}JkO*+cAwsxbr>6*kEn2Yn zQ?nPJu>a8~o8&HWRAzp@en=RG$xxb&y%{?%`MjQxW(9gWu};r}Iz` zCEaPIIA3^+ha#i10G*s>6enQgM`=N#oEcYG9N+}ikAQU#C zDAe@ujj*kWR`SpEMvJg1eZ4T#@%qj_!kl*p1P|UVGrj*Z>{#UPn`yqPvtpd`wqV<| z*1=smedPp$JZbKv`4ueZo&N}Ao~yj3S%(fxV?!*{7vN#tOSvIsI{2Uq{#oWJx0Lcs z^Ytem5Va0we!b|$bnqRm@>;M5hQPXoxjf#S<@TDUp0&jcx0&gIVMCmM?g!bfFzc5# zXgvo8{RWnLwk~D9B`@_R`>inOD6rI(^&txupW7Z->L4(*J+Rb4U}$?_sROr@?QnbD z&cLF*i?-iq_qn(Rc_!`)I&ms%T~@rxBy5LcOj)t9hrsB1o&9c7~;rRl4-Mn;&fUcr5i@X?t+oh4hXJ~v-5AA+eny|W|9Rx0?*ivxT}}rU zX;uBQ$UKKS90_})AQV>DKPKDqVzEef#EAv6l*bhaWwE>Zs&jkLJE4`;o57aI6sPaWuFTTJ|OzcEq(X8XL$#|T@CaWBDD*^_ao@nG{x4tO87A(ti-q-)Tn6hYW zQ=#oHPjsqvP`#|f*CM$*Vk=|9kqmu!UMLMo7NrXlUz!P%^R+Iz4I4>yTcp)r-Iwm6 zQC%Q8LiL2%Kwtb`xOFWW?Zad|(7vFveYYsD^YAdMhPe*5l8#}JPphL(Fd>HNM&6Ph z!yx$PckM7k&z!a@V_;N1Fj-z!Ie?g{-65M5zn7yivD{QeTxKc{1uy9oQcF-odDYXM zPZt3;Z8UazFH}+Ow*%s|)4tzsR{Tyt`Z25uyniCE^9Xag)9@?-0_0Nn{Px<=F)w58_c@`?iWBOGeNi1m|gM8yYVWwja-A9<|m`?+P)aY1|S7nHki9m`hNCD$5(Z{KNiR32-J zLWdS|DPTIZaC;Gw*B^&Q0<%W66#q<-=^c6~Roe(5gds!O2%lfA`V!K=iQlvlhAFfW z<&gkRcUsy=)ZX}Zd+n8td_pDFUp-HaMCGuNt z(yUxBn@UL1VI%mJKz!^w<8b_=F^_g*+#U-{DmUZ=9r7``0KovN+w}{^e2`K4-!o zPdxO4emkN#S8keDbHAAyF+CGPzLuvQOowLnS9zvGOMzKS+J5?MyPVbc3#_FX?RFD_ zt_?v?DuRY4W~7$z%Ri?(Ew!XQ`0usXzFx7L6SJi1d|}#6RK6Yx|8%L`G+%6cqp8YG zN99i>hS;PZbaa1U*2wlTl1?u&ZGkle#$df_C4{B>P(hMdk^YwwBynlaKuCEcfYY6p z8j0E)|J7c5wK(%mRdvx+Y9uOu78N~JDmQ)5a6EziohmoY%6)yh>DWWKnS9pB4xy3! zn&B`cSR>WNC)UXLb{h$yUV>216rrNk<5MH}<)71?mKurL8yB@}CnQh63BFDBrt#DiRt$gi6&~tuD*AL5Oz!3?^rb}ei6C)9y{)c z@@^I7QT0xD8uSsLm}2U6?Ulb+9E%Tc@ry;P=7_8a zX9T#gDDnAm59eJxIEyI;pGxl!Me)mmf;~2pbXWDvu`O7$GvGNJddA+O`XA6^FG6RP)qHTD=B59rhdkp&FpWDQd zp|&Xuq73RBa`8il(@6ZN7#M@nOJN1ojB5kCyTqwElyOt#o>}=uJu$ zZ|=k<^qEpRJA0$_g4MNvgkWC1=aoB6xFOAZMV<6U>Y&@xV7@l)gA6SS@ zHdle)lTq#-6bAHrS%>RNEYta2#Fy?6X4?FbH~Ch(0}gl_@rlMzz8~FmA2HL~^If@X zEB4?|3ZH1S=wi00wLG4a(uWRoE{c~MaFa`@It3&9E z-65xy`P|yCHZQIH>WT|%zxs*_LQ($3GzVuk<}_%0$HbBjtxXap8avaMLo?xUOlK?S zlCNOD|7zhAof-`7~%gS;Lt?^5IXs;$#?ST-s=27-6s7n93?fI&mYNdH%yyfzI7 zbqR+4A<8RSuE3YQ4PbPF4~s7xA{;24m#y1;Z@e9SeU|t{V`ezO5u<6yhLNGK)VMzU z!U?)wl`YJ5D36=YI_7t6H^raWcz5a3v6{o`$dV9(lA$6?PGY?)kj}7v35x~&ALMnO z#4_D!tbV56NN7|it(glY)=wy0P}>s{vtkvGwX3$ev+@hFa{Tho=}~!LcwD!`H0@1q zuBOu--Sp~{sjj_x^07e{UOlnPP&bs(hx%YEEy_49v*4G1A;+^WMws)&XKfHJ^Urkf zJ1@rYOGtMap-4XZWO~PYNY7!i+T4pm1o-J;`@pR?S4|1Z(;me(J*DF`B&3AoB@~j^_7bZ z0PrVH{9@)hKm&Z3hhF)7=1rP>Jr@eI45L>s-DjG7{ve>sW-DEX%Tdd-yv##PdGYo5 zlk@$S8KvXb!r>-ZUH!HMp)~;w5lo5|=@*w^lE)&u5lku%Yj--&OEHZYzdp;2kVZbf zqK|Uj)rW+$?)pQ*7z-?Vh$rVE4d$OKe^{gut(yHkU}G1L;|X>O(QICXbpgKzJQVhW zzajqkfcQkKJU=;St9nLAEZ0G-??#KtyrFMBj@hnV-_?6+Zgan$p6k z9Wy(X($gU+m7c8*ENa)IkL^qC$igD)k3A7$NvE|3IbucnuTc9XswrwmET}wLd!%RW zrx8PM>%qtWsBZSQ>)y8nIj;N6a#gr{yLvtxGg1n^FMjVV(umHQ&rE3|9Uoa43s02G zFwxnIw}>xVa%Q$9^AhVrgcAlAe4$4@FxjzPj|Y~=jBd*phwjCm15xU|Me?Zqi&^^@ zQ}Rg9)&vGU>T$_p)lEmpir9yTmVn=N|DbGzWB9WX^=;=?Z51r$@f?+h9KSCDicVpE zkOD?}v-yKQ3?%Fm)Oc} z-6GW+U3G~t<&Cb=lboGOS8<$DUDa7k58bx2m}bTAUm*EIr6%6O87BWvVML#cRn{KqS$kknyPih8ztldQ?**W!eaf1K(02iS zzJ0ih73p^&J=Xo8zf4}|QSC~18nLKdJO8uVYd@q664!o4d)uS-Ls07dsPSD{6Kltg zU`TvMVv(M;2Ntz!mwne#`x;7NJjq0#3)_0ru`1$%*po5?O49+w$(W=Auk-9wQ?ZGAuJp=W}X_ET0 zEGpX#FMNHwh|lGz95vv^Cojj^@!G3W<8-2VvC2EP{oSs;gCF`hL$j)Dvvax^sGK7R0eN~CiZBrzM6+z z{Sfm|RF8S+XCE9?J?5dPKIb8&XZ1M`v3i9Qb4&HBfrqWHd@CWgehA+xR#bm1s!!h< zt%q+_o@{-jXZ6LmPSGqpuf6)pxw`rxoNH7M=lZi#22~H|8r7$BReDyR&h=1L-pCUI zoQB=@KbL7ZD__xBrs3Vw)T<8~A1|o4`clwZYIsQaXGr*&BB5wWv!XK<6zTbS&Dp|Y z0M2eUe~H2R%EyF>Ms*y}JG5i|j1N0u1*T_e!F4E)rB_~Jz1XAU2AA?`P-@QokJ2&2 zz;g`RP|Z7pkZq`WN32L+fb^VqSQY0T<;m(J9ay9h&_xbV{?N75nw%5_*ajpSP52%=a8dtCmQrZkLCa zuH03a^OBGE15z`}t4>hpv3GkXRMW5ZFvRp5O~mwj*THCFPQM}287Wduze)$jPRQx^ z&?!2vk=G{FozPWAhbymce|0BRUzK&ssu{5Egf7&4C~Dp`6&`d-b6G3KPn|mc7cD+t zxmIKKw9|bV_-LvwkDaiSFz1aRbE5EukJ2uWxHKpev>Lz~o$m)Ye z-`?k zN>@h=eC=l7k;j$AGF*Li?!whqLm%D6vC`bGXtH{E+lwRjd^l@?M5FRsU>VrErY1$F zKrvFCr`f#Y06d%emiR;?2;QW8utKzkS#!HAkBvs3N29Ym4#Vbl7L|OkmfaUEJmQ3- zyH4gm?<{H`jq1T(AIAm6(%O&Xnic67a=s#kYUdRx%ERKFj^9WlHXs52@w1|L*IymT zb^X;1hI^~{`nggyB6$LL=$h7u)EQmVDbaltqVVwwUSAw4T72FDh*n^9M+=>o zdcQ=N_-606U|=WvEH#ib&q6#Gx)^Tpi8AxNGdG3bS>6;pFgLevD92TfOs;A(Dz`^e z9vZxQam%LpVUlG(VEgcTLDI1wi%M&3B6?V#+`zkjNyi>|c(9Up^p1tkbd-0d%5&MV z*PC^?oY+6l@|-95A}{pCB94)&)&OZ$Rm;=~(s0j|q8FdVs=mhLjrS_heV-IspZ^)d z>asVmOy$RxJgJFpHvfU;p+68WT9(i=CG$oeJOw@ycuaJK9=RW^Y$^Gmy`+aYMF5`pu=E|o0QMW9Fpd|QTt<$>Q3=vWa0IN$Z_7n zRiMmSkmVt^1K6Id!*vN$I{E-pwr@TZtsCw=`gzm*8;`n-I&Y(~Hb#-J@G~72ypi}^ zHq-P3S$Rm0p6(~eg{E$GvGpKqCzdBY_n_<;9Z`q+gL&8=&Ku<*PhgRk{V|P2oK)Nk zl@Iq)KdSd=sNR`&f2?0NZLIw2DF+-Tk4&%)_Tuvx8%X6MkVC1C&Sw{7s(e_-u znNA4y+|yUi57CjQW_li!W@@wS>2ntGQCr;)VM6+lou_H=!Hjz%7+5gp1N-b9*Y6D* zp$;8}>{u)Fh;4mg<7XO;1E%2~$lY2_DaHh7W}UZ{OyGVuxt)tL<;|AMOBykr(Pf?m zsBjtlD*sIHb#3{|4qxczS9XTN;$};fi=1fBo@!5ZFOS<(?a6#rXC)sx?ccWN9?13= z5B=oEsbHS4eCRaRm8ULWFKNV_=VWYUF8gmHxN$J)&s^kZ1dWDiUMKlbY);^Mzog@| zBFbfZx{h0)jz~%ntJJfzcAC(%R6G6 zqpYO2+7uV_tt&p$uFLJzX4BtGJHMV^7HDlJv^5r^e&}|_w+hhC>35cPj_p@Fl}j>E z$84w5h&m73_E;?I@E%Iie8uLGzbmilEuKc(V^+t>|D-oM4E_Fp;xp~K+)nLw_LX*` zAL3&st?j%X7s+k)@7gJTk_=%>umPtLb)IP3+r(#j+RJFue!@&o z`U3hh`_A;ld(q}i#An)dxt-cnex7wTwswwE+2TjO7fL(VxnJ#6 zF7fdW@OPh%k}{2`^YAqnk9X7S!4Ll-!@sc)ARY8jSj>iZs1DQXf7YQbd_mH~_rk1; zr3e2^kLYPMw!BrC>EURXeSqoVm=Ej&OuIeSrJfJGRCIYReA}DQNvkfgL|79`mO*1< zq+}33^8H`Y<(k(>m&zr+s2eupG@{NE`b!^RdfX+&cbeYds^U9MkA%Os?=(H;J;isL zUTc2wou)05^`XZ#FBW~A4;#O^O&>qS0s+OZrJB_IGEJXOJZxBKD zq`!zc&}ZvRyNr}wyS;xavY&{z>9D`qU%fT@U#t-$BR^ASO@+-#3Rh$l*W7V8!H z`toCp6SimM?}uv7PFRZZ_T!zth4!R<1ou+sVqLT&+=ltTi6M=D&NBmL_&qAqyfXU5 z&xz0Ul5Me3_n*#yn&*nE zd-@I2Xa5p5_$TIM{4d(&W_uJ4JYL$G z=|@W&v(NggcMsq-DeXEBwY0J7v;H@s|H-X=w$5G7rTSU#s9z<9H2yiyyN+)(R*!Wg z;)YKCe2a~}Ey`$5x7#zTW&7oTaDk+SPR$-_nV^m(Y%U0mr@pBUOt*V5n0KK z*^YZoeb<)VHbd1h(u2gc>d|sK17S8BqayKp1d2W-v7q^x6*PRJFwy*Y6Q-jd3lohO zKoN2%{3$dy#QLrkpVPUg@At?}2j4BNe8UffIqg6U-J3Kw=iazam}%x+^{6n{CuLL^ z$_^~*0G)Y=DQ~`Ph%6oVNZV8mqI0U|seOjj_TjVl-b;1FtC)OPQ=e{wl?7D2Ubbo8 zs`J?@=R4qaKMXNyY%^i~pQ`va*9PvY*DGubL~w}G`u2UCSj&| zeS|Ud@y!flrlpV8^0tO~d3H8UzWz_O@^SUK>UCkJxkqd4#C6mTzMS9pSMiyaE=zfA zFJ|A6Y5IbyzFt>X!AKN&%Jj%(xubrd3mOc2!;(!r!r~1hS zdURruChXo107KNMG-8nNhvX}A28IYCuuLPiJK8$zI`Cy0vBMCdkk9Q243T?anMTZc z56iR~b9;z&ti*rcZ#E?-5o4u{zz~`=&Ms+zeJrs|3yk(pzDy(5=)=Fyz<-$*7@|pH zPNV+lR#*KUnA3orb1EOhS82e`KOHU>t30K#G^KZM>NH_=<4?i%SZ?>GiG?4Ni+}1c zVYD6EZp=+N4~d5B`X#*CCgN+sA_B|w5$WP;Y!kaZ* zChNRsacz`wHGME5fiqitFh(&)*NWB3xd_jA)g^|XM6?SX++Ta@vl@-<@l2@&TY~SD zE**qn3{1!QyB0q5@6<02!p=bi{G&nGd04?>rf$i50oEVz!z~zmKmXowCU%Cdgn#EQ z$u`1FOMYSI<1XamSY7bXwAv)Bg>PeF!3SFHZ0CC{{6OyHf>zsy;7j>pCls{w(aJ~J zEuU%WXb8TPFZe)9Z|!`RFZ2TWq)YLQI~0DZ6O%CP@sAn3o3<{1}kKaG7L{+W(&XK9V0E!gSyXVFD#K3cIF`AmECD6h+jd7S0_f5vV5 z2TM9;FWC1WY{F>~bZw(!Sd`FcV3aX>dU}4#$VETJynRSHixLY7GgBqVbT~ybovv(a zVd2)c=66ovzHSm`x)WV248t<%v5&(gy-7Yi$Vht93D|6SLYQez@BN1eGc8exWh=E@ z%IgQ%QrHju)9|mfwDM#{YxS!Q=_JL>mLU_If(>N&1!*8V2@7M{NgqmG^KN1MP%7!p z9{m0vu|ki10+YxjVWt@X_1z}SG=m{w`|Nt$qJhoRE7fmnfEk|fuh_F0v}c~NW_@-7 zQyoL5+6fz~4#q4JSAE=j3`KG+_}u`t9iLdxxem(pSFDMK<6~(UXAgf`e4_CY%-ztO zj8RSV>*FszNIs0Wr00AMb7zhf(~SFcpcP-_&h&l9!TA2Jyr#*g@zZFuV6bKWIWPHi zEF4e2vurBJb+{ZUO?d-DIe}$)E{B-P%dXO1ao$nG0gb`VA@99;s8{-aaG)(jH znK}?y(sO2^v;NBRpxmTGpPxFPE4q}O~+7mTYsh7C-;_apFEUunof^~z?oQhw9%L}zRCbkm}q{!6vq5H zVWuYz0|uwVKht9`;-xymOmocl?>_|gzz|rsFz2D4aNfX>C$P*L81e)bc~iIAM8B-) z_P5gQ!&8UUZS@KJgK~r7*>d)7u~y9e)og(Y+;;o$RO$2KT@!=dKD=w%Di#aY?V}is z+^4XOn&u2)8#O)d@5M$<^YN5z)b!X_;apB(9ek%>bm$~xDcDHt1LyT=+4)SVIE9+Y&V={EL_kBNl)4neegWX!*PbBV}{QNzP+sED}jDF{_w>6vReGc}spD@wTF`}z~g{>5tI`(4$(=(ofZqs*|4n0N8(r6gl z@OOpJbm(pnAM-ZDS8DU6AL*g*tV`8Mc?;HIgdids;rEz8{$;eLu2W(f1>}rM@$e34J4wp>E}O3Qc{=KgpI!^GJY?4Vj*F zF7)^?>wqmM9s16(USq3r4t3sD%@_yTmLxUoz%->7&y3OIYOFcf9mT>05VpnU;pY^mPvS{-i^9*)Mh8 zW{gwlIm-!sXL-&O`p&%MV;=G;Z}x#!D0$)b2nd9MM}@t3OiLdi+=$l;s>ya!IqOvq zl|$4BUdUBHS@-~K@-W&$85tiGS3OI6;;ydrj^~7yMV0xcL{sd^*J z6D__~=@eBjeD1NVpY;}c%CmlnrqM9XNnur%=X#$-FxB~4=EQB7K{uPvtp(%5jwUhD z2o{cqA;pAa8lA8wJAr(yb?B;d%Zgw0pJYb&rVOzYpR!0t;8K;Gk6Hutd-aA`Uv=Lvo-*+BViP}D_U{ZWDvzhO7FXvn#RIUc zHL;|s);4RiURQzNXJ9um*_*~yD5IgjoZv*`?v2&_Jlizylb}p0Pw9za{lq$IjOQJq z-l$J^QLNljn98B3rM$ovC6?vI*WQj1=JMk8H9Q$mGg;oJ2EGW}g-hN(iSMmV(XA*Q zCunA4s04SwPhi$x9K@DUd{Xm-GM>?9$}CR&-h~`zCKfcXFT*BJNGxaoER+)(q!1^5FGh|l z5(^pzG6qgyf-uoCpfNiOV~3B~nVrjDVzp$`Q?k75hTXcav{QGhC7WNmwbJ8+OOXR> zLwBoaTwno{8=Lc|Xh^#aq>VL<>6CVUB`tMBX#=aJozZp5XHwwKqDm~k_!e({1k3{O zS%&d&RUl5}z+|j*52l;VU%$s^0!;H34lIb$H;QgHe*~4T^`goXosHPDY6N^`G$OFN z5euhwO_`dXcKMfD!ET06XE)caz;P=UF?#RPis>{lNM22tp)F*rKJW*BZnNoMfs zZ57R{no3(ms|}-J=#e+_G@I8#yKi18Of(Ij614Kshx8vUj3zf4^SFc;raYG3e9S{W z=Y^j1mHYVkRmbtAli6@iCDj*1tcxn9%kd&ka-}D_*}UOAOtOzk0MXf?`zk^2 zOF;uGLd^gR9=8qbH}6BsgF%0_3}OqlbhpVYkAKxr8TD1xDwSFJ&5~?#YrfZ{$Iw1f}XIg=x+3t8NpY@>nWij1*SgX0eE! zx@bz*Ks%@A`}b2ym+Y^W)@SkDtZK}pov>NW5y){Js->RLC8F_O`0u=9VmigGf|ykg zrD%Z-hy{;-@+VF__0tPk;%!AX#dl<>&Ou^is@AIu9Ej3kpE2# z(oj{JhUkWE>$<@e~J$%sDuVfuWNmebUBuzW-x z_1Lq&oK@_1z#)(mIqoWBPc&u5*h{Y`Iz8bm%3?abSzx&NVJ0Ka#+#*Yv9CmNI=^3B z!DNn2gbk;c&Be4aapKk)JYAWvk|mi&76d>OPZuWI#SmlF)9~9dyj0yKFEpn5__V7& zrL33+=08lV>nQN?=dT&~@QdF++!S-&9jwMQ?wETJ*z3YX!!w6G`6P;q`#2#Xw zl41vj9vujV7JKr`(~ER5jyb9?M^9D$F&`>TfQd$Y)hOE`%(w-V_;hi%9}(2~m7?~e z1dZOKa2fh=DSmymh#q|c9Ku}(;}$2VLSm#$-v0L8wUr=B znwddTuS}ip$1(ndGRkZx2b4t|r)3m6>fX}bwv*>dD79Y>=|7a9HiOkz9AM-8E(H8u z9EeT}NOv3-fXMT@D^S_i(unBn*#lBbQ4TJ;=)n5#`@%${4rpdnjwRQz6xjImwxY#1 z;knklH=+lJUnfj-daFMOi(Wh+d(pB)eO8e8!jhg7<~kyV`-4?PzRD{PtO@m0>*(T( zHbg1VNIm_!gN`ZVG213i`l2%Zil&}1t<9BuqM_%Tp{pZ=iB3Ide?)sxJ1ulfU~rc+ zc3_4#iiq?g@YEA3Uz3id_9B(1rZc$t{^ATot7;oPtDf+*suo61JsCB3R4+c$C!*@n z-`XRl4+`e0mkl{*js6xUh7Y3E$i=ZQ8bR#kSfVZ#COXB*l}d=SEX4^7;!NH_w-rq- zx)`a5q<-6k5aYsX8!dIgh@^jQ{MV0&1SU^`MB|qMUv`&h{5y&v-{7EaauY2uhS>P)Dswc{Sg{G+{AlImwNI&thgUti9}^Qu~Oiiq73iX9?ulOl2v3M@pNks=26 z??jvm{*Dh95m8y}G*qvOSj6h%F)5-rk>ghwRfuF*wP@@iz< zC@^{<%G$Ad5r^|I;^5I=E_3>p%tIeuri}DK;-m=0DT-#*cKfDX48>;Ew5P`FrE2@* zA*!yziQ&w}Zl#b4)Cc@A1Rn*9{Ql#O#)$RACmOp%8vx4~P&9@?KTQ8F@rh1Rb9Rm< zV8)Kt2gWbMPh*C+ir8LjTvbLTAX^NUl$9RW{g% zXEU@reKf!{w0su^f9@cNmJRx%P1+zY&{WYBt=;!c&Kod}D)P-t$5&YfLz^uS+8o&C zX~IRqGVX#pY#E{v^KFEv|8K0#M%WF`Y`s z$gG~J)xKph`@JYlG{T4Pmw_vq{mEh^lxP>-DpYur2}LMaD}}0Gq_a@fW9v$&{x{|D zyx~HJ*S{LJ*dc(9sF+TnmRCZ-Sw?#UE1FtNsT%o8Sv@Vky*L%G3VvUf03V^=Va8u5 z!35k6yDFyTx8wJh)wCQmx)HmAn~f2l=w|a*Yr*&AU>6NOY*F~JpJ!tE2NE%zExpgC&CPPuPj;K#98mJf8gqMZ!<=W_NU|jC1<-$~sn@)@~$aE4< z73-f5&jLSI2hfDz$A$=?#fju=U>H}hB-8R)4xs6?`scbB@(t?nDO0k?Uy~#pUEU9? zdYlkCu3iUQxSfg-xO?v^;VO)ovT?>^_j1AG?iCFTYWBL-SnQtdp}eB8f3%|PVvEkU zW~Al3q3*k~-YDC`3k#j#aB`^DdD+$Q|6!exx7JhYsN=-aTiYW)daK@mwLfz^MdNJA zGYI!zlOUqOM+=WdpK1JJObdf>-dxRPJVSp(w3GGykdBWOG3g92#K$y>7qx$=LNi)l zy38^Bg*e_>6y0nt-K;z@6D`rSN;i#Pi0PI4lqnJSJh3}nVZe# zdyy+GT{KGAv&_Jv!2?W(jGPB&PriWg;YyV!S}W-O91+T6sl*qnX^awyMeN_SSNj4h zi(_N+(Bk^ZA2%V;;{J!ro}ZOaJ>VW5q^zeGaZSOqlkhyo3lEXs`Jo-$}e1B0g-jmaT~ zf23nRpIo-4M2m0Y5y=;MRNX*cU=xoJCcYus#tjPXHy&0zls70=FCNORt6akBRZ~_+ zH3+;0HYkDyHVRLH(mX^1qo{XPVq>le#RUfY%^SG8rgxo+2Wx0}qhr4!+uIO$uZ#bx zD}ey9|9Y=3b8U`6aUy9L{+p#bMax`zuNFo#=)Ky-5Q7~0#-^mmJ&DF+5`?{YD6&A1 z?&@0lF)E?2x?$F`RWEGpom|x`{V0nq=su^k-~>VS7EDIRs#T5h4fkwR_q*^&@PF~& zOf^b0ib3Oim#q1oeYN@=bkI1s_GgT*bU>nUi0XqBh8HJqMx+#){L!Fs#T zX_v)!&r2>f)AB_}+#t+#1m7*mmvyLYVXlK1@3*HWRmbdo=HRaLgHAf`l%p{j>*;a0 zf4RfwiaUh1sn&Xf$(=c^#4zs6n+xPQq1xEZI8WuF+)MG_^QoGk_2^rdCzyuV?53EU zTe04oTk}5um$J+ht-OwNRgTo)@`&}`EX?H*V?0cCDeoYgkCFF*GV-7hwyC%J5~p>v zO>uDb$iocIdou>EH4j?S_HCn9g|yqGw1LgrA6+!iS6YMSr5`MN0glR2i`Doi^kG2N z_=j60RDbg^Jg+n3_k84-MIj2!v$%2z1>5{nu;TIJGflo8xHkSdk0dA<(5TaJc5gFVv|J+B5=<=`fC0SfgpFTPKT6 zOWnc-Nfx^!A1ab<42_`E>jPAlth&p->U18B>irfZ%WX~3S@U+1jGfMV=4pDmj~+AA zkQ>1ir%_$x#kC5QUk7T(X1G_q$(7=W6Ui7cj><%5B>8~EiB-@8E`}HurQ1!#ZwLN2 z48Q!(+vL@KZrnQhE=FzjG3uNYW1Ae)|IL`({0R!tIxD4be47RzwrTqALoMhx(Jq=8 z*T^)P#*;;yIbgsJQ9T;D5L*+PucEbliX%?!5P`*`Q8b@=6@MbS*}VMcB^DJejX5-< z#u!SeI*S<2tGY#w@^E2Toi4M8)ybTyvsRsr96KXNMvtPi>ZPp4bXFZ0o@q?s4njwV zw8H`qkap@Pri9R0&3VOnvr7Thjw1tlDvW2C_zfkSj%aM7eY*toqEQU`uQ^W=n(sRF zzrRE+T6_*Vl*dvjFEIup5{uaUt{L0&_jhU>?P~*g7P!Fr9QKZSfvf}-HveD+4E<2?BwBf{Ey% z#F8HWn8Q7&H)+0%;+JksQw5rF^`Z;Y1KYi|yy(I)!s@)e_q6l%e4`bkX)K>D%yg(e zO~*2@8!U@u2rOl>4AHGA3;8Gm`7BFxHDrjcPFY-Ebam9bXu<6LyLQk@LTiabiDz#jEJtHKs!a>sRUk9U`A6%zPp8Bw9WatFDg6aV^TZj^K()r~1hV1w2a+_=>++*qQp zf|Ddl9nyPYu~&Ik?ZsF1xxw5_VLN(HMj_|ocUDRgv<~(9V^sgZg#Pj*g`$0XiLb`| zbTif@dnr6MA2B}hWXLK$JVTxur=b2)TH-x{>U)81Ni|8hB@dRyjgT}9wY#~W_ZEKH zW9V_wSZZUu^v)J08fjP-zw~1A1q}?6`dfTT7uNe=@GaVH#O^iZ-4j}@Q2O3zWP9fio z#SGr5vg?Z}?SHB-H+qd)eOo2A)SVf>JurjCDMZp64a3DiKM-bm;=PrdN;=%sl2*R0 zFpb)s{lB`dCbX_92sgII)`CRLrcgA{jS``$hGM1QvuPSjA%%!-CBidA8|xy~whDD4 zh%Ri^>PC=m6a@trLcxFtT@)8up&J)&6bkQ_Qq)DVsEb14_sutxnU@z=Z{FNFbH00K z?wmP4_uQb_zck)YMHvfcUN)|?|B>8edykFdu4S`7EX*}uA`AX-V@u{Z?hkDC=C=(S z28M8Vp3nq+-)JHXnx?q1#aqE?sV0y9fFPr5K8Zbb|+2QHPDDpVPw|Whu8ZCOMTwpN((lwdtyT+tXFCPlX*|{kn9x>ct!=LCSjn z;p{y<1yW%sIi9W>G|%{o1U_hUF>8n{LtZn?hER&s!F6*%my7FyK&gZCC(ca0JoD1o z$E}l9=XNCh@l{MI15oWzTAXD@W-*aL*ZeUg@e6ZD_aPed?hhfr{>UnWh8%+Q(u8=T zLp6EbT`%U1EjaiY$@G-ycuS%b9dDUOpcHJpv?Cv%(%Uh2qI<0N#YUqD%)a=Gpy@gy z*JK>j8noo}xu__k>Y^<5EbS0aa+sj;{WI#qFBCU4-f zd|xoWA1#`TuXxp!&<*$15Z;4<;rQ0k;G7_e#ye$i zVUZDKcq^j$2llYG-DX42I+m#e7mNgacN0<~W zV*lB|AS`~1x|8ldna6nq&7-8_IFF$FhtUasp|U|UdC)2ds&<;mgLu8B*yXPBM&3ub zO4+XcnC!XEOXcP&h*k@jw2ReH(e56;8fva`uUsWwDyQ4B!7O1y>`;~`cw8Vp5*XvLVv68qrz4Y`poYqvP$7 z6DQkKlZVx9o=aQ=@p*Sk1+MZ9Olzr-#C#KM6yt)RZHDw$;R@PtZF3%iFTWmXxQy3@ zi-XO+^NB0kt90jN;mK*r)YwMpwwA?2)4*NXUP1GrYrMUJmKv7r!eFD!4-&&ZS)#76 z2Zl0pS}=5;M+pq(v?`vo)qCEt5)Wv@V7x92HlTbzF+>n6*;-&IpWJo(SP=V1Bb(JA zHl%>o|3J=g2W_~%E4V-#F5`K|etI4PeIF&HnB*&_!F^kDT)uYe&0@1#Eb(!gCTPp6 zEj?A<-GG)FLh>=L`>j3U7ZL;p36}bo-48KtD4Q4x2-@bsO=+8;Z9s5AZ4k62|HeZ` zF?;Il^e*+^hq8Wn+E19u=`0)=JFLQJBK6L8B@5{q0Yn+R zD`eLSD7np^1hrY9x(wt%*E0}7HJ7|hHIOX7I~8MD#e}PUqOx`DBUvxgBI2u8{{#6D B+VKDY diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.pad b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.pad index ff49f3a..8bebe2f 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.pad +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.pad @@ -1,273 +1,273 @@ -PAD Specification File -*************************** - -PART TYPE: LCMXO2-640HC -Performance Grade: 4 -PACKAGE: TQFP100 -Package Status: Final Version 1.39 - -Wed Aug 16 20:59:41 2023 - -Pinout by Port Name: -+-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ -| Port Name | Pin/Bank | Buffer Type | Site | PG Enable | BC Enable | Properties | -+-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ -| CROW[0] | 10/3 | LVCMOS33_IN | PL3D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| CROW[1] | 16/3 | LVCMOS33_IN | PL6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[0] | 3/3 | LVCMOS33_IN | PL2C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[1] | 96/0 | LVCMOS33_IN | PT6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[2] | 88/0 | LVCMOS33_IN | PT9A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[3] | 97/0 | LVCMOS33_IN | PT6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[4] | 99/0 | LVCMOS33_IN | PT6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[5] | 98/0 | LVCMOS33_IN | PT6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[6] | 2/3 | LVCMOS33_IN | PL2B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Din[7] | 1/3 | LVCMOS33_IN | PL2A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| Dout[0] | 76/0 | LVCMOS33_OUT | PT11D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[1] | 86/0 | LVCMOS33_OUT | PT9C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[2] | 87/0 | LVCMOS33_OUT | PT9B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[3] | 85/0 | LVCMOS33_OUT | PT9D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[4] | 83/0 | LVCMOS33_OUT | PT10B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[5] | 84/0 | LVCMOS33_OUT | PT10A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[6] | 78/0 | LVCMOS33_OUT | PT11A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| Dout[7] | 82/0 | LVCMOS33_OUT | PT10C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| LED | 34/2 | LVCMOS33_OUT | PB6C | | | DRIVE:24mA PULL:KEEPER SLEW:SLOW | -| MAin[0] | 14/3 | LVCMOS33_IN | PL5C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[1] | 12/3 | LVCMOS33_IN | PL5A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[2] | 13/3 | LVCMOS33_IN | PL5B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[3] | 21/3 | LVCMOS33_IN | PL7B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[4] | 20/3 | LVCMOS33_IN | PL7A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[5] | 19/3 | LVCMOS33_IN | PL6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[6] | 24/3 | LVCMOS33_IN | PL7C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[7] | 18/3 | LVCMOS33_IN | PL6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[8] | 25/3 | LVCMOS33_IN | PL7D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| MAin[9] | 32/2 | LVCMOS33_IN | PB6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| PHI2 | 8/3 | LVCMOS33_IN | PL3B | | | PULL:DOWN CLAMP:ON HYSTERESIS:SMALL | -| RA[0] | 66/1 | LVCMOS33_OUT | PR3D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[10] | 64/1 | LVCMOS33_OUT | PR5B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[11] | 59/1 | LVCMOS33_OUT | PR6B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[1] | 67/1 | LVCMOS33_OUT | PR3C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[2] | 69/1 | LVCMOS33_OUT | PR3A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[3] | 71/1 | LVCMOS33_OUT | PR2C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[4] | 74/1 | LVCMOS33_OUT | PR2B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[5] | 70/1 | LVCMOS33_OUT | PR2D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[6] | 68/1 | LVCMOS33_OUT | PR3B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[7] | 75/1 | LVCMOS33_OUT | PR2A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[8] | 65/1 | LVCMOS33_OUT | PR5A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RA[9] | 63/1 | LVCMOS33_OUT | PR5C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RBA[0] | 58/1 | LVCMOS33_OUT | PR6C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RBA[1] | 60/1 | LVCMOS33_OUT | PR6A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RCKE | 53/1 | LVCMOS33_OUT | PR7B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RCLK | 62/1 | LVCMOS33_IN | PR5D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | -| RDQMH | 51/1 | LVCMOS33_OUT | PR7D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RDQML | 48/2 | LVCMOS33_OUT | PB14C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| RD[0] | 36/2 | LVCMOS33_BIDI | PB10A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[1] | 37/2 | LVCMOS33_BIDI | PB10B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[2] | 38/2 | LVCMOS33_BIDI | PB10C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[3] | 39/2 | LVCMOS33_BIDI | PB10D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[4] | 40/2 | LVCMOS33_BIDI | PB12A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[5] | 41/2 | LVCMOS33_BIDI | PB12B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[6] | 42/2 | LVCMOS33_BIDI | PB12C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| RD[7] | 43/2 | LVCMOS33_BIDI | PB12D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | -| nCCAS | 9/3 | LVCMOS33_IN | PL3C | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | -| nCRAS | 17/3 | LVCMOS33_IN | PL6B | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | -| nFWE | 15/3 | LVCMOS33_IN | PL5D | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | -| nRCAS | 52/1 | LVCMOS33_OUT | PR7C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| nRCS | 57/1 | LVCMOS33_OUT | PR6D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| nRRAS | 54/1 | LVCMOS33_OUT | PR7A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -| nRWE | 49/2 | LVCMOS33_OUT | PB14D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | -+-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ - -Vccio by Bank: -+------+-------+ -| Bank | Vccio | -+------+-------+ -| 0 | 3.3V | -| 1 | 3.3V | -| 2 | 3.3V | -| 3 | 3.3V | -+------+-------+ - -Vref by Bank: -+------+-----+-----------------+---------+ -| Vref | Pin | Bank # / Vref # | Load(s) | -+------+-----+-----------------+---------+ -+------+-----+-----------------+---------+ - -Pinout by Pin Number: -+----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ -| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | PG Enable | BC Enable | -+----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ -| 1/3 | Din[7] | LOCATED | LVCMOS33_IN | PL2A | | | | -| 2/3 | Din[6] | LOCATED | LVCMOS33_IN | PL2B | | | | -| 3/3 | Din[0] | LOCATED | LVCMOS33_IN | PL2C | PCLKT3_2 | | | -| 4/3 | unused, PULL:DOWN | | | PL2D | PCLKC3_2 | | | -| 7/3 | unused, PULL:DOWN | | | PL3A | | | | -| 8/3 | PHI2 | LOCATED | LVCMOS33_IN | PL3B | | | | -| 9/3 | nCCAS | LOCATED | LVCMOS33_IN | PL3C | | | | -| 10/3 | CROW[0] | LOCATED | LVCMOS33_IN | PL3D | | | | -| 12/3 | MAin[1] | LOCATED | LVCMOS33_IN | PL5A | PCLKT3_1 | | | -| 13/3 | MAin[2] | LOCATED | LVCMOS33_IN | PL5B | PCLKC3_1 | | | -| 14/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL5C | | | | -| 15/3 | nFWE | LOCATED | LVCMOS33_IN | PL5D | | | | -| 16/3 | CROW[1] | LOCATED | LVCMOS33_IN | PL6A | | | | -| 17/3 | nCRAS | LOCATED | LVCMOS33_IN | PL6B | | | | -| 18/3 | MAin[7] | LOCATED | LVCMOS33_IN | PL6C | | | | -| 19/3 | MAin[5] | LOCATED | LVCMOS33_IN | PL6D | | | | -| 20/3 | MAin[4] | LOCATED | LVCMOS33_IN | PL7A | PCLKT3_0 | | | -| 21/3 | MAin[3] | LOCATED | LVCMOS33_IN | PL7B | PCLKC3_0 | | | -| 24/3 | MAin[6] | LOCATED | LVCMOS33_IN | PL7C | | | | -| 25/3 | MAin[8] | LOCATED | LVCMOS33_IN | PL7D | | | | -| 27/2 | unused, PULL:DOWN | | | PB4A | CSSPIN | | | -| 28/2 | unused, PULL:DOWN | | | PB4B | | | | -| 29/2 | unused, PULL:DOWN | | | PB4C | | | | -| 30/2 | unused, PULL:DOWN | | | PB4D | | | | -| 31/2 | unused, PULL:DOWN | | | PB6A | MCLK/CCLK | | | -| 32/2 | MAin[9] | LOCATED | LVCMOS33_IN | PB6B | SO/SPISO | | | -| 34/2 | LED | LOCATED | LVCMOS33_OUT | PB6C | PCLKT2_0 | | | -| 35/2 | unused, PULL:DOWN | | | PB6D | PCLKC2_0 | | | -| 36/2 | RD[0] | LOCATED | LVCMOS33_BIDI | PB10A | | | | -| 37/2 | RD[1] | LOCATED | LVCMOS33_BIDI | PB10B | | | | -| 38/2 | RD[2] | LOCATED | LVCMOS33_BIDI | PB10C | PCLKT2_1 | | | -| 39/2 | RD[3] | LOCATED | LVCMOS33_BIDI | PB10D | PCLKC2_1 | | | -| 40/2 | RD[4] | LOCATED | LVCMOS33_BIDI | PB12A | | | | -| 41/2 | RD[5] | LOCATED | LVCMOS33_BIDI | PB12B | | | | -| 42/2 | RD[6] | LOCATED | LVCMOS33_BIDI | PB12C | | | | -| 43/2 | RD[7] | LOCATED | LVCMOS33_BIDI | PB12D | | | | -| 45/2 | unused, PULL:DOWN | | | PB14A | | | | -| 47/2 | unused, PULL:DOWN | | | PB14B | | | | -| 48/2 | RDQML | LOCATED | LVCMOS33_OUT | PB14C | SN | | | -| 49/2 | nRWE | LOCATED | LVCMOS33_OUT | PB14D | SI/SISPI | | | -| 51/1 | RDQMH | LOCATED | LVCMOS33_OUT | PR7D | | | | -| 52/1 | nRCAS | LOCATED | LVCMOS33_OUT | PR7C | | | | -| 53/1 | RCKE | LOCATED | LVCMOS33_OUT | PR7B | | | | -| 54/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR7A | | | | -| 57/1 | nRCS | LOCATED | LVCMOS33_OUT | PR6D | | | | -| 58/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR6C | | | | -| 59/1 | RA[11] | LOCATED | LVCMOS33_OUT | PR6B | | | | -| 60/1 | RBA[1] | LOCATED | LVCMOS33_OUT | PR6A | | | | -| 62/1 | RCLK | LOCATED | LVCMOS33_IN | PR5D | PCLKC1_0 | | | -| 63/1 | RA[9] | LOCATED | LVCMOS33_OUT | PR5C | PCLKT1_0 | | | -| 64/1 | RA[10] | LOCATED | LVCMOS33_OUT | PR5B | | | | -| 65/1 | RA[8] | LOCATED | LVCMOS33_OUT | PR5A | | | | -| 66/1 | RA[0] | LOCATED | LVCMOS33_OUT | PR3D | | | | -| 67/1 | RA[1] | LOCATED | LVCMOS33_OUT | PR3C | | | | -| 68/1 | RA[6] | LOCATED | LVCMOS33_OUT | PR3B | | | | -| 69/1 | RA[2] | LOCATED | LVCMOS33_OUT | PR3A | | | | -| 70/1 | RA[5] | LOCATED | LVCMOS33_OUT | PR2D | | | | -| 71/1 | RA[3] | LOCATED | LVCMOS33_OUT | PR2C | | | | -| 74/1 | RA[4] | LOCATED | LVCMOS33_OUT | PR2B | | | | -| 75/1 | RA[7] | LOCATED | LVCMOS33_OUT | PR2A | | | | -| 76/0 | Dout[0] | LOCATED | LVCMOS33_OUT | PT11D | DONE | | | -| 77/0 | unused, PULL:DOWN | | | PT11C | INITN | | | -| 78/0 | Dout[6] | LOCATED | LVCMOS33_OUT | PT11A | | | | -| 81/0 | unused, PULL:DOWN | | | PT10D | PROGRAMN | | | -| 82/0 | Dout[7] | LOCATED | LVCMOS33_OUT | PT10C | JTAGENB | | | -| 83/0 | Dout[4] | LOCATED | LVCMOS33_OUT | PT10B | | | | -| 84/0 | Dout[5] | LOCATED | LVCMOS33_OUT | PT10A | | | | -| 85/0 | Dout[3] | LOCATED | LVCMOS33_OUT | PT9D | SDA/PCLKC0_0 | | | -| 86/0 | Dout[1] | LOCATED | LVCMOS33_OUT | PT9C | SCL/PCLKT0_0 | | | -| 87/0 | Dout[2] | LOCATED | LVCMOS33_OUT | PT9B | PCLKC0_1 | | | -| 88/0 | Din[2] | LOCATED | LVCMOS33_IN | PT9A | PCLKT0_1 | | | -| 90/0 | Reserved: sysCONFIG | | | PT7D | TMS | | | -| 91/0 | Reserved: sysCONFIG | | | PT7C | TCK | | | -| 94/0 | Reserved: sysCONFIG | | | PT7B | TDI | | | -| 95/0 | Reserved: sysCONFIG | | | PT7A | TDO | | | -| 96/0 | Din[1] | LOCATED | LVCMOS33_IN | PT6D | | | | -| 97/0 | Din[3] | LOCATED | LVCMOS33_IN | PT6C | | | | -| 98/0 | Din[5] | LOCATED | LVCMOS33_IN | PT6B | | | | -| 99/0 | Din[4] | LOCATED | LVCMOS33_IN | PT6A | | | | -| PT11B/0 | unused, PULL:DOWN | | | PT11B | | | | -+----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ - -sysCONFIG Pins: -+----------+--------------------+--------------------+----------+-------------+-------------------+ -| Pad Name | sysCONFIG Pin Name | sysCONFIG Settings | Pin/Bank | Buffer Type | Config Pull Mode | -+----------+--------------------+--------------------+----------+-------------+-------------------+ -| PT7D | TMS | JTAG_PORT=ENABLE | 90/0 | | PULLUP | -| PT7C | TCK/TEST_CLK | JTAG_PORT=ENABLE | 91/0 | | NO pull up/down | -| PT7B | TDI/MD7 | JTAG_PORT=ENABLE | 94/0 | | PULLUP | -| PT7A | TDO | JTAG_PORT=ENABLE | 95/0 | | PULLUP | -+----------+--------------------+--------------------+----------+-------------+-------------------+ - -Dedicated sysCONFIG Pins: - - -List of All Pins' Locate Preferences Based on Final Placement After PAR -to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): - -LOCATE COMP "CROW[0]" SITE "10"; -LOCATE COMP "CROW[1]" SITE "16"; -LOCATE COMP "Din[0]" SITE "3"; -LOCATE COMP "Din[1]" SITE "96"; -LOCATE COMP "Din[2]" SITE "88"; -LOCATE COMP "Din[3]" SITE "97"; -LOCATE COMP "Din[4]" SITE "99"; -LOCATE COMP "Din[5]" SITE "98"; -LOCATE COMP "Din[6]" SITE "2"; -LOCATE COMP "Din[7]" SITE "1"; -LOCATE COMP "Dout[0]" SITE "76"; -LOCATE COMP "Dout[1]" SITE "86"; -LOCATE COMP "Dout[2]" SITE "87"; -LOCATE COMP "Dout[3]" SITE "85"; -LOCATE COMP "Dout[4]" SITE "83"; -LOCATE COMP "Dout[5]" SITE "84"; -LOCATE COMP "Dout[6]" SITE "78"; -LOCATE COMP "Dout[7]" SITE "82"; -LOCATE COMP "LED" SITE "34"; -LOCATE COMP "MAin[0]" SITE "14"; -LOCATE COMP "MAin[1]" SITE "12"; -LOCATE COMP "MAin[2]" SITE "13"; -LOCATE COMP "MAin[3]" SITE "21"; -LOCATE COMP "MAin[4]" SITE "20"; -LOCATE COMP "MAin[5]" SITE "19"; -LOCATE COMP "MAin[6]" SITE "24"; -LOCATE COMP "MAin[7]" SITE "18"; -LOCATE COMP "MAin[8]" SITE "25"; -LOCATE COMP "MAin[9]" SITE "32"; -LOCATE COMP "PHI2" SITE "8"; -LOCATE COMP "RA[0]" SITE "66"; -LOCATE COMP "RA[10]" SITE "64"; -LOCATE COMP "RA[11]" SITE "59"; -LOCATE COMP "RA[1]" SITE "67"; -LOCATE COMP "RA[2]" SITE "69"; -LOCATE COMP "RA[3]" SITE "71"; -LOCATE COMP "RA[4]" SITE "74"; -LOCATE COMP "RA[5]" SITE "70"; -LOCATE COMP "RA[6]" SITE "68"; -LOCATE COMP "RA[7]" SITE "75"; -LOCATE COMP "RA[8]" SITE "65"; -LOCATE COMP "RA[9]" SITE "63"; -LOCATE COMP "RBA[0]" SITE "58"; -LOCATE COMP "RBA[1]" SITE "60"; -LOCATE COMP "RCKE" SITE "53"; -LOCATE COMP "RCLK" SITE "62"; -LOCATE COMP "RDQMH" SITE "51"; -LOCATE COMP "RDQML" SITE "48"; -LOCATE COMP "RD[0]" SITE "36"; -LOCATE COMP "RD[1]" SITE "37"; -LOCATE COMP "RD[2]" SITE "38"; -LOCATE COMP "RD[3]" SITE "39"; -LOCATE COMP "RD[4]" SITE "40"; -LOCATE COMP "RD[5]" SITE "41"; -LOCATE COMP "RD[6]" SITE "42"; -LOCATE COMP "RD[7]" SITE "43"; -LOCATE COMP "nCCAS" SITE "9"; -LOCATE COMP "nCRAS" SITE "17"; -LOCATE COMP "nFWE" SITE "15"; -LOCATE COMP "nRCAS" SITE "52"; -LOCATE COMP "nRCS" SITE "57"; -LOCATE COMP "nRRAS" SITE "54"; -LOCATE COMP "nRWE" SITE "49"; - - - - - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:42 2023 - +PAD Specification File +*************************** + +PART TYPE: LCMXO2-640HC +Performance Grade: 4 +PACKAGE: TQFP100 +Package Status: Final Version 1.39 + +Sat Aug 19 21:55:06 2023 + +Pinout by Port Name: ++-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ +| Port Name | Pin/Bank | Buffer Type | Site | PG Enable | BC Enable | Properties | ++-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ +| CROW[0] | 10/3 | LVCMOS33_IN | PL3D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| CROW[1] | 16/3 | LVCMOS33_IN | PL6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[0] | 3/3 | LVCMOS33_IN | PL2C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[1] | 96/0 | LVCMOS33_IN | PT6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[2] | 88/0 | LVCMOS33_IN | PT9A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[3] | 97/0 | LVCMOS33_IN | PT6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[4] | 99/0 | LVCMOS33_IN | PT6A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[5] | 98/0 | LVCMOS33_IN | PT6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[6] | 2/3 | LVCMOS33_IN | PL2B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Din[7] | 1/3 | LVCMOS33_IN | PL2A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| Dout[0] | 76/0 | LVCMOS33_OUT | PT11D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[1] | 86/0 | LVCMOS33_OUT | PT9C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[2] | 87/0 | LVCMOS33_OUT | PT9B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[3] | 85/0 | LVCMOS33_OUT | PT9D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[4] | 83/0 | LVCMOS33_OUT | PT10B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[5] | 84/0 | LVCMOS33_OUT | PT10A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[6] | 78/0 | LVCMOS33_OUT | PT11A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| Dout[7] | 82/0 | LVCMOS33_OUT | PT10C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| LED | 34/2 | LVCMOS33_OUT | PB6C | | | DRIVE:24mA PULL:KEEPER SLEW:SLOW | +| MAin[0] | 14/3 | LVCMOS33_IN | PL5C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[1] | 12/3 | LVCMOS33_IN | PL5A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[2] | 13/3 | LVCMOS33_IN | PL5B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[3] | 21/3 | LVCMOS33_IN | PL7B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[4] | 20/3 | LVCMOS33_IN | PL7A | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[5] | 19/3 | LVCMOS33_IN | PL6D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[6] | 24/3 | LVCMOS33_IN | PL7C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[7] | 18/3 | LVCMOS33_IN | PL6C | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[8] | 25/3 | LVCMOS33_IN | PL7D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| MAin[9] | 32/2 | LVCMOS33_IN | PB6B | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| PHI2 | 8/3 | LVCMOS33_IN | PL3B | | | PULL:DOWN CLAMP:ON HYSTERESIS:SMALL | +| RA[0] | 66/1 | LVCMOS33_OUT | PR3D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[10] | 64/1 | LVCMOS33_OUT | PR5B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[11] | 59/1 | LVCMOS33_OUT | PR6B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[1] | 67/1 | LVCMOS33_OUT | PR3C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[2] | 69/1 | LVCMOS33_OUT | PR3A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[3] | 71/1 | LVCMOS33_OUT | PR2C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[4] | 74/1 | LVCMOS33_OUT | PR2B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[5] | 70/1 | LVCMOS33_OUT | PR2D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[6] | 68/1 | LVCMOS33_OUT | PR3B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[7] | 75/1 | LVCMOS33_OUT | PR2A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[8] | 65/1 | LVCMOS33_OUT | PR5A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RA[9] | 63/1 | LVCMOS33_OUT | PR5C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RBA[0] | 58/1 | LVCMOS33_OUT | PR6C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RBA[1] | 60/1 | LVCMOS33_OUT | PR6A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RCKE | 53/1 | LVCMOS33_OUT | PR7B | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RCLK | 62/1 | LVCMOS33_IN | PR5D | | | PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL | +| RDQMH | 51/1 | LVCMOS33_OUT | PR7D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RDQML | 48/2 | LVCMOS33_OUT | PB14C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| RD[0] | 36/2 | LVCMOS33_BIDI | PB10A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[1] | 37/2 | LVCMOS33_BIDI | PB10B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[2] | 38/2 | LVCMOS33_BIDI | PB10C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[3] | 39/2 | LVCMOS33_BIDI | PB10D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[4] | 40/2 | LVCMOS33_BIDI | PB12A | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[5] | 41/2 | LVCMOS33_BIDI | PB12B | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[6] | 42/2 | LVCMOS33_BIDI | PB12C | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| RD[7] | 43/2 | LVCMOS33_BIDI | PB12D | | | DRIVE:4mA PULL:KEEPER CLAMP:ON HYSTERESIS:SMALL SLEW:SLOW | +| nCCAS | 9/3 | LVCMOS33_IN | PL3C | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | +| nCRAS | 17/3 | LVCMOS33_IN | PL6B | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | +| nFWE | 15/3 | LVCMOS33_IN | PL5D | | | PULL:UP CLAMP:ON HYSTERESIS:SMALL | +| nRCAS | 52/1 | LVCMOS33_OUT | PR7C | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| nRCS | 57/1 | LVCMOS33_OUT | PR6D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| nRRAS | 54/1 | LVCMOS33_OUT | PR7A | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | +| nRWE | 49/2 | LVCMOS33_OUT | PB14D | | | DRIVE:4mA PULL:KEEPER SLEW:SLOW | ++-----------+----------+---------------+-------+-----------+-----------+------------------------------------------------------------+ + +Vccio by Bank: ++------+-------+ +| Bank | Vccio | ++------+-------+ +| 0 | 3.3V | +| 1 | 3.3V | +| 2 | 3.3V | +| 3 | 3.3V | ++------+-------+ + +Vref by Bank: ++------+-----+-----------------+---------+ +| Vref | Pin | Bank # / Vref # | Load(s) | ++------+-----+-----------------+---------+ ++------+-----+-----------------+---------+ + +Pinout by Pin Number: ++----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ +| Pin/Bank | Pin Info | Preference | Buffer Type | Site | Dual Function | PG Enable | BC Enable | ++----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ +| 1/3 | Din[7] | LOCATED | LVCMOS33_IN | PL2A | | | | +| 2/3 | Din[6] | LOCATED | LVCMOS33_IN | PL2B | | | | +| 3/3 | Din[0] | LOCATED | LVCMOS33_IN | PL2C | PCLKT3_2 | | | +| 4/3 | unused, PULL:DOWN | | | PL2D | PCLKC3_2 | | | +| 7/3 | unused, PULL:DOWN | | | PL3A | | | | +| 8/3 | PHI2 | LOCATED | LVCMOS33_IN | PL3B | | | | +| 9/3 | nCCAS | LOCATED | LVCMOS33_IN | PL3C | | | | +| 10/3 | CROW[0] | LOCATED | LVCMOS33_IN | PL3D | | | | +| 12/3 | MAin[1] | LOCATED | LVCMOS33_IN | PL5A | PCLKT3_1 | | | +| 13/3 | MAin[2] | LOCATED | LVCMOS33_IN | PL5B | PCLKC3_1 | | | +| 14/3 | MAin[0] | LOCATED | LVCMOS33_IN | PL5C | | | | +| 15/3 | nFWE | LOCATED | LVCMOS33_IN | PL5D | | | | +| 16/3 | CROW[1] | LOCATED | LVCMOS33_IN | PL6A | | | | +| 17/3 | nCRAS | LOCATED | LVCMOS33_IN | PL6B | | | | +| 18/3 | MAin[7] | LOCATED | LVCMOS33_IN | PL6C | | | | +| 19/3 | MAin[5] | LOCATED | LVCMOS33_IN | PL6D | | | | +| 20/3 | MAin[4] | LOCATED | LVCMOS33_IN | PL7A | PCLKT3_0 | | | +| 21/3 | MAin[3] | LOCATED | LVCMOS33_IN | PL7B | PCLKC3_0 | | | +| 24/3 | MAin[6] | LOCATED | LVCMOS33_IN | PL7C | | | | +| 25/3 | MAin[8] | LOCATED | LVCMOS33_IN | PL7D | | | | +| 27/2 | unused, PULL:DOWN | | | PB4A | CSSPIN | | | +| 28/2 | unused, PULL:DOWN | | | PB4B | | | | +| 29/2 | unused, PULL:DOWN | | | PB4C | | | | +| 30/2 | unused, PULL:DOWN | | | PB4D | | | | +| 31/2 | unused, PULL:DOWN | | | PB6A | MCLK/CCLK | | | +| 32/2 | MAin[9] | LOCATED | LVCMOS33_IN | PB6B | SO/SPISO | | | +| 34/2 | LED | LOCATED | LVCMOS33_OUT | PB6C | PCLKT2_0 | | | +| 35/2 | unused, PULL:DOWN | | | PB6D | PCLKC2_0 | | | +| 36/2 | RD[0] | LOCATED | LVCMOS33_BIDI | PB10A | | | | +| 37/2 | RD[1] | LOCATED | LVCMOS33_BIDI | PB10B | | | | +| 38/2 | RD[2] | LOCATED | LVCMOS33_BIDI | PB10C | PCLKT2_1 | | | +| 39/2 | RD[3] | LOCATED | LVCMOS33_BIDI | PB10D | PCLKC2_1 | | | +| 40/2 | RD[4] | LOCATED | LVCMOS33_BIDI | PB12A | | | | +| 41/2 | RD[5] | LOCATED | LVCMOS33_BIDI | PB12B | | | | +| 42/2 | RD[6] | LOCATED | LVCMOS33_BIDI | PB12C | | | | +| 43/2 | RD[7] | LOCATED | LVCMOS33_BIDI | PB12D | | | | +| 45/2 | unused, PULL:DOWN | | | PB14A | | | | +| 47/2 | unused, PULL:DOWN | | | PB14B | | | | +| 48/2 | RDQML | LOCATED | LVCMOS33_OUT | PB14C | SN | | | +| 49/2 | nRWE | LOCATED | LVCMOS33_OUT | PB14D | SI/SISPI | | | +| 51/1 | RDQMH | LOCATED | LVCMOS33_OUT | PR7D | | | | +| 52/1 | nRCAS | LOCATED | LVCMOS33_OUT | PR7C | | | | +| 53/1 | RCKE | LOCATED | LVCMOS33_OUT | PR7B | | | | +| 54/1 | nRRAS | LOCATED | LVCMOS33_OUT | PR7A | | | | +| 57/1 | nRCS | LOCATED | LVCMOS33_OUT | PR6D | | | | +| 58/1 | RBA[0] | LOCATED | LVCMOS33_OUT | PR6C | | | | +| 59/1 | RA[11] | LOCATED | LVCMOS33_OUT | PR6B | | | | +| 60/1 | RBA[1] | LOCATED | LVCMOS33_OUT | PR6A | | | | +| 62/1 | RCLK | LOCATED | LVCMOS33_IN | PR5D | PCLKC1_0 | | | +| 63/1 | RA[9] | LOCATED | LVCMOS33_OUT | PR5C | PCLKT1_0 | | | +| 64/1 | RA[10] | LOCATED | LVCMOS33_OUT | PR5B | | | | +| 65/1 | RA[8] | LOCATED | LVCMOS33_OUT | PR5A | | | | +| 66/1 | RA[0] | LOCATED | LVCMOS33_OUT | PR3D | | | | +| 67/1 | RA[1] | LOCATED | LVCMOS33_OUT | PR3C | | | | +| 68/1 | RA[6] | LOCATED | LVCMOS33_OUT | PR3B | | | | +| 69/1 | RA[2] | LOCATED | LVCMOS33_OUT | PR3A | | | | +| 70/1 | RA[5] | LOCATED | LVCMOS33_OUT | PR2D | | | | +| 71/1 | RA[3] | LOCATED | LVCMOS33_OUT | PR2C | | | | +| 74/1 | RA[4] | LOCATED | LVCMOS33_OUT | PR2B | | | | +| 75/1 | RA[7] | LOCATED | LVCMOS33_OUT | PR2A | | | | +| 76/0 | Dout[0] | LOCATED | LVCMOS33_OUT | PT11D | DONE | | | +| 77/0 | unused, PULL:DOWN | | | PT11C | INITN | | | +| 78/0 | Dout[6] | LOCATED | LVCMOS33_OUT | PT11A | | | | +| 81/0 | unused, PULL:DOWN | | | PT10D | PROGRAMN | | | +| 82/0 | Dout[7] | LOCATED | LVCMOS33_OUT | PT10C | JTAGENB | | | +| 83/0 | Dout[4] | LOCATED | LVCMOS33_OUT | PT10B | | | | +| 84/0 | Dout[5] | LOCATED | LVCMOS33_OUT | PT10A | | | | +| 85/0 | Dout[3] | LOCATED | LVCMOS33_OUT | PT9D | SDA/PCLKC0_0 | | | +| 86/0 | Dout[1] | LOCATED | LVCMOS33_OUT | PT9C | SCL/PCLKT0_0 | | | +| 87/0 | Dout[2] | LOCATED | LVCMOS33_OUT | PT9B | PCLKC0_1 | | | +| 88/0 | Din[2] | LOCATED | LVCMOS33_IN | PT9A | PCLKT0_1 | | | +| 90/0 | Reserved: sysCONFIG | | | PT7D | TMS | | | +| 91/0 | Reserved: sysCONFIG | | | PT7C | TCK | | | +| 94/0 | Reserved: sysCONFIG | | | PT7B | TDI | | | +| 95/0 | Reserved: sysCONFIG | | | PT7A | TDO | | | +| 96/0 | Din[1] | LOCATED | LVCMOS33_IN | PT6D | | | | +| 97/0 | Din[3] | LOCATED | LVCMOS33_IN | PT6C | | | | +| 98/0 | Din[5] | LOCATED | LVCMOS33_IN | PT6B | | | | +| 99/0 | Din[4] | LOCATED | LVCMOS33_IN | PT6A | | | | +| PT11B/0 | unused, PULL:DOWN | | | PT11B | | | | ++----------+-----------------------+------------+---------------+-------+---------------+-----------+-----------+ + +sysCONFIG Pins: ++----------+--------------------+--------------------+----------+-------------+-------------------+ +| Pad Name | sysCONFIG Pin Name | sysCONFIG Settings | Pin/Bank | Buffer Type | Config Pull Mode | ++----------+--------------------+--------------------+----------+-------------+-------------------+ +| PT7D | TMS | JTAG_PORT=ENABLE | 90/0 | | PULLUP | +| PT7C | TCK/TEST_CLK | JTAG_PORT=ENABLE | 91/0 | | NO pull up/down | +| PT7B | TDI/MD7 | JTAG_PORT=ENABLE | 94/0 | | PULLUP | +| PT7A | TDO | JTAG_PORT=ENABLE | 95/0 | | PULLUP | ++----------+--------------------+--------------------+----------+-------------+-------------------+ + +Dedicated sysCONFIG Pins: + + +List of All Pins' Locate Preferences Based on Final Placement After PAR +to Help Users Lock Down ALL the Pins Easily (by Simply Copy & Paste): + +LOCATE COMP "CROW[0]" SITE "10"; +LOCATE COMP "CROW[1]" SITE "16"; +LOCATE COMP "Din[0]" SITE "3"; +LOCATE COMP "Din[1]" SITE "96"; +LOCATE COMP "Din[2]" SITE "88"; +LOCATE COMP "Din[3]" SITE "97"; +LOCATE COMP "Din[4]" SITE "99"; +LOCATE COMP "Din[5]" SITE "98"; +LOCATE COMP "Din[6]" SITE "2"; +LOCATE COMP "Din[7]" SITE "1"; +LOCATE COMP "Dout[0]" SITE "76"; +LOCATE COMP "Dout[1]" SITE "86"; +LOCATE COMP "Dout[2]" SITE "87"; +LOCATE COMP "Dout[3]" SITE "85"; +LOCATE COMP "Dout[4]" SITE "83"; +LOCATE COMP "Dout[5]" SITE "84"; +LOCATE COMP "Dout[6]" SITE "78"; +LOCATE COMP "Dout[7]" SITE "82"; +LOCATE COMP "LED" SITE "34"; +LOCATE COMP "MAin[0]" SITE "14"; +LOCATE COMP "MAin[1]" SITE "12"; +LOCATE COMP "MAin[2]" SITE "13"; +LOCATE COMP "MAin[3]" SITE "21"; +LOCATE COMP "MAin[4]" SITE "20"; +LOCATE COMP "MAin[5]" SITE "19"; +LOCATE COMP "MAin[6]" SITE "24"; +LOCATE COMP "MAin[7]" SITE "18"; +LOCATE COMP "MAin[8]" SITE "25"; +LOCATE COMP "MAin[9]" SITE "32"; +LOCATE COMP "PHI2" SITE "8"; +LOCATE COMP "RA[0]" SITE "66"; +LOCATE COMP "RA[10]" SITE "64"; +LOCATE COMP "RA[11]" SITE "59"; +LOCATE COMP "RA[1]" SITE "67"; +LOCATE COMP "RA[2]" SITE "69"; +LOCATE COMP "RA[3]" SITE "71"; +LOCATE COMP "RA[4]" SITE "74"; +LOCATE COMP "RA[5]" SITE "70"; +LOCATE COMP "RA[6]" SITE "68"; +LOCATE COMP "RA[7]" SITE "75"; +LOCATE COMP "RA[8]" SITE "65"; +LOCATE COMP "RA[9]" SITE "63"; +LOCATE COMP "RBA[0]" SITE "58"; +LOCATE COMP "RBA[1]" SITE "60"; +LOCATE COMP "RCKE" SITE "53"; +LOCATE COMP "RCLK" SITE "62"; +LOCATE COMP "RDQMH" SITE "51"; +LOCATE COMP "RDQML" SITE "48"; +LOCATE COMP "RD[0]" SITE "36"; +LOCATE COMP "RD[1]" SITE "37"; +LOCATE COMP "RD[2]" SITE "38"; +LOCATE COMP "RD[3]" SITE "39"; +LOCATE COMP "RD[4]" SITE "40"; +LOCATE COMP "RD[5]" SITE "41"; +LOCATE COMP "RD[6]" SITE "42"; +LOCATE COMP "RD[7]" SITE "43"; +LOCATE COMP "nCCAS" SITE "9"; +LOCATE COMP "nCRAS" SITE "17"; +LOCATE COMP "nFWE" SITE "15"; +LOCATE COMP "nRCAS" SITE "52"; +LOCATE COMP "nRCS" SITE "57"; +LOCATE COMP "nRRAS" SITE "54"; +LOCATE COMP "nRWE" SITE "49"; + + + + + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 21:55:09 2023 + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.par b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.par index 5638eea..1691b38 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.par +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1.par @@ -1,237 +1,216 @@ - -Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" -Wed Aug 16 20:59:37 2023 - -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf -Preference file: LCMXO2_640HC_impl1.prf. -Placement level-cost: 5-1. -Routing Iterations: 6 - -Loading design for application par from file LCMXO2_640HC_impl1_map.ncd. -Design name: RAM2GS -NCD version: 3.3 -Vendor: LATTICE -Device: LCMXO2-640HC -Package: TQFP100 -Performance: 4 -Loading device for application par from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. -Package Status: Final Version 1.39. -Performance Hardware Data Status: Final Version 34.4. -License checked out. - - -Ignore Preference Error(s): True -Device utilization summary: - - PIO (prelim) 63+4(JTAG)/80 84% used - 63+4(JTAG)/79 85% bonded - IOLOGIC 25/80 31% used - - SLICE 117/320 36% used - - EFB 1/1 100% used - - -Number of Signals: 380 -Number of Connections: 1008 - -Pin Constraint Summary: - 63 out of 63 pins locked (100% locked). - -The following 3 signals are selected to use the primary clock routing resources: - RCLK_c (driver: RCLK, clk load #: 46) - PHI2_c (driver: PHI2, clk load #: 19) - nCRAS_c (driver: nCRAS, clk load #: 10) - -WARNING - par: Signal "RCLK_c" is selected to use Primary clock resources. However, its driver comp "RCLK" is located at "62", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -WARNING - par: Signal "PHI2_c" is selected to use Primary clock resources. However, its driver comp "PHI2" is located at "8", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -WARNING - par: Signal "nCRAS_c" is selected to use Primary clock resources. However, its driver comp "nCRAS" is located at "17", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. - -The following 2 signals are selected to use the secondary clock routing resources: - nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) - un1_wb_clk32_i (driver: SLICE_103, clk load #: 0, sr load #: 0, ce load #: 10) - -WARNING - par: Signal "nCCAS_c" is selected to use Secondary clock resources. However, its driver comp "nCCAS" is located at "9", which is not a dedicated pin for connecting to Secondary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. -No signal is selected as Global Set/Reset. -Starting Placer Phase 0. -.............. -Finished Placer Phase 0. REAL time: 0 secs - -Starting Placer Phase 1. -................... -Placer score = 55012. -Finished Placer Phase 1. REAL time: 4 secs - -Starting Placer Phase 2. -. -Placer score = 54994 -Finished Placer Phase 2. REAL time: 4 secs - - ------------------- Clock Report ------------------ - -Global Clock Resources: - CLK_PIN : 0 out of 8 (0%) - General PIO: 4 out of 80 (5%) - DCM : 0 out of 2 (0%) - DCC : 0 out of 8 (0%) - -Global Clocks: - PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 46 - PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 19 - PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 - SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 - SECONDARY "un1_wb_clk32_i" from F0 on comp "SLICE_103" on site "R6C8B", clk load = 0, ce load = 10, sr load = 0 - - PRIMARY : 3 out of 8 (37%) - SECONDARY: 2 out of 8 (25%) - ---------------- End of Clock Report --------------- - - -I/O Usage Summary (final): - 63 + 4(JTAG) out of 80 (83.8%) PIO sites used. - 63 + 4(JTAG) out of 79 (84.8%) bonded PIO sites used. - Number of PIO comps: 63; differential: 0. - Number of Vref pins used: 0. - -I/O Bank Usage Summary: -+----------+----------------+------------+-----------+ -| I/O Bank | Usage | Bank Vccio | Bank Vref | -+----------+----------------+------------+-----------+ -| 0 | 13 / 19 ( 68%) | 3.3V | - | -| 1 | 20 / 20 (100%) | 3.3V | - | -| 2 | 12 / 20 ( 60%) | 3.3V | - | -| 3 | 18 / 20 ( 90%) | 3.3V | - | -+----------+----------------+------------+-----------+ - -Total placer CPU time: 3 secs - -Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. - -0 connections routed; 1008 unrouted. -Starting router resource preassignment -WARNING - par: The driver of primary clock net RCLK_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. -WARNING - par: The driver of primary clock net nCRAS_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=wb_clk loads=1 clock_loads=1 - -Completed router resource preassignment. Real time: 5 secs - -Start NBR router at 20:59:43 08/16/23 - -***************************************************************** -Info: NBR allows conflicts(one node used by more than one signal) - in the earlier iterations. In each iteration, it tries to - solve the conflicts while keeping the critical connections - routed as short as possible. The routing process is said to - be completed when no conflicts exist and all connections - are routed. -Note: NBR uses a different method to calculate timing slacks. The - worst slack and total negative slack may not be the same as - that in TRCE report. You should always run TRCE to verify - your design. -***************************************************************** - -Start NBR special constraint process at 20:59:43 08/16/23 - -Start NBR section for initial routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 2, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 3, iteration 1 -0(0.00%) conflict; 806(79.96%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -7(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs - -Info: Initial congestion level at 75% usage is 0 -Info: Initial congestion area at 75% usage is 0 (0.00%) - -Start NBR section for normal routing at 20:59:43 08/16/23 -Level 1, iteration 1 -0(0.00%) conflict; 11(1.09%) untouched conns; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -1(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs -Level 4, iteration 2 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 6 secs - -Start NBR section for setup/hold timing optimization with effort level 3 at 20:59:43 08/16/23 -Level 4, iteration 0 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 0.083ns/0.000ns; real time: 6 secs -Level 4, iteration 0 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.902ns/0.000ns; real time: 6 secs -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.902ns/0.000ns; real time: 6 secs - -Start NBR section for re-routing at 20:59:44 08/16/23 -Level 4, iteration 1 -0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; -Estimated worst slack/total negative slack: 4.922ns/0.000ns; real time: 7 secs - -Start NBR section for post-routing at 20:59:44 08/16/23 - -End NBR router with 0 unrouted connection - -NBR Summary ------------ - Number of unrouted connections : 0 (0.00%) - Number of connections with timing violations : 0 (0.00%) - Estimated worst slack : 4.922ns - Timing score : 0 ------------ -Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. - - - -WARNING - par: The following clock signals will be routed by using generic routing resource and may suffer from excessive delay and/or skew. - Signal=wb_clk loads=1 clock_loads=1 - -Total CPU time 6 secs -Total REAL time: 7 secs -Completely routed. -End of route. 1008 routed (100.00%); 0 unrouted. - -Hold time timing score: 0, hold timing errors: 0 - -Timing score: 0 - -Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. - - -All signals are completely routed. - - -PAR_SUMMARY::Run status = Completed -PAR_SUMMARY::Number of unrouted conns = 0 -PAR_SUMMARY::Worst slack> = 4.922 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Worst slack> = 0.088 -PAR_SUMMARY::Timing score> = 0.000 -PAR_SUMMARY::Number of errors = 0 - -Total CPU time to completion: 6 secs -Total REAL time to completion: 7 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. + +Lattice Place and Route Report for Design "LCMXO2_640HC_impl1_map.ncd" +Sat Aug 19 21:55:01 2023 + +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Command Line: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF:parASE=1 LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir/5_1.ncd LCMXO2_640HC_impl1.prf +Preference file: LCMXO2_640HC_impl1.prf. +Placement level-cost: 5-1. +Routing Iterations: 6 + +Loading design for application par from file LCMXO2_640HC_impl1_map.ncd. +Design name: RAM2GS +NCD version: 3.3 +Vendor: LATTICE +Device: LCMXO2-640HC +Package: TQFP100 +Performance: 4 +Loading device for application par from file 'xo2c640.nph' in environment: C:/lscc/diamond/3.12/ispfpga. +Package Status: Final Version 1.39. +Performance Hardware Data Status: Final Version 34.4. +License checked out. + + +Ignore Preference Error(s): True +Device utilization summary: + + PIO (prelim) 63+4(JTAG)/80 84% used + 63+4(JTAG)/79 85% bonded + IOLOGIC 25/80 31% used + + SLICE 113/320 35% used + + EFB 1/1 100% used + + +Number of Signals: 374 +Number of Connections: 978 + +Pin Constraint Summary: + 63 out of 63 pins locked (100% locked). + +The following 3 signals are selected to use the primary clock routing resources: + RCLK_c (driver: RCLK, clk load #: 47) + PHI2_c (driver: PHI2, clk load #: 21) + nCRAS_c (driver: nCRAS, clk load #: 10) + +WARNING - par: Signal "RCLK_c" is selected to use Primary clock resources. However, its driver comp "RCLK" is located at "62", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. +WARNING - par: Signal "PHI2_c" is selected to use Primary clock resources. However, its driver comp "PHI2" is located at "8", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. +WARNING - par: Signal "nCRAS_c" is selected to use Primary clock resources. However, its driver comp "nCRAS" is located at "17", which is not a dedicated pin for connecting to Primary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. + +The following 1 signal is selected to use the secondary clock routing resources: + nCCAS_c (driver: nCCAS, clk load #: 8, sr load #: 0, ce load #: 0) + +WARNING - par: Signal "nCCAS_c" is selected to use Secondary clock resources. However, its driver comp "nCCAS" is located at "9", which is not a dedicated pin for connecting to Secondary clock resources. General routing has to be used to route this signal, and it might suffer from excessive delay or skew. +No signal is selected as Global Set/Reset. +Starting Placer Phase 0. +............ +Finished Placer Phase 0. REAL time: 0 secs + +Starting Placer Phase 1. +.................... +Placer score = 53481. +Finished Placer Phase 1. REAL time: 5 secs + +Starting Placer Phase 2. +. +Placer score = 53406 +Finished Placer Phase 2. REAL time: 5 secs + + +------------------ Clock Report ------------------ + +Global Clock Resources: + CLK_PIN : 0 out of 8 (0%) + General PIO: 4 out of 80 (5%) + DCM : 0 out of 2 (0%) + DCC : 0 out of 8 (0%) + +Global Clocks: + PRIMARY "RCLK_c" from comp "RCLK" on PIO site "62 (PR5D)", clk load = 47 + PRIMARY "PHI2_c" from comp "PHI2" on PIO site "8 (PL3B)", clk load = 21 + PRIMARY "nCRAS_c" from comp "nCRAS" on PIO site "17 (PL6B)", clk load = 10 + SECONDARY "nCCAS_c" from comp "nCCAS" on PIO site "9 (PL3C)", clk load = 8, ce load = 0, sr load = 0 + + PRIMARY : 3 out of 8 (37%) + SECONDARY: 1 out of 8 (12%) + +--------------- End of Clock Report --------------- + + +I/O Usage Summary (final): + 63 + 4(JTAG) out of 80 (83.8%) PIO sites used. + 63 + 4(JTAG) out of 79 (84.8%) bonded PIO sites used. + Number of PIO comps: 63; differential: 0. + Number of Vref pins used: 0. + +I/O Bank Usage Summary: ++----------+----------------+------------+-----------+ +| I/O Bank | Usage | Bank Vccio | Bank Vref | ++----------+----------------+------------+-----------+ +| 0 | 13 / 19 ( 68%) | 3.3V | - | +| 1 | 20 / 20 (100%) | 3.3V | - | +| 2 | 12 / 20 ( 60%) | 3.3V | - | +| 3 | 18 / 20 ( 90%) | 3.3V | - | ++----------+----------------+------------+-----------+ + +Total placer CPU time: 5 secs + +Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. + +0 connections routed; 978 unrouted. +Starting router resource preassignment +WARNING - par: The driver of primary clock net RCLK_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. +WARNING - par: The driver of primary clock net nCRAS_c is not placed on one of the sites dedicated for primary clocks. This primary clock will be routed to an H-spine through general routing resource and might suffer from excessive delay or skew. + +Completed router resource preassignment. Real time: 8 secs + +Start NBR router at 21:55:09 08/19/23 + +***************************************************************** +Info: NBR allows conflicts(one node used by more than one signal) + in the earlier iterations. In each iteration, it tries to + solve the conflicts while keeping the critical connections + routed as short as possible. The routing process is said to + be completed when no conflicts exist and all connections + are routed. +Note: NBR uses a different method to calculate timing slacks. The + worst slack and total negative slack may not be the same as + that in TRCE report. You should always run TRCE to verify + your design. +***************************************************************** + +Start NBR special constraint process at 21:55:09 08/19/23 + +Start NBR section for initial routing at 21:55:10 08/19/23 +Level 1, iteration 1 +0(0.00%) conflict; 776(79.35%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.085ns/0.000ns; real time: 9 secs +Level 2, iteration 1 +0(0.00%) conflict; 771(78.83%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.138ns/0.000ns; real time: 9 secs +Level 3, iteration 1 +0(0.00%) conflict; 765(78.22%) untouched conns; 0 (nbr) score; +Estimated worst slack/total negative slack: 7.276ns/0.000ns; real time: 9 secs +Level 4, iteration 1 +10(0.02%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Info: Initial congestion level at 75% usage is 0 +Info: Initial congestion area at 75% usage is 0 (0.00%) + +Start NBR section for normal routing at 21:55:10 08/19/23 +Level 4, iteration 1 +3(0.01%) conflicts; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs +Level 4, iteration 2 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Start NBR section for setup/hold timing optimization with effort level 3 at 21:55:10 08/19/23 + +Start NBR section for re-routing at 21:55:10 08/19/23 +Level 4, iteration 1 +0(0.00%) conflict; 0(0.00%) untouched conn; 0 (nbr) score; +Estimated worst slack/total negative slack: 6.966ns/0.000ns; real time: 9 secs + +Start NBR section for post-routing at 21:55:10 08/19/23 + +End NBR router with 0 unrouted connection + +NBR Summary +----------- + Number of unrouted connections : 0 (0.00%) + Number of connections with timing violations : 0 (0.00%) + Estimated worst slack : 6.966ns + Timing score : 0 +----------- +Notes: The timing info is calculated for SETUP only and all PAR_ADJs are ignored. + + + +Total CPU time 9 secs +Total REAL time: 9 secs +Completely routed. +End of route. 978 routed (100.00%); 0 unrouted. + +Hold time timing score: 0, hold timing errors: 0 + +Timing score: 0 + +Dumping design to file LCMXO2_640HC_impl1.dir/5_1.ncd. + + +All signals are completely routed. + + +PAR_SUMMARY::Run status = Completed +PAR_SUMMARY::Number of unrouted conns = 0 +PAR_SUMMARY::Worst slack> = 6.966 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Worst slack> = 0.304 +PAR_SUMMARY::Timing score> = 0.000 +PAR_SUMMARY::Number of errors = 0 + +Total CPU time to completion: 9 secs +Total REAL time to completion: 10 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1_par.asd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1_par.asd index 1e33411..04f8cf8 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1_par.asd +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/5_1_par.asd @@ -1,47 +1,42 @@ -[ActiveSupport PAR] -; Global primary clocks -GLOBAL_PRIMARY_USED = 3; -; Global primary clock #0 -GLOBAL_PRIMARY_0_SIGNALNAME = RCLK_c; -GLOBAL_PRIMARY_0_DRIVERTYPE = PIO; -GLOBAL_PRIMARY_0_LOADNUM = 46; -; Global primary clock #1 -GLOBAL_PRIMARY_1_SIGNALNAME = PHI2_c; -GLOBAL_PRIMARY_1_DRIVERTYPE = PIO; -GLOBAL_PRIMARY_1_LOADNUM = 19; -; Global primary clock #2 -GLOBAL_PRIMARY_2_SIGNALNAME = nCRAS_c; -GLOBAL_PRIMARY_2_DRIVERTYPE = PIO; -GLOBAL_PRIMARY_2_LOADNUM = 10; -; # of global secondary clocks -GLOBAL_SECONDARY_USED = 2; -; Global secondary clock #0 -GLOBAL_SECONDARY_0_SIGNALNAME = un1_wb_clk32_i; -GLOBAL_SECONDARY_0_DRIVERTYPE = SLICE; -GLOBAL_SECONDARY_0_LOADNUM = 10; -GLOBAL_SECONDARY_0_SIGTYPE = CE; -; Global secondary clock #1 -GLOBAL_SECONDARY_1_SIGNALNAME = nCCAS_c; -GLOBAL_SECONDARY_1_DRIVERTYPE = PIO; -GLOBAL_SECONDARY_1_LOADNUM = 10; -GLOBAL_SECONDARY_1_SIGTYPE = CLK; -; I/O Bank 0 Usage -BANK_0_USED = 13; -BANK_0_AVAIL = 19; -BANK_0_VCCIO = 3.3V; -BANK_0_VREF1 = NA; -; I/O Bank 1 Usage -BANK_1_USED = 20; -BANK_1_AVAIL = 20; -BANK_1_VCCIO = 3.3V; -BANK_1_VREF1 = NA; -; I/O Bank 2 Usage -BANK_2_USED = 12; -BANK_2_AVAIL = 20; -BANK_2_VCCIO = 3.3V; -BANK_2_VREF1 = NA; -; I/O Bank 3 Usage -BANK_3_USED = 18; -BANK_3_AVAIL = 20; -BANK_3_VCCIO = 3.3V; -BANK_3_VREF1 = NA; +[ActiveSupport PAR] +; Global primary clocks +GLOBAL_PRIMARY_USED = 3; +; Global primary clock #0 +GLOBAL_PRIMARY_0_SIGNALNAME = RCLK_c; +GLOBAL_PRIMARY_0_DRIVERTYPE = PIO; +GLOBAL_PRIMARY_0_LOADNUM = 47; +; Global primary clock #1 +GLOBAL_PRIMARY_1_SIGNALNAME = PHI2_c; +GLOBAL_PRIMARY_1_DRIVERTYPE = PIO; +GLOBAL_PRIMARY_1_LOADNUM = 21; +; Global primary clock #2 +GLOBAL_PRIMARY_2_SIGNALNAME = nCRAS_c; +GLOBAL_PRIMARY_2_DRIVERTYPE = PIO; +GLOBAL_PRIMARY_2_LOADNUM = 10; +; # of global secondary clocks +GLOBAL_SECONDARY_USED = 1; +; Global secondary clock #0 +GLOBAL_SECONDARY_0_SIGNALNAME = nCCAS_c; +GLOBAL_SECONDARY_0_DRIVERTYPE = PIO; +GLOBAL_SECONDARY_0_LOADNUM = 10; +GLOBAL_SECONDARY_0_SIGTYPE = CLK; +; I/O Bank 0 Usage +BANK_0_USED = 13; +BANK_0_AVAIL = 19; +BANK_0_VCCIO = 3.3V; +BANK_0_VREF1 = NA; +; I/O Bank 1 Usage +BANK_1_USED = 20; +BANK_1_AVAIL = 20; +BANK_1_VCCIO = 3.3V; +BANK_1_VREF1 = NA; +; I/O Bank 2 Usage +BANK_2_USED = 12; +BANK_2_AVAIL = 20; +BANK_2_VCCIO = 3.3V; +BANK_2_VREF1 = NA; +; I/O Bank 3 Usage +BANK_3_USED = 18; +BANK_3_AVAIL = 20; +BANK_3_VCCIO = 3.3V; +BANK_3_VREF1 = NA; diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/LCMXO2_640HC_impl1.par b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/LCMXO2_640HC_impl1.par index ccd14db..99d8fe8 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/LCMXO2_640HC_impl1.par +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.dir/LCMXO2_640HC_impl1.par @@ -1,27 +1,27 @@ -PAR: Place And Route Diamond (64-bit) 3.12.1.454. -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. -Copyright (c) 1995 AT&T Corp. All rights reserved. -Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. -Copyright (c) 2001 Agere Systems All rights reserved. -Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. -Wed Aug 16 20:59:37 2023 - -C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f LCMXO2_640HC_impl1.p2t -LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir LCMXO2_640HC_impl1.prf -gui --msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml - - -Preference file: LCMXO2_640HC_impl1.prf. - -Level/ Number Worst Timing Worst Timing Run NCD -Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status ----------- -------- ----- ------ ----------- ----------- ---- ------ -5_1 * 0 4.922 0 0.088 0 07 Completed - -* : Design saved. - -Total (real) run time for 1-seed: 7 secs - -par done! - -Note: user must run 'Trace' for timing closure signoff. +PAR: Place And Route Diamond (64-bit) 3.12.1.454. +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. +Copyright (c) 1995 AT&T Corp. All rights reserved. +Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. +Copyright (c) 2001 Agere Systems All rights reserved. +Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights reserved. +Sat Aug 19 21:55:01 2023 + +C:/lscc/diamond/3.12/ispfpga\bin\nt64\par -f LCMXO2_640HC_impl1.p2t +LCMXO2_640HC_impl1_map.ncd LCMXO2_640HC_impl1.dir LCMXO2_640HC_impl1.prf -gui +-msgset Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml + + +Preference file: LCMXO2_640HC_impl1.prf. + +Level/ Number Worst Timing Worst Timing Run NCD +Cost [ncd] Unrouted Slack Score Slack(hold) Score(hold) Time Status +---------- -------- ----- ------ ----------- ----------- ---- ------ +5_1 * 0 6.966 0 0.304 0 10 Completed + +* : Design saved. + +Total (real) run time for 1-seed: 10 secs + +par done! + +Note: user must run 'Trace' for timing closure signoff. diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.drc b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.drc index ec074a2..8417bb5 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.drc +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.drc @@ -1 +1 @@ -DRC detected 0 errors and 0 warnings. +DRC detected 0 errors and 0 warnings. diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi index f410ddc..8e09e7b 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.edi @@ -1,4350 +1,4316 @@ -(edif RAM2GS - (edifVersion 2 0 0) - (edifLevel 0) - (keywordMap (keywordLevel 0)) - (status - (written - (timeStamp 2023 8 16 20 59 35) - (author "Synopsys, Inc.") - (program "Synplify Pro" (version "R-2021.03L-SP1, mapper map202103lat, Build 070R")) - ) - ) - (library LUCENT - (edifLevel 0) - (technology (numberDefinition )) - (cell CCU2D (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A0 (direction INPUT)) - (port B0 (direction INPUT)) - (port C0 (direction INPUT)) - (port D0 (direction INPUT)) - (port A1 (direction INPUT)) - (port B1 (direction INPUT)) - (port C1 (direction INPUT)) - (port D1 (direction INPUT)) - (port CIN (direction INPUT)) - (port COUT (direction OUTPUT)) - (port S0 (direction OUTPUT)) - (port S1 (direction OUTPUT)) - ) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0000")) - (property INIT0 (string "0000")) - ) - ) - (cell BB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port B (direction INOUT)) - (port I (direction INPUT)) - (port T (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell OB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port I (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell IB (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port I (direction INPUT)) - (port O (direction OUTPUT)) - ) - ) - ) - (cell FD1S3IX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port CD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1S3AX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell OFS1P3JX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port SCLK (direction INPUT)) - (port PD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1P3IX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port CK (direction INPUT)) - (port CD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell OFS1P3DX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port SCLK (direction INPUT)) - (port CD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell IFS1P3DX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port SCLK (direction INPUT)) - (port CD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell OFS1P3BX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port SCLK (direction INPUT)) - (port PD (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell FD1P3AX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port D (direction INPUT)) - (port SP (direction INPUT)) - (port CK (direction INPUT)) - (port Q (direction OUTPUT)) - ) - ) - ) - (cell ORCALUT4 (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A (direction INPUT)) - (port B (direction INPUT)) - (port C (direction INPUT)) - (port D (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell PFUMX (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port ALUT (direction INPUT)) - (port BLUT (direction INPUT)) - (port C0 (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell GSR (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port GSR (direction INPUT)) - ) - ) - ) - (cell INV (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port A (direction INPUT)) - (port Z (direction OUTPUT)) - ) - ) - ) - (cell VHI (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port Z (direction OUTPUT)) - ) - ) - ) - (cell VLO (cellType GENERIC) - (view PRIM (viewType NETLIST) - (interface - (port Z (direction OUTPUT)) - ) - ) - ) - ) - (library work - (edifLevel 0) - (technology (numberDefinition )) - (cell EFB (cellType GENERIC) - (view verilog (viewType NETLIST) - (interface - (port WBCLKI (direction INPUT)) - (port WBRSTI (direction INPUT)) - (port WBCYCI (direction INPUT)) - (port WBSTBI (direction INPUT)) - (port WBWEI (direction INPUT)) - (port WBADRI7 (direction INPUT)) - (port WBADRI6 (direction INPUT)) - (port WBADRI5 (direction INPUT)) - (port WBADRI4 (direction INPUT)) - (port WBADRI3 (direction INPUT)) - (port WBADRI2 (direction INPUT)) - (port WBADRI1 (direction INPUT)) - (port WBADRI0 (direction INPUT)) - (port WBDATI7 (direction INPUT)) - (port WBDATI6 (direction INPUT)) - (port WBDATI5 (direction INPUT)) - (port WBDATI4 (direction INPUT)) - (port WBDATI3 (direction INPUT)) - (port WBDATI2 (direction INPUT)) - (port WBDATI1 (direction INPUT)) - (port WBDATI0 (direction INPUT)) - (port PLL0DATI7 (direction INPUT)) - (port PLL0DATI6 (direction INPUT)) - (port PLL0DATI5 (direction INPUT)) - (port PLL0DATI4 (direction INPUT)) - (port PLL0DATI3 (direction INPUT)) - (port PLL0DATI2 (direction INPUT)) - (port PLL0DATI1 (direction INPUT)) - (port PLL0DATI0 (direction INPUT)) - (port PLL0ACKI (direction INPUT)) - (port PLL1DATI7 (direction INPUT)) - (port PLL1DATI6 (direction INPUT)) - (port PLL1DATI5 (direction INPUT)) - (port PLL1DATI4 (direction INPUT)) - (port PLL1DATI3 (direction INPUT)) - (port PLL1DATI2 (direction INPUT)) - (port PLL1DATI1 (direction INPUT)) - (port PLL1DATI0 (direction INPUT)) - (port PLL1ACKI (direction INPUT)) - (port I2C1SCLI (direction INPUT)) - (port I2C1SDAI (direction INPUT)) - (port I2C2SCLI (direction INPUT)) - (port I2C2SDAI (direction INPUT)) - (port SPISCKI (direction INPUT)) - (port SPIMISOI (direction INPUT)) - (port SPIMOSII (direction INPUT)) - (port SPISCSN (direction INPUT)) - (port TCCLKI (direction INPUT)) - (port TCRSTN (direction INPUT)) - (port TCIC (direction INPUT)) - (port UFMSN (direction INPUT)) - (port WBDATO7 (direction OUTPUT)) - (port WBDATO6 (direction OUTPUT)) - (port WBDATO5 (direction OUTPUT)) - (port WBDATO4 (direction OUTPUT)) - (port WBDATO3 (direction OUTPUT)) - (port WBDATO2 (direction OUTPUT)) - (port WBDATO1 (direction OUTPUT)) - (port WBDATO0 (direction OUTPUT)) - (port WBACKO (direction OUTPUT)) - (port PLLCLKO (direction OUTPUT)) - (port PLLRSTO (direction OUTPUT)) - (port PLL0STBO (direction OUTPUT)) - (port PLL1STBO (direction OUTPUT)) - (port PLLWEO (direction OUTPUT)) - (port PLLADRO4 (direction OUTPUT)) - (port PLLADRO3 (direction OUTPUT)) - (port PLLADRO2 (direction OUTPUT)) - (port PLLADRO1 (direction OUTPUT)) - (port PLLADRO0 (direction OUTPUT)) - (port PLLDATO7 (direction OUTPUT)) - (port PLLDATO6 (direction OUTPUT)) - (port PLLDATO5 (direction OUTPUT)) - (port PLLDATO4 (direction OUTPUT)) - (port PLLDATO3 (direction OUTPUT)) - (port PLLDATO2 (direction OUTPUT)) - (port PLLDATO1 (direction OUTPUT)) - (port PLLDATO0 (direction OUTPUT)) - (port I2C1SCLO (direction OUTPUT)) - (port I2C1SCLOEN (direction OUTPUT)) - (port I2C1SDAO (direction OUTPUT)) - (port I2C1SDAOEN (direction OUTPUT)) - (port I2C2SCLO (direction OUTPUT)) - (port I2C2SCLOEN (direction OUTPUT)) - (port I2C2SDAO (direction OUTPUT)) - (port I2C2SDAOEN (direction OUTPUT)) - (port I2C1IRQO (direction OUTPUT)) - (port I2C2IRQO (direction OUTPUT)) - (port SPISCKO (direction OUTPUT)) - (port SPISCKEN (direction OUTPUT)) - (port SPIMISOO (direction OUTPUT)) - (port SPIMISOEN (direction OUTPUT)) - (port SPIMOSIO (direction OUTPUT)) - (port SPIMOSIEN (direction OUTPUT)) - (port SPIMCSN0 (direction OUTPUT)) - (port SPIMCSN1 (direction OUTPUT)) - (port SPIMCSN2 (direction OUTPUT)) - (port SPIMCSN3 (direction OUTPUT)) - (port SPIMCSN4 (direction OUTPUT)) - (port SPIMCSN5 (direction OUTPUT)) - (port SPIMCSN6 (direction OUTPUT)) - (port SPIMCSN7 (direction OUTPUT)) - (port SPICSNEN (direction OUTPUT)) - (port SPIIRQO (direction OUTPUT)) - (port TCINT (direction OUTPUT)) - (port TCOC (direction OUTPUT)) - (port WBCUFMIRQ (direction OUTPUT)) - (port CFGWAKE (direction OUTPUT)) - (port CFGSTDBY (direction OUTPUT)) - ) - (property TC_ICAPTURE (string "DISABLED")) - (property TC_OVERFLOW (string "DISABLED")) - (property TC_ICR_INT (string "OFF")) - (property TC_OCR_INT (string "OFF")) - (property TC_OV_INT (string "OFF")) - (property TC_TOP_SEL (string "OFF")) - (property TC_RESETN (string "ENABLED")) - (property TC_OC_MODE (string "TOGGLE")) - (property TC_OCR_SET (integer 32767)) - (property TC_TOP_SET (integer 65535)) - (property GSR (string "ENABLED")) - (property TC_CCLK_SEL (integer 1)) - (property TC_SCLK_SEL (string "PCLOCK")) - (property TC_MODE (string "CTCM")) - (property SPI_WAKEUP (string "DISABLED")) - (property SPI_INTR_RXOVR (string "DISABLED")) - (property SPI_INTR_TXOVR (string "DISABLED")) - (property SPI_INTR_RXRDY (string "DISABLED")) - (property SPI_INTR_TXRDY (string "DISABLED")) - (property SPI_SLAVE_HANDSHAKE (string "DISABLED")) - (property SPI_PHASE_ADJ (string "DISABLED")) - (property SPI_CLK_INV (string "DISABLED")) - (property SPI_LSB_FIRST (string "DISABLED")) - (property SPI_CLK_DIVIDER (integer 1)) - (property SPI_MODE (string "MASTER")) - (property I2C2_WAKEUP (string "DISABLED")) - (property I2C1_WAKEUP (string "DISABLED")) - (property I2C2_GEN_CALL (string "DISABLED")) - (property I2C1_GEN_CALL (string "DISABLED")) - (property I2C2_CLK_DIVIDER (integer 1)) - (property I2C1_CLK_DIVIDER (integer 1)) - (property I2C2_BUS_PERF (string "100kHz")) - (property I2C1_BUS_PERF (string "100kHz")) - (property I2C2_SLAVE_ADDR (string "0b1000010")) - (property I2C1_SLAVE_ADDR (string "0b1000001")) - (property I2C2_ADDRESSING (string "7BIT")) - (property I2C1_ADDRESSING (string "7BIT")) - (property UFM_INIT_FILE_FORMAT (string "HEX")) - (property UFM_INIT_FILE_NAME (string "NONE")) - (property UFM_INIT_ALL_ZEROS (string "ENABLED")) - (property UFM_INIT_START_PAGE (integer 190)) - (property UFM_INIT_PAGES (integer 1)) - (property DEV_DENSITY (string "640L")) - (property EFB_WB_CLK_FREQ (string "62.5")) - (property EFB_UFM (string "ENABLED")) - (property EFB_TC_PORTMODE (string "WB")) - (property EFB_TC (string "DISABLED")) - (property EFB_SPI (string "DISABLED")) - (property EFB_I2C2 (string "DISABLED")) - (property EFB_I2C1 (string "DISABLED")) - (property orig_inst_of (string "EFB")) - ) - ) - (cell REFB (cellType GENERIC) - (view netlist (viewType NETLIST) - (interface - (port (array (rename wb_dato "wb_dato[1:0]") 2) (direction OUTPUT)) - (port (array (rename wb_dati "wb_dati[7:0]") 8) (direction INPUT)) - (port (array (rename wb_adr "wb_adr[7:0]") 8) (direction INPUT)) - (port wb_we (direction INPUT)) - (port wb_cyc_stb (direction INPUT)) - (port wb_rst (direction INPUT)) - (port wb_clk (direction INPUT)) - ) - (contents - (instance EFBInst_0 (viewRef verilog (cellRef EFB)) - (property UFM_INIT_FILE_FORMAT (string "HEX")) - (property UFM_INIT_FILE_NAME (string "NONE")) - (property UFM_INIT_ALL_ZEROS (string "ENABLED")) - (property UFM_INIT_START_PAGE (integer 190)) - (property UFM_INIT_PAGES (integer 1)) - (property DEV_DENSITY (string "640L")) - (property EFB_UFM (string "ENABLED")) - (property TC_ICAPTURE (string "DISABLED")) - (property TC_OVERFLOW (string "DISABLED")) - (property TC_ICR_INT (string "OFF")) - (property TC_OCR_INT (string "OFF")) - (property TC_OV_INT (string "OFF")) - (property TC_TOP_SEL (string "OFF")) - (property TC_RESETN (string "ENABLED")) - (property TC_OC_MODE (string "TOGGLE")) - (property TC_OCR_SET (integer 32767)) - (property TC_TOP_SET (integer 65535)) - (property GSR (string "ENABLED")) - (property TC_CCLK_SEL (integer 1)) - (property TC_MODE (string "CTCM")) - (property TC_SCLK_SEL (string "PCLOCK")) - (property EFB_TC_PORTMODE (string "WB")) - (property EFB_TC (string "DISABLED")) - (property SPI_WAKEUP (string "DISABLED")) - (property SPI_INTR_RXOVR (string "DISABLED")) - (property SPI_INTR_TXOVR (string "DISABLED")) - (property SPI_INTR_RXRDY (string "DISABLED")) - (property SPI_INTR_TXRDY (string "DISABLED")) - (property SPI_SLAVE_HANDSHAKE (string "DISABLED")) - (property SPI_PHASE_ADJ (string "DISABLED")) - (property SPI_CLK_INV (string "DISABLED")) - (property SPI_LSB_FIRST (string "DISABLED")) - (property SPI_CLK_DIVIDER (integer 1)) - (property SPI_MODE (string "MASTER")) - (property EFB_SPI (string "DISABLED")) - (property I2C2_WAKEUP (string "DISABLED")) - (property I2C2_GEN_CALL (string "DISABLED")) - (property I2C2_CLK_DIVIDER (integer 1)) - (property I2C2_BUS_PERF (string "100kHz")) - (property I2C2_SLAVE_ADDR (string "0b1000010")) - (property I2C2_ADDRESSING (string "7BIT")) - (property EFB_I2C2 (string "DISABLED")) - (property I2C1_WAKEUP (string "DISABLED")) - (property I2C1_GEN_CALL (string "DISABLED")) - (property I2C1_CLK_DIVIDER (integer 1)) - (property I2C1_BUS_PERF (string "100kHz")) - (property I2C1_SLAVE_ADDR (string "0b1000001")) - (property I2C1_ADDRESSING (string "7BIT")) - (property EFB_I2C1 (string "DISABLED")) - (property EFB_WB_CLK_FREQ (string "62.5")) - ) - (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) - (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) - (net wb_clk (joined - (portRef wb_clk) - (portRef WBCLKI (instanceRef EFBInst_0)) - )) - (net wb_rst (joined - (portRef wb_rst) - (portRef WBRSTI (instanceRef EFBInst_0)) - )) - (net wb_cyc_stb (joined - (portRef wb_cyc_stb) - (portRef WBSTBI (instanceRef EFBInst_0)) - (portRef WBCYCI (instanceRef EFBInst_0)) - )) - (net wb_we (joined - (portRef wb_we) - (portRef WBWEI (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_7 "wb_adr[7]") (joined - (portRef (member wb_adr 0)) - (portRef WBADRI7 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_6 "wb_adr[6]") (joined - (portRef (member wb_adr 1)) - (portRef WBADRI6 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_5 "wb_adr[5]") (joined - (portRef (member wb_adr 2)) - (portRef WBADRI5 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_4 "wb_adr[4]") (joined - (portRef (member wb_adr 3)) - (portRef WBADRI4 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_3 "wb_adr[3]") (joined - (portRef (member wb_adr 4)) - (portRef WBADRI3 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_2 "wb_adr[2]") (joined - (portRef (member wb_adr 5)) - (portRef WBADRI2 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_1 "wb_adr[1]") (joined - (portRef (member wb_adr 6)) - (portRef WBADRI1 (instanceRef EFBInst_0)) - )) - (net (rename wb_adr_0 "wb_adr[0]") (joined - (portRef (member wb_adr 7)) - (portRef WBADRI0 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_7 "wb_dati[7]") (joined - (portRef (member wb_dati 0)) - (portRef WBDATI7 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_6 "wb_dati[6]") (joined - (portRef (member wb_dati 1)) - (portRef WBDATI6 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_5 "wb_dati[5]") (joined - (portRef (member wb_dati 2)) - (portRef WBDATI5 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_4 "wb_dati[4]") (joined - (portRef (member wb_dati 3)) - (portRef WBDATI4 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_3 "wb_dati[3]") (joined - (portRef (member wb_dati 4)) - (portRef WBDATI3 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_2 "wb_dati[2]") (joined - (portRef (member wb_dati 5)) - (portRef WBDATI2 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_1 "wb_dati[1]") (joined - (portRef (member wb_dati 6)) - (portRef WBDATI1 (instanceRef EFBInst_0)) - )) - (net (rename wb_dati_0 "wb_dati[0]") (joined - (portRef (member wb_dati 7)) - (portRef WBDATI0 (instanceRef EFBInst_0)) - )) - (net GND (joined - (portRef Z (instanceRef GND)) - (portRef TCIC (instanceRef EFBInst_0)) - (portRef TCRSTN (instanceRef EFBInst_0)) - (portRef TCCLKI (instanceRef EFBInst_0)) - (portRef SPISCSN (instanceRef EFBInst_0)) - (portRef SPIMOSII (instanceRef EFBInst_0)) - (portRef SPIMISOI (instanceRef EFBInst_0)) - (portRef SPISCKI (instanceRef EFBInst_0)) - (portRef I2C2SDAI (instanceRef EFBInst_0)) - (portRef I2C2SCLI (instanceRef EFBInst_0)) - (portRef I2C1SDAI (instanceRef EFBInst_0)) - (portRef I2C1SCLI (instanceRef EFBInst_0)) - (portRef PLL1ACKI (instanceRef EFBInst_0)) - (portRef PLL1DATI0 (instanceRef EFBInst_0)) - (portRef PLL1DATI1 (instanceRef EFBInst_0)) - (portRef PLL1DATI2 (instanceRef EFBInst_0)) - (portRef PLL1DATI3 (instanceRef EFBInst_0)) - (portRef PLL1DATI4 (instanceRef EFBInst_0)) - (portRef PLL1DATI5 (instanceRef EFBInst_0)) - (portRef PLL1DATI6 (instanceRef EFBInst_0)) - (portRef PLL1DATI7 (instanceRef EFBInst_0)) - (portRef PLL0ACKI (instanceRef EFBInst_0)) - (portRef PLL0DATI0 (instanceRef EFBInst_0)) - (portRef PLL0DATI1 (instanceRef EFBInst_0)) - (portRef PLL0DATI2 (instanceRef EFBInst_0)) - (portRef PLL0DATI3 (instanceRef EFBInst_0)) - (portRef PLL0DATI4 (instanceRef EFBInst_0)) - (portRef PLL0DATI5 (instanceRef EFBInst_0)) - (portRef PLL0DATI6 (instanceRef EFBInst_0)) - (portRef PLL0DATI7 (instanceRef EFBInst_0)) - )) - (net VCC (joined - (portRef Z (instanceRef VCC)) - (portRef UFMSN (instanceRef EFBInst_0)) - )) - (net (rename wb_dat_o_1_7 "wb_dat_o_1[7]") (joined - (portRef WBDATO7 (instanceRef EFBInst_0)) - )) - (net (rename wb_dat_o_1_6 "wb_dat_o_1[6]") (joined - (portRef WBDATO6 (instanceRef EFBInst_0)) - )) - (net (rename wb_dat_o_1_5 "wb_dat_o_1[5]") (joined - (portRef WBDATO5 (instanceRef EFBInst_0)) - )) - (net (rename wb_dat_o_1_4 "wb_dat_o_1[4]") (joined - (portRef WBDATO4 (instanceRef EFBInst_0)) - )) - (net (rename wb_dat_o_1_3 "wb_dat_o_1[3]") (joined - (portRef WBDATO3 (instanceRef EFBInst_0)) - )) - (net (rename wb_dat_o_1_2 "wb_dat_o_1[2]") (joined - (portRef WBDATO2 (instanceRef EFBInst_0)) - )) - (net (rename wb_dato_1 "wb_dato[1]") (joined - (portRef WBDATO1 (instanceRef EFBInst_0)) - (portRef (member wb_dato 0)) - )) - (net (rename wb_dato_0 "wb_dato[0]") (joined - (portRef WBDATO0 (instanceRef EFBInst_0)) - (portRef (member wb_dato 1)) - )) - (net wb_ack_o (joined - (portRef WBACKO (instanceRef EFBInst_0)) - )) - (net PLLCLKO (joined - (portRef PLLCLKO (instanceRef EFBInst_0)) - )) - (net PLLRSTO (joined - (portRef PLLRSTO (instanceRef EFBInst_0)) - )) - (net PLL0STBO (joined - (portRef PLL0STBO (instanceRef EFBInst_0)) - )) - (net PLL1STBO (joined - (portRef PLL1STBO (instanceRef EFBInst_0)) - )) - (net PLLWEO (joined - (portRef PLLWEO (instanceRef EFBInst_0)) - )) - (net PLLADRO4 (joined - (portRef PLLADRO4 (instanceRef EFBInst_0)) - )) - (net PLLADRO3 (joined - (portRef PLLADRO3 (instanceRef EFBInst_0)) - )) - (net PLLADRO2 (joined - (portRef PLLADRO2 (instanceRef EFBInst_0)) - )) - (net PLLADRO1 (joined - (portRef PLLADRO1 (instanceRef EFBInst_0)) - )) - (net PLLADRO0 (joined - (portRef PLLADRO0 (instanceRef EFBInst_0)) - )) - (net PLLDATO7 (joined - (portRef PLLDATO7 (instanceRef EFBInst_0)) - )) - (net PLLDATO6 (joined - (portRef PLLDATO6 (instanceRef EFBInst_0)) - )) - (net PLLDATO5 (joined - (portRef PLLDATO5 (instanceRef EFBInst_0)) - )) - (net PLLDATO4 (joined - (portRef PLLDATO4 (instanceRef EFBInst_0)) - )) - (net PLLDATO3 (joined - (portRef PLLDATO3 (instanceRef EFBInst_0)) - )) - (net PLLDATO2 (joined - (portRef PLLDATO2 (instanceRef EFBInst_0)) - )) - (net PLLDATO1 (joined - (portRef PLLDATO1 (instanceRef EFBInst_0)) - )) - (net PLLDATO0 (joined - (portRef PLLDATO0 (instanceRef EFBInst_0)) - )) - (net I2C1SCLO (joined - (portRef I2C1SCLO (instanceRef EFBInst_0)) - )) - (net I2C1SCLOEN (joined - (portRef I2C1SCLOEN (instanceRef EFBInst_0)) - )) - (net I2C1SDAO (joined - (portRef I2C1SDAO (instanceRef EFBInst_0)) - )) - (net I2C1SDAOEN (joined - (portRef I2C1SDAOEN (instanceRef EFBInst_0)) - )) - (net I2C2SCLO (joined - (portRef I2C2SCLO (instanceRef EFBInst_0)) - )) - (net I2C2SCLOEN (joined - (portRef I2C2SCLOEN (instanceRef EFBInst_0)) - )) - (net I2C2SDAO (joined - (portRef I2C2SDAO (instanceRef EFBInst_0)) - )) - (net I2C2SDAOEN (joined - (portRef I2C2SDAOEN (instanceRef EFBInst_0)) - )) - (net I2C1IRQO (joined - (portRef I2C1IRQO (instanceRef EFBInst_0)) - )) - (net I2C2IRQO (joined - (portRef I2C2IRQO (instanceRef EFBInst_0)) - )) - (net SPISCKO (joined - (portRef SPISCKO (instanceRef EFBInst_0)) - )) - (net SPISCKEN (joined - (portRef SPISCKEN (instanceRef EFBInst_0)) - )) - (net SPIMISOO (joined - (portRef SPIMISOO (instanceRef EFBInst_0)) - )) - (net SPIMISOEN (joined - (portRef SPIMISOEN (instanceRef EFBInst_0)) - )) - (net SPIMOSIO (joined - (portRef SPIMOSIO (instanceRef EFBInst_0)) - )) - (net SPIMOSIEN (joined - (portRef SPIMOSIEN (instanceRef EFBInst_0)) - )) - (net SPIMCSN0 (joined - (portRef SPIMCSN0 (instanceRef EFBInst_0)) - )) - (net SPIMCSN1 (joined - (portRef SPIMCSN1 (instanceRef EFBInst_0)) - )) - (net SPIMCSN2 (joined - (portRef SPIMCSN2 (instanceRef EFBInst_0)) - )) - (net SPIMCSN3 (joined - (portRef SPIMCSN3 (instanceRef EFBInst_0)) - )) - (net SPIMCSN4 (joined - (portRef SPIMCSN4 (instanceRef EFBInst_0)) - )) - (net SPIMCSN5 (joined - (portRef SPIMCSN5 (instanceRef EFBInst_0)) - )) - (net SPIMCSN6 (joined - (portRef SPIMCSN6 (instanceRef EFBInst_0)) - )) - (net SPIMCSN7 (joined - (portRef SPIMCSN7 (instanceRef EFBInst_0)) - )) - (net SPICSNEN (joined - (portRef SPICSNEN (instanceRef EFBInst_0)) - )) - (net SPIIRQO (joined - (portRef SPIIRQO (instanceRef EFBInst_0)) - )) - (net TCINT (joined - (portRef TCINT (instanceRef EFBInst_0)) - )) - (net TCOC (joined - (portRef TCOC (instanceRef EFBInst_0)) - )) - (net wbc_ufm_irq (joined - (portRef WBCUFMIRQ (instanceRef EFBInst_0)) - )) - (net CFGWAKE (joined - (portRef CFGWAKE (instanceRef EFBInst_0)) - )) - (net CFGSTDBY (joined - (portRef CFGSTDBY (instanceRef EFBInst_0)) - )) - ) - (property NGD_DRC_MASK (integer 1)) - (property orig_inst_of (string "REFB")) - ) - ) - (cell RAM2GS (cellType GENERIC) - (view verilog (viewType NETLIST) - (interface - (port PHI2 (direction INPUT)) - (port (array (rename main "MAin[9:0]") 10) (direction INPUT)) - (port (array (rename crow "CROW[1:0]") 2) (direction INPUT)) - (port (array (rename din "Din[7:0]") 8) (direction INPUT)) - (port (array (rename dout "Dout[7:0]") 8) (direction OUTPUT)) - (port nCCAS (direction INPUT)) - (port nCRAS (direction INPUT)) - (port nFWE (direction INPUT)) - (port LED (direction OUTPUT)) - (port (array (rename rba "RBA[1:0]") 2) (direction OUTPUT)) - (port (array (rename ra "RA[11:0]") 12) (direction OUTPUT)) - (port (array (rename rd "RD[7:0]") 8) (direction INOUT)) - (port nRCS (direction OUTPUT)) - (port RCLK (direction INPUT)) - (port RCKE (direction OUTPUT)) - (port nRWE (direction OUTPUT)) - (port nRRAS (direction OUTPUT)) - (port nRCAS (direction OUTPUT)) - (port RDQMH (direction OUTPUT)) - (port RDQML (direction OUTPUT)) - ) - (contents - (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) - (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) - (instance GSR_INST (viewRef PRIM (cellRef GSR (libraryRef LUCENT))) - ) - (instance wb_rst_RNO_0 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance RASr2_RNIAFR1 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance RA10_0io_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nCCAS_pad_RNISUR8 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance RASr_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance nFWE_pad_RNI420B (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename FS_RNI1T8E_7 "FS_RNI1T8E[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)))")) - ) - (instance (rename FS_RNIPIOA_11 "FS_RNIPIOA[11]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C+(!B+!A))")) - ) - (instance C1Submitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B+A)+D (!C A+C (B+A)))")) - ) - (instance (rename FS_RNIPIOA_0_11 "FS_RNIPIOA_0[11]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C A+C (!B A))")) - ) - (instance wb_cyc_stb_65_0_iv_0_a2_2_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B !A)+C !A)")) - ) - (instance (rename S_RNICVV51_0 "S_RNICVV51[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A))")) - ) - (instance (rename wb_adr_10_0_a2_RNIQ1AL_1 "wb_adr_10_0_a2_RNIQ1AL[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)))")) - ) - (instance (rename FS_RNIU61E_5 "FS_RNIU61E[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !A+C (!B !A))+D (!B !A))")) - ) - (instance RCKEEN_8_u_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)+C (!B+!A))+D (C !A))")) - ) - (instance wb_clk_9_iv_i_o2_2_RNIOE4Q (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance (rename wb_adr_10_0_a2_RNIIJC01_1 "wb_adr_10_0_a2_RNIIJC01[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B+A)+C B)+D B)")) - ) - (instance (rename IS_RNO_3 "IS_RNO[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C A+C (!B A+B !A)))")) - ) - (instance wb_we_0_0_1_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)))")) - ) - (instance wb_rst_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A)))")) - ) - (instance (rename wb_adr_10_0_o2_0_RNI0U1R_0 "wb_adr_10_0_o2_0_RNI0U1R[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance (rename wb_dati_10_0_iv_0_RNO_0 "wb_dati_10_0_iv_0_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance Ready_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D A+D (!C (B+A)+C A))")) - ) - (instance wb_clk_RNO (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) - (instance wb_clk_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B A))")) - ) - (instance wb_clk_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B A))")) - ) - (instance Ready_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance InitReady_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdSubmitted_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdSubmitted_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance nCRAS_pad_RNIBPVB (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename XOR8MEG_CN "XOR8MEG.CN") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) - (instance (rename WRD_0io_0 "WRD_0io[0]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_1 "WRD_0io[1]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_2 "WRD_0io[2]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_3 "WRD_0io[3]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_4 "WRD_0io[4]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_5 "WRD_0io[5]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_6 "WRD_0io[6]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance (rename WRD_0io_7 "WRD_0io[7]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "TRUE")) - ) - (instance PHI2r_0io (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance (rename Bank_0io_0 "Bank_0io[0]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_1 "Bank_0io[1]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_2 "Bank_0io[2]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_3 "Bank_0io[3]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_4 "Bank_0io[4]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_5 "Bank_0io[5]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_6 "Bank_0io[6]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance (rename Bank_0io_7 "Bank_0io[7]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) - ) - (instance nRWE_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance nRRAS_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance nRCS_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance nRCAS_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance (rename RBA_0io_0 "RBA_0io[0]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance (rename RBA_0io_1 "RBA_0io[1]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance RA11_0io (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance RA10_0io (viewRef PRIM (cellRef OFS1P3JX (libraryRef LUCENT))) - (property IOB (string "FALSE")) - ) - (instance wb_we (viewRef PRIM (cellRef FD1P3IX (libraryRef LUCENT))) - ) - (instance wb_rst (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_0 "wb_dati[0]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_1 "wb_dati[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_2 "wb_dati[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_3 "wb_dati[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_4 "wb_dati[4]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_5 "wb_dati[5]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_6 "wb_dati[6]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_dati_7 "wb_dati[7]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance wb_cyc_stb (viewRef PRIM (cellRef FD1P3IX (libraryRef LUCENT))) - ) - (instance wb_clk (viewRef PRIM (cellRef FD1P3IX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_0 "wb_adr[0]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_1 "wb_adr[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_2 "wb_adr[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_3 "wb_adr[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_4 "wb_adr[4]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_5 "wb_adr[5]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_6 "wb_adr[6]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename wb_adr_7 "wb_adr[7]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance nRowColSel (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance n8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance XOR8MEG (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename S_0 "S[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename S_1 "S[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) - ) - (instance (rename RowA_0 "RowA[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_1 "RowA[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_2 "RowA[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_3 "RowA[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_4 "RowA[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_5 "RowA[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_6 "RowA[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_7 "RowA[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_8 "RowA[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename RowA_9 "RowA[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Ready_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Ready (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RCKEEN (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RCKE (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance PHI2r3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance PHI2r2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance LEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance InitReady (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename IS_0 "IS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename IS_1 "IS[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename IS_2 "IS[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance (rename IS_3 "IS[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance FWEr_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance FWEr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_0 "FS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_1 "FS[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_2 "FS[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_3 "FS[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_4 "FS[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_5 "FS[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_6 "FS[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_7 "FS[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_8 "FS[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_9 "FS[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_10 "FS[10]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_11 "FS[11]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_12 "FS[12]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_13 "FS[13]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_14 "FS[14]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_15 "FS[15]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_16 "FS[16]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance (rename FS_17 "FS[17]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance Cmdn8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdUFMData (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdSubmitted_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CmdSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CmdLEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CmdEnable (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CMDUFMWrite (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) - ) - (instance CBR_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CBR (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance CASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance C1Submitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance ADSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) - ) - (instance RDQML_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RDQMH_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRCAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRRAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nRWE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RCKE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance RCLK_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nRCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RD_pad_7 "RD_pad[7]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_6 "RD_pad[6]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_5 "RD_pad[5]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_4 "RD_pad[4]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_3 "RD_pad[3]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_2 "RD_pad[2]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_1 "RD_pad[1]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RD_pad_0 "RD_pad[0]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) - (instance (rename RA_pad_11 "RA_pad[11]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_10 "RA_pad[10]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_9 "RA_pad[9]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_8 "RA_pad[8]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_7 "RA_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_6 "RA_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_5 "RA_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_4 "RA_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_3 "RA_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_2 "RA_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_1 "RA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RA_pad_0 "RA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RBA_pad_1 "RBA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename RBA_pad_0 "RBA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance LED_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance nFWE_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nCRAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance nCCAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_7 "Dout_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_6 "Dout_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_5 "Dout_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_4 "Dout_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_3 "Dout_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_2 "Dout_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_1 "Dout_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Dout_pad_0 "Dout_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) - (instance (rename Din_pad_7 "Din_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_6 "Din_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_5 "Din_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_4 "Din_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_3 "Din_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_2 "Din_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_1 "Din_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename Din_pad_0 "Din_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance (rename CROW_pad_1 "CROW_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename CROW_pad_0 "CROW_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_9 "MAin_pad[9]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_8 "MAin_pad[8]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_7 "MAin_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_6 "MAin_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_5 "MAin_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_4 "MAin_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_3 "MAin_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_2 "MAin_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_1 "MAin_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance (rename MAin_pad_0 "MAin_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) - (instance PHI2_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) - ) - (instance wb_cyc_stb_65_0_iv_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C A)+D (!C !B+C (!B+A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_4 "wb_dati_10_1_iv_0[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D C+D (C+(B !A)))")) - ) - (instance (rename wb_adr_10_0_0 "wb_adr_10_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) - ) - (instance wb_we_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(B !A)))")) - ) - (instance CmdEnable_s (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C A+C B))")) - ) - (instance un1_FS_7_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D C+D (C+(B A)))")) - ) - (instance (rename wb_adr_10_0_i_o2_6 "wb_adr_10_0_i_o2[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C (B+A))")) - ) - (instance (rename wb_adr_10_0_i_o2_5 "wb_adr_10_0_i_o2[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C (B+A))")) - ) - (instance (rename wb_adr_10_0_i_o2_4 "wb_adr_10_0_i_o2[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C (B+A))")) - ) - (instance (rename wb_dati_10_0_iv_0_0 "wb_dati_10_0_iv_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C A+C (B+A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_3 "wb_dati_10_1_iv_0[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_7 "wb_dati_10_1_iv_0[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C (!B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_1_4 "wb_dati_10_1_iv_0_1[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) - ) - (instance ADSubmitted_r_0_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance CmdEnable17_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B A))")) - ) - (instance (rename wb_dati_10_1_iv_0_2 "wb_dati_10_1_iv_0[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C B)+D (!C A+C (B+A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_5 "wb_dati_10_1_iv_0[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C B)+D (!C A+C (B+A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_1 "wb_dati_10_1_iv_0[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C A)+D (!C B+C (B+A)))")) - ) - (instance wb_cyc_stb_65_0_iv_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B !A)+C !A)+D !A)")) - ) - (instance (rename wb_adr_10_0_1 "wb_adr_10_0[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_3 "wb_dati_10_1_iv_0_a4[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B !A)))")) - ) - (instance un1_FS_7_i_a4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B !A)))")) - ) - (instance XOR8MEG18_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_1_7 "wb_dati_10_1_iv_0_1[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B A))")) - ) - (instance wb_we_0_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance wb_we_0_0_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C A)+D (!C B+C (B+A)))")) - ) - (instance (rename wb_adr_10_0_3_0 "wb_adr_10_0_3[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C B+C (B+A)))")) - ) - (instance (rename wb_adr_10_0_4_0 "wb_adr_10_0_4[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B A)+D (C+(B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_1_3 "wb_dati_10_1_iv_0_a4_1[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B !A))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_2_4 "wb_dati_10_1_iv_0_a4_2[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B !A)))")) - ) - (instance (rename wb_adr_10_0_a4_1 "wb_adr_10_0_a4[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_1_4 "wb_dati_10_1_iv_0_a4_1[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance (rename wb_adr_10_0_a4_7_0 "wb_adr_10_0_a4_7[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance CmdEnable_0_sqmuxa_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_0_7 "wb_dati_10_1_iv_0_0[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C A)+D (!C B+C (B+A)))")) - ) - (instance (rename wb_dati_10_0_iv_0_0_0 "wb_dati_10_0_iv_0_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C A)+D (!C B+C (B+A)))")) - ) - (instance Cmdn8MEGEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !A+C (B !A))+D !A)")) - ) - (instance CmdLEDEN_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !A+D (!C (B !A)+C !A))")) - ) - (instance (rename wb_adr_10_0_a2_6_0 "wb_adr_10_0_a2_6[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B A))")) - ) - (instance RA10_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C+(B+A)))")) - ) - (instance (rename wb_adr_10_0_a4_1_1 "wb_adr_10_0_a4_1[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B A))")) - ) - (instance un1_ADWR_i_o4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(!B+!A)))")) - ) - (instance wb_cyc_stb_65_0_iv_0_o2_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C B+C (B+!A)))")) - ) - (instance wb_we_0_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) - ) - (instance (rename wb_adr_10_0_1_0 "wb_adr_10_0_1[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) - ) - (instance (rename wb_adr_10_0_a4_6_0 "wb_adr_10_0_a4_6[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B !A))")) - ) - (instance (rename wb_dati_10_1_iv_0_a2_7 "wb_dati_10_1_iv_0_a2[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B !A))")) - ) - (instance (rename wb_adr_10_0_a2_11_0 "wb_adr_10_0_a2_11[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (!B A))")) - ) - (instance wb_we_0_0_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (B !A))+D (B !A))")) - ) - (instance nRCS_9_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C (B+A)))")) - ) - (instance wb_we_0_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)+C B))")) - ) - (instance un1_CmdEnable20_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance wb_cyc_stb_65_0_iv_0_o2_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) - ) - (instance un1_nRCAS_6_sqmuxa_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(B+!A))+D (!C (B+!A)))")) - ) - (instance XOR8MEG_3_u_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D C+D (C+(!B+!A)))")) - ) - (instance wb_cyc_stb_65_0_iv_0_o2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (!B !A))+D (C+B))")) - ) - (instance wb_cyc_stb_65_0_iv_0_a2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)+C !A))")) - ) - (instance wb_cyc_stb_65_0_iv_0_a2_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance (rename wb_adr_10_0_a4_3_0 "wb_adr_10_0_a4_3[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance Cmdn8MEGEN_4_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C A)+D (!C !B+C (!B+A)))")) - ) - (instance CmdLEDEN_4_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B)+D (!C (B+!A)+C !A))")) - ) - (instance un1_ADWR_i_o4_10 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(B+!A)))")) - ) - (instance wb_clk_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !B+D (!C (!B+A)+C !B))")) - ) - (instance nRCAS_0_sqmuxa_1_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRowColSel_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (B+A))+D (!C B+C (B+!A)))")) - ) - (instance IS_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance CmdEnable_0_sqmuxa_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename wb_adr_10_0_5_tz_0 "wb_adr_10_0_5_tz[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C B)+D (!C !A+C (B+!A)))")) - ) - (instance nRCAS_r_i_a3_1_1_tz (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D !C+D (C (!B A)))")) - ) - (instance InitReady3_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (B A)))")) - ) - (instance Ready_0_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance nRCS_9_u_i_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)+C !A))")) - ) - (instance (rename IS_RNO_2 "IS_RNO[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C (!B+!A))")) - ) - (instance XOR8MEG_3_u_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C+(B+A)))")) - ) - (instance CmdLEDEN_4_u_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B !A))")) - ) - (instance ADSubmitted_r_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B A)))")) - ) - (instance LED_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(!B+A))")) - ) - (instance wb_we_0_0_a4_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (B A)))")) - ) - (instance wb_clk_9_iv_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance CmdEnable_0_sqmuxa_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)))")) - ) - (instance nRowColSel_0_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B !A)))")) - ) - (instance XOR8MEG_3_u_0_a4_0_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_1_0_7 "wb_dati_10_1_iv_0_a4_1_0[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B !A)+C (!B !A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_1_1 "wb_dati_10_1_iv_0_a4_1[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C (!B+!A)))")) - ) - (instance un1_FS_7_i_a4_0_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B !A)))")) - ) - (instance RCKE_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C !B)+D (C+(B+A)))")) - ) - (instance (rename wb_adr_10_0_a4_0_0_0 "wb_adr_10_0_a4_0_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (B A)+D (!C A))")) - ) - (instance (rename S_RNO_0 "S_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+!A)")) - ) - (instance un1_nRCAS_6_sqmuxa_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance Ready_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C+(!B+!A))")) - ) - (instance (rename wb_adr_10_0_a2_1 "wb_adr_10_0_a2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B !A))")) - ) - (instance RDQMH_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+A)")) - ) - (instance nCCAS_pad_RNI01SJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance wb_clk_9_iv_i_o2_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+A))")) - ) - (instance Ready_0_sqmuxa_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (B A)))")) - ) - (instance InitReady3_0_a4_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B A))")) - ) - (instance un1_ADWR_i_o4_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C+(!B+!A))")) - ) - (instance un1_ADWR_i_o4_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(!C+(!B+!A)))")) - ) - (instance un1_ADWR_i_o4_11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D+(!C+(!B+!A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_1_0_0_3 "wb_dati_10_1_iv_0_a4_1_0_0[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C (B !A))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_0_0_4 "wb_dati_10_1_iv_0_a4_0_0[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C !B)+D (C (!B !A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_a4_0_1_6 "wb_dati_10_1_iv_0_a4_0_1[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B !A)+C (B A)))")) - ) - (instance (rename un9_RA_8 "un9_RA[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance LEDEN_6_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C (!B+A))")) - ) - (instance n8MEGEN_6_i_m2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B A)+C (!B+A))")) - ) - (instance (rename un9_RA_i_m2_0 "un9_RA_i_m2[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_1 "un9_RA_i_m2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_2 "un9_RA_i_m2[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_3 "un9_RA_i_m2[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_4 "un9_RA_i_m2[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_5 "un9_RA_i_m2[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_6 "un9_RA_i_m2[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_7 "un9_RA_i_m2[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename un9_RA_i_m2_9 "un9_RA_i_m2[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C B+C A)")) - ) - (instance (rename wb_dati_10_1_iv_0_m2_3 "wb_dati_10_1_iv_0_m2[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C !B+C A)")) - ) - (instance (rename S_0_i_o2_1 "S_0_i_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance IS_n1_0_x2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A+B !A)")) - ) - (instance XOR8MEG_3_u_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B A)")) - ) - (instance CMDUFMWrite_1_sqmuxa_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance XOR8MEG_3_u_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B !A)")) - ) - (instance RDQML_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance (rename wb_adr_10_0_o2_0 "wb_adr_10_0_o2[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance XOR8MEG_3_u_0_o2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance (rename wb_adr_10_0_o2_1 "wb_adr_10_0_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance (rename wb_adr_10_0_o2_0_0 "wb_adr_10_0_o2_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B+A)")) - ) - (instance wb_we_0_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance wb_we_0_0_a2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B !A)")) - ) - (instance (rename wb_adr_10_7 "wb_adr_10[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename wb_adr_10_3 "wb_adr_10[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename wb_adr_10_2 "wb_adr_10[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance un1_PHI2r3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B !A)")) - ) - (instance wb_we_0_0_a4_0_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance un1_FS_7_i_a4_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B !A)")) - ) - (instance (rename wb_dati_10_1_iv_0_o2_1_5 "wb_dati_10_1_iv_0_o2_1[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C !A)+D (C (!B !A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_o2_5 "wb_dati_10_1_iv_0_o2[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A))+D (!C (B+!A)+C !A))")) - ) - (instance RCKEEN_8_u_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C+B)+D (C (!B+!A)))")) - ) - (instance RCKEEN_8_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_1_6 "wb_dati_10_1_iv_0_1[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C+!B)+D (!C A+C (!B A)))")) - ) - (instance (rename wb_dati_10_1_iv_0_6 "wb_dati_10_1_iv_0[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C B+C (B+A))+D (C A))")) - ) - (instance CmdEnable_s_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !B)+D (!C (!B+!A)+C (B !A)))")) - ) - (instance CmdEnable_s_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !A+C (!B !A)))")) - ) - (instance CMDUFMWrite_RNIHQ1E1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D+(C (B !A)))")) - ) - (instance PHI2r3_RNIFT0I (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B !A)")) - ) - (instance nRWE_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+(!B !A))+D (C+!A))")) - ) - (instance nRWE_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D+(!C (B !A)))")) - ) - (instance nRWE_0io_RNO_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C+(!B+A))")) - ) - (instance nRWE_0io_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+!A)")) - ) - (instance nRWE_0io_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A))")) - ) - (instance nRWE_0io_RNO_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance nRCS_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (B !A))")) - ) - (instance nRCS_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (C+A)+D (!C A+C !B))")) - ) - (instance nRCAS_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !B)+D (!C !B+C (!B !A)))")) - ) - (instance nRCAS_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C !B+C (!B !A))")) - ) - (instance RA11d (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)+C (B !A))+D (C B))")) - ) - (instance (rename RowAd_3 "RowAd[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_0 "RowAd[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_1 "RowAd[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_2 "RowAd[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_7 "RowAd[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_4 "RowAd[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_5 "RowAd[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+A)")) - ) - (instance (rename RowAd_6 "RowAd[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RBAd_1 "RBAd[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_8 "RowAd[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance (rename RowAd_9 "RowAd[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B+A)")) - ) - (instance (rename RBAd_0 "RBAd[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(B A)")) - ) - (instance IS_0_sqmuxa_0_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D+(C+(!B+!A)))")) - ) - (instance un1_CmdEnable20_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B A)))")) - ) - (instance CMDUFMWrite_1_sqmuxa_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance (rename wb_adr_10_0_a2_1_0 "wb_adr_10_0_a2_1[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A))")) - ) - (instance CmdLEDEN_4_u_i_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(C+(B+!A))")) - ) - (instance (rename wb_adr_10_0_a2_3_0 "wb_adr_10_0_a2_3[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B A))")) - ) - (instance wb_rst_3_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B !A)))")) - ) - (instance CmdLEDEN_4_u_i_a4_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (!C (!B !A)))")) - ) - (instance nRCS_9_u_i_0_0_RNIOMAB (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C !A+C (B !A))+D (B !A))")) - ) - (instance IS_0_sqmuxa_0_o2_0_RNIS63D (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!B !A)")) - ) - (instance (rename IS_RNO_0 "IS_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!C (!B !A+B A)+C A)")) - ) - (instance CmdEnable16_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(D (C (!B A)))")) - ) - (instance CmdSubmitted_1_sqmuxa_0_a4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (!B A))+D (!B A))")) - ) - (instance (rename wb_adr_10_0_a2_0_0 "wb_adr_10_0_a2_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)))")) - ) - (instance (rename wb_adr_10_0_a2_7_0 "wb_adr_10_0_a2_7[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B !A)))")) - ) - (instance (rename wb_adr_10_0_a2_12_0 "wb_adr_10_0_a2_12[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B !A)))")) - ) - (instance wb_we_0_0_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) - (property lut_function (string "(!D (!C (B A)))")) - ) - (instance (rename FS_s_0_17 "FS_s_0[17]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x5002")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_15 "FS_cry_0[15]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_13 "FS_cry_0[13]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_11 "FS_cry_0[11]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_9 "FS_cry_0[9]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_7 "FS_cry_0[7]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_5 "FS_cry_0[5]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_3 "FS_cry_0[3]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_1 "FS_cry_0[1]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance (rename FS_cry_0_0 "FS_cry_0[0]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) - (property INIT0 (string "0x300A")) - (property INJECT1_1 (string "NO")) - (property INJECT1_0 (string "NO")) - (property INIT1 (string "0x300A")) - ) - (instance ufmefb (viewRef netlist (cellRef REFB)) - ) - (net wb_clk (joined - (portRef Q (instanceRef wb_clk)) - (portRef wb_clk (instanceRef ufmefb)) - )) - (net wb_rst (joined - (portRef Q (instanceRef wb_rst)) - (portRef wb_rst (instanceRef ufmefb)) - )) - (net wb_cyc_stb (joined - (portRef Q (instanceRef wb_cyc_stb)) - (portRef wb_cyc_stb (instanceRef ufmefb)) - (portRef D (instanceRef wb_we_0_0_1)) - )) - (net wb_we (joined - (portRef Q (instanceRef wb_we)) - (portRef wb_we (instanceRef ufmefb)) - (portRef C (instanceRef wb_dati_10_0_iv_0_0_0)) - )) - (net (rename wb_adr_0 "wb_adr[0]") (joined - (portRef Q (instanceRef wb_adr_0)) - (portRef (member wb_adr 7) (instanceRef ufmefb)) - (portRef D (instanceRef wb_adr_10_0_1)) - )) - (net (rename wb_adr_1 "wb_adr[1]") (joined - (portRef Q (instanceRef wb_adr_1)) - (portRef (member wb_adr 6) (instanceRef ufmefb)) - (portRef B (instanceRef wb_adr_10_2)) - )) - (net (rename wb_adr_2 "wb_adr[2]") (joined - (portRef Q (instanceRef wb_adr_2)) - (portRef (member wb_adr 5) (instanceRef ufmefb)) - (portRef B (instanceRef wb_adr_10_3)) - )) - (net (rename wb_adr_3 "wb_adr[3]") (joined - (portRef Q (instanceRef wb_adr_3)) - (portRef (member wb_adr 4) (instanceRef ufmefb)) - (portRef C (instanceRef wb_adr_10_0_i_o2_4)) - )) - (net (rename wb_adr_4 "wb_adr[4]") (joined - (portRef Q (instanceRef wb_adr_4)) - (portRef (member wb_adr 3) (instanceRef ufmefb)) - (portRef C (instanceRef wb_adr_10_0_i_o2_5)) - )) - (net (rename wb_adr_5 "wb_adr[5]") (joined - (portRef Q (instanceRef wb_adr_5)) - (portRef (member wb_adr 2) (instanceRef ufmefb)) - (portRef C (instanceRef wb_adr_10_0_i_o2_6)) - )) - (net (rename wb_adr_6 "wb_adr[6]") (joined - (portRef Q (instanceRef wb_adr_6)) - (portRef (member wb_adr 1) (instanceRef ufmefb)) - (portRef B (instanceRef wb_adr_10_7)) - )) - (net (rename wb_adr_7 "wb_adr[7]") (joined - (portRef Q (instanceRef wb_adr_7)) - (portRef (member wb_adr 0) (instanceRef ufmefb)) - )) - (net (rename wb_dati_0 "wb_dati[0]") (joined - (portRef Q (instanceRef wb_dati_0)) - (portRef (member wb_dati 7) (instanceRef ufmefb)) - (portRef C (instanceRef wb_dati_10_1_iv_0_1)) - )) - (net (rename wb_dati_1 "wb_dati[1]") (joined - (portRef Q (instanceRef wb_dati_1)) - (portRef (member wb_dati 6) (instanceRef ufmefb)) - (portRef D (instanceRef wb_dati_10_1_iv_0_2)) - )) - (net (rename wb_dati_2 "wb_dati[2]") (joined - (portRef Q (instanceRef wb_dati_2)) - (portRef (member wb_dati 5) (instanceRef ufmefb)) - (portRef D (instanceRef wb_dati_10_1_iv_0_3)) - )) - (net (rename wb_dati_3 "wb_dati[3]") (joined - (portRef Q (instanceRef wb_dati_3)) - (portRef (member wb_dati 4) (instanceRef ufmefb)) - (portRef D (instanceRef wb_dati_10_1_iv_0_1_4)) - )) - (net (rename wb_dati_4 "wb_dati[4]") (joined - (portRef Q (instanceRef wb_dati_4)) - (portRef (member wb_dati 3) (instanceRef ufmefb)) - (portRef D (instanceRef wb_dati_10_1_iv_0_5)) - )) - (net (rename wb_dati_5 "wb_dati[5]") (joined - (portRef Q (instanceRef wb_dati_5)) - (portRef (member wb_dati 2) (instanceRef ufmefb)) - (portRef C (instanceRef wb_dati_10_1_iv_0_6)) - )) - (net (rename wb_dati_6 "wb_dati[6]") (joined - (portRef Q (instanceRef wb_dati_6)) - (portRef (member wb_dati 1) (instanceRef ufmefb)) - (portRef C (instanceRef wb_dati_10_1_iv_0_0_7)) - )) - (net (rename wb_dati_7 "wb_dati[7]") (joined - (portRef Q (instanceRef wb_dati_7)) - (portRef (member wb_dati 0) (instanceRef ufmefb)) - (portRef D (instanceRef wb_adr_10_0_1_0)) - )) - (net (rename wb_dato_0 "wb_dato[0]") (joined - (portRef (member wb_dato 1) (instanceRef ufmefb)) - (portRef C (instanceRef n8MEGEN_6_i_m2)) - )) - (net (rename wb_dato_1 "wb_dato[1]") (joined - (portRef (member wb_dato 0) (instanceRef ufmefb)) - (portRef C (instanceRef LEDEN_6_i_m2)) - )) - (net CBR (joined - (portRef Q (instanceRef CBR)) - (portRef A (instanceRef nRCAS_0io_RNO_0)) - (portRef A (instanceRef RCKEEN_8_u)) - (portRef B (instanceRef nRowColSel_0_0_a3_0)) - (portRef A (instanceRef LED_pad_RNO)) - )) - (net InitReady (joined - (portRef Q (instanceRef InitReady)) - (portRef C (instanceRef wb_we_0_0_a2)) - (portRef C (instanceRef wb_adr_10_0_a2_12_0)) - (portRef C (instanceRef wb_adr_10_0_a2_7_0)) - (portRef C (instanceRef wb_adr_10_0_a2_0_0)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef D (instanceRef CMDUFMWrite_RNIHQ1E1)) - (portRef A (instanceRef wb_dati_10_1_iv_0_6)) - (portRef A (instanceRef wb_adr_10_2)) - (portRef A (instanceRef wb_adr_10_3)) - (portRef A (instanceRef wb_adr_10_7)) - (portRef B (instanceRef n8MEGEN_6_i_m2)) - (portRef B (instanceRef LEDEN_6_i_m2)) - (portRef A (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef wb_clk_RNO_0)) - (portRef A (instanceRef wb_we_0_0_2)) - (portRef B (instanceRef wb_adr_10_0_a2_11_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a2_7)) - (portRef A (instanceRef wb_adr_10_0_a4_6_0)) - (portRef A (instanceRef wb_adr_10_0_1_0)) - (portRef A (instanceRef wb_we_0_0_1)) - (portRef A (instanceRef wb_dati_10_0_iv_0_0_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_0_7)) - (portRef A (instanceRef wb_adr_10_0_1)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_a2)) - (portRef A (instanceRef wb_dati_10_1_iv_0_1)) - (portRef A (instanceRef wb_dati_10_1_iv_0_5)) - (portRef A (instanceRef wb_dati_10_1_iv_0_2)) - (portRef A (instanceRef wb_dati_10_1_iv_0_1_4)) - (portRef A (instanceRef wb_dati_10_1_iv_0_3)) - (portRef A (instanceRef wb_adr_10_0_i_o2_4)) - (portRef A (instanceRef wb_adr_10_0_i_o2_5)) - (portRef A (instanceRef wb_adr_10_0_i_o2_6)) - (portRef B (instanceRef un1_FS_7_i_0)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0)) - (portRef B (instanceRef InitReady_RNO)) - (portRef C0 (instanceRef wb_clk_RNO)) - (portRef D (instanceRef Ready_RNO)) - (portRef D (instanceRef wb_adr_10_0_o2_0_RNI0U1R_0)) - (portRef D (instanceRef wb_we_0_0_1_RNO)) - (portRef A (instanceRef wb_clk_9_iv_i_o2_2_RNIOE4Q)) - (portRef C (instanceRef RCKEEN_8_u_0_0)) - (portRef A (instanceRef wb_rst_RNO_0)) - )) - (net C1Submitted (joined - (portRef Q (instanceRef C1Submitted)) - (portRef A (instanceRef CmdEnable_s_RNO_0)) - (portRef B (instanceRef C1Submitted_RNO)) - )) - (net (rename Bank_2 "Bank[2]") (joined - (portRef Q (instanceRef Bank_0io_2)) - (portRef B (instanceRef un1_ADWR_i_o4_10)) - )) - (net Ready (joined - (portRef Q (instanceRef Ready)) - (portRef B (instanceRef IS_RNO_0)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef D (instanceRef nRCS_0io_RNO)) - (portRef B (instanceRef nRWE_0io_RNO_2)) - (portRef D (instanceRef RCKEEN_8_u)) - (portRef D (instanceRef nRowColSel_0_0_a3_0)) - (portRef D (instanceRef nRCS_9_u_i_0_0)) - (portRef C (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2)) - (portRef C (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef A (instanceRef Ready_RNO)) - (portRef A (instanceRef RCKEEN_8_u_0_0)) - (portRef A (instanceRef S_RNICVV51_0)) - )) - (net n8MEGEN (joined - (portRef Q (instanceRef n8MEGEN)) - (portRef D (instanceRef RA11d)) - (portRef D (instanceRef Cmdn8MEGEN_RNO)) - )) - (net CO0 (joined - (portRef Q (instanceRef S_0)) - (portRef D (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef nRWE_0io_RNO_4)) - (portRef B (instanceRef RCKEEN_8_u_1_0)) - (portRef A (instanceRef S_0_i_o2_1)) - (portRef A (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef A (instanceRef S_RNO_0)) - (portRef C (instanceRef nRCAS_r_i_a3_1_1_tz)) - (portRef A (instanceRef nRowColSel_0_0)) - (portRef C (instanceRef S_RNICVV51_0)) - )) - (net (rename S_1 "S[1]") (joined - (portRef Q (instanceRef S_1)) - (portRef C (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef nRCAS_0io_RNO_0)) - (portRef D (instanceRef nRCAS_0io_RNO)) - (portRef B (instanceRef nRCS_0io_RNO_0)) - (portRef D (instanceRef nRWE_0io_RNO_4)) - (portRef D (instanceRef RCKEEN_8_u_1_0)) - (portRef B (instanceRef S_0_i_o2_1)) - (portRef D (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef B (instanceRef S_RNO_0)) - (portRef D (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef B (instanceRef S_RNICVV51_0)) - )) - (net RASr2 (joined - (portRef Q (instanceRef RASr2)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef A (instanceRef nRWE_0io_RNO_3)) - (portRef C (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef B (instanceRef RCKE_2_0)) - (portRef B (instanceRef nRCS_9_u_i_0_0)) - (portRef C (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef D (instanceRef RASr3)) - (portRef B (instanceRef RCKEEN_8_u_0_0)) - (portRef A (instanceRef RASr2_RNIAFR1)) - )) - (net (rename FS_4 "FS[4]") (joined - (portRef Q (instanceRef FS_4)) - (portRef A1 (instanceRef FS_cry_0_3)) - (portRef C (instanceRef un1_FS_7_i_a4_0_3)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0)) - )) - (net (rename FS_9 "FS[9]") (joined - (portRef Q (instanceRef FS_9)) - (portRef A0 (instanceRef FS_cry_0_9)) - (portRef A (instanceRef wb_rst_3_0_a2)) - (portRef C (instanceRef wb_we_0_0_a4_0_0)) - (portRef A (instanceRef wb_adr_10_0_a4_3_0)) - )) - (net FWEr (joined - (portRef Q (instanceRef FWEr)) - (portRef B (instanceRef nRWE_0io_RNO_0)) - (portRef C (instanceRef RCKEEN_8_u_1_0)) - (portRef C (instanceRef nRowColSel_0_0_a3_0)) - )) - (net CASr3 (joined - (portRef Q (instanceRef CASr3)) - (portRef B (instanceRef nRWE_0io_RNO_4)) - (portRef A (instanceRef nRowColSel_0_0_a3_0)) - (portRef B (instanceRef nRCAS_r_i_a3_1_1_tz)) - )) - (net (rename IS_0 "IS[0]") (joined - (portRef Q (instanceRef IS_0)) - (portRef A (instanceRef IS_RNO_0)) - (portRef D (instanceRef nRCS_9_u_i_0_0_RNIOMAB)) - (portRef A (instanceRef nRWE_0io_RNO_1)) - (portRef A (instanceRef IS_n1_0_x2)) - (portRef A (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef A (instanceRef IS_RNO_2)) - (portRef A (instanceRef nRCS_9_u_i_0)) - (portRef D (instanceRef IS_RNO_3)) - (portRef A (instanceRef RA10_0io_RNO)) - )) - (net (rename IS_3 "IS[3]") (joined - (portRef Q (instanceRef IS_3)) - (portRef B (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef RA10_0io_RNO_0)) - (portRef A (instanceRef IS_RNO_3)) - )) - (net (rename IS_1 "IS[1]") (joined - (portRef Q (instanceRef IS_1)) - (portRef B (instanceRef nRWE_0io_RNO_1)) - (portRef B (instanceRef IS_n1_0_x2)) - (portRef B (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef B (instanceRef IS_RNO_2)) - (portRef A (instanceRef RA10_0io_RNO_0)) - (portRef C (instanceRef IS_RNO_3)) - )) - (net (rename IS_2 "IS[2]") (joined - (portRef Q (instanceRef IS_2)) - (portRef C (instanceRef nRWE_0io_RNO_1)) - (portRef C (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef IS_RNO_2)) - (portRef B (instanceRef RA10_0io_RNO_0)) - (portRef B (instanceRef IS_RNO_3)) - )) - (net (rename FS_0 "FS[0]") (joined - (portRef Q (instanceRef FS_0)) - (portRef A1 (instanceRef FS_cry_0_0)) - (portRef A (instanceRef un1_FS_7_i_a4_0_0)) - )) - (net (rename FS_1 "FS[1]") (joined - (portRef Q (instanceRef FS_1)) - (portRef A0 (instanceRef FS_cry_0_1)) - (portRef A (instanceRef un1_FS_7_i_a4_0_3)) - )) - (net (rename FS_10 "FS[10]") (joined - (portRef Q (instanceRef FS_10)) - (portRef A1 (instanceRef FS_cry_0_9)) - (portRef C (instanceRef wb_adr_10_0_a2_3_0)) - (portRef A (instanceRef wb_adr_10_0_a2_1_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_o2_5)) - (portRef A (instanceRef wb_we_0_0_a2_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_0_1_6)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_0_0_4)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_1_0_0_3)) - (portRef B (instanceRef wb_adr_10_0_a4_0_0_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_1_1)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_1_0_7)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_a2_4)) - (portRef B (instanceRef wb_adr_10_0_a4_7_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_1_4)) - (portRef B (instanceRef wb_adr_10_0_a4_1)) - (portRef A (instanceRef wb_we_0_0_5)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_3)) - (portRef A (instanceRef wb_dati_10_1_iv_0_7)) - (portRef B (instanceRef wb_adr_10_0_o2_0_RNI0U1R_0)) - (portRef B (instanceRef wb_rst_RNO)) - (portRef B (instanceRef wb_adr_10_0_a2_RNIQ1AL_1)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_a2_2_RNO)) - (portRef A (instanceRef FS_RNIPIOA_0_11)) - (portRef A (instanceRef FS_RNIPIOA_11)) - (portRef D (instanceRef FS_RNI1T8E_7)) - )) - (net (rename FS_11 "FS[11]") (joined - (portRef Q (instanceRef FS_11)) - (portRef A0 (instanceRef FS_cry_0_11)) - (portRef B (instanceRef wb_adr_10_0_a2_3_0)) - (portRef C (instanceRef wb_dati_10_1_iv_0_o2_1_5)) - (portRef B (instanceRef wb_we_0_0_a2_0)) - (portRef A (instanceRef wb_we_0_0_o2)) - (portRef A (instanceRef wb_adr_10_0_o2_0_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_m2_3)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_0_1_6)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_0_0_4)) - (portRef B (instanceRef wb_adr_10_0_a2_1)) - (portRef C (instanceRef wb_adr_10_0_a4_0_0_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_1_1)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_1_0_7)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_o2_1)) - (portRef A (instanceRef wb_adr_10_0_a2_6_0)) - (portRef D (instanceRef wb_dati_10_0_iv_0_RNO_0)) - (portRef D (instanceRef wb_rst_RNO)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_a2_2_RNO)) - (portRef C (instanceRef FS_RNIPIOA_0_11)) - (portRef C (instanceRef FS_RNIPIOA_11)) - (portRef C (instanceRef FS_RNI1T8E_7)) - )) - (net (rename FS_12 "FS[12]") (joined - (portRef Q (instanceRef FS_12)) - (portRef A1 (instanceRef FS_cry_0_11)) - (portRef A (instanceRef wb_adr_10_0_a2_3_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_1_6)) - (portRef D (instanceRef wb_dati_10_1_iv_0_o2_1_5)) - (portRef B (instanceRef wb_we_0_0_o2)) - (portRef B (instanceRef wb_adr_10_0_o2_0_0)) - (portRef C (instanceRef wb_dati_10_1_iv_0_m2_3)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_0_1_6)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_0_0_4)) - (portRef C (instanceRef wb_adr_10_0_a2_1)) - (portRef D (instanceRef wb_adr_10_0_a4_0_0_0)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_1_1)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_a2_4)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_o2_1)) - (portRef A (instanceRef wb_we_0_0_a4)) - (portRef B (instanceRef wb_adr_10_0_a2_6_0)) - (portRef C (instanceRef wb_adr_10_0_a4_7_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_1_4)) - (portRef A (instanceRef wb_dati_10_1_iv_0_1_7)) - (portRef A (instanceRef wb_we_0_0)) - (portRef C (instanceRef wb_dati_10_0_iv_0_RNO_0)) - (portRef C (instanceRef wb_rst_RNO)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_a2_2_RNO)) - (portRef B (instanceRef FS_RNIPIOA_0_11)) - (portRef B (instanceRef FS_RNIPIOA_11)) - (portRef A (instanceRef FS_RNI1T8E_7)) - )) - (net (rename FS_13 "FS[13]") (joined - (portRef Q (instanceRef FS_13)) - (portRef A0 (instanceRef FS_cry_0_13)) - (portRef D (instanceRef wb_rst_3_0_a2)) - (portRef A (instanceRef InitReady3_0_a4_2)) - (portRef A (instanceRef wb_clk_9_iv_i_o2)) - (portRef D (instanceRef wb_clk_9_iv_i_o2_2_RNIOE4Q)) - )) - (net (rename FS_14 "FS[14]") (joined - (portRef Q (instanceRef FS_14)) - (portRef A1 (instanceRef FS_cry_0_13)) - (portRef B (instanceRef InitReady3_0_a4_2)) - (portRef A (instanceRef wb_clk_9_iv_i_o2_2)) - )) - (net (rename FS_15 "FS[15]") (joined - (portRef Q (instanceRef FS_15)) - (portRef A0 (instanceRef FS_cry_0_15)) - (portRef B (instanceRef wb_clk_9_iv_i_o2_2)) - (portRef A (instanceRef InitReady3_0_a4)) - )) - (net (rename FS_16 "FS[16]") (joined - (portRef Q (instanceRef FS_16)) - (portRef A1 (instanceRef FS_cry_0_15)) - (portRef C (instanceRef wb_clk_9_iv_i_o2_2)) - (portRef B (instanceRef InitReady3_0_a4)) - )) - (net (rename FS_17 "FS[17]") (joined - (portRef Q (instanceRef FS_17)) - (portRef A0 (instanceRef FS_s_0_17)) - (portRef C (instanceRef wb_rst_3_0_a2)) - (portRef C (instanceRef InitReady3_0_a4_2)) - (portRef B (instanceRef wb_clk_9_iv_i_o2)) - (portRef C (instanceRef wb_clk_9_iv_i_o2_2_RNIOE4Q)) - )) - (net (rename FS_5 "FS[5]") (joined - (portRef Q (instanceRef FS_5)) - (portRef A0 (instanceRef FS_cry_0_5)) - (portRef A (instanceRef wb_adr_10_0_a2_0_0)) - (portRef A (instanceRef wb_we_0_0_a4_0_0_1)) - (portRef A (instanceRef wb_adr_10_0_o2_1)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_1_0_0_3)) - (portRef A (instanceRef wb_adr_10_0_a2_1)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_1_0_7)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_2_4)) - (portRef D (instanceRef FS_RNIU61E_5)) - )) - (net (rename FS_6 "FS[6]") (joined - (portRef Q (instanceRef FS_6)) - (portRef A1 (instanceRef FS_cry_0_5)) - (portRef C (instanceRef wb_adr_10_0_a2_1_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_1_6)) - (portRef A (instanceRef wb_dati_10_1_iv_0_o2_1_5)) - (portRef B (instanceRef wb_we_0_0_a4_0_0_1)) - (portRef B (instanceRef wb_adr_10_0_o2_1)) - (portRef A (instanceRef wb_adr_10_0_o2_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_1_0_0_3)) - (portRef A (instanceRef wb_adr_10_0_a4_0_0_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_2_4)) - (portRef A (instanceRef un1_FS_7_i_a4_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_3)) - (portRef A (instanceRef wb_dati_10_1_iv_0_4)) - (portRef D (instanceRef wb_adr_10_0_a2_RNIIJC01_1)) - (portRef C (instanceRef FS_RNIU61E_5)) - (portRef D (instanceRef wb_adr_10_0_a2_RNIQ1AL_1)) - )) - (net (rename FS_7 "FS[7]") (joined - (portRef Q (instanceRef FS_7)) - (portRef A0 (instanceRef FS_cry_0_7)) - (portRef A (instanceRef wb_adr_10_0_a2_7_0)) - (portRef B (instanceRef wb_adr_10_0_a2_1_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_o2_1_5)) - (portRef B (instanceRef wb_adr_10_0_o2_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_m2_3)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_0_1_6)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_0_0_4)) - (portRef A (instanceRef wb_we_0_0_a4_0_0)) - (portRef A (instanceRef wb_adr_10_0_5_tz_0)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_o2_1)) - (portRef A (instanceRef wb_adr_10_0_a4_7_0)) - (portRef A (instanceRef wb_adr_10_0_a4_1)) - (portRef C (instanceRef wb_adr_10_0_a2_RNIIJC01_1)) - (portRef B (instanceRef FS_RNIU61E_5)) - (portRef C (instanceRef wb_adr_10_0_a2_RNIQ1AL_1)) - (portRef B (instanceRef FS_RNI1T8E_7)) - )) - (net (rename FS_8 "FS[8]") (joined - (portRef Q (instanceRef FS_8)) - (portRef A1 (instanceRef FS_cry_0_7)) - (portRef D (instanceRef wb_we_0_0_a2)) - (portRef D (instanceRef wb_adr_10_0_a2_12_0)) - (portRef D (instanceRef wb_adr_10_0_a2_7_0)) - (portRef D (instanceRef wb_adr_10_0_a2_0_0)) - (portRef B (instanceRef wb_we_0_0_a4_0_0)) - (portRef A (instanceRef wb_adr_10_0_a2_11_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a2_7)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_o2_2_0)) - (portRef A (instanceRef FS_RNIU61E_5)) - )) - (net PHI2r2 (joined - (portRef Q (instanceRef PHI2r2)) - (portRef A (instanceRef PHI2r3_RNIFT0I)) - (portRef A (instanceRef un1_PHI2r3_0)) - (portRef C (instanceRef wb_clk_RNO_0)) - (portRef D (instanceRef PHI2r3)) - )) - (net CMDUFMWrite (joined - (portRef Q (instanceRef CMDUFMWrite)) - (portRef A (instanceRef CMDUFMWrite_RNIHQ1E1)) - (portRef A (instanceRef wb_clk_RNO_1)) - )) - (net CASr2 (joined - (portRef Q (instanceRef CASr2)) - (portRef A (instanceRef nRWE_0io_RNO_4)) - (portRef A (instanceRef RCKEEN_8_u_1_0)) - (portRef A (instanceRef nRCAS_r_i_a3_1_1_tz)) - (portRef D (instanceRef CASr3)) - )) - (net CASr (joined - (portRef Q (instanceRef CASr)) - (portRef D (instanceRef CASr2)) - )) - (net PHI2r (joined - (portRef Q (instanceRef PHI2r_0io)) - (portRef D (instanceRef PHI2r2)) - )) - (net RASr (joined - (portRef Q (instanceRef RASr)) - (portRef A (instanceRef RCKE_2_0)) - (portRef D (instanceRef RASr2)) - )) - (net (rename Bank_0 "Bank[0]") (joined - (portRef Q (instanceRef Bank_0io_0)) - (portRef A (instanceRef un1_ADWR_i_o4_10)) - )) - (net (rename Bank_1 "Bank[1]") (joined - (portRef Q (instanceRef Bank_0io_1)) - (portRef A (instanceRef un1_ADWR_i_o4_11)) - )) - (net (rename Bank_3 "Bank[3]") (joined - (portRef Q (instanceRef Bank_0io_3)) - (portRef B (instanceRef un1_ADWR_i_o4_11)) - )) - (net (rename Bank_4 "Bank[4]") (joined - (portRef Q (instanceRef Bank_0io_4)) - (portRef C (instanceRef un1_ADWR_i_o4_11)) - )) - (net (rename Bank_5 "Bank[5]") (joined - (portRef Q (instanceRef Bank_0io_5)) - (portRef D (instanceRef un1_ADWR_i_o4_11)) - )) - (net (rename Bank_6 "Bank[6]") (joined - (portRef Q (instanceRef Bank_0io_6)) - (portRef A (instanceRef un1_ADWR_i_o4)) - )) - (net (rename Bank_7 "Bank[7]") (joined - (portRef Q (instanceRef Bank_0io_7)) - (portRef B (instanceRef un1_ADWR_i_o4)) - )) - (net (rename RowA_0 "RowA[0]") (joined - (portRef Q (instanceRef RowA_0)) - (portRef B (instanceRef un9_RA_i_m2_0)) - )) - (net (rename RowA_1 "RowA[1]") (joined - (portRef Q (instanceRef RowA_1)) - (portRef B (instanceRef un9_RA_i_m2_1)) - )) - (net (rename RowA_2 "RowA[2]") (joined - (portRef Q (instanceRef RowA_2)) - (portRef B (instanceRef un9_RA_i_m2_2)) - )) - (net (rename RowA_3 "RowA[3]") (joined - (portRef Q (instanceRef RowA_3)) - (portRef B (instanceRef un9_RA_i_m2_3)) - )) - (net (rename RowA_4 "RowA[4]") (joined - (portRef Q (instanceRef RowA_4)) - (portRef B (instanceRef un9_RA_i_m2_4)) - )) - (net (rename RowA_5 "RowA[5]") (joined - (portRef Q (instanceRef RowA_5)) - (portRef B (instanceRef un9_RA_i_m2_5)) - )) - (net (rename RowA_6 "RowA[6]") (joined - (portRef Q (instanceRef RowA_6)) - (portRef B (instanceRef un9_RA_i_m2_6)) - )) - (net (rename RowA_7 "RowA[7]") (joined - (portRef Q (instanceRef RowA_7)) - (portRef B (instanceRef un9_RA_i_m2_7)) - )) - (net (rename RowA_8 "RowA[8]") (joined - (portRef Q (instanceRef RowA_8)) - (portRef B (instanceRef un9_RA_8)) - )) - (net (rename RowA_9 "RowA[9]") (joined - (portRef Q (instanceRef RowA_9)) - (portRef B (instanceRef un9_RA_i_m2_9)) - )) - (net (rename WRD_0 "WRD[0]") (joined - (portRef Q (instanceRef WRD_0io_0)) - (portRef I (instanceRef RD_pad_0)) - )) - (net (rename WRD_1 "WRD[1]") (joined - (portRef Q (instanceRef WRD_0io_1)) - (portRef I (instanceRef RD_pad_1)) - )) - (net (rename WRD_2 "WRD[2]") (joined - (portRef Q (instanceRef WRD_0io_2)) - (portRef I (instanceRef RD_pad_2)) - )) - (net (rename WRD_3 "WRD[3]") (joined - (portRef Q (instanceRef WRD_0io_3)) - (portRef I (instanceRef RD_pad_3)) - )) - (net (rename WRD_4 "WRD[4]") (joined - (portRef Q (instanceRef WRD_0io_4)) - (portRef I (instanceRef RD_pad_4)) - )) - (net (rename WRD_5 "WRD[5]") (joined - (portRef Q (instanceRef WRD_0io_5)) - (portRef I (instanceRef RD_pad_5)) - )) - (net (rename WRD_6 "WRD[6]") (joined - (portRef Q (instanceRef WRD_0io_6)) - (portRef I (instanceRef RD_pad_6)) - )) - (net (rename WRD_7 "WRD[7]") (joined - (portRef Q (instanceRef WRD_0io_7)) - (portRef I (instanceRef RD_pad_7)) - )) - (net nRowColSel (joined - (portRef Q (instanceRef nRowColSel)) - (portRef B (instanceRef RDQML_0)) - (portRef C (instanceRef un9_RA_i_m2_9)) - (portRef C (instanceRef un9_RA_i_m2_7)) - (portRef C (instanceRef un9_RA_i_m2_6)) - (portRef C (instanceRef un9_RA_i_m2_5)) - (portRef C (instanceRef un9_RA_i_m2_4)) - (portRef C (instanceRef un9_RA_i_m2_3)) - (portRef C (instanceRef un9_RA_i_m2_2)) - (portRef C (instanceRef un9_RA_i_m2_1)) - (portRef C (instanceRef un9_RA_i_m2_0)) - (portRef C (instanceRef un9_RA_8)) - (portRef B (instanceRef RDQMH_pad_RNO)) - )) - (net RASr3 (joined - (portRef Q (instanceRef RASr3)) - (portRef C (instanceRef RCKE_2_0)) - )) - (net LEDEN (joined - (portRef Q (instanceRef LEDEN)) - (portRef B (instanceRef LED_pad_RNO)) - (portRef B (instanceRef XOR8MEG_3_u_0_0)) - (portRef B (instanceRef CmdLEDEN_RNO)) - )) - (net CmdLEDEN (joined - (portRef Q (instanceRef CmdLEDEN)) - (portRef A (instanceRef LEDEN_6_i_m2)) - (portRef A (instanceRef CmdLEDEN_4_u_i_0)) - )) - (net Cmdn8MEGEN (joined - (portRef Q (instanceRef Cmdn8MEGEN)) - (portRef A (instanceRef n8MEGEN_6_i_m2)) - (portRef B (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net PHI2r3 (joined - (portRef Q (instanceRef PHI2r3)) - (portRef B (instanceRef PHI2r3_RNIFT0I)) - (portRef B (instanceRef un1_PHI2r3_0)) - (portRef D (instanceRef wb_clk_RNO_0)) - )) - (net CmdSubmitted (joined - (portRef Q (instanceRef CmdSubmitted)) - (portRef A (instanceRef wb_clk_RNO_0)) - (portRef A (instanceRef un1_FS_7_i_0)) - (portRef B (instanceRef CmdSubmitted_RNO)) - (portRef C (instanceRef wb_clk_RNO_1)) - )) - (net InitReady3 (joined - (portRef Z (instanceRef InitReady3_0_a4)) - (portRef A (instanceRef InitReady_RNO)) - )) - (net RCKEEN (joined - (portRef Q (instanceRef RCKEEN)) - (portRef D (instanceRef RCKE_2_0)) - )) - (net XOR8MEG (joined - (portRef Q (instanceRef XOR8MEG)) - (portRef C (instanceRef RA11d)) - (portRef D (instanceRef XOR8MEG_3_u_0_a4)) - )) - (net nRRAS_0_sqmuxa (joined - (portRef Z (instanceRef S_RNICVV51_0)) - (portRef C (instanceRef nRWE_0io_RNO_3)) - (portRef CD (instanceRef nRowColSel)) - )) - (net Ready_0_sqmuxa (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef A (instanceRef Ready_fast_RNO)) - )) - (net RCKE_2 (joined - (portRef Z (instanceRef RCKE_2_0)) - (portRef D (instanceRef RCKE)) - )) - (net nRCAS_0_sqmuxa_1 (joined - (portRef Z (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef B (instanceRef nRCAS_0io_RNO)) - (portRef C (instanceRef nRWE_0io_RNO)) - )) - (net wb_clk23 (joined - (portRef Z (instanceRef wb_adr_10_0_o2_0_RNI0U1R_0)) - (portRef CD (instanceRef wb_clk)) - (portRef CD (instanceRef wb_cyc_stb)) - (portRef CD (instanceRef wb_we)) - )) - (net (rename FS_2 "FS[2]") (joined - (portRef Q (instanceRef FS_2)) - (portRef A1 (instanceRef FS_cry_0_1)) - (portRef B (instanceRef un1_FS_7_i_a4_0_3)) - (portRef C (instanceRef wb_clk_RNO_2)) - )) - (net (rename FS_3 "FS[3]") (joined - (portRef Q (instanceRef FS_3)) - (portRef A0 (instanceRef FS_cry_0_3)) - (portRef B (instanceRef un1_FS_7_i_a4_0_0)) - )) - (net XOR8MEG18 (joined - (portRef Z (instanceRef XOR8MEG18_0_a2)) - (portRef A (instanceRef CmdSubmitted_1_sqmuxa_0_a4)) - (portRef A (instanceRef CMDUFMWrite_1_sqmuxa_0_a4)) - (portRef SP (instanceRef CmdLEDEN)) - (portRef SP (instanceRef Cmdn8MEGEN)) - (portRef SP (instanceRef XOR8MEG)) - )) - (net CmdEnable (joined - (portRef Q (instanceRef CmdEnable)) - (portRef A (instanceRef XOR8MEG18_0_a2)) - (portRef A (instanceRef CmdEnable_s)) - )) - (net CmdEnable16 (joined - (portRef Z (instanceRef CmdEnable16_0_a4)) - (portRef D (instanceRef ADSubmitted_r_0)) - (portRef A (instanceRef C1Submitted_RNO)) - )) - (net CmdEnable17 (joined - (portRef Z (instanceRef CmdEnable17_0_a2)) - (portRef C (instanceRef ADSubmitted_r_0)) - (portRef B (instanceRef CmdEnable_s)) - )) - (net CMDUFMWrite_1_sqmuxa (joined - (portRef Z (instanceRef CMDUFMWrite_1_sqmuxa_0_a4)) - (portRef SP (instanceRef CMDUFMWrite)) - (portRef SP (instanceRef CmdUFMData)) - )) - (net CmdSubmitted_1_sqmuxa (joined - (portRef Z (instanceRef CmdSubmitted_1_sqmuxa_0_a4)) - (portRef A (instanceRef CmdSubmitted_RNO)) - (portRef A (instanceRef CmdSubmitted_fast_RNO)) - )) - (net CmdUFMData (joined - (portRef Q (instanceRef CmdUFMData)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0)) - )) - (net ADSubmitted (joined - (portRef Q (instanceRef ADSubmitted)) - (portRef A (instanceRef ADSubmitted_r_0)) - (portRef A (instanceRef CmdEnable_0_sqmuxa_0_a4)) - )) - (net CmdEnable_0_sqmuxa (joined - (portRef Z (instanceRef CmdEnable_0_sqmuxa_0_a4)) - (portRef D (instanceRef CmdEnable_s)) - )) - (net wb_cyc_stb_65 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0)) - (portRef D (instanceRef wb_cyc_stb)) - )) - (net (rename wb_dati_10_7 "wb_dati_10[7]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_7)) - (portRef D (instanceRef wb_dati_7)) - )) - (net C1Submitted_RNO (joined - (portRef Z (instanceRef C1Submitted_RNO)) - (portRef D (instanceRef C1Submitted)) - )) - (net ADSubmitted_r_0 (joined - (portRef Z (instanceRef ADSubmitted_r_0)) - (portRef D (instanceRef ADSubmitted)) - )) - (net CmdEnable_s (joined - (portRef Z (instanceRef CmdEnable_s)) - (portRef D (instanceRef CmdEnable)) - )) - (net wb_we_0_0 (joined - (portRef Z (instanceRef wb_we_0_0)) - (portRef D (instanceRef wb_we)) - )) - (net nRowColSel_0_0 (joined - (portRef Z (instanceRef nRowColSel_0_0)) - (portRef D (instanceRef nRowColSel)) - )) - (net XOR8MEG_3 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_0)) - (portRef D (instanceRef XOR8MEG)) - )) - (net (rename wb_adr_10_0 "wb_adr_10[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_0)) - (portRef D (instanceRef wb_adr_0)) - )) - (net RCKEEN_8 (joined - (portRef Z (instanceRef RCKEEN_8_u)) - (portRef D (instanceRef RCKEEN)) - )) - (net un1_nRCAS_6_sqmuxa_i_0 (joined - (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef B (instanceRef nRCAS_0io_RNO_0)) - )) - (net N_49 (joined - (portRef Z (instanceRef S_0_i_o2_1)) - (portRef A (instanceRef nRCS_9_u_i_0_0)) - (portRef B (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - (portRef D (instanceRef S_1)) - (portRef D (instanceRef RCKEEN_8_u_0_0)) - )) - (net IS_0_sqmuxa_0_o2_0 (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0)) - (portRef C (instanceRef IS_RNO_0)) - (portRef B (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef B (instanceRef nRCS_9_u_i_0_0_RNIOMAB)) - (portRef A (instanceRef IS_0_sqmuxa_0_o2)) - (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef C (instanceRef nRCS_9_u_i_0)) - )) - (net IS_0_sqmuxa_0_o2 (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2)) - (portRef D (instanceRef nRWE_0io_RNO)) - (portRef D (instanceRef RA10_0io_RNO_0)) - )) - (net N_58 (joined - (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) - (portRef C (instanceRef nRCS_9_u_i_0_0_RNIOMAB)) - (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_0)) - (portRef B (instanceRef nRCS_9_u_i_0)) - )) - (net N_65 (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_o2)) - (portRef B (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef C (instanceRef Ready_RNO)) - )) - (net N_97 (joined - (portRef Z (instanceRef nRowColSel_0_0_a3_0)) - (portRef B (instanceRef nRowColSel_0_0)) - )) - (net N_62_i (joined - (portRef Z (instanceRef IS_n1_0_x2)) - (portRef D (instanceRef IS_1)) - )) - (net N_18 (joined - (portRef Z (instanceRef un1_FS_7_i_0)) - (portRef SP (instanceRef LEDEN)) - (portRef SP (instanceRef n8MEGEN)) - )) - (net wb_we_0_0_o2 (joined - (portRef Z (instanceRef wb_we_0_0_o2)) - (portRef B (instanceRef wb_dati_10_1_iv_0_o2_5)) - (portRef B (instanceRef wb_we_0_0_5)) - )) - (net wb_clk_9_iv_i_o2 (joined - (portRef Z (instanceRef wb_clk_9_iv_i_o2)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_a2_2)) - (portRef A (instanceRef wb_cyc_stb_65_0_iv_0_o2_0_0)) - (portRef B (instanceRef wb_clk_RNO_2)) - (portRef C (instanceRef wb_adr_10_0_o2_0_RNI0U1R_0)) - (portRef C (instanceRef wb_we_0_0_1_RNO)) - )) - (net (rename wb_adr_10_0_o2_0 "wb_adr_10_0_o2[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_o2_0)) - (portRef C (instanceRef wb_dati_10_1_iv_0_o2_5)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_1_1)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_1_0_7)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_1_4)) - (portRef A (instanceRef wb_adr_10_0_4_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_7)) - )) - (net (rename wb_adr_10_0_o2_0_0 "wb_adr_10_0_o2_0[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_o2_0_0)) - (portRef B (instanceRef wb_adr_10_0_5_tz_0)) - (portRef A (instanceRef wb_dati_10_1_iv_0_a4_1_3)) - (portRef A (instanceRef wb_adr_10_0_o2_0_RNI0U1R_0)) - )) - (net XOR8MEG_3_u_0_o2_1 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_o2_1)) - (portRef B (instanceRef XOR8MEG_3_u_0_a4_0_2)) - (portRef C (instanceRef XOR8MEG_3_u_0_a4)) - )) - (net CmdLEDEN_4_u_i_o2_0 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_o2_0)) - (portRef B (instanceRef CmdSubmitted_1_sqmuxa_0_a4)) - (portRef B (instanceRef CMDUFMWrite_1_sqmuxa_0_a4)) - (portRef C (instanceRef CmdLEDEN_4_u_i_o2)) - (portRef C (instanceRef CmdLEDEN_RNO)) - (portRef B (instanceRef Cmdn8MEGEN_RNO)) - )) - (net N_113 (joined - (portRef Z (instanceRef wb_adr_10_0_o2_1)) - (portRef A (instanceRef wb_adr_10_0_a2_12_0)) - (portRef C (instanceRef wb_adr_10_0_a4_1)) - )) - (net N_122 (joined - (portRef Z (instanceRef un1_ADWR_i_o4)) - (portRef B (instanceRef CmdEnable16_0_a4)) - (portRef A (instanceRef CmdEnable_s_RNO)) - (portRef B (instanceRef CmdEnable_0_sqmuxa_0_a4)) - (portRef D (instanceRef XOR8MEG18_0_a2)) - (portRef B (instanceRef CmdEnable17_0_a2)) - (portRef B (instanceRef ADSubmitted_r_0_RNO)) - (portRef C (instanceRef C1Submitted_RNO)) - )) - (net N_126 (joined - (portRef Z (instanceRef wb_adr_10_0_a2_RNIIJC01_1)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_o2_2_0)) - (portRef A (instanceRef wb_adr_10_0_3_0)) - )) - (net N_129 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_o2)) - (portRef D (instanceRef CmdLEDEN_4_u_i_0)) - (portRef D (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net LEDEN_6_i_m2 (joined - (portRef Z (instanceRef LEDEN_6_i_m2)) - (portRef D (instanceRef LEDEN)) - )) - (net n8MEGEN_6_i_m2 (joined - (portRef Z (instanceRef n8MEGEN_6_i_m2)) - (portRef D (instanceRef n8MEGEN)) - )) - (net wb_cyc_stb_65_0_iv_0_o2_1 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_o2_1)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_o2_2_0)) - )) - (net N_200 (joined - (portRef Z (instanceRef wb_adr_10_0_a4_3_0)) - (portRef B (instanceRef wb_adr_10_0_1_0)) - )) - (net N_203 (joined - (portRef Z (instanceRef wb_adr_10_0_a4_6_0)) - (portRef C (instanceRef wb_adr_10_0_1_0)) - )) - (net N_204 (joined - (portRef Z (instanceRef wb_adr_10_0_a4_7_0)) - (portRef B (instanceRef wb_adr_10_0_3_0)) - )) - (net un1_FS_7_i_a4_0 (joined - (portRef Z (instanceRef un1_FS_7_i_a4_0)) - (portRef C (instanceRef un1_FS_7_i_0)) - )) - (net XOR8MEG_3_u_0_a4 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a4)) - (portRef C (instanceRef XOR8MEG_3_u_0_0)) - )) - (net (rename wb_dati_10_1_iv_0_a2_7 "wb_dati_10_1_iv_0_a2[7]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a2_7)) - (portRef C (instanceRef wb_adr_10_0_a2_6_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_0_7)) - )) - (net (rename wb_adr_10_0_a2_0_0 "wb_adr_10_0_a2_0[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_0_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_6)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_1_4)) - (portRef B (instanceRef un1_FS_7_i_a4_0)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_3)) - (portRef B (instanceRef wb_dati_10_1_iv_0_1)) - (portRef C (instanceRef wb_dati_10_1_iv_0_5)) - (portRef C (instanceRef wb_dati_10_1_iv_0_2)) - (portRef A (instanceRef wb_adr_10_0_0)) - (portRef B (instanceRef wb_dati_10_1_iv_0_4)) - (portRef B (instanceRef wb_dati_10_0_iv_0_RNO_0)) - )) - (net wb_cyc_stb_65_0_iv_0_a2_2_RNO (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_a2_2_RNO)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_a2_2)) - )) - (net (rename wb_adr_10_0_a2_1_0 "wb_adr_10_0_a2_1[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_1_0)) - (portRef A (instanceRef wb_we_0_0_a2)) - (portRef C (instanceRef wb_dati_10_1_iv_0_1_6)) - (portRef C (instanceRef wb_adr_10_0_5_tz_0)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0_o2_1)) - (portRef A (instanceRef wb_adr_10_0_a4_1_1)) - (portRef A (instanceRef wb_dati_10_0_iv_0_RNO_0)) - )) - (net XOR8MEG_3_u_0_a2 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a2)) - (portRef C (instanceRef XOR8MEG_3_u_0_a4_0_2)) - )) - (net CMDUFMWrite_1_sqmuxa_0_a2_0 (joined - (portRef Z (instanceRef CMDUFMWrite_1_sqmuxa_0_a2_0)) - (portRef C (instanceRef un1_CmdEnable20_0_a2_0)) - (portRef D (instanceRef CmdLEDEN_RNO)) - (portRef C (instanceRef Cmdn8MEGEN_RNO)) - )) - (net un1_CmdEnable20_0_a2 (joined - (portRef Z (instanceRef un1_CmdEnable20_0_a2)) - (portRef C (instanceRef CmdEnable16_0_a4)) - (portRef B (instanceRef CmdEnable_s_RNO)) - (portRef B (instanceRef CmdEnable_0_sqmuxa_0_a2)) - )) - (net (rename wb_adr_10_0_a2_3_0 "wb_adr_10_0_a2_3[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_3_0)) - (portRef B (instanceRef wb_adr_10_0_a4_3_0)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_o2_0_0)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_2_4)) - (portRef B (instanceRef wb_adr_10_0_a2_RNIIJC01_1)) - )) - (net CmdEnable_0_sqmuxa_0_a2 (joined - (portRef Z (instanceRef CmdEnable_0_sqmuxa_0_a2)) - (portRef D (instanceRef un1_CmdEnable20_0_a2_0)) - (portRef C (instanceRef CmdEnable_0_sqmuxa_0_a4)) - )) - (net XOR8MEG_3_u_0_a2_0 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a2_0)) - (portRef D (instanceRef XOR8MEG_3_u_0_a4_0_2)) - (portRef D (instanceRef CmdEnable_0_sqmuxa_0_a2_0)) - )) - (net (rename wb_adr_10_0_a2_1 "wb_adr_10_0_a2[1]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_1)) - (portRef B (instanceRef wb_adr_10_0_a4_1_1)) - (portRef A (instanceRef wb_adr_10_0_a2_RNIIJC01_1)) - (portRef A (instanceRef wb_adr_10_0_a2_RNIQ1AL_1)) - )) - (net (rename FS_RNIU61E_5 "FS_RNIU61E[5]") (joined - (portRef Z (instanceRef FS_RNIU61E_5)) - (portRef C (instanceRef wb_adr_10_0_a4_3_0)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0_a2_4)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0_o2_0_0)) - (portRef C (instanceRef wb_we_0_0_a4)) - )) - (net wb_clk_9_iv_i_o2_2_RNIOE4Q (joined - (portRef Z (instanceRef wb_clk_9_iv_i_o2_2_RNIOE4Q)) - (portRef D (instanceRef wb_adr_10_0_a4_3_0)) - (portRef D (instanceRef wb_we_0_0_a4)) - )) - (net (rename wb_adr_10_0_a2_6_0 "wb_adr_10_0_a2_6[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_6_0)) - (portRef D (instanceRef wb_adr_10_0_a4_1)) - (portRef B (instanceRef wb_adr_10_0_4_0)) - (portRef C (instanceRef wb_we_0_0_5)) - (portRef C (instanceRef wb_dati_10_1_iv_0_7)) - )) - (net (rename wb_adr_10_0_a2_7_0 "wb_adr_10_0_a2_7[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_7_0)) - (portRef D (instanceRef wb_dati_10_1_iv_0_a4_2_4)) - (portRef B (instanceRef wb_dati_10_1_iv_0_a4_1_3)) - (portRef C (instanceRef wb_adr_10_0_4_0)) - (portRef D (instanceRef wb_we_0_0_5)) - )) - (net CmdEnable_0_sqmuxa_0_a2_0 (joined - (portRef Z (instanceRef CmdEnable_0_sqmuxa_0_a2_0)) - (portRef A (instanceRef CmdEnable16_0_a4)) - (portRef C (instanceRef CmdEnable_s_RNO)) - (portRef D (instanceRef CmdEnable_0_sqmuxa_0_a4)) - )) - (net (rename FS_RNIPIOA_0_11 "FS_RNIPIOA_0[11]") (joined - (portRef Z (instanceRef FS_RNIPIOA_0_11)) - (portRef D (instanceRef wb_adr_10_0_5_tz_0)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_a2_2)) - )) - (net (rename FS_RNI1T8E_7 "FS_RNI1T8E[7]") (joined - (portRef Z (instanceRef FS_RNI1T8E_7)) - (portRef C (instanceRef wb_adr_10_0_a4_6_0)) - (portRef C (instanceRef un1_FS_7_i_a4_0)) - (portRef B (instanceRef wb_dati_10_0_iv_0_0)) - )) - (net un1_CmdEnable20_0_a2_0 (joined - (portRef Z (instanceRef un1_CmdEnable20_0_a2_0)) - (portRef D (instanceRef CmdEnable_s_RNO_0)) - (portRef C (instanceRef CmdEnable17_0_a2)) - )) - (net (rename wb_adr_10_0_a2_11_0 "wb_adr_10_0_a2_11[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_11_0)) - (portRef C (instanceRef wb_adr_10_0_a4_1_1)) - (portRef B (instanceRef wb_dati_10_0_iv_0_0_0)) - (portRef C (instanceRef wb_adr_10_0_3_0)) - )) - (net wb_we_0_0_a2 (joined - (portRef Z (instanceRef wb_we_0_0_a2)) - (portRef A (instanceRef wb_we_0_0_3)) - (portRef B (instanceRef wb_dati_10_1_iv_0_1_7)) - )) - (net (rename wb_adr_10_0_a2_12_0 "wb_adr_10_0_a2_12[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a2_12_0)) - (portRef D (instanceRef wb_adr_10_0_a4_7_0)) - (portRef C (instanceRef wb_dati_10_0_iv_0_0)) - (portRef B (instanceRef wb_we_0_0)) - )) - (net N_208 (joined - (portRef Z (instanceRef wb_adr_10_0_a4_1_1)) - (portRef C (instanceRef wb_adr_10_0_1)) - )) - (net N_259 (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_1_4)) - (portRef B (instanceRef wb_dati_10_1_iv_0_1_4)) - )) - (net N_261 (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_3)) - (portRef B (instanceRef wb_dati_10_1_iv_0_3)) - )) - (net N_183 (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_m2_3)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_3)) - )) - (net N_269 (joined - (portRef Z (instanceRef wb_dati_10_0_iv_0_RNO_0)) - (portRef A (instanceRef wb_dati_10_0_iv_0_0)) - )) - (net wb_rst_3 (joined - (portRef Z (instanceRef wb_rst_RNO)) - (portRef D (instanceRef wb_rst)) - )) - (net N_309 (joined - (portRef Z (instanceRef wb_rst_3_0_a2)) - (portRef B (instanceRef wb_we_0_0_a2)) - (portRef B (instanceRef wb_adr_10_0_a2_12_0)) - (portRef B (instanceRef wb_adr_10_0_a2_7_0)) - (portRef B (instanceRef wb_adr_10_0_a2_0_0)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_a2_4)) - (portRef B (instanceRef wb_we_0_0_2)) - (portRef C (instanceRef wb_adr_10_0_a2_11_0)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a2_7)) - (portRef B (instanceRef wb_adr_10_0_a4_6_0)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0_o2_2_0)) - (portRef A (instanceRef wb_rst_RNO)) - )) - (net N_272 (joined - (portRef Z (instanceRef wb_we_0_0_a4)) - (portRef B (instanceRef wb_we_0_0_1)) - )) - (net N_314 (joined - (portRef Z (instanceRef wb_we_0_0_a2_0)) - (portRef B (instanceRef wb_we_0_0_a4)) - (portRef C (instanceRef wb_we_0_0_2)) - )) - (net N_308 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_a2_4)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_a2)) - )) - (net (rename wb_adr_10_1 "wb_adr_10[1]") (joined - (portRef Z (instanceRef wb_adr_10_0_1)) - (portRef D (instanceRef wb_adr_1)) - )) - (net N_205 (joined - (portRef Z (instanceRef wb_adr_10_0_a4_1)) - (portRef B (instanceRef wb_adr_10_0_1)) - )) - (net (rename wb_dati_10_3 "wb_dati_10[3]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_3)) - (portRef D (instanceRef wb_dati_3)) - )) - (net N_263 (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_1_3)) - (portRef C (instanceRef wb_dati_10_1_iv_0_3)) - )) - (net N_260 (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_2_4)) - (portRef C (instanceRef wb_dati_10_1_iv_0_1_4)) - )) - (net N_110 (joined - (portRef Z (instanceRef FS_RNIPIOA_11)) - (portRef D (instanceRef InitReady3_0_a4)) - (portRef A (instanceRef wb_clk_RNO_2)) - (portRef B (instanceRef wb_we_0_0_1_RNO)) - )) - (net N_273 (joined - (portRef Z (instanceRef wb_we_0_0_1_RNO)) - (portRef C (instanceRef wb_we_0_0_1)) - )) - (net N_306 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_a2_2)) - (portRef B (instanceRef wb_cyc_stb_65_0_iv_0_o2_0_0)) - )) - (net (rename wb_dati_10_4 "wb_dati_10[4]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_4)) - (portRef D (instanceRef wb_dati_4)) - )) - (net (rename wb_dati_10_0 "wb_dati_10[0]") (joined - (portRef Z (instanceRef wb_dati_10_0_iv_0_0)) - (portRef D (instanceRef wb_dati_0)) - )) - (net N_239 (joined - (portRef Z (instanceRef wb_adr_10_0_i_o2_6)) - (portRef D (instanceRef wb_adr_6)) - )) - (net N_341 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_a2)) - (portRef B (instanceRef wb_adr_10_0_i_o2_4)) - (portRef B (instanceRef wb_adr_10_0_i_o2_5)) - (portRef B (instanceRef wb_adr_10_0_i_o2_6)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0)) - )) - (net N_238 (joined - (portRef Z (instanceRef wb_adr_10_0_i_o2_5)) - (portRef D (instanceRef wb_adr_5)) - )) - (net N_237 (joined - (portRef Z (instanceRef wb_adr_10_0_i_o2_4)) - (portRef D (instanceRef wb_adr_4)) - )) - (net N_118 (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_o2_5)) - (portRef B (instanceRef wb_dati_10_1_iv_0_5)) - (portRef B (instanceRef wb_dati_10_1_iv_0_2)) - )) - (net (rename wb_dati_10_2 "wb_dati_10[2]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_2)) - (portRef D (instanceRef wb_dati_2)) - )) - (net (rename wb_dati_10_5 "wb_dati_10[5]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_5)) - (portRef D (instanceRef wb_dati_5)) - )) - (net (rename wb_dati_10_1 "wb_dati_10[1]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_1)) - (portRef D (instanceRef wb_dati_1)) - )) - (net (rename wb_dati_10_6 "wb_dati_10[6]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_6)) - (portRef D (instanceRef wb_dati_6)) - )) - (net (rename wb_adr_10_2 "wb_adr_10[2]") (joined - (portRef Z (instanceRef wb_adr_10_2)) - (portRef D (instanceRef wb_adr_2)) - )) - (net (rename wb_adr_10_3 "wb_adr_10[3]") (joined - (portRef Z (instanceRef wb_adr_10_3)) - (portRef D (instanceRef wb_adr_3)) - )) - (net (rename wb_adr_10_7 "wb_adr_10[7]") (joined - (portRef Z (instanceRef wb_adr_10_7)) - (portRef D (instanceRef wb_adr_7)) - )) - (net RCKEEN_8_u_0_0 (joined - (portRef Z (instanceRef RCKEEN_8_u_0_0)) - (portRef B (instanceRef RCKEEN_8_u)) - )) - (net wb_we_0_0_2 (joined - (portRef Z (instanceRef wb_we_0_0_2)) - (portRef C (instanceRef wb_we_0_0_3)) - )) - (net (rename wb_adr_10_0_5_tz_0 "wb_adr_10_0_5_tz[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_5_tz_0)) - (portRef D (instanceRef wb_adr_10_0_0)) - )) - (net N_32_i_1 (joined - (portRef Z (instanceRef nRCAS_r_i_a3_1_1_tz)) - (portRef A (instanceRef nRCAS_0io_RNO)) - (portRef B (instanceRef nRCS_0io_RNO)) - )) - (net CmdLEDEN_4_u_i_a4_0_0 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_a4_0_0)) - (portRef B (instanceRef CmdLEDEN_4_u_i_0)) - (portRef A (instanceRef Cmdn8MEGEN_4_u_i_0)) - )) - (net wb_we_0_0_a4_0_0 (joined - (portRef Z (instanceRef wb_we_0_0_a4_0_0)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0_a2_2)) - (portRef A (instanceRef wb_we_0_0_1_RNO)) - )) - (net nRCS_9_u_i_0 (joined - (portRef Z (instanceRef nRCS_9_u_i_0)) - (portRef C (instanceRef nRCS_0io_RNO_0)) - )) - (net wb_we_0_0_a4_6_0 (joined - (portRef Z (instanceRef wb_adr_10_0_a2_RNIQ1AL_1)) - (portRef D (instanceRef wb_we_0_0_2)) - (portRef D (instanceRef wb_dati_10_0_iv_0_0_0)) - )) - (net nCRAS_c_i (joined - (portRef Z (instanceRef nCRAS_pad_RNIBPVB)) - (portRef CK (instanceRef CBR)) - (portRef CK (instanceRef CBR_fast)) - (portRef CK (instanceRef FWEr)) - (portRef CK (instanceRef FWEr_fast)) - (portRef CK (instanceRef RowA_9)) - (portRef CK (instanceRef RowA_8)) - (portRef CK (instanceRef RowA_7)) - (portRef CK (instanceRef RowA_6)) - (portRef CK (instanceRef RowA_5)) - (portRef CK (instanceRef RowA_4)) - (portRef CK (instanceRef RowA_3)) - (portRef CK (instanceRef RowA_2)) - (portRef CK (instanceRef RowA_1)) - (portRef CK (instanceRef RowA_0)) - (portRef SCLK (instanceRef RBA_0io_1)) - (portRef SCLK (instanceRef RBA_0io_0)) - )) - (net RD_1_i (joined - (portRef Z (instanceRef nCCAS_pad_RNI01SJ)) - (portRef T (instanceRef RD_pad_0)) - (portRef T (instanceRef RD_pad_1)) - (portRef T (instanceRef RD_pad_2)) - (portRef T (instanceRef RD_pad_3)) - (portRef T (instanceRef RD_pad_4)) - (portRef T (instanceRef RD_pad_5)) - (portRef T (instanceRef RD_pad_6)) - (portRef T (instanceRef RD_pad_7)) - )) - (net N_193_i (joined - (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) - (portRef SP (instanceRef IS_3)) - (portRef SP (instanceRef IS_2)) - (portRef SP (instanceRef IS_1)) - )) - (net N_29_i (joined - (portRef Z (instanceRef nRCS_9_u_i_0_0_RNIOMAB)) - (portRef A (instanceRef nRCS_0io_RNO)) - (portRef D (instanceRef nRRAS_0io)) - )) - (net N_32_i (joined - (portRef Z (instanceRef nRCS_0io_RNO)) - (portRef D (instanceRef nRCS_0io)) - )) - (net N_186_i (joined - (portRef Z (instanceRef nRCAS_0io_RNO)) - (portRef D (instanceRef nRCAS_0io)) - )) - (net N_44_i (joined - (portRef Z (instanceRef nRWE_0io_RNO)) - (portRef D (instanceRef nRWE_0io)) - )) - (net N_71_i_i (joined - (portRef Z (instanceRef IS_RNO_0)) - (portRef D (instanceRef IS_0)) - )) - (net N_69_i_i (joined - (portRef Z (instanceRef IS_RNO_3)) - (portRef D (instanceRef IS_3)) - )) - (net N_66_i_i (joined - (portRef Z (instanceRef IS_RNO_2)) - (portRef D (instanceRef IS_2)) - )) - (net N_95_i (joined - (portRef Z (instanceRef S_RNO_0)) - (portRef D (instanceRef S_0)) - )) - (net N_86_i (joined - (portRef Z (instanceRef wb_clk_RNO)) - (portRef D (instanceRef wb_clk)) - )) - (net N_245_i (joined - (portRef Z (instanceRef wb_clk_RNO_0)) - (portRef SP (instanceRef wb_clk)) - )) - (net un1_wb_clk32_i (joined - (portRef Z (instanceRef CMDUFMWrite_RNIHQ1E1)) - (portRef SP (instanceRef wb_adr_7)) - (portRef SP (instanceRef wb_adr_6)) - (portRef SP (instanceRef wb_adr_5)) - (portRef SP (instanceRef wb_adr_4)) - (portRef SP (instanceRef wb_adr_3)) - (portRef SP (instanceRef wb_adr_2)) - (portRef SP (instanceRef wb_adr_1)) - (portRef SP (instanceRef wb_adr_0)) - (portRef SP (instanceRef wb_cyc_stb)) - (portRef SP (instanceRef wb_dati_7)) - (portRef SP (instanceRef wb_dati_6)) - (portRef SP (instanceRef wb_dati_5)) - (portRef SP (instanceRef wb_dati_4)) - (portRef SP (instanceRef wb_dati_3)) - (portRef SP (instanceRef wb_dati_2)) - (portRef SP (instanceRef wb_dati_1)) - (portRef SP (instanceRef wb_dati_0)) - (portRef SP (instanceRef wb_we)) - )) - (net N_72_i (joined - (portRef Z (instanceRef CmdLEDEN_RNO)) - (portRef D (instanceRef CmdLEDEN)) - )) - (net N_210_i (joined - (portRef Z (instanceRef Cmdn8MEGEN_RNO)) - (portRef D (instanceRef Cmdn8MEGEN)) - )) - (net un1_CmdEnable20_i (joined - (portRef Z (instanceRef CmdEnable_s_RNO)) - (portRef C (instanceRef CmdEnable_s)) - )) - (net N_209_i (joined - (portRef Z (instanceRef ADSubmitted_r_0_RNO)) - (portRef B (instanceRef ADSubmitted_r_0)) - )) - (net (rename FS_cry_0 "FS_cry[0]") (joined - (portRef COUT (instanceRef FS_cry_0_0)) - (portRef CIN (instanceRef FS_cry_0_1)) - )) - (net (rename FS_s_0 "FS_s[0]") (joined - (portRef S1 (instanceRef FS_cry_0_0)) - (portRef D (instanceRef FS_0)) - )) - (net (rename FS_s_1 "FS_s[1]") (joined - (portRef S0 (instanceRef FS_cry_0_1)) - (portRef D (instanceRef FS_1)) - )) - (net (rename FS_cry_2 "FS_cry[2]") (joined - (portRef COUT (instanceRef FS_cry_0_1)) - (portRef CIN (instanceRef FS_cry_0_3)) - )) - (net (rename FS_s_2 "FS_s[2]") (joined - (portRef S1 (instanceRef FS_cry_0_1)) - (portRef D (instanceRef FS_2)) - )) - (net (rename FS_s_3 "FS_s[3]") (joined - (portRef S0 (instanceRef FS_cry_0_3)) - (portRef D (instanceRef FS_3)) - )) - (net (rename FS_cry_4 "FS_cry[4]") (joined - (portRef COUT (instanceRef FS_cry_0_3)) - (portRef CIN (instanceRef FS_cry_0_5)) - )) - (net (rename FS_s_4 "FS_s[4]") (joined - (portRef S1 (instanceRef FS_cry_0_3)) - (portRef D (instanceRef FS_4)) - )) - (net (rename FS_s_5 "FS_s[5]") (joined - (portRef S0 (instanceRef FS_cry_0_5)) - (portRef D (instanceRef FS_5)) - )) - (net (rename FS_cry_6 "FS_cry[6]") (joined - (portRef COUT (instanceRef FS_cry_0_5)) - (portRef CIN (instanceRef FS_cry_0_7)) - )) - (net (rename FS_s_6 "FS_s[6]") (joined - (portRef S1 (instanceRef FS_cry_0_5)) - (portRef D (instanceRef FS_6)) - )) - (net (rename FS_s_7 "FS_s[7]") (joined - (portRef S0 (instanceRef FS_cry_0_7)) - (portRef D (instanceRef FS_7)) - )) - (net (rename FS_cry_8 "FS_cry[8]") (joined - (portRef COUT (instanceRef FS_cry_0_7)) - (portRef CIN (instanceRef FS_cry_0_9)) - )) - (net (rename FS_s_8 "FS_s[8]") (joined - (portRef S1 (instanceRef FS_cry_0_7)) - (portRef D (instanceRef FS_8)) - )) - (net (rename FS_s_9 "FS_s[9]") (joined - (portRef S0 (instanceRef FS_cry_0_9)) - (portRef D (instanceRef FS_9)) - )) - (net (rename FS_cry_10 "FS_cry[10]") (joined - (portRef COUT (instanceRef FS_cry_0_9)) - (portRef CIN (instanceRef FS_cry_0_11)) - )) - (net (rename FS_s_10 "FS_s[10]") (joined - (portRef S1 (instanceRef FS_cry_0_9)) - (portRef D (instanceRef FS_10)) - )) - (net (rename FS_s_11 "FS_s[11]") (joined - (portRef S0 (instanceRef FS_cry_0_11)) - (portRef D (instanceRef FS_11)) - )) - (net (rename FS_cry_12 "FS_cry[12]") (joined - (portRef COUT (instanceRef FS_cry_0_11)) - (portRef CIN (instanceRef FS_cry_0_13)) - )) - (net (rename FS_s_12 "FS_s[12]") (joined - (portRef S1 (instanceRef FS_cry_0_11)) - (portRef D (instanceRef FS_12)) - )) - (net (rename FS_s_13 "FS_s[13]") (joined - (portRef S0 (instanceRef FS_cry_0_13)) - (portRef D (instanceRef FS_13)) - )) - (net (rename FS_cry_14 "FS_cry[14]") (joined - (portRef COUT (instanceRef FS_cry_0_13)) - (portRef CIN (instanceRef FS_cry_0_15)) - )) - (net (rename FS_s_14 "FS_s[14]") (joined - (portRef S1 (instanceRef FS_cry_0_13)) - (portRef D (instanceRef FS_14)) - )) - (net (rename FS_s_15 "FS_s[15]") (joined - (portRef S0 (instanceRef FS_cry_0_15)) - (portRef D (instanceRef FS_15)) - )) - (net (rename FS_cry_16 "FS_cry[16]") (joined - (portRef COUT (instanceRef FS_cry_0_15)) - (portRef CIN (instanceRef FS_s_0_17)) - )) - (net (rename FS_s_16 "FS_s[16]") (joined - (portRef S1 (instanceRef FS_cry_0_15)) - (portRef D (instanceRef FS_16)) - )) - (net (rename FS_s_17 "FS_s[17]") (joined - (portRef S0 (instanceRef FS_s_0_17)) - (portRef D (instanceRef FS_17)) - )) - (net RA10s_i (joined - (portRef Z (instanceRef RA10_0io_RNO_0)) - (portRef PD (instanceRef RA10_0io)) - )) - (net un1_PHI2r3_0 (joined - (portRef Z (instanceRef un1_PHI2r3_0)) - (portRef D (instanceRef un1_FS_7_i_0)) - (portRef B (instanceRef wb_clk_RNO_1)) - )) - (net Cmdn8MEGEN_4_u_i_0 (joined - (portRef Z (instanceRef Cmdn8MEGEN_4_u_i_0)) - (portRef A (instanceRef Cmdn8MEGEN_RNO)) - )) - (net CmdLEDEN_4_u_i_0 (joined - (portRef Z (instanceRef CmdLEDEN_4_u_i_0)) - (portRef A (instanceRef CmdLEDEN_RNO)) - )) - (net wb_clk_9_iv_i_o2_2 (joined - (portRef Z (instanceRef wb_clk_9_iv_i_o2_2)) - (portRef B (instanceRef wb_rst_3_0_a2)) - (portRef C (instanceRef wb_clk_9_iv_i_o2)) - (portRef B (instanceRef wb_clk_9_iv_i_o2_2_RNIOE4Q)) - )) - (net wb_we_0_0_a4_0_0_1 (joined - (portRef Z (instanceRef wb_we_0_0_a4_0_0_1)) - (portRef D (instanceRef wb_we_0_0_a4_0_0)) - )) - (net XOR8MEG_3_u_0_a4_0_2 (joined - (portRef Z (instanceRef XOR8MEG_3_u_0_a4_0_2)) - (portRef D (instanceRef XOR8MEG_3_u_0_0)) - )) - (net Ready_0_sqmuxa_0_a3_2 (joined - (portRef Z (instanceRef Ready_0_sqmuxa_0_a3_2)) - (portRef D (instanceRef Ready_0_sqmuxa_0_a3)) - (portRef B (instanceRef Ready_RNO)) - )) - (net InitReady3_0_a4_2 (joined - (portRef Z (instanceRef InitReady3_0_a4_2)) - (portRef C (instanceRef InitReady3_0_a4)) - )) - (net un1_ADWR_i_o4_3 (joined - (portRef Z (instanceRef un1_ADWR_i_o4_3)) - (portRef C (instanceRef un1_ADWR_i_o4_10)) - )) - (net un1_ADWR_i_o4_4 (joined - (portRef Z (instanceRef un1_ADWR_i_o4_4)) - (portRef D (instanceRef un1_ADWR_i_o4_10)) - )) - (net un1_ADWR_i_o4_10 (joined - (portRef Z (instanceRef un1_ADWR_i_o4_10)) - (portRef C (instanceRef un1_ADWR_i_o4)) - )) - (net un1_ADWR_i_o4_11 (joined - (portRef Z (instanceRef un1_ADWR_i_o4_11)) - (portRef D (instanceRef un1_ADWR_i_o4)) - )) - (net nRCS_9_u_i_0_0 (joined - (portRef Z (instanceRef nRCS_9_u_i_0_0)) - (portRef A (instanceRef nRCS_9_u_i_0_0_RNIOMAB)) - (portRef D (instanceRef nRCS_9_u_i_0)) - )) - (net (rename wb_dati_10_1_iv_0_a4_1_7 "wb_dati_10_1_iv_0_a4_1[7]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_1_0_7)) - (portRef D (instanceRef wb_dati_10_1_iv_0_0_7)) - )) - (net wb_cyc_stb_65_0_iv_0_o2_0 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_o2_0_0)) - (portRef C (instanceRef wb_cyc_stb_65_0_iv_0_a2)) - )) - (net wb_cyc_stb_65_0_iv_0_o2_2 (joined - (portRef Z (instanceRef wb_cyc_stb_65_0_iv_0_o2_2_0)) - (portRef D (instanceRef wb_cyc_stb_65_0_iv_0_a2)) - )) - (net (rename wb_adr_10_0_a4_0_0 "wb_adr_10_0_a4_0[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_a4_0_0_0)) - (portRef D (instanceRef wb_adr_10_0_4_0)) - )) - (net (rename wb_dati_10_1_iv_0_a4_1_0_0_3 "wb_dati_10_1_iv_0_a4_1_0_0[3]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_1_0_0_3)) - (portRef C (instanceRef wb_dati_10_1_iv_0_a4_1_3)) - )) - (net (rename wb_dati_10_1_iv_0_a4_1_1 "wb_dati_10_1_iv_0_a4_1[1]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_1_1)) - (portRef D (instanceRef wb_dati_10_1_iv_0_1)) - )) - (net (rename wb_dati_10_1_iv_0_a4_0_4 "wb_dati_10_1_iv_0_a4_0[4]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_0_0_4)) - (portRef D (instanceRef wb_dati_10_1_iv_0_4)) - )) - (net (rename wb_dati_10_1_iv_0_a4_0_6 "wb_dati_10_1_iv_0_a4_0[6]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_a4_0_1_6)) - (portRef D (instanceRef wb_dati_10_1_iv_0_1_6)) - )) - (net (rename wb_dati_10_1_iv_0_0_7 "wb_dati_10_1_iv_0_0[7]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_0_7)) - (portRef C (instanceRef wb_dati_10_1_iv_0_1_7)) - )) - (net (rename wb_dati_10_1_iv_0_1_7 "wb_dati_10_1_iv_0_1[7]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_1_7)) - (portRef D (instanceRef wb_dati_10_1_iv_0_7)) - )) - (net (rename wb_dati_10_0_iv_0_0_0 "wb_dati_10_0_iv_0_0[0]") (joined - (portRef Z (instanceRef wb_dati_10_0_iv_0_0_0)) - (portRef D (instanceRef wb_dati_10_0_iv_0_0)) - )) - (net un1_FS_7_i_a4_0_0 (joined - (portRef Z (instanceRef un1_FS_7_i_a4_0_0)) - (portRef D (instanceRef un1_FS_7_i_a4_0_3)) - )) - (net un1_FS_7_i_a4_0_3 (joined - (portRef Z (instanceRef un1_FS_7_i_a4_0_3)) - (portRef D (instanceRef un1_FS_7_i_a4_0)) - )) - (net wb_we_0_0_1 (joined - (portRef Z (instanceRef wb_we_0_0_1)) - (portRef B (instanceRef wb_we_0_0_3)) - )) - (net wb_we_0_0_3 (joined - (portRef Z (instanceRef wb_we_0_0_3)) - (portRef C (instanceRef wb_we_0_0)) - )) - (net wb_we_0_0_5 (joined - (portRef Z (instanceRef wb_we_0_0_5)) - (portRef D (instanceRef wb_we_0_0)) - )) - (net (rename wb_dati_10_1_iv_0_1_4 "wb_dati_10_1_iv_0_1[4]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_1_4)) - (portRef C (instanceRef wb_dati_10_1_iv_0_4)) - )) - (net (rename wb_adr_10_0_1_0 "wb_adr_10_0_1[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_1_0)) - (portRef D (instanceRef wb_adr_10_0_3_0)) - )) - (net (rename wb_adr_10_0_3_0 "wb_adr_10_0_3[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_3_0)) - (portRef B (instanceRef wb_adr_10_0_0)) - )) - (net (rename wb_adr_10_0_4_0 "wb_adr_10_0_4[0]") (joined - (portRef Z (instanceRef wb_adr_10_0_4_0)) - (portRef C (instanceRef wb_adr_10_0_0)) - )) - (net (rename FS_cry_0_S0_0 "FS_cry_0_S0[0]") (joined - (portRef S0 (instanceRef FS_cry_0_0)) - )) - (net (rename FS_s_0_S1_17 "FS_s_0_S1[17]") (joined - (portRef S1 (instanceRef FS_s_0_17)) - )) - (net (rename FS_s_0_COUT_17 "FS_s_0_COUT[17]") (joined - (portRef COUT (instanceRef FS_s_0_17)) - )) - (net (rename wb_dati_10_1_iv_0_o2_1_5 "wb_dati_10_1_iv_0_o2_1[5]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_o2_1_5)) - (portRef D (instanceRef wb_dati_10_1_iv_0_o2_5)) - )) - (net RCKEEN_8_u_1_0 (joined - (portRef Z (instanceRef RCKEEN_8_u_1_0)) - (portRef C (instanceRef RCKEEN_8_u)) - )) - (net (rename wb_dati_10_1_iv_0_1_6 "wb_dati_10_1_iv_0_1[6]") (joined - (portRef Z (instanceRef wb_dati_10_1_iv_0_1_6)) - (portRef D (instanceRef wb_dati_10_1_iv_0_6)) - )) - (net un1_CmdEnable20_i_1 (joined - (portRef Z (instanceRef CmdEnable_s_RNO_0)) - (portRef D (instanceRef CmdEnable_s_RNO)) - )) - (net (rename RowAd_0_3 "RowAd_0[3]") (joined - (portRef Z (instanceRef RowAd_3)) - (portRef D (instanceRef RowA_3)) - )) - (net (rename RowAd_0_0 "RowAd_0[0]") (joined - (portRef Z (instanceRef RowAd_0)) - (portRef D (instanceRef RowA_0)) - )) - (net (rename RowAd_0_1 "RowAd_0[1]") (joined - (portRef Z (instanceRef RowAd_1)) - (portRef D (instanceRef RowA_1)) - )) - (net (rename RowAd_0_2 "RowAd_0[2]") (joined - (portRef Z (instanceRef RowAd_2)) - (portRef D (instanceRef RowA_2)) - )) - (net (rename RowAd_0_7 "RowAd_0[7]") (joined - (portRef Z (instanceRef RowAd_7)) - (portRef D (instanceRef RowA_7)) - )) - (net (rename RowAd_0_4 "RowAd_0[4]") (joined - (portRef Z (instanceRef RowAd_4)) - (portRef D (instanceRef RowA_4)) - )) - (net (rename RowAd_0_5 "RowAd_0[5]") (joined - (portRef Z (instanceRef RowAd_5)) - (portRef D (instanceRef RowA_5)) - )) - (net (rename RowAd_0_6 "RowAd_0[6]") (joined - (portRef Z (instanceRef RowAd_6)) - (portRef D (instanceRef RowA_6)) - )) - (net (rename RBAd_0_1 "RBAd_0[1]") (joined - (portRef Z (instanceRef RBAd_1)) - (portRef D (instanceRef RBA_0io_1)) - )) - (net (rename RowAd_0_8 "RowAd_0[8]") (joined - (portRef Z (instanceRef RowAd_8)) - (portRef D (instanceRef RowA_8)) - )) - (net (rename RowAd_0_9 "RowAd_0[9]") (joined - (portRef Z (instanceRef RowAd_9)) - (portRef D (instanceRef RowA_9)) - )) - (net (rename RBAd_0_0 "RBAd_0[0]") (joined - (portRef Z (instanceRef RBAd_0)) - (portRef D (instanceRef RBA_0io_0)) - )) - (net RA11d_0 (joined - (portRef Z (instanceRef RA11d)) - (portRef D (instanceRef RA11_0io)) - )) - (net G_8_0_a3_0_0 (joined - (portRef Z (instanceRef PHI2r3_RNIFT0I)) - (portRef C (instanceRef CMDUFMWrite_RNIHQ1E1)) - )) - (net CmdSubmitted_fast (joined - (portRef Q (instanceRef CmdSubmitted_fast)) - (portRef B (instanceRef CMDUFMWrite_RNIHQ1E1)) - (portRef B (instanceRef CmdSubmitted_fast_RNO)) - )) - (net Ready_fast (joined - (portRef Q (instanceRef Ready_fast)) - (portRef B (instanceRef RBAd_0)) - (portRef B (instanceRef RowAd_9)) - (portRef B (instanceRef RowAd_8)) - (portRef B (instanceRef RBAd_1)) - (portRef B (instanceRef RowAd_6)) - (portRef B (instanceRef RowAd_5)) - (portRef B (instanceRef RowAd_4)) - (portRef B (instanceRef RowAd_7)) - (portRef B (instanceRef RowAd_2)) - (portRef B (instanceRef RowAd_1)) - (portRef B (instanceRef RowAd_0)) - (portRef B (instanceRef RowAd_3)) - (portRef B (instanceRef RA11d)) - (portRef B (instanceRef Ready_fast_RNO)) - )) - (net CBR_fast (joined - (portRef Q (instanceRef CBR_fast)) - (portRef A (instanceRef nRCS_0io_RNO_0)) - (portRef A (instanceRef nRWE_0io_RNO_0)) - (portRef A (instanceRef nRCAS_0_sqmuxa_1_0_a3)) - )) - (net FWEr_fast (joined - (portRef Q (instanceRef FWEr_fast)) - (portRef D (instanceRef nRCAS_r_i_a3_1_1_tz)) - )) - (net nRWE_0io_RNO_4 (joined - (portRef Z (instanceRef nRWE_0io_RNO_4)) - (portRef A (instanceRef nRWE_0io_RNO_2)) - )) - (net nRWE_0io_RNO_1 (joined - (portRef Z (instanceRef nRWE_0io_RNO_1)) - (portRef B (instanceRef nRWE_0io_RNO)) - )) - (net nRWE_0io_RNO_2 (joined - (portRef Z (instanceRef nRWE_0io_RNO_2)) - (portRef C (instanceRef nRWE_0io_RNO_0)) - )) - (net nRWE_0io_RNO_3 (joined - (portRef Z (instanceRef nRWE_0io_RNO_3)) - (portRef D (instanceRef nRWE_0io_RNO_0)) - )) - (net N_44_i_1 (joined - (portRef Z (instanceRef nRWE_0io_RNO_0)) - (portRef A (instanceRef nRWE_0io_RNO)) - )) - (net N_32_i_sn (joined - (portRef Z (instanceRef nRCS_0io_RNO_0)) - (portRef C (instanceRef nRCS_0io_RNO)) - )) - (net nRCAS_0io_RNO_0 (joined - (portRef Z (instanceRef nRCAS_0io_RNO_0)) - (portRef C (instanceRef nRCAS_0io_RNO)) - )) - (net (rename XOR8MEG_CN "XOR8MEG.CN") (joined - (portRef Z (instanceRef XOR8MEG_CN)) - (portRef CK (instanceRef ADSubmitted)) - (portRef CK (instanceRef C1Submitted)) - (portRef CK (instanceRef CMDUFMWrite)) - (portRef CK (instanceRef CmdEnable)) - (portRef CK (instanceRef CmdLEDEN)) - (portRef CK (instanceRef CmdSubmitted)) - (portRef CK (instanceRef CmdSubmitted_fast)) - (portRef CK (instanceRef CmdUFMData)) - (portRef CK (instanceRef Cmdn8MEGEN)) - (portRef CK (instanceRef XOR8MEG)) - )) - (net VCC (joined - (portRef Z (instanceRef VCC)) - (portRef B0 (instanceRef FS_cry_0_0)) - (portRef SP (instanceRef RA10_0io)) - (portRef SP (instanceRef RA11_0io)) - (portRef SP (instanceRef RBA_0io_1)) - (portRef SP (instanceRef RBA_0io_0)) - (portRef SP (instanceRef nRCAS_0io)) - (portRef SP (instanceRef nRCS_0io)) - (portRef SP (instanceRef nRRAS_0io)) - (portRef SP (instanceRef nRWE_0io)) - (portRef SP (instanceRef Bank_0io_7)) - (portRef SP (instanceRef Bank_0io_6)) - (portRef SP (instanceRef Bank_0io_5)) - (portRef SP (instanceRef Bank_0io_4)) - (portRef SP (instanceRef Bank_0io_3)) - (portRef SP (instanceRef Bank_0io_2)) - (portRef SP (instanceRef Bank_0io_1)) - (portRef SP (instanceRef Bank_0io_0)) - (portRef SP (instanceRef PHI2r_0io)) - (portRef SP (instanceRef WRD_0io_7)) - (portRef SP (instanceRef WRD_0io_6)) - (portRef SP (instanceRef WRD_0io_5)) - (portRef SP (instanceRef WRD_0io_4)) - (portRef SP (instanceRef WRD_0io_3)) - (portRef SP (instanceRef WRD_0io_2)) - (portRef SP (instanceRef WRD_0io_1)) - (portRef SP (instanceRef WRD_0io_0)) - (portRef GSR (instanceRef GSR_INST)) - )) - (net GND (joined - (portRef Z (instanceRef GND)) - (portRef D1 (instanceRef FS_cry_0_0)) - (portRef C1 (instanceRef FS_cry_0_0)) - (portRef B1 (instanceRef FS_cry_0_0)) - (portRef D0 (instanceRef FS_cry_0_0)) - (portRef C0 (instanceRef FS_cry_0_0)) - (portRef A0 (instanceRef FS_cry_0_0)) - (portRef D1 (instanceRef FS_cry_0_1)) - (portRef C1 (instanceRef FS_cry_0_1)) - (portRef B1 (instanceRef FS_cry_0_1)) - (portRef D0 (instanceRef FS_cry_0_1)) - (portRef C0 (instanceRef FS_cry_0_1)) - (portRef B0 (instanceRef FS_cry_0_1)) - (portRef D1 (instanceRef FS_cry_0_3)) - (portRef C1 (instanceRef FS_cry_0_3)) - (portRef B1 (instanceRef FS_cry_0_3)) - (portRef D0 (instanceRef FS_cry_0_3)) - (portRef C0 (instanceRef FS_cry_0_3)) - (portRef B0 (instanceRef FS_cry_0_3)) - (portRef D1 (instanceRef FS_cry_0_5)) - (portRef C1 (instanceRef FS_cry_0_5)) - (portRef B1 (instanceRef FS_cry_0_5)) - (portRef D0 (instanceRef FS_cry_0_5)) - (portRef C0 (instanceRef FS_cry_0_5)) - (portRef B0 (instanceRef FS_cry_0_5)) - (portRef D1 (instanceRef FS_cry_0_7)) - (portRef C1 (instanceRef FS_cry_0_7)) - (portRef B1 (instanceRef FS_cry_0_7)) - (portRef D0 (instanceRef FS_cry_0_7)) - (portRef C0 (instanceRef FS_cry_0_7)) - (portRef B0 (instanceRef FS_cry_0_7)) - (portRef D1 (instanceRef FS_cry_0_9)) - (portRef C1 (instanceRef FS_cry_0_9)) - (portRef B1 (instanceRef FS_cry_0_9)) - (portRef D0 (instanceRef FS_cry_0_9)) - (portRef C0 (instanceRef FS_cry_0_9)) - (portRef B0 (instanceRef FS_cry_0_9)) - (portRef D1 (instanceRef FS_cry_0_11)) - (portRef C1 (instanceRef FS_cry_0_11)) - (portRef B1 (instanceRef FS_cry_0_11)) - (portRef D0 (instanceRef FS_cry_0_11)) - (portRef C0 (instanceRef FS_cry_0_11)) - (portRef B0 (instanceRef FS_cry_0_11)) - (portRef D1 (instanceRef FS_cry_0_13)) - (portRef C1 (instanceRef FS_cry_0_13)) - (portRef B1 (instanceRef FS_cry_0_13)) - (portRef D0 (instanceRef FS_cry_0_13)) - (portRef C0 (instanceRef FS_cry_0_13)) - (portRef B0 (instanceRef FS_cry_0_13)) - (portRef D1 (instanceRef FS_cry_0_15)) - (portRef C1 (instanceRef FS_cry_0_15)) - (portRef B1 (instanceRef FS_cry_0_15)) - (portRef D0 (instanceRef FS_cry_0_15)) - (portRef C0 (instanceRef FS_cry_0_15)) - (portRef B0 (instanceRef FS_cry_0_15)) - (portRef D1 (instanceRef FS_s_0_17)) - (portRef C1 (instanceRef FS_s_0_17)) - (portRef B1 (instanceRef FS_s_0_17)) - (portRef A1 (instanceRef FS_s_0_17)) - (portRef D0 (instanceRef FS_s_0_17)) - (portRef C0 (instanceRef FS_s_0_17)) - (portRef B0 (instanceRef FS_s_0_17)) - (portRef CD (instanceRef RA11_0io)) - (portRef CD (instanceRef RBA_0io_1)) - (portRef CD (instanceRef RBA_0io_0)) - (portRef PD (instanceRef nRCAS_0io)) - (portRef PD (instanceRef nRCS_0io)) - (portRef PD (instanceRef nRRAS_0io)) - (portRef PD (instanceRef nRWE_0io)) - (portRef CD (instanceRef Bank_0io_7)) - (portRef CD (instanceRef Bank_0io_6)) - (portRef CD (instanceRef Bank_0io_5)) - (portRef CD (instanceRef Bank_0io_4)) - (portRef CD (instanceRef Bank_0io_3)) - (portRef CD (instanceRef Bank_0io_2)) - (portRef CD (instanceRef Bank_0io_1)) - (portRef CD (instanceRef Bank_0io_0)) - (portRef CD (instanceRef PHI2r_0io)) - (portRef CD (instanceRef WRD_0io_7)) - (portRef CD (instanceRef WRD_0io_6)) - (portRef CD (instanceRef WRD_0io_5)) - (portRef CD (instanceRef WRD_0io_4)) - (portRef CD (instanceRef WRD_0io_3)) - (portRef CD (instanceRef WRD_0io_2)) - (portRef CD (instanceRef WRD_0io_1)) - (portRef CD (instanceRef WRD_0io_0)) - )) - (net PHI2_c (joined - (portRef O (instanceRef PHI2_pad)) - (portRef SCLK (instanceRef RA11_0io)) - (portRef SCLK (instanceRef Bank_0io_7)) - (portRef SCLK (instanceRef Bank_0io_6)) - (portRef SCLK (instanceRef Bank_0io_5)) - (portRef SCLK (instanceRef Bank_0io_4)) - (portRef SCLK (instanceRef Bank_0io_3)) - (portRef SCLK (instanceRef Bank_0io_2)) - (portRef SCLK (instanceRef Bank_0io_1)) - (portRef SCLK (instanceRef Bank_0io_0)) - (portRef D (instanceRef PHI2r_0io)) - (portRef A (instanceRef XOR8MEG_CN)) - )) - (net PHI2 (joined - (portRef PHI2) - (portRef I (instanceRef PHI2_pad)) - )) - (net (rename MAin_c_0 "MAin_c[0]") (joined - (portRef O (instanceRef MAin_pad_0)) - (portRef A (instanceRef RowAd_0)) - (portRef B (instanceRef CmdEnable_s_RNO_0)) - (portRef A (instanceRef un9_RA_i_m2_0)) - (portRef C (instanceRef CmdEnable_0_sqmuxa_0_a2_0)) - (portRef B (instanceRef XOR8MEG18_0_a2)) - (portRef A (instanceRef CmdEnable17_0_a2)) - )) - (net (rename MAin_0 "MAin[0]") (joined - (portRef (member main 9)) - (portRef I (instanceRef MAin_pad_0)) - )) - (net (rename MAin_c_1 "MAin_c[1]") (joined - (portRef O (instanceRef MAin_pad_1)) - (portRef D (instanceRef CmdEnable16_0_a4)) - (portRef A (instanceRef RowAd_1)) - (portRef C (instanceRef CmdEnable_s_RNO_0)) - (portRef A (instanceRef un9_RA_i_m2_1)) - (portRef A (instanceRef CmdEnable_0_sqmuxa_0_a2)) - (portRef C (instanceRef XOR8MEG18_0_a2)) - (portRef A (instanceRef ADSubmitted_r_0_RNO)) - (portRef D (instanceRef C1Submitted_RNO)) - )) - (net (rename MAin_1 "MAin[1]") (joined - (portRef (member main 8)) - (portRef I (instanceRef MAin_pad_1)) - )) - (net (rename MAin_c_2 "MAin_c[2]") (joined - (portRef O (instanceRef MAin_pad_2)) - (portRef A (instanceRef RowAd_2)) - (portRef A (instanceRef un9_RA_i_m2_2)) - (portRef A (instanceRef un1_ADWR_i_o4_4)) - )) - (net (rename MAin_2 "MAin[2]") (joined - (portRef (member main 7)) - (portRef I (instanceRef MAin_pad_2)) - )) - (net (rename MAin_c_3 "MAin_c[3]") (joined - (portRef O (instanceRef MAin_pad_3)) - (portRef A (instanceRef RowAd_3)) - (portRef A (instanceRef un9_RA_i_m2_3)) - (portRef B (instanceRef un1_ADWR_i_o4_4)) - )) - (net (rename MAin_3 "MAin[3]") (joined - (portRef (member main 6)) - (portRef I (instanceRef MAin_pad_3)) - )) - (net (rename MAin_c_4 "MAin_c[4]") (joined - (portRef O (instanceRef MAin_pad_4)) - (portRef A (instanceRef RowAd_4)) - (portRef A (instanceRef un9_RA_i_m2_4)) - (portRef A (instanceRef un1_ADWR_i_o4_3)) - )) - (net (rename MAin_4 "MAin[4]") (joined - (portRef (member main 5)) - (portRef I (instanceRef MAin_pad_4)) - )) - (net (rename MAin_c_5 "MAin_c[5]") (joined - (portRef O (instanceRef MAin_pad_5)) - (portRef A (instanceRef RowAd_5)) - (portRef A (instanceRef un9_RA_i_m2_5)) - (portRef B (instanceRef un1_ADWR_i_o4_3)) - )) - (net (rename MAin_5 "MAin[5]") (joined - (portRef (member main 4)) - (portRef I (instanceRef MAin_pad_5)) - )) - (net (rename MAin_c_6 "MAin_c[6]") (joined - (portRef O (instanceRef MAin_pad_6)) - (portRef A (instanceRef RowAd_6)) - (portRef A (instanceRef un9_RA_i_m2_6)) - (portRef C (instanceRef un1_ADWR_i_o4_4)) - )) - (net (rename MAin_6 "MAin[6]") (joined - (portRef (member main 3)) - (portRef I (instanceRef MAin_pad_6)) - )) - (net (rename MAin_c_7 "MAin_c[7]") (joined - (portRef O (instanceRef MAin_pad_7)) - (portRef A (instanceRef RowAd_7)) - (portRef A (instanceRef un9_RA_i_m2_7)) - (portRef C (instanceRef un1_ADWR_i_o4_3)) - )) - (net (rename MAin_7 "MAin[7]") (joined - (portRef (member main 2)) - (portRef I (instanceRef MAin_pad_7)) - )) - (net (rename MAin_c_8 "MAin_c[8]") (joined - (portRef O (instanceRef MAin_pad_8)) - (portRef A (instanceRef RowAd_8)) - (portRef A (instanceRef un9_RA_8)) - )) - (net (rename MAin_8 "MAin[8]") (joined - (portRef (member main 1)) - (portRef I (instanceRef MAin_pad_8)) - )) - (net (rename MAin_c_9 "MAin_c[9]") (joined - (portRef O (instanceRef MAin_pad_9)) - (portRef A (instanceRef RowAd_9)) - (portRef A (instanceRef RDQML_0)) - (portRef A (instanceRef un9_RA_i_m2_9)) - (portRef A (instanceRef RDQMH_pad_RNO)) - )) - (net (rename MAin_9 "MAin[9]") (joined - (portRef (member main 0)) - (portRef I (instanceRef MAin_pad_9)) - )) - (net (rename CROW_c_0 "CROW_c[0]") (joined - (portRef O (instanceRef CROW_pad_0)) - (portRef A (instanceRef RBAd_0)) - )) - (net (rename CROW_0 "CROW[0]") (joined - (portRef (member crow 1)) - (portRef I (instanceRef CROW_pad_0)) - )) - (net (rename CROW_c_1 "CROW_c[1]") (joined - (portRef O (instanceRef CROW_pad_1)) - (portRef A (instanceRef RBAd_1)) - )) - (net (rename CROW_1 "CROW[1]") (joined - (portRef (member crow 0)) - (portRef I (instanceRef CROW_pad_1)) - )) - (net (rename Din_c_0 "Din_c[0]") (joined - (portRef O (instanceRef Din_pad_0)) - (portRef D (instanceRef un1_CmdEnable20_0_a2)) - (portRef A (instanceRef XOR8MEG_3_u_0_a2)) - (portRef C (instanceRef Cmdn8MEGEN_4_u_i_0)) - (portRef D (instanceRef CmdUFMData)) - (portRef D (instanceRef Bank_0io_0)) - (portRef D (instanceRef WRD_0io_0)) - )) - (net (rename Din_0 "Din[0]") (joined - (portRef (member din 7)) - (portRef I (instanceRef Din_pad_0)) - )) - (net (rename Din_c_1 "Din_c[1]") (joined - (portRef O (instanceRef Din_pad_1)) - (portRef B (instanceRef un1_CmdEnable20_0_a2)) - (portRef C (instanceRef CmdLEDEN_4_u_i_0)) - (portRef A (instanceRef XOR8MEG_3_u_0_0)) - (portRef D (instanceRef CMDUFMWrite)) - (portRef D (instanceRef Bank_0io_1)) - (portRef D (instanceRef WRD_0io_1)) - )) - (net (rename Din_1 "Din[1]") (joined - (portRef (member din 6)) - (portRef I (instanceRef Din_pad_1)) - )) - (net (rename Din_c_2 "Din_c[2]") (joined - (portRef O (instanceRef Din_pad_2)) - (portRef A (instanceRef XOR8MEG_3_u_0_a2_0)) - (portRef A (instanceRef un1_CmdEnable20_0_a2_0)) - (portRef D (instanceRef Bank_0io_2)) - (portRef D (instanceRef WRD_0io_2)) - )) - (net (rename Din_2 "Din[2]") (joined - (portRef (member din 5)) - (portRef I (instanceRef Din_pad_2)) - )) - (net (rename Din_c_3 "Din_c[3]") (joined - (portRef O (instanceRef Din_pad_3)) - (portRef D (instanceRef CmdSubmitted_1_sqmuxa_0_a4)) - (portRef D (instanceRef CMDUFMWrite_1_sqmuxa_0_a4)) - (portRef A (instanceRef CMDUFMWrite_1_sqmuxa_0_a2_0)) - (portRef A (instanceRef XOR8MEG_3_u_0_a4_0_2)) - (portRef A (instanceRef CmdEnable_0_sqmuxa_0_a2_0)) - (portRef A (instanceRef CmdLEDEN_4_u_i_o2)) - (portRef D (instanceRef Bank_0io_3)) - (portRef D (instanceRef WRD_0io_3)) - )) - (net (rename Din_3 "Din[3]") (joined - (portRef (member din 4)) - (portRef I (instanceRef Din_pad_3)) - )) - (net (rename Din_c_4 "Din_c[4]") (joined - (portRef O (instanceRef Din_pad_4)) - (portRef D (instanceRef CmdLEDEN_4_u_i_a4_0_0)) - (portRef A (instanceRef CmdLEDEN_4_u_i_o2_0)) - (portRef C (instanceRef un1_CmdEnable20_0_a2)) - (portRef B (instanceRef XOR8MEG_3_u_0_a2)) - (portRef A (instanceRef XOR8MEG_3_u_0_a4)) - (portRef D (instanceRef Bank_0io_4)) - (portRef D (instanceRef WRD_0io_4)) - )) - (net (rename Din_4 "Din[4]") (joined - (portRef (member din 3)) - (portRef I (instanceRef Din_pad_4)) - )) - (net (rename Din_c_5 "Din_c[5]") (joined - (portRef O (instanceRef Din_pad_5)) - (portRef C (instanceRef CmdSubmitted_1_sqmuxa_0_a4)) - (portRef A (instanceRef CmdLEDEN_4_u_i_a4_0_0)) - (portRef C (instanceRef CMDUFMWrite_1_sqmuxa_0_a4)) - (portRef B (instanceRef XOR8MEG_3_u_0_a2_0)) - (portRef B (instanceRef CMDUFMWrite_1_sqmuxa_0_a2_0)) - (portRef B (instanceRef CmdLEDEN_4_u_i_o2)) - (portRef B (instanceRef XOR8MEG_3_u_0_a4)) - (portRef D (instanceRef Bank_0io_5)) - (portRef D (instanceRef WRD_0io_5)) - )) - (net (rename Din_5 "Din[5]") (joined - (portRef (member din 2)) - (portRef I (instanceRef Din_pad_5)) - )) - (net (rename Din_c_6 "Din_c[6]") (joined - (portRef O (instanceRef Din_pad_6)) - (portRef B (instanceRef CmdLEDEN_4_u_i_a4_0_0)) - (portRef C (instanceRef CmdLEDEN_4_u_i_o2_0)) - (portRef A (instanceRef RA11d)) - (portRef A (instanceRef XOR8MEG_3_u_0_o2_1)) - (portRef B (instanceRef CmdEnable_0_sqmuxa_0_a2_0)) - (portRef B (instanceRef un1_CmdEnable20_0_a2_0)) - (portRef D (instanceRef Bank_0io_6)) - (portRef D (instanceRef WRD_0io_6)) - )) - (net (rename Din_6 "Din[6]") (joined - (portRef (member din 1)) - (portRef I (instanceRef Din_pad_6)) - )) - (net (rename Din_c_7 "Din_c[7]") (joined - (portRef O (instanceRef Din_pad_7)) - (portRef C (instanceRef CmdLEDEN_4_u_i_a4_0_0)) - (portRef B (instanceRef CmdLEDEN_4_u_i_o2_0)) - (portRef A (instanceRef un1_CmdEnable20_0_a2)) - (portRef B (instanceRef XOR8MEG_3_u_0_o2_1)) - (portRef D (instanceRef Bank_0io_7)) - (portRef D (instanceRef WRD_0io_7)) - )) - (net (rename Din_7 "Din[7]") (joined - (portRef (member din 0)) - (portRef I (instanceRef Din_pad_7)) - )) - (net (rename Dout_0 "Dout[0]") (joined - (portRef O (instanceRef Dout_pad_0)) - (portRef (member dout 7)) - )) - (net (rename Dout_1 "Dout[1]") (joined - (portRef O (instanceRef Dout_pad_1)) - (portRef (member dout 6)) - )) - (net (rename Dout_2 "Dout[2]") (joined - (portRef O (instanceRef Dout_pad_2)) - (portRef (member dout 5)) - )) - (net (rename Dout_3 "Dout[3]") (joined - (portRef O (instanceRef Dout_pad_3)) - (portRef (member dout 4)) - )) - (net (rename Dout_4 "Dout[4]") (joined - (portRef O (instanceRef Dout_pad_4)) - (portRef (member dout 3)) - )) - (net (rename Dout_5 "Dout[5]") (joined - (portRef O (instanceRef Dout_pad_5)) - (portRef (member dout 2)) - )) - (net (rename Dout_6 "Dout[6]") (joined - (portRef O (instanceRef Dout_pad_6)) - (portRef (member dout 1)) - )) - (net (rename Dout_7 "Dout[7]") (joined - (portRef O (instanceRef Dout_pad_7)) - (portRef (member dout 0)) - )) - (net nCCAS_c (joined - (portRef O (instanceRef nCCAS_pad)) - (portRef A (instanceRef nCCAS_pad_RNI01SJ)) - (portRef A (instanceRef nCCAS_pad_RNISUR8)) - )) - (net nCCAS (joined - (portRef nCCAS) - (portRef I (instanceRef nCCAS_pad)) - )) - (net nCRAS_c (joined - (portRef O (instanceRef nCRAS_pad)) - (portRef C (instanceRef LED_pad_RNO)) - (portRef A (instanceRef nCRAS_pad_RNIBPVB)) - (portRef A (instanceRef RASr_RNO)) - )) - (net nCRAS (joined - (portRef nCRAS) - (portRef I (instanceRef nCRAS_pad)) - )) - (net nFWE_c (joined - (portRef O (instanceRef nFWE_pad)) - (portRef D (instanceRef un1_ADWR_i_o4_4)) - (portRef B (instanceRef nCCAS_pad_RNI01SJ)) - (portRef A (instanceRef nFWE_pad_RNI420B)) - )) - (net nFWE (joined - (portRef nFWE) - (portRef I (instanceRef nFWE_pad)) - )) - (net LED_c (joined - (portRef Z (instanceRef LED_pad_RNO)) - (portRef I (instanceRef LED_pad)) - )) - (net LED (joined - (portRef O (instanceRef LED_pad)) - (portRef LED) - )) - (net (rename RBA_c_0 "RBA_c[0]") (joined - (portRef Q (instanceRef RBA_0io_0)) - (portRef I (instanceRef RBA_pad_0)) - )) - (net (rename RBA_0 "RBA[0]") (joined - (portRef O (instanceRef RBA_pad_0)) - (portRef (member rba 1)) - )) - (net (rename RBA_c_1 "RBA_c[1]") (joined - (portRef Q (instanceRef RBA_0io_1)) - (portRef I (instanceRef RBA_pad_1)) - )) - (net (rename RBA_1 "RBA[1]") (joined - (portRef O (instanceRef RBA_pad_1)) - (portRef (member rba 0)) - )) - (net (rename RA_c_0 "RA_c[0]") (joined - (portRef Z (instanceRef un9_RA_i_m2_0)) - (portRef I (instanceRef RA_pad_0)) - )) - (net (rename RA_0 "RA[0]") (joined - (portRef O (instanceRef RA_pad_0)) - (portRef (member ra 11)) - )) - (net (rename RA_c_1 "RA_c[1]") (joined - (portRef Z (instanceRef un9_RA_i_m2_1)) - (portRef I (instanceRef RA_pad_1)) - )) - (net (rename RA_1 "RA[1]") (joined - (portRef O (instanceRef RA_pad_1)) - (portRef (member ra 10)) - )) - (net (rename RA_c_2 "RA_c[2]") (joined - (portRef Z (instanceRef un9_RA_i_m2_2)) - (portRef I (instanceRef RA_pad_2)) - )) - (net (rename RA_2 "RA[2]") (joined - (portRef O (instanceRef RA_pad_2)) - (portRef (member ra 9)) - )) - (net (rename RA_c_3 "RA_c[3]") (joined - (portRef Z (instanceRef un9_RA_i_m2_3)) - (portRef I (instanceRef RA_pad_3)) - )) - (net (rename RA_3 "RA[3]") (joined - (portRef O (instanceRef RA_pad_3)) - (portRef (member ra 8)) - )) - (net (rename RA_c_4 "RA_c[4]") (joined - (portRef Z (instanceRef un9_RA_i_m2_4)) - (portRef I (instanceRef RA_pad_4)) - )) - (net (rename RA_4 "RA[4]") (joined - (portRef O (instanceRef RA_pad_4)) - (portRef (member ra 7)) - )) - (net (rename RA_c_5 "RA_c[5]") (joined - (portRef Z (instanceRef un9_RA_i_m2_5)) - (portRef I (instanceRef RA_pad_5)) - )) - (net (rename RA_5 "RA[5]") (joined - (portRef O (instanceRef RA_pad_5)) - (portRef (member ra 6)) - )) - (net (rename RA_c_6 "RA_c[6]") (joined - (portRef Z (instanceRef un9_RA_i_m2_6)) - (portRef I (instanceRef RA_pad_6)) - )) - (net (rename RA_6 "RA[6]") (joined - (portRef O (instanceRef RA_pad_6)) - (portRef (member ra 5)) - )) - (net (rename RA_c_7 "RA_c[7]") (joined - (portRef Z (instanceRef un9_RA_i_m2_7)) - (portRef I (instanceRef RA_pad_7)) - )) - (net (rename RA_7 "RA[7]") (joined - (portRef O (instanceRef RA_pad_7)) - (portRef (member ra 4)) - )) - (net (rename RA_c_8 "RA_c[8]") (joined - (portRef Z (instanceRef un9_RA_8)) - (portRef I (instanceRef RA_pad_8)) - )) - (net (rename RA_8 "RA[8]") (joined - (portRef O (instanceRef RA_pad_8)) - (portRef (member ra 3)) - )) - (net (rename RA_c_9 "RA_c[9]") (joined - (portRef Z (instanceRef un9_RA_i_m2_9)) - (portRef I (instanceRef RA_pad_9)) - )) - (net (rename RA_9 "RA[9]") (joined - (portRef O (instanceRef RA_pad_9)) - (portRef (member ra 2)) - )) - (net (rename RA_c_10 "RA_c[10]") (joined - (portRef Q (instanceRef RA10_0io)) - (portRef I (instanceRef RA_pad_10)) - )) - (net (rename RA_10 "RA[10]") (joined - (portRef O (instanceRef RA_pad_10)) - (portRef (member ra 1)) - )) - (net (rename RA_c_11 "RA_c[11]") (joined - (portRef Q (instanceRef RA11_0io)) - (portRef I (instanceRef RA_pad_11)) - )) - (net (rename RA_11 "RA[11]") (joined - (portRef O (instanceRef RA_pad_11)) - (portRef (member ra 0)) - )) - (net (rename RD_in_0 "RD_in[0]") (joined - (portRef O (instanceRef RD_pad_0)) - (portRef I (instanceRef Dout_pad_0)) - )) - (net (rename RD_0 "RD[0]") (joined - (portRef B (instanceRef RD_pad_0)) - (portRef (member rd 7)) - )) - (net (rename RD_in_1 "RD_in[1]") (joined - (portRef O (instanceRef RD_pad_1)) - (portRef I (instanceRef Dout_pad_1)) - )) - (net (rename RD_1 "RD[1]") (joined - (portRef B (instanceRef RD_pad_1)) - (portRef (member rd 6)) - )) - (net (rename RD_in_2 "RD_in[2]") (joined - (portRef O (instanceRef RD_pad_2)) - (portRef I (instanceRef Dout_pad_2)) - )) - (net (rename RD_2 "RD[2]") (joined - (portRef B (instanceRef RD_pad_2)) - (portRef (member rd 5)) - )) - (net (rename RD_in_3 "RD_in[3]") (joined - (portRef O (instanceRef RD_pad_3)) - (portRef I (instanceRef Dout_pad_3)) - )) - (net (rename RD_3 "RD[3]") (joined - (portRef B (instanceRef RD_pad_3)) - (portRef (member rd 4)) - )) - (net (rename RD_in_4 "RD_in[4]") (joined - (portRef O (instanceRef RD_pad_4)) - (portRef I (instanceRef Dout_pad_4)) - )) - (net (rename RD_4 "RD[4]") (joined - (portRef B (instanceRef RD_pad_4)) - (portRef (member rd 3)) - )) - (net (rename RD_in_5 "RD_in[5]") (joined - (portRef O (instanceRef RD_pad_5)) - (portRef I (instanceRef Dout_pad_5)) - )) - (net (rename RD_5 "RD[5]") (joined - (portRef B (instanceRef RD_pad_5)) - (portRef (member rd 2)) - )) - (net (rename RD_in_6 "RD_in[6]") (joined - (portRef O (instanceRef RD_pad_6)) - (portRef I (instanceRef Dout_pad_6)) - )) - (net (rename RD_6 "RD[6]") (joined - (portRef B (instanceRef RD_pad_6)) - (portRef (member rd 1)) - )) - (net (rename RD_in_7 "RD_in[7]") (joined - (portRef O (instanceRef RD_pad_7)) - (portRef I (instanceRef Dout_pad_7)) - )) - (net (rename RD_7 "RD[7]") (joined - (portRef B (instanceRef RD_pad_7)) - (portRef (member rd 0)) - )) - (net nRCS_c (joined - (portRef Q (instanceRef nRCS_0io)) - (portRef I (instanceRef nRCS_pad)) - )) - (net nRCS (joined - (portRef O (instanceRef nRCS_pad)) - (portRef nRCS) - )) - (net RCLK_c (joined - (portRef O (instanceRef RCLK_pad)) - (portRef CK (instanceRef CASr)) - (portRef CK (instanceRef CASr2)) - (portRef CK (instanceRef CASr3)) - (portRef CK (instanceRef FS_17)) - (portRef CK (instanceRef FS_16)) - (portRef CK (instanceRef FS_15)) - (portRef CK (instanceRef FS_14)) - (portRef CK (instanceRef FS_13)) - (portRef CK (instanceRef FS_12)) - (portRef CK (instanceRef FS_11)) - (portRef CK (instanceRef FS_10)) - (portRef CK (instanceRef FS_9)) - (portRef CK (instanceRef FS_8)) - (portRef CK (instanceRef FS_7)) - (portRef CK (instanceRef FS_6)) - (portRef CK (instanceRef FS_5)) - (portRef CK (instanceRef FS_4)) - (portRef CK (instanceRef FS_3)) - (portRef CK (instanceRef FS_2)) - (portRef CK (instanceRef FS_1)) - (portRef CK (instanceRef FS_0)) - (portRef CK (instanceRef IS_3)) - (portRef CK (instanceRef IS_2)) - (portRef CK (instanceRef IS_1)) - (portRef CK (instanceRef IS_0)) - (portRef CK (instanceRef InitReady)) - (portRef CK (instanceRef LEDEN)) - (portRef CK (instanceRef PHI2r2)) - (portRef CK (instanceRef PHI2r3)) - (portRef CK (instanceRef RASr)) - (portRef CK (instanceRef RASr2)) - (portRef CK (instanceRef RASr3)) - (portRef CK (instanceRef RCKE)) - (portRef CK (instanceRef RCKEEN)) - (portRef CK (instanceRef Ready)) - (portRef CK (instanceRef Ready_fast)) - (portRef CK (instanceRef S_1)) - (portRef CK (instanceRef S_0)) - (portRef CK (instanceRef n8MEGEN)) - (portRef CK (instanceRef nRowColSel)) - (portRef CK (instanceRef wb_adr_7)) - (portRef CK (instanceRef wb_adr_6)) - (portRef CK (instanceRef wb_adr_5)) - (portRef CK (instanceRef wb_adr_4)) - (portRef CK (instanceRef wb_adr_3)) - (portRef CK (instanceRef wb_adr_2)) - (portRef CK (instanceRef wb_adr_1)) - (portRef CK (instanceRef wb_adr_0)) - (portRef CK (instanceRef wb_clk)) - (portRef CK (instanceRef wb_cyc_stb)) - (portRef CK (instanceRef wb_dati_7)) - (portRef CK (instanceRef wb_dati_6)) - (portRef CK (instanceRef wb_dati_5)) - (portRef CK (instanceRef wb_dati_4)) - (portRef CK (instanceRef wb_dati_3)) - (portRef CK (instanceRef wb_dati_2)) - (portRef CK (instanceRef wb_dati_1)) - (portRef CK (instanceRef wb_dati_0)) - (portRef CK (instanceRef wb_rst)) - (portRef CK (instanceRef wb_we)) - (portRef SCLK (instanceRef RA10_0io)) - (portRef SCLK (instanceRef nRCAS_0io)) - (portRef SCLK (instanceRef nRCS_0io)) - (portRef SCLK (instanceRef nRRAS_0io)) - (portRef SCLK (instanceRef nRWE_0io)) - (portRef SCLK (instanceRef PHI2r_0io)) - )) - (net RCLK (joined - (portRef RCLK) - (portRef I (instanceRef RCLK_pad)) - )) - (net RCKE_c (joined - (portRef Q (instanceRef RCKE)) - (portRef B (instanceRef nRWE_0io_RNO_3)) - (portRef C (instanceRef nRCS_9_u_i_0_0)) - (portRef I (instanceRef RCKE_pad)) - )) - (net RCKE (joined - (portRef O (instanceRef RCKE_pad)) - (portRef RCKE) - )) - (net nRWE_c (joined - (portRef Q (instanceRef nRWE_0io)) - (portRef I (instanceRef nRWE_pad)) - )) - (net nRWE (joined - (portRef O (instanceRef nRWE_pad)) - (portRef nRWE) - )) - (net nRRAS_c (joined - (portRef Q (instanceRef nRRAS_0io)) - (portRef I (instanceRef nRRAS_pad)) - )) - (net nRRAS (joined - (portRef O (instanceRef nRRAS_pad)) - (portRef nRRAS) - )) - (net nRCAS_c (joined - (portRef Q (instanceRef nRCAS_0io)) - (portRef I (instanceRef nRCAS_pad)) - )) - (net nRCAS (joined - (portRef O (instanceRef nRCAS_pad)) - (portRef nRCAS) - )) - (net RDQMH_c (joined - (portRef Z (instanceRef RDQMH_pad_RNO)) - (portRef I (instanceRef RDQMH_pad)) - )) - (net RDQMH (joined - (portRef O (instanceRef RDQMH_pad)) - (portRef RDQMH) - )) - (net RDQML_c (joined - (portRef Z (instanceRef RDQML_0)) - (portRef I (instanceRef RDQML_pad)) - )) - (net RDQML (joined - (portRef O (instanceRef RDQML_pad)) - (portRef RDQML) - )) - (net N_545_0 (joined - (portRef Z (instanceRef CmdSubmitted_RNO)) - (portRef D (instanceRef CmdSubmitted)) - )) - (net N_548_0 (joined - (portRef Z (instanceRef CmdSubmitted_fast_RNO)) - (portRef D (instanceRef CmdSubmitted_fast)) - )) - (net N_546_0 (joined - (portRef Z (instanceRef InitReady_RNO)) - (portRef D (instanceRef InitReady)) - )) - (net N_547_0 (joined - (portRef Z (instanceRef Ready_RNO)) - (portRef D (instanceRef Ready)) - )) - (net N_549_0 (joined - (portRef Z (instanceRef Ready_fast_RNO)) - (portRef D (instanceRef Ready_fast)) - )) - (net nFWE_c_i (joined - (portRef Z (instanceRef nFWE_pad_RNI420B)) - (portRef D (instanceRef FWEr)) - (portRef D (instanceRef FWEr_fast)) - )) - (net nCRAS_c_i_0 (joined - (portRef Z (instanceRef RASr_RNO)) - (portRef D (instanceRef RASr)) - )) - (net nCCAS_c_i (joined - (portRef Z (instanceRef nCCAS_pad_RNISUR8)) - (portRef D (instanceRef CASr)) - (portRef D (instanceRef CBR)) - (portRef D (instanceRef CBR_fast)) - (portRef SCLK (instanceRef WRD_0io_7)) - (portRef SCLK (instanceRef WRD_0io_6)) - (portRef SCLK (instanceRef WRD_0io_5)) - (portRef SCLK (instanceRef WRD_0io_4)) - (portRef SCLK (instanceRef WRD_0io_3)) - (portRef SCLK (instanceRef WRD_0io_2)) - (portRef SCLK (instanceRef WRD_0io_1)) - (portRef SCLK (instanceRef WRD_0io_0)) - )) - (net (rename IS_i_0 "IS_i[0]") (joined - (portRef Z (instanceRef RA10_0io_RNO)) - (portRef D (instanceRef RA10_0io)) - )) - (net RASr2_i (joined - (portRef Z (instanceRef RASr2_RNIAFR1)) - (portRef CD (instanceRef S_1)) - (portRef CD (instanceRef S_0)) - )) - (net InitReady_i (joined - (portRef Z (instanceRef wb_rst_RNO_0)) - (portRef SP (instanceRef wb_rst)) - )) - (net wb_clk_RNO_2 (joined - (portRef Z (instanceRef wb_clk_RNO_2)) - (portRef BLUT (instanceRef wb_clk_RNO)) - )) - (net wb_clk_RNO_1 (joined - (portRef Z (instanceRef wb_clk_RNO_1)) - (portRef ALUT (instanceRef wb_clk_RNO)) - )) - (net N_1 (joined - (portRef CIN (instanceRef FS_cry_0_0)) - )) - ) - (property orig_inst_of (string "RAM2GS")) - ) - ) - ) - (design RAM2GS (cellRef RAM2GS (libraryRef work)) - (property PART (string "lcmxo2_640hc-4") )) -) +(edif RAM2GS + (edifVersion 2 0 0) + (edifLevel 0) + (keywordMap (keywordLevel 0)) + (status + (written + (timeStamp 2023 8 19 21 54 54) + (author "Synopsys, Inc.") + (program "Synplify Pro" (version "R-2021.03L-SP1, mapper map202103lat, Build 070R")) + ) + ) + (library LUCENT + (edifLevel 0) + (technology (numberDefinition )) + (cell CCU2D (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A0 (direction INPUT)) + (port B0 (direction INPUT)) + (port C0 (direction INPUT)) + (port D0 (direction INPUT)) + (port A1 (direction INPUT)) + (port B1 (direction INPUT)) + (port C1 (direction INPUT)) + (port D1 (direction INPUT)) + (port CIN (direction INPUT)) + (port COUT (direction OUTPUT)) + (port S0 (direction OUTPUT)) + (port S1 (direction OUTPUT)) + ) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0000")) + (property INIT0 (string "0000")) + ) + ) + (cell BB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port B (direction INOUT)) + (port I (direction INPUT)) + (port T (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell OB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port I (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell IB (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port I (direction INPUT)) + (port O (direction OUTPUT)) + ) + ) + ) + (cell FD1S3IX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port CD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1S3AX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell OFS1P3JX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port SCLK (direction INPUT)) + (port PD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1P3IX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port CK (direction INPUT)) + (port CD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell OFS1P3DX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port SCLK (direction INPUT)) + (port CD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell IFS1P3DX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port SCLK (direction INPUT)) + (port CD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell OFS1P3BX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port SCLK (direction INPUT)) + (port PD (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell FD1P3AX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port D (direction INPUT)) + (port SP (direction INPUT)) + (port CK (direction INPUT)) + (port Q (direction OUTPUT)) + ) + ) + ) + (cell ORCALUT4 (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A (direction INPUT)) + (port B (direction INPUT)) + (port C (direction INPUT)) + (port D (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell PFUMX (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port ALUT (direction INPUT)) + (port BLUT (direction INPUT)) + (port C0 (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell GSR (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port GSR (direction INPUT)) + ) + ) + ) + (cell INV (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port A (direction INPUT)) + (port Z (direction OUTPUT)) + ) + ) + ) + (cell VHI (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port Z (direction OUTPUT)) + ) + ) + ) + (cell VLO (cellType GENERIC) + (view PRIM (viewType NETLIST) + (interface + (port Z (direction OUTPUT)) + ) + ) + ) + ) + (library work + (edifLevel 0) + (technology (numberDefinition )) + (cell EFB (cellType GENERIC) + (view verilog (viewType NETLIST) + (interface + (port WBCLKI (direction INPUT)) + (port WBRSTI (direction INPUT)) + (port WBCYCI (direction INPUT)) + (port WBSTBI (direction INPUT)) + (port WBWEI (direction INPUT)) + (port WBADRI7 (direction INPUT)) + (port WBADRI6 (direction INPUT)) + (port WBADRI5 (direction INPUT)) + (port WBADRI4 (direction INPUT)) + (port WBADRI3 (direction INPUT)) + (port WBADRI2 (direction INPUT)) + (port WBADRI1 (direction INPUT)) + (port WBADRI0 (direction INPUT)) + (port WBDATI7 (direction INPUT)) + (port WBDATI6 (direction INPUT)) + (port WBDATI5 (direction INPUT)) + (port WBDATI4 (direction INPUT)) + (port WBDATI3 (direction INPUT)) + (port WBDATI2 (direction INPUT)) + (port WBDATI1 (direction INPUT)) + (port WBDATI0 (direction INPUT)) + (port PLL0DATI7 (direction INPUT)) + (port PLL0DATI6 (direction INPUT)) + (port PLL0DATI5 (direction INPUT)) + (port PLL0DATI4 (direction INPUT)) + (port PLL0DATI3 (direction INPUT)) + (port PLL0DATI2 (direction INPUT)) + (port PLL0DATI1 (direction INPUT)) + (port PLL0DATI0 (direction INPUT)) + (port PLL0ACKI (direction INPUT)) + (port PLL1DATI7 (direction INPUT)) + (port PLL1DATI6 (direction INPUT)) + (port PLL1DATI5 (direction INPUT)) + (port PLL1DATI4 (direction INPUT)) + (port PLL1DATI3 (direction INPUT)) + (port PLL1DATI2 (direction INPUT)) + (port PLL1DATI1 (direction INPUT)) + (port PLL1DATI0 (direction INPUT)) + (port PLL1ACKI (direction INPUT)) + (port I2C1SCLI (direction INPUT)) + (port I2C1SDAI (direction INPUT)) + (port I2C2SCLI (direction INPUT)) + (port I2C2SDAI (direction INPUT)) + (port SPISCKI (direction INPUT)) + (port SPIMISOI (direction INPUT)) + (port SPIMOSII (direction INPUT)) + (port SPISCSN (direction INPUT)) + (port TCCLKI (direction INPUT)) + (port TCRSTN (direction INPUT)) + (port TCIC (direction INPUT)) + (port UFMSN (direction INPUT)) + (port WBDATO7 (direction OUTPUT)) + (port WBDATO6 (direction OUTPUT)) + (port WBDATO5 (direction OUTPUT)) + (port WBDATO4 (direction OUTPUT)) + (port WBDATO3 (direction OUTPUT)) + (port WBDATO2 (direction OUTPUT)) + (port WBDATO1 (direction OUTPUT)) + (port WBDATO0 (direction OUTPUT)) + (port WBACKO (direction OUTPUT)) + (port PLLCLKO (direction OUTPUT)) + (port PLLRSTO (direction OUTPUT)) + (port PLL0STBO (direction OUTPUT)) + (port PLL1STBO (direction OUTPUT)) + (port PLLWEO (direction OUTPUT)) + (port PLLADRO4 (direction OUTPUT)) + (port PLLADRO3 (direction OUTPUT)) + (port PLLADRO2 (direction OUTPUT)) + (port PLLADRO1 (direction OUTPUT)) + (port PLLADRO0 (direction OUTPUT)) + (port PLLDATO7 (direction OUTPUT)) + (port PLLDATO6 (direction OUTPUT)) + (port PLLDATO5 (direction OUTPUT)) + (port PLLDATO4 (direction OUTPUT)) + (port PLLDATO3 (direction OUTPUT)) + (port PLLDATO2 (direction OUTPUT)) + (port PLLDATO1 (direction OUTPUT)) + (port PLLDATO0 (direction OUTPUT)) + (port I2C1SCLO (direction OUTPUT)) + (port I2C1SCLOEN (direction OUTPUT)) + (port I2C1SDAO (direction OUTPUT)) + (port I2C1SDAOEN (direction OUTPUT)) + (port I2C2SCLO (direction OUTPUT)) + (port I2C2SCLOEN (direction OUTPUT)) + (port I2C2SDAO (direction OUTPUT)) + (port I2C2SDAOEN (direction OUTPUT)) + (port I2C1IRQO (direction OUTPUT)) + (port I2C2IRQO (direction OUTPUT)) + (port SPISCKO (direction OUTPUT)) + (port SPISCKEN (direction OUTPUT)) + (port SPIMISOO (direction OUTPUT)) + (port SPIMISOEN (direction OUTPUT)) + (port SPIMOSIO (direction OUTPUT)) + (port SPIMOSIEN (direction OUTPUT)) + (port SPIMCSN0 (direction OUTPUT)) + (port SPIMCSN1 (direction OUTPUT)) + (port SPIMCSN2 (direction OUTPUT)) + (port SPIMCSN3 (direction OUTPUT)) + (port SPIMCSN4 (direction OUTPUT)) + (port SPIMCSN5 (direction OUTPUT)) + (port SPIMCSN6 (direction OUTPUT)) + (port SPIMCSN7 (direction OUTPUT)) + (port SPICSNEN (direction OUTPUT)) + (port SPIIRQO (direction OUTPUT)) + (port TCINT (direction OUTPUT)) + (port TCOC (direction OUTPUT)) + (port WBCUFMIRQ (direction OUTPUT)) + (port CFGWAKE (direction OUTPUT)) + (port CFGSTDBY (direction OUTPUT)) + ) + (property TC_ICAPTURE (string "DISABLED")) + (property TC_OVERFLOW (string "DISABLED")) + (property TC_ICR_INT (string "OFF")) + (property TC_OCR_INT (string "OFF")) + (property TC_OV_INT (string "OFF")) + (property TC_TOP_SEL (string "OFF")) + (property TC_RESETN (string "ENABLED")) + (property TC_OC_MODE (string "TOGGLE")) + (property TC_OCR_SET (integer 32767)) + (property TC_TOP_SET (integer 65535)) + (property GSR (string "ENABLED")) + (property TC_CCLK_SEL (integer 1)) + (property TC_SCLK_SEL (string "PCLOCK")) + (property TC_MODE (string "CTCM")) + (property SPI_WAKEUP (string "DISABLED")) + (property SPI_INTR_RXOVR (string "DISABLED")) + (property SPI_INTR_TXOVR (string "DISABLED")) + (property SPI_INTR_RXRDY (string "DISABLED")) + (property SPI_INTR_TXRDY (string "DISABLED")) + (property SPI_SLAVE_HANDSHAKE (string "DISABLED")) + (property SPI_PHASE_ADJ (string "DISABLED")) + (property SPI_CLK_INV (string "DISABLED")) + (property SPI_LSB_FIRST (string "DISABLED")) + (property SPI_CLK_DIVIDER (integer 1)) + (property SPI_MODE (string "MASTER")) + (property I2C2_WAKEUP (string "DISABLED")) + (property I2C1_WAKEUP (string "DISABLED")) + (property I2C2_GEN_CALL (string "DISABLED")) + (property I2C1_GEN_CALL (string "DISABLED")) + (property I2C2_CLK_DIVIDER (integer 1)) + (property I2C1_CLK_DIVIDER (integer 1)) + (property I2C2_BUS_PERF (string "100kHz")) + (property I2C1_BUS_PERF (string "100kHz")) + (property I2C2_SLAVE_ADDR (string "0b1000010")) + (property I2C1_SLAVE_ADDR (string "0b1000001")) + (property I2C2_ADDRESSING (string "7BIT")) + (property I2C1_ADDRESSING (string "7BIT")) + (property UFM_INIT_FILE_FORMAT (string "HEX")) + (property UFM_INIT_FILE_NAME (string "../RAM2GS-LCMXO2.mem")) + (property UFM_INIT_ALL_ZEROS (string "DISABLED")) + (property UFM_INIT_START_PAGE (integer 190)) + (property UFM_INIT_PAGES (integer 1)) + (property DEV_DENSITY (string "640L")) + (property EFB_WB_CLK_FREQ (string "66.7")) + (property EFB_UFM (string "ENABLED")) + (property EFB_TC_PORTMODE (string "WB")) + (property EFB_TC (string "DISABLED")) + (property EFB_SPI (string "DISABLED")) + (property EFB_I2C2 (string "DISABLED")) + (property EFB_I2C1 (string "DISABLED")) + (property orig_inst_of (string "EFB")) + ) + ) + (cell REFB (cellType GENERIC) + (view netlist (viewType NETLIST) + (interface + (port (array (rename wb_dato "wb_dato[1:0]") 2) (direction OUTPUT)) + (port (array (rename wb_dati "wb_dati[7:0]") 8) (direction INPUT)) + (port (array (rename wb_adr "wb_adr[7:0]") 8) (direction INPUT)) + (port wb_we (direction INPUT)) + (port wb_cyc_stb (direction INPUT)) + (port wb_rst (direction INPUT)) + (port RCLK_c (direction INPUT)) + (port d_N_5_mux (direction OUTPUT)) + (port wb_ack (direction OUTPUT)) + (port un1_FS_29 (direction INPUT)) + (port un1_FS_11 (direction INPUT)) + (port InitReady (direction INPUT)) + ) + (contents + (instance EFBInst_0_RNI9PBJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance EFBInst_0 (viewRef verilog (cellRef EFB)) + (property UFM_INIT_FILE_FORMAT (string "HEX")) + (property UFM_INIT_FILE_NAME (string "../RAM2GS-LCMXO2.mem")) + (property UFM_INIT_ALL_ZEROS (string "DISABLED")) + (property UFM_INIT_START_PAGE (integer 190)) + (property UFM_INIT_PAGES (integer 1)) + (property DEV_DENSITY (string "640L")) + (property EFB_UFM (string "ENABLED")) + (property TC_ICAPTURE (string "DISABLED")) + (property TC_OVERFLOW (string "DISABLED")) + (property TC_ICR_INT (string "OFF")) + (property TC_OCR_INT (string "OFF")) + (property TC_OV_INT (string "OFF")) + (property TC_TOP_SEL (string "OFF")) + (property TC_RESETN (string "ENABLED")) + (property TC_OC_MODE (string "TOGGLE")) + (property TC_OCR_SET (integer 32767)) + (property TC_TOP_SET (integer 65535)) + (property GSR (string "ENABLED")) + (property TC_CCLK_SEL (integer 1)) + (property TC_MODE (string "CTCM")) + (property TC_SCLK_SEL (string "PCLOCK")) + (property EFB_TC_PORTMODE (string "WB")) + (property EFB_TC (string "DISABLED")) + (property SPI_WAKEUP (string "DISABLED")) + (property SPI_INTR_RXOVR (string "DISABLED")) + (property SPI_INTR_TXOVR (string "DISABLED")) + (property SPI_INTR_RXRDY (string "DISABLED")) + (property SPI_INTR_TXRDY (string "DISABLED")) + (property SPI_SLAVE_HANDSHAKE (string "DISABLED")) + (property SPI_PHASE_ADJ (string "DISABLED")) + (property SPI_CLK_INV (string "DISABLED")) + (property SPI_LSB_FIRST (string "DISABLED")) + (property SPI_CLK_DIVIDER (integer 1)) + (property SPI_MODE (string "MASTER")) + (property EFB_SPI (string "DISABLED")) + (property I2C2_WAKEUP (string "DISABLED")) + (property I2C2_GEN_CALL (string "DISABLED")) + (property I2C2_CLK_DIVIDER (integer 1)) + (property I2C2_BUS_PERF (string "100kHz")) + (property I2C2_SLAVE_ADDR (string "0b1000010")) + (property I2C2_ADDRESSING (string "7BIT")) + (property EFB_I2C2 (string "DISABLED")) + (property I2C1_WAKEUP (string "DISABLED")) + (property I2C1_GEN_CALL (string "DISABLED")) + (property I2C1_CLK_DIVIDER (integer 1)) + (property I2C1_BUS_PERF (string "100kHz")) + (property I2C1_SLAVE_ADDR (string "0b1000001")) + (property I2C1_ADDRESSING (string "7BIT")) + (property EFB_I2C1 (string "DISABLED")) + (property EFB_WB_CLK_FREQ (string "66.7")) + ) + (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) + (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) + (net InitReady (joined + (portRef InitReady) + (portRef A (instanceRef EFBInst_0_RNI9PBJ)) + )) + (net un1_FS_11 (joined + (portRef un1_FS_11) + (portRef B (instanceRef EFBInst_0_RNI9PBJ)) + )) + (net un1_FS_29 (joined + (portRef un1_FS_29) + (portRef C (instanceRef EFBInst_0_RNI9PBJ)) + )) + (net wb_ack (joined + (portRef WBACKO (instanceRef EFBInst_0)) + (portRef D (instanceRef EFBInst_0_RNI9PBJ)) + (portRef wb_ack) + )) + (net d_N_5_mux (joined + (portRef Z (instanceRef EFBInst_0_RNI9PBJ)) + (portRef d_N_5_mux) + )) + (net RCLK_c (joined + (portRef RCLK_c) + (portRef WBCLKI (instanceRef EFBInst_0)) + )) + (net wb_rst (joined + (portRef wb_rst) + (portRef WBRSTI (instanceRef EFBInst_0)) + )) + (net wb_cyc_stb (joined + (portRef wb_cyc_stb) + (portRef WBSTBI (instanceRef EFBInst_0)) + (portRef WBCYCI (instanceRef EFBInst_0)) + )) + (net wb_we (joined + (portRef wb_we) + (portRef WBWEI (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_7 "wb_adr[7]") (joined + (portRef (member wb_adr 0)) + (portRef WBADRI7 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_6 "wb_adr[6]") (joined + (portRef (member wb_adr 1)) + (portRef WBADRI6 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_5 "wb_adr[5]") (joined + (portRef (member wb_adr 2)) + (portRef WBADRI5 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_4 "wb_adr[4]") (joined + (portRef (member wb_adr 3)) + (portRef WBADRI4 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_3 "wb_adr[3]") (joined + (portRef (member wb_adr 4)) + (portRef WBADRI3 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_2 "wb_adr[2]") (joined + (portRef (member wb_adr 5)) + (portRef WBADRI2 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_1 "wb_adr[1]") (joined + (portRef (member wb_adr 6)) + (portRef WBADRI1 (instanceRef EFBInst_0)) + )) + (net (rename wb_adr_0 "wb_adr[0]") (joined + (portRef (member wb_adr 7)) + (portRef WBADRI0 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_7 "wb_dati[7]") (joined + (portRef (member wb_dati 0)) + (portRef WBDATI7 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_6 "wb_dati[6]") (joined + (portRef (member wb_dati 1)) + (portRef WBDATI6 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_5 "wb_dati[5]") (joined + (portRef (member wb_dati 2)) + (portRef WBDATI5 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_4 "wb_dati[4]") (joined + (portRef (member wb_dati 3)) + (portRef WBDATI4 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_3 "wb_dati[3]") (joined + (portRef (member wb_dati 4)) + (portRef WBDATI3 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_2 "wb_dati[2]") (joined + (portRef (member wb_dati 5)) + (portRef WBDATI2 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_1 "wb_dati[1]") (joined + (portRef (member wb_dati 6)) + (portRef WBDATI1 (instanceRef EFBInst_0)) + )) + (net (rename wb_dati_0 "wb_dati[0]") (joined + (portRef (member wb_dati 7)) + (portRef WBDATI0 (instanceRef EFBInst_0)) + )) + (net GND (joined + (portRef Z (instanceRef GND)) + (portRef TCIC (instanceRef EFBInst_0)) + (portRef TCRSTN (instanceRef EFBInst_0)) + (portRef TCCLKI (instanceRef EFBInst_0)) + (portRef SPISCSN (instanceRef EFBInst_0)) + (portRef SPIMOSII (instanceRef EFBInst_0)) + (portRef SPIMISOI (instanceRef EFBInst_0)) + (portRef SPISCKI (instanceRef EFBInst_0)) + (portRef I2C2SDAI (instanceRef EFBInst_0)) + (portRef I2C2SCLI (instanceRef EFBInst_0)) + (portRef I2C1SDAI (instanceRef EFBInst_0)) + (portRef I2C1SCLI (instanceRef EFBInst_0)) + (portRef PLL1ACKI (instanceRef EFBInst_0)) + (portRef PLL1DATI0 (instanceRef EFBInst_0)) + (portRef PLL1DATI1 (instanceRef EFBInst_0)) + (portRef PLL1DATI2 (instanceRef EFBInst_0)) + (portRef PLL1DATI3 (instanceRef EFBInst_0)) + (portRef PLL1DATI4 (instanceRef EFBInst_0)) + (portRef PLL1DATI5 (instanceRef EFBInst_0)) + (portRef PLL1DATI6 (instanceRef EFBInst_0)) + (portRef PLL1DATI7 (instanceRef EFBInst_0)) + (portRef PLL0ACKI (instanceRef EFBInst_0)) + (portRef PLL0DATI0 (instanceRef EFBInst_0)) + (portRef PLL0DATI1 (instanceRef EFBInst_0)) + (portRef PLL0DATI2 (instanceRef EFBInst_0)) + (portRef PLL0DATI3 (instanceRef EFBInst_0)) + (portRef PLL0DATI4 (instanceRef EFBInst_0)) + (portRef PLL0DATI5 (instanceRef EFBInst_0)) + (portRef PLL0DATI6 (instanceRef EFBInst_0)) + (portRef PLL0DATI7 (instanceRef EFBInst_0)) + )) + (net VCC (joined + (portRef Z (instanceRef VCC)) + (portRef UFMSN (instanceRef EFBInst_0)) + )) + (net (rename wb_dat_o_1_7 "wb_dat_o_1[7]") (joined + (portRef WBDATO7 (instanceRef EFBInst_0)) + )) + (net (rename wb_dat_o_1_6 "wb_dat_o_1[6]") (joined + (portRef WBDATO6 (instanceRef EFBInst_0)) + )) + (net (rename wb_dat_o_1_5 "wb_dat_o_1[5]") (joined + (portRef WBDATO5 (instanceRef EFBInst_0)) + )) + (net (rename wb_dat_o_1_4 "wb_dat_o_1[4]") (joined + (portRef WBDATO4 (instanceRef EFBInst_0)) + )) + (net (rename wb_dat_o_1_3 "wb_dat_o_1[3]") (joined + (portRef WBDATO3 (instanceRef EFBInst_0)) + )) + (net (rename wb_dat_o_1_2 "wb_dat_o_1[2]") (joined + (portRef WBDATO2 (instanceRef EFBInst_0)) + )) + (net (rename wb_dato_1 "wb_dato[1]") (joined + (portRef WBDATO1 (instanceRef EFBInst_0)) + (portRef (member wb_dato 0)) + )) + (net (rename wb_dato_0 "wb_dato[0]") (joined + (portRef WBDATO0 (instanceRef EFBInst_0)) + (portRef (member wb_dato 1)) + )) + (net PLLCLKO (joined + (portRef PLLCLKO (instanceRef EFBInst_0)) + )) + (net PLLRSTO (joined + (portRef PLLRSTO (instanceRef EFBInst_0)) + )) + (net PLL0STBO (joined + (portRef PLL0STBO (instanceRef EFBInst_0)) + )) + (net PLL1STBO (joined + (portRef PLL1STBO (instanceRef EFBInst_0)) + )) + (net PLLWEO (joined + (portRef PLLWEO (instanceRef EFBInst_0)) + )) + (net PLLADRO4 (joined + (portRef PLLADRO4 (instanceRef EFBInst_0)) + )) + (net PLLADRO3 (joined + (portRef PLLADRO3 (instanceRef EFBInst_0)) + )) + (net PLLADRO2 (joined + (portRef PLLADRO2 (instanceRef EFBInst_0)) + )) + (net PLLADRO1 (joined + (portRef PLLADRO1 (instanceRef EFBInst_0)) + )) + (net PLLADRO0 (joined + (portRef PLLADRO0 (instanceRef EFBInst_0)) + )) + (net PLLDATO7 (joined + (portRef PLLDATO7 (instanceRef EFBInst_0)) + )) + (net PLLDATO6 (joined + (portRef PLLDATO6 (instanceRef EFBInst_0)) + )) + (net PLLDATO5 (joined + (portRef PLLDATO5 (instanceRef EFBInst_0)) + )) + (net PLLDATO4 (joined + (portRef PLLDATO4 (instanceRef EFBInst_0)) + )) + (net PLLDATO3 (joined + (portRef PLLDATO3 (instanceRef EFBInst_0)) + )) + (net PLLDATO2 (joined + (portRef PLLDATO2 (instanceRef EFBInst_0)) + )) + (net PLLDATO1 (joined + (portRef PLLDATO1 (instanceRef EFBInst_0)) + )) + (net PLLDATO0 (joined + (portRef PLLDATO0 (instanceRef EFBInst_0)) + )) + (net I2C1SCLO (joined + (portRef I2C1SCLO (instanceRef EFBInst_0)) + )) + (net I2C1SCLOEN (joined + (portRef I2C1SCLOEN (instanceRef EFBInst_0)) + )) + (net I2C1SDAO (joined + (portRef I2C1SDAO (instanceRef EFBInst_0)) + )) + (net I2C1SDAOEN (joined + (portRef I2C1SDAOEN (instanceRef EFBInst_0)) + )) + (net I2C2SCLO (joined + (portRef I2C2SCLO (instanceRef EFBInst_0)) + )) + (net I2C2SCLOEN (joined + (portRef I2C2SCLOEN (instanceRef EFBInst_0)) + )) + (net I2C2SDAO (joined + (portRef I2C2SDAO (instanceRef EFBInst_0)) + )) + (net I2C2SDAOEN (joined + (portRef I2C2SDAOEN (instanceRef EFBInst_0)) + )) + (net I2C1IRQO (joined + (portRef I2C1IRQO (instanceRef EFBInst_0)) + )) + (net I2C2IRQO (joined + (portRef I2C2IRQO (instanceRef EFBInst_0)) + )) + (net SPISCKO (joined + (portRef SPISCKO (instanceRef EFBInst_0)) + )) + (net SPISCKEN (joined + (portRef SPISCKEN (instanceRef EFBInst_0)) + )) + (net SPIMISOO (joined + (portRef SPIMISOO (instanceRef EFBInst_0)) + )) + (net SPIMISOEN (joined + (portRef SPIMISOEN (instanceRef EFBInst_0)) + )) + (net SPIMOSIO (joined + (portRef SPIMOSIO (instanceRef EFBInst_0)) + )) + (net SPIMOSIEN (joined + (portRef SPIMOSIEN (instanceRef EFBInst_0)) + )) + (net SPIMCSN0 (joined + (portRef SPIMCSN0 (instanceRef EFBInst_0)) + )) + (net SPIMCSN1 (joined + (portRef SPIMCSN1 (instanceRef EFBInst_0)) + )) + (net SPIMCSN2 (joined + (portRef SPIMCSN2 (instanceRef EFBInst_0)) + )) + (net SPIMCSN3 (joined + (portRef SPIMCSN3 (instanceRef EFBInst_0)) + )) + (net SPIMCSN4 (joined + (portRef SPIMCSN4 (instanceRef EFBInst_0)) + )) + (net SPIMCSN5 (joined + (portRef SPIMCSN5 (instanceRef EFBInst_0)) + )) + (net SPIMCSN6 (joined + (portRef SPIMCSN6 (instanceRef EFBInst_0)) + )) + (net SPIMCSN7 (joined + (portRef SPIMCSN7 (instanceRef EFBInst_0)) + )) + (net SPICSNEN (joined + (portRef SPICSNEN (instanceRef EFBInst_0)) + )) + (net SPIIRQO (joined + (portRef SPIIRQO (instanceRef EFBInst_0)) + )) + (net TCINT (joined + (portRef TCINT (instanceRef EFBInst_0)) + )) + (net TCOC (joined + (portRef TCOC (instanceRef EFBInst_0)) + )) + (net wbc_ufm_irq (joined + (portRef WBCUFMIRQ (instanceRef EFBInst_0)) + )) + (net CFGWAKE (joined + (portRef CFGWAKE (instanceRef EFBInst_0)) + )) + (net CFGSTDBY (joined + (portRef CFGSTDBY (instanceRef EFBInst_0)) + )) + ) + (property NGD_DRC_MASK (integer 1)) + (property orig_inst_of (string "REFB")) + ) + ) + (cell RAM2GS (cellType GENERIC) + (view verilog (viewType NETLIST) + (interface + (port PHI2 (direction INPUT)) + (port (array (rename main "MAin[9:0]") 10) (direction INPUT)) + (port (array (rename crow "CROW[1:0]") 2) (direction INPUT)) + (port (array (rename din "Din[7:0]") 8) (direction INPUT)) + (port (array (rename dout "Dout[7:0]") 8) (direction OUTPUT)) + (port nCCAS (direction INPUT)) + (port nCRAS (direction INPUT)) + (port nFWE (direction INPUT)) + (port LED (direction OUTPUT)) + (port (array (rename rba "RBA[1:0]") 2) (direction OUTPUT)) + (port (array (rename ra "RA[11:0]") 12) (direction OUTPUT)) + (port (array (rename rd "RD[7:0]") 8) (direction INOUT)) + (port nRCS (direction OUTPUT)) + (port RCLK (direction INPUT)) + (port RCKE (direction OUTPUT)) + (port nRWE (direction OUTPUT)) + (port nRRAS (direction OUTPUT)) + (port nRCAS (direction OUTPUT)) + (port RDQMH (direction OUTPUT)) + (port RDQML (direction OUTPUT)) + ) + (contents + (instance VCC (viewRef PRIM (cellRef VHI (libraryRef LUCENT))) ) + (instance GND (viewRef PRIM (cellRef VLO (libraryRef LUCENT))) ) + (instance GSR_INST (viewRef PRIM (cellRef GSR (libraryRef LUCENT))) + ) + (instance RASr2_RNIAFR1 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nCCAS_pad_RNISUR8 (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance RASr_RNO (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nFWE_pad_RNI420B (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance nRWE_0io_RNO_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (B !A)))")) + ) + (instance (rename S_RNICVV51_0 "S_RNICVV51[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_RNO_4 "wb_dati_5_1_iv_0_a3_RNO[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B !A))")) + ) + (instance (rename wb_dati_5_1_iv_0_RNO_7 "wb_dati_5_1_iv_0_RNO[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B !A+B A)))")) + ) + (instance (rename FS_RNI3V8E_9 "FS_RNI3V8E[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)))")) + ) + (instance RCKEEN_8_u_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C (!B+!A))+D (C !A))")) + ) + (instance (rename IS_RNO_3 "IS_RNO[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C A+C (!B A+B !A)))")) + ) + (instance CmdUFMData_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance Ready_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D A+D (!C (B+A)+C A))")) + ) + (instance CmdEnable_s (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance CmdEnable_s_bm (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance CmdEnable_s_am (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C B+C (B A))+D (!C B+C A))")) + ) + (instance XOR8MEG_3_u_0 (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance XOR8MEG_3_u_0_bm (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C B)+D (C (B !A)))")) + ) + (instance XOR8MEG_3_u_0_am (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "A")) + ) + (instance wb_cyc_stb_RNO (viewRef PRIM (cellRef PFUMX (libraryRef LUCENT))) ) + (instance wb_cyc_stb_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C+(B+!A)))")) + ) + (instance wb_cyc_stb_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(!B+A))")) + ) + (instance Ready_fast_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance InitReady_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance nCRAS_pad_RNIBPVB (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance (rename XOR8MEG_CN "XOR8MEG.CN") (viewRef PRIM (cellRef INV (libraryRef LUCENT))) ) + (instance (rename WRD_0io_0 "WRD_0io[0]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_1 "WRD_0io[1]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_2 "WRD_0io[2]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_3 "WRD_0io[3]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_4 "WRD_0io[4]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_5 "WRD_0io[5]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_6 "WRD_0io[6]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance (rename WRD_0io_7 "WRD_0io[7]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "TRUE")) + ) + (instance PHI2r_0io (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance (rename Bank_0io_0 "Bank_0io[0]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_1 "Bank_0io[1]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_2 "Bank_0io[2]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_3 "Bank_0io[3]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_4 "Bank_0io[4]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_5 "Bank_0io[5]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_6 "Bank_0io[6]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance (rename Bank_0io_7 "Bank_0io[7]") (viewRef PRIM (cellRef IFS1P3DX (libraryRef LUCENT))) + ) + (instance nRWE_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance nRRAS_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance nRCS_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance nRCAS_0io (viewRef PRIM (cellRef OFS1P3BX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance (rename RBA_0io_0 "RBA_0io[0]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance (rename RBA_0io_1 "RBA_0io[1]") (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance RA11_0io (viewRef PRIM (cellRef OFS1P3DX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance RA10_0io (viewRef PRIM (cellRef OFS1P3JX (libraryRef LUCENT))) + (property IOB (string "FALSE")) + ) + (instance wb_we (viewRef PRIM (cellRef FD1P3IX (libraryRef LUCENT))) + ) + (instance wb_rst (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance wb_req (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_0 "wb_dati[0]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_1 "wb_dati[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_2 "wb_dati[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_3 "wb_dati[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_4 "wb_dati[4]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_5 "wb_dati[5]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_6 "wb_dati[6]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_dati_7 "wb_dati[7]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance wb_cyc_stb (viewRef PRIM (cellRef FD1P3IX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_0 "wb_adr[0]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_1 "wb_adr[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_2 "wb_adr[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_3 "wb_adr[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_4 "wb_adr[4]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_5 "wb_adr[5]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_6 "wb_adr[6]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename wb_adr_7 "wb_adr[7]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance nRowColSel (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance n8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance XOR8MEG (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename S_0 "S[0]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename S_1 "S[1]") (viewRef PRIM (cellRef FD1S3IX (libraryRef LUCENT))) + ) + (instance (rename RowA_0 "RowA[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_1 "RowA[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_2 "RowA[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_3 "RowA[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_4 "RowA[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_5 "RowA[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_6 "RowA[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_7 "RowA[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_8 "RowA[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename RowA_9 "RowA[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Ready_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Ready (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RCKEEN (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RCKE (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance PHI2r3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance PHI2r2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance LEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance InitReady (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename IS_0 "IS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename IS_1 "IS[1]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename IS_2 "IS[2]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance (rename IS_3 "IS[3]") (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance FWEr_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance FWEr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_0 "FS[0]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_1 "FS[1]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_2 "FS[2]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_3 "FS[3]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_4 "FS[4]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_5 "FS[5]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_6 "FS[6]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_7 "FS[7]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_8 "FS[8]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_9 "FS[9]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_10 "FS[10]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_11 "FS[11]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_12 "FS[12]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_13 "FS[13]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_14 "FS[14]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_15 "FS[15]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_16 "FS[16]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance (rename FS_17 "FS[17]") (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance Cmdn8MEGEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdValid_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CmdValid (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CmdUFMWrite (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMShift_fast (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMShift (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdUFMData (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdLEDEN (viewRef PRIM (cellRef FD1P3AX (libraryRef LUCENT))) + ) + (instance CmdEnable (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CBR_fast (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CBR (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr3 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr2 (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance CASr (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance C1Submitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance ADSubmitted (viewRef PRIM (cellRef FD1S3AX (libraryRef LUCENT))) + ) + (instance RDQML_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RDQMH_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRCAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRRAS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nRWE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RCKE_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance RCLK_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nRCS_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RD_pad_7 "RD_pad[7]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_6 "RD_pad[6]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_5 "RD_pad[5]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_4 "RD_pad[4]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_3 "RD_pad[3]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_2 "RD_pad[2]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_1 "RD_pad[1]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RD_pad_0 "RD_pad[0]") (viewRef PRIM (cellRef BB (libraryRef LUCENT))) ) + (instance (rename RA_pad_11 "RA_pad[11]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_10 "RA_pad[10]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_9 "RA_pad[9]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_8 "RA_pad[8]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_7 "RA_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_6 "RA_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_5 "RA_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_4 "RA_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_3 "RA_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_2 "RA_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_1 "RA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RA_pad_0 "RA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RBA_pad_1 "RBA_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename RBA_pad_0 "RBA_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance LED_pad (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance nFWE_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nCRAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance nCCAS_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_7 "Dout_pad[7]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_6 "Dout_pad[6]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_5 "Dout_pad[5]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_4 "Dout_pad[4]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_3 "Dout_pad[3]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_2 "Dout_pad[2]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_1 "Dout_pad[1]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Dout_pad_0 "Dout_pad[0]") (viewRef PRIM (cellRef OB (libraryRef LUCENT))) ) + (instance (rename Din_pad_7 "Din_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_6 "Din_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_5 "Din_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_4 "Din_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_3 "Din_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_2 "Din_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_1 "Din_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename Din_pad_0 "Din_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename CROW_pad_1 "CROW_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename CROW_pad_0 "CROW_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_9 "MAin_pad[9]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_8 "MAin_pad[8]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_7 "MAin_pad[7]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_6 "MAin_pad[6]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_5 "MAin_pad[5]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_4 "MAin_pad[4]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_3 "MAin_pad[3]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_2 "MAin_pad[2]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_1 "MAin_pad[1]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance (rename MAin_pad_0 "MAin_pad[0]") (viewRef PRIM (cellRef IB (libraryRef LUCENT))) ) + (instance PHI2_pad (viewRef PRIM (cellRef IB (libraryRef LUCENT))) + ) + (instance (rename wb_adr_5_0 "wb_adr_5[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B !A)+C (B+A))")) + ) + (instance (rename wb_dati_5_1_iv_0_4 "wb_dati_5_1_iv_0[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C (B !A)+C (B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_6 "wb_dati_5_1_iv_0[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C (B+A))")) + ) + (instance (rename wb_dati_5_1_iv_0_7 "wb_dati_5_1_iv_0[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+A)+D (C+(B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_5 "wb_dati_5_1_iv_0[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_2 "wb_dati_5_1_iv_0[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_1 "wb_dati_5_1_iv_0[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+A)+D (C+(B+A)))")) + ) + (instance (rename wb_adr_5_1 "wb_adr_5[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C A)+D (!C (!B !A)+C (!B+A)))")) + ) + (instance wb_we_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C+(B A))+D (B A))")) + ) + (instance (rename wb_dati_5_1_iv_0_1_6 "wb_dati_5_1_iv_0_1[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_0_3 "wb_dati_5_1_iv_0_0[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C A)+D (!C B+C (B+A)))")) + ) + (instance CmdValid_fast_RNITQBM1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D C+D (!C (B A)+C (!B+A)))")) + ) + (instance (rename IS_RNO_0 "IS_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A+B A)+C A)")) + ) + (instance (rename wb_dati_5_0_iv_0_0 "wb_dati_5_0_iv_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C B)+D (!C A+C (B+A)))")) + ) + (instance XOR8MEG18 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance un1_wb_cyc_stb_1_sqmuxa_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D B+D (!C B+C (B+A)))")) + ) + (instance Cmdn8MEGEN_4_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A)+C (B+A))")) + ) + (instance CmdLEDEN_4_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename wb_dati_5_1_iv_0_RNO_4 "wb_dati_5_1_iv_0_RNO[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance RA10_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(C+(!B+!A)))")) + ) + (instance CmdEnable16 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance CmdEnable17 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance nRRAS_5_u_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C (!B A)+C !B))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_7 "wb_dati_5_1_iv_0_a3[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance (rename wb_dati_5_1_iv_0_0_1 "wb_dati_5_1_iv_0_0[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C A)+D (!C B+C (B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_1_4 "wb_dati_5_1_iv_0_1[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C A+C (B+A))+D (B+A))")) + ) + (instance (rename wb_dati_5_1_iv_0_1_7 "wb_dati_5_1_iv_0_1[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+B)+D (C+(B+A)))")) + ) + (instance CmdUFMWrite_3_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C A)+D (!C B))")) + ) + (instance CmdUFMShift_3_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C A)+D (!C !B))")) + ) + (instance un1_nRCAS_6_sqmuxa_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B+A))+D (!C (!B+A)))")) + ) + (instance un1_wb_we95_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A+B !A))+D (C (B A)))")) + ) + (instance IS_0_sqmuxa_0_o2_0_RNIS63D (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B !A)")) + ) + (instance CmdValid_r (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C A)")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_6 "wb_dati_5_1_iv_0_a3[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_4 "wb_dati_5_1_iv_0_a3[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_1_7 "wb_dati_5_1_iv_0_a3_1[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B+A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_2 "wb_dati_5_1_iv_0_a3[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B+A)))")) + ) + (instance (rename wb_adr_cnst_sn_m4_32 "wb_adr_cnst_sn.m4_32") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (!B !A))")) + ) + (instance un1_FS_40_1_1_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D C+D (C+(!B A+B !A)))")) + ) + (instance un1_wb_adr_0_sqmuxa_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance (rename wb_adr_5_6 "wb_adr_5[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (B+!A))")) + ) + (instance (rename wb_adr_5_5 "wb_adr_5[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (B+!A))")) + ) + (instance (rename wb_adr_5_4 "wb_adr_5[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (B+!A))")) + ) + (instance Cmdn8MEGEN_4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C A+C !B)")) + ) + (instance CmdLEDEN_4_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C A+C B)")) + ) + (instance PHI2r3_RNIS5A51 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !B+D (!C (!B+A)+C !B))")) + ) + (instance (rename wb_dati_5_1_iv_0_a2_0_4 "wb_dati_5_1_iv_0_a2_0[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance (rename wb_dati_5_1_iv_0_o3_1 "wb_dati_5_1_iv_0_o3[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B !A))+D (!C (B A)))")) + ) + (instance un1_FS_40_1_a6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance nRCAS_0_sqmuxa_1_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRowColSel_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C B+C (B+A))+D (!C B+C (B+!A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a2_4 "wb_dati_5_1_iv_0_a2[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance wb_we95 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (B !A))+D (C (B A)))")) + ) + (instance nRCAS_r_i_a3_1_1_tz (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D !C+D (C (!B A)))")) + ) + (instance Ready_0_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance un1_wb_cyc_stb_2_sqmuxa_i_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance C1WR_7 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_3_7 "wb_dati_5_1_iv_0_a3_3[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance ADWR_7 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_2_0_1 "wb_dati_5_1_iv_0_a3_2_0[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance nRRAS_5_u_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B !A)+C !A))")) + ) + (instance C1WR_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A)))")) + ) + (instance CMDWR_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_0_0_3 "wb_dati_5_1_iv_0_a3_0_0[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (B !A))+D (C (B A)))")) + ) + (instance (rename IS_RNO_2 "IS_RNO[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (!B+!A))")) + ) + (instance wb_we113_i_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C+(!B+A))+D (!B+A))")) + ) + (instance ADSubmitted_r (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+(!B A)))")) + ) + (instance un1_FS_40_1_1_tz (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)+C (B !A))+D (C (B !A)))")) + ) + (instance LED_pad_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(!B+A))")) + ) + (instance un1_Bank_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance un1_wb_cyc_stb_2_sqmuxa_i_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance un1_FS_29 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)))")) + ) + (instance XOR8MEG11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B A)))")) + ) + (instance XOR8MEG14 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance un1_Din_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance un1_FS_40_1_o6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C (!B !A)+C (!B+A)))")) + ) + (instance InitReady3_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance un1_wb_cyc_stb_1_sqmuxa_0_a3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance nRowColSel_0_0_a3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance (rename wb_dati_5_0_iv_0_a3_1_0 "wb_dati_5_0_iv_0_a3_1[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)+C (B !A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_0_0_0_1 "wb_dati_5_1_iv_0_a3_0_0_0[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_m3_7 "wb_dati_5_1_iv_0_m3[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C !B+C (B+!A))")) + ) + (instance RCKE_2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C !B)+D (C+(B+A)))")) + ) + (instance (rename S_RNO_0 "S_RNO[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+!A)")) + ) + (instance (rename FS_RNIVOOA_14 "FS_RNIVOOA[14]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance (rename wb_dati_5_1_iv_0_a2_7 "wb_dati_5_1_iv_0_a2[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A))")) + ) + (instance C1Submitted_s (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(!B A))")) + ) + (instance Ready_0_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C+(!B+!A))")) + ) + (instance nCCAS_pad_RNI01SJ (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance C1WR_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B A))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_1_1_4 "wb_dati_5_1_iv_0_a3_1_1[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B !A)))")) + ) + (instance un1_wb_cyc_stb_2_sqmuxa_i_a3_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B !A))")) + ) + (instance un1_FS_11 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A))")) + ) + (instance wb_rst10 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)))")) + ) + (instance un1_Bank_1_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B !A)))")) + ) + (instance InitReady3_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance Ready_0_sqmuxa_0_a3_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_3_0_7 "wb_dati_5_1_iv_0_a3_3_0[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance ADWR_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A))")) + ) + (instance ADWR_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_0_0_6 "wb_dati_5_1_iv_0_a3_0_0[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A)+C (B A))")) + ) + (instance CmdEnable17_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (!B A)))")) + ) + (instance CmdEnable17_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance CmdEnable16_4 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B A)))")) + ) + (instance CmdEnable16_5 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance LEDEN_6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (!B+A))")) + ) + (instance (rename un9_RA_0 "un9_RA[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_1 "un9_RA[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_2 "un9_RA[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_3 "un9_RA[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_4 "un9_RA[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_5 "un9_RA[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_6 "un9_RA[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_7 "un9_RA[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance n8MEGEN_6 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C (!B+A))")) + ) + (instance (rename un9_RA_9 "un9_RA[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename un9_RA_8 "un9_RA[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C B+C A)")) + ) + (instance (rename wb_adr_5_2 "wb_adr_5[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename wb_adr_5_3 "wb_adr_5[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename wb_adr_5_7 "wb_adr_5[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance wb_we113_i_a2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename S_0_i_o2_1 "S_0_i_o2[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance XOR8MEG9_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance un1_wb_cyc_stb_2_sqmuxa_i_o3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+!A)")) + ) + (instance CmdUFMWrite_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance RDQML (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance RDQMH (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+A)")) + ) + (instance un1_FS_21_1_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance un1_FS_22_1_i (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+!A)")) + ) + (instance IS_n1_0_x2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A+B !A)")) + ) + (instance RA10_2_sqmuxa_0_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B+A)")) + ) + (instance un1_PHI2r3_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance wb_we95_0_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B !A)")) + ) + (instance XOR8MEG14_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B A)")) + ) + (instance un1_Bank_1_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B !A)")) + ) + (instance (rename wb_adr_cnst_0_0 "wb_adr_cnst_0[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (!B !A+B A))")) + ) + (instance un1_ADWR (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B+A))")) + ) + (instance un1_wb_adr_0_sqmuxa_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C+(!B+A))")) + ) + (instance un1_FS_40_1_0_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B+A)+C (!B A))+D (!C A+C (!B A)))")) + ) + (instance un1_FS_40_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (B A))+D (!B !A))")) + ) + (instance RCKEEN_8_u_1_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C+B)+D (C (!B+!A)))")) + ) + (instance RCKEEN_8_u (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D B+D (!C B+C (B+!A)))")) + ) + (instance wb_rste (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C !B)+D (!C (B !A)+C (!B+!A)))")) + ) + (instance wb_reqe (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C !A)+D (!C (!B A)+C (!B+!A)))")) + ) + (instance CmdUFMShift_fast_RNIG9JD1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D+(C (B A)))")) + ) + (instance PHI2r3_RNIFT0I (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B !A)")) + ) + (instance CmdValid_r_fast (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B A)+C A)")) + ) + (instance CmdUFMShift_3_u_fast (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C A)+D (!C !B))")) + ) + (instance nRWE_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+B)+D (C+(!B !A)))")) + ) + (instance nRWE_0io_RNO_1 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (!B A)+C !A)")) + ) + (instance nRWE_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (B !A))")) + ) + (instance nRWE_0io_RNO_3 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C+(!B+A))")) + ) + (instance nRWE_0io_RNO_2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (C (!B A)))")) + ) + (instance nRCS_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C (!B !A))")) + ) + (instance nRCS_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C+A)+D (!C A+C !B))")) + ) + (instance nRCAS_0io_RNO (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C !B)+D (!C !B+C (!B !A)))")) + ) + (instance nRCAS_0io_RNO_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C !B+C (!B !A))")) + ) + (instance RA11d (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (B A)+C (B !A))+D (C B))")) + ) + (instance (rename wb_adr_cnst_sn_m2_0_a3 "wb_adr_cnst_sn.m2_0_a3") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D (!C (!B !A)))")) + ) + (instance IS_0_sqmuxa_0_o2_0 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(C+(!B+!A)))")) + ) + (instance un1_nRCAS_6_sqmuxa_i_o2 (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(C+(B+A))")) + ) + (instance (rename RowAd_3 "RowAd[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_0 "RowAd[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_1 "RowAd[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_2 "RowAd[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_7 "RowAd[7]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_4 "RowAd[4]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_5 "RowAd[5]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+A)")) + ) + (instance (rename RowAd_6 "RowAd[6]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RBAd_1 "RBAd[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_8 "RowAd[8]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename RowAd_9 "RowAd[9]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!B+A)")) + ) + (instance (rename RBAd_0 "RBAd[0]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(B A)")) + ) + (instance (rename wb_dati_5_1_iv_0_o3_2 "wb_dati_5_1_iv_0_o3[2]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C A+C (B+A))")) + ) + (instance nRRAS_5_u_i_0_RNILD5I (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (!B !A)+C !A)+D (C !A))")) + ) + (instance (rename wb_dati_5_1_iv_0_a3_1 "wb_dati_5_1_iv_0_a3[1]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (C (B A)))")) + ) + (instance (rename wb_dati_5_1_iv_0_a2_0_3 "wb_dati_5_1_iv_0_a2_0[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!C (B !A))")) + ) + (instance un1_CMDWR (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(!D (!C (B A)+C B)+D B)")) + ) + (instance (rename wb_dati_5_1_iv_0_3 "wb_dati_5_1_iv_0[3]") (viewRef PRIM (cellRef ORCALUT4 (libraryRef LUCENT))) + (property lut_function (string "(D+(!C A+C (B+A)))")) + ) + (instance (rename FS_s_0_17 "FS_s_0[17]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x5002")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_15 "FS_cry_0[15]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_13 "FS_cry_0[13]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_11 "FS_cry_0[11]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_9 "FS_cry_0[9]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_7 "FS_cry_0[7]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_5 "FS_cry_0[5]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_3 "FS_cry_0[3]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_1 "FS_cry_0[1]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance (rename FS_cry_0_0 "FS_cry_0[0]") (viewRef PRIM (cellRef CCU2D (libraryRef LUCENT))) + (property INIT0 (string "0x300A")) + (property INJECT1_1 (string "NO")) + (property INJECT1_0 (string "NO")) + (property INIT1 (string "0x300A")) + ) + (instance ufmefb (viewRef netlist (cellRef REFB)) + ) + (net un1_wb_cyc_stb_1_sqmuxa_0 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_1_sqmuxa_0)) + (portRef D (instanceRef wb_cyc_stb)) + )) + (net un1_ADWR (joined + (portRef Z (instanceRef un1_ADWR)) + (portRef B (instanceRef C1Submitted_s)) + (portRef B (instanceRef ADSubmitted_r)) + )) + (net wb_rst (joined + (portRef Q (instanceRef wb_rst)) + (portRef wb_rst (instanceRef ufmefb)) + (portRef C (instanceRef wb_rste)) + )) + (net wb_cyc_stb (joined + (portRef Q (instanceRef wb_cyc_stb)) + (portRef wb_cyc_stb (instanceRef ufmefb)) + )) + (net wb_we (joined + (portRef Q (instanceRef wb_we)) + (portRef wb_we (instanceRef ufmefb)) + (portRef D (instanceRef wb_dati_5_0_iv_0_0)) + )) + (net (rename wb_adr_0 "wb_adr[0]") (joined + (portRef Q (instanceRef wb_adr_0)) + (portRef (member wb_adr 7) (instanceRef ufmefb)) + (portRef C (instanceRef wb_adr_5_1)) + )) + (net (rename wb_adr_1 "wb_adr[1]") (joined + (portRef Q (instanceRef wb_adr_1)) + (portRef (member wb_adr 6) (instanceRef ufmefb)) + (portRef B (instanceRef wb_adr_5_2)) + )) + (net (rename wb_adr_2 "wb_adr[2]") (joined + (portRef Q (instanceRef wb_adr_2)) + (portRef (member wb_adr 5) (instanceRef ufmefb)) + (portRef B (instanceRef wb_adr_5_3)) + )) + (net (rename wb_adr_3 "wb_adr[3]") (joined + (portRef Q (instanceRef wb_adr_3)) + (portRef (member wb_adr 4) (instanceRef ufmefb)) + (portRef B (instanceRef wb_adr_5_4)) + )) + (net (rename wb_adr_4 "wb_adr[4]") (joined + (portRef Q (instanceRef wb_adr_4)) + (portRef (member wb_adr 3) (instanceRef ufmefb)) + (portRef B (instanceRef wb_adr_5_5)) + )) + (net (rename wb_adr_5 "wb_adr[5]") (joined + (portRef Q (instanceRef wb_adr_5)) + (portRef (member wb_adr 2) (instanceRef ufmefb)) + (portRef B (instanceRef wb_adr_5_6)) + )) + (net (rename wb_adr_6 "wb_adr[6]") (joined + (portRef Q (instanceRef wb_adr_6)) + (portRef (member wb_adr 1) (instanceRef ufmefb)) + (portRef B (instanceRef wb_adr_5_7)) + )) + (net (rename wb_adr_7 "wb_adr[7]") (joined + (portRef Q (instanceRef wb_adr_7)) + (portRef (member wb_adr 0) (instanceRef ufmefb)) + )) + (net (rename wb_dati_0 "wb_dati[0]") (joined + (portRef Q (instanceRef wb_dati_0)) + (portRef (member wb_dati 7) (instanceRef ufmefb)) + (portRef C (instanceRef wb_dati_5_1_iv_0_0_1)) + )) + (net (rename wb_dati_1 "wb_dati[1]") (joined + (portRef Q (instanceRef wb_dati_1)) + (portRef (member wb_dati 6) (instanceRef ufmefb)) + (portRef D (instanceRef wb_dati_5_1_iv_0_2)) + )) + (net (rename wb_dati_2 "wb_dati[2]") (joined + (portRef Q (instanceRef wb_dati_2)) + (portRef (member wb_dati 5) (instanceRef ufmefb)) + (portRef C (instanceRef wb_dati_5_1_iv_0_0_3)) + )) + (net (rename wb_dati_3 "wb_dati[3]") (joined + (portRef Q (instanceRef wb_dati_3)) + (portRef (member wb_dati 4) (instanceRef ufmefb)) + (portRef C (instanceRef wb_dati_5_1_iv_0_4)) + )) + (net (rename wb_dati_4 "wb_dati[4]") (joined + (portRef Q (instanceRef wb_dati_4)) + (portRef (member wb_dati 3) (instanceRef ufmefb)) + (portRef D (instanceRef wb_dati_5_1_iv_0_5)) + )) + (net (rename wb_dati_5 "wb_dati[5]") (joined + (portRef Q (instanceRef wb_dati_5)) + (portRef (member wb_dati 2) (instanceRef ufmefb)) + (portRef D (instanceRef wb_dati_5_1_iv_0_1_6)) + )) + (net (rename wb_dati_6 "wb_dati[6]") (joined + (portRef Q (instanceRef wb_dati_6)) + (portRef (member wb_dati 1) (instanceRef ufmefb)) + (portRef D (instanceRef wb_dati_5_1_iv_0_1_7)) + )) + (net (rename wb_dati_7 "wb_dati[7]") (joined + (portRef Q (instanceRef wb_dati_7)) + (portRef (member wb_dati 0) (instanceRef ufmefb)) + (portRef C (instanceRef wb_adr_5_0)) + )) + (net (rename wb_dato_0 "wb_dato[0]") (joined + (portRef (member wb_dato 1) (instanceRef ufmefb)) + (portRef C (instanceRef n8MEGEN_6)) + )) + (net (rename wb_dato_1 "wb_dato[1]") (joined + (portRef (member wb_dato 0) (instanceRef ufmefb)) + (portRef C (instanceRef LEDEN_6)) + )) + (net wb_ack (joined + (portRef wb_ack (instanceRef ufmefb)) + (portRef A (instanceRef wb_cyc_stb_RNO_1)) + )) + (net CBR (joined + (portRef Q (instanceRef CBR)) + (portRef A (instanceRef nRCAS_0io_RNO_0)) + (portRef A (instanceRef RCKEEN_8_u)) + (portRef B (instanceRef nRowColSel_0_0_a3_0)) + (portRef A (instanceRef LED_pad_RNO)) + )) + (net InitReady (joined + (portRef Q (instanceRef InitReady)) + (portRef InitReady (instanceRef ufmefb)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef A (instanceRef wb_adr_cnst_sn_m2_0_a3)) + (portRef D (instanceRef CmdUFMShift_fast_RNIG9JD1)) + (portRef A (instanceRef wb_adr_5_7)) + (portRef A (instanceRef wb_adr_5_3)) + (portRef A (instanceRef wb_adr_5_2)) + (portRef B (instanceRef n8MEGEN_6)) + (portRef B (instanceRef LEDEN_6)) + (portRef D (instanceRef wb_rst10)) + (portRef C (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3)) + (portRef A (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3)) + (portRef A (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef B (instanceRef PHI2r3_RNIS5A51)) + (portRef A (instanceRef wb_adr_5_4)) + (portRef A (instanceRef wb_adr_5_5)) + (portRef A (instanceRef wb_adr_5_6)) + (portRef A (instanceRef wb_dati_5_1_iv_0_1_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_0_1)) + (portRef A (instanceRef wb_dati_5_0_iv_0_0)) + (portRef B (instanceRef CmdValid_fast_RNITQBM1)) + (portRef A (instanceRef wb_dati_5_1_iv_0_0_3)) + (portRef A (instanceRef wb_dati_5_1_iv_0_1_6)) + (portRef B (instanceRef wb_we_0)) + (portRef A (instanceRef wb_adr_5_1)) + (portRef A (instanceRef wb_dati_5_1_iv_0_2)) + (portRef A (instanceRef wb_dati_5_1_iv_0_5)) + (portRef A (instanceRef wb_dati_5_1_iv_0_4)) + (portRef A (instanceRef wb_adr_5_0)) + (portRef B (instanceRef InitReady_RNO)) + (portRef C0 (instanceRef wb_cyc_stb_RNO)) + (portRef D (instanceRef Ready_RNO)) + (portRef C (instanceRef RCKEEN_8_u_RNO)) + )) + (net C1Submitted (joined + (portRef Q (instanceRef C1Submitted)) + (portRef A (instanceRef C1Submitted_s)) + (portRef D (instanceRef CmdEnable_s_am)) + )) + (net (rename Bank_2 "Bank[2]") (joined + (portRef Q (instanceRef Bank_0io_2)) + (portRef A (instanceRef un1_Bank_1_4)) + )) + (net Ready (joined + (portRef Q (instanceRef Ready)) + (portRef D (instanceRef nRCS_0io_RNO)) + (portRef C (instanceRef nRWE_0io_RNO_1)) + (portRef D (instanceRef nRWE_0io_RNO)) + (portRef D (instanceRef RCKEEN_8_u)) + (portRef D (instanceRef nRowColSel_0_0_a3_0)) + (portRef D (instanceRef nRRAS_5_u_i_0)) + (portRef C (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef C (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef B (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef D (instanceRef RA10_0io_RNO)) + (portRef C (instanceRef IS_RNO_0)) + (portRef A (instanceRef Ready_RNO)) + (portRef A (instanceRef RCKEEN_8_u_RNO)) + (portRef A (instanceRef S_RNICVV51_0)) + )) + (net n8MEGEN (joined + (portRef Q (instanceRef n8MEGEN)) + (portRef D (instanceRef RA11d)) + (portRef C (instanceRef Cmdn8MEGEN_4_u)) + )) + (net CO0 (joined + (portRef Q (instanceRef S_0)) + (portRef D (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef nRWE_0io_RNO_2)) + (portRef B (instanceRef RCKEEN_8_u_1_0)) + (portRef A (instanceRef S_0_i_o2_1)) + (portRef A (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef A (instanceRef S_RNO_0)) + (portRef C (instanceRef nRCAS_r_i_a3_1_1_tz)) + (portRef A (instanceRef nRowColSel_0_0)) + (portRef C (instanceRef S_RNICVV51_0)) + )) + (net (rename S_1 "S[1]") (joined + (portRef Q (instanceRef S_1)) + (portRef C (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef nRCAS_0io_RNO_0)) + (portRef D (instanceRef nRCAS_0io_RNO)) + (portRef C (instanceRef nRCS_0io_RNO_0)) + (portRef D (instanceRef nRWE_0io_RNO_2)) + (portRef D (instanceRef RCKEEN_8_u_1_0)) + (portRef B (instanceRef S_0_i_o2_1)) + (portRef D (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef S_RNO_0)) + (portRef D (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef B (instanceRef S_RNICVV51_0)) + )) + (net RASr2 (joined + (portRef Q (instanceRef RASr2)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef A (instanceRef nRWE_0io_RNO_3)) + (portRef C (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef RCKE_2_0)) + (portRef B (instanceRef nRRAS_5_u_i_0)) + (portRef C (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef D (instanceRef RASr3)) + (portRef B (instanceRef RCKEEN_8_u_RNO)) + (portRef A (instanceRef RASr2_RNIAFR1)) + )) + (net (rename FS_14 "FS[14]") (joined + (portRef Q (instanceRef FS_14)) + (portRef A1 (instanceRef FS_cry_0_13)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a2_0_3)) + (portRef A (instanceRef wb_rste)) + (portRef D (instanceRef un1_FS_40_1_0_1)) + (portRef B (instanceRef wb_we95_0_0)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_3_0_7)) + (portRef C (instanceRef FS_RNIVOOA_14)) + (portRef C (instanceRef wb_dati_5_0_iv_0_a3_1_0)) + (portRef B (instanceRef InitReady3_0_a3)) + (portRef B (instanceRef un1_FS_29)) + (portRef D (instanceRef un1_FS_40_1_1_tz)) + (portRef B (instanceRef wb_we113_i_0)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_2_0_1)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a2_4)) + (portRef B (instanceRef un1_FS_40_1_a6)) + (portRef D (instanceRef wb_dati_5_1_iv_0_o3_1)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_2)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_1_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_4)) + (portRef A (instanceRef wb_dati_5_1_iv_0_RNO_7)) + )) + (net FWEr (joined + (portRef Q (instanceRef FWEr)) + (portRef B (instanceRef nRWE_0io_RNO_0)) + (portRef C (instanceRef RCKEEN_8_u_1_0)) + (portRef C (instanceRef nRowColSel_0_0_a3_0)) + )) + (net CASr3 (joined + (portRef Q (instanceRef CASr3)) + (portRef B (instanceRef nRWE_0io_RNO_2)) + (portRef A (instanceRef nRowColSel_0_0_a3_0)) + (portRef B (instanceRef nRCAS_r_i_a3_1_1_tz)) + )) + (net (rename IS_0 "IS[0]") (joined + (portRef Q (instanceRef IS_0)) + (portRef D (instanceRef nRRAS_5_u_i_0_RNILD5I)) + (portRef A (instanceRef IS_n1_0_x2)) + (portRef A (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef A (instanceRef IS_RNO_2)) + (portRef A (instanceRef nRRAS_5_u_i)) + (portRef A (instanceRef RA10_0io_RNO)) + (portRef A (instanceRef IS_RNO_0)) + (portRef D (instanceRef IS_RNO_3)) + (portRef B (instanceRef nRWE_0io_RNO_4)) + )) + (net (rename IS_3 "IS[3]") (joined + (portRef Q (instanceRef IS_3)) + (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef B (instanceRef RA10_0io_RNO)) + (portRef A (instanceRef IS_RNO_3)) + )) + (net (rename IS_1 "IS[1]") (joined + (portRef Q (instanceRef IS_1)) + (portRef C (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef A (instanceRef RA10_2_sqmuxa_0_o2)) + (portRef B (instanceRef IS_n1_0_x2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef B (instanceRef IS_RNO_2)) + (portRef C (instanceRef IS_RNO_3)) + (portRef D (instanceRef nRWE_0io_RNO_4)) + )) + (net (rename IS_2 "IS[2]") (joined + (portRef Q (instanceRef IS_2)) + (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef RA10_2_sqmuxa_0_o2)) + (portRef C (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef C (instanceRef IS_RNO_2)) + (portRef B (instanceRef IS_RNO_3)) + (portRef C (instanceRef nRWE_0io_RNO_4)) + )) + (net (rename FS_15 "FS[15]") (joined + (portRef Q (instanceRef FS_15)) + (portRef A0 (instanceRef FS_cry_0_15)) + (portRef D (instanceRef wb_adr_cnst_sn_m2_0_a3)) + (portRef B (instanceRef InitReady3_0_a3_2)) + (portRef A (instanceRef wb_rst10)) + (portRef A (instanceRef un1_FS_11)) + )) + (net (rename FS_16 "FS[16]") (joined + (portRef Q (instanceRef FS_16)) + (portRef A1 (instanceRef FS_cry_0_15)) + (portRef C (instanceRef wb_adr_cnst_sn_m2_0_a3)) + (portRef C (instanceRef InitReady3_0_a3_2)) + (portRef B (instanceRef wb_rst10)) + (portRef B (instanceRef un1_FS_11)) + )) + (net (rename FS_17 "FS[17]") (joined + (portRef Q (instanceRef FS_17)) + (portRef A0 (instanceRef FS_s_0_17)) + (portRef B (instanceRef wb_adr_cnst_sn_m2_0_a3)) + (portRef D (instanceRef InitReady3_0_a3_2)) + (portRef C (instanceRef wb_rst10)) + (portRef C (instanceRef un1_FS_11)) + )) + (net (rename FS_0 "FS[0]") (joined + (portRef Q (instanceRef FS_0)) + (portRef A1 (instanceRef FS_cry_0_0)) + (portRef A (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_o3)) + (portRef A (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2)) + )) + (net (rename FS_4 "FS[4]") (joined + (portRef Q (instanceRef FS_4)) + (portRef A1 (instanceRef FS_cry_0_3)) + (portRef B (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2)) + )) + (net (rename FS_6 "FS[6]") (joined + (portRef Q (instanceRef FS_6)) + (portRef A1 (instanceRef FS_cry_0_5)) + (portRef B (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_1)) + )) + (net (rename FS_8 "FS[8]") (joined + (portRef Q (instanceRef FS_8)) + (portRef A1 (instanceRef FS_cry_0_7)) + (portRef C (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_1)) + )) + (net (rename FS_7 "FS[7]") (joined + (portRef Q (instanceRef FS_7)) + (portRef A0 (instanceRef FS_cry_0_7)) + (portRef B (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1)) + )) + (net (rename FS_3 "FS[3]") (joined + (portRef Q (instanceRef FS_3)) + (portRef A0 (instanceRef FS_cry_0_3)) + (portRef A (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1)) + )) + (net (rename FS_2 "FS[2]") (joined + (portRef Q (instanceRef FS_2)) + (portRef A1 (instanceRef FS_cry_0_1)) + (portRef A (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2)) + )) + (net (rename FS_5 "FS[5]") (joined + (portRef Q (instanceRef FS_5)) + (portRef A0 (instanceRef FS_cry_0_5)) + (portRef C (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2)) + )) + (net (rename FS_1 "FS[1]") (joined + (portRef Q (instanceRef FS_1)) + (portRef A0 (instanceRef FS_cry_0_1)) + (portRef A (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_1)) + )) + (net PHI2r2 (joined + (portRef Q (instanceRef PHI2r2)) + (portRef A (instanceRef PHI2r3_RNIFT0I)) + (portRef A (instanceRef un1_PHI2r3_0)) + (portRef C (instanceRef PHI2r3_RNIS5A51)) + (portRef D (instanceRef PHI2r3)) + )) + (net CmdUFMShift (joined + (portRef Q (instanceRef CmdUFMShift)) + (portRef A (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3)) + (portRef A (instanceRef CmdUFMShift_3_u)) + (portRef B (instanceRef wb_cyc_stb_RNO_0)) + )) + (net (rename FS_9 "FS[9]") (joined + (portRef Q (instanceRef FS_9)) + (portRef A0 (instanceRef FS_cry_0_9)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_1)) + (portRef A (instanceRef un1_FS_40_1_0)) + (portRef A (instanceRef un1_FS_40_1_0_1)) + (portRef A (instanceRef un1_FS_21_1_i)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_0_0_6)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_3_0_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_1_1_4)) + (portRef A (instanceRef wb_dati_5_1_iv_0_m3_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_0_0_0_1)) + (portRef A (instanceRef un1_FS_40_1_o6)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_0_0_3)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a2_0_4)) + (portRef A (instanceRef un1_FS_40_1_1_1)) + (portRef A (instanceRef FS_RNI3V8E_9)) + )) + (net (rename FS_10 "FS[10]") (joined + (portRef Q (instanceRef FS_10)) + (portRef A1 (instanceRef FS_cry_0_9)) + (portRef B (instanceRef un1_FS_40_1_0)) + (portRef B (instanceRef un1_FS_21_1_i)) + (portRef A (instanceRef wb_we113_i_a2)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_1_1_4)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a2_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_m3_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_0_0_0_1)) + (portRef B (instanceRef un1_FS_40_1_o6)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_0_0_3)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_3_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_o3_1)) + (portRef B (instanceRef un1_FS_40_1_1_1)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_6)) + (portRef D (instanceRef FS_RNI3V8E_9)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_RNO_4)) + )) + (net (rename FS_11 "FS[11]") (joined + (portRef Q (instanceRef FS_11)) + (portRef A0 (instanceRef FS_cry_0_11)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a2_0_3)) + (portRef B (instanceRef un1_FS_40_1_0_1)) + (portRef A (instanceRef un1_FS_22_1_i)) + (portRef B (instanceRef wb_we113_i_a2)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_0_0_6)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_3_0_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a2_7)) + (portRef C (instanceRef un1_FS_40_1_o6)) + (portRef A (instanceRef un1_FS_40_1_1_tz)) + (portRef A (instanceRef wb_we95)) + (portRef B (instanceRef wb_dati_5_1_iv_0_o3_1)) + (portRef A (instanceRef un1_wb_we95_1)) + (portRef C (instanceRef FS_RNI3V8E_9)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_RNO_4)) + )) + (net (rename FS_12 "FS[12]") (joined + (portRef Q (instanceRef FS_12)) + (portRef A1 (instanceRef FS_cry_0_11)) + (portRef C (instanceRef un1_FS_40_1_0_1)) + (portRef B (instanceRef un1_FS_22_1_i)) + (portRef A (instanceRef InitReady3_0_a3_2)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_1_1_4)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a2_7)) + (portRef A (instanceRef FS_RNIVOOA_14)) + (portRef C (instanceRef wb_dati_5_1_iv_0_m3_7)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_0_0_0_1)) + (portRef A (instanceRef wb_dati_5_0_iv_0_a3_1_0)) + (portRef D (instanceRef un1_FS_40_1_o6)) + (portRef B (instanceRef un1_FS_40_1_1_tz)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_0_0_3)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_3_7)) + (portRef B (instanceRef wb_we95)) + (portRef C (instanceRef wb_dati_5_1_iv_0_o3_1)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_6)) + (portRef B (instanceRef un1_wb_we95_1)) + (portRef B (instanceRef FS_RNI3V8E_9)) + (portRef D (instanceRef wb_dati_5_1_iv_0_RNO_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_RNO_4)) + )) + (net (rename FS_13 "FS[13]") (joined + (portRef Q (instanceRef FS_13)) + (portRef A0 (instanceRef FS_cry_0_13)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_1)) + (portRef C (instanceRef un1_FS_40_1_0)) + (portRef A (instanceRef wb_we95_0_0)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_0_0_6)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_3_0_7)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_1_1_4)) + (portRef B (instanceRef FS_RNIVOOA_14)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_0_0_0_1)) + (portRef B (instanceRef wb_dati_5_0_iv_0_a3_1_0)) + (portRef A (instanceRef InitReady3_0_a3)) + (portRef A (instanceRef un1_FS_29)) + (portRef C (instanceRef un1_FS_40_1_1_tz)) + (portRef A (instanceRef wb_we113_i_0)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_0_0_3)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_2_0_1)) + (portRef A (instanceRef un1_FS_40_1_a6)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_2)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_1_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_4)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_RNO_7)) + )) + (net CASr2 (joined + (portRef Q (instanceRef CASr2)) + (portRef A (instanceRef nRWE_0io_RNO_2)) + (portRef A (instanceRef RCKEEN_8_u_1_0)) + (portRef A (instanceRef nRCAS_r_i_a3_1_1_tz)) + (portRef D (instanceRef CASr3)) + )) + (net CASr (joined + (portRef Q (instanceRef CASr)) + (portRef D (instanceRef CASr2)) + )) + (net PHI2r (joined + (portRef Q (instanceRef PHI2r_0io)) + (portRef D (instanceRef PHI2r2)) + )) + (net RASr (joined + (portRef Q (instanceRef RASr)) + (portRef A (instanceRef RCKE_2_0)) + (portRef D (instanceRef RASr2)) + )) + (net (rename Bank_0 "Bank[0]") (joined + (portRef Q (instanceRef Bank_0io_0)) + (portRef A (instanceRef un1_Bank_1_3)) + )) + (net (rename Bank_1 "Bank[1]") (joined + (portRef Q (instanceRef Bank_0io_1)) + (portRef B (instanceRef un1_Bank_1_3)) + )) + (net (rename Bank_3 "Bank[3]") (joined + (portRef Q (instanceRef Bank_0io_3)) + (portRef A (instanceRef un1_Bank_1)) + )) + (net (rename Bank_4 "Bank[4]") (joined + (portRef Q (instanceRef Bank_0io_4)) + (portRef B (instanceRef un1_Bank_1)) + )) + (net (rename Bank_5 "Bank[5]") (joined + (portRef Q (instanceRef Bank_0io_5)) + (portRef B (instanceRef un1_Bank_1_4)) + )) + (net (rename Bank_6 "Bank[6]") (joined + (portRef Q (instanceRef Bank_0io_6)) + (portRef C (instanceRef un1_Bank_1_4)) + )) + (net (rename Bank_7 "Bank[7]") (joined + (portRef Q (instanceRef Bank_0io_7)) + (portRef D (instanceRef un1_Bank_1_4)) + )) + (net (rename RowA_0 "RowA[0]") (joined + (portRef Q (instanceRef RowA_0)) + (portRef B (instanceRef un9_RA_0)) + )) + (net (rename RowA_1 "RowA[1]") (joined + (portRef Q (instanceRef RowA_1)) + (portRef B (instanceRef un9_RA_1)) + )) + (net (rename RowA_2 "RowA[2]") (joined + (portRef Q (instanceRef RowA_2)) + (portRef B (instanceRef un9_RA_2)) + )) + (net (rename RowA_3 "RowA[3]") (joined + (portRef Q (instanceRef RowA_3)) + (portRef B (instanceRef un9_RA_3)) + )) + (net (rename RowA_4 "RowA[4]") (joined + (portRef Q (instanceRef RowA_4)) + (portRef B (instanceRef un9_RA_4)) + )) + (net (rename RowA_5 "RowA[5]") (joined + (portRef Q (instanceRef RowA_5)) + (portRef B (instanceRef un9_RA_5)) + )) + (net (rename RowA_6 "RowA[6]") (joined + (portRef Q (instanceRef RowA_6)) + (portRef B (instanceRef un9_RA_6)) + )) + (net (rename RowA_7 "RowA[7]") (joined + (portRef Q (instanceRef RowA_7)) + (portRef B (instanceRef un9_RA_7)) + )) + (net (rename RowA_8 "RowA[8]") (joined + (portRef Q (instanceRef RowA_8)) + (portRef B (instanceRef un9_RA_8)) + )) + (net (rename RowA_9 "RowA[9]") (joined + (portRef Q (instanceRef RowA_9)) + (portRef B (instanceRef un9_RA_9)) + )) + (net (rename WRD_0 "WRD[0]") (joined + (portRef Q (instanceRef WRD_0io_0)) + (portRef I (instanceRef RD_pad_0)) + )) + (net (rename WRD_1 "WRD[1]") (joined + (portRef Q (instanceRef WRD_0io_1)) + (portRef I (instanceRef RD_pad_1)) + )) + (net (rename WRD_2 "WRD[2]") (joined + (portRef Q (instanceRef WRD_0io_2)) + (portRef I (instanceRef RD_pad_2)) + )) + (net (rename WRD_3 "WRD[3]") (joined + (portRef Q (instanceRef WRD_0io_3)) + (portRef I (instanceRef RD_pad_3)) + )) + (net (rename WRD_4 "WRD[4]") (joined + (portRef Q (instanceRef WRD_0io_4)) + (portRef I (instanceRef RD_pad_4)) + )) + (net (rename WRD_5 "WRD[5]") (joined + (portRef Q (instanceRef WRD_0io_5)) + (portRef I (instanceRef RD_pad_5)) + )) + (net (rename WRD_6 "WRD[6]") (joined + (portRef Q (instanceRef WRD_0io_6)) + (portRef I (instanceRef RD_pad_6)) + )) + (net (rename WRD_7 "WRD[7]") (joined + (portRef Q (instanceRef WRD_0io_7)) + (portRef I (instanceRef RD_pad_7)) + )) + (net nRowColSel (joined + (portRef Q (instanceRef nRowColSel)) + (portRef B (instanceRef RDQMH)) + (portRef B (instanceRef RDQML)) + (portRef C (instanceRef un9_RA_8)) + (portRef C (instanceRef un9_RA_9)) + (portRef C (instanceRef un9_RA_7)) + (portRef C (instanceRef un9_RA_6)) + (portRef C (instanceRef un9_RA_5)) + (portRef C (instanceRef un9_RA_4)) + (portRef C (instanceRef un9_RA_3)) + (portRef C (instanceRef un9_RA_2)) + (portRef C (instanceRef un9_RA_1)) + (portRef C (instanceRef un9_RA_0)) + )) + (net CmdUFMWrite (joined + (portRef Q (instanceRef CmdUFMWrite)) + (portRef A (instanceRef CmdUFMWrite_3_u)) + (portRef D (instanceRef wb_cyc_stb_RNO_0)) + )) + (net RASr3 (joined + (portRef Q (instanceRef RASr3)) + (portRef C (instanceRef RCKE_2_0)) + )) + (net LEDEN (joined + (portRef Q (instanceRef LEDEN)) + (portRef B (instanceRef LED_pad_RNO)) + (portRef A (instanceRef CmdLEDEN_4_u)) + (portRef A (instanceRef XOR8MEG_3_u_0_bm)) + )) + (net CmdLEDEN (joined + (portRef Q (instanceRef CmdLEDEN)) + (portRef A (instanceRef LEDEN_6)) + (portRef A (instanceRef CmdLEDEN_4_0)) + )) + (net n8MEGEN_6 (joined + (portRef Z (instanceRef n8MEGEN_6)) + (portRef D (instanceRef n8MEGEN)) + )) + (net Cmdn8MEGEN (joined + (portRef Q (instanceRef Cmdn8MEGEN)) + (portRef A (instanceRef n8MEGEN_6)) + (portRef A (instanceRef Cmdn8MEGEN_4_0)) + )) + (net PHI2r3 (joined + (portRef Q (instanceRef PHI2r3)) + (portRef B (instanceRef PHI2r3_RNIFT0I)) + (portRef B (instanceRef un1_PHI2r3_0)) + (portRef D (instanceRef PHI2r3_RNIS5A51)) + )) + (net CmdValid (joined + (portRef Q (instanceRef CmdValid)) + (portRef B (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3)) + (portRef A (instanceRef PHI2r3_RNIS5A51)) + (portRef A (instanceRef wb_cyc_stb_RNO_0)) + )) + (net CmdUFMData (joined + (portRef Q (instanceRef CmdUFMData)) + (portRef A (instanceRef wb_we_0)) + )) + (net wb_rst10 (joined + (portRef Z (instanceRef wb_rst10)) + (portRef D (instanceRef wb_rste)) + (portRef CD (instanceRef wb_cyc_stb)) + (portRef CD (instanceRef wb_req)) + (portRef CD (instanceRef wb_we)) + )) + (net InitReady3 (joined + (portRef Z (instanceRef InitReady3_0_a3)) + (portRef A (instanceRef InitReady_RNO)) + )) + (net RCKEEN (joined + (portRef Q (instanceRef RCKEEN)) + (portRef D (instanceRef RCKE_2_0)) + )) + (net XOR8MEG (joined + (portRef Q (instanceRef XOR8MEG)) + (portRef C (instanceRef RA11d)) + (portRef A (instanceRef XOR8MEG_3_u_0_am)) + )) + (net nRRAS_0_sqmuxa (joined + (portRef Z (instanceRef S_RNICVV51_0)) + (portRef C (instanceRef nRWE_0io_RNO_3)) + (portRef CD (instanceRef nRowColSel)) + )) + (net wb_req (joined + (portRef Q (instanceRef wb_req)) + (portRef C (instanceRef wb_reqe)) + (portRef B (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_o3)) + (portRef C (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2)) + )) + (net Ready_0_sqmuxa (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef A (instanceRef Ready_fast_RNO)) + )) + (net RCKE_2 (joined + (portRef Z (instanceRef RCKE_2_0)) + (portRef D (instanceRef RCKE)) + )) + (net nRCAS_0_sqmuxa_1 (joined + (portRef Z (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef B (instanceRef nRCAS_0io_RNO)) + (portRef C (instanceRef nRWE_0io_RNO)) + )) + (net XOR8MEG18 (joined + (portRef Z (instanceRef XOR8MEG18)) + (portRef A (instanceRef CmdValid_r_fast)) + (portRef A (instanceRef CmdValid_r)) + (portRef SP (instanceRef CmdLEDEN)) + (portRef SP (instanceRef CmdUFMShift)) + (portRef SP (instanceRef CmdUFMShift_fast)) + (portRef SP (instanceRef CmdUFMWrite)) + (portRef SP (instanceRef Cmdn8MEGEN)) + (portRef SP (instanceRef XOR8MEG)) + )) + (net CmdEnable (joined + (portRef Q (instanceRef CmdEnable)) + (portRef C (instanceRef XOR8MEG18)) + (portRef B (instanceRef CmdEnable_s_am)) + (portRef A (instanceRef CmdEnable_s_bm)) + (portRef B (instanceRef CmdUFMData_RNO)) + )) + (net CmdEnable16 (joined + (portRef Z (instanceRef CmdEnable16)) + (portRef C (instanceRef C1Submitted_s)) + (portRef D (instanceRef ADSubmitted_r)) + (portRef C0 (instanceRef CmdEnable_s)) + )) + (net CmdEnable17 (joined + (portRef Z (instanceRef CmdEnable17)) + (portRef C (instanceRef ADSubmitted_r)) + (portRef A (instanceRef CmdEnable_s_am)) + )) + (net CmdUFMData_1_sqmuxa (joined + (portRef Z (instanceRef CmdUFMData_RNO)) + (portRef SP (instanceRef CmdUFMData)) + )) + (net ADSubmitted (joined + (portRef Q (instanceRef ADSubmitted)) + (portRef A (instanceRef ADSubmitted_r)) + (portRef B (instanceRef CmdEnable_s_bm)) + )) + (net (rename wb_dati_5_6 "wb_dati_5[6]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_6)) + (portRef D (instanceRef wb_dati_6)) + )) + (net CmdValid_r (joined + (portRef Z (instanceRef CmdValid_r)) + (portRef D (instanceRef CmdValid)) + )) + (net C1Submitted_s (joined + (portRef Z (instanceRef C1Submitted_s)) + (portRef D (instanceRef C1Submitted)) + )) + (net ADSubmitted_r (joined + (portRef Z (instanceRef ADSubmitted_r)) + (portRef D (instanceRef ADSubmitted)) + )) + (net CmdEnable_s (joined + (portRef Z (instanceRef CmdEnable_s)) + (portRef D (instanceRef CmdEnable)) + )) + (net wb_we_0 (joined + (portRef Z (instanceRef wb_we_0)) + (portRef D (instanceRef wb_we)) + )) + (net nRowColSel_0_0 (joined + (portRef Z (instanceRef nRowColSel_0_0)) + (portRef D (instanceRef nRowColSel)) + )) + (net CmdLEDEN_4 (joined + (portRef Z (instanceRef CmdLEDEN_4_u)) + (portRef D (instanceRef CmdLEDEN)) + )) + (net CmdUFMShift_3 (joined + (portRef Z (instanceRef CmdUFMShift_3_u)) + (portRef D (instanceRef CmdUFMShift)) + )) + (net CmdUFMWrite_3 (joined + (portRef Z (instanceRef CmdUFMWrite_3_u)) + (portRef D (instanceRef CmdUFMWrite)) + )) + (net Cmdn8MEGEN_4 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_u)) + (portRef D (instanceRef Cmdn8MEGEN)) + )) + (net RCKEEN_8 (joined + (portRef Z (instanceRef RCKEEN_8_u)) + (portRef D (instanceRef RCKEEN)) + )) + (net N_25 (joined + (portRef Z (instanceRef nRRAS_5_u_i)) + (portRef B (instanceRef nRCS_0io_RNO_0)) + )) + (net N_39 (joined + (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef B (instanceRef nRCAS_0io_RNO_0)) + )) + (net N_41 (joined + (portRef Z (instanceRef S_0_i_o2_1)) + (portRef A (instanceRef nRRAS_5_u_i_0)) + (portRef B (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + (portRef D (instanceRef S_1)) + (portRef D (instanceRef RCKEEN_8_u_RNO)) + )) + (net IS_n1_0_x2 (joined + (portRef Z (instanceRef IS_n1_0_x2)) + (portRef D (instanceRef IS_1)) + )) + (net LEDEN_6 (joined + (portRef Z (instanceRef LEDEN_6)) + (portRef D (instanceRef LEDEN)) + )) + (net XOR8MEG_3 (joined + (portRef Z (instanceRef XOR8MEG_3_u_0)) + (portRef D (instanceRef XOR8MEG)) + )) + (net (rename wb_dati_5_4 "wb_dati_5[4]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_4)) + (portRef D (instanceRef wb_dati_4)) + )) + (net (rename wb_dati_5_0 "wb_dati_5[0]") (joined + (portRef Z (instanceRef wb_dati_5_0_iv_0_0)) + (portRef D (instanceRef wb_dati_0)) + )) + (net (rename wb_adr_5_1 "wb_adr_5[1]") (joined + (portRef Z (instanceRef wb_adr_5_1)) + (portRef D (instanceRef wb_adr_1)) + )) + (net (rename wb_adr_5_0 "wb_adr_5[0]") (joined + (portRef Z (instanceRef wb_adr_5_0)) + (portRef D (instanceRef wb_adr_0)) + )) + (net (rename wb_dati_5_7 "wb_dati_5[7]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_7)) + (portRef D (instanceRef wb_dati_7)) + )) + (net (rename wb_dati_5_3 "wb_dati_5[3]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_3)) + (portRef D (instanceRef wb_dati_3)) + )) + (net (rename wb_adr_5_6 "wb_adr_5[6]") (joined + (portRef Z (instanceRef wb_adr_5_6)) + (portRef D (instanceRef wb_adr_6)) + )) + (net (rename wb_adr_5_5 "wb_adr_5[5]") (joined + (portRef Z (instanceRef wb_adr_5_5)) + (portRef D (instanceRef wb_adr_5)) + )) + (net (rename wb_adr_5_4 "wb_adr_5[4]") (joined + (portRef Z (instanceRef wb_adr_5_4)) + (portRef D (instanceRef wb_adr_4)) + )) + (net (rename wb_dati_5_5 "wb_dati_5[5]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_5)) + (portRef D (instanceRef wb_dati_5)) + )) + (net (rename wb_dati_5_2 "wb_dati_5[2]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_2)) + (portRef D (instanceRef wb_dati_2)) + )) + (net (rename wb_dati_5_1 "wb_dati_5[1]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_1)) + (portRef D (instanceRef wb_dati_1)) + )) + (net (rename wb_adr_5_2 "wb_adr_5[2]") (joined + (portRef Z (instanceRef wb_adr_5_2)) + (portRef D (instanceRef wb_adr_2)) + )) + (net (rename wb_adr_5_3 "wb_adr_5[3]") (joined + (portRef Z (instanceRef wb_adr_5_3)) + (portRef D (instanceRef wb_adr_3)) + )) + (net (rename wb_adr_5_7 "wb_adr_5[7]") (joined + (portRef Z (instanceRef wb_adr_5_7)) + (portRef D (instanceRef wb_adr_7)) + )) + (net N_94 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_1)) + (portRef D (instanceRef wb_dati_5_1_iv_0_3)) + (portRef A (instanceRef wb_dati_5_1_iv_0_o3_2)) + (portRef A (instanceRef wb_dati_5_1_iv_0_1)) + )) + (net wb_we95 (joined + (portRef Z (instanceRef wb_we95)) + (portRef B (instanceRef un1_wb_adr_0_sqmuxa_2)) + (portRef B (instanceRef wb_adr_cnst_sn_m4_32)) + )) + (net wb_we113_i (joined + (portRef Z (instanceRef wb_we113_i_0)) + (portRef C (instanceRef un1_wb_adr_0_sqmuxa_3)) + (portRef C (instanceRef wb_adr_cnst_sn_m4_32)) + )) + (net un1_FS_37_i_0 (joined + (portRef Z (instanceRef FS_RNIVOOA_14)) + (portRef B (instanceRef wb_reqe)) + (portRef A (instanceRef un1_wb_adr_0_sqmuxa_3)) + )) + (net wb_rst11 (joined + (portRef Z (instanceRef wb_adr_cnst_sn_m2_0_a3)) + (portRef C (instanceRef wb_dati_5_1_iv_0_3)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a2_0_3)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_1)) + (portRef B (instanceRef wb_dati_5_1_iv_0_o3_2)) + (portRef D (instanceRef wb_reqe)) + (portRef B (instanceRef un1_wb_adr_0_sqmuxa_3)) + (portRef C (instanceRef wb_adr_cnst_0_0)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_2_0_1)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_3_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a2_4)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a2_0_4)) + (portRef C (instanceRef wb_adr_5_4)) + (portRef C (instanceRef wb_adr_5_5)) + (portRef C (instanceRef wb_adr_5_6)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_2)) + (portRef B (instanceRef wb_dati_5_1_iv_0_RNO_4)) + (portRef D (instanceRef un1_wb_cyc_stb_1_sqmuxa_0)) + (portRef D (instanceRef wb_adr_5_1)) + )) + (net N_181 (joined + (portRef Z (instanceRef wb_adr_cnst_sn_m4_32)) + (portRef B (instanceRef wb_adr_5_1)) + )) + (net un1_FS_29 (joined + (portRef Z (instanceRef un1_FS_29)) + (portRef un1_FS_29 (instanceRef ufmefb)) + (portRef A (instanceRef un1_wb_adr_0_sqmuxa_2)) + (portRef A (instanceRef wb_adr_cnst_sn_m4_32)) + )) + (net N_49 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_o3_2)) + (portRef B (instanceRef wb_dati_5_1_iv_0_2)) + (portRef B (instanceRef wb_dati_5_1_iv_0_5)) + )) + (net un1_wb_rst11_1_s6_1 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_RNO_4)) + (portRef B (instanceRef wb_dati_5_1_iv_0_4)) + )) + (net N_248 (joined + (portRef Z (instanceRef FS_RNI3V8E_9)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_2)) + (portRef C (instanceRef wb_dati_5_1_iv_0_1_4)) + (portRef B (instanceRef wb_dati_5_1_iv_0_0_1)) + )) + (net N_240 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_2)) + (portRef C (instanceRef wb_dati_5_1_iv_0_2)) + (portRef C (instanceRef wb_dati_5_1_iv_0_5)) + )) + (net N_128 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a2_0_3)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_0_3)) + (portRef B (instanceRef wb_dati_5_1_iv_0_1)) + (portRef A (instanceRef wb_dati_5_1_iv_0_6)) + )) + (net N_230 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_o3_1)) + (portRef A (instanceRef wb_dati_5_1_iv_0_a3_1)) + )) + (net N_119 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a2_0_4)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_1_7)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_4)) + (portRef B (instanceRef wb_dati_5_0_iv_0_0)) + (portRef B (instanceRef wb_dati_5_1_iv_0_7)) + )) + (net N_91 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_1_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_1_7)) + )) + (net N_120 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a2_7)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_1_7)) + )) + (net N_131 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_RNO_4)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_4)) + )) + (net N_89 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_7)) + (portRef A (instanceRef wb_dati_5_1_iv_0_7)) + )) + (net N_59 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_m3_7)) + (portRef B (instanceRef wb_dati_5_1_iv_0_a3_7)) + )) + (net N_242 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_3_7)) + (portRef C (instanceRef wb_dati_5_1_iv_0_1_7)) + )) + (net N_116 (joined + (portRef Z (instanceRef wb_we113_i_a2)) + (portRef D (instanceRef wb_dati_5_0_iv_0_a3_1_0)) + (portRef D (instanceRef InitReady3_0_a3)) + (portRef C (instanceRef wb_dati_5_1_iv_0_RNO_7)) + )) + (net un1_FS_11 (joined + (portRef Z (instanceRef un1_FS_11)) + (portRef un1_FS_11 (instanceRef ufmefb)) + (portRef B (instanceRef wb_cyc_stb_RNO_1)) + )) + (net (rename wb_adr_cnst_m2_0 "wb_adr_cnst_m2[0]") (joined + (portRef Z (instanceRef wb_adr_cnst_0_0)) + (portRef B (instanceRef wb_adr_5_0)) + )) + (net N_139 (joined + (portRef Z (instanceRef un1_FS_40_1_a6)) + (portRef C (instanceRef un1_FS_40_1_1_1)) + )) + (net N_136 (joined + (portRef Z (instanceRef un1_FS_40_1_o6)) + (portRef C (instanceRef un1_FS_40_1_a6)) + )) + (net N_265 (joined + (portRef Z (instanceRef nRowColSel_0_0_a3_0)) + (portRef B (instanceRef nRowColSel_0_0)) + )) + (net N_250 (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0)) + (portRef C (instanceRef nRRAS_5_u_i_0_RNILD5I)) + (portRef A (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef A (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef B (instanceRef nRRAS_5_u_i)) + (portRef C (instanceRef RA10_0io_RNO)) + (portRef B (instanceRef IS_RNO_0)) + (portRef A (instanceRef nRWE_0io_RNO_4)) + )) + (net N_254 (joined + (portRef Z (instanceRef un1_nRCAS_6_sqmuxa_i_o2)) + (portRef B (instanceRef nRRAS_5_u_i_0_RNILD5I)) + (portRef B (instanceRef un1_nRCAS_6_sqmuxa_i_0)) + (portRef C (instanceRef nRRAS_5_u_i)) + )) + (net N_246 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a2_4)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_6)) + (portRef B (instanceRef wb_dati_5_1_iv_0_1_4)) + )) + (net wb_we95_0_tz_tz_tz (joined + (portRef Z (instanceRef un1_FS_21_1_i)) + (portRef D (instanceRef un1_FS_29)) + (portRef D (instanceRef wb_we113_i_0)) + (portRef D (instanceRef wb_we95)) + (portRef D (instanceRef un1_wb_we95_1)) + )) + (net un1_CMDWR (joined + (portRef Z (instanceRef un1_CMDWR)) + (portRef C (instanceRef CmdEnable_s_am)) + )) + (net un1_Din_2 (joined + (portRef Z (instanceRef un1_Din_2)) + (portRef C0 (instanceRef XOR8MEG_3_u_0)) + )) + (net XOR8MEG9_1 (joined + (portRef Z (instanceRef XOR8MEG9_1)) + (portRef B (instanceRef XOR8MEG_3_u_0_bm)) + )) + (net C1WR_7 (joined + (portRef Z (instanceRef C1WR_7)) + (portRef B (instanceRef un1_CMDWR)) + (portRef C (instanceRef un1_ADWR)) + (portRef B (instanceRef CmdEnable16)) + (portRef A (instanceRef XOR8MEG18)) + (portRef D (instanceRef CmdUFMData_RNO)) + )) + (net N_85 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_4)) + (portRef A (instanceRef wb_dati_5_1_iv_0_1_4)) + (portRef B (instanceRef wb_dati_5_1_iv_0_1_6)) + )) + (net N_102 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3)) + (portRef C (instanceRef wb_cyc_stb_RNO_1)) + )) + (net N_245 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3)) + (portRef B (instanceRef un1_wb_cyc_stb_1_sqmuxa_0)) + )) + (net N_233 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_o3)) + (portRef D (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3)) + )) + (net XOR8MEG14 (joined + (portRef Z (instanceRef XOR8MEG14)) + (portRef D (instanceRef CmdUFMShift_3_u_fast)) + (portRef C (instanceRef CmdValid_r_fast)) + (portRef C (instanceRef CmdValid_r)) + (portRef D (instanceRef CmdUFMShift_3_u)) + (portRef D (instanceRef CmdUFMWrite_3_u)) + (portRef C (instanceRef CmdLEDEN_4_u)) + (portRef B (instanceRef Cmdn8MEGEN_4_u)) + (portRef A (instanceRef CmdUFMData_RNO)) + )) + (net N_304 (joined + (portRef Z (instanceRef un1_Bank_1)) + (portRef D (instanceRef C1WR_7)) + (portRef D (instanceRef CmdEnable17)) + )) + (net XOR8MEG11 (joined + (portRef Z (instanceRef XOR8MEG11)) + (portRef C (instanceRef CmdUFMShift_3_u_fast)) + (portRef B (instanceRef CmdValid_r_fast)) + (portRef C (instanceRef CmdLEDEN_4_0)) + (portRef C (instanceRef Cmdn8MEGEN_4_0)) + (portRef B (instanceRef CmdValid_r)) + (portRef C (instanceRef CmdUFMShift_3_u)) + (portRef C (instanceRef CmdUFMWrite_3_u)) + )) + (net N_93 (joined + (portRef Z (instanceRef Cmdn8MEGEN_4_0)) + (portRef A (instanceRef Cmdn8MEGEN_4_u)) + )) + (net CmdUFMWrite_2 (joined + (portRef Z (instanceRef CmdUFMWrite_2)) + (portRef B (instanceRef CmdUFMWrite_3_u)) + )) + (net N_75 (joined + (portRef Z (instanceRef CmdLEDEN_4_0)) + (portRef B (instanceRef CmdLEDEN_4_u)) + )) + (net N_228 (joined + (portRef Z (instanceRef un1_FS_22_1_i)) + (portRef C (instanceRef un1_FS_29)) + (portRef C (instanceRef wb_we113_i_0)) + )) + (net un1_wb_we95_1 (joined + (portRef Z (instanceRef un1_wb_we95_1)) + (portRef B (instanceRef wb_dati_5_1_iv_0_3)) + (portRef C (instanceRef wb_dati_5_1_iv_0_o3_2)) + (portRef A (instanceRef wb_dati_5_1_iv_0_RNO_4)) + )) + (net N_98 (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_6)) + (portRef C (instanceRef wb_dati_5_1_iv_0_1_6)) + )) + (net N_102_1 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_1)) + (portRef B (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2)) + (portRef B (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3)) + )) + (net N_102_2 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2)) + (portRef C (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3)) + (portRef A (instanceRef un1_wb_cyc_stb_1_sqmuxa_0)) + )) + (net N_258 (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_o2)) + (portRef B (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef C (instanceRef Ready_RNO)) + )) + (net N_45 (joined + (portRef Z (instanceRef RA10_2_sqmuxa_0_o2)) + (portRef D (instanceRef RA10_0io)) + )) + (net un1_FS_40_1_1_tz (joined + (portRef Z (instanceRef un1_FS_40_1_1_tz)) + (portRef D (instanceRef un1_FS_40_1_1_1)) + )) + (net un1_PHI2r3_0 (joined + (portRef Z (instanceRef un1_PHI2r3_0)) + (portRef D (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3)) + (portRef D (instanceRef CmdValid_fast_RNITQBM1)) + (portRef C (instanceRef wb_cyc_stb_RNO_0)) + )) + (net RCKEEN_8_u_0_0 (joined + (portRef Z (instanceRef RCKEEN_8_u_RNO)) + (portRef B (instanceRef RCKEEN_8_u)) + )) + (net (rename wb_dati_5_1_iv_0_a3_1_1_4 "wb_dati_5_1_iv_0_a3_1_1[4]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_1_1_4)) + (portRef D (instanceRef wb_dati_5_1_iv_0_1_4)) + )) + (net d_N_5_mux (joined + (portRef d_N_5_mux (instanceRef ufmefb)) + (portRef C (instanceRef CmdValid_fast_RNITQBM1)) + )) + (net N_28_i_1 (joined + (portRef Z (instanceRef nRCAS_r_i_a3_1_1_tz)) + (portRef A (instanceRef nRCAS_0io_RNO)) + (portRef B (instanceRef nRCS_0io_RNO)) + )) + (net un1_FS_20_3 (joined + (portRef Z (instanceRef wb_we95_0_0)) + (portRef C (instanceRef wb_we95)) + (portRef C (instanceRef un1_wb_we95_1)) + )) + (net C1WR_0 (joined + (portRef Z (instanceRef C1WR_0)) + (portRef A (instanceRef CMDWR_2)) + (portRef A (instanceRef C1WR_2)) + )) + (net nCRAS_c_i (joined + (portRef Z (instanceRef nCRAS_pad_RNIBPVB)) + (portRef CK (instanceRef CBR)) + (portRef CK (instanceRef CBR_fast)) + (portRef CK (instanceRef FWEr)) + (portRef CK (instanceRef FWEr_fast)) + (portRef CK (instanceRef RowA_9)) + (portRef CK (instanceRef RowA_8)) + (portRef CK (instanceRef RowA_7)) + (portRef CK (instanceRef RowA_6)) + (portRef CK (instanceRef RowA_5)) + (portRef CK (instanceRef RowA_4)) + (portRef CK (instanceRef RowA_3)) + (portRef CK (instanceRef RowA_2)) + (portRef CK (instanceRef RowA_1)) + (portRef CK (instanceRef RowA_0)) + (portRef SCLK (instanceRef RBA_0io_1)) + (portRef SCLK (instanceRef RBA_0io_0)) + )) + (net N_253_i (joined + (portRef Z (instanceRef IS_0_sqmuxa_0_o2_0_RNIS63D)) + (portRef SP (instanceRef IS_3)) + (portRef SP (instanceRef IS_2)) + (portRef SP (instanceRef IS_1)) + )) + (net RD_1_i (joined + (portRef Z (instanceRef nCCAS_pad_RNI01SJ)) + (portRef T (instanceRef RD_pad_0)) + (portRef T (instanceRef RD_pad_1)) + (portRef T (instanceRef RD_pad_2)) + (portRef T (instanceRef RD_pad_3)) + (portRef T (instanceRef RD_pad_4)) + (portRef T (instanceRef RD_pad_5)) + (portRef T (instanceRef RD_pad_6)) + (portRef T (instanceRef RD_pad_7)) + )) + (net N_249_i (joined + (portRef Z (instanceRef nRCAS_0io_RNO)) + (portRef D (instanceRef nRCAS_0io)) + )) + (net N_25_i (joined + (portRef Z (instanceRef nRRAS_5_u_i_0_RNILD5I)) + (portRef A (instanceRef nRCS_0io_RNO)) + (portRef D (instanceRef nRRAS_0io)) + )) + (net N_28_i (joined + (portRef Z (instanceRef nRCS_0io_RNO)) + (portRef D (instanceRef nRCS_0io)) + )) + (net N_37_i (joined + (portRef Z (instanceRef nRWE_0io_RNO)) + (portRef D (instanceRef nRWE_0io)) + )) + (net N_60_i_i (joined + (portRef Z (instanceRef IS_RNO_0)) + (portRef D (instanceRef IS_0)) + )) + (net N_58_i_i (joined + (portRef Z (instanceRef IS_RNO_3)) + (portRef D (instanceRef IS_3)) + )) + (net N_57_i_i (joined + (portRef Z (instanceRef IS_RNO_2)) + (portRef D (instanceRef IS_2)) + )) + (net N_79_i (joined + (portRef Z (instanceRef S_RNO_0)) + (portRef D (instanceRef S_0)) + )) + (net N_78_i (joined + (portRef Z (instanceRef PHI2r3_RNIS5A51)) + (portRef A (instanceRef wb_reqe)) + (portRef B (instanceRef wb_rste)) + )) + (net un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i (joined + (portRef Z (instanceRef wb_cyc_stb_RNO)) + (portRef SP (instanceRef wb_cyc_stb)) + )) + (net un1_wb_rst14_i (joined + (portRef Z (instanceRef CmdUFMShift_fast_RNIG9JD1)) + (portRef SP (instanceRef wb_adr_7)) + (portRef SP (instanceRef wb_adr_6)) + (portRef SP (instanceRef wb_adr_5)) + (portRef SP (instanceRef wb_adr_4)) + (portRef SP (instanceRef wb_adr_3)) + (portRef SP (instanceRef wb_adr_2)) + (portRef SP (instanceRef wb_adr_1)) + (portRef SP (instanceRef wb_adr_0)) + (portRef SP (instanceRef wb_dati_7)) + (portRef SP (instanceRef wb_dati_6)) + (portRef SP (instanceRef wb_dati_5)) + (portRef SP (instanceRef wb_dati_4)) + (portRef SP (instanceRef wb_dati_3)) + (portRef SP (instanceRef wb_dati_2)) + (portRef SP (instanceRef wb_dati_1)) + (portRef SP (instanceRef wb_dati_0)) + (portRef SP (instanceRef wb_we)) + )) + (net un1_FS_38_i (joined + (portRef Z (instanceRef CmdValid_fast_RNITQBM1)) + (portRef SP (instanceRef LEDEN)) + (portRef SP (instanceRef n8MEGEN)) + )) + (net (rename FS_cry_0 "FS_cry[0]") (joined + (portRef COUT (instanceRef FS_cry_0_0)) + (portRef CIN (instanceRef FS_cry_0_1)) + )) + (net (rename FS_s_0 "FS_s[0]") (joined + (portRef S1 (instanceRef FS_cry_0_0)) + (portRef D (instanceRef FS_0)) + )) + (net (rename FS_s_1 "FS_s[1]") (joined + (portRef S0 (instanceRef FS_cry_0_1)) + (portRef D (instanceRef FS_1)) + )) + (net (rename FS_cry_2 "FS_cry[2]") (joined + (portRef COUT (instanceRef FS_cry_0_1)) + (portRef CIN (instanceRef FS_cry_0_3)) + )) + (net (rename FS_s_2 "FS_s[2]") (joined + (portRef S1 (instanceRef FS_cry_0_1)) + (portRef D (instanceRef FS_2)) + )) + (net (rename FS_s_3 "FS_s[3]") (joined + (portRef S0 (instanceRef FS_cry_0_3)) + (portRef D (instanceRef FS_3)) + )) + (net (rename FS_cry_4 "FS_cry[4]") (joined + (portRef COUT (instanceRef FS_cry_0_3)) + (portRef CIN (instanceRef FS_cry_0_5)) + )) + (net (rename FS_s_4 "FS_s[4]") (joined + (portRef S1 (instanceRef FS_cry_0_3)) + (portRef D (instanceRef FS_4)) + )) + (net (rename FS_s_5 "FS_s[5]") (joined + (portRef S0 (instanceRef FS_cry_0_5)) + (portRef D (instanceRef FS_5)) + )) + (net (rename FS_cry_6 "FS_cry[6]") (joined + (portRef COUT (instanceRef FS_cry_0_5)) + (portRef CIN (instanceRef FS_cry_0_7)) + )) + (net (rename FS_s_6 "FS_s[6]") (joined + (portRef S1 (instanceRef FS_cry_0_5)) + (portRef D (instanceRef FS_6)) + )) + (net (rename FS_s_7 "FS_s[7]") (joined + (portRef S0 (instanceRef FS_cry_0_7)) + (portRef D (instanceRef FS_7)) + )) + (net (rename FS_cry_8 "FS_cry[8]") (joined + (portRef COUT (instanceRef FS_cry_0_7)) + (portRef CIN (instanceRef FS_cry_0_9)) + )) + (net (rename FS_s_8 "FS_s[8]") (joined + (portRef S1 (instanceRef FS_cry_0_7)) + (portRef D (instanceRef FS_8)) + )) + (net (rename FS_s_9 "FS_s[9]") (joined + (portRef S0 (instanceRef FS_cry_0_9)) + (portRef D (instanceRef FS_9)) + )) + (net (rename FS_cry_10 "FS_cry[10]") (joined + (portRef COUT (instanceRef FS_cry_0_9)) + (portRef CIN (instanceRef FS_cry_0_11)) + )) + (net (rename FS_s_10 "FS_s[10]") (joined + (portRef S1 (instanceRef FS_cry_0_9)) + (portRef D (instanceRef FS_10)) + )) + (net (rename FS_s_11 "FS_s[11]") (joined + (portRef S0 (instanceRef FS_cry_0_11)) + (portRef D (instanceRef FS_11)) + )) + (net (rename FS_cry_12 "FS_cry[12]") (joined + (portRef COUT (instanceRef FS_cry_0_11)) + (portRef CIN (instanceRef FS_cry_0_13)) + )) + (net (rename FS_s_12 "FS_s[12]") (joined + (portRef S1 (instanceRef FS_cry_0_11)) + (portRef D (instanceRef FS_12)) + )) + (net (rename FS_s_13 "FS_s[13]") (joined + (portRef S0 (instanceRef FS_cry_0_13)) + (portRef D (instanceRef FS_13)) + )) + (net (rename FS_cry_14 "FS_cry[14]") (joined + (portRef COUT (instanceRef FS_cry_0_13)) + (portRef CIN (instanceRef FS_cry_0_15)) + )) + (net (rename FS_s_14 "FS_s[14]") (joined + (portRef S1 (instanceRef FS_cry_0_13)) + (portRef D (instanceRef FS_14)) + )) + (net (rename FS_s_15 "FS_s[15]") (joined + (portRef S0 (instanceRef FS_cry_0_15)) + (portRef D (instanceRef FS_15)) + )) + (net (rename FS_cry_16 "FS_cry[16]") (joined + (portRef COUT (instanceRef FS_cry_0_15)) + (portRef CIN (instanceRef FS_s_0_17)) + )) + (net (rename FS_s_16 "FS_s[16]") (joined + (portRef S1 (instanceRef FS_cry_0_15)) + (portRef D (instanceRef FS_16)) + )) + (net (rename FS_s_17 "FS_s[17]") (joined + (portRef S0 (instanceRef FS_s_0_17)) + (portRef D (instanceRef FS_17)) + )) + (net RA10s_i (joined + (portRef Z (instanceRef RA10_0io_RNO)) + (portRef PD (instanceRef RA10_0io)) + )) + (net XOR8MEG14_1 (joined + (portRef Z (instanceRef XOR8MEG14_1)) + (portRef D (instanceRef XOR8MEG14)) + )) + (net un1_Bank_1_3 (joined + (portRef Z (instanceRef un1_Bank_1_3)) + (portRef C (instanceRef un1_Bank_1)) + )) + (net un1_Bank_1_4 (joined + (portRef Z (instanceRef un1_Bank_1_4)) + (portRef D (instanceRef un1_Bank_1)) + )) + (net un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2_1)) + (portRef D (instanceRef un1_wb_cyc_stb_2_sqmuxa_i_a3_2)) + )) + (net InitReady3_0_a3_2 (joined + (portRef Z (instanceRef InitReady3_0_a3_2)) + (portRef C (instanceRef InitReady3_0_a3)) + )) + (net Ready_0_sqmuxa_0_a3_2 (joined + (portRef Z (instanceRef Ready_0_sqmuxa_0_a3_2)) + (portRef D (instanceRef Ready_0_sqmuxa_0_a3)) + (portRef B (instanceRef Ready_RNO)) + )) + (net (rename wb_dati_5_1_iv_0_a3_3_0_7 "wb_dati_5_1_iv_0_a3_3_0[7]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_3_0_7)) + (portRef C (instanceRef wb_dati_5_1_iv_0_a3_3_7)) + )) + (net ADWR_4 (joined + (portRef Z (instanceRef ADWR_4)) + (portRef A (instanceRef ADWR_7)) + )) + (net ADWR_5 (joined + (portRef Z (instanceRef ADWR_5)) + (portRef B (instanceRef ADWR_7)) + )) + (net ADWR_7 (joined + (portRef Z (instanceRef ADWR_7)) + (portRef D (instanceRef un1_CMDWR)) + (portRef A (instanceRef un1_ADWR)) + (portRef A (instanceRef CmdEnable17)) + )) + (net (rename wb_dati_5_1_iv_0_a3_2_0_1 "wb_dati_5_1_iv_0_a3_2_0[1]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_2_0_1)) + (portRef D (instanceRef wb_dati_5_1_iv_0_0_1)) + )) + (net un1_FS_40_1_0 (joined + (portRef Z (instanceRef un1_FS_40_1_0)) + (portRef A (instanceRef wb_adr_cnst_0_0)) + )) + (net un1_FS_40_1_1_1 (joined + (portRef Z (instanceRef un1_FS_40_1_1_1)) + (portRef B (instanceRef wb_adr_cnst_0_0)) + )) + (net un1_wb_cyc_stb_1_sqmuxa_0_a3_0_1 (joined + (portRef Z (instanceRef un1_wb_cyc_stb_1_sqmuxa_0_a3_0_2)) + (portRef C (instanceRef un1_wb_cyc_stb_1_sqmuxa_0)) + )) + (net (rename wb_dati_5_1_iv_0_a3_0_6 "wb_dati_5_1_iv_0_a3_0[6]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_0_0_6)) + (portRef D (instanceRef wb_dati_5_1_iv_0_a3_6)) + )) + (net (rename wb_dati_5_1_iv_0_a3_0_0_7 "wb_dati_5_1_iv_0_a3_0_0[7]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_RNO_7)) + (portRef D (instanceRef wb_dati_5_1_iv_0_7)) + )) + (net (rename wb_dati_5_0_iv_0_a3_1_0 "wb_dati_5_0_iv_0_a3_1[0]") (joined + (portRef Z (instanceRef wb_dati_5_0_iv_0_a3_1_0)) + (portRef C (instanceRef wb_dati_5_0_iv_0_0)) + )) + (net nRRAS_5_u_i_0 (joined + (portRef Z (instanceRef nRRAS_5_u_i_0)) + (portRef A (instanceRef nRRAS_5_u_i_0_RNILD5I)) + (portRef D (instanceRef nRRAS_5_u_i)) + )) + (net C1WR_2 (joined + (portRef Z (instanceRef C1WR_2)) + (portRef C (instanceRef un1_CMDWR)) + (portRef B (instanceRef un1_ADWR)) + (portRef A (instanceRef CmdEnable16)) + )) + (net CMDWR_2 (joined + (portRef Z (instanceRef CMDWR_2)) + (portRef A (instanceRef un1_CMDWR)) + (portRef B (instanceRef XOR8MEG18)) + (portRef C (instanceRef CmdUFMData_RNO)) + )) + (net (rename wb_dati_5_1_iv_0_a3_0_3 "wb_dati_5_1_iv_0_a3_0[3]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_0_0_3)) + (portRef D (instanceRef wb_dati_5_1_iv_0_0_3)) + )) + (net un1_wb_adr_0_sqmuxa_2 (joined + (portRef Z (instanceRef un1_wb_adr_0_sqmuxa_2)) + (portRef C (instanceRef wb_we_0)) + )) + (net un1_wb_adr_0_sqmuxa_3 (joined + (portRef Z (instanceRef un1_wb_adr_0_sqmuxa_3)) + (portRef D (instanceRef wb_we_0)) + )) + (net (rename wb_dati_5_1_iv_0_a3_0_0_1 "wb_dati_5_1_iv_0_a3_0_0[1]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_a3_0_0_0_1)) + (portRef D (instanceRef wb_dati_5_1_iv_0_1)) + (portRef C (instanceRef wb_dati_5_1_iv_0_6)) + )) + (net CmdEnable17_4 (joined + (portRef Z (instanceRef CmdEnable17_4)) + (portRef B (instanceRef CmdEnable17)) + )) + (net CmdEnable17_5 (joined + (portRef Z (instanceRef CmdEnable17_5)) + (portRef C (instanceRef CmdEnable17)) + )) + (net (rename wb_dati_5_1_iv_0_1_6 "wb_dati_5_1_iv_0_1[6]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_1_6)) + (portRef B (instanceRef wb_dati_5_1_iv_0_6)) + )) + (net (rename wb_dati_5_1_iv_0_0_1 "wb_dati_5_1_iv_0_0[1]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_0_1)) + (portRef C (instanceRef wb_dati_5_1_iv_0_1)) + )) + (net (rename wb_dati_5_1_iv_0_1_4 "wb_dati_5_1_iv_0_1[4]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_1_4)) + (portRef D (instanceRef wb_dati_5_1_iv_0_4)) + )) + (net (rename wb_dati_5_1_iv_0_0_3 "wb_dati_5_1_iv_0_0[3]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_0_3)) + (portRef A (instanceRef wb_dati_5_1_iv_0_3)) + )) + (net CmdEnable16_4 (joined + (portRef Z (instanceRef CmdEnable16_4)) + (portRef C (instanceRef CmdEnable16)) + )) + (net CmdEnable16_5 (joined + (portRef Z (instanceRef CmdEnable16_5)) + (portRef D (instanceRef CmdEnable16)) + )) + (net (rename wb_dati_5_1_iv_0_1_7 "wb_dati_5_1_iv_0_1[7]") (joined + (portRef Z (instanceRef wb_dati_5_1_iv_0_1_7)) + (portRef C (instanceRef wb_dati_5_1_iv_0_7)) + )) + (net (rename FS_cry_0_S0_0 "FS_cry_0_S0[0]") (joined + (portRef S0 (instanceRef FS_cry_0_0)) + )) + (net (rename FS_s_0_S1_17 "FS_s_0_S1[17]") (joined + (portRef S1 (instanceRef FS_s_0_17)) + )) + (net (rename FS_s_0_COUT_17 "FS_s_0_COUT[17]") (joined + (portRef COUT (instanceRef FS_s_0_17)) + )) + (net un1_FS_40_1_0_1 (joined + (portRef Z (instanceRef un1_FS_40_1_0_1)) + (portRef D (instanceRef un1_FS_40_1_0)) + )) + (net RCKEEN_8_u_1_0 (joined + (portRef Z (instanceRef RCKEEN_8_u_1_0)) + (portRef C (instanceRef RCKEEN_8_u)) + )) + (net (rename RowAd_0_3 "RowAd_0[3]") (joined + (portRef Z (instanceRef RowAd_3)) + (portRef D (instanceRef RowA_3)) + )) + (net (rename RowAd_0_0 "RowAd_0[0]") (joined + (portRef Z (instanceRef RowAd_0)) + (portRef D (instanceRef RowA_0)) + )) + (net (rename RowAd_0_1 "RowAd_0[1]") (joined + (portRef Z (instanceRef RowAd_1)) + (portRef D (instanceRef RowA_1)) + )) + (net (rename RowAd_0_2 "RowAd_0[2]") (joined + (portRef Z (instanceRef RowAd_2)) + (portRef D (instanceRef RowA_2)) + )) + (net (rename RowAd_0_7 "RowAd_0[7]") (joined + (portRef Z (instanceRef RowAd_7)) + (portRef D (instanceRef RowA_7)) + )) + (net (rename RowAd_0_4 "RowAd_0[4]") (joined + (portRef Z (instanceRef RowAd_4)) + (portRef D (instanceRef RowA_4)) + )) + (net (rename RowAd_0_5 "RowAd_0[5]") (joined + (portRef Z (instanceRef RowAd_5)) + (portRef D (instanceRef RowA_5)) + )) + (net (rename RowAd_0_6 "RowAd_0[6]") (joined + (portRef Z (instanceRef RowAd_6)) + (portRef D (instanceRef RowA_6)) + )) + (net (rename RBAd_0_1 "RBAd_0[1]") (joined + (portRef Z (instanceRef RBAd_1)) + (portRef D (instanceRef RBA_0io_1)) + )) + (net (rename RowAd_0_8 "RowAd_0[8]") (joined + (portRef Z (instanceRef RowAd_8)) + (portRef D (instanceRef RowA_8)) + )) + (net (rename RowAd_0_9 "RowAd_0[9]") (joined + (portRef Z (instanceRef RowAd_9)) + (portRef D (instanceRef RowA_9)) + )) + (net (rename RBAd_0_0 "RBAd_0[0]") (joined + (portRef Z (instanceRef RBAd_0)) + (portRef D (instanceRef RBA_0io_0)) + )) + (net wb_rste_0 (joined + (portRef Z (instanceRef wb_rste)) + (portRef D (instanceRef wb_rst)) + )) + (net wb_reqe_0 (joined + (portRef Z (instanceRef wb_reqe)) + (portRef D (instanceRef wb_req)) + )) + (net RA11d_0 (joined + (portRef Z (instanceRef RA11d)) + (portRef D (instanceRef RA11_0io)) + )) + (net G_8_0_a3_0_0 (joined + (portRef Z (instanceRef PHI2r3_RNIFT0I)) + (portRef C (instanceRef CmdUFMShift_fast_RNIG9JD1)) + )) + (net CmdValid_fast (joined + (portRef Q (instanceRef CmdValid_fast)) + (portRef B (instanceRef CmdUFMShift_fast_RNIG9JD1)) + (portRef A (instanceRef CmdValid_fast_RNITQBM1)) + )) + (net N_36_fast (joined + (portRef Z (instanceRef CmdValid_r_fast)) + (portRef D (instanceRef CmdValid_fast)) + )) + (net CmdUFMShift_fast (joined + (portRef Q (instanceRef CmdUFMShift_fast)) + (portRef A (instanceRef CmdUFMShift_3_u_fast)) + (portRef A (instanceRef CmdUFMShift_fast_RNIG9JD1)) + )) + (net CmdUFMShift_3_fast (joined + (portRef Z (instanceRef CmdUFMShift_3_u_fast)) + (portRef D (instanceRef CmdUFMShift_fast)) + )) + (net Ready_fast (joined + (portRef Q (instanceRef Ready_fast)) + (portRef B (instanceRef RBAd_0)) + (portRef B (instanceRef RowAd_9)) + (portRef B (instanceRef RowAd_8)) + (portRef B (instanceRef RBAd_1)) + (portRef B (instanceRef RowAd_6)) + (portRef B (instanceRef RowAd_5)) + (portRef B (instanceRef RowAd_4)) + (portRef B (instanceRef RowAd_7)) + (portRef B (instanceRef RowAd_2)) + (portRef B (instanceRef RowAd_1)) + (portRef B (instanceRef RowAd_0)) + (portRef B (instanceRef RowAd_3)) + (portRef B (instanceRef RA11d)) + (portRef B (instanceRef Ready_fast_RNO)) + )) + (net CBR_fast (joined + (portRef Q (instanceRef CBR_fast)) + (portRef A (instanceRef nRCS_0io_RNO_0)) + (portRef A (instanceRef nRWE_0io_RNO_0)) + (portRef A (instanceRef nRCAS_0_sqmuxa_1_0_a3)) + )) + (net FWEr_fast (joined + (portRef Q (instanceRef FWEr_fast)) + (portRef D (instanceRef nRCAS_r_i_a3_1_1_tz)) + )) + (net nRWE_0io_RNO_2 (joined + (portRef Z (instanceRef nRWE_0io_RNO_2)) + (portRef C (instanceRef nRWE_0io_RNO_0)) + )) + (net nRWE_0io_RNO_3 (joined + (portRef Z (instanceRef nRWE_0io_RNO_3)) + (portRef A (instanceRef nRWE_0io_RNO_1)) + )) + (net nRWE_0io_RNO_4 (joined + (portRef Z (instanceRef nRWE_0io_RNO_4)) + (portRef B (instanceRef nRWE_0io_RNO_1)) + )) + (net N_37_i_1 (joined + (portRef Z (instanceRef nRWE_0io_RNO_0)) + (portRef A (instanceRef nRWE_0io_RNO)) + )) + (net nRWE_0io_RNO_1 (joined + (portRef Z (instanceRef nRWE_0io_RNO_1)) + (portRef B (instanceRef nRWE_0io_RNO)) + )) + (net N_28_i_sn (joined + (portRef Z (instanceRef nRCS_0io_RNO_0)) + (portRef C (instanceRef nRCS_0io_RNO)) + )) + (net nRCAS_0io_RNO_0 (joined + (portRef Z (instanceRef nRCAS_0io_RNO_0)) + (portRef C (instanceRef nRCAS_0io_RNO)) + )) + (net (rename XOR8MEG_CN "XOR8MEG.CN") (joined + (portRef Z (instanceRef XOR8MEG_CN)) + (portRef CK (instanceRef ADSubmitted)) + (portRef CK (instanceRef C1Submitted)) + (portRef CK (instanceRef CmdEnable)) + (portRef CK (instanceRef CmdLEDEN)) + (portRef CK (instanceRef CmdUFMData)) + (portRef CK (instanceRef CmdUFMShift)) + (portRef CK (instanceRef CmdUFMShift_fast)) + (portRef CK (instanceRef CmdUFMWrite)) + (portRef CK (instanceRef CmdValid)) + (portRef CK (instanceRef CmdValid_fast)) + (portRef CK (instanceRef Cmdn8MEGEN)) + (portRef CK (instanceRef XOR8MEG)) + )) + (net VCC (joined + (portRef Z (instanceRef VCC)) + (portRef B0 (instanceRef FS_cry_0_0)) + (portRef SP (instanceRef RA10_0io)) + (portRef SP (instanceRef RA11_0io)) + (portRef SP (instanceRef RBA_0io_1)) + (portRef SP (instanceRef RBA_0io_0)) + (portRef SP (instanceRef nRCAS_0io)) + (portRef SP (instanceRef nRCS_0io)) + (portRef SP (instanceRef nRRAS_0io)) + (portRef SP (instanceRef nRWE_0io)) + (portRef SP (instanceRef Bank_0io_7)) + (portRef SP (instanceRef Bank_0io_6)) + (portRef SP (instanceRef Bank_0io_5)) + (portRef SP (instanceRef Bank_0io_4)) + (portRef SP (instanceRef Bank_0io_3)) + (portRef SP (instanceRef Bank_0io_2)) + (portRef SP (instanceRef Bank_0io_1)) + (portRef SP (instanceRef Bank_0io_0)) + (portRef SP (instanceRef PHI2r_0io)) + (portRef SP (instanceRef WRD_0io_7)) + (portRef SP (instanceRef WRD_0io_6)) + (portRef SP (instanceRef WRD_0io_5)) + (portRef SP (instanceRef WRD_0io_4)) + (portRef SP (instanceRef WRD_0io_3)) + (portRef SP (instanceRef WRD_0io_2)) + (portRef SP (instanceRef WRD_0io_1)) + (portRef SP (instanceRef WRD_0io_0)) + (portRef GSR (instanceRef GSR_INST)) + )) + (net GND (joined + (portRef Z (instanceRef GND)) + (portRef D1 (instanceRef FS_cry_0_0)) + (portRef C1 (instanceRef FS_cry_0_0)) + (portRef B1 (instanceRef FS_cry_0_0)) + (portRef D0 (instanceRef FS_cry_0_0)) + (portRef C0 (instanceRef FS_cry_0_0)) + (portRef A0 (instanceRef FS_cry_0_0)) + (portRef D1 (instanceRef FS_cry_0_1)) + (portRef C1 (instanceRef FS_cry_0_1)) + (portRef B1 (instanceRef FS_cry_0_1)) + (portRef D0 (instanceRef FS_cry_0_1)) + (portRef C0 (instanceRef FS_cry_0_1)) + (portRef B0 (instanceRef FS_cry_0_1)) + (portRef D1 (instanceRef FS_cry_0_3)) + (portRef C1 (instanceRef FS_cry_0_3)) + (portRef B1 (instanceRef FS_cry_0_3)) + (portRef D0 (instanceRef FS_cry_0_3)) + (portRef C0 (instanceRef FS_cry_0_3)) + (portRef B0 (instanceRef FS_cry_0_3)) + (portRef D1 (instanceRef FS_cry_0_5)) + (portRef C1 (instanceRef FS_cry_0_5)) + (portRef B1 (instanceRef FS_cry_0_5)) + (portRef D0 (instanceRef FS_cry_0_5)) + (portRef C0 (instanceRef FS_cry_0_5)) + (portRef B0 (instanceRef FS_cry_0_5)) + (portRef D1 (instanceRef FS_cry_0_7)) + (portRef C1 (instanceRef FS_cry_0_7)) + (portRef B1 (instanceRef FS_cry_0_7)) + (portRef D0 (instanceRef FS_cry_0_7)) + (portRef C0 (instanceRef FS_cry_0_7)) + (portRef B0 (instanceRef FS_cry_0_7)) + (portRef D1 (instanceRef FS_cry_0_9)) + (portRef C1 (instanceRef FS_cry_0_9)) + (portRef B1 (instanceRef FS_cry_0_9)) + (portRef D0 (instanceRef FS_cry_0_9)) + (portRef C0 (instanceRef FS_cry_0_9)) + (portRef B0 (instanceRef FS_cry_0_9)) + (portRef D1 (instanceRef FS_cry_0_11)) + (portRef C1 (instanceRef FS_cry_0_11)) + (portRef B1 (instanceRef FS_cry_0_11)) + (portRef D0 (instanceRef FS_cry_0_11)) + (portRef C0 (instanceRef FS_cry_0_11)) + (portRef B0 (instanceRef FS_cry_0_11)) + (portRef D1 (instanceRef FS_cry_0_13)) + (portRef C1 (instanceRef FS_cry_0_13)) + (portRef B1 (instanceRef FS_cry_0_13)) + (portRef D0 (instanceRef FS_cry_0_13)) + (portRef C0 (instanceRef FS_cry_0_13)) + (portRef B0 (instanceRef FS_cry_0_13)) + (portRef D1 (instanceRef FS_cry_0_15)) + (portRef C1 (instanceRef FS_cry_0_15)) + (portRef B1 (instanceRef FS_cry_0_15)) + (portRef D0 (instanceRef FS_cry_0_15)) + (portRef C0 (instanceRef FS_cry_0_15)) + (portRef B0 (instanceRef FS_cry_0_15)) + (portRef D1 (instanceRef FS_s_0_17)) + (portRef C1 (instanceRef FS_s_0_17)) + (portRef B1 (instanceRef FS_s_0_17)) + (portRef A1 (instanceRef FS_s_0_17)) + (portRef D0 (instanceRef FS_s_0_17)) + (portRef C0 (instanceRef FS_s_0_17)) + (portRef B0 (instanceRef FS_s_0_17)) + (portRef CD (instanceRef RA11_0io)) + (portRef CD (instanceRef RBA_0io_1)) + (portRef CD (instanceRef RBA_0io_0)) + (portRef PD (instanceRef nRCAS_0io)) + (portRef PD (instanceRef nRCS_0io)) + (portRef PD (instanceRef nRRAS_0io)) + (portRef PD (instanceRef nRWE_0io)) + (portRef CD (instanceRef Bank_0io_7)) + (portRef CD (instanceRef Bank_0io_6)) + (portRef CD (instanceRef Bank_0io_5)) + (portRef CD (instanceRef Bank_0io_4)) + (portRef CD (instanceRef Bank_0io_3)) + (portRef CD (instanceRef Bank_0io_2)) + (portRef CD (instanceRef Bank_0io_1)) + (portRef CD (instanceRef Bank_0io_0)) + (portRef CD (instanceRef PHI2r_0io)) + (portRef CD (instanceRef WRD_0io_7)) + (portRef CD (instanceRef WRD_0io_6)) + (portRef CD (instanceRef WRD_0io_5)) + (portRef CD (instanceRef WRD_0io_4)) + (portRef CD (instanceRef WRD_0io_3)) + (portRef CD (instanceRef WRD_0io_2)) + (portRef CD (instanceRef WRD_0io_1)) + (portRef CD (instanceRef WRD_0io_0)) + )) + (net PHI2_c (joined + (portRef O (instanceRef PHI2_pad)) + (portRef SCLK (instanceRef RA11_0io)) + (portRef SCLK (instanceRef Bank_0io_7)) + (portRef SCLK (instanceRef Bank_0io_6)) + (portRef SCLK (instanceRef Bank_0io_5)) + (portRef SCLK (instanceRef Bank_0io_4)) + (portRef SCLK (instanceRef Bank_0io_3)) + (portRef SCLK (instanceRef Bank_0io_2)) + (portRef SCLK (instanceRef Bank_0io_1)) + (portRef SCLK (instanceRef Bank_0io_0)) + (portRef D (instanceRef PHI2r_0io)) + (portRef A (instanceRef XOR8MEG_CN)) + )) + (net PHI2 (joined + (portRef PHI2) + (portRef I (instanceRef PHI2_pad)) + )) + (net (rename MAin_c_0 "MAin_c[0]") (joined + (portRef O (instanceRef MAin_pad_0)) + (portRef A (instanceRef RowAd_0)) + (portRef A (instanceRef un9_RA_0)) + (portRef A (instanceRef ADWR_4)) + (portRef B (instanceRef CMDWR_2)) + (portRef B (instanceRef C1WR_2)) + )) + (net (rename MAin_0 "MAin[0]") (joined + (portRef (member main 9)) + (portRef I (instanceRef MAin_pad_0)) + )) + (net (rename MAin_c_1 "MAin_c[1]") (joined + (portRef O (instanceRef MAin_pad_1)) + (portRef A (instanceRef RowAd_1)) + (portRef A (instanceRef un9_RA_1)) + (portRef C (instanceRef CMDWR_2)) + (portRef C (instanceRef C1WR_2)) + (portRef C (instanceRef ADWR_7)) + )) + (net (rename MAin_1 "MAin[1]") (joined + (portRef (member main 8)) + (portRef I (instanceRef MAin_pad_1)) + )) + (net (rename MAin_c_2 "MAin_c[2]") (joined + (portRef O (instanceRef MAin_pad_2)) + (portRef A (instanceRef RowAd_2)) + (portRef A (instanceRef un9_RA_2)) + (portRef A (instanceRef ADWR_5)) + (portRef A (instanceRef C1WR_0)) + )) + (net (rename MAin_2 "MAin[2]") (joined + (portRef (member main 7)) + (portRef I (instanceRef MAin_pad_2)) + )) + (net (rename MAin_c_3 "MAin_c[3]") (joined + (portRef O (instanceRef MAin_pad_3)) + (portRef A (instanceRef RowAd_3)) + (portRef A (instanceRef un9_RA_3)) + (portRef B (instanceRef C1WR_0)) + (portRef D (instanceRef ADWR_7)) + )) + (net (rename MAin_3 "MAin[3]") (joined + (portRef (member main 6)) + (portRef I (instanceRef MAin_pad_3)) + )) + (net (rename MAin_c_4 "MAin_c[4]") (joined + (portRef O (instanceRef MAin_pad_4)) + (portRef A (instanceRef RowAd_4)) + (portRef A (instanceRef un9_RA_4)) + (portRef B (instanceRef ADWR_5)) + (portRef C (instanceRef C1WR_0)) + )) + (net (rename MAin_4 "MAin[4]") (joined + (portRef (member main 5)) + (portRef I (instanceRef MAin_pad_4)) + )) + (net (rename MAin_c_5 "MAin_c[5]") (joined + (portRef O (instanceRef MAin_pad_5)) + (portRef A (instanceRef RowAd_5)) + (portRef A (instanceRef un9_RA_5)) + (portRef C (instanceRef ADWR_5)) + (portRef A (instanceRef C1WR_7)) + )) + (net (rename MAin_5 "MAin[5]") (joined + (portRef (member main 4)) + (portRef I (instanceRef MAin_pad_5)) + )) + (net (rename MAin_c_6 "MAin_c[6]") (joined + (portRef O (instanceRef MAin_pad_6)) + (portRef A (instanceRef RowAd_6)) + (portRef A (instanceRef un9_RA_6)) + (portRef B (instanceRef ADWR_4)) + (portRef B (instanceRef C1WR_7)) + )) + (net (rename MAin_6 "MAin[6]") (joined + (portRef (member main 3)) + (portRef I (instanceRef MAin_pad_6)) + )) + (net (rename MAin_c_7 "MAin_c[7]") (joined + (portRef O (instanceRef MAin_pad_7)) + (portRef A (instanceRef RowAd_7)) + (portRef A (instanceRef un9_RA_7)) + (portRef D (instanceRef ADWR_5)) + (portRef C (instanceRef C1WR_7)) + )) + (net (rename MAin_7 "MAin[7]") (joined + (portRef (member main 2)) + (portRef I (instanceRef MAin_pad_7)) + )) + (net (rename MAin_c_8 "MAin_c[8]") (joined + (portRef O (instanceRef MAin_pad_8)) + (portRef A (instanceRef RowAd_8)) + (portRef A (instanceRef un9_RA_8)) + )) + (net (rename MAin_8 "MAin[8]") (joined + (portRef (member main 1)) + (portRef I (instanceRef MAin_pad_8)) + )) + (net (rename MAin_c_9 "MAin_c[9]") (joined + (portRef O (instanceRef MAin_pad_9)) + (portRef A (instanceRef RowAd_9)) + (portRef A (instanceRef RDQMH)) + (portRef A (instanceRef RDQML)) + (portRef A (instanceRef un9_RA_9)) + )) + (net (rename MAin_9 "MAin[9]") (joined + (portRef (member main 0)) + (portRef I (instanceRef MAin_pad_9)) + )) + (net (rename CROW_c_0 "CROW_c[0]") (joined + (portRef O (instanceRef CROW_pad_0)) + (portRef A (instanceRef RBAd_0)) + )) + (net (rename CROW_0 "CROW[0]") (joined + (portRef (member crow 1)) + (portRef I (instanceRef CROW_pad_0)) + )) + (net (rename CROW_c_1 "CROW_c[1]") (joined + (portRef O (instanceRef CROW_pad_1)) + (portRef A (instanceRef RBAd_1)) + )) + (net (rename CROW_1 "CROW[1]") (joined + (portRef (member crow 0)) + (portRef I (instanceRef CROW_pad_1)) + )) + (net (rename Din_c_0 "Din_c[0]") (joined + (portRef O (instanceRef Din_pad_0)) + (portRef A (instanceRef CmdUFMWrite_2)) + (portRef A (instanceRef CmdEnable16_4)) + (portRef A (instanceRef CmdEnable17_4)) + (portRef B (instanceRef Cmdn8MEGEN_4_0)) + (portRef D (instanceRef CmdUFMData)) + (portRef D (instanceRef Bank_0io_0)) + (portRef D (instanceRef WRD_0io_0)) + (portRef C (instanceRef XOR8MEG_3_u_0_bm)) + )) + (net (rename Din_0 "Din[0]") (joined + (portRef (member din 7)) + (portRef I (instanceRef Din_pad_0)) + )) + (net (rename Din_c_1 "Din_c[1]") (joined + (portRef O (instanceRef Din_pad_1)) + (portRef B (instanceRef CmdUFMShift_3_u_fast)) + (portRef B (instanceRef CmdUFMWrite_2)) + (portRef B (instanceRef CmdEnable16_4)) + (portRef B (instanceRef CmdEnable17_4)) + (portRef B (instanceRef CmdLEDEN_4_0)) + (portRef B (instanceRef CmdUFMShift_3_u)) + (portRef D (instanceRef Bank_0io_1)) + (portRef D (instanceRef WRD_0io_1)) + (portRef D (instanceRef XOR8MEG_3_u_0_bm)) + )) + (net (rename Din_1 "Din[1]") (joined + (portRef (member din 6)) + (portRef I (instanceRef Din_pad_1)) + )) + (net (rename Din_c_2 "Din_c[2]") (joined + (portRef O (instanceRef Din_pad_2)) + (portRef A (instanceRef XOR8MEG9_1)) + (portRef A (instanceRef CmdEnable16_5)) + (portRef C (instanceRef CmdEnable17_4)) + (portRef D (instanceRef Bank_0io_2)) + (portRef D (instanceRef WRD_0io_2)) + )) + (net (rename Din_2 "Din[2]") (joined + (portRef (member din 5)) + (portRef I (instanceRef Din_pad_2)) + )) + (net (rename Din_c_3 "Din_c[3]") (joined + (portRef O (instanceRef Din_pad_3)) + (portRef B (instanceRef XOR8MEG9_1)) + (portRef B (instanceRef CmdEnable16_5)) + (portRef A (instanceRef CmdEnable17_5)) + (portRef A (instanceRef XOR8MEG14)) + (portRef D (instanceRef Bank_0io_3)) + (portRef D (instanceRef WRD_0io_3)) + )) + (net (rename Din_3 "Din[3]") (joined + (portRef (member din 4)) + (portRef I (instanceRef Din_pad_3)) + )) + (net (rename Din_c_4 "Din_c[4]") (joined + (portRef O (instanceRef Din_pad_4)) + (portRef A (instanceRef XOR8MEG14_1)) + (portRef C (instanceRef CmdEnable16_5)) + (portRef B (instanceRef CmdEnable17_5)) + (portRef A (instanceRef un1_Din_2)) + (portRef A (instanceRef XOR8MEG11)) + (portRef D (instanceRef Bank_0io_4)) + (portRef D (instanceRef WRD_0io_4)) + )) + (net (rename Din_4 "Din[4]") (joined + (portRef (member din 3)) + (portRef I (instanceRef Din_pad_4)) + )) + (net (rename Din_c_5 "Din_c[5]") (joined + (portRef O (instanceRef Din_pad_5)) + (portRef C (instanceRef CmdEnable16_4)) + (portRef C (instanceRef CmdEnable17_5)) + (portRef B (instanceRef un1_Din_2)) + (portRef B (instanceRef XOR8MEG14)) + (portRef B (instanceRef XOR8MEG11)) + (portRef D (instanceRef Bank_0io_5)) + (portRef D (instanceRef WRD_0io_5)) + )) + (net (rename Din_5 "Din[5]") (joined + (portRef (member din 2)) + (portRef I (instanceRef Din_pad_5)) + )) + (net (rename Din_c_6 "Din_c[6]") (joined + (portRef O (instanceRef Din_pad_6)) + (portRef A (instanceRef RA11d)) + (portRef B (instanceRef XOR8MEG14_1)) + (portRef D (instanceRef CmdEnable16_4)) + (portRef D (instanceRef CmdEnable17_4)) + (portRef C (instanceRef un1_Din_2)) + (portRef C (instanceRef XOR8MEG11)) + (portRef D (instanceRef Bank_0io_6)) + (portRef D (instanceRef WRD_0io_6)) + )) + (net (rename Din_6 "Din[6]") (joined + (portRef (member din 1)) + (portRef I (instanceRef Din_pad_6)) + )) + (net (rename Din_c_7 "Din_c[7]") (joined + (portRef O (instanceRef Din_pad_7)) + (portRef D (instanceRef CmdEnable16_5)) + (portRef D (instanceRef CmdEnable17_5)) + (portRef D (instanceRef un1_Din_2)) + (portRef C (instanceRef XOR8MEG14)) + (portRef D (instanceRef XOR8MEG11)) + (portRef D (instanceRef Bank_0io_7)) + (portRef D (instanceRef WRD_0io_7)) + )) + (net (rename Din_7 "Din[7]") (joined + (portRef (member din 0)) + (portRef I (instanceRef Din_pad_7)) + )) + (net (rename Dout_0 "Dout[0]") (joined + (portRef O (instanceRef Dout_pad_0)) + (portRef (member dout 7)) + )) + (net (rename Dout_1 "Dout[1]") (joined + (portRef O (instanceRef Dout_pad_1)) + (portRef (member dout 6)) + )) + (net (rename Dout_2 "Dout[2]") (joined + (portRef O (instanceRef Dout_pad_2)) + (portRef (member dout 5)) + )) + (net (rename Dout_3 "Dout[3]") (joined + (portRef O (instanceRef Dout_pad_3)) + (portRef (member dout 4)) + )) + (net (rename Dout_4 "Dout[4]") (joined + (portRef O (instanceRef Dout_pad_4)) + (portRef (member dout 3)) + )) + (net (rename Dout_5 "Dout[5]") (joined + (portRef O (instanceRef Dout_pad_5)) + (portRef (member dout 2)) + )) + (net (rename Dout_6 "Dout[6]") (joined + (portRef O (instanceRef Dout_pad_6)) + (portRef (member dout 1)) + )) + (net (rename Dout_7 "Dout[7]") (joined + (portRef O (instanceRef Dout_pad_7)) + (portRef (member dout 0)) + )) + (net nCCAS_c (joined + (portRef O (instanceRef nCCAS_pad)) + (portRef A (instanceRef nCCAS_pad_RNI01SJ)) + (portRef A (instanceRef nCCAS_pad_RNISUR8)) + )) + (net nCCAS (joined + (portRef nCCAS) + (portRef I (instanceRef nCCAS_pad)) + )) + (net nCRAS_c (joined + (portRef O (instanceRef nCRAS_pad)) + (portRef C (instanceRef LED_pad_RNO)) + (portRef A (instanceRef nCRAS_pad_RNIBPVB)) + (portRef A (instanceRef RASr_RNO)) + )) + (net nCRAS (joined + (portRef nCRAS) + (portRef I (instanceRef nCRAS_pad)) + )) + (net nFWE_c (joined + (portRef O (instanceRef nFWE_pad)) + (portRef C (instanceRef ADWR_4)) + (portRef B (instanceRef nCCAS_pad_RNI01SJ)) + (portRef D (instanceRef CMDWR_2)) + (portRef D (instanceRef C1WR_2)) + (portRef A (instanceRef nFWE_pad_RNI420B)) + )) + (net nFWE (joined + (portRef nFWE) + (portRef I (instanceRef nFWE_pad)) + )) + (net LED_c (joined + (portRef Z (instanceRef LED_pad_RNO)) + (portRef I (instanceRef LED_pad)) + )) + (net LED (joined + (portRef O (instanceRef LED_pad)) + (portRef LED) + )) + (net (rename RBA_c_0 "RBA_c[0]") (joined + (portRef Q (instanceRef RBA_0io_0)) + (portRef I (instanceRef RBA_pad_0)) + )) + (net (rename RBA_0 "RBA[0]") (joined + (portRef O (instanceRef RBA_pad_0)) + (portRef (member rba 1)) + )) + (net (rename RBA_c_1 "RBA_c[1]") (joined + (portRef Q (instanceRef RBA_0io_1)) + (portRef I (instanceRef RBA_pad_1)) + )) + (net (rename RBA_1 "RBA[1]") (joined + (portRef O (instanceRef RBA_pad_1)) + (portRef (member rba 0)) + )) + (net (rename RA_c_0 "RA_c[0]") (joined + (portRef Z (instanceRef un9_RA_0)) + (portRef I (instanceRef RA_pad_0)) + )) + (net (rename RA_0 "RA[0]") (joined + (portRef O (instanceRef RA_pad_0)) + (portRef (member ra 11)) + )) + (net (rename RA_c_1 "RA_c[1]") (joined + (portRef Z (instanceRef un9_RA_1)) + (portRef I (instanceRef RA_pad_1)) + )) + (net (rename RA_1 "RA[1]") (joined + (portRef O (instanceRef RA_pad_1)) + (portRef (member ra 10)) + )) + (net (rename RA_c_2 "RA_c[2]") (joined + (portRef Z (instanceRef un9_RA_2)) + (portRef I (instanceRef RA_pad_2)) + )) + (net (rename RA_2 "RA[2]") (joined + (portRef O (instanceRef RA_pad_2)) + (portRef (member ra 9)) + )) + (net (rename RA_c_3 "RA_c[3]") (joined + (portRef Z (instanceRef un9_RA_3)) + (portRef I (instanceRef RA_pad_3)) + )) + (net (rename RA_3 "RA[3]") (joined + (portRef O (instanceRef RA_pad_3)) + (portRef (member ra 8)) + )) + (net (rename RA_c_4 "RA_c[4]") (joined + (portRef Z (instanceRef un9_RA_4)) + (portRef I (instanceRef RA_pad_4)) + )) + (net (rename RA_4 "RA[4]") (joined + (portRef O (instanceRef RA_pad_4)) + (portRef (member ra 7)) + )) + (net (rename RA_c_5 "RA_c[5]") (joined + (portRef Z (instanceRef un9_RA_5)) + (portRef I (instanceRef RA_pad_5)) + )) + (net (rename RA_5 "RA[5]") (joined + (portRef O (instanceRef RA_pad_5)) + (portRef (member ra 6)) + )) + (net (rename RA_c_6 "RA_c[6]") (joined + (portRef Z (instanceRef un9_RA_6)) + (portRef I (instanceRef RA_pad_6)) + )) + (net (rename RA_6 "RA[6]") (joined + (portRef O (instanceRef RA_pad_6)) + (portRef (member ra 5)) + )) + (net (rename RA_c_7 "RA_c[7]") (joined + (portRef Z (instanceRef un9_RA_7)) + (portRef I (instanceRef RA_pad_7)) + )) + (net (rename RA_7 "RA[7]") (joined + (portRef O (instanceRef RA_pad_7)) + (portRef (member ra 4)) + )) + (net (rename RA_c_8 "RA_c[8]") (joined + (portRef Z (instanceRef un9_RA_8)) + (portRef I (instanceRef RA_pad_8)) + )) + (net (rename RA_8 "RA[8]") (joined + (portRef O (instanceRef RA_pad_8)) + (portRef (member ra 3)) + )) + (net (rename RA_c_9 "RA_c[9]") (joined + (portRef Z (instanceRef un9_RA_9)) + (portRef I (instanceRef RA_pad_9)) + )) + (net (rename RA_9 "RA[9]") (joined + (portRef O (instanceRef RA_pad_9)) + (portRef (member ra 2)) + )) + (net (rename RA_c_10 "RA_c[10]") (joined + (portRef Q (instanceRef RA10_0io)) + (portRef I (instanceRef RA_pad_10)) + )) + (net (rename RA_10 "RA[10]") (joined + (portRef O (instanceRef RA_pad_10)) + (portRef (member ra 1)) + )) + (net (rename RA_c_11 "RA_c[11]") (joined + (portRef Q (instanceRef RA11_0io)) + (portRef I (instanceRef RA_pad_11)) + )) + (net (rename RA_11 "RA[11]") (joined + (portRef O (instanceRef RA_pad_11)) + (portRef (member ra 0)) + )) + (net (rename RD_in_0 "RD_in[0]") (joined + (portRef O (instanceRef RD_pad_0)) + (portRef I (instanceRef Dout_pad_0)) + )) + (net (rename RD_0 "RD[0]") (joined + (portRef B (instanceRef RD_pad_0)) + (portRef (member rd 7)) + )) + (net (rename RD_in_1 "RD_in[1]") (joined + (portRef O (instanceRef RD_pad_1)) + (portRef I (instanceRef Dout_pad_1)) + )) + (net (rename RD_1 "RD[1]") (joined + (portRef B (instanceRef RD_pad_1)) + (portRef (member rd 6)) + )) + (net (rename RD_in_2 "RD_in[2]") (joined + (portRef O (instanceRef RD_pad_2)) + (portRef I (instanceRef Dout_pad_2)) + )) + (net (rename RD_2 "RD[2]") (joined + (portRef B (instanceRef RD_pad_2)) + (portRef (member rd 5)) + )) + (net (rename RD_in_3 "RD_in[3]") (joined + (portRef O (instanceRef RD_pad_3)) + (portRef I (instanceRef Dout_pad_3)) + )) + (net (rename RD_3 "RD[3]") (joined + (portRef B (instanceRef RD_pad_3)) + (portRef (member rd 4)) + )) + (net (rename RD_in_4 "RD_in[4]") (joined + (portRef O (instanceRef RD_pad_4)) + (portRef I (instanceRef Dout_pad_4)) + )) + (net (rename RD_4 "RD[4]") (joined + (portRef B (instanceRef RD_pad_4)) + (portRef (member rd 3)) + )) + (net (rename RD_in_5 "RD_in[5]") (joined + (portRef O (instanceRef RD_pad_5)) + (portRef I (instanceRef Dout_pad_5)) + )) + (net (rename RD_5 "RD[5]") (joined + (portRef B (instanceRef RD_pad_5)) + (portRef (member rd 2)) + )) + (net (rename RD_in_6 "RD_in[6]") (joined + (portRef O (instanceRef RD_pad_6)) + (portRef I (instanceRef Dout_pad_6)) + )) + (net (rename RD_6 "RD[6]") (joined + (portRef B (instanceRef RD_pad_6)) + (portRef (member rd 1)) + )) + (net (rename RD_in_7 "RD_in[7]") (joined + (portRef O (instanceRef RD_pad_7)) + (portRef I (instanceRef Dout_pad_7)) + )) + (net (rename RD_7 "RD[7]") (joined + (portRef B (instanceRef RD_pad_7)) + (portRef (member rd 0)) + )) + (net nRCS_c (joined + (portRef Q (instanceRef nRCS_0io)) + (portRef I (instanceRef nRCS_pad)) + )) + (net nRCS (joined + (portRef O (instanceRef nRCS_pad)) + (portRef nRCS) + )) + (net RCLK_c (joined + (portRef O (instanceRef RCLK_pad)) + (portRef RCLK_c (instanceRef ufmefb)) + (portRef CK (instanceRef CASr)) + (portRef CK (instanceRef CASr2)) + (portRef CK (instanceRef CASr3)) + (portRef CK (instanceRef FS_17)) + (portRef CK (instanceRef FS_16)) + (portRef CK (instanceRef FS_15)) + (portRef CK (instanceRef FS_14)) + (portRef CK (instanceRef FS_13)) + (portRef CK (instanceRef FS_12)) + (portRef CK (instanceRef FS_11)) + (portRef CK (instanceRef FS_10)) + (portRef CK (instanceRef FS_9)) + (portRef CK (instanceRef FS_8)) + (portRef CK (instanceRef FS_7)) + (portRef CK (instanceRef FS_6)) + (portRef CK (instanceRef FS_5)) + (portRef CK (instanceRef FS_4)) + (portRef CK (instanceRef FS_3)) + (portRef CK (instanceRef FS_2)) + (portRef CK (instanceRef FS_1)) + (portRef CK (instanceRef FS_0)) + (portRef CK (instanceRef IS_3)) + (portRef CK (instanceRef IS_2)) + (portRef CK (instanceRef IS_1)) + (portRef CK (instanceRef IS_0)) + (portRef CK (instanceRef InitReady)) + (portRef CK (instanceRef LEDEN)) + (portRef CK (instanceRef PHI2r2)) + (portRef CK (instanceRef PHI2r3)) + (portRef CK (instanceRef RASr)) + (portRef CK (instanceRef RASr2)) + (portRef CK (instanceRef RASr3)) + (portRef CK (instanceRef RCKE)) + (portRef CK (instanceRef RCKEEN)) + (portRef CK (instanceRef Ready)) + (portRef CK (instanceRef Ready_fast)) + (portRef CK (instanceRef S_1)) + (portRef CK (instanceRef S_0)) + (portRef CK (instanceRef n8MEGEN)) + (portRef CK (instanceRef nRowColSel)) + (portRef CK (instanceRef wb_adr_7)) + (portRef CK (instanceRef wb_adr_6)) + (portRef CK (instanceRef wb_adr_5)) + (portRef CK (instanceRef wb_adr_4)) + (portRef CK (instanceRef wb_adr_3)) + (portRef CK (instanceRef wb_adr_2)) + (portRef CK (instanceRef wb_adr_1)) + (portRef CK (instanceRef wb_adr_0)) + (portRef CK (instanceRef wb_cyc_stb)) + (portRef CK (instanceRef wb_dati_7)) + (portRef CK (instanceRef wb_dati_6)) + (portRef CK (instanceRef wb_dati_5)) + (portRef CK (instanceRef wb_dati_4)) + (portRef CK (instanceRef wb_dati_3)) + (portRef CK (instanceRef wb_dati_2)) + (portRef CK (instanceRef wb_dati_1)) + (portRef CK (instanceRef wb_dati_0)) + (portRef CK (instanceRef wb_req)) + (portRef CK (instanceRef wb_rst)) + (portRef CK (instanceRef wb_we)) + (portRef SCLK (instanceRef RA10_0io)) + (portRef SCLK (instanceRef nRCAS_0io)) + (portRef SCLK (instanceRef nRCS_0io)) + (portRef SCLK (instanceRef nRRAS_0io)) + (portRef SCLK (instanceRef nRWE_0io)) + (portRef SCLK (instanceRef PHI2r_0io)) + )) + (net RCLK (joined + (portRef RCLK) + (portRef I (instanceRef RCLK_pad)) + )) + (net RCKE_c (joined + (portRef Q (instanceRef RCKE)) + (portRef B (instanceRef nRWE_0io_RNO_3)) + (portRef C (instanceRef nRRAS_5_u_i_0)) + (portRef I (instanceRef RCKE_pad)) + )) + (net RCKE (joined + (portRef O (instanceRef RCKE_pad)) + (portRef RCKE) + )) + (net nRWE_c (joined + (portRef Q (instanceRef nRWE_0io)) + (portRef I (instanceRef nRWE_pad)) + )) + (net nRWE (joined + (portRef O (instanceRef nRWE_pad)) + (portRef nRWE) + )) + (net nRRAS_c (joined + (portRef Q (instanceRef nRRAS_0io)) + (portRef I (instanceRef nRRAS_pad)) + )) + (net nRRAS (joined + (portRef O (instanceRef nRRAS_pad)) + (portRef nRRAS) + )) + (net nRCAS_c (joined + (portRef Q (instanceRef nRCAS_0io)) + (portRef I (instanceRef nRCAS_pad)) + )) + (net nRCAS (joined + (portRef O (instanceRef nRCAS_pad)) + (portRef nRCAS) + )) + (net RDQMH_c (joined + (portRef Z (instanceRef RDQMH)) + (portRef I (instanceRef RDQMH_pad)) + )) + (net RDQMH (joined + (portRef O (instanceRef RDQMH_pad)) + (portRef RDQMH) + )) + (net RDQML_c (joined + (portRef Z (instanceRef RDQML)) + (portRef I (instanceRef RDQML_pad)) + )) + (net RDQML (joined + (portRef O (instanceRef RDQML_pad)) + (portRef RDQML) + )) + (net N_487_0 (joined + (portRef Z (instanceRef InitReady_RNO)) + (portRef D (instanceRef InitReady)) + )) + (net N_486_0 (joined + (portRef Z (instanceRef Ready_RNO)) + (portRef D (instanceRef Ready)) + )) + (net N_489_0 (joined + (portRef Z (instanceRef Ready_fast_RNO)) + (portRef D (instanceRef Ready_fast)) + )) + (net nFWE_c_i (joined + (portRef Z (instanceRef nFWE_pad_RNI420B)) + (portRef D (instanceRef FWEr)) + (portRef D (instanceRef FWEr_fast)) + )) + (net nCRAS_c_i_0 (joined + (portRef Z (instanceRef RASr_RNO)) + (portRef D (instanceRef RASr)) + )) + (net nCCAS_c_i (joined + (portRef Z (instanceRef nCCAS_pad_RNISUR8)) + (portRef D (instanceRef CASr)) + (portRef D (instanceRef CBR)) + (portRef D (instanceRef CBR_fast)) + (portRef SCLK (instanceRef WRD_0io_7)) + (portRef SCLK (instanceRef WRD_0io_6)) + (portRef SCLK (instanceRef WRD_0io_5)) + (portRef SCLK (instanceRef WRD_0io_4)) + (portRef SCLK (instanceRef WRD_0io_3)) + (portRef SCLK (instanceRef WRD_0io_2)) + (portRef SCLK (instanceRef WRD_0io_1)) + (portRef SCLK (instanceRef WRD_0io_0)) + )) + (net RASr2_i (joined + (portRef Z (instanceRef RASr2_RNIAFR1)) + (portRef CD (instanceRef S_1)) + (portRef CD (instanceRef S_0)) + )) + (net wb_cyc_stb_RNO_1 (joined + (portRef Z (instanceRef wb_cyc_stb_RNO_1)) + (portRef BLUT (instanceRef wb_cyc_stb_RNO)) + )) + (net wb_cyc_stb_RNO_0 (joined + (portRef Z (instanceRef wb_cyc_stb_RNO_0)) + (portRef ALUT (instanceRef wb_cyc_stb_RNO)) + )) + (net XOR8MEG_3_u_0_am (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_am)) + (portRef BLUT (instanceRef XOR8MEG_3_u_0)) + )) + (net XOR8MEG_3_u_0_bm (joined + (portRef Z (instanceRef XOR8MEG_3_u_0_bm)) + (portRef ALUT (instanceRef XOR8MEG_3_u_0)) + )) + (net CmdEnable_s_am (joined + (portRef Z (instanceRef CmdEnable_s_am)) + (portRef BLUT (instanceRef CmdEnable_s)) + )) + (net CmdEnable_s_bm (joined + (portRef Z (instanceRef CmdEnable_s_bm)) + (portRef ALUT (instanceRef CmdEnable_s)) + )) + (net N_1 (joined + (portRef CIN (instanceRef FS_cry_0_0)) + )) + ) + (property orig_inst_of (string "RAM2GS")) + ) + ) + ) + (design RAM2GS (cellRef RAM2GS (libraryRef work)) + (property PART (string "lcmxo2_640hc-4") )) +) diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm index c6b7d36..b1545de 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.htm @@ -1,9 +1,9 @@ - - - syntmp/LCMXO2_640HC_impl1_srr.htm log file - - - - - - + + + syntmp/LCMXO2_640HC_impl1_srr.htm log file + + + + + + diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.jed b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.jed index 5236a9c..fb7c955 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.jed +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.jed @@ -1,1434 +1,1434 @@ -* -NOTE Diamond (64-bit) 3.12.1.454 JEDEC Compatible Fuse File.* -NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation.* -NOTE All Rights Reserved.* -NOTE DATE CREATED: Wed Aug 16 20:59:44 2023* -NOTE DESIGN NAME: LCMXO2_640HC_impl1.ncd* -NOTE DEVICE NAME: LCMXO2-640HC-4TQFP100* -NOTE JEDEC FILE STATUS: Final Version 1.95* -NOTE PIN ASSIGNMENTS* -NOTE PINS RD[0] : 36 : inout* -NOTE PINS Dout[0] : 76 : out* -NOTE PINS PHI2 : 8 : in* -NOTE PINS RDQML : 48 : out* -NOTE PINS RDQMH : 51 : out* -NOTE PINS nRCAS : 52 : out* -NOTE PINS nRRAS : 54 : out* -NOTE PINS nRWE : 49 : out* -NOTE PINS RCKE : 53 : out* -NOTE PINS RCLK : 62 : in* -NOTE PINS nRCS : 57 : out* -NOTE PINS RD[7] : 43 : inout* -NOTE PINS RD[6] : 42 : inout* -NOTE PINS RD[5] : 41 : inout* -NOTE PINS RD[4] : 40 : inout* -NOTE PINS RD[3] : 39 : inout* -NOTE PINS RD[2] : 38 : inout* -NOTE PINS RD[1] : 37 : inout* -NOTE PINS RA[11] : 59 : out* -NOTE PINS RA[10] : 64 : out* -NOTE PINS RA[9] : 63 : out* -NOTE PINS RA[8] : 65 : out* -NOTE PINS RA[7] : 75 : out* -NOTE PINS RA[6] : 68 : out* -NOTE PINS RA[5] : 70 : out* -NOTE PINS RA[4] : 74 : out* -NOTE PINS RA[3] : 71 : out* -NOTE PINS RA[2] : 69 : out* -NOTE PINS RA[1] : 67 : out* -NOTE PINS RA[0] : 66 : out* -NOTE PINS RBA[1] : 60 : out* -NOTE PINS RBA[0] : 58 : out* -NOTE PINS LED : 34 : out* -NOTE PINS nFWE : 15 : in* -NOTE PINS nCRAS : 17 : in* -NOTE PINS nCCAS : 9 : in* -NOTE PINS Dout[7] : 82 : out* -NOTE PINS Dout[6] : 78 : out* -NOTE PINS Dout[5] : 84 : out* -NOTE PINS Dout[4] : 83 : out* -NOTE PINS Dout[3] : 85 : out* -NOTE PINS Dout[2] : 87 : out* -NOTE PINS Dout[1] : 86 : out* -NOTE PINS Din[7] : 1 : in* -NOTE PINS Din[6] : 2 : in* -NOTE PINS Din[5] : 98 : in* -NOTE PINS Din[4] : 99 : in* -NOTE PINS Din[3] : 97 : in* -NOTE PINS Din[2] : 88 : in* -NOTE PINS Din[1] : 96 : in* -NOTE PINS Din[0] : 3 : in* -NOTE PINS CROW[1] : 16 : in* -NOTE PINS CROW[0] : 10 : in* -NOTE PINS MAin[9] : 32 : in* -NOTE PINS MAin[8] : 25 : in* -NOTE PINS MAin[7] : 18 : in* -NOTE PINS MAin[6] : 24 : in* -NOTE PINS MAin[5] : 19 : in* -NOTE PINS MAin[4] : 20 : in* -NOTE PINS MAin[3] : 21 : in* -NOTE PINS MAin[2] : 13 : in* -NOTE PINS MAin[1] : 12 : in* -NOTE PINS MAin[0] : 14 : in* -QP100* -QF171904* -G0* -F0* -L000000 -11111111111111111011110110110011111111111111111100111011000000000000000000000000000000100000000000000000000000000001001000110000 -01010000000010010000010100101000010010001111111101000110000000000000000000000000101110001110000000000000110101110000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000010001000000000000000000000000000000000000000000000000000000100010000000000000000000000000000000000000000000 -00000000000000000000010010000000000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000010001100000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110010 -00000100011100010000010111011000101000000000000000001001100000000000000000001001001011000100100000001000001100010001000000000000 -00000000000000000000000000000000000000000000000100101000000010110110000110010000000000000000001000010000000000010010000000000100 -10010011111010000100001010010010011010010100000000000000000000000000000000000000000000000000000000001001101001100000010010000000 -00000000000000000000000000000000100000001011100010001000000000000000000000000000000000000000000000000000000000010001000000001011 -01000100011011011000000000000000000000000000001101000001100110000010100101100100100100111001000001001100000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000010000010011000000000000000000001000010100111001000100110100100 -11000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000 -00110010001000001000000100110100111100101100000000100101000000000000000000000000000000000000000000000000000000101011000000000000 -00000000000000000000000100010000000000000010001010010100010011100000000100011000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000100000100110000010000010011000000010001000000000100100001000100000000000000000000000000000000000 -00000000000000000000000000010110100000100100000000000000000000000000000000000001100100001001000001000000011000011001000011100001 -01010011010011100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000101001110010100101001010 -00001000000000000100100100001000010010110010100000000000000000000000000000000000000000000000000010101100010110100000000000101101 -10011000000000000010010100100001000000001011110000000000100101110000001100010011101000000010001000000000000000000000000000000000 -00000000000000000000000000000000000000000000001001000010000000000000010011100001000100000100010000100001001100100011000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000001000111001110000000001001001000111000100110001 -00010010110000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011 -00100001100001100111100110001000101000110000010011100000000000000000000000000000000000000000000000000000000000001000000000000000 -00010001000000000010000001001100000000000100101101101001100000111001101110000000101110000000000000000000000000000000000000000000 -00000000000000000000000000000000000000010011100000001010110010001000000000000100010100101000001001010000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010010000000000000000000000000000000000 -00000000000000000000000000000001000000000000000000000000000001010110000100110000000000001001010000000000001000110000000000000000 -00000000000000000000000000000000000000000000000000000001001110000000000000000000010000110011000000000000010010000000000000100111 -00010000010011000000000000000000000000000000000000000000000000000000000100011000000100010000000000000000000000000000000000100000 -01001100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000 -00100111000000001001100000010011010011110001000001001000000001001010000000000000000000000000000000000000000000000000000000000000 -00010011001000101001110000000001010110000100110010001000000000000000100110100010010001010011100010011100000000000000000000000000 -00000000000000000000000000000000000000000000010000100000000000000100001100110000010000010011000000000010000111100000011000100000 -00100101000100000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000101011101011000000001 -00000110000011000001000101000000100000000010011000001001010100100000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000001000100000000000100000000000100111100010000010010100000010010110100100000000000000001000000000000000000000 -00000000000000000000000000000000000000000000000000010000000001001010000000000110010001000010011101100110010111000000110010000010 -00011001100100100100000000100110000000001001110000000000000000000000000000000000000000000000000000000000000000000000000000001000 -10100111001001001001110000100100111000010000000100110011110010001101001010000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000100111000001000110000010001100001100010001000001000000100001000000000000000000000000000000000 -00000000000000000000000000000100110000000000000000000000000000001001001001100000110000101000100101000100001000000000000000000000 -01100111100000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000011001000101000011000 -11000110010001000000000000000000011001111000000000000000000000000000000000000000000000000000010000100000100001000000000000000000 -00000000000010001000001001001001111101000001000100100100111010101000010011000011010001110000000000000000000000000000000000000000 -00000000000000000001001010000000000000000000000100000000000100001001000110010000100000000001000000000101101000000110011110000000 -00000000000000000000000000000000000000000000000000010100100000000100010100111000010001000000000000000101111010000101001010100010 -10000111010010011001110100001001000010100111000000110010011100000110011110010010000000000000000000000000000000000000000000000000 -00000100000000000000000000000100111000000000000001000101000101101100000010011010000011001001000110010000110000001000111001110100 -00111000000110000000000001100111100000000000000000000000000000000000000000000000000000000000000000000001000011001110000000010101 -00000000110010000101110001010100010100100010001110000111010000010100101010010111000110001110011000010100100000011000101110000000 -00000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000001011110111000100010011110001110010 -11100100100100010111000110010010010000011001100101000011000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000001000111000011000000101001000001110100000100111100001100010100101000010010100000000000000000000000 -00000000000000000000000010101100000000000101011000000000000000000000000000000000001001111110001000111100000100001100100100101111 -00110001000101000100000000011000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000100011 -00001000111000001001000100011010110010001010011010010111000011101001111001101101001001000100011000001000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000010010100001001111000011101000110100010100111001000001011001011 -11100111000101001001001010100011000010011100000000100111000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000010010101001001000101001011000000011001010011101001001100111000110001010010000100000001000001100000111000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000010101111010001011001110110010101010011010010101 -00011010001100100010010001101000100000000000000001001010100111000000001000110000000000000000000000000000000000000000000000000000 -00000000101100000001001100101111100001100101011000001101000111110000110100000100100101010101011011000110000000100000000000000000 -00000000100000010001000000000010011000000000000000000000000000000000000000000000000000000000000000000000100011100110100110001000 -10010111010011101000000011000100010100110000000110000011100000000000011000101000100101000000000000000000000000000000000000001001 -01000000000000000001001100000000000000000000000100101100001010111110000000010011011001010011110100001000100101100110101001010001 -11001110000111100000000000000001001110000000000000000000000000000000000000000000000000000000010001100000000000000000000010000100 -10110011011000000000110000011010010110000100011000001100000000001001100000000100100010011100000000000000000000000000000000000000 -00000101100000001011000000000000000000000000010110010011000000100000110001000101000010010001011110000011100001010110010010011110 -01000010001010011101000101110001010100100000000000100100001000100100100000000000000000000000000000000000000001001000000000000000 -00000000000000000000001000110000001010010111001000000010001101001110001101001001100101010011000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000011111101011111011101011111110111110001000010101111001000101000011 -10011111111111110110110011111101000011010001010001001100000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000111111110111110111111001001101100010111000100011000011001000001111101110100100110001100110100011000011000 -01001001110011001111001100110001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 -01000111011101101101100110111101000010001011000001111010001001001100000111010001000100100110001000111111110011000110000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000011001111111111111010001111011101011011101 -11111111011110000111000011111110011000011001111110100001110011001111111110011001100000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000010000000100111001100000011100100011100001000011000000111001000100010001001 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000001000 -01000010000101001000000000000000000000000000000000000000000000000000000000000010001000000000000000000010001010001100000000000000 -10110000000100001000011001000101011000000100001000000000001001100000000000000000000000000000000000000000000000000000100111000000 -00000000000000000000000000001010110000010101100010010010011101000000001001111000001000111001100000000000000000000000000000000000 -00000000000000000000000000000000000000000011101000000000000000000000000010000100100101000000000010011000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000001001010000100000010101000010101000000001001000000000001100111 -10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110010001001000010001100100010010 -00110000000000000110011110000000000000000000000000000000000000000000010101000000101010000000000000000000000000000000000000000000 -01001001001110000100100100111100110000000010010111000011100000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000010001100000000000000000000000011001111000000000000000000000000000000000000000000010001010011100000000 -00010010000001000101001110000100010100111000000000000000000100111101001110100010010000100100100010011010010010010010110101100010 -10010001110000000011011100000000110010110000000001100111100100100000000000000000000000000000000000000000000000000000000000000000 -00000001000000000001001110000000010000001001100010011110001010000011100001001100010001100110010000101010011000010000000001100111 -10000000000000000000000000000000000000000000000000000000000000000000000000010101000000000000001001101010011110011010110110000001 -11100100010001110010011001001001001000010010111100100001001111110010000000000011000111100000000000000000000000000000000000000000 -00000000000000001001100000000000000000100010000001000101011010000001001011000111000001001011000110100101100101110000101010000011 -01000001100110100101100001111100011011001011100001000110000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000010000111010001001101100100111010000110011001001001100010100111000000111000110000100001010011000000000010 -00100000000000000000000000000000000000000000000000000000000000001001110000000000000100011000000000000000010111001000011000001100 -00101000110110000010000110001010011001000010110001010111000100010000000110000001100000000000000000000000000000000000000000000000 -00000000000000000000000000000010010100000000000000000100000100001101111100110100100000110000101001000110011100000101001110000000 -10000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000001110010000000000100100101010 -01001111001011010111000101000101110000110111001000000000000000000010011100000000000000000000000000000000000000000000000000000000 -00000000000000100010000000000000010010110001011100100001101000010100000110000101010111011100000101001011110000100111010000011010 -01001100111100100101111111000100100000000110000111000000000000000000000000000000000000000000000000000000000000000000000000000000 -00100111000000000001000010011000101011001001001011001100100000110010011011001000010010010101000111000111100100001000000000000000 -00000000101010000001010100000000000000000000000000000000000000000000000000000000000000000000000000000110100001000110101010000100 -10110011110010010010110011001001111001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000001001001001111100000110110010010101000011010101110000001101011110000101011100000100100011100111110000101011010000101000101 -00100000000110000111000000000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000100101010010 -01011111110100000100110100101100010111000100011001001011001111110010000010000111110000001000011110010000100111000000000001111000 -00000010001101001110000000000000000000000000000000000000000000000000000000000000010001100010011100000000000000110001010101000101 -00001001000011001011000100100001010101110010110010001011000100111000000001111000000000110110000001001110000000000000000000000000 -00000000000000000000000000000000000001001010010000100000000000000001011111000110010011011100110011100010001110000101010000110001 -00110100010111000110001101000110100111000000000001111000000100100001000110100011000000000000000000000000000000000000000000000000 -00000000000000000000000000000010000110111101010111101100000111000000110001110111111000011001001100101001111100000010011010101101 -11000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011110111111111011 -11101010001010000110000111110100001111000000101000011000001111110100000100001111001111110100000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000010100011110111111001001111100110110111111111000011001100001011111 -11011111001001111011001111110111011000011000111010000010010011000100111110111111100011000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000001111110101111110000001111111110111100100010001011011101111111101110011111 -11010111001100010001001111111011100100011111111010000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000101000111110111001111110111111111100101100000111101000010100011111111000110000011110100010000111000010111 -01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100111001100000011 -10010001001110011000000111001000111000010000000000000000000000000000000000000000000000000000000001001000000010010010010110010100 -01001110000010000000000010001100001000111001010000000000000000000000011001010011011000000000000000000000000000000000000000000000 -00000000000000000100000000010000100100100000000000000001000011001101001110100011001011000100011000000000010001000000000100010100 -10010011101101000010100110000000010000010011000000000000000010000110011000000000000000000000000000000000001000001000100101010001 -00000100111010100100000000000010001010011101000110010011000100110010010100000000001000000000000000000000000000100110001001010000 -00000000000000000000000000000000000000000110000011000000110000011010010000001001000000010001100000100001000010000010000010010000 -00000000000000000010000011000100010100010010001100000000100111001001000000000000000000000000000000000000000000000000000100100100 -11010010000000010010000000000110000011000000110000101000000000000001000111000110101010000000100001000000000000000000000000000000 -00000000000000000000000000000000000000010001010010000001000010000000000100001000000100111100111000000000000100110100110010000100 -00000000000100111000000000000000000000000000000000000000000000000000010101000000010100101000000010011000000010011000000000111100 -00000000010001010001100000000000000001001110100110000110000110000000010001100000000000000000000000000000000000000000000000000000 -00001000011001110100001000001000010000000000100000000001000001000000000000000000000000100100000100001000000000000000000000001001 -10000000000000000000000000001000101110001000001001110000000100101010010100010010001001100111001100001000101111000000001000001001 -10100111111010000001000010001001101000011001111000001100100010110100010100000010011101000000001001110100110000100011010001011100 -00001111000001010011010011000011001010011000110100100000000000000000100011000000000000000000000000000100110010001000000010010010 -01111001101011000100010000100000100100110011001000011000100010000100011010010010010011011010011011001110100000100100100001010001 -01110000100010000000001000011000000100100000001000111001001000100100110001010011100101100100010110001000101001111101001010100111 -10011110000100000000000000000000000000000000000000000000000000000101100000100101100000100110100100100111000111001000000100101000 -10011011100000101001001001101000001000111001011001000100011010010001100011000000000100101010000100100001010001100100000000010001 -10110001100000011001010100111010000010001100000000000000000000000000000000000000000000000000000000001001010010001010000000010001 -01000100010010000100000010001100100110100001110010100110011110110100110001011010111110011100110000001100010010001001100000011101 -10000100010000001101000001100000100111111011000010000100101111010011010011100000000000000000000000000000000000000000000000000000 -00100110111000100000011001001000100101000100001010110101001010000100110001000011100001110001000010100001111000001010010110010000 -00000000010011010000001100111000001001011000101001001010111010111110100000100101001000001000001110010000100111000000000000000000 -00000000000000000000000000000000010000010000100001001010100111000010011101011010000001000111110010000101001011010110000111001000 -01001111000101110001100100111000000000000010011001000010100111011100100001001111110010000111100000011000011000010011010011010111 -01100000110000000000000000000000001011010000000000000000000000000000001000011001001110100000000100010100000100110000111000000110 -01101001101000111001100000100100100011111010000000100110011000010100110001010110000010100100000000000010010000100010111000010010 -01111001001000111001011100100001100100100110100100010001010000001001101001110000000000000000000000000000000000000000000000000000 -00110011000100000100011100100001000010010001110011000000000110001101011110000010010110101001000010010100000101110000000101111010 -00001110000010101110010000010001010001110000101001110101100100011110010011010001100000000000000000000000000000000000000000000000 -00000000010000010011100001000110100100000001001101001010000010000100101011100111000010001110000011101001010000000000000010111110 -01001110000010000100010111010000000100001001100100100110010001011100001000000010001100000100001000000000000000000000000000000000 -00000001011000000111010000010000110011000100100010001010010010001101001000010000001110100000100100010010011100010001001110011011 -00001100010100101000000000000100000100101110010000111000101100101101001001101000011001011100100100001001111000011110001100110001 -01010000010011000000000000000000001011010000000010101100000000000000000000001001010000010001010011100000110110000010010000000000 -10010111100000101101000010100001001000001110001000000000000000000010001110001010010100011100010001000100100111110001010001100101 -01010000010011010001100000000000000000000000000000000000000000000000000001000010010000010011010001001011111000110010011001000010 -10011001001100010001001001011001101000010100101010011001000111100100001100111000000000000100001110101001000101011100110001100010 -10010000111001000101001100000010010011110000000000000000000000000000000000000000000000000000000101100010010000010001000111000001 -01001000001000100000000101001010010110000101000011101110000100101010000011011000101000011000001001000000000000010011010010101011 -10010000110011001011111010110011110000001000110100010100011100111000000000000000000000000000000000000000000000000000000100000010 -00100101101010011010010011000010101000111001101000110000000010000010010111001000010010010010000000010011010001110001110001100000 -00000000100000001000101011000100001100101100000010010000000110010000100000000000000010010000101011000000000000000000000000000000 -01001110110001100001001110100100000100111010010001001010000010000010011010011110001101100100001100100111000100001001000010000110 -01011100001010000000000000100100000001001000110010010010010111010000101101100010100100100001100001111000000101100010100000000000 -00001001010000000000000000000000000000000000101101000100100010010010011010011010110010001111001000010000000000100010110100001000 -11000001101001011001110100110110100010010001011100010101001111001100000000000001111000000010001000100111101111100000110010010110 -01101000011001111011110110110100010111111010100010000000000000000000000000000000000000000000000000000000111010110001110011111101 -00010011011011101110010100010100010011001111001100100001101000000000100001010100010100001111110011101000011111111000011101100101 -11111101100000000000001101010101111100100001110011001001111111100111111011101111001111100111011111110101010000111011111110100000 -00000000000000000000000000000000000000000000000011101011001001001110010000111100110010101011001000101111001100101110111001100111 -10011001101010011111100001100010100110011001100000001000111111111011111111110111000101001111110011111110111110001111111111101000 -00100100111111011011111110111010100000000000001100010001111111101010010000011111111001111110111100100101000100111010100011011111 -11100100101000111100111110001100000000000000000000000000000000000000000000000000111010110001100110011111111000010001111001001111 -11100110010111011100100111111001100100011011000000111001001110111011000000011000001101100111111100011101110110110011011111111100 -01001111001011101111111100111100011000000000001000101100000011111111001101010000011110011011010000110011001011100010001000111100 -11001011101000100100000100111000000000000100110000000000000000000000000000000000000001110101100011000011111010001001101100100111 -10100010000111100100111010001001100010000111101110110000001001000110011111111110011001000011111101111101000010010111110111010101 -00011100010011001100000000000001111110011111111000001111111110001010001111111101011001100111001111001101100001111101000011000000 -11111001000000000000000000000000000000000000000000000000000000000100111001100010001011000011001111000110001001000011100001000000 -00001100000011100100110000110011110001000010000001000111111000000001001000000000000011000000111001000100111001000000010011100100 -00000100111000000000000000001001100000000000000000000000000000000000000000001001000000000001010010010010000000110010000101000010 -00010010100000100010010010001000010100000000010101000000100110000010110010010000000010010110010100000000000010000100000000000000 -00000000001000010000000000000000100001000001000011110000101010000110011110001110000111100001000000100001100110100001000110010101 -01101000011010010010001100100000010110001000101100001010100111011100000100000000000100011000110010001001001100000001001001001000 -01001111001100010011100000000000000000000000000000000000000010011010000010011100000111000010000010010101001111001110101001000100 -01100010001111010001000010010100110100010000100101100110100101111000010001001100000000000111000100000100011011110001000111000010 -10000010001110001100000000010000100000000000000000000000001000000000000000000001001000000001000000100111000100000010011100001000 -10100111001001111100010001010011100010000000100101100100011100000010100010100100000000000000010011011001011011000001101010010000 -00010011010011000000000000000000000000000000010011100000000000000100100010010110001011001001000010001010011101000000000100100101 -01110000000001100010100000101010010010110010100001001000000000000100001000000000010011110000010010100000000000000110011100000000 -00000000000010001100000000000000000000000000110000011011100001010100111001000010000001000100100001001000111000100100111001000011 -10100001010001110001100110010001000000000000000000010000100001100100010000000000000000000110011110000000000000000000100101000000 -00000000000000000101010100101010001010011110010000001001110010100101000000000001001100000001110100000100101001000111001110000010 -00110000010001000000000010001010010011100000101000110000000101010110000111100000000000000000000000000000000001001000000000000000 -00011001000011000011011010000010001000001000010000110001000110000110011000001000010100011000010011000001000010000000000010000100 -00000000000000000110011111000000000000000000000000000010000010010100000000010100100001000001001001110100000100001010101011001000 -11111000100011001000011000011001111001110010001010010000100001100010100000100101001100001010010110010000011010000011010100001000 -00001100000011001001110011010100101001111100011001101111100100011100000101001011100101010110101100011010010100100000011001000011 -11001001000000000110000111100000011001110001100011001000000000000000001000000000000010011111100010010100011000000000001000001001 -00100010100011100011110110000010000000100111001011000011011000001000010000101010011011100001000001111000000010011010011111001000 -10100000010001001100001100010000000100000100111000010011011011100000010010000100001010110010011000100111110100010011000010110000 -00000000011001111101110010000000000000000000000000001010100100010001001111001100000000000010001111110010001001011000100001110101 -00001000111000110001001101000111100010001001000111000000100100000110000101011100010000100100001100000011100111001001101000110100 -00001001010001011001000001001110010011110001010011011100010000001000011100000110100011100111000000110000111100000000000000000000 -00000000000001000011100001010100100000000000000100101100101011010000101101001001111000100001001011101000100010010111000011001001 -10010001100001000001001110100000100110010110010010111010000101100100100100110000010000101001001000000001001110010111000001110100 -00010010010111110000010000010011011000011000100010011011000001001100000000000000010000000000000000000000000000000000100010100111 -00000001010010000100000010010111000001101101010101101010010100110011010010011010010101110101000100100101001110001100010000101110 -00100010000110011111001000100010011100010010000001000100000010000101001111010101110010000011000110000010010110110101000001100101 -01000100010010011010011010000100100000000010001100101110000000000000000000000000100100000000000000000001001100000010111001110000 -10010111100100011001001001001111001011001011000111001111001011101011000010111101100011010110000011011100000010001011100000000100 -01100010000110011110100110010010010101101100100100111100111100110110010001010011010100110000110001100100110000000010010101010010 -00000000000000000000010011001000100000000000101101000101010100011001000100010011001101000010011000010100111100000010011110010010 -00111101001010001101000010100000011010000101001101001110010011011001000100001000100010101000100000100101100110010011010011000100 -11000000100011100100000100011100110000000000000000000000000000000000000000011011000000100101000000000000000100101010001010000011 -10001000010010110001010001111010000011001111001111001000100010100000100011010010010100110001010011101001001110100010101011110100 -10011101000001110110001010011101100000011000000010010110001101001011001001000011100101001100011010010101100001010101111110110000 -00110001001110001110110010110001001110110000101000000000010001010011101001100000000000000000000000000000000000000000010110110110 -00111000010111001010010100100100011100011011110010000010100111000011101001101001110011001010011010101001100001101001001110100001 -00000110001100000000001001001000011001011000011010101100100110100110010010110000111000110001001111001100001101000001101110110110 -00000010001000001100001111000000010011000100100000000000100011001001110010001100000000000000000000000010010101001101001101000110 -11001010010110100001010000101000011001010000100011000100001101110100111000100110100111100011100101000001000010010010001000110111 -10000001000011110000100100011001000001101000001110000011010111010001101001111000111110000101000000000000000000010101100000010010 -10100001000100101000000000000000000000000001010100100110001001011010101101101000111000001001110000101001000001001001001100001110 -00100010000110100110011101000011000101001001001100010010000010010001000011001010110100000101011001100100100100000001001100100001 -11001010100100111100010011010010010110110000010011001000000000000110100010000000000000000000000000000000000000000000010000100001 -00101000100001100000100100010011001100100100010001000011000110011000001001110100110001100010001101101100001001000100010000010010 -00010000110011101011010100000011100010000101111101110100010011100000101101000001100110101010010000001001000000001100001111000000 -00000000000000000000000000000001001100000000000001000010100100100000111000001001010100100101100000011010001010010010001000010100 -11110010110001010000000111000001011001001001000000110010011010100110101000010111100000100101100110010010101101100000110110011010 -01101001010011011000101001001001111001100010101110011010010000100000000000000000010011100000100110000000000000000000000100000111 -10010100000000000000010010101001101010100010010001010011100100001100011010010101000111000100100001000110000110111100100001000111 -00111100110110100100110010101000011001011000010010001100011010000011001011001000100001011000001101001000001001101110001000110011 -00011001011000011001010011010000011001110000000001001100010000111110010000100111000000000000000000000100000010010000000000000001 -00110100101101100000110001010010010011001010010100110100000100111100101110110011011100010001000010100000101011110001000110010110 -00010001000000000100000100001100101100110101001101011010001100000001000101001001000000100010010011010111100100011010011010100101 -00001000000000000000000110001100000000000000000000000000000000000000001001100010110011100100001100000011010011101011101001010100 -11000100000001001001000001000101110000001010010110111011000011001100010100101100111001000000000000010000000100001100100010110010 -00001000111001111001001100001100100001111000001010001101001100110110001011000011101001010000000001111000000000000000000000000000 -00001011010001111111001000000000000010101111111011100111111110011100010000101000111110111000101000011011111111111001100011011000 -11101000100110110101010110100001111101110111111011101010001111011100011000001111111010000000001010000011111100110101000101000011 -01111111110111111101100010001101000011111101111111000000010100010100001111110001101000011111110011010000000000000100111000000000 -00000000000000010001010110100010110010001100000000000001100010001101110111111110011100010001010101110111111111110111010010011011 -00000111110111110001110100001001001111110011101000100011010011111000101001111101110101000100011111011111110100011000101001101110 -11111110111011010101111011111000101000101010011111100111001001010001111111001010100010100010010001111111001100011111111010110011 -11001001110111111111111101110001111111100001101010101100100111111000011110111111010100000000000000000000000000000000000000100010 -11001111110001111010100000000000000100010100111110011001110111011000000110110000110011001100111111011100100100001000111110000011 -11001100111011101100100011110110011010001111101111111111000100101110011101110111100000110110111011111110111111001001111001100110 -11001101100001100110011001100001000110111110000010010001111111011101001111010000011110111110101000100111011001000111111011111011 -11111110111111110110001011010100011010001001001111111110111011111110001100000000000000000000000000000000000110011111100011110101 -00000000000000011011111111111001100100001111111110010010010110101111101111100001110111111111100110011001101111001100110011001110 -00011100110011110110011010110110100011110000001000011110011001111011101101101110111101000100001111101110011011011101001101100001 -11100011100110011001100111111000010000111100110011111111011100110010100001111111110100111011001100111010000110110011011110111010 -11111100111111101111100001101000101000101101000000000000010011000000000000000000000000011000000111011100000000000000000110000001 -11001001000111111000100001011111001110111000010000110001000101100001100111100010000110001100101100001100111100010000110000001110 -11100111000010000110001001110010000001001000011100001000010000000100111001000000010011100100001001110000100100111010010000000000 -01001100001001000000000000000000000000000000000000000000010000010010000000010010000000010001000100111000000010000000000000000000 -00000000010001010011100010000100000000000100111100110010000110011000000000000000000000000000000000000000000000000010010100011100 -00010100000110110000000100111000000100001001000111000110000000000000100001100111000010000110011100001000011001110000000000000000 -00110110000001000000000000000000000000000000000000000000000001000100000001001111001101010011000100100111100111000000000010011100 -10010100000000000000100111000001001110100010000100111100000100011000001000111001100000000100001100111000000000000000000000000000 -00000000000000000010011000000000001000111001000000100100000000011001001000000001011100000000100000000001000000001001110100000001 -00110000001001101001000000000100100000000000000000000000000000000000000000000010010000010101100001001111000011000010101011000000 -10011100010000000000000000000010000100000000000001000000000000000110011110000100001000000000000000000000000000000000100011000001 -00011000000010000010000100001000010000010000100000000000000000000000000000100001100111000010000110011100000000000110011110010011 -10100000100111000000000000000000000000010100100000010010100000000001001100001001110001000100111000001010000010011010001000100111 -00000001000011001010000000000000011000011000000010011100000100111011100000100000000110000111100001100000011100111000000000000000 -00000000000000000000000000100110000000001000000000000100100010011100001000100000010010000000000000000100001000010000000000100000 -01000010000000000110011111001001000000000000000001000100000000000101100000000000000000001100000110001001111001011100100001110100 -00101001100100001010000010001111010110000000000100001010001100000000000000000000000000100111000000000000110000111100000001100111 -10011000110011001110000100000000000000001001110000000000000000000000001110110000011001101000010000000100010100110000010001011010 -00001000011011001000010000010010100011010001001000000000000000000000000010011100100000000010001000000000011001111001001110000000 -00000010000110011100000000000010000100000000000000000100000000100100100010100010101110000010001100100011000001001000000100111000 -00000000000000001010010010000110100101010010000000000110000111100000000000000000000000000000001001000000000000000010010001000101 -00011001001010101111101011100111010000001100010001110100000110011110110101001111000100001000001011101101000001100110110101100000 -00011000000111011010000000000000100010000000000100111000000000000000000000000000000000000000000000000000000100010000011000010100 -01110001000010000010000010000101110000010100111110100100100010000110001000100000000010010000000000010010100000010000110010111001 -00101000000000001010110000000100001000000010111000000000000000000000000000000000000000000100111100001011010001000001001111001111 -10110010001001110001001111110001001100011100011100100100000010010000000100001000000000000000000111000010000000100010000000000000 -00000000001001011001110000000000000000000000000000000000000000010001001000100001100011000001101110010111000100101001001000100010 -01101001101001101110000100100111100000110000011011110010000101001000000000001001000000000010010100101001000100011010100100000000 -00000000001001111001000000000000000000000000000000000000000000000100100101011000011000010101000101001010001100101001100111110000 -00110000000000000000000000000001000011001101001111001110000011101000000000000000000000000011110010000100100000000000000000000000 -00000000000000000001001010101010000010000011000110011110010000001000000110001100011000011000100101000001001100000001001110000000 -00001000000010011000010011110001001001111000010101101100010010011101000000000011000011110000100101001000011001110100011000000000 -00000000011001001000000000000000000001001000001001110110010001010001110011100100001110110000110010111000110000010010010010000000 -00000000000000000000011101010001001111001100110000110000010011001100001100000000000000000000000010101001000011001110000000000000 -00000000000000000000100110010001000100111100010010000001110000010100110100100000010011010010001000101000000000000010010100000000 -00010001001000010001001001010011000110100110000100011010011001000100000000000000000000000010011000000000000000000010101000000000 -00000000010011010000010000100100010101010110000101001100010001100100011001010011000001001111000000000010001110010010011100010110 -10000000000000000111001000010000010001101001000100101100111101010100111100100010010110011100000011000011110000000011111000000010 -00110101101000000000000000100111000011011010000000000000010010100000100001101001101111011000000111001100101100111001000000001010 -01001000000010010100100000100101011000110100000000010011100000010010100010011100010001001001110001000100100111000000000000100111 -00100100000000000000000010001000001000110000000000000100111001000000000000010010111001000011100100100000010101110011110001110010 -11000111100100100000100011001001011001100000000000000001001100110000110010000111001000101001001001100100011000100110000000000000 -00100101001100100100000000000000000000000010011100000000000100100000001000001000101000000010010001000001100010001001100010101001 -00011100010100111011011011001001110001100000111011000100010100100100011000010000100000001000100100011010011010000110001001000110 -10011001000101000101110001000000101011000000000000110001100000001110100000000000000000000000001000110000000000010001000001001100 -10010110001100001010100100111111000000100110010100111010000011001011001010010001000001011101000101001010100101000000000000100111 -10011100100101100111100101100110100100010010101000010100100010010100000000000000001110010000000000000000000000000000000000000000 -00000011110011100011111100110010010111101111110110100111111001101110111111011110101101010000010100001000011010000000100001110000 -11000000000000000001111111100100100110111111111111111101101001001111011111111111111011110010010110111111111111111101101001001111 -01111111111111101111001001011011111111111111110101001000000000000000000000000000000000000001111110000000000000000000001111001111 -01001001010000001110111111100100100110110011011110001110100010101101111011111110000110011000011101010000110001010011110011000000 -10010001110001000100011000000000000011111111001001001101111100110011111011000011011110111100110011110111101100001101111100110011 -11101100001101111011110011001111011110110000110111110011001111101000110000000000000000000000000000000000000000000000000000000111 -01110110011001100110011101100011101000100011110111111010001000101101000001110101010111000101000111111011110001010100001001001111 -00100000001001001010001110001001000000000000001111111110100100111111111011001111101100001101111011110011001111011110110000110111 -11001100111110110000110111101111001100111101111011000011011111001100111111100011000000000000000000000000000000000001111110000000 -00000000000000111011111100100100001110100000111100010001101100110110100011001101010101110101000110000111100110011111110111000100 -00111110011000000100001011100010010000000000000010100010000111001111111111111110110100000111101111111111111101111000001011011111 -11111111111011010000011110111111111111110111100000101101111111101000000000000000001111010000000000000000000000000001000000000000 -00000000001000000000010000000100111001000010010011100110000001110010001100000111000001010110000000000000000011100001001101101000 -10000011110100111001001000111111000100110110100010000011110100111001001000111111000100110110100010000011110100000000000000000000 -00000000000000000000000000000000011001000011000101110000100000000000100101100000000000000000000000000000100010100111000000000000 -00000000000000001010010000100110001001110000000000000000000000000000000000100001001000000000000010000101101010010100001100111000 -00100111000000000010001110001100000100011000000000000000010001010011100000000000000000000011011000000000000000000000000000000000 -00000000001000100100111100111000000000100000100010000001000010000000000010010100000000000000000000000100000000000000001001101110 -00100000001110010000010000000000000000000000000000000000000000100000100101100001100001000000001000001001011000010100111000000000 -00000000100101000001001010000000000000000100010000000000001011111001100000000000000000000000000000000000000000000100101000000110 -00001100000100101000000000000000000001001000000000000000000000000000000000000000011001111000001001110000000000000000000000100001 -00000000000100001000000001001110010000110001000000000000000000000000000000000000000000010001000000000000000000000110011110010011 -10000000000000000000000000010011100000000000000000010000000000000000000000000000001001010000000000000000000000000000000000001100 -00111100010000110011101000001000101001110000000000000000000000000000000001000001100100100100111000000000100000110010000100000000 -00000000000000000000000000000000000100111000000000000000011001111000000000000000000001001000000000000000000000100010000000000010 -00110100010010100100000000000000000000000000000000000000000000000000000001100001111000000110011110011000100010000000000000000000 -00001000000000000000000100000101001010100100000010000110011101001010010001100000000000000000000000000000000000000000001001100000 -00000000011001111000000000000000000000000000000000000000001000100100111000000000100011010001100000000000000000000000000000000000 -00000000000000000000110000111100000000000000000000001001100000000000000000000010010001001010000000001001010100111100101000000000 -00000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000000000000100111101101000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001110000000010001 -10000000000000000000000000000100010000000000000000000000000000000000000000000000000000000000000111001000000000000000100100000000 -00001001010000010011100000000000000000000001000000000000000000000000000000100111000000000000000000000000000000000000000000000000 -01000010000010101100000000100001000000101101000000000000000000000000000000000000000000000011110010000000000100000000000000000000 -00000000000000000000000000000100001100100000000000000000000000000000000000000000000000000000000110000111100000000010010000000000 -00000000000000000000000000000000000000000000000000100010000100001100110000000000000000000000000000000100010000000000000000000000 -00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000 -00000000001000100000000000000000000000000000000000000000000001001100000010011100000101101000000000000000000000000000000000000000 -00011000011110000011110000000010010000000000000000000000001000111000110000000000010001101010010000001000001001100100011010110100 -00000010000000000000000000000000000000000000000000000000000000000010011100100010011100110000000000000000000000001001000000000001 -00101000000000000101110101110000000000000000000000000000000000000010001000000000000100010000000000000000000000000000000000000000 -00001001011000110000000010000000110010010000000000100001100100010001101001000000000000000000000000000000000000010000000000000000 -10000000000000000010010000110010010001001110000000000000000000001001000000000000010010101110010000000000000001001110000000010001 -00000000000001010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000 -00000001000010000000000000000100001000001000010000000000010000100000100001000000000000000001000010000011001100100000010000100000 -00000010000100000100001000001000010000000000000000010000100000110011001000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000111000010011100 -01000101001100101100001000000100000111000010011100010001010011001011000010000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000010011000000000001110011010111110100100100010000000011100110101111101001001000100000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000010000011100000101000000000000001000001110000010111010 -00011001100000000010000011100000101110100001100110000000000000000000000100111000000000000000000000000000000000000000000000000000 -00000000001000000100111100100000000001000001000101110000001101101000000001000001000101110000001101101000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000001000001101010001100110000000011000001101100011000100000111111100111 -11100000000000011000001101100011000100000111111100111111000000000000000000000000001000101100010100000000000000000000000000000000 -00000000000000000000000000000000000001000001101010001100110000000011000001101100011000100000111111100111111000000000000110000011 -01100011000100000111111100111111000000000000000000000000100001100011011100010001001110000000000000000000000000000000000000000000 -00000100111000000000000000001001110000000000000001000001101010001100110000011101010001110100000000100000111111100111111000000000 -00000000011000001101100011000100000111001100110011100000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000111010100011101000000001000001111111001111110000001000011000111000001111011001111100000000000000000001100000110110001100 -01000001110011001100111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001110000 -00000000100011010011110001101001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000001001110001000110010 -00110100111100011010011110001101001111001001001110000000000010000010001110010011100000011000111001001001110000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000100110100111000000000001000011000110111000010010001 -11001101001110000000001001010000000000000001110001010000000000001001000001111110111111111111111111111111111111111111111111111111 -11111111111111111100001010000000000000000000000000000000000000000000000000000000001010101010011100100010000000000000000000000000 -01000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111101011110000000000000000000000000 -11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 -* -NOTE END CONFIG DATA* -L48128 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -* -NOTE TAG DATA* -L171648 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -* -C5C3C* -NOTE FEATURE_ROW* -E0000000000000000000000000000000000000000000000000000000000000000 -0000010001100000* -NOTE User Electronic Signature Data* -UH00000000* -FF27 +* +NOTE Diamond (64-bit) 3.12.1.454 JEDEC Compatible Fuse File.* +NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation.* +NOTE All Rights Reserved.* +NOTE DATE CREATED: Sat Aug 19 21:55:24 2023* +NOTE DESIGN NAME: LCMXO2_640HC_impl1.ncd* +NOTE DEVICE NAME: LCMXO2-640HC-4TQFP100* +NOTE JEDEC FILE STATUS: Final Version 1.95* +NOTE PIN ASSIGNMENTS* +NOTE PINS RD[0] : 36 : inout* +NOTE PINS Dout[0] : 76 : out* +NOTE PINS PHI2 : 8 : in* +NOTE PINS RDQML : 48 : out* +NOTE PINS RDQMH : 51 : out* +NOTE PINS nRCAS : 52 : out* +NOTE PINS nRRAS : 54 : out* +NOTE PINS nRWE : 49 : out* +NOTE PINS RCKE : 53 : out* +NOTE PINS RCLK : 62 : in* +NOTE PINS nRCS : 57 : out* +NOTE PINS RD[7] : 43 : inout* +NOTE PINS RD[6] : 42 : inout* +NOTE PINS RD[5] : 41 : inout* +NOTE PINS RD[4] : 40 : inout* +NOTE PINS RD[3] : 39 : inout* +NOTE PINS RD[2] : 38 : inout* +NOTE PINS RD[1] : 37 : inout* +NOTE PINS RA[11] : 59 : out* +NOTE PINS RA[10] : 64 : out* +NOTE PINS RA[9] : 63 : out* +NOTE PINS RA[8] : 65 : out* +NOTE PINS RA[7] : 75 : out* +NOTE PINS RA[6] : 68 : out* +NOTE PINS RA[5] : 70 : out* +NOTE PINS RA[4] : 74 : out* +NOTE PINS RA[3] : 71 : out* +NOTE PINS RA[2] : 69 : out* +NOTE PINS RA[1] : 67 : out* +NOTE PINS RA[0] : 66 : out* +NOTE PINS RBA[1] : 60 : out* +NOTE PINS RBA[0] : 58 : out* +NOTE PINS LED : 34 : out* +NOTE PINS nFWE : 15 : in* +NOTE PINS nCRAS : 17 : in* +NOTE PINS nCCAS : 9 : in* +NOTE PINS Dout[7] : 82 : out* +NOTE PINS Dout[6] : 78 : out* +NOTE PINS Dout[5] : 84 : out* +NOTE PINS Dout[4] : 83 : out* +NOTE PINS Dout[3] : 85 : out* +NOTE PINS Dout[2] : 87 : out* +NOTE PINS Dout[1] : 86 : out* +NOTE PINS Din[7] : 1 : in* +NOTE PINS Din[6] : 2 : in* +NOTE PINS Din[5] : 98 : in* +NOTE PINS Din[4] : 99 : in* +NOTE PINS Din[3] : 97 : in* +NOTE PINS Din[2] : 88 : in* +NOTE PINS Din[1] : 96 : in* +NOTE PINS Din[0] : 3 : in* +NOTE PINS CROW[1] : 16 : in* +NOTE PINS CROW[0] : 10 : in* +NOTE PINS MAin[9] : 32 : in* +NOTE PINS MAin[8] : 25 : in* +NOTE PINS MAin[7] : 18 : in* +NOTE PINS MAin[6] : 24 : in* +NOTE PINS MAin[5] : 19 : in* +NOTE PINS MAin[4] : 20 : in* +NOTE PINS MAin[3] : 21 : in* +NOTE PINS MAin[2] : 13 : in* +NOTE PINS MAin[1] : 12 : in* +NOTE PINS MAin[0] : 14 : in* +QP100* +QF171904* +G0* +F0* +L000000 +11111111111111111011110110110011111111111111111100111011000000000000000000000000000000100000000000000000000000000000011000101000 +00001001100100000101000000000101010010001111111101000110000000000000000000000000101110001110000000000000110101110000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00010001000000000000000000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00010010000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000010001100000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011000 +01000111000100000100011110001010000000000000000000000000000000000100101001010100100111000000000000000000000000000000000000000000 +00000000000000000000000100101000000010101100000000000000000001000010000000000000000000010010100001000100000000000000000000000000 +00000000000000000000000000000000000000000000100110100110001000011001011001101001000100100000000000000010001100000000010000100000 +01001000010010000000000000000000000000000000000000000000000000000000000000000001000100000000101011000100011010011000000000000000 +00000000010000000000010101100001001000001001010000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000100001100001101011001000111000010100111000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000001001001010100000100001100011000000100101000000000000000000000000000000000000000000000000 +00000010101000000000000000000000000000000000000000000000110000001100001001110001001100100010000000010001100000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000001010010000000001001100000000000000000000000000000000 +00000000000000000000000000000000000101011000001001000000000000000000000000000000001000010000110010000100000001000011000001001100 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000010010100100001000000000001000010000100001000 +00100111100011000000000000000000000000000000000000000000000000001010100001010110000000101010000101011100110000000000000000000000 +00010010100000000100000011001001000010001000000100100000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000010010000100000001001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000001010010100010011000000110001000110000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000001011111001110000000000000010000001110000010010010001001100000000000000000000000000000000000000000 +00000000000000000000000000000000100000000000000000000000000001000000000000110011001000011001100000100011010011111001000011000001 +00101000010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010110010000000000000010011 +10001010111001101001010000000010010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100000000000100000000000 +00001001100000000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00001000011001100000000000000100111110011000000000000000000000000000000000000000000000000000000000000000000000010001100000000000 +10001100000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000 +00000000000000000100000010000110111100000000000000000100001000000000000000000000000000000000000000000000000000000000000000000000 +00000000000100110000000000000000001001100111000000100000000000001000101001101110000100001111000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000010000110011000000000000001100110000001100001010000000010010000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101000000000000000000100000000000000000001001111000010101 +01010010000010011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010100010000000 +00100100100011100101101001000000001100010100010010100000011001000011101011000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000010000010000000001001010001011110100010000010110100001000011001110000100001100110011000100101000000 +00100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001111110001000100111000000001001 +01100111000001001100101001110100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001 +01000010000010001100000000010101010111110010000010000000000000000000000000000000000000000000000000000000000000000000010011000000 +00000000000000000000000000000100100100011001000110010001100001100010100000000000000000000110011110000000000000000000000000000000 +00000000000000000000000000000000000000000000000000001000101100001100000101111000100110001011010000100001111000010010001100000000 +00000000011001111000000000000000000000000000000000000000000000000000010000100000100001000000000000000000000000010011100001001110 +00001000000000100101100111100110000010011000011010001110000000000000000000000000000000000000000000000000000000000001001010000000 +00000000000000001000000100111000100001000000000010101010000100001000000000101011011001111000000000000000000000000000000000000000 +00000000000000000000000000000000000001001100000001000111000111001111010011001101100010010110100001011010110101001110001011111110 +00000110011001101010010010000110110110100100000001100100111000000110011110010010000000000000000000000000000000000000000000000000 +00000000000000000000000000100011000010010001001001100100010001100010010100000100010010010100010011010001110101010000000000100000 +00000000011001111000000000000000000000000000001001110000000000000000000000000000000000000000000000000000010001110000000011001001 +00110001000101011000001000111000011110001010001010011101000001100001100010100111000000110001011100000000000000000000000000001000 +10000000000000000000000000000000000000000000000000011000010100010011101100010010100100111011000001000101000001000101100100010000 +01101000010101001100101100111110110000101000101101110000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000010011101000100000000111000001010011111011000001101001010100101010000101101000010100000010001110010010001110010110 +00011001111001111000010100110100101000000000000000000000000000000000000000000000000000001010100000000000010101000000000000000000 +10001000010011100100110000001011111001101110001000010010111001100111000101011001001111001010010000001001010110100000101011110000 +00001100000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000110000010011001000010110 +10000010010001111110000001010111000111101011001000010011010010110001010011100000100000000000000000000000000000000000000000000000 +00000000000000000000000000000000000001000110001001000100011100100001001011100000011100011110011001011010110001001011001011001100 +01101100100010010101011010101100000000010011100000100111000000000000000000000000000000000000000000000000000000000000000000000000 +01000111000110000011001000011100001100100110000010000110011011100110001000110100001100001001000100101110100001100110000000100000 +11000001110000000000000000000000010011100000000000000000000000000000000000000000000000000000000000000100111001000111000001001001 +00001110001100101100100110100100110001100011001000010100110100011101100111001110000001001111001000000000000000000000000000000010 +00110100001000000000000000000000000000000000000000000000000000000000001001010010000100010001011100000010000100100110010101010000 +10010011111001000101000010100111100010010010101000101001110000000000000000000000000000100110000000000000000000000000000000000000 +00000000000000000000000000110011100000000110100000110011100001011111001011001111001101001101000110110010010010011100010111110010 +00000000011000001110000000000000000000000000000000000000000000000000001001010000000000000000000010001010011100000000010110100100 +10110001011110010101110001000010010110111010001011010010011011011001101000110010001101001101001110010011010010110011001000110000 +01111000000000000000010001101001110000000000000000000000000000000000000000000000000000000000000000000000001100001010000111000001 +01110100011000010010101001011001101000011100110001000100001010111100000000010011000000000000011000110000101001000000000000000000 +00000000000000000000000001011010000010110100000000000000000000001001100001000000100100100001100000110100000101100010100111000100 +00100000011011000001100011101010001010100110011010010111000011001001110100111000000000000010010000100110010001100000000000000000 +00000000000000000000010010000000000000000000000000000000001100010010000011001010101001001110100000010011101000111100100101010010 +11001100101010011100001000001011010101001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00010100000000110111011111011101000111100111111101110110101010101000100001110001001110100001100001111101000010100010100001111001 +11110100010000110100011110101001001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000011010 +10101000001111111110010010011111101111111011101110000110010000011111100101001000111111101110001110100011111111101001001111101111 +11111101111100001100110000001111111100001100110000111001100111110111011000110000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000110111111100000111011111111111111100110111011111100011001000100101000100100100000111001100001 +11100111111110111010100000010001011000000111111001010110011000011001100111011001000110000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000001010000000011111111011111111110011001100101111001000011010001111110111111100001101101 +11100110000111100111110100001110011001111101000001111001111111100101010000110100011111101101001100000000000000000000000000000000 +00000000000000000000000000000000000000000000000000100000000001000000010011100110000001110010001110000100001000000010011100110000 +00111001001000111111000100001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000100010001000011001010010000010010000000000000001001000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000001110000100100101010010001000111110000100000000000010000100000000010011000000000000000000000000000000000 +00000000000000000000000000000000000001000100000000000000001001010100110100000001001101000101001111010100000000001001110100011100 +11000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000100000100001000010000001001 +11000000000000100110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000010010000000110011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000100000110 +00010111000110000000000000000000011001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000100000100110000000000000010010111000011100000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000100000000000000000000000000000001100111100010010100000000000000000000000000000000000000000000000000000000000000 +00000001000100000000000000100100110010001010000101010110110000101010011111000110100100011000000001010110000110010110000001100111 +10010010000000000000000000000000000000000000000000000000000000000000001100110000001000000010010000010011100000000000010001011001 +10001100110110001001000001001001011111001111000000000000000000000110011110001001100000000000000000000000000000100011000000000000 +00000000000000000000000000000000000000000010100101000111110000001000010000110010110001010011100000000000011000111100000000000000 +00000000000000000000000010011000000000000000000000000000000000001000100010011000000000000000001000001011001000011110000100110110 +00000100111010001011100001011011000010111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000101001100110100011001000110110001001010100100000000000001000100000000000000000000000000000000000000000000000000 +00001001000000000000000000000011000000110000000000010000001001001010100101010111000110001011001001110100010000000000000011000000 +11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001100100001010011110000110011010001 +11001101001111000110010000011100011010000000000001000000000000000000000000000000000000000000000000000000000010011000000000000000 +00000000000000010010100001110100000100000101010100000000100110110010101010011000000000000000000000100111000000000000000000000000 +00000000000000000000000000000000000000000000001000100000000001001110010000010010101100100100110010001010011010011000110100101010 +00110000000000000011000011100000000000000000000000001000110000000000000000000000000000000000000000000000000000010011101000110000 +01000010000001000010110001010000100011100100110010001010011000000100010010110100000000000000000000000000000010010100000000000000 +00000000000000000000000000000000000000000100101000000000000100011110011000111100010010010010110001000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000011010000101001000100011001000011100100101100101 +00000010011100000011000011100000000000010011000000000000000000000000000000000000000000000000000000000000000000000000000100001000 +10000011001000011100001010110010100111010010101001101010011000000110000101011000110101000010000000000000000000000111100000000010 +11100100101000000000000000000000000000000000000000000000000000000000001100000011000000000000001000000000010011010010101000100100 +10101001010100110000000000000000011110000000001100011000010011000000000000000000000000000000000000000000000000000000000000000000 +00000000000001001111000101100010001001001001101000001100010011010000101001011001000000000000000001111000000100100000010001100000 +00000000000000000000000000000000000000000000000000000000000000000000000010000100100110101101110011000111010100011001000010001011 +10000001010011100001000011001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 +01000101000010100011110000001001101111111010110001000101010001011001001100000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000110111111111111011101001001111110110100111100011101000111100110010010011111101111 +00111100011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011011111111111001 +00001100011001111101000010001111010011111111111110010000011110100001000110000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000111110111111111110100110011111111110111011001101010001111111110011000100011111010 +00010011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001001110011 +00010001001001110010010000000000000000000000000000000000000000000000000000000000000000000000000000011000101001001011001000001001 +00010010010001010011101000001001010001000100100010000010110111001010010010000100010000000000000000000000000000000000000000000000 +00000000001000110000000000010001100000000000000000000100000000000000010000101001010000100000011110000000011001000101000111000110 +00011100010011110000100100001000000000000001000001001100010101100000100001100110000000000000000000000000000000000000000000000000 +00001000000010011000100000010001011110000001000100011100000101001011101000100100111010010111010001000100101000100111100110000100 +01001011010000000000000000100100000000000000000000000000000000000010010100000000000100101000000000000000000000100100000010111110 +11100010011100100110100100001000000011000110000010001010000110001000011100100010000000000000000001001110000000000000000000000000 +00000000000000000000000000000000000000000001001110000011000011100100001000010010010100100100010011001100000000000001000000100111 +00000000000000000000000000000000000000000000000001000110000000000010001110001100000000000100011000000000000010000110011000001000 +01000001100100010100010000000000001001000000000000000000000000000000000000000000000000000100101000000000001001100000000000000000 +00000000101001000001001110010011101010010010111011110000000000010001100000100011000001000110000000000000000000000000000000000000 +00000000000000000000001001010000000000010011000000000100100000001000010000001001100001000001000011010110000100001000001100001010 +00000100001000000000000000000000000000010000100000000000000000000000000000000000000000000000000101001110100011010101000001101101 +00010111111100010000001100010001110100010110011010011100100000100111000010001000100111101010010001110000110011110011110001101000 +11000000000100010000000000000001000011001110000000000000000000000000000000000000000000100011000100000000100111100000110011000000 +01000100101101100110110011000010001101001001000000001001111101000001100000000100001100010011001000011001101001101001111100100100 +01001110100110001000000000000000000000000000000100000000000000000000000001010110000000000000000000000000000001010101001101001110 +00100010010010110010100111100000010101010000110010100100111100000110010001010111000110010010001100001010100111001100001010110001 +10011000010000000000000100001000000000000000000000000000000000000000000000000000000000000000100110000000100101011000101000000100 +00010011001000111000011100001010100101101100100100010001010000110001111101000000001100100001101011100111011000011001000111001100 +11101000001001110011000101000110000001111001100000000000000000000000000000000000000000000000000000000000100110000000000000000010 +01101000011100100001101111100010100111010000110000010010110011000100100100101001001101001000100000100111000110001001001000110000 +10001110101101001010100110011000010101010110000000010001100000000000000000000000000000000000000000000000100011001000000000000000 +00010010010000000010001110110011100000011000100100000010011010010101011010010011000010100100100101110100011010000110110101001000 +10010010111111100001000010101101001110000000000000000000000000000000000000000000000000000000000000000000000000000101100010001010 +01101000111001101001110110011000110011111011100100010001010001010010001100011000100110010011101001100010000010010111100000011101 +00001001000111000101000110100101100100010001100000000000100101000000000000000000000000000000000000000000000000000001000100000000 +00000000001001110110001001001000101011010010010110000001000000100101100101100001001001011100110000001011011100110000001001111110 +00000111000100011000001110001001001010101000001100010001111010000000000100001100111000000000000000000000000000000000000000000000 +00000000000010100100000100111000000010010010111110010111101000010001100001010110010010011100010000000100011100000100001010000010 +01010100110010010101000101010100100101010011010000111000100101000010000000000000000000000100001000000000000000000000000000000000 +00000000000000000100100000001001011011000110010001000011111000001000000100011100101011000101001000011000011000011001011001000100 +11111001101000001000010010001110000110010010100110011100100001001110000101100111000000000000000000001001000010000000000101010000 +00000000000000000000000000000000000000000100010110010101010010000010000110110111001001101001011001010011100010000000100101100001 +00010101101101100000100111100011100100001000001001101000111001011001110010001110010000000000000000000000000010010100100001000000 +00000000000000000000000000000000000100010001001100000000110100000110011100000100110100001010001010011011000100100010010110001010 +00110100111111101000100101010100101100111110100000110101101100011000011100000011001001010110100000100001101100000000000000000000 +00001001010000000000000000000000000000000000000000000000000000001000110010111001001001100001010101011101010100000100101101011110 +10010100100101100110000010100101001010100000111001001000001000110001000000000000000000000000000000000000000000000000000000000000 +00000000000000000010001100000000110001000110011000001001001000000000100100010011100001001010010011110011010001001101000100100101 +00110011000001101000100000100100000000000000000000001001000000000000000000000000000000000000000000000001001010000000010010100100 +00110010010010111001000011000100100001000100111100101100100001000000000100011110110010010011110000010010010010101000101100100100 +11000110001001100000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000100010110010000100 +10011001010101001011001100000101101000010000001110011000100000011000000111000001000011110000001100100100100010001100000000000000 +00000000000000000000000000000000000000000000000000000000000000000011111101010110000111111111110011001101010001111111011011011101 +11111101110110011011111100000010100010100001010001111111100001111110011011111110111010100111111111011011001100111100000011000100 +01011111101111111001100001010000111011011100000000000000000000000000000000000000000000000000000000000000000000000000000010001011 +00001111111010000010010011001100111111111001101110110111111110100010010011000100011111011101110010111010100001001001111011111111 +11110111000111010001100001100001100000011101110101000101010100100101000101000100011011000100011001001010000001111001100100100111 +01101110000000000000000000000000000000000000000000000000000000000000000000000000100010110011001111101010100110011001111111111001 +10000110011101011101010000111011111111110111011100001110110011001101001001100110000101000100010101011111000100010010101110011100 +10001111001100111110111110100100110000001111111111010110100010011111111010101000111111100110001101101111101011101111110000000000 +00000000000000000000000000000000000000000000000000000000000000000101000111100110001110011001111111110010011011101011111111111101 +01010001111011101100110110000111101000011100111011110111111101101011111111101110100111001110010011010100010100010000111111100111 +11101111001001101111111110011110011111100110001100110010100001010000000000000000000000000000000000000000000000000000000000000000 +00000000000000001100000011110011000001001110011000100111100110000010011100110001001110010001000100011000000111001001100001100111 +10000000011000100010011100001000010000000100111000001001110000000000000000000000000100010000000000000000000000000001000000000101 +10010010100000011001000011001001000100000000001001011001011001010010010100000100100000100101010011110001000001011100000100000101 +11000010011101100101010100000010000100000000000000010010110010100100110001110000010000000000000000000000000000000010010000010000 +11001110110001001000111000001000001000011110000010100111010010010010000111000010011000110001000011110001000001000010000101111101 +00101000001000110110100101010011001000111000110001001010001000011001110100001001000111001111001010000000000001001001001000000000 +00100110001001110000000000000000000000000000100000000001000101001110010011000100111000001001110100110100010100111001001110100110 +10001101001101001110000100110100111000101001100110010010100001001110000100111011100001010010011000000000000000100011100011000000 +00000000000000000000000000000010001000001001000000110010000100000000000100000001001000100011100000100001000100110100000100001000 +01000000100011010010101000000001001010010001100010000110000000000111000000101001010000000000001001101001100000000000000000000000 +00000000000001000001001010000000001001010000000000000100010001010010100100000001000001001010100001010001010111101001000000100111 +01001110000000010000001000100001011010000000000000000000011001110000000000000000000000000000001000110000000010001101011111110000 +10000000000000100000101001100111001000011000000000100001100110000001000100000110000101010011010010100001000010000100001000100111 +00100011000000000000000001100111100000000000000000000000000000010010100000010100100010011110011100000100111000010000110011100101 +00110000011100000100000001000110000100110010011000100110100110010000100000101010000111000100001101000101000000000000000000011000 +01111000000000000000000000000000000000000000001001010100000100001100011000001000110000010010000000000001000110001001111100010001 +10000100001000001000111001010010101101000010000011000010100100100000100001000000000000000000000001100111110000000000000000100111 +00000000000100010010011101000010010000111001100000001011011000011001001110101000100001100100010111110001011101000001000011001111 +00000100001001001001101010100010001000001000001001010011100000101110000010100010010001110111001001010011101000001011100010001111 +00010010010010101000101100011010011010000100100010010000001001100000000000000110000111100110011100011000110011000100000000000001 +00010000000000000100101011000101000000010011101101000100011011000000010000010010001011010100110110001000100110001100010001010011 +01000000011011001001000000100011110001001001000101100100001100101100000001001001100100010100110100011000101101010000010010010101 +00100111010001110010101001101011011000110001001100010000000000000000000001100111110101100000000000000000000000000001000110100111 +10011100010010010011110100101000011110001000101001100001101110110100001010010110010111011100011001000000100110100100000100011100 +01000001000000000110000001111101000010100010100101010000100100011101110001100010010011100010001001000100000100011100110101100010 +00110100000011101000000000000000000110000111100000010000000000000000000000000000001100100010100110100100010000000110001000100110 +00100010100000100110100111000100000010110000011000101101101000101101100010011101001111000010100101111000010001100111000100010100 +11001001010100010100010010011101011011100100110110100100110011101001110110001010011000010100100101100101010000110011010000001000 +00100111100011111100000010001100000000000011001100000000010000000000000000000000000000000000000010001010111100100001011000110010 +10001101000000011001010101101000101011001000100010111111011000000100100010000001001101001011000010011010000100001100010010110001 +00101000011001110100001111000000110010100101110010000101100010010100100010101001100011000100011100110101110001000001001111000110 +00000000000010001100000000110011000010011000000000000000000000000000000000000100100001100001010111000100010011110001101110010110 +01000110001010101110000100010011111100010000011000011011000110101011011010001000100111001001011000101010011000110001000111001001 +00011010001010011011010001010100110011000100011001101001101001111001010000011100010000000000010011000000001001010101001000101110 +00000000000000000000000000110011000010001000100110011000100101001101001101000110111000010001001011001100110010000110011110000111 +01000001111000100001000011001101000101001100100100101110100011100101100011100111010000011010001010110001000111010101001011100100 +00110001100010000110000010001111110100001001000101110100010010000100000110001000110011010011000000000000000000000001001000000000 +00000000000000000000000010001110000000110110000101000101001101000101001011000010110001010111000100011000110100010010010001000100 +01001001100100010110100000110100101100010001111010000011000010101011011100110000010001011000100010010000000011010000101101000001 +10011100100011110001000110000010011100101101110000101001110100000000000100100000000010001100000001000101001110000000000000000000 +00000000000100111011001001000000010001010001011010001011100101001010010010000010010010110100010011011000010100100111100101110101 +01000010101010010110010001101000010100001100110010000101100001010111000100101001000000000010001111001001100100000010000011000010 +10101111000100111010000011011000000000000001000000001100001111000100110000001000011001110010011100000100111000001001110000100010 +10011111000010100000010000100001001101000001000110100101010100111001000011110100000000101111101110110010001001001100011100010101 +01100100001100101100111101001110000110011000011001000111000101001101101100000100111111001100001110100000100111100010110010010010 +00110100100011001000010100111100110110010001001001100100010010001100101100100101100011000000000000000000000000000000000000000000 +00001000000100000001001000100011000001000111001111010110100111100101100101100110111000001000011010001100100110010101101000100011 +01011000100010100111100001110010001010110011101000001000000001001100100010010000001001100100110001000101000111001000011000010101 +11101000001001110010000111000010101001101001010000000000000000000110100010000000000100001000001000010000010001000000100010010001 +10000100110100100000011000100100001001100101101000000111000000100001110100010110000101010101100010001110011100100100100011101010 +10101001001100101010100110100000000011001001001000001101100000010010010001010011010000010110000000000000000001001110011000011110 +00000001001100000000000000000000100011100111000100001001000001001110000100011010011011001010010100100100110100101100010111010001 +01100001010100100100100100101110110000011100000101001011000011001011100010001100100010010101100101001110010001000001001001100100 +10010010100000100110101110001010011110000010100101010010001101000001100000100110000110110000110010110011100000000000000001001110 +00000000000000000000000100000001000001001100000100100001000011001000110110000010011110010101001010101010100101010010001001011100 +00101010010100100111010011100000011001001001000110001010101100100001101001011101000000100110111000011010001100111100001010000110 +01011001110100100100110111100010010010101000000010001110010100000000000000000000010011000100100100100011010110000000000000000000 +00000100100000100100010001110011100100100010001101001000010010111010000010001001001000011111000101100010111010001010011001100000 +01110001011000100100110100100101000101011100100110010101001101000101000001000110100110010001010001110000010110100010011110110110 +01101100100100111100100000100000010010000000000000000000000010010110001100000000000000000000010011001011111001100000100001001000 +00001000010100111100000100110010001111000010101010110000100000010010010010100010011001100010010100000100001110001000100000110000 +10101001100001000011010101001010001001111000111011001000010110000110001001001110100000010011001000100101100000000000000000000000 +01111000000000000000000000000000000000011100010001100100010011000011110100001101100111101110110011011001111110011110111111111110 +00001111001111001010001001110111100000011111101110101000111001001101111110101101000011101111111010001001101010001111101110011001 +11011101100011110111111111111010010100010100001111101111101000010100010100001100110011001010001110011001010100011101110110101000 +11001100010011001111110110110011011111101110000000000000000000000100111000000000000000000000000000100100111000100011001000101000 +11110011001101100010100101100111101110111001011001111000000110000001110010010100001000111111110000100110011011111111001111000110 +11111101110111111011111100111111000111111110101111100111111011100001110111111101000100011110111111111101010101001001100110011101 +10010111011011101011111111011110001010011111110111111011101101110101000101000110001010010100011001100111011101101010011100011100 +10011101111111010001000111101111111111011101101110111011110011001110001101010001001000101000000000000000000000000000000000000000 +00000000000000111000100011100111000110011001101001001100001111111101110111000011001111001100011001100000111101001010001110100011 +00001111110001010001100110000010100011010010111001001110010001111000100111000011101010001111011111110110000011111101111010001100 +00110011001100111111111110011101111111011011010011010001101000100110011000011101111111110011001110000110011001101111101010111110 +01100001111100110110110111010001110100000111111011111111110111000100110011001010010011010001101111101110100011011111011100111111 +10111111001000100011000000000000000000000000000000000000000000000000001110111011111001110001100001111010000110100011110111011001 +10110011001111111110111000011100110011111111000010011011111111011101000100100001111111000011101100000111010111111010010101000011 +10001100111100110011001101111111011101000010100001001101100010001101000010100011111111011001101101010101111110111010000110100011 +11111001100110110011011111111101111000011111110111111111111010011011011111111100110000011111101111010000110011001111001100111000 +01111101111111111010001001100101000010100011110011001001100000000000000001001100000000000000000000000000000001000000010001000110 +00100111001001000111111000100001100010001001001110010000000100111001100010011100100110000110011110000000011000110111100110000010 +01110011000100010110000110011110001100011000100111100110000110000110011110001000011000100010010011100110000001110010001001110010 +01000010011100000000000000000000010011000010010000000000000000000000000000000000000000000100011010010000011100000011000000000000 +00000001001010001110100000000000000000000010000000000010000100000000000100101100101000000100111100110010000110011000000000000000 +00000000000000000100011000000000010001100001000011000010000001110001000000000100111010000111100001000100100000000001000011001110 +00010000110011110000100010000110011100000000000001001001001000000011011000000100000000000000000000000000000000000000000000000010 +01111001100001000100000000000000000010011110000110100110001100000000100111000001001111000101011101001100010011101000000000000000 +01000110000000000100001100111000000000000000000000000000000000010010100000000010000100000110001001000000010001010011000000100010 +01000111000001000010010011000000001000000000010000000100111100100010000000000000000000100110000000000110001100000000000000000000 +00000000000000000000010010000100100001001000000000000000000010000100000000000000000000000100100000000000000000000000000001100111 +10000100001000000000000000000000000000000000000111000000100000100010100110001000011110000010000000000000000000001000110000000000 +00001000011001110000100001100111000000000000000001100111100100111010000011100000010000000000000000000000000000000000010001001011 +10100110101110100000010011110100110011000100111000000000000000100111000100101000000000010101000001001110011101000000010011100000 +00000000010111011000011110000000011000000111001110000000000000000000000000000000000000100000000000100001110001100000000000000000 +00000000000000000000000001000000010000100100000000000000000000000110011111000000000000000000000000000000000000010001100000000010 +11111001100100000011000110000000100000000000000001110100000100011100101000000000000000000000000010010000000000000011000011110000 +01100111100110001100100000100000000000000000000000000000000001001100000010000010010010011110101001001001000000001011110000000000 +00001000110110100000101001111000000000000000000000000000010000000000000000000000011001111001001110000000000000000000100001100111 +00000000000000000000000110001010010001010100101000111000110000010011000000100011000001100010010111000001010010111000101001001110 +10101100000101001001000100000000010100100000000000000001100001111000000000000000000000000000000000000000000000000000011100000100 +11000100011101100001100001100111010010110111010101000011000011000000010010100000011000101000000000000000010011100000000000100101 +00000000000000000000100000000000000000000000000000000000000000100000000100010100111100000100001110110000001110000100100111100000 +11010100101000010000000000000000010000100100000000000000000000000000000000000000010000100011001100000000000000000000000000000100 +01100000000000001001101110010100010010001001101110000100110000110001001000100010010100100000000000000010011100000000000001000100 +00000000000000000000000000000000001001010100001000000000000000000000000000000000000000011101100000010001100100110001001101101000 +00100010011100000000001100001100001000000000001011100000000100110000001010010000000000000000000000100111000000000000000000000000 +01001100000000000001000011001101010111001110011000010101100100001100111100111100100011001110100100101001000010000000000010010100 +00010000100110000001100000010011101001000000000011000000110000000000000000111100100000000000001000100000000000000000000000000000 +00100110100111001100100010100110100001101110011010001011001011001100010000000010101101010010000000100011000000000000001110000100 +01000100100111000100010010011100000001000000000011000011110000000000000010011100100111001001110000000000000000000000000010000101 +01100000110010100111000011000010000010011100010001100000001001101001110000001000010000000000000000100110010001100010011001100001 +10000000000000000000000000001000011001110110000011100100001000000000000000000000000000000010011010001010011100100110001000001001 +00000110011000010011000000000000001000110100000000000001010100000011000101000100011011010001001001111011001010011000110100110000 +00001000100000000000000000000000000000000000000000000000000101011100011100110010001010000010010101000110001001100010001000010100 +10110000110000000100101010001000010101000000000000010010001001010100011100111100100010010110011100000000000011000011110000111110 +00000100100100010000000000000000000000010001100000000000000000010110110111001000011100001100101001000000000001000000000110010000 +10001001010000001001110000100111000100010010011100010001001001110000000000000000001001110100101001011000000000000000000000000000 +00000011101000001000110000001001101011011101000100010000000101101010001100000000000110000001100001001100000000001001100110000110 +00100101010011001000110001001100000000000000000000100101001001000000100001100111000000000000000010010100000101011000010001010010 +10001000010000100100000001010100000000000000110001010000000000010000101000100100011010011010000010010001000110110100010010011110 +10100100011010001010011100000000000000000011000110000010100101011000000000000000000000000000000000100001000001001100110001100111 +01000001101100100111110011000000001001100000000110011001000000000000000000100111001001011110000001100011100111100100010010100010 +01000100101000000000000000000000001011000000000000000000000000000000000000000100010000011101010101101110011011001000111111000000 +01111011111101000011000000110000000000000000011101110111100110000100110000000001001001101111111111111111011010010011110111111111 +11111011110010010110111111111111111101101001001111011111111111111011110010010110111111111111111101010010000000000000000000000000 +00000000000000000000000000000000000001111111010111111001110010011001100001111000110100011111101110111111110111100010100110000001 +10000000000000000100100111011101101000110000000010010011011111001100111110110000110111101111001100111101111011000011011111001100 +11111011000011011110111100110011110111101100001101111100110011111010001100000000000000000000000000000000000000000000000000000000 +11111100001001010001111101110110011111111011000001010001111111110100010110000001110100010010011110011000000000000000000100100111 +01110111100001111100011000000001001001111111110110011111011000011011110111100110011110111101100001101111100110011111011000011011 +11011110011001111011110110000110111110011001111111000110000000000000000000000000000000000000000000000000000000001100111100000011 +10101110110011111101110111111110000111101100000011111111110010000111110011000000000000000000100001111011101111000011111001100000 +00001000011100111111111111111011010000011110111111111111110111100000101101111111111111111011010000011110111111111111110111100000 +10110111111110100000000000000000001111010000000000000000000000000000000000000000010001111110000000010000001100001100111100000000 +10000110011101110000100000000000000000001011110011000110000000000010001011011010001000001111010011100100100011111100010011011010 +00100000111101001110010010001111110001001101101000100000111101000000000000000000000000000000000000000000000000000000000000100010 +11100001000000000000100010100111000000000000000000000000000000000000000000000000000000000010011000100111000000000000000000000000 +00000000001000011001011001011000000000000010000110010100000000000000000000000010001000000000000000000000000000000000000000110110 +00000000000000000000000000000000000000000010010101001111001110000000010010101110000100000000000000000010001010001000001000000100 +01100000000000000000000000000001001101110001000000101100010000000000000000000000000000000000000000100000011010000101000010000000 +01000000100001010011100000000000000010000010000000000010011000000000000000000000000000001100010010100110000000000000000000000000 +00000000000000000000000000000000101111000000000000000000000000000000000000000000000000000000000000000000011001111000001001110000 +00000000000000000010000100000000000100001110010010000000001001110010000110010100000000000100101000000000000000000000000000000000 +00000000000000000110011110010011100000000000000000000000000100111000000000001001010000001000000000100101000000000010000100000000 +00000001001010000000000000000000000000000001100001111000010000110011101000000000000000000000000000000000000000010000001001110000 +00000100000000000000000000000000000000100100000000000000000000000000000000000000011001111000000000000000000000000000000000000000 +00110100010001110001000000000001000111001100100111000000000000000000001001010000000000000000000000000000000000110000111101100111 +10011000100010000000000000000000000010000010000100001000010000000000000000000010001101001011000010000000000000000000000000000000 +00000000000000000000000001100111100000000000000000000000000000100111000000000001010010101001000000001100100100110100010001010110 +00000000000000000000000000000000000000000000000000000011000011110000000000000000000000000001000011000010000000000000000000001010 +11010000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000010011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011000000000 +00000100001000100111010001100010111001000010000000000000000000000000000000000000001001110000000000000000000000000000000000000000 +00000000000000000000000010000100100101000001000000010000000000000000000000000000000000000000000000111100100000000000000100100000 +00000000000000000000000001000100000000000000000000010000000000000000000000000000000000000000000000000001100001111000000000100100 +00000000000000100111000000000000000000000000001001110000000000000000100010000000000000000000000000000000000000000000000000000000 +00000000000000001000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000010011000000000000000000000000000000000000000000000000100111010001000000000000000000000000000000000000000000000001100001111 +00111100000000110100010001001000000000000000000000001000110000000000010100101000110000001000001001100001110001000000000000000000 +00000000000000000000000000000000000000000000000000100111001001100101100000000000000000000000100110000000000100101010011001001110 +00000000101001010010100000000000000000000000000000000000000000000000001000010000000000000000000100111000000000000000000000000000 +00010000000000000000100001110001100100000000000101101000000000000000000000000000000000000000001000100000000000000010010000100010 +00000000000000000000000110100010000000000000100010010110000000000011000101000100111000000000000000000000101110000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000010000100000000000000000000000100001000000000000000000000000000000000000000000000000000000000000000010000100000 +10000100000000000000000100001000001100110000000000000001000010000010000100000110011001000000000000100001000001000010000010000100 +00000000000000010000100000100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000100000000000001000001110000100111000100010100110010110000100000010000011100 +00100111000100010100110010110000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001 +10000000000011100110101111101001001000100000000111001101011111010010010001000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000100000111000001010000000000000010000011100000101110100001100110000000001000001110000010111010 +00011001100000000000000000000001001110000000000000000000000000000000000000000000000000000000000000100000010011110010000000000100 +00010001011100000011010110000000010000010001011100000011010110000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000010000011010100011001100000000101111110001100010000011111110011111100000000000010111111000110001000001111111 +00111111000000000000000000000000001000101100010100000000000000000000000000000000000000000000000000000000000000000000010000011010 +10001100110000000010111111000110001000001111111001111110000000000001011111100011000100000111111100111111000000000000000000000000 +10000110001101110001000100111000000000000000000000000000000000000000000000000100111000000000000000001001110000000000000001000001 +10101000110011000001110101000111010000000010000011111110011111100000000000000000010111111000110001000001110011001100111000000000 +00000000000000000000000000000000000000000000000000000000000000000000000011101010001110100000000100000111111100111111000000100001 +10001110000011110110011111000000000000000000010111111000110001000001110011001100111000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000010011100000000000010001101001111000110100111000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000010011000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000010011100010001100100011010011110001101001111000110100111100100100111000000000001000 +00100011100100111000000110001110010010011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000001001101001110000000000010000110001101110000100100011100110100111000000000100101000000000000000111000101000000000000 +01011011001100001111111111111111111111111111111111111111111111111111111111111111110000101000000000000000000000000000000000000000 +00000000000000000010101010100111001000100000000000000000000000000100000000000000000000000000000001011110000000000000000000000000 +11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +* +NOTE END CONFIG DATA* +L46720 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +* +NOTE TAG DATA* +L171648 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +* +CE650* +NOTE FEATURE_ROW* +E0000000000000000000000000000000000000000000000000000000000000000 +0000010001100000* +NOTE User Electronic Signature Data* +UH00000000* +FC87 diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.log b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.log index d0353b8..9ce5b3b 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.log +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.log @@ -1,4 +1,4 @@ ----- MParTrce Tool Log File ---- - -==== Par Standard Out ==== -==== End of Par Standard Out ==== +---- MParTrce Tool Log File ---- + +==== Par Standard Out ==== +==== End of Par Standard Out ==== diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mrp b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mrp index f3b47ce..57720b6 100644 --- a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mrp +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mrp @@ -1,468 +1,468 @@ - - Lattice Mapping Report File for Design Module 'RAM2GS' - - -Design Information ------------------- - -Command line: map -a MachXO2 -p LCMXO2-640HC -t TQFP100 -s 4 -oc Commercial - LCMXO2_640HC_impl1.ngd -o LCMXO2_640HC_impl1_map.ncd -pr - LCMXO2_640HC_impl1.prf -mp LCMXO2_640HC_impl1.mrp -lpf D:/OneDrive/Document - s/GitHub/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf - -lpf D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf -c 0 -gui - -msgset D:/OneDrive/Documents/GitHub/RAM2GS/CPLD/LCMXO2-640HC/promote.xml -Target Vendor: LATTICE -Target Device: LCMXO2-640HCTQFP100 -Target Performance: 4 -Mapper: xo2c00, version: Diamond (64-bit) 3.12.1.454 -Mapped on: 08/16/23 20:59:36 - -Design Summary --------------- - - Number of registers: 109 out of 877 (12%) - PFU registers: 84 out of 640 (13%) - PIO registers: 25 out of 237 (11%) - Number of SLICEs: 117 out of 320 (37%) - SLICEs as Logic/ROM: 117 out of 320 (37%) - SLICEs as RAM: 0 out of 240 (0%) - SLICEs as Carry: 10 out of 320 (3%) - Number of LUT4s: 230 out of 640 (36%) - Number used as logic LUTs: 210 - Number used as distributed RAM: 0 - Number used as ripple logic: 20 - Number used as shift registers: 0 - Number of PIO sites used: 63 + 4(JTAG) out of 79 (85%) - Number of block RAMs: 0 out of 2 (0%) - Number of GSRs: 0 out of 1 (0%) - EFB used : Yes - JTAG used : No - Readback used : No - Oscillator used : No - Startup used : No - POR : On - Bandgap : On - Number of Power Controller: 0 out of 1 (0%) - Number of Dynamic Bank Controller (BCINRD): 0 out of 4 (0%) - Number of DCCA: 0 out of 8 (0%) - Number of DCMA: 0 out of 2 (0%) - Notes:- - 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of - distributed RAMs) + 2*(Number of ripple logic) - 2. Number of logic LUT4s does not include count of distributed RAM and - ripple logic. - Number of clocks: 5 - Net PHI2_c: 19 loads, 9 rising, 10 falling (Driver: PIO PHI2 ) - Net RCLK_c: 46 loads, 46 rising, 0 falling (Driver: PIO RCLK ) - Net wb_clk: 1 loads, 1 rising, 0 falling (Driver: wb_clk ) - Net nCRAS_c: 10 loads, 0 rising, 10 falling (Driver: PIO nCRAS ) - Net nCCAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCCAS ) - Number of Clock Enables: 7 - Net N_245_i: 1 loads, 1 LSLICEs - Net CMDUFMWrite_1_sqmuxa: 2 loads, 2 LSLICEs - - Page 1 - - - - -Design: RAM2GS Date: 08/16/23 20:59:36 - -Design Summary (cont) ---------------------- - Net InitReady: 1 loads, 1 LSLICEs - Net un1_wb_clk32_i: 10 loads, 10 LSLICEs - Net N_18: 2 loads, 2 LSLICEs - Net XOR8MEG18: 3 loads, 3 LSLICEs - Net N_193_i: 2 loads, 2 LSLICEs - Number of LSRs: 5 - Net RA10s_i: 1 loads, 0 LSLICEs - Net wb_clk23: 3 loads, 3 LSLICEs - Net wb_rst: 1 loads, 0 LSLICEs - Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs - Net RASr2: 2 loads, 2 LSLICEs - Number of nets driven by tri-state buffers: 0 - Top 10 highest fanout non-clock nets: - Net InitReady: 42 loads - Net FS[12]: 27 loads - Net FS[10]: 25 loads - Net FS[11]: 22 loads - Net FS[7]: 17 loads - Net FS[6]: 16 loads - Net Ready: 15 loads - Net Ready_fast: 14 loads - Net nRowColSel: 12 loads - Net S[1]: 12 loads - - - - - Number of warnings: 1 - Number of errors: 0 - - -Design Errors/Warnings ----------------------- - -WARNING - map: UFM was enabled in EFB: Enabling the configuration interface will - temporarily disable certain features of the device including Power - Controller, GSR, Hardened User SPI Port, Hardened Primary User I2C Port. - Functionality is restored after the Flash Memory (UFM/Configuration) - Interface is disabled using Disable Configuration Interface command 0x26 - followed by Bypass command 0xFF. - -IO (PIO) Attributes -------------------- - -+---------------------+-----------+-----------+------------+ -| IO Name | Direction | Levelmode | IO | -| | | IO_TYPE | Register | -+---------------------+-----------+-----------+------------+ -| RD[0] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| Dout[0] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| PHI2 | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| RDQML | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ - - Page 2 - - - - -Design: RAM2GS Date: 08/16/23 20:59:36 - -IO (PIO) Attributes (cont) --------------------------- -| RDQMH | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| nRCAS | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| nRRAS | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| nRWE | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RCKE | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RCLK | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| nRCS | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[7] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[6] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[5] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[4] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[3] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[2] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RD[1] | BIDIR | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RA[11] | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RA[10] | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RA[9] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[8] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[7] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[6] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[5] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[4] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[3] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[2] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[1] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RA[0] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| RBA[1] | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ -| RBA[0] | OUTPUT | LVCMOS33 | OUT | -+---------------------+-----------+-----------+------------+ - - Page 3 - - - - -Design: RAM2GS Date: 08/16/23 20:59:36 - -IO (PIO) Attributes (cont) --------------------------- -| LED | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| nFWE | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| nCRAS | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| nCCAS | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[7] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[6] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[5] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[4] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[3] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[2] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Dout[1] | OUTPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| Din[7] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[6] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[5] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[4] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[3] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[2] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[1] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| Din[0] | INPUT | LVCMOS33 | IN | -+---------------------+-----------+-----------+------------+ -| CROW[1] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| CROW[0] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[9] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[8] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[7] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[6] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[5] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[4] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[3] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ - - Page 4 - - - - -Design: RAM2GS Date: 08/16/23 20:59:36 - -IO (PIO) Attributes (cont) --------------------------- -| MAin[2] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[1] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ -| MAin[0] | INPUT | LVCMOS33 | | -+---------------------+-----------+-----------+------------+ - -Removed logic -------------- - -Block GSR_INST undriven or does not drive anything - clipped. -Signal nCRAS_c_i was merged into signal nCRAS_c -Signal RASr2_i was merged into signal RASr2 -Signal InitReady_i was merged into signal InitReady -Signal XOR8MEG.CN was merged into signal PHI2_c -Signal GND undriven or does not drive anything - clipped. -Signal ufmefb/VCC undriven or does not drive anything - clipped. -Signal ufmefb/GND undriven or does not drive anything - clipped. -Signal FS_s_0_S1[17] undriven or does not drive anything - clipped. -Signal FS_s_0_COUT[17] undriven or does not drive anything - clipped. -Signal ufmefb/CFGSTDBY undriven or does not drive anything - clipped. -Signal ufmefb/CFGWAKE undriven or does not drive anything - clipped. -Signal ufmefb/wbc_ufm_irq undriven or does not drive anything - clipped. -Signal ufmefb/TCOC undriven or does not drive anything - clipped. -Signal ufmefb/TCINT undriven or does not drive anything - clipped. -Signal ufmefb/SPIIRQO undriven or does not drive anything - clipped. -Signal ufmefb/SPICSNEN undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN7 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN6 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN5 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN4 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN3 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN2 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN1 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMCSN0 undriven or does not drive anything - clipped. -Signal ufmefb/SPIMOSIEN undriven or does not drive anything - clipped. -Signal ufmefb/SPIMOSIO undriven or does not drive anything - clipped. -Signal ufmefb/SPIMISOEN undriven or does not drive anything - clipped. -Signal ufmefb/SPIMISOO undriven or does not drive anything - clipped. -Signal ufmefb/SPISCKEN undriven or does not drive anything - clipped. -Signal ufmefb/SPISCKO undriven or does not drive anything - clipped. -Signal ufmefb/I2C2IRQO undriven or does not drive anything - clipped. -Signal ufmefb/I2C1IRQO undriven or does not drive anything - clipped. -Signal ufmefb/I2C2SDAOEN undriven or does not drive anything - clipped. -Signal ufmefb/I2C2SDAO undriven or does not drive anything - clipped. -Signal ufmefb/I2C2SCLOEN undriven or does not drive anything - clipped. -Signal ufmefb/I2C2SCLO undriven or does not drive anything - clipped. -Signal ufmefb/I2C1SDAOEN undriven or does not drive anything - clipped. -Signal ufmefb/I2C1SDAO undriven or does not drive anything - clipped. -Signal ufmefb/I2C1SCLOEN undriven or does not drive anything - clipped. -Signal ufmefb/I2C1SCLO undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO0 undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO1 undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO2 undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO3 undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO4 undriven or does not drive anything - clipped. - - Page 5 - - - - -Design: RAM2GS Date: 08/16/23 20:59:36 - -Removed logic (cont) --------------------- -Signal ufmefb/PLLDATO5 undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO6 undriven or does not drive anything - clipped. -Signal ufmefb/PLLDATO7 undriven or does not drive anything - clipped. -Signal ufmefb/PLLADRO0 undriven or does not drive anything - clipped. -Signal ufmefb/PLLADRO1 undriven or does not drive anything - clipped. -Signal ufmefb/PLLADRO2 undriven or does not drive anything - clipped. -Signal ufmefb/PLLADRO3 undriven or does not drive anything - clipped. -Signal ufmefb/PLLADRO4 undriven or does not drive anything - clipped. -Signal ufmefb/PLLWEO undriven or does not drive anything - clipped. -Signal ufmefb/PLL1STBO undriven or does not drive anything - clipped. -Signal ufmefb/PLL0STBO undriven or does not drive anything - clipped. -Signal ufmefb/PLLRSTO undriven or does not drive anything - clipped. -Signal ufmefb/PLLCLKO undriven or does not drive anything - clipped. -Signal ufmefb/wb_ack_o undriven or does not drive anything - clipped. -Signal ufmefb/wb_dat_o_1[2] undriven or does not drive anything - clipped. -Signal ufmefb/wb_dat_o_1[3] undriven or does not drive anything - clipped. -Signal ufmefb/wb_dat_o_1[4] undriven or does not drive anything - clipped. -Signal ufmefb/wb_dat_o_1[5] undriven or does not drive anything - clipped. -Signal ufmefb/wb_dat_o_1[6] undriven or does not drive anything - clipped. -Signal ufmefb/wb_dat_o_1[7] undriven or does not drive anything - clipped. -Signal FS_cry_0_S0[0] undriven or does not drive anything - clipped. -Signal N_1 undriven or does not drive anything - clipped. -Block nCRAS_pad_RNIBPVB was optimized away. -Block RASr2_RNIAFR1 was optimized away. -Block wb_rst_RNO_0 was optimized away. -Block XOR8MEG.CN was optimized away. -Block GND was optimized away. -Block ufmefb/VCC was optimized away. -Block ufmefb/GND was optimized away. - - - -Embedded Functional Block Connection Summary --------------------------------------------- - - Desired WISHBONE clock frequency: 62.5 MHz - Clock source: wb_clk - Reset source: wb_rst - Functions mode: - I2C #1 (Primary) Function: DISABLED - I2C #2 (Secondary) Function: DISABLED - SPI Function: DISABLED - Timer/Counter Function: DISABLED - Timer/Counter Mode: WB - UFM Connection: ENABLED - PLL0 Connection: DISABLED - PLL1 Connection: DISABLED - I2C Function Summary: - -------------------- - None - SPI Function Summary: - -------------------- - None - Timer/Counter Function Summary: - ------------------------------ - None - - Page 6 - - - - -Design: RAM2GS Date: 08/16/23 20:59:36 - -Embedded Functional Block Connection Summary (cont) ---------------------------------------------------- - UFM Function Summary: - -------------------- - UFM Utilization: General Purpose Flash Memory - Initialized UFM Pages: 1 Pages (1*128 Bits) - Available General - Purpose Flash Memory: 191 Pages (191*128 Bits) - - EBR Blocks with Unique - Initialization Data: 0 - - WID EBR Instance - --- ------------ - - -ASIC Components ---------------- - -Instance Name: ufmefb/EFBInst_0 - Type: EFB - -Run Time and Memory Usage -------------------------- - - Total CPU Time: 0 secs - Total REAL Time: 0 secs - Peak Memory Usage: 37 MB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page 7 - - -Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. - Copyright (c) 1995 AT&T Corp. All rights reserved. - Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. - Copyright (c) 2001 Agere Systems All rights reserved. - Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights - reserved. + + Lattice Mapping Report File for Design Module 'RAM2GS' + + +Design Information +------------------ + +Command line: map -a MachXO2 -p LCMXO2-640HC -t TQFP100 -s 4 -oc Commercial + LCMXO2_640HC_impl1.ngd -o LCMXO2_640HC_impl1_map.ncd -pr + LCMXO2_640HC_impl1.prf -mp LCMXO2_640HC_impl1.mrp -lpf + Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1_synplify.lpf + -lpf Y:/Repos/RAM2GS/CPLD/RAM2GS-LCMXO2.lpf -c 0 -gui -msgset + Y:/Repos/RAM2GS/CPLD/LCMXO2-640HC/promote.xml +Target Vendor: LATTICE +Target Device: LCMXO2-640HCTQFP100 +Target Performance: 4 +Mapper: xo2c00, version: Diamond (64-bit) 3.12.1.454 +Mapped on: 08/19/23 21:54:57 + +Design Summary +-------------- + + Number of registers: 111 out of 877 (13%) + PFU registers: 86 out of 640 (13%) + PIO registers: 25 out of 237 (11%) + Number of SLICEs: 113 out of 320 (35%) + SLICEs as Logic/ROM: 113 out of 320 (35%) + SLICEs as RAM: 0 out of 240 (0%) + SLICEs as Carry: 10 out of 320 (3%) + Number of LUT4s: 222 out of 640 (35%) + Number used as logic LUTs: 202 + Number used as distributed RAM: 0 + Number used as ripple logic: 20 + Number used as shift registers: 0 + Number of PIO sites used: 63 + 4(JTAG) out of 79 (85%) + Number of block RAMs: 0 out of 2 (0%) + Number of GSRs: 0 out of 1 (0%) + EFB used : Yes + JTAG used : No + Readback used : No + Oscillator used : No + Startup used : No + POR : On + Bandgap : On + Number of Power Controller: 0 out of 1 (0%) + Number of Dynamic Bank Controller (BCINRD): 0 out of 4 (0%) + Number of DCCA: 0 out of 8 (0%) + Number of DCMA: 0 out of 2 (0%) + Notes:- + 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of + distributed RAMs) + 2*(Number of ripple logic) + 2. Number of logic LUT4s does not include count of distributed RAM and + ripple logic. + Number of clocks: 4 + Net PHI2_c: 21 loads, 9 rising, 12 falling (Driver: PIO PHI2 ) + Net RCLK_c: 47 loads, 47 rising, 0 falling (Driver: PIO RCLK ) + Net nCRAS_c: 10 loads, 0 rising, 10 falling (Driver: PIO nCRAS ) + Net nCCAS_c: 8 loads, 0 rising, 8 falling (Driver: PIO nCCAS ) + Number of Clock Enables: 6 + Net un1_wb_cyc_stb_2_sqmuxa_i_0_N_4_i: 1 loads, 1 LSLICEs + Net XOR8MEG18: 6 loads, 6 LSLICEs + Net CmdUFMData_1_sqmuxa: 1 loads, 1 LSLICEs + + Page 1 + + + + +Design: RAM2GS Date: 08/19/23 21:54:57 + +Design Summary (cont) +--------------------- + Net un1_wb_rst14_i: 9 loads, 9 LSLICEs + Net un1_FS_38_i: 2 loads, 2 LSLICEs + Net N_253_i: 2 loads, 2 LSLICEs + Number of LSRs: 5 + Net RA10s_i: 1 loads, 0 LSLICEs + Net wb_rst10: 3 loads, 3 LSLICEs + Net wb_rst: 1 loads, 0 LSLICEs + Net nRRAS_0_sqmuxa: 1 loads, 1 LSLICEs + Net RASr2: 2 loads, 2 LSLICEs + Number of nets driven by tri-state buffers: 0 + Top 10 highest fanout non-clock nets: + Net InitReady: 33 loads + Net FS[13]: 22 loads + Net FS[12]: 21 loads + Net FS[14]: 20 loads + Net wb_rst11: 18 loads + Net FS[10]: 16 loads + Net Ready: 16 loads + Net FS[11]: 15 loads + Net FS[9]: 15 loads + Net Ready_fast: 14 loads + + + + + Number of warnings: 1 + Number of errors: 0 + + +Design Errors/Warnings +---------------------- + +WARNING - map: UFM was enabled in EFB: Enabling the configuration interface will + temporarily disable certain features of the device including Power + Controller, GSR, Hardened User SPI Port, Hardened Primary User I2C Port. + Functionality is restored after the Flash Memory (UFM/Configuration) + Interface is disabled using Disable Configuration Interface command 0x26 + followed by Bypass command 0xFF. + +IO (PIO) Attributes +------------------- + ++---------------------+-----------+-----------+------------+ +| IO Name | Direction | Levelmode | IO | +| | | IO_TYPE | Register | ++---------------------+-----------+-----------+------------+ +| RD[0] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| Dout[0] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| PHI2 | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| RDQML | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RDQMH | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ + + Page 2 + + + + +Design: RAM2GS Date: 08/19/23 21:54:57 + +IO (PIO) Attributes (cont) +-------------------------- +| nRCAS | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| nRRAS | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| nRWE | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RCKE | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RCLK | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| nRCS | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[7] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[6] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[5] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[4] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[3] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[2] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RD[1] | BIDIR | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RA[11] | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RA[10] | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RA[9] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[8] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[7] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[6] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[5] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[4] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[3] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[2] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[1] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RA[0] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| RBA[1] | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| RBA[0] | OUTPUT | LVCMOS33 | OUT | ++---------------------+-----------+-----------+------------+ +| LED | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ + + Page 3 + + + + +Design: RAM2GS Date: 08/19/23 21:54:57 + +IO (PIO) Attributes (cont) +-------------------------- +| nFWE | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| nCRAS | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| nCCAS | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[7] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[6] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[5] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[4] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[3] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[2] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Dout[1] | OUTPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| Din[7] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[6] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[5] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[4] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[3] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[2] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[1] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| Din[0] | INPUT | LVCMOS33 | IN | ++---------------------+-----------+-----------+------------+ +| CROW[1] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| CROW[0] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[9] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[8] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[7] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[6] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[5] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[4] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[3] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[2] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ + + Page 4 + + + + +Design: RAM2GS Date: 08/19/23 21:54:57 + +IO (PIO) Attributes (cont) +-------------------------- +| MAin[1] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ +| MAin[0] | INPUT | LVCMOS33 | | ++---------------------+-----------+-----------+------------+ + +Removed logic +------------- + +Block GSR_INST undriven or does not drive anything - clipped. +Signal nCRAS_c_i was merged into signal nCRAS_c +Signal RASr2_i was merged into signal RASr2 +Signal XOR8MEG.CN was merged into signal PHI2_c +Signal XOR8MEG_3_u_0_am was merged into signal XOR8MEG +Signal GND undriven or does not drive anything - clipped. +Signal ufmefb/VCC undriven or does not drive anything - clipped. +Signal ufmefb/GND undriven or does not drive anything - clipped. +Signal FS_s_0_S1[17] undriven or does not drive anything - clipped. +Signal FS_s_0_COUT[17] undriven or does not drive anything - clipped. +Signal ufmefb/CFGSTDBY undriven or does not drive anything - clipped. +Signal ufmefb/CFGWAKE undriven or does not drive anything - clipped. +Signal ufmefb/wbc_ufm_irq undriven or does not drive anything - clipped. +Signal ufmefb/TCOC undriven or does not drive anything - clipped. +Signal ufmefb/TCINT undriven or does not drive anything - clipped. +Signal ufmefb/SPIIRQO undriven or does not drive anything - clipped. +Signal ufmefb/SPICSNEN undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN7 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN6 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN5 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN4 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN3 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN2 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN1 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMCSN0 undriven or does not drive anything - clipped. +Signal ufmefb/SPIMOSIEN undriven or does not drive anything - clipped. +Signal ufmefb/SPIMOSIO undriven or does not drive anything - clipped. +Signal ufmefb/SPIMISOEN undriven or does not drive anything - clipped. +Signal ufmefb/SPIMISOO undriven or does not drive anything - clipped. +Signal ufmefb/SPISCKEN undriven or does not drive anything - clipped. +Signal ufmefb/SPISCKO undriven or does not drive anything - clipped. +Signal ufmefb/I2C2IRQO undriven or does not drive anything - clipped. +Signal ufmefb/I2C1IRQO undriven or does not drive anything - clipped. +Signal ufmefb/I2C2SDAOEN undriven or does not drive anything - clipped. +Signal ufmefb/I2C2SDAO undriven or does not drive anything - clipped. +Signal ufmefb/I2C2SCLOEN undriven or does not drive anything - clipped. +Signal ufmefb/I2C2SCLO undriven or does not drive anything - clipped. +Signal ufmefb/I2C1SDAOEN undriven or does not drive anything - clipped. +Signal ufmefb/I2C1SDAO undriven or does not drive anything - clipped. +Signal ufmefb/I2C1SCLOEN undriven or does not drive anything - clipped. +Signal ufmefb/I2C1SCLO undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO0 undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO1 undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO2 undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO3 undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO4 undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO5 undriven or does not drive anything - clipped. +Signal ufmefb/PLLDATO6 undriven or does not drive anything - clipped. + + Page 5 + + + + +Design: RAM2GS Date: 08/19/23 21:54:57 + +Removed logic (cont) +-------------------- +Signal ufmefb/PLLDATO7 undriven or does not drive anything - clipped. +Signal ufmefb/PLLADRO0 undriven or does not drive anything - clipped. +Signal ufmefb/PLLADRO1 undriven or does not drive anything - clipped. +Signal ufmefb/PLLADRO2 undriven or does not drive anything - clipped. +Signal ufmefb/PLLADRO3 undriven or does not drive anything - clipped. +Signal ufmefb/PLLADRO4 undriven or does not drive anything - clipped. +Signal ufmefb/PLLWEO undriven or does not drive anything - clipped. +Signal ufmefb/PLL1STBO undriven or does not drive anything - clipped. +Signal ufmefb/PLL0STBO undriven or does not drive anything - clipped. +Signal ufmefb/PLLRSTO undriven or does not drive anything - clipped. +Signal ufmefb/PLLCLKO undriven or does not drive anything - clipped. +Signal ufmefb/wb_dat_o_1[2] undriven or does not drive anything - clipped. +Signal ufmefb/wb_dat_o_1[3] undriven or does not drive anything - clipped. +Signal ufmefb/wb_dat_o_1[4] undriven or does not drive anything - clipped. +Signal ufmefb/wb_dat_o_1[5] undriven or does not drive anything - clipped. +Signal ufmefb/wb_dat_o_1[6] undriven or does not drive anything - clipped. +Signal ufmefb/wb_dat_o_1[7] undriven or does not drive anything - clipped. +Signal FS_cry_0_S0[0] undriven or does not drive anything - clipped. +Signal N_1 undriven or does not drive anything - clipped. +Block nCRAS_pad_RNIBPVB was optimized away. +Block RASr2_RNIAFR1 was optimized away. +Block XOR8MEG.CN was optimized away. +Block XOR8MEG_3_u_0_am was optimized away. +Block GND was optimized away. +Block ufmefb/VCC was optimized away. +Block ufmefb/GND was optimized away. + + + +Embedded Functional Block Connection Summary +-------------------------------------------- + + Desired WISHBONE clock frequency: 66.7 MHz + Clock source: RCLK_c + Reset source: wb_rst + Functions mode: + I2C #1 (Primary) Function: DISABLED + I2C #2 (Secondary) Function: DISABLED + SPI Function: DISABLED + Timer/Counter Function: DISABLED + Timer/Counter Mode: WB + UFM Connection: ENABLED + PLL0 Connection: DISABLED + PLL1 Connection: DISABLED + I2C Function Summary: + -------------------- + None + SPI Function Summary: + -------------------- + None + Timer/Counter Function Summary: + ------------------------------ + None + UFM Function Summary: + -------------------- + UFM Utilization: General Purpose Flash Memory + + Page 6 + + + + +Design: RAM2GS Date: 08/19/23 21:54:57 + +Embedded Functional Block Connection Summary (cont) +--------------------------------------------------- + Initialized UFM Pages: 1 Pages (1*128 Bits) + Available General + Purpose Flash Memory: 191 Pages (191*128 Bits) + + EBR Blocks with Unique + Initialization Data: 0 + + WID EBR Instance + --- ------------ + + +ASIC Components +--------------- + +Instance Name: ufmefb/EFBInst_0 + Type: EFB + +Run Time and Memory Usage +------------------------- + + Total CPU Time: 0 secs + Total REAL Time: 0 secs + Peak Memory Usage: 57 MB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page 7 + + +Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. + Copyright (c) 1995 AT&T Corp. All rights reserved. + Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. + Copyright (c) 2001 Agere Systems All rights reserved. + Copyright (c) 2002-2020 Lattice Semiconductor Corporation, All rights + reserved. diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mt b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mt new file mode 100644 index 0000000..2d70ad1 --- /dev/null +++ b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.mt @@ -0,0 +1,9 @@ +-v +1 + + +-gt + + +-mapchkpnt 0 +-sethld diff --git a/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ncd b/CPLD/LCMXO2-640HC/impl1/LCMXO2_640HC_impl1.ncd index cdfbb0fdccaad16d486041f2b5513622c506949e..409c0ed3539ef029cddcb23e412f61f72327d12d 100644 GIT binary patch literal 268674 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 literal 278109 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